Flight Control Design Using Backstepping
Flight Control Design Using Backstepping
Ola H arkeg ard and S. Torkel Glad Division of Automatic Control Department of Electrical Engineering Link opings universitet, SE-581 83 Link oping, Sweden WWW: http://www.control.isy.liu.se Email: [email protected], [email protected] December 8, 2000
REGL
ERTEKNIK
AU
LINKPING
1 Introduction The development of high performance aircraft operating at high angles of attack and at high angular rates has stimulated the interest in applying nonlinear control techniques to aircraft ight control. Currently, feedback linearization [11], or nonlinear dynamic inversion (NDI), as it is often referred to in the eld, seems to be the prevailing nonlinear design method with numerous applications reported, see [9, 4, 10] and the references therein. Feedback linearization, as the name implies, aims at cancelling the nonlinear system behavior. By using nonlinear feedback, the closed loop system is rendered linear. A drawback with this approach is that for the cancellation to be possible, all the nonlinearities involved must be known exactly. In aircraft ight control, the aerodynamic forces and moments acting on the aircraft are important sources of nonlinearity to be dealt with. In practice these can not be modeled exactly and hence, perfect cancellation is not possible. In this paper we propose a new approach to robust aircraft ight control. Our main mathematical tool is backstepping [7]. Backstepping oers a more exible way of dealing with nonlinearities compared to feedback linearization. Nonlinearities that act stabilizing may be kept in the closed loop system while destabilizing nonlinearities may be cancelled or dominated.
2 Aircraft Model In this contribution, the controlled variables are the angle of attack, , the sideslip, , and the roll rate about the stability x-axis, ps . The equations of motion describing the aircraft dynamics in terms of these variables are [2, 12]: = q (p cos + r sin ) tan 1 (L FT sin + mg1 ) + mVT cos = p sin r cos 1 (Y FT cos sin + mg2 ) mVT M = I + I + (1a)
(1b)
(1c)
Here, m is the aircraft mass, I is the inertia matrix, and VT is the true airspeed. L and Y are the lift and side forces respectively, FT is the engine thrust force,
and g1 = g (cos cos cos + sin sin ) g2 = g (cos cos sin + sin cos sin sin sin cos cos ) represent the force contributions due to gravity. These depend on the orientation of the aircraft, given by the pitch angle, , and the roll angle, . M is the net torque applied to the aircraft and = p q r
T
c , pc s State feedback
k (x ) +
udes
Control allocation
Aircraft
u Observer
State measurements, x
Figure 1: Overview of the control framework. The relationship between u and the true control input, , can be found by combining equations (1c), (2), and (3). Regarding as a constant while realizing the lateral control demands u1 and u3 yields u = S . Inserting this into Equation (1c) gives us u = S I 1 (M ( ) I ) (9)
is the angular velocity of the aircraft expressed in the body axes frame. The stability axes angular velocity s = ps qs rs
T
is related to the body axes angular velocity through the transformation cos 0 sin s = S , S = 0 1 0 (2) sin 0 cos The control input, , consists of the elevator (e ), aileron (a ), and rudder (r ) deections. For backstepping to be applicable, we will assume these control surface deections only to produce aerodynamic moments, and not forces. We will also neglect the derivatives of the aerodynamic forces with respect to the angular velocity 1 . Essentially, this yields L() = q SCL () Y ( ) = q SCY ( )
2 where q = VT /2 is the aerodynamic pressure, is the air density, and S is the wing platform area.
where we assume M to be a static function of the demanded control surface deections, , ignoring the fast actuator dynamics. Introducing the state vector x = we can use the compact form x = f (x) + Bu u = g (, x) ps qs rs
T
(10)
3 Control Preliminaries 3.1 Control strategy The angle of attack and the stability axis roll rate should follow the pilot commanded values c and pc s respectively. A stability axis roll, also known as a velocity vector roll, is a roll performed at constant angle of attack and zero sideslip. The sideslip is to be kept zero at all times. Speed control is assumed to be handled separately. 3.2 The general framework The block diagram in Figure 1 gives an overview of the general framework that will be used for the ight control design. The rst block outputs the desired angular acceleration, u = k (x). If this could be produced exactly by deecting the control surfaces properly, the closed loop dynamics would be x = f (x) + Bk (x) (11)
In the control design to come, s , the stability axes angular acceleration, will at rst be considered the control input. Introducing u = u1 u2 u3
T
= s
(3)
we can rewrite the aircraft dynamics (1) as p s = u1 = qs ps tan 1 (L() FT sin + mg1 ) + mVT cos q s = u2 = rs + 1 (Y ( ) FT cos sin + mg2 ) mVT r s = u3 (4) (5)
(6) (7) (8) In Sections 4.1 and 4.2 we derive state feedback control c laws k (x) such that ps = pc s , = , and = 0 becomes a globally stable equilibrium of the closed loop system (11).
Realizing u = k (x) requires precise knowledge of which angular acceleration, and in particular which aerodynamic moment, M , is produced for a certain set of control deections, . To allow a model error to be present in this usually quite complex mapping, we remodel the system dynamics as x = f (x) + B (u + ) u = g (, x) where is an unknown but constant bias. Using nonlinear observer techniques, an exponentially converging , can be produced. This estimate can be estimate, used for feedback in a straightforward way: u = k (x) In Section 4.3 we show that closed loop stability is retained using this adaptive control law. Finally, in the control allocation block, control surface deections are found such that u = g (, x) is achieved, if possible. This is done using nonlinear optimization as discussed in Section 4.4.
0.1 0.2
30
20
10
0 10 (deg)
20
30
Figure 2: Typical lift force coecient versus angle of attack and side force coecient versus sideslip.
where y represents the inuence of variables that we regard as constant. The main characteristics of the nonlinear term f in the two cases are decided by L() and Y ( ) respectively. From Figure 2 we see that the gradients of L and Y are negative in large parts of the operating range (the only exception is the poststall behavior of the lift force). The key property of backstepping is that it allows us to benet from these inherently stabilizing forces and not cancel them. In a nutshell, this is where our backstepping approach diers from feedback linearization. Feedback linearization renders the closed loop system linear by cancelling f using nonlinear feedback. This requires complete knowledge of f (x1 , y ) as well as f (x1 , y )/x1 . Our backstepping control law on the other hand will be linear in x1 and x2 and only require knowledge of f at the desired equilibrium and an upper bound of the slope of f. Let us rst derive a backstepping control law for the generic system (14) and then apply it to and control. 4.2.1 A generic backstepping design Consider the system (14), and determine a control law that globally stabilizes the system at x1 = r. To see things more clearly, we introduce the deviations from steady state, 1 = x1 r, 2 = x2 + f (r, y ), and (1 ) = f (1 + r, y ) f (r, y ) (we drop the depencence on y and r for notational convenience). This yields 1 = (1 ) + 2 2 = u Now assume that there exists a maximum slope a = max
1 R r r y y
4 Control Design A general assumption that we will make is that longitudinal and lateral commands are not applied simultaneously. The mathematical eect of this is that when deriving the angle of attack control law, , ps , and rs are considered constant. Vice versa, when designing the sideslip and roll control laws, and qs are considered constant. Also, due to the time-scale separation, all other variables, such as the Euler angles, , , and , and the aircraft velocity, VT , are considered constant. 4.1 Stability axis roll control Controlling the stability axis roll is straightforward. With p s = u1 from Equation (4), simply assign 1 ps ) u1 = (pc s where is the desired roll time constant. 4.2 Angle of attack and sideslip control To begin with, we note the structural similarities between (5)(6) and (7)(8). Both these second order systems can be written x 1 = f (x1 , y ) + x2 x 2 = u (14) (13) (12)
(15a) (15b)
(1 ) f (x1 , y ) max x 1 R 1 x1
y y
(16)
Equality holds if r is not restricted, i.e., when r = R. To use this property in the Lyapunov framework of backstepping, we can rewrite it as
2 1 (1 ) a1
(17)
We now turn to the actual control design. Step 1: Let us for a moment regard 2 as the control input of Equation (15a) and nd a desired stabilizing des virtual control law 2 , using the control Lyapunov function (clf) V1 = 1 2 2 1
where (1 ) is guaranteed to just stay inside the second and fourth quadrants. I.e., 1 (1 ) 0 We note that (1 ) c1 1 is also restricted to the second and fourth quadrants. Combining this with Equation (19) we have that F (1 )((1 ) c1 1 ) 0 also holds. Using these relationships we get 2 (c0 1 + F (1 ) 2 c0 (c1 a) 2 + V 1 2 )) + u + c1 ( (1 ) + (a c1 )1 + We can further simplify this expression using out design freedom. The choices c0 = c1 (c1 a) F (1 ) = c1 (1 ), render the nal expression
2 2 (u + c1 2 ) 2 c1 (c1 a)2 1 + V
Dierentiating with respect to time, we get 1 = 1 ((1 ) + 2 ) 1 (a1 + 2 ) V 1 is made negative denite by selecting using (17). V
des = c1 1 , 2
c1 > a
The resulting 1 dynamics, (1 )c1 1 , lie in the second and fourth quadrants only and thus, 1 is stabilized. Step 2: Continue by introducing the residual 2 = 2 des = 2 + c1 1 2 2 . and rewrite the system dynamics in terms of 1 and 2 1 = (1 ) c1 1 + = u + c (( ) c + 2 ) 1 1 1 1 2 (18a) (18b)
c1 > 0, F (0) = 0
To make the right hand side negative denite, and the closed loop system globally stable, we select the control law 2 , u = c2 c2 > c1 (20)
In Equation (18b) it is not clear whether the 1 components are benecial or not. Proceeding in the usual 2 term to the clf, backstepping manner, by adding a 2 would lead to a control law that cancels these components. The control law would thereby require exact knowledge of and, consequently, f , not only at the equilibrium, x1 = r. As we will see, this can be avoided by also adding a general term F (1 ) to be decided as an extra degree of freedom. This extension of backstepping is due to [8]. Thus, V2 = c0 2 1 2 + F (1 ) + 2 1 2 2
Although f , and consequently V2 , is y dependent, closed loop stability is guaranteed by the LaSalleYoshizawa theorem [7] for each constant value of y . Summary: Let us summarize our results. Despite the nonlinear nature of the system (15), the linear control law (20) is globally stabilizing. In terms of the original state variables from (14) the control law becomes u = c2 (x2 + c1 (x1 r) + f (r, y )) c1 and c2 are design parameters restricted by c2 > c1 > max(a, 0) (21)
where F (1 ) is a positive denite, radially unbounded function, satisfying F (1 )1 > 0, where F (1 ) = F (1 )/1 . 2 negative We now aim at nding a u that will make V denite. 2 ) 2 = c0 1 ((1 ) c1 1 + V 2 ) + F (1 )((1 ) c1 1 + 2 (u + c1 ((1 ) c1 1 + 2 )) + At this stage it is rewarding to make the split (1 ) = (1 ) + a1 1 = 0 (19)
with a from (16). 4.2.2 Application to and control The control law (21) can be applied to angle of attack control by comparing Equations (5)(6) with the generic system (14) and substituting x1 = , With f from (5) we get a = max L() 1 ( + mg ) mVT cos x2 = qs , u = u2
using (16) and neglecting the benecial impact of the thrust force term. a can be readily computed assuming some lower bound on VT and some upper bound on . For the control case, Equations (7)(8) determine the open loop dynamics. Again comparing with the generic system (14) we substitute x1 = , x2 = rs , u = u3
where V (x) is a Lyapunov function for the nominal closed loop system, x = f (x) + Bk (x), and xn is the variable whose derivative is directly aected by the input. 2 . This can In the generic backstepping case, l = be seen as a part of the control law (20) already by performing the split 2 , 2 = c 2 2 u = c2 c 2 > c1 , > 0
This also holds for the roll control case using, e.g., V = 2 (ps pc s) . Thus, the desired equilibrium is globally stabile using the adaptive control law (22). 4.4 Realizing the control laws In this section, we propose how to realize (22), i.e., how to nd control deections, , such that (9) is satised. Solving for the net moment to be produced yields
T M ( ) = IS u + I
with the same remarks as above. Here, we have used the fact that the sideslip command is always zero. Assuming that the side force is zero for zero sideslip yields the control law g u3 = c2 (rs + c1 + cos sin ) V Note that u3 does not depend explicitly on the side force. 4.3 Adapting to input uncertainties In the previous section, we derived globally stabilizing ight control laws regarding u = s as the control input. In Section 3.2 we outlined an intuitively appealing idea of how to make these control laws adaptive to a static model error in the mapping (9) from the actual control input, , to s . Writing this relationship as s = u + where is an unknown but constant bias vector, the uncontrolled dynamics become x = f (x) + B (u + ) =0 We note that the nonlinearity f depends only on measurable entities. This means that an exponentially con, can be computed using observer verging estimate, techniques along the lines of [6]. Adjusting the state feedback laws to also incorporate with the aim of cancelling , u = k (x) yields the closed loop dynamics ) x = f (x) + B (k (x) + Is global stability retained with this adaptive strategy? This issue was investigated in [5] for the single input case. It was shown that global stability is retained given that the control law is augmented by a term l(x) = V /xn , >0 (22)
This can be converted into the desired aerodynamic modes des ment coecients, C des = (Cldes , Cm , Cn ). The control allocation problem can now be expressed as minimizing the deviation between the desired aerodynamic coecients and the actual ones, i.e., to minimize J ( ) = |C (, x) C des |2 Using an optimization framework instead of solving C (, x) = C 0 as a system of equations allows us to handle cases where there exists no feasible solution to J ( ) = 0, e.g., due to saturating control surfaces. Nonlinear optimization is a complex matter and in general no guarantee can be given that the global optimum is found. However, since in our case the optimization is performed at each sample time, we can use the solution at one time step as the initial guess at the next time step. This strategy of each time starting very close to the optimal solution yields very good performance. In the implementation, the Broyden-Fletcher-GoldfarbShanno (BFGS) variable metric method [3], a quasiNewton method, was chosen. This takes J ( ) and the gradient J ( ) as arguments, where the latter can be numerically computed. It recursively estimates the inverse Hessian of J and performs a line search in this direction to update . Reusing the inverse Hessian at the next time step signicantly improves the performance.
5 Simulations We evaluate the control laws using Admire, a Matlab/Simulink environment for the Generic Aerodata
6 Conclusions In this paper we have demonstrated the potential of using backstepping techniques to design ight control laws. In comparison to feedback linearization, the control laws can be made computationally simpler by not cancelling the benecial nonlinear parts of the lift and side forces. We have also proposed the use of nonlinear observers as an alternative to traditional integral feedback for reaching the desired steady state in the presence of additional, unknown inputs.
4 time (s)
10
200 Roll rate ps (deg/s) 150 100 50 0 0 2 4 time (s) 2 Sideslip (deg) 1 0 1 2 3 0 2 4 time (s) 30 Deflections (deg) 20 10 0 10 20 0 2 4 time (s) 6 8 10 Elevator Aileron Rudder 6 8 10 reference without pitch with pitch 6 8 10 reference without pitch with pitch
50
References [1] H. Backstr om. Report on the usage of the Generic Aerodata Model. Technical report, Saab Aircraft AB, May 1997. [2] J.-L. Boier. The Dynamics of Flight: The Equations. John Wiley & Sons, 1998. [3] J. E. Dennis, Jr. and R. B. Schnabel. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. SIAM, 1996. [4] D. Enns, D. Bugajski, R. Hendrick, and G. Stein. Dynamic inversion: an evolving methodology for ight control design. International Journal of Control, 59(1):7191, Jan. 1994. [5] O. H arkeg ard and S. T. Glad. Control of systems with input nonlinearities and uncertainties: an adaptive approach. Technical Report LiTH-ISY-R-2302, Department of Electrical Engineering, Link opings universitet, SE-581 83 Link oping, Sweden, Oct. 2000. [6] A. J. Krener and A. Isidori. Linearization by output injection and nonlinear observers. Systems & Control Letters, 3:4752, June 1983. [7] M. Krsti c, I. Kanellakopoulos, and P. Kokotovi c. Nonlinear and Adaptive Control Design. John Wiley & Sons, 1995. [8] M. Krsti c and P. V. Kokotovi c. Lean backstepping design for a jet engine compressor model. In Proceedings of the 4th IEEE Conference on Control Applications, pages 10471052, 1995.
Figure 3: Simulated aircraft responses to pitch and stability axis roll commands.
Model (GAM), a small generic ghter aircraft, developed by Saab AB, Sweden [1]. The simulations are performed at an initial speed of 0.5 Mach at an altitude of 1000 m. The following control laws parameters were used. For control, c1 = 2, c2 = 5, for control, c1 = 3, c2 = 5, and for roll control, = 0.5. The poles of the observers were placed in 8 i. Figure 3 shows the responses to a sole angle of attack command, a sole stability axis roll command, and the combination of the two. Control surface deections for the combined manoeuvre are shown in the bottom picture.
[9] S. H. Lane and R. F. Stengel. Flight control design using non-linear inverse dynamics. Automatica, 24(4):471483, 1988. [10] J. Reiner, G. J. Balas, and W. L. Garrard. Flight control design using robust dynamic inversion and timescale separation. Automatica, 32(11):14931504, 1996. [11] J.-J. E. Slotine and W. Li. Applied Nonlinear Contol. Prentice Hall, 1991. [12] B. L. Stevens and F. L. Lewis. Aircraft Control and Simulation. John Wiley & Sons, 1992.