본문 바로가기

전체 글347

[INS] 관성항법 방정식 (Kinematics of Inertial Navigation) 관성항법시스템 (INS, inertial navigation system)은 관성센서인 가속도계와 자이로스코프에서 측정된 가속도(specific force, 단위 질량당 힘)와 각속도를 이용하여 운동체의 위치, 속도, 자세를 추정하는 항법시스템의 한 종류다. 관성항법시스템은 단독으로 위치, 속도, 자세를 추정할 수 있기 때문에 외부 센서나 신호를 사용할 수 없거나 또는 신뢰할 수 없는 상황, 예를 들면 수중이나 지하에서 특히 유용하다. 관성항법의 구현 방식에는 운동체의 회전 운동과 기계적으로 분리된 짐벌(Gimbal)에 관성센서를 장착하는 짐벌 (Gimbaled INS) 방식과, 운동체에 관성센서를 직접 부착하는 스트랩다운 (Strapdown INS) 방식으로 나눌 수 있다. 최신 관성항법시스템은 대부분.. 2024. 3. 3.
[LLM] Ollama Web-UI 설치 Ollama 는 Llama2, Mistral, Gemma 등 대규모언어모델 (LLM)을 개인용 컴퓨터에 설치하고 쉽게 실행할 수 있게 해주는 오픈소스다. 공식 사이트는 다음과 같다. https://ollama.com/ Ollama를 이용하여 명령창에서 언어모델과 대화할 수도 있지만, chatGPT 처럼 웹브라우저에서 주고받는 대화가 더 익숙하다. Open WebUI (구 Ollama WebUI)는 Ollama를 위한 chatGPT 스타일의 웹 인터페이스로서 오픈소스 중에서 가장 인기가 많다고 한다. 윈도나 Mac 노트북에 Open WebUI 를 설치하는 방법은 아래 사이트나 여러 블로그 또는 유튜브에 자세히 나와 있으니 참고하기 바란다. GitHub - open-webui/open-webui: User-.. 2024. 2. 25.
연속시간 상태공간 방정식의 이산화 (Discretization) 보통 제어기는 디지털 방식으로 구현되고 있다. 이 방식에서는 제어기의 출력도 디지털 신호이기 때문에 일정한 시간 간격에서만 사용할 수 있다. 즉 이산시간(discrete-time) 단계에서만 새로운 제어입력 값을 사용할 수 있다. 하지만 제어 대상 시스템이 연속시간(continuous-time) 시스템이라면 연속적인 입력이 필요하기 때문에 간헐적으로 계산되는 제어 입력을 사용할 수는 없다. 이 때 일반적으로 사용하는 방법은 다음 샘플링 시간까지 제어입력 값을 일정하게 유지시키는 것이다. 이를 0차홀드(ZOH, zero-order hold) 방식이라고 한다. 물론 더 복잡한 유형의 홀드 연산도 가능하지만, ZOH가 가장 널리 사용된다. 연속시간 (continuous-time) 선형 시불변 (LTI, lin.. 2024. 2. 12.
중력 영향권 (Sphere of Influence) 우주비행체가 지구에서 출발하여 태양계 내의 다른 행성으로 비행한다고 하자. 이 우주비헹체는 지구의 영향권에서 벗어나면 태양의 영향권으로 들어가고, 태양의 영향권에서 벗어나면 도착 행성의 영향권으로 들어갈 것이다. 지구의 영향권 내에서는 지구에 인한 중력이 우주비행체에 작용하는 주된 힘(force)이고, 태양을 비롯한 다른 천체로 인한 중력은 교란(disturbance)으로 간주할 수 있다. 따라서 지구의 영향권 내에서는 우주비행체의 운동방정식을 지구중심 관성좌표계(ECI)로 작성하는 것이 유리할 것이다 (https://pasus.tistory.com/184). 마찬가지로 태양의 영향권 내에서는 태양의 중력이 우주비행체에 작용하는 주된 힘이고 지구를 비롯한 다른 천체로 인한 중력은 교란으로 간주할 수 있다.. 2024. 1. 8.
감시정찰 (Surveillance and Reconnaissance) 영역 계산 한국군 최초의 정찰위성 1호가 2023년 12월 2일 발사에 성공하였다. 2024년에는 정찰위성 2호부터 4호까지 차례로 발사될 예정이라고 한다. 최근에는 전통적인 군사 영역은 물론이고 민간 영역에서도 우주 자산을 이용한 감시 및 정찰 활동이 빠르게 증가하고 있다. 참고로 감시(surveillance)와 정찰(reconnaissance)은 모두 정보 수집을 위한 활동이지만 시간과 임무의 구체성에서 차이가 있다. 감시는 주로 장기적으로 특정 지역이나 대상을 모니터링하여 정보를 수집하는 과정이다. 예를 들어 군사적인 목적으로 특정 지역을 지속적으로 관찰하는 것이 여기에 해당한다. 정찰은 일반적으로 특정 목적을 위한 한시적이고 전략적인 정보 수집에 중점을 둔다. 예를 들어 새로운 또는 알려지지 않은 지역의 상.. 2023. 12. 26.
[Continuous-Time] 무한구간 (Infinite-horizon) LQR 다음과 같은 선형 시스템과  \[ \dot{\mathbf{x}}=A \mathbf{x}+B \mathbf{u} \tag{1} \]   시간 구간 \([t_0, \ t_f]\) 에서 이차함수로 주어진 목적함수가 있을 때,  \[ J=\frac{1}{2} \mathbf{x}^T (t_f ) S_f \mathbf{x}(t_f )+ \frac{1}{2} \int_{t_0}^{t_f} \left( \mathbf{x}^T Q \mathbf{x}+ \mathbf{u}^T R \mathbf{u} \right) \ dt \tag{2} \]   목적함수를 최소화하는 최종자유상태 LQR (free-final-state linear quadratic regulator) 문제의 해는 다음과 같이 주어진다 (https://pas.. 2023. 12. 21.
[Continuous-Time] 자유최종상태 (Free-final-state) LQR 다음과 같은 선형 시스템이 있다. \[ \dot{\mathbf{x}}=A(t) \mathbf{x}+B(t) \mathbf{u} \tag{1} \] 이 시스템의 초기 시간 \(t_0\) 와 초기 상태변수 \(\mathbf{x}(t_0)\) 는 주어졌다고 가정한다. 또한 최종 시간 \(t_f\) 도 주어졌다고 가정한다. 하지만 최종 상태변수에 관한 제약조건이 없다고 가정한다. 이 시스템의 목적함수도 다음과 같이 고정된 시간 구간 \([t_0, \ t_f]\) 에서 이차함수로 주어졌다고 하자. \[ J=\frac{1}{2} \mathbf{x}^T (t_f ) S_f \mathbf{x}(t_f )+ \frac{1}{2} \int_{t_0}^{t_f} \left( \mathbf{x}^T Q(t) \mathbf{x.. 2023. 12. 19.
램버트 문제 (Lambert’s problem)의 해 램버트 문제(Lambert's problem)는 이름에서 알 수 있듯이 18세기 수학자 Johann Heinrich Lambert에 의해 처음 제기된 문제다. 그는 이 문제를 해결하기 위해 램버트의 정리(https://pasus.tistory.com/315)를 고안하였다. 참고로 램버트 정리의 증명은 라그랑지(Lagrange)가 하였고 램버트 문제의 해를 처음으로 구한 사람은 가우스(Gauss)였다. 램버트 문제는 기본적으로 두 지점 사이를 비행하는 데 걸리는 시간이 주어졌을 때, 두 지점 사이를 연결하는 궤도를 찾는 것이다. 수학적으로 램버트 문제는 이체문제(two-body problem)에서 유도된 기본 궤도 미분 방정식에 대한 2점 경계값 문제(TPBVP, two-point boundary valu.. 2023. 12. 10.
램버트 정리 (Lambert’s theorem) 램버트(Lambert)는 궤도 운동을 하는 물체에 대한 두 지점 사이의 비행시간(time of flight)은 두 지점까지의 거리의 합, 두 지점을 직선으로 연결한 코드(chord) 길이, 궤도의 장반경만의 함수가 아닐까 생각했다. 나중에 라그랑지에 의해서 증명된 이 내용을 램버트 정리(Lambert's theorem)라고 한다. 램버트 정리는 케플러 방정식에서 도출할 수 있으며, 둘은 비슷한 문제를 푸는 관계라고 볼 수 있다. 케플러 방정식의 경우와 마찬가지로 램버트의 정리도 타원, 포물선, 쌍곡선의 세 가지 경우로 나뉜 램버트 방정식으로 표현되는데 수학적인 형식은 다음과 같다. \[ t_2-t_1=f(r_1+r_2, c, a) \tag{1} \] 여기서 \(r_1, r_2\) 는 궤도의 촛점(지구 중.. 2023. 12. 6.
케플러 문제 (Kepler’s problem) - 5 타원궤도, 포물선궤도, 쌍곡선궤도의 케플러 방정식을 이용하여 케플러 문제 (Kepler's problem)를 풀어보았는데(https://pasus.tistory.com/313). 이번에는 범용(universal) 케플러 방정식을 이용하여 케플러 문제를 풀어보도록 하겠다. 범용 케플러 방정식은 다음과 같았다. (https://pasus.tistory.com/310). \[ \begin{align} \sqrt{\mu} (t-t_0 )=S(z) \chi^3+ \frac{ \vec{r}_0 \cdot \vec{v}_0}{\sqrt{\mu}} \chi^2 C(z)+r_0 \chi \left( 1-zS(z) \right) \tag{1} \end{align} \] 여기서 \(z= \frac{\chi^2}{a}\) 이.. 2023. 12. 2.
케플러 문제 (Kepler’s problem) - 4 우주비행체의 비행시간과 실제 비행각과의 함수 관계를 다루는 문제를 케플러 문제 (Kepler's problem)라고 한다. 케플러 문제는 비행시간(time of flight) 계산 문제와 예측(prediction) 문제로 나눌 수 있다. 비행시간 계산 문제는 시간 \(t=t_0\) 에서 실제 비행각(true anomaly) \(\theta_0\)가 주어졌을 때 비행각이 \(\Delta \theta\) 만큼 변화하기까지 필요한 비행시간 \(t-t_0\) 을 계산하는 문제다. 예측 문제는 비행시간 계산 문제의 역으로서 시간 \(t=t_0\) 에서 실제 비행각 \( \theta_0\) 과 비행시간 \(t-t_0\) 이 주어졌을 때 실제 비행각 \(\theta (t)\) 를 계산하는 문제다. 이전 게시글을 통해.. 2023. 12. 1.
라그랑지 계수 (Lagrange coefficients) - 2 라그랑지 계수(Langrange coefficients)를 실제 비행각(true anomaly)의 변화량 \(\Delta \theta\) 의 함수로 표현했는데(https://pasus.tistory.com/311), 이를 범용변수(universal variable) \(\chi\) 의 함수로 표현할 수도 있다. 라그랑지 계수는 궤도중심좌표계(perifocal frame)의 각 축 성분을 이용하여 다음과 같이 계산했었다. \[ \begin{align} f &= \frac{x\dot{y}_0-y\dot{x}_0}{h}, \ \ \ \ \ g= \frac{-xy_0+yx_0}{h} \tag{1} \\ \\ \dot{f} &= \frac{\dot{x} \dot{y}_0- \dot{y} \dot{x}_0}{h},.. 2023. 11. 30.
라그랑지 계수 (Lagrange coefficients) - 1 어느 우주비행체의 초기 위치벡터 \(\vec{r}_0\) 와 속도벡터 \(\vec{v}_0\) 가 주어졌을 때, 실제 비행각(true anomaly)이 \(\Delta \theta\) 만큼 변화한 후, 변화된 위치벡터와 속도벡터 \(\vec{r}, \vec{v}\) 를 초기 위치벡터 및 속도벡터, 그리고 \(\Delta \theta\) 의 함수로 표현하고자 한다. 우주비행체는 궤도면(orbital plane) 상에서만 운동하므로(https://pasus.tistory.com/96) 위치벡터와 속도벡터 \(\vec{r}, \vec{v}\) 는 항상 궤도면 상에 존재한다. 따라서 임의의 시간에서의 위치벡터와 속도벡터는 초기 위치벡터와 속도벡터 \(\vec{r}_0, \vec{v}_0\) 의 선형 조합으로 표.. 2023. 11. 27.
케플러 문제 (Kepler’s problem) - 3 비행시간(time of flight)을 계산할 수 있는 케플러 방정식(Kepler's equation)은 \(e \approx 1\) 근방에서 계산 정확도가 크게 저하된다. 특히 \(E\) 가 \(0\) 에 가까우면 \(M_e=E-e \sin E \approx E-E=0\) 이 되므로 계산 결과의 신뢰도가 떨어진다. 또한 케플러 방정식은 궤도의 모양에 따라서 다른 방정식을 사용해야 하는 불편함이 따른다. 이러한 두 가지 단점을 극복하고자 새로운 변수를 도입한 케플러 방정식이 개발되었다. 이 방정식은 모든 궤도에 대해서 유효한 범용 방정식이다. 이 방정식을 유도해 보자. 역학적 에너지(https://pasus.tistory.com/173) \(\mathcal{E}\) 의 정의로부터 시작한다. \[ \mat.. 2023. 11. 25.