1
$\begingroup$

I need to implement an autopilot for my 3DoF (longitudinal motion) aircraft model in Simulink. My model is nonlinear, but linearizing it in Simulink hasn’t been an issue. I’m trying to develop a control logic that makes my model track a specific flight path angle $\gamma$ using the throttle $\delta_T$ while adjusting speed $V_{\infty}$ using pitch $\theta$ (elevator deflection, $\delta_e$) along the trajectory. I’m struggling to understand how to connect the flight path angle with the throttle. Should I perhaps use this relationship

$$ ROC = V_{\infty}\sin\gamma = \frac{TV_{\infty}-DV_{\infty}}{W} $$ and linearize it, starting from a trim condition?

Thank you.

$\endgroup$
5
  • 1
    $\begingroup$ Sorry, but writing programs in Simulink/Matlab or other languages is not on-topic on the Aviation forum, no matter what the subject of such programs. $\endgroup$
    – Ralph J
    Commented Mar 1 at 16:16
  • $\begingroup$ Can I still get some physics advices? Just to find the relationship between those quantities $\endgroup$
    – leo95nf
    Commented Mar 1 at 16:24
  • 1
    $\begingroup$ What you want is a TECS (Total Energy Control System), which controls pitch and throttle simultaneously. This is a classical control scheme for fixed wing aircraft for 3 DoF, see this Google search (unfortunately I have no time to write an answer...) $\endgroup$
    – U_flow
    Commented Mar 1 at 20:40
  • 1
    $\begingroup$ You can find the classical TECS paper here $\endgroup$
    – U_flow
    Commented Mar 2 at 0:13
  • $\begingroup$ @U_flow thank you sir, if you have time you can also write your reply, I can wait. Until then I will read the paper $\endgroup$
    – leo95nf
    Commented Mar 2 at 8:48

3 Answers 3

3
$\begingroup$

Instead of using two separate loops for controlling the elevator and thrust, I would recommend to use the TECS (Total Energy Control System) algorithm which simultaneously controls the elevator and the throttle of the aircraft to manipulate the energy state of the aircraft.

The idea behind this algorithm is to control the energy state of the aircraft. One has to realize that the elevator only changes the energy distribution between the kinetic energy (speed) and potential energy (height), while only the throttle introduces or deletes energy! With this in mind, one can easily calculate the energy required for a given airspeed and climb command, calculate the energy distribution between potential and kinetic energy, and then control the elevator and throttle to realize the demanded energy state and distribution.

The energy of an aircraft can be easily described by

$E = m \cdot g \cdot h + \frac{1}{2} \cdot m \cdot v^2$

Dividing by the weight of the aircraft $m\cdot g$ and differentiating once, yields the energy rate of the aircraft per weight:

$\dot{E} = \dot{h} + V\cdot \dot{V}/ g$

And further dividing by $V$ yields the specific Energy rate

$\dot{E}_s = \gamma + \dot{V}/ g$

Note that $\dot{h}/V\approx\gamma$ if the small angle approximation is made.

The classical TECS algorithm is displayed below. The TECS algorithm calculates an specific Energy error (how much energy is lacking) $\dot{E}_{s,c} - \dot{E}_s$ with $\dot{E}_{s,c}$ indicating the commanded specific Energy rate to achieve the commanded descent/climb rate and target acceleration ($\dot{V}$). To do this, a classical PI Controller is used (these are the KTI/s and KTP blocks in the diagram). The result is then given to the throttle command to change the throttle such that the desired energy rate is achieved.

Similarly for the elevator the energy distribution term $L = \gamma - \frac{\dot{V}}{g}$ is formed. Analogously to the throttle command, the pitch command is formed by first calculating a commanded energy distribution $L_c$, forming the energy distribution error $L_e = L_c - L$ and using a PI controller to achieve the desired value.

Image taken from Lambregts

It should be noted that another control loop for controlling pitch attitude and dampening short period motion should be introduced in the "airplane dependent design" side of the algorithm

This established algorithm was first developed by Lambregts and has since been applied quite successfully in a number of applications. For example by NASA on their Boeing 737 test aircraft or the popular UAV open source control software ArduPilot and Pixhawk PX4.

$\endgroup$
10
  • $\begingroup$ Thank you for your time sir, I have some questions you can answer whenever you want. The first concerns the situation where I have both a flight path and an acceleration maneuver. According to Lambregts' paper, both the energy rate error and the energy rate distribution error need to go to zero simultaneously. This is achieved via KTP = KEP = 1.0 and KTI = KEI. The latter situation is achieved by matching pitch and thrust responses, but I don't really understand how to do this. $\endgroup$
    – leo95nf
    Commented Mar 5 at 9:36
  • $\begingroup$ Besides that, I also need to convert the thurst command to throttle command. According to the article, I need a "separate feed forward predictive term" but I've never heard of it. So if you can suggest me where I can learn more, I will really appreciate it. $\endgroup$
    – leo95nf
    Commented Mar 5 at 9:38
  • 1
    $\begingroup$ @leo95nf Concerning your first question. Matching pitch and thrust response means that the control loops managing thrust and pitch, both have a similar time response. It can be a bit different, but that means that it is undesirable that for example the thrust setpoint is reached in 10ms, and the pitch setpoint in 5 seconds. My advise is to start implementing an example and then itteratively test your controller. It should be relatively straightforward. $\endgroup$
    – U_flow
    Commented Mar 5 at 12:57
  • 1
    $\begingroup$ @leo95nf Simply insert a first order system with a time response matched to your pitch dynamics behind the commanded throttle to mimic thrust dynamics. $\endgroup$
    – U_flow
    Commented Mar 5 at 17:50
  • 1
    $\begingroup$ @leo95nf sorry without knowing the exact details or looking at your model, I think that this is as far as I can help you. Perhaps you have a supervisor or other student you can ask? $\endgroup$
    – U_flow
    Commented Mar 18 at 21:50
1
$\begingroup$

can I still get some physics advice?

With aircraft it is far easier to control pitch to the horizon (therefor the aircraft flight path descending, level, or climbing) with throttle control.

The elevator or stabiliator trim is used to set a given airspeed. This is why we are taught "pitch controls speed, power controls altitude".

In order for this all to work, the aircraft must be staticly stable. It must have the property of pitching up when it goes faster than its trim speed, and pitching down if it goes slower than it's trim speed.

Once this aerodynamic requirement is satisfied, it is only a matter of power setting to determine angle to the horizon. Using throttle to do this allows for "fine tuning" of flight path because engine RPM can be adjusted to a high degree of accuracy, instead of struggling to adjust drag with only 3 flap settings. Power on landings are therefor much easier$^1$.

What should become apparent is that gravity will play a role in aircraft power requirement depending on angle to the horizon, when airspeed and trim setting are constant.

Angle to the horizon is determined by power setting. If power is insufficient (or none) for level fight, flight path drops below the horizon and gravity assists by the formula W × sin (angle below the horizon).

In a climb, it is opposite, now gravity resists forward airspeed by the same formula.

The amount of Net Thrust to fly the airplane at a given airspeed is always "Gravity thrust" (positive, 0, or negative depending on angle to the horizon) + Propulsive thrust (0 to maximum available thrust).

Gliding at a given airspeed with no power provides the quantity of Net Thrust required for linear steady state flight as W × sin (Glide Angle).

$^1$ except, with a single engine, if the engine is lost you don't make the runway

$\endgroup$
0
$\begingroup$

Commercial solutions to this problem are often pretty complicated but the core is similar to what you're suggesting with thrust target = sin(flight path angle target)*W - predicted drag.

Some catches:

  • Some ability to account for modelling errors like incorrect weight or drag is essential for speed control. For example the integral part of a PI controller provides this functionality
  • since engines can have a slow response time, you may want to have an outer loop for thrust or EPR targets vs fpa, and an inner loop for thrust vs throttle
  • flight path acceleration can be added to the equation so you don't overestimate the extra thrust needed while you're already speeding up
$\endgroup$
1
  • $\begingroup$ thank you very much for you answer, can you suggest me any book/paper/video which try to explain this? $\endgroup$
    – leo95nf
    Commented Mar 1 at 20:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .