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
Feedback sent
We appreciate your effort and will try to fix the article