Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract
A model helicopter is more difficult to control than its full scale counterpart. This is due to its greater sensitivity to control
inputs and disturbances as well as higher bandwidth of dynamics. This work is focused on designing practical tracking controller
for a small scale helicopter following predefined trajectories. A tracking controller based on optimal control theory is synthe-
sized as a part of the development of an autonomous helicopter. Some issues with regards to control constraints are addressed.
The weighting between state tracking performance and control power expenditure is analyzed. Overall performance of the
control design is evaluated based on its time domain histories of trajectories as well as control inputs.
Keywords: small scale helicopter, optimal control, tracking control, rotorcraft-based UAV
Copyright © 2007, Jilin University. Published by Elsevier Limited and Science Press. All rights reserved.
vector and u = {δlat, δlon, δped, δcol}T the input vector. The ⎪⎪ du = u(t ) R(t ) + J x ( x , t ) B (t )
⎨ 2 . (20)
dynamic matrix A contains the stability derivatives and ⎪ d H = R(t ) > 0
the control matrix B contains the input derivatives. The ⎪⎩ du2
complete descriptions of the elements of these matrices Note that the above stationary condition defines a global
are presented in the Appendix. minimum because the function H only depends quad-
ratically on u.
3 Tracking control design
The optimal control is obtained by using the sta-
3.1 Linear regulator problem tionary condition and solving for u,
A linear regulator problem in the optimal control u* (t ) = − R(t ) −1 B (t )T J x* ( x , t )T . (21)
theory represents a class of problems where the plane The Hamiltonian in Eq. (19) can then be written as
dynamics is linear and the quadratic form of perform- 1
H = J x* ( x , t ) A(t ) x (t ) + x (t )T Q (t ) x (t )
ance criteria is used. The linear dynamics (which can be 2
time-varying) is 1
− J x* ( x , t ) B (t ) R(t )−1 B (t )T J x* ( x , t )T . (22)
x (t ) = A(t ) x (t ) + B (t )u(t ) , (15) 2
274 Journal of Bionic Engineering (2007) Vol.4 No.4
Now, in order to ensure the optimality the HJB equation − K (t ) = Q (t ) + K (t ) A(t ) + A(t )T K (t )T
must be satisfied. The complete HJB equation is − K (t ) B (t ) R(t )−1 B (t )T K (t )T . (31)
1
J t* ( x , t ) = J x* ( x , t )T A(t ) x (t ) + x (t )T Q (t ) x (t ) With a finite terminal time specified the entire solution is
2
1 * a transient and K(t) will be time varying. However if the
− J x ( x , t ) B (t ) R(t )−1 B (t )T J x* ( x , t )T ,
2 terminal time is taken far enough out, the solution for K
(23) and the corresponding feedback gain might tend to be
where the boundary condition (in this case, with fixed tf) constants. To get the invariant asymptotic solution, the
is differential equation for K can be integrated into a
1 steady state solution or the time derivative term is set to
J * ( x (tf ), tf ) = x (tf )T Hx (tf ) . (24)
2 zero, i.e. K = 0 . This leads to the Algebraic Riccati
A quadratic form for the cost is used to verify its validity Equation (ARE)[6]
using the HJB equation. Letting
1 Q + KA(t ) + AT K T − KBR −1 B T K T = 0 . (32)
J * ( x (t ), t ) = x (t )T Hx (t ) , (25)
2 For K(t) satisfying the above Riccati form matrix quad-
thus, the partial derivatives appearing in Eq. (23), can be ratic equation, it is required that Eq. (25) is optimal, and
written as the optimal control in Eq. (21) is now given by
J x* ( x , t ) = x (t )T K (t ) , (26)
u* (t ) = − R −1 B T Kx (t ) . (33)
1 dK (t )
J t* ( x , t ) = x (t )T x (t ) , (27)
2 dt This is the state feedback control law for the continuous
and the HJB equation becomes time LQR problem. Note that both forms of Riccati
1 1
x (t )T K (t ) x (t ) = x (t )T Q (t ) x (t ) + x (t )T K (t ) A(t ) x (t ) equation given in Eqs. (31) and (32) do not depend on x
2 2 or u and thus the solution for K can be obtained in ad-
1
− x (t )T K (t ) B (t ) x (t ) R(t )−1 B (t )T K (t )T x (t ). vance and finally the gain matrix R−1BTK can be stored.
2 The control can then be obtained in real time by multi-
(28)
plying the stored gain with x(t).
The terms appearing in the above equation are scalar.
The transpose of a scalar term is the same as the term.
3.2 Path tracking problem formulation
Since only scalar terms are dealt with the following
To use the LQR design for path tracking control,
relation applies
1 the regulator problem must be recast as a tracking
x (t )T K (t ) A(t ) x (t ) = x (t )T K (t ) A(t ) x (t ) problem. In a tracking problem, the output y is compared
2
1 to a reference signal r. The goal is to drive the error
+ x (t )T A(t )T K (t )T x (t ), (29) between the reference and the output to zero. It is
2
common to add an integrator to the error signal and then
and thus the HJB equation becomes minimize it. An alternative approach would be using the
1 derivative of the error signal. Assuming perfect meas-
0= x (t )T [ K (t ) + Q (t ) + K (t ) A(t ) + A(t )T K (t )T urements, i.e. the sensor matrix is of identity form
2
− K (t ) B (t ) R(t )−1 B (t )T K (t )T ] x (t ). (30) yerror = xerror (t ) = xref (t ) − x (t ) . (34)
Now, letting K(tf) = H = HT (symmetric), K(t) will be Taking the time derivative of the equation yields
symmetric from above and thus symmetry of K(tf) will
x error (t ) = x ref (t ) − x (t ) . (35)
be retained ∀t , i.e. K(t) = K(t)T (symmetric). K(tf) = H is
the boundary condition for K(t). Since the above equa- When the reference is predefined as a constant,
tion must be satisfied ∀x(t ) , the following matrix dif- then x ref (t ) = 0 , and
ferential equation is obtained,
Agus Budiyono, Singgih S. Wibowo: Optimal Tracking Controller Design for a Small Scale Helicopter 275
x error (t ) = − x (t ) . (36) and collective pitch. The control input limits for the
helicopter used in this study are
A path tracking control law can be designed by using the
−5˚≤ δ lat ≤5˚, (45)
following general relation
−5˚≤ δ lon ≤5˚, (46)
x error (t ) = −η x (t ) , (37) −22˚≤ δ ped ≤22˚, (47)
where η is an arbitrary constant representing the weight −10˚≤ δ col ≤10˚. (48)
of the tracking performance in the cost function. In ma- To incorporate control input constraints into the control
trix form, the above relation can be written as synthesis, the Pontryagin’s minimum principle is em-
⎡ xerror (t ) ⎤ ⎡ −η x (t ) ⎤ ployed. Essentially, the Hamiltonian of the system is
⎢ ⎥
x error (t ) = ⎢ y error (t ) ⎥ = ⎢⎢ −η y (t ) ⎥⎥ . (38) re-derived to express the presence of input constraints.
⎢⎣ zerror (t ) ⎥⎦ ⎢⎣ −η z (t ) ⎥⎦ The stationary condition is applied to the modified
Substituting x = u , y = v, z = w , the above equation can Hamiltonian to obtain the optimal bounded control[8].
be expressed as The Hamiltonian for the above tracking problem is
⎡ −η u (t ) ⎤ 1 1
H = xaug (t )T Q (t ) xaug (t ) + u(t )T R(t )u(t )
x error (t ) = ⎢⎢ −η v(t ) ⎥⎥ . (39) 2 2
+ pT ( Axaug (t ) + Bu(t )), (49)
⎢⎣ −η w(t ) ⎥⎦
and its derivative with respect to u is
To accommodate the tracking term in the cost function,
the state-space model is augmented as H u = u(t )T R(t ) + p T B . (50)
x aug = Aaug xaug (t ) + Baug u(t ) , (40) The optimal control can be solved by imposing Hu = 0.
This yields
where
u* (t ) = − R(t ) −1 B T p . (51)
xaug = { xerror , x}T , (41)
When the control is constrained or bounded, the optimal
⎡03×3 −η I 3 03×11 ⎤ control is
Aaug = ⎢ ⎥, (42)
⎣014×3 03×3 ⎦ u* (t ) = arg min[u(t )T R(t )u(t ) + p T Bu(t )] . (52)
u ( t )∈U ( t )
⎡0 ⎤
Baug = ⎢ 3×4 ⎥ . (43) In practice, the control elements are penalized indi-
⎣B ⎦
vidually. It does not make any sense to minimize the
The size of the matrix is associated with the matrix ap-
product between u1 and u2, for example. Thus the
pearing in Eq. (14) with the addition of three augmented
weighting matrix R is not usually a full matrix. The
states. When the terminal weighting is not considered,
diagonal matrix R was used in this work to simplify the
the performance measure is now
optimization considerably. For a diagonal R,
1 tf
J = ∫ [ xaug (t )T Q (t ) xaug (t ) + u(t )T R(t )u(t )]dt , (44) m
1
2 t0 u* (t ) = arg min[∑ Rii ui2 + pT bi ui ] , (53)
u ( t )∈U ( t ) i =1 2
where the determinations of the weighting matrices η, Q
1
and R are empirical. ui* (t ) = arg min[ Rii ui2 + pT bi ui ] . (54)
ui ( t )∈U i ( t ) 2
3.3 Control synthesis in the presence of input The unbounded solution can thus be written as
constraints ui = − Rii−1 pT bi , (55)
In a real system, the control inputs are always lim-
ited by hard constraints. The limitation of the control and the bounded control requirement, − M i− ≤ ui ≤ M i+ ,
inputs for a typical aircraft, for instance, is governed by can be implemented in the following logic
the maximum allowable deflection of its control surfaces. ⎧ui ≤ − M i− ui* = − M i−
⎪
In the case of helicopters, the control hard limits are if ⎨− M i− ≤ ui ≤ M i+ ui* = ui . (56)
imposed on their lateral and longitudinal cyclic, pedal ⎪ + * +
⎩ui ≥ M i ui = M i
276 Journal of Bionic Engineering (2007) Vol.4 No.4
Note that the solution of the bounded control is not as the
same as the solution obtained by imposing the con-
straints to the unbounded solution. The optimal control
history of the bounded control case cannot be deter-
mined by calculating the optimal control history for the
unbounded case and then allowing it to saturate when-
ever there is a violation of the stipulated boundaries.
4 Numerical simulation
To evaluate the performance of the tracking con-
troller design, numerical simulation is conducted for a
variety of reference trajectories and for different values Fig. 2 Trajectory tracking performance,
η = 0.01, Q = 0.01I17, R = 0.01I4.
of weighting matrices. The simulation is carried out
using Matlab with the data presented in the Appendix.
Since the focus of the design is on the tracking per-
formance, only the data corresponding to cruise is ap-
plicable. The effects of the weighting matrices are ana-
lyzed based on the evident tradeoff between tracking
performance and control expenditure. The effect of the
weighting matrix on the state is observed by comparing
the tracking performance between two highly separated
values of Q, Q = 0.01I17 and Q = I17. Similar effects will
be observed for position tracking and control weighting
matrices.
Note that in order to be able to physically interpret Fig. 3 Velocity tracking performance, η = 0.01,
Q = 0.01I17, R = 0.01I4.
the results of the simulation, a coordinate transformation
is needed between body coordinate and local horizon
coordinate system. The transformation matrix between
these two coordinates is given as
⎡ cθ cψ cθ s − sθ ⎤
T = ⎢ sφ sθ cψ − cφ sψ sφ sθ sψ + cφ cψ sφ cθ ⎥⎥ ,
I
b⎢ (57)
⎢⎣cφ sθ cψ + sφ sψ cφ sθ sψ − sφ cψ cφ cθ ⎥⎦
Case 1: Reference: rectangular trajectory as given Case 2: Reference: rectangular continued by cir-
in Fig. 2. Velocity tracking performance and control cular trajectory as given in Fig. 5. Velocity tracking and
input expenditure are shown in Fig. 3 and Fig. 4, re- control input expenditure are shown in Fig. 6 and Fig. 7,
spectiuely. The weighting matrices are η = 0.01, Q = respectively. The weighting matrices are η = 0.01, Q =
0.01I17, R = 0.01I4. 0.01I17, R = 0.01I4.
Agus Budiyono, Singgih S. Wibowo: Optimal Tracking Controller Design for a Small Scale Helicopter 277
Fig. 5 Trajectory tracking, η = 0.01, Q = 0.01I17, R = 0.01I4. Fig. 8 Trajectory tracking, η = 5, Q = I17, R = I4.
Vx Vy Vz N E A
Blat Blon Alat Alon Zcol Mcol Ncol Nped Dlat Clon Yped τp τf hcg τs
Hover 0.14 0.0138 0.0313 −0.1 −45.8 0 −3.33 33.1 0.273 −0.259 0 0.0991 0.046 −0.411 0.342
Cruise 0.124 0.02 0.0265 −0.0837 −60.3 6.98 0 26.4 0.29 −0.225 11.23 0.0589 0.0346 −0.321 0.259