net07
TRANSCRIPT
-
7/28/2019 NET07
1/6
16TH INTERNATIONAL CONFERENCE ON MECHATRONICS TECHNOLOGY, OCTOBER 16-19, 2012, TIANJIN, CHINA
The Trajectory Tracking Problem for Quadrotor System
Na Zhang*
and Qing-He WuAutomation Department, Beijing Institute of Technology, Beijing, China
*Corresponding: [email protected]
AbstractThis paper presents the design of a nonlinear controller
based on integral backstepping control technique combined with
the super twisting control algorithm for trajectory tracking of a
quadrotor helicopter. A simple version of dynamical system based
on Newton-Euler formalism is used. The performance and
effectiveness of the proposed controller are tested in a simulation
study taking into account external disturbances.
Keywordsquadrotor system, trajectory tracking, integral
backstepping, supertwist algorithm
1 INTRODUCTIONOver the last decade, autonomous unmanned aerial
vehicles (UAV) have gained considerable attention among
researchers. Recent advances in sensor technology, signal
processing and integrated actuators have taken the
development of small UAVs one step further. Quadrotor, as a
popular type of UAV, is a kind of Vertical Take-Off and
Landing (VTOL) vehicle which could be launched from any
place and hover above any target. In comparison with classical
helicopters conventionally equipped with a main rotor and a
tail rotor, quadrotors possess a larger payload capacity and
higher versatility and maneuverability to carry out various
types of tasks such as rescue, near-area surveillance and
exploration. However the dynamics of the quadrotor are
nonlinear, multivariable and under actuated with four control
inputs and six degrees of freedom (DOF). Besides, variables
are strongly coupled with each other. All these characteristics
make the control of quadrotors increasingly challenging. A
great number of efforts have been made by researchers in
designing the control methodologies that will make an
unmanned aerial autonomous. Popular control methods include
input-output feedback linearization [11,12], backstepping
[1,10], sliding mode control [1,4,7,10] and so on.
The quadrotor is a kind of rotorcraft, whose mechatronic
system consists of four rotors in a cross configuration. Rotors
are paired to spin in opposite directions in order to cancel out
gyroscopic effects and aerodynamic torques in trimmed flight.
The motion of a quadrotor can be divided into two parts:
translational subsystem and rotational subsystem. As a
difference of speed is applied between opposing rotors, thehelicopter tilts towards the slowest one, which results in
acceleration along that direction. In other words, the rotational
and translational motions are closely related.
The main work of this paper aims to use nonlinear control
techniques to perform the stabilization and tracking control of
a quadrotor. The controller for translational subsystem is
designed to stabilize the altitude and gives the desired roll and
pitch angles to the rotational subsystem controller in the
meanwhile.
Fig. 1: The quadrotor system
2 QUADROTOR MODELGenerally speaking, the control strategies are based on
simplified models which have both a minimum number of
states and a minimum number of inputs. These reduced models
should retain the main features that must be considered when
designing control laws for real aerial vehicles [5].
The quadrotor model consists of four rotors powered by
electric motors and mounted at each end of an X-shaped frame
as shown in Fig. 1. The collective input is the sum of the
thrusts of each motor. Increasing or decreasing the speeds of
four motors together generates the vertical motion. Pitch
movement is obtained by increasing (reducing) the speed of
the rear motor and reducing (increasing) the speed of the front
motor. The roll movement is generated using the lateral motors
in the similar way. Yaw motion results from the difference in
the counter-torque between each pair of propellers.
Let E denote an inertial frame, and B be a body fixed
frame shown in Fig. 2. The generalized coordinates of the
quadrotor can be described as q=(x, y, z, , , ), where (x, y, z)
denote the position of the center of gravity of the vehicle in
frameEwhile three Euler angles (, , ) (roll, pitch and yaw
angles) represent its angular velocity in frame B and give the
orientation of the quadrotor. Therefore, the model is naturally
divided into translational coordinates =(x, y, z)Tand rotational
coordinates =(, , )T.
221
-
7/28/2019 NET07
2/6
Fig. 2: Coordinate system
The transformation of vectors from the body fixed frame
to the inertial frame is given by the rotation matrixR:
ccscs
sccssccssscs
sscsccsssccc
R
wheres() and c() denotesin() and cos(), respectively.
According to the formalism of Newton-Euler, the dynamic
equations are written in the following form:
ext
ext
TJJ
RSR
Fm
V
)(
Where V=(u, v, w)T is the absolute velocity of the vehicle
expressed with respect to the inertial frame, m is the mass of
the structure, =(p, q, r)Tis the angular velocity expressed in
B, the relationship between and Euler angles is as follows:
coscossin0
sincoscos0sin01
(1)
S() is a skew-symmetric matrix for a given vector=(1,
2, 3)T, which is defined as:
.
0
0
0
)(
12
13
23
S
(2)
Jis the inertia matrix given by
.00
00
00
z
y
x
I
I
I
J (3)
The coupling inertia is assumed to be zero because of the
symmetry of the geometric form of the quadrotor. The
notations Fextand Textstand for the vector of external forces
and that of external torque, respectively.
Based on the force analysis of the system, we obtain
,0
0
0
0
mgT
RFext
)(
)(
)(
2
3
2
1
2
4
2
2
2
1
2
3
2
2
2
4
d
lb
lb
Text
T is the total thrust produced by all four rotors, g is the
gravity constant (g = 9.81m/s2), i denotes the rotational
velocity of rotori. lrepresents the distance from the rotors to
the center of gravity of the vehicle. b>0 is thrust factor and
d>0 is the drag factor. The thrust generated by rotor i is given
by Ti=bi2. So the total thrust can be described as
)(
2
4
2
3
2
2
2
1 bT .Consequently, complete dynamic model of the quadrotor is
as follows:
AII
IIpqr
AI
l
I
II
prq
AI
l
I
IIqrp
Am
Tgw
Am
Tv
Am
Tu
zz
yx
yy
xz
xx
zy
z
y
x
1)(
)(
)(
)cos(cos
)cossinsinsin(cos
)sinsincossin(cos
(4)
B
x
z
y
mg
T4
T3
T1
T2
X
Z
Y
E
222
-
7/28/2019 NET07
3/6
where (Ax, Ay, Az, A, A, A) represent disturbances in 6
degrees of freedom.
From the equation above, we can observe that the tilt
angles and the motion of the helicopter are closely related.
That is, the six degrees of freedom are strongly coupled with
each other and there are only four independent variables in
dynamic model equation, which makes trajectory tracking
control possible.
3 STATEMENT OF THE CONTROL PROBLEMThe control problem considered in this paper is to make
the system position variables x, y, z and the orientation
variable asymptotically track the desired references (the yaw
angle is set to be maintained at zero during flight) by designing
control in terms of torque commands to the propeller under the
assumption that orientation variables and always stay
inside the open set (-/2, /2) and T > 0.
4 CONTROL STRATEGYThe dynamic model of the quadrotor helicopter has six
dependent outputs while it has four independent inputs, so we
cannot control all the states at the same time. This problem can
be solved by backstepping method, which is a good way to
deal with underactuation problem. As a matter of fact, the
backstepping is well suited for the cascaded structure of the
quadrotor dynamics.
The overall control system has two loops and is depicted
in Fig. 3. The external inputs to the system are assumed to be
the desired position d and the desired yaw d. According tothe difference between the current quadrotor position and the
desired position, the position controller generates the desired
d and d to ensure d. Subsequently, Euler angular
controller uses the information provided by position controller
to calculate the desired angular velocity d which ensures
d. Then, the angular velocity controller calculates the
actual control inputs (T, , , ) which ensures d when
they are applied to the UAV system. The output vector is then
fed back into the controllers.
4.1 Translational subsystem controller designThe translational subsystem of the quadrotor is
represented by (4) and can be rewritten as follows:
mTgw
m
Tv
m
Tu
wz
vy
ux
)cos(cos
)cossinsinsin(cos
)sinsincossin(cos
(5)
Now, we define a virtual control u1 as:
.
)(
)(
)(
3,1
2,1
1,1
1
u
u
u
m
Tccg
m
Tcsssc
m
Tsscsc
u
(6)
Then the original subsystem is transformed into a simpler
second order linear system. Backstepping is a recursive
procedure that interlaces the choice of a Lyapunov functionwith the feedback control. It breaks a design problem for the
full system into a sequence of design problems for lower order
subsystems. By exploiting the extra flexibility that exists with
lower order subsystems, backstepping can often solve
stabilization, tracking, and robust control problems.
Considering the uncertainties and disturbances of quadrotor
model, we choose the IB (integral backstepping) to perform
the tracking command.
Reference
trajectoryQuadrotor
dynamic
PositionController
Euler
Angular
Controller
Angular
Velocity
Controller
d
dd .,
d
d
d
r
q
p
d
d
d
z
y
x
T
z
y
x
r
q
p
Fig. 3: The overall control strategy of the quadrotor system
223
-
7/28/2019 NET07
4/6
Firstly, we introduce the desired trajectory d=(xd, yd, zd)T
for the position variable and define the tracking error as
.1 de (7)Using (5) and (7) we obtain its dynamics:
.1 Vdt
ded
(8)
We consider V as an input of the upper dynamics. Tostabilize the dynamics, the virtual control input Vis chosen as:
,)(0
1011
t
aadd deKeKV (9)
where Ka1 and Ka0 are diagonal matrices with positive
constants.
Then the velocity tracking error is defined by
VVe d 2 It results in:
.10112
VeKeKe aad (10)So we rewrite the tracing error dynamics ofe1:
20
0111 )( edeKeK
dt
de taa
(11)After we apply (5), (6) and (11) to (10), the stabilization of
e2can be obtained by selecting the input u1 as
.)(
)()(1
001
21110
2
1
deKK
eKKeKKIu
t
aa
abaad
The control input of the position subsystem is a function of
Euler angles and the total thrust T. As a result, we need toinvert u1 to compute the thrust and the Euler angle commandsthat will be used as reference for the following subsystem.
As for (6), by squaring left and right sides of all threeequations in (6) and adding them together, we get the thrust T;
by subtracting the second equation multiplied by cos fromthe first equation multiplied bysin, we get the desired pitchangle d; the desired roll angle can be easily competed from
the first equation. Then the overall inversion is presented as:
(note that the yaw angle d is set to be maintained at zeroduring flight)
.
)coscos
sinsinarcsin(
))cossin(sin(
)(
1,1
2,11,1
2
3,1
2
2,1
2
1,1
dd
dd
d
ddd
uT
m
uuT
mar
uguum
T
(12)
4.2 Rotational subsystem controller designThe rotational subsystem of the quadrotor is denoted by (4)
and (1) which can be rewritten as:
r
q
p
c
c
c
s
sc
tcts
0
0
1 , M
(13)
z
y
x
z
yx
y
xz
x
zy
I
I
l
Il
I
IIpq
I
IIpr
IIIqr
r
q
p
1)(
)(
)(
.)( EUf
(14)where t() denotes tan().
Attitude control is the heart of the control system; it keepsthe 3D orientation of the quadrotor to the desired value, hence,prevents the vehicle from flipping over and crashing. As weknow, sliding mode controller is widely used due to its
attractive characteristics of finite-time convergence androbustness to uncertainties, and super-twisting algorithm is animportant class of second order sliding modes. It ensuresrobustness with respect to modeling errors and externaldisturbances while reducing the chattering phenomenon causedby all first order sliding mode controllers. [8] In this section,were going to combine the super-twisting algorithm andbackstepping technique, which turns out to get a satisfactoryresult in attitude stabilization.
In the previous section, desired Euler angles have beencalculated to act as the reference input of the rotationalsubsystem. We set
dz1 ,then its first derivative becomes
.1 Mz dd
(15)
To stabilize the above dynamics, the virtual control input d
could be:
).)((0
1011
1 dzKzKMt
ccdd
(16)
Again we define
)(2 dMz ,and use (16) and (14). It yields
).)(()( 10112 EUfMzKzKz ccd
(17)
Then the dynamics ofz1becomes:
.)( 20
10111 zdzKzKzt
cc
(18)
We choose the sliding variable as s1 = z2. Now we design
the control inputs applying the super twisting control algorithm
224
-
7/28/2019 NET07
5/6
)(
)(
12
212
1
11
ssigns
sssignss
(19)
with control gains > 0 and > 0. The proof of finite time
convergence to zero of the variable s1ands2 is explicitly given
in [6].
As a result, control input U should be designed as
)())(
)()(()(
1
222
1
2
200
1
011
2
10
1
fEszsignz
zKdz
KKzKKMEUc
t
ccccd
5 SIMULATION RESULTSIn order to verify the performance of the proposed
controller, simulations with and without external disturbances
were made. As already noted, the controllers task is to make
the system position variables x, y, z asymptotically track the
desired references (the yaw angle is set to be maintained at
zero during flight). As we know, sinusoidal signal is one of the
typical input signals in control systems, and especially gives usmore challenges in tracking control problems. Therefore we
set the desired position trajectory as x = cos(t), y = sin(t) andz
= t. Initially, the quadrotor is placed at the origin and in a
horizontal position, that is, (x, y, z) = (0, 0, 0) and (, , ) =
(0, 0, 0), keeping constant.
5.1 Position tracking without external disturbancesFirstly we consider the situation of position tracking without
external disturbances. Fig. 4 shows the tracking of desired
trajectory, which clearly reflects the effectiveness of the
controller. Fig. 5 and Fig. 6 give a more distinct process of
tracking in 3 directions.
-1-0.5
00.5
11.5
-1
0
1
20
5
10
15
20
refernce
real trajectory
Fig. 4: Position trajectory of the quadrotor without external
disturbances
Fig. 5: Position (x, y, z) tracking of the quadrotor without external
disturbances
Fig. 6: Orientation (, ) of the quadrotor without external
disturbances
5.2 Position tracking with external disturbancesThe disturbances in position subsystem areAx = 0.02,Ay =
0.02, Az = 0.02. Moreover, the moment disturbances in
rotational subsystem are A = 0.1sin(0.1t), A = 0.1cos(0.1t),
A = 0.1sin(0.1t). The obtained results are depicted in Fig. 7,
Fig. 8 and Fig. 9. Its concluded from the simulation that the
good performance of the proposed control approach is
maintained.
-1-0.5
00.5
11.5
-1
0
1
20
5
10
15
20
reference
actual trajectory
Fig. 7: Position trajectory of the quadrotor with external
disturbances
Fig. 8: Position (x, y, z) tracking of the quadrotor with external
disturbances
Fig. 9: Orientation (, ) of the quadrotor with external
disturbances
0 2 4 6 8 10 1 2 14 1 6 1 8 2 0-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
theta
0 2 4 6 8 10 1 2 14 1 6 1 8 2 0-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
phi
0 2 4 6 8 10 1 2 1 4 1 6 1 8 2 0-1
-0.5
0
0.5
1
1.5
refernce
y
0 2 4 6 8 10 1 2 1 4 1 6 18 2 0-1
-0.5
0
0.5
1
1.5
refernce
x
0 2 4 6 8 10 1 2 1 4 1 6 1 8 2 00
2
4
6
8
10
12
14
16
18
20
refernce
z
0 2 4 6 8 10 12 14 1 6 18 2 0-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
phi
0 2 4 6 8 10 1 2 1 4 1 6 1 8 2 0-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
theta
0 2 4 6 8 10 1 2 1 4 1 6 18 2 0-1
-0.5
0
0.5
1
1.5
refernce
x
0 2 4 6 8 10 1 2 14 1 6 18 2 00
2
4
6
8
10
12
14
16
18
20
refernce
z
0 2 4 6 8 10 1 2 14 1 6 18 2 0-1
-0.5
0
0.5
1
1.5
refernce
y
225
-
7/28/2019 NET07
6/6
Although the simulation results under both situations are
satisfactory, we cannot achieve perfect tracking of sinusoidal
signal with zero steady-state error according to internal model
control theory. But perfect tracking of step signal can be
implemented by proposed algorithm, which has been proved
by simulations. Due to the limit of space, we wont show the
results here.
6 CONCLUSIONSIntegral backstepping control technique combined with the
super twisting control algorithm has been used to stabilize and
perform output tracking control on a simple version of
dynamical system. The super twisting control algorithm is
applied so as to improve robustness to external disturbances
and model uncertainties. Simulations performed on Matlab
Simulink show the ability of the controller to perform output
tracking control even external disturbances and model
uncertainties exist.
REFERENCES
[1] S. Bouabdallah, R. Riegwart, in: Proceedings of the 2005 IEEEInternational Conference on Robotics and Automation,
Barcelona, Spain, 2005, pp. 22472252.
[2] A. Tayebi, S. McGilvray, Attitude stabilization of a VTOLquadrotor aircraft, IEEE Transactions on Control Systems
Technology, vol. 14, no. 3, pp. 562-571, 2006.
[3] S. Bouabdallah, P. Murrieri and R. Riegwart, in: Proceedings ofthe IEEE International Conference on Robotics and Automation,
New Orleans, US, 2004, vol. 5, pp. 4393-4398.
[4] A. Benallegue, A. Mokhtari and L. Fridman, High-ordersliding-mode observer for a quadrotor UAV, International
Journal of Robust and Nonlinear Control, vol. 18, no. 4, pp.
427-440, 2008.
[5] P. Castillo, A. Dzul and R. Lozano, Real-time stabilization andtracking of a four rotor mini-rotorcraft, IEEE Transactions on
Control Systems Technology, vol. 12, no. 4, pp. 510-516, 2004.[6] J. A. Moreno, M. Osorio, in: Proceedings of the 47th IEEE
Conference on Decision and Control, Cancun, Mexico, 2008, pp.
2856-2861.
[7] L. Luque-Vega, B. C. Toledo, A. G. Loukianov, Robust blocksecond order sliding mode control for quadrotor,Journal of the
Franklin Institute, vol. 349, no. 2, pp. 719-739, 2012.
[8] L. Derafa, A. Benallegue, L. Fridman, Super twisting controlalgorithm for the attitude tracking of a four rotors UAV,
Journal of the Franklin Institute, vol. 349, no. 2, pp. 685-699,
2012.
[9] T. Dierks and S. Jagannathan, Output feedback control of aquadrotor UAV using neural networks, IEEE Transaction on
Neural Networks, vol. 21, no. 1, pp. 50-66, 2010.
[10]H. Bouadi, M. Bouchoucha and M. Tadjine, Sliding modecontrol based on backstepping approach for a UAV type-
quadrotor, International Journal of Applied Mathematics and
Computer Science, vol. 4, no. 1, pp. 22-27, 2007.
[11]A. Das, K. Subbarao and F. Lewis, Dynamic inversion withzero-dynamics stabilization for quadrotor control, IET Control
Theory and Applications, vol. 3, no. 3, pp. 303-314, 2009.
[12]H. Voos, in: Proceedings of the 2009 IEEE InternationalConference on Mechatronics, Malaga, Spain, 2009, pp. 1-6.
226