Plan and simulate an impulsive maneuver

Modified on Thu, 28 Sep, 2023 at 12:13 PM

In HohmannDemo, a Hohmann transfer delta-V is implemented to raise the semimajor axis by 100 km, from 7000 km to 7100 km. The script calculates the fuel mass and duration of the finite burn given the specific impulse of the thruster. Finally, implement the maneuver in a 6 DOF simulation for a satellite with reaction wheels and a single thruster. 


The delta-V is computed with OrbMnvrHohmann, and the propellant mass is then computed using RocketMass. The fuel mass is then used to compute the duration of the finite burn. A numerical simulation implements the necessary attitude and orbit.


This demo uses PID3Axis to implement the attitude control system. This is a convenient way to design and implement a state space controller that operates on quaternions for targeting. PID3Axis is easily initialized:

dC             = PID3Axis;
dC.body_vector = [1;0;0];
dC.mode        = 1; % Align two axes
dC.inertia     = inr;

It is then called with the current state to output a control torque,


% Update the controller
dC.eci_vector = uBurn(:,kMnvr);
[tRWA, dC]    = PID3Axis( x(7:10), dC );

The force is calculated using the assigned body vector and the current attitude.

 dRHS.force = thrustE*QTForm(x(7:10),dC.body_vector)*nToKN; % kN

The resulting simulated attitude quaternion is,

The individual wheel torques and thruster force are as shown,

The plot of the semi-major axis and eccentricity shows the elliptical transfer orbit followed by the final circular orbit.

Since a finite burn was applied, the final orbit is not exact. The simulation prints the error to the command line. The error in semi-major axis is less than 0.5 km.

Final SMA        7099.72 km
  SMA error         0.28 km
Final e          1.3e-05


Edition: SCT Professional Edition

Module: Orbit/Demos/OrbitManeuver

Children: RK4, RHSRWAOrbit, PID3Axis

Published demo: HohmannDemo

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article