본문 바로가기

전체 글324

케플러 문제 (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.
케플러 문제 (Kepler’s problem) - 2 타원궤도와 비슷한 방법으로 이번에는 쌍곡선궤도의 케플러 문제를 풀어보자. 원점이 두 초점 사이의 중간에 있는 직교 좌표계에서 쌍곡선 방정식을 표현하면 다음과 같다. \[ \frac{x^2}{a^2} - \frac{y^2}{b^2} =1 \tag{1} \] 한편 이전 게시글(https://pasus.tistory.com/171)에서 쌍곡선 방정식을 극좌표계로 다음과 같이 표현한 바 있다. \[ r= \frac{a(e^2-1)}{1+e \cos \theta }, \ \ \ \ \ a \gt 0, \ \ \ e \gt 1 \tag{2} \] 위 그림에 나와있는 것처럼 \(x\) 는 다음과 같다. \[ \begin{align} x &= -a-r_p+r \cos \theta \tag{3} \\ \\ &=-a-a(.. 2023. 11. 22.
케플러 문제 (Kepler’s problem) - 1 궤도가 주어졌을 때 우주비행체가 궤도상의 한 지점에서 다른 지점까지 비행하는데 걸리는 비행시간(time of flight)을 함수의 적분 해를 이용하여 계산해 보았다 (https://pasus.tistory.com/307). 하지만 케플러는 미적분이 발명되기 80여년전에 이미 기하학적인 방법을 사용하여 시간 \(t=t_0\) 에서의 실제 비행각(true anomaly) \(\theta_0 = \theta(t_0)\) 와 임의의 실제 비행각 \(\theta(t)\) 가 주어졌을 때 비행시간 \(t-t_0\) 을 계산하였고, 또 역으로 시간 \(t=t_0\) 에서의 실제 비행각 \(\theta_0 \) 와 임의의 비행시간 \(t-t_0\) 가 주어졌을 때 실제 비행각 \(\theta(t)\) 를 구하는 예측.. 2023. 11. 18.
궤도의 비행각과 비행시간 시간 \(t=t_0\) 에서 주어진 위치벡터 및 속도벡터를 고전 궤도요소(COE)로 변환하면 궤도의 크기, 모양, 자세에 대해 알 수 있다 (https://pasus.tistory.com/287). 궤도의 크기, 모양, 자세는 ECI좌표계에서 일정하게 유지되고 6개의 궤도요소 중에서 궤도상의 우주비행체의 위치를 나타내는 실제 비행각(true anomaly) \(\theta\) 만이 시간의 함수이므로, 우주비행체는 마치 우주공간에 있는 미리 정해진 철로를 따라 운행하는 기차와 같다고 볼 수 있다. 이제 궤도가 주어졌을 때 우주비행체가 궤도상의 한 지점에서 다른 지점까지 비행하는데 걸리는 비행시간(time of flight)을 계산해 보도록 하자. 궤도 상에서 우주비행체의 위치는 실제 비행각으로 나타낼 수 .. 2023. 11. 16.
플롭 (Flop) 선형대수 수치 알고리즘의 복잡성을 표현하는 방법 중의 하나로 알고리즘을 수행하는 데 필요한 부동소수점 연산의 총 횟수를 사용한다. 부동소수점 연산 (floating point operation)을 간단히 플롭(flop)이라고 하는데, flop은 두 개의 부동소수점 숫자의 덧셈, 뺄셈, 곱셈 또는 나눗셈 등을 한 번 수행하는 것으로 정의한다. 컴퓨터의 성능을 수치로 나타내는 단위로서 사용되는 FLOPS도 있다. 이 때의 FLOPS는 FLoating point Operations Per Second의 약자로 해당 컴퓨터가 처리할 수 있는 초당 얼마나 많은 연산을 처리하는 지를 나타내는 단위다. 여기서는 부동소수점 연산(flop)의 횟수(count) 라는 의미의 flops에 대해서 설명한다. 플롭의 횟수, 즉.. 2023. 11. 9.
근궤적법 (Root locus method)에서 K→∞ 일 때의 근 두 개의 다항식 \(N(s)\) 와 \(D(s)\) 가 주어졌을 때, 근궤적법(root locus method)은 \(K\) 가 \(0\) 부터 \(\infty\) 까지 변할 때 다음 다항식의 근(root)을 복소평면 위에 스케치하는 방법이다. \[ 1+ K \frac{N(s)}{D(s)} = 0 \tag{1} \] 근궤적법은 다음과 같은 가정하에 수행된다. (1) \(N(s)\) 와 \(D(s)\) 의 계수는 모두 실수(real number)이고 최고차항의 계수는 \(1\)이다. (2) \(N(s)\) 와 \(D(s)\) 의 근은 알고 있다. (3) \(N(s)\) 와 \(D(s)\) 는 공통 근이 없다. (4) \(N(s)\) 의 차수(order)는 \(D(s)\) 의 차수보다 작거나 같다. 여기서 .. 2023. 11. 3.
정적 자세결정: QUEST 1978년 HEAO-B(High Energy Astronomy Observatory)의 자세 추정을 계산하는 데 Davenport의 q-방법을 사용했다. 그러나 당시의 컴퓨터 성능으로는 1년 후에 발사된 MAGSAT에서 요구된 보다 빈번한 자세 계산을 감당할 수는 없었다고 한다. QUEST(QUaternion Estimator) 알고리즘은 이러한 요구에 부응하기 위해 고안되었으며, Wahba 의 자세결정 문제를 해결하기 위한 알고리즘으로 널리 사용되게 되었다. QUEST는 Davenport의 q-방법과 마찬가지로 행렬 \(K\) 의 고유값을 찾아 Wahba의 문제를 푼다(https://pasus.tistory.com/303). 그러나 QUEST는 고유값을 계산할 때 Newton-Raphson 반복법을 사.. 2023. 11. 1.
정적 자세결정: Davenport의 q-방법 앞서 살펴본 TRIAD는 두 개의 측정 단위벡터를 이용하여 우주비행체의 자세를 결정하였다 (https://pasus.tistory.com/302). 만약 두 개 이상의 단위벡터를 측정할 수 있다면 모든 측정 벡터를 이용할 수 있도록 TRIAD 방법을 개선해야 할 것이다. 예를 들면 많은 항성을 동시에 추적할 수 있는 별센서를 사용한다면 다수의 단위벡터가 측정된다. Wahba는 센서의 불확실성으로 인해 발생하는 오류를 최소화하는 방식으로 다수의 측정 단위벡터를 처리하는 방법에 대한 문제를 정립했다. \(n\) 개의 측정 단위벡터를 \(\hat{s}_k, \ k=1, ..., n\) 이라고 하자. 그리고 이 벡터를 기준좌표계 \(\{a\}\) 와 동체좌표계 \(\{b\}\) 로 표현한 벡터를 각각 \(\ma.. 2023. 10. 22.
정적 자세결정 (Static attitude determination): TRIAD 유도항법제어(GNC, guidance, navigation, and control) 분야에서 자세(attitude)란 기준좌표계(reference frame)를 기준으로 3차원 공간에서 항공기 또는 우주비행체 등 운동체에 부착된 동체좌표계(body frame)가 어떤 방향으로 정렬되어 있는 지를 말한다. 자세를 표현하기 위한 방법으로는 오일러각(Euler angles), 방향코사인행렬(DCM, direction cosine matrix), 쿼터니언, 로드리게스 파라미터 등이 있다. 자세를 표현한다 함은 기본적으로 기준좌표계가 동체좌표계와 일치하려면 기준좌표계의 어느 축을 중심으로 얼마만큼 회전해야 하는 지를 나타낸다고 보면 된다. 센서의 측정값으로부터 자세를 계산해야 하는데, 이에 관련된 용어가 두 가지.. 2023. 10. 19.
볼텍스 유동 (Vortex flow) 2차원 평면에서 속도 포텐셜이 다음과 같이 주어지는 유동을 포인트(point) 볼텍스 유동(와류, vortex flow)이라고 한다. \[ \phi(r, \theta)= K \theta \tag{1} \] 여기서 \(r, \theta\) 는 극좌표계(polar coordinates)의 좌표이고 \(K\) 는 임의의 상수다. 식 (1)은 다음과 같이 라플라스 방정식을 만족한다. \[ \nabla^2 \phi= \frac{\partial^2 \phi}{\partial r^2 }+ \frac{1}{r} \frac{ \partial \phi}{\partial r} +\frac{1}{r^2} \frac{ \partial^2 \phi}{\partial \theta^2 }=0 \tag{2} \] 따라서 볼텍스 유동은.. 2023. 10. 15.