I am studying low-thrust maneuvers, in particular a change of inclination only. According to (Ruggiero et al., 2011)[1], if one writes the perturbation force in the Gauss planetary equations in terms of yaw and pitch angles $\alpha$ and $\beta$, the expression for the change in inclination is as follows:

$$ \frac{\operatorname{d}\!i}{\operatorname{d}\!t}=\left|\vec{f}\right| \frac{r}{h} \cos{(\omega + \nu)} \sin{\beta} $$

(hence depending only on the out-of-plane angle)

If one further derives this equation with respect to $\beta$, arrives to this expression for the optimal out-of-plane angle for the maximum instantaneous change of the inclination:

$$ \beta = \frac{\pi}{2} \operatorname{sgn}\left(\cos{(\omega + \nu)}\right) $$

Therefore, we should change the direction of the thrust vector every half orbit.

My problem with this result is that, intuitively, I would expect a change after every crossing of the line of nodes, and therefore depending on $\sin{(\omega + \nu)}$. In this way I would think a net torque around the node would be exerted and hence the inclination should change. Instead, the change is shifted 90 degrees and I don't understand why.

Can somebody provide some physical explanation, simulation, or alternative derivation that helps me clarify why changing the direction in this way produces a net change of inclination?

[1]: Ruggiero, A., P. Pergola, S. Marcuccio, and M. Andrenucci. "Low-thrust maneuvers for the efficient correction of orbital elements." In 32nd International Electric Propulsion Conference, pp. 11-15. 2011.

  • $\begingroup$ Sorry to bump up this thread after so long. I am also working with Ruggiero's control laws and I am unable to actually reproduce their test cases with the inclination change. Hence, I am currently using beta=-pi/2 (alpha=0) for all my inclination changes. Do you have an orbital element test case that works? Thanks for your help. $\endgroup$
    – ChrisR
    Commented Jan 16, 2017 at 6:34
  • 1
    $\begingroup$ @ChrisR in (Kéchichian, 1997) the theory is explained in depth and you have several test cases. The article is paywalled. arc.aiaa.org/doi/pdf/10.2514/2.4145 $\endgroup$
    – user10716
    Commented Jan 30, 2017 at 9:31
  • 1
    $\begingroup$ @astrojanlu thanks. It turned out that my RK4 integrator was buggy. My tests were not good enough. It now works as it should (and is open sourced on Github). $\endgroup$
    – ChrisR
    Commented Jan 30, 2017 at 22:25
  • $\begingroup$ @ChrisR care to share a link? :) $\endgroup$
    – user10716
    Commented Jan 30, 2017 at 23:30
  • 1
    $\begingroup$ astrojuanlu, with pleasure: github.com/ChristopherRabotin/smd . It's written in Go, and it's on going work (I'm using this code for my thesis and for my classes), so the documentation is very very minimal. The best is to look at the examples folder. $\endgroup$
    – ChrisR
    Commented Jan 30, 2017 at 23:34

4 Answers 4


I found this kind of counterintuitive as well at first. This is the way I rationalized it to myself: consider a high-thrust maneuver to change inclination. Obviously if it's impulsive, you perform it at the node. If it lasts for, say, one minute, you would burn +/- 30 seconds around the node. Now, take that to the limit, where the burn time is the entire orbit. The burn gets "smeared" around half of the orbit, but it's still centered on the node.

Put another way, your goal is to change the cross-track component of the velocity vector. That component changes sign 90 degrees from the nodes, so your thrust should flip at those points as well.

  • $\begingroup$ That's a cool explanation, thank you very much! $\endgroup$
    – user10716
    Commented Aug 9, 2016 at 4:59
  • $\begingroup$ I don't know if you get notifications for comments on questions that are then deleted so I'll mention here also that I didn't notice the article had "page buttons" and a whole second page. That's exactly what I was looking for, thanks! $\endgroup$
    – uhoh
    Commented May 5, 2021 at 0:59
  • 1
    $\begingroup$ @uhoh I saw the notification (and this one) - glad I could help $\endgroup$
    – Chris
    Commented May 5, 2021 at 2:22

I would like to share a GMAT example that demonstrates the thrust node changes for the low thrust satellites.

In this case my example relays on electric thrust with low Isp and N.

Finite burn at the first time performed in order to reduce the inclination of the satellite, then when the inclination vey close to the "0", orbit raising is starting from around the 7000 km to 42165 km.

Satellite Keplerian Parameters:

GMAT DefaultSC.SMA = 7191.93881762903;
GMAT DefaultSC.ECC = 0.02454974900598015;
GMAT DefaultSC.INC = 8.850080056580978;
GMAT DefaultSC.RAAN = 306.6148021947984;
GMAT DefaultSC.AOP = 314.1905515359948;
GMAT DefaultSC.TA = 99.88774933204584;


While DefaultSC.ElapsedDays <= 31.5373680999801
   % Ascending Node Thrust    
   GMAT changePoint = 360 - DefaultSC.EarthMJ2000Eq.BrouwerLongAOP + 90;
   GMAT changePoint2 = changePoint + 180;
   Propagate DefaultProp(DefaultSC) {DefaultSC.Earth.TA = changePoint};
   BeginFiniteBurn FiniteBurn2(DefaultSC);
   Propagate DefaultProp(DefaultSC) {DefaultSC.Earth.TA = changePoint2};
   EndFiniteBurn FiniteBurn2(DefaultSC);
   BeginFiniteBurn FiniteBurn3(DefaultSC);
   Propagate DefaultProp(DefaultSC) {DefaultSC.Earth.TA = changePoint};
   EndFiniteBurn FiniteBurn3(DefaultSC);


Above in example FiniteBurn2 and FiniteBurn3 are using the same electric thruster but with a minor change. FiniteBurn2 is representing (VNB == 0,1,0) and FiniteBurn3 (VNB == 0,-1,0).

INC change during the finite burn (LEO to GEO)

Inclination Change

RMAG change during the finite burn (LEO to GEO)

RMAG Change

ECC change during the finite burn (LEO to GEO)

Eccentricity Change

Longitude and Latitude change during the finite burn (LEO to GEO)

Longitude and Latitude Change

Above image extends a bit more in order to propagate the satellite to Longitude 42 degrees.


This is a well-known phenomenon in helicopter dynamics and in control systems. In a second order control system (which roughly describes your low-thrust scheme), the phase angle change is 90° when the input control frequency is the same as the system's natural frequency. (See any elementary control text and look at the second order system frequency response.)

You are proving the force at orbital frequency. Very similar to a helicopter where pitch changes to the rotor blades are input 90° ahead. You can think of the pitch change as an inclination change of the rotor plane.

  • $\begingroup$ Did you mean "proving the force" or "providing the force"? The latter seems to make more sense. $\endgroup$ Commented Aug 7, 2016 at 14:24
  • $\begingroup$ Interesting point of view, I will wait for others to chime in and after a while I will choose a correct answer. $\endgroup$
    – user10716
    Commented Aug 7, 2016 at 15:54

To minimize thrust, you need to fire the engines when $\operatorname{d}\!v_z$ (change in v along z-plane) produced from engine can cause greatest $\operatorname{d}\!i$. Mathematically, a second-order system will incur greatest change in gain (K) when the second and first derivate of z-position variable are greatest i.e., when changing acceleration and moving rapidly. In this context, the transfer function you provided is modeled periodically and therefore, the greatest inclination change is incurred everytime the satellite crosses the point of intersection of the equatorial and orbital plane along its orbit because increased acceleration along the z-plane which is coaxial with inclination plane.

Practically speaking, a highly eccentric (elliptical) orbit will ease such a maneuver than say with a circular orbit, etc.

  • 1
    $\begingroup$ +1 for a math answer, but its a virtual +1 until you can add a link explaining where I can read more about "Mathematically, a second-order system will incur greatest change in gain (K) when the second and first derivate of z-position variable are greatest..." Is there a name for that concept? What if the second and first derivatives are greatest at different points? Then where is the greatest change in gain (K)? $\endgroup$
    – uhoh
    Commented Jan 30, 2017 at 6:31
  • $\begingroup$ You can read about it in system dynamics. It's an optimization problem, and your question is ambiguous. For an elliptical orbit, these derivatives can only be greatest at certain points, with a change in sign ofc $\endgroup$
    – Shreyas R
    Commented Jun 27, 2017 at 23:12
  • $\begingroup$ Thanks for your reply! I'm not saying it's wrong, just that it's hard to tell either way from a short answers with no links or references to supporting material. A good stackexchange answer should back up statements of fact with supporting information. You may be saying something profound and fundamental about dynamics, but without a link, or even a name of the principle to look up and read further, it's hard for future readers to gain anything from reading your answer. If you have a chance, please add something or expand the explanation. Thanks! $\endgroup$
    – uhoh
    Commented Jun 28, 2017 at 2:30
  • 1
    $\begingroup$ You're very welcome! You're right about what a well written answer should look like. I'll try to cite some references if I find any as I pulled up this answer from my head, while taking the train haha. I hope it didn't take too much of your time - because of the ambiguity of my answer. $\endgroup$
    – Shreyas R
    Commented Jun 28, 2017 at 10:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.