Skip to content

Commit 469d8d6

Browse files
fix transition matrix
1 parent 8b866ba commit 469d8d6

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/math_physics/orbit/relative_orbit_models.cpp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -132,85 +132,85 @@ math::Matrix<6, 6> CalcSabatiniStm(double orbit_radius_m, double gravity_constan
132132
math::Matrix<6, 6> CalcStateTransformationMatrixLvlhToTschaunerHampel(const double gravity_constant_m3_s2, const double eccentricity,
133133
const double angular_momentum_kg_m2_s, const double true_anomaly_rad) {
134134
math::Matrix<6, 6> transition_matrix;
135-
transition_matrix[0][0] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
135+
transition_matrix[0][0] = 1.0 + eccentricity * cos(true_anomaly_rad);
136136
transition_matrix[0][1] = 0.0;
137137
transition_matrix[0][2] = 0.0;
138138
transition_matrix[0][3] = 0.0;
139139
transition_matrix[0][4] = 0.0;
140140
transition_matrix[0][5] = 0.0;
141141
transition_matrix[1][0] = 0.0;
142-
transition_matrix[1][1] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
142+
transition_matrix[1][1] = 1.0 + eccentricity * cos(true_anomaly_rad);
143143
transition_matrix[1][2] = 0.0;
144144
transition_matrix[1][3] = 0.0;
145145
transition_matrix[1][4] = 0.0;
146146
transition_matrix[1][5] = 0.0;
147147
transition_matrix[2][0] = 0.0;
148148
transition_matrix[2][1] = 0.0;
149-
transition_matrix[2][2] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
149+
transition_matrix[2][2] = 1.0 + eccentricity * cos(true_anomaly_rad);
150150
transition_matrix[2][3] = 0.0;
151151
transition_matrix[2][4] = 0.0;
152152
transition_matrix[2][5] = 0.0;
153-
transition_matrix[3][0] = -gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
153+
transition_matrix[3][0] = -eccentricity * sin(true_anomaly_rad);
154154
transition_matrix[3][1] = 0.0;
155155
transition_matrix[3][2] = 0.0;
156-
transition_matrix[3][3] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
156+
transition_matrix[3][3] = pow(angular_momentum_kg_m2_s, 3.0) / pow(gravity_constant_m3_s2, 2.0) / (1.0 + eccentricity * cos(true_anomaly_rad));
157157
transition_matrix[3][4] = 0.0;
158158
transition_matrix[3][5] = 0.0;
159159
transition_matrix[4][0] = 0.0;
160-
transition_matrix[4][1] = -gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
160+
transition_matrix[4][1] = -eccentricity * sin(true_anomaly_rad);
161161
transition_matrix[4][2] = 0.0;
162162
transition_matrix[4][3] = 0.0;
163-
transition_matrix[4][4] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
163+
transition_matrix[4][4] = pow(angular_momentum_kg_m2_s, 3.0) / pow(gravity_constant_m3_s2, 2.0) / (1.0 + eccentricity * cos(true_anomaly_rad));
164164
transition_matrix[4][5] = 0.0;
165165
transition_matrix[5][0] = 0.0;
166166
transition_matrix[5][1] = 0.0;
167-
transition_matrix[5][2] = -gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
167+
transition_matrix[5][2] = -eccentricity * sin(true_anomaly_rad);
168168
transition_matrix[5][3] = 0.0;
169169
transition_matrix[5][4] = 0.0;
170-
transition_matrix[5][5] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
170+
transition_matrix[5][5] = pow(angular_momentum_kg_m2_s, 3.0) / pow(gravity_constant_m3_s2, 2.0) / (1.0 + eccentricity * cos(true_anomaly_rad));
171171

172172
return transition_matrix;
173173
}
174174

175175
math::Matrix<6, 6> CalcStateTransformationMatrixTschaunerHampelToLvlh(const double gravity_constant_m3_s2, const double eccentricity,
176176
const double angular_momentum_kg_m2_s, const double true_anomaly_rad) {
177177
math::Matrix<6, 6> transition_matrix;
178-
transition_matrix[0][0] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
178+
transition_matrix[0][0] = 1.0 / (1.0 + eccentricity * cos(true_anomaly_rad));
179179
transition_matrix[0][1] = 0.0;
180180
transition_matrix[0][2] = 0.0;
181181
transition_matrix[0][3] = 0.0;
182182
transition_matrix[0][4] = 0.0;
183183
transition_matrix[0][5] = 0.0;
184184
transition_matrix[1][0] = 0.0;
185-
transition_matrix[1][1] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
185+
transition_matrix[1][1] = 1.0 / (1.0 + eccentricity * cos(true_anomaly_rad));
186186
transition_matrix[1][2] = 0.0;
187187
transition_matrix[1][3] = 0.0;
188188
transition_matrix[1][4] = 0.0;
189189
transition_matrix[1][5] = 0.0;
190190
transition_matrix[2][0] = 0.0;
191191
transition_matrix[2][1] = 0.0;
192-
transition_matrix[2][2] = pow(angular_momentum_kg_m2_s, 1.5) / gravity_constant_m3_s2 / (1.0 + eccentricity * cos(true_anomaly_rad));
192+
transition_matrix[2][2] = 1.0 / (1.0 + eccentricity * cos(true_anomaly_rad));
193193
transition_matrix[2][3] = 0.0;
194194
transition_matrix[2][4] = 0.0;
195195
transition_matrix[2][5] = 0.0;
196-
transition_matrix[3][0] = gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
196+
transition_matrix[3][0] = pow(gravity_constant_m3_s2, 2.0) * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 3.0);
197197
transition_matrix[3][1] = 0.0;
198198
transition_matrix[3][2] = 0.0;
199-
transition_matrix[3][3] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
199+
transition_matrix[3][3] = pow(gravity_constant_m3_s2, 2.0) * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 3.0);
200200
transition_matrix[3][4] = 0.0;
201201
transition_matrix[3][5] = 0.0;
202202
transition_matrix[4][0] = 0.0;
203-
transition_matrix[4][1] = gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
203+
transition_matrix[4][1] = pow(gravity_constant_m3_s2, 2.0) * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 3.0);
204204
transition_matrix[4][2] = 0.0;
205205
transition_matrix[4][3] = 0.0;
206-
transition_matrix[4][4] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
206+
transition_matrix[4][4] = pow(gravity_constant_m3_s2, 2.0) * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 3.0);
207207
transition_matrix[4][5] = 0.0;
208208
transition_matrix[5][0] = 0.0;
209209
transition_matrix[5][1] = 0.0;
210-
transition_matrix[5][2] = gravity_constant_m3_s2 * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 1.5);
210+
transition_matrix[5][2] = pow(gravity_constant_m3_s2, 2.0) * eccentricity * sin(true_anomaly_rad) / pow(angular_momentum_kg_m2_s, 3.0);
211211
transition_matrix[5][3] = 0.0;
212212
transition_matrix[5][4] = 0.0;
213-
transition_matrix[5][5] = gravity_constant_m3_s2 * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 1.5);
213+
transition_matrix[5][5] = pow(gravity_constant_m3_s2, 2.0) * (1.0 + eccentricity * cos(true_anomaly_rad)) / pow(angular_momentum_kg_m2_s, 3.0);
214214

215215
return transition_matrix;
216216
}

0 commit comments

Comments
 (0)