어느 우주비행체의 초기 위치벡터

우주비행체는 궤도면(orbital plane) 상에서만 운동하므로(https://pasus.tistory.com/96) 위치벡터와 속도벡터
여기서
먼저 궤도중심좌표계(perifocal frame)에서 위치벡터와 속도벡터를 구해 보자 (https://pasus.tistory.com/288). 참고로 궤도중심좌표계는 관성좌표계이므로 3차원 공간상에 고정되어 있다.
여기서
이다. 식 (2)에 의해서 초기 위치벡터와 속도벡터도 다음과 같이 표현할 수 있다.
식 (4)로부터 궤도중심좌표계의
식 (4)에서
인데 이를
한편 각운동량 벡터는 정의에 의해서 다음과 같이 계산할 수있다.
여기서
이다.
식 (8)에서
이를 식 (5)에 대입하면,
이 된다. 이제
식 (11)과 (1)을 비교하면 라그랑지 계수를 다음과 같이 구할 수 있다.
다시 식 (1)을 이용하며 각운동량 벡터를 계산해 보면,
이 되는데, 각운동량 벡터는 상수벡터이므로
이 됨을 알 수 있다. 즉 라그랑지 계수 4개는 서로 독립적이지 않고 4개 중 3개만 알면 나머지는 식 (14)를 이용하여 계산할 수 있다.
한편 식 (3)에 의해서 초기 위치와 속도의 성분은 다음과 같이 계산할 수 있으므로,
이를 식 (3)과 함께 식 (12)에 대입하면 라그랑지 계수를 계산할 수 있다.
먼저
여기서
에서
같은 방법으로
마지막으로
식 (18)~(21)에
여기서
이 된다. 이를 식 (22)에 대입하면
정리하면, 어느 우주비행체의 초기 위치벡터
1.
2. 식 (24)로
3. 식 (18)~(21)로 라그랑지 계수를 계산한다.
4. 식 (1)로
다음은 위 알고리즘을 매트랩 코드로 구현한 것이다.
function [r_vec, v_vec] = kepler_the(r0_vec, v0_vec, d_the)
% [r_vec, v_vec] = kepler_the(r0_vec, v0_vec, d_the)
% given r0_vec, r0_vec and true anomaly increments
% compute r_vec and v_vec
%
% Input r0_vec: initial position vector in km
% v0_vec: initial velocity vector in km/sec
% d_the: true anomaly change (degrees)
% Output r_vec: final position vector in km
% v_vec: final velocity vector in km/sec
%
% all in inertial frame
%
% coded by st.watermelon
mu_e=398600; % gravitational parameter km^3/s^2
% step 1
r0 = sqrt(r0_vec'*r0_vec);
h_vec = cross(r0_vec, v0_vec);
h = sqrt(h_vec'*h_vec);
% step 2
d_the = d_the * pi/180;
r_tmp = 1 + ( h^2/(mu_e*r0) - 1 )*cos(d_the) ...
- (h/mu_e)*r0_vec'*v0_vec/r0*sin(d_the);
r = h^2/mu_e/r_tmp;
% step 3 : Lagrange coefficients
f = 1 - mu_e*r/h^2 * (1-cos(d_the));
g = r*r0/h * sin(d_the);
f_dot = mu_e/h*(1-cos(d_the))/sin(d_the) * (mu_e/h^2*(1-cos(d_the))-1/r0-1/r);
g_dot = 1 - mu_e*r0/h^2*(1-cos(d_the));
% step 4
r_vec = f*r0_vec + g*v0_vec;
v_vec = f_dot*r0_vec + g_dot*v0_vec;
'항공우주 > 우주역학' 카테고리의 다른 글
케플러 문제 (Kepler’s problem) - 4 (0) | 2023.12.01 |
---|---|
라그랑지 계수 (Lagrange coefficients) - 2 (0) | 2023.11.30 |
케플러 문제 (Kepler’s problem) - 3 (0) | 2023.11.25 |
케플러 문제 (Kepler’s problem) - 2 (0) | 2023.11.22 |
케플러 문제 (Kepler’s problem) - 1 (0) | 2023.11.18 |
댓글