I'm working on a flight simulator , In which the jet has only ailerons , rudder , and two elvators at the back . When I nose up my aircraft via elevator deflection , it just keeps pitching up ( even when I let go of elevators and let them back to neutral) , after going pitch max , it starts pitching in opposite direction and then back and forth . These oscillations take lot of time to die out and the motion of my jet is like a sine wave going forward . I'm using real forces of lift and weight on the aircraft body.

So my queries are ,

  1. How does a fighter jet locks it's nose at a particular pitch angle ( the moment the pilot let go of the deflection) and does it so smoothly and slowly , that it's possible to aim at whatever direction you like and hold it there , even when flying at 600KM/Hr. Because when I let go of my elevators , entire plane just goes into oscillations and it becomes tedius task to focus on killing those oscillations .
  2. A cheat that I'm thinking of is , let's say pilot makes +30 degree deflection to elevators and let go , then the computer will immediately put the elevators to -30 degreee deflection . This will exactly cancel out the rotational momentum built up by the initial deflection . But in real aircraft , it will take time to put the control surface in opposite angle . So how do they do it so quickly .
  3. This person claims to be using a PID controller for pitch damping . How does a PID controller acount for the inherent delay in the actuators of control surface . Let's say controller decides an +10 degree is needed this moment to keep the aircraft stable at the current pitch , but the hydraulics will take their own time to put the control surface at that angle , by that time aircraft will have moved even more from the required stable position .

I know I'm asking too much in a single question . But I've been stuck on this problem for so long that only more and more problems have accumulated in this time .

  • 1
    $\begingroup$ My guess to the first question: The pilot doesn't just 'let go'. When he wants to stop pitching up, he pushes the elevators down briefly to stop the rotation, and then returns the stick to centre to avoid inducing any other rotation. $\endgroup$ – ThatCoolCoder Nov 18 '20 at 6:08
  • 1
    $\begingroup$ "How does a PID controller acount for the inherent delay in the actuators of control surface" that's basic PID design and control theory, but answering here would take too long. $\endgroup$ – Federico Nov 18 '20 at 7:12
  • 2
    $\begingroup$ For me it sounds like your simulation is probably missing aerodynamic pitch dampening, which causes the plane to just keep rotating once a pitch moment was applied to the airframe. $\endgroup$ – hph304j Nov 18 '20 at 8:23
  • 1
    $\begingroup$ Can you please provide a more detailed discription of your simulation $\endgroup$ – hph304j Nov 18 '20 at 11:54
  • $\begingroup$ @hph304j Yes , right now each control surface can only deflect , exert lift force and drag force NOTHING other than this . How do I go about implementing pitch damping that you speak bout . Any resource would help. $\endgroup$ – Manoj Pradhan Nov 18 '20 at 16:14

This depends on what level of realism you want.

If you want high, save yourself a lot of work by using an existing dynamics model like the JSBSim. There are model templates for it that have all the needed functions for reasonably realistic model are predefined and you just tweak the coefficients to get the performance you want.

If you want low, just make the surface deflection correspond to pitch/roll rate rather than acceleration, because that's what actually happens to a level of approximation that is perfectly fine for an arcade gamer.

What really happens is that when you deflect the control surface, the rotation will change the angle at which air hits the surface, and that will negate the effect of the control surface, so the aircraft settles at fixed rate of pitch/roll corresponding to the commanded displacement. And when the pilot centres the surface again, the aerodynamic force still exists that countered the deflection, which will now stop the rotation again.

This is fast enough that pilots normally don't need to stop the rotation with counter-movement of the controls except sometimes for fast rolls in aerobatics.

Regarding PID controller, a “position-integral-derivative” controller, the point is that the derivative term predicts the response delay, while the integral term compensates for any bias. The disadvantage is that if you tune it to have fast response, it always overshoots the target value, because the integral term will overestimate the bias. But it is simple to implement and does not require much modelling, just tweak the numbers until it works. The JSBSim provides PID controller (and some other simpler controllers) for the model definition.


There are two fundamental things that are (or should be) at play here: damping and natural pitch stability.

First, stability. Most airplanes (but not all fighters) have a natural tendency to come back to a certain (called trimmed) angle of attack. I won't explain here how it happens aerodynamically, but the point is that as the airplane pitches up, a moment arises that pitches it down (like a spring). This applies to any disturbance, be it a wind gust or an elevator deflection. So pulling (and holding) the elevator will not produce permanent rotation (unlike, say, the isolated roll response to ailerons). Instead, the airplane will settle on a higher angle of attack (AoA). (This will, of course, increase lift and the aircraft will depart from its former trajectory, but this is another matter).

Typically, you model this 'spring' by having a special function $C_m(\alpha)$ (pitch moment coefficient as a function of AoA (or of lift coefficient)). For a stable aircraft, it is linear and negative in the operational range of AoA. Which simply means: more AoA -> proportionally more pitch down moment. This is one of the most important functions in the whole flight simulation.

Elevator deflection (say, up) will add a pitch up moment. This will upset the original balance and will cause the airplane to accelerate pitching up. But this will only keep happening until the moment from the elevator balances out the growing pitch down moment from natural stability.

Now, the dynamics of this pitch process depends on several factors. Apart from this $C_m$ and the elevator deflection, it will depend on damping. Damping also happens naturally, and it happens for all airplanes, whether they are stable in pitch or not.

Damping, by definition, is the process that counteracts velocity: that is, the faster you move, the more the force that slows you down. In the absence of other forces, you will settle on some constant speed after initial acceleration. This, again, is something that would happen in an isolated roll motion: when the flow is symmetric, the wing doesn't produce any spring-like forces that restore bank.

There are two generic ways to simulate damping. One, you just directly introduce this term: $C_m(\dot\theta)$, i.e. pitch moment as a function of pitch rate. In the normal operational range of AoA, this is nearly a constant (i.e. a proportional term), and is always negative. The value of this constant is fairly easy to estimate from the tail geometry - see below. But things get more complicated as you approach stall. (They always do).

The second way is a simulation of how damping actually happens. Most of it comes from the fact that the local AoA on the tail changes as the aircraft pitches. Consider this: when you are pitching up, the tail goes down. More air "comes from below" to it, which is equivalent to higher AoA. The level of this increase depends on the added vertical speed of the tail with respect to the normal forward airspeed: $\arctan(w/v)$. (In practice you can usually drop arctan as the angle is small). Now, $w$ linearly depends on the pitch rate $\dot\theta$ (often denoted $q$) and the "arm" $L$ of the tail (its distance to CG): $q\cdot L$.

So, if you simulate the tail "properly", i.e. simulate lift on it and through that all the moments it produces, you'll need to add this local increase of its AoA, and everything will happen automatically. Alternatively, if you simulate the moments from the tail directly (which is often done), you can derive the amount of damping from knowing its nature: it (or rather its coefficient) will be proportional to $q\cdot L$, then to another $L$ because the force acts at this distance (making the dependency on $L^2$), and to the area of the horizontal stabiliser, and inversely to speed.

Tail is not the only contributor to damping, but usually it's by far the main one. If you account for it, your model will behave much better. Still, to account for all other things, you'll often have some additional term $C_{m_{other}}(q)$ (at least just linearly: $C_{m_{other}}^q\cdot q$), even if you simulate the tail separately.

This hopefully resolves the question why the model behaves so unnaturally. It remains to consider what happens if you indeed want to simulate a statically unstable fighter.

A statically unstable aircraft will still have the same damping, but its 'spring' term $C_m(\alpha)$ will be positive (or zero for neutral stability). If you pull the elevator up, the aircraft will start pitching up indefinitely. This motion will only be restrained in three ways:

  • Damping will limit the maximum pitch rate.
  • As the aircraft reaches stall (esp. tail stall), things will get very different. The aircraft may become stable again (leading to the Cobra-like manoeuvre), or may get "stuck" at certain high AoA. Simulating these regimes is a separate problem in flight dynamics.
  • Active computer control. Yes, a simple PID loop can solve it. Yes, delays in the control system is a real problem, and you will need more careful tuning of the controller, esp. its D term. It's fun.
  • $\begingroup$ I won't explain here how it happens aerodynamically That is perfectly fine, but even better would be to link to an answer that does. $\endgroup$ – Peter Kämpf Dec 20 '20 at 6:02
  • $\begingroup$ @Peter, if you have a good candidate, you are welcome to edit it in (or suggest here). $\endgroup$ – Zeus Dec 20 '20 at 9:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.