Académique Documents
Professionnel Documents
Culture Documents
The manuscript was received on 5 September 2007 and was accepted after revision for publication on 12 October 2007.
DOI: 10.1243/09544100JAERO285
Abstract: The work is a contribution to stable attitudes controlling and accurate position track-
ing of the small scale quad-copter. Based on the rigid body theory, the kinematics and dynamics
of the quad-copter are derived. The flying quad-copter has four input control voltages and three
attitude angles and three translation movements, which can be treated as an under-actuated
system. With some states controlling the other states, the under-actuated system can be fully
controlled. The hierarchical synthesis control algorithm is designed to fulfil this function. The
compensated proportional derivative (PD) control algorithm and the invert dynamics algorithm
are used as the kernel of the controller in this hierarchy control structure. The simulation and
experiment show that the control method can control the quad-copter stably. In contrast with
hierarchical uncompensated PD controller, the accuracy of the experiment results with the
compensated controller has greatly been improved.
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
2 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
controller have been designed. In reference [7], the controller with kernel of the compensated PD con-
proportional integral derivative (PID) controller and troller, and inverted controller is designed. In section
linear quadratic (LQ) controller were implemented 6, the hierarchy compensated PD and inverted con-
and proved capable of regulating the system, but troller is tested by simulation with Matlab simulink.
these designs relied on the linearized version of the And the experiment tracking results of the quad-
vehicle model. In reference [8], it decoupled the copter controlled by hierarchy compensated PD con-
system into sets of double integrators. The control troller are compared with that controlled by hierar-
structure was divided into four inner loops, two pos- chy uncompensated PD controller. Finally, the
ition loops. An integral sliding mode control was used conclusion is drawn.
to handle the altitude. The position control was using
integral LQR control, with states added for the lag in
the inner loop resulting in an eight state model. How- 2 QUAD-COPTER
ever, this modelling and simplifying methods lost
much information of the quad-copters. In references Different from the classical helicopter, which uses a
[7] and [9], the proportional derivative derivative single main-rotor to lift the helicopter and one auxili-
(PDD) and proportional derivative (PD) controller ary tail-rotor to adjust the helicopters attitude, the
had been used in the quad-copter control, and the quad-copter is a special flying helicopter, which is
experiment showed that these two controllers could composed of four rotors to lift the copter and adjust
keep the asymptotic stability of the system. In refer- its attitude (Fig. 1). The four rotors are all with fixed
ence [3] the elaborate model had been derived, a lot collective angles. The thrust force of each rotor is
of control methods had been used in attitude and changed along with the input control signals. The
trajectory tracking controller design. This group was diagonal motors are running in the same direction
trying to improve the accuracy of the tracking trajec- (anti-clockwise); whereas the other diagonal motors
tory and the usage of the quad-copters in reality. In run in the clockwise direction to eliminate the anti-
reference [10], neural network controller of the quad- torque, gyroscopic effects, and aerodynamic torques
copter had been designed; the current paper devel- tend to cancel [11].
oped a neural network and trained it with the teacher When the rotor speeds vary with the same quantity,
data collected, and then put this controller in the the lift forces change, in the case, the altitude of
microcontroller on the quad-copter, however, this system will change and enable take-off or landing.
controller cannot interpolate accurately beyond the The forward and backward, the left and right, and
regions for which it has no trained. the yaw motions are achieved through a differential
Based on the research foundation in references [4] control strategy of the thrust force generated by
and [9], the current paper is trying to use a kind of each motor. The rotation directions of all these four
compensated PD hierarchy control method in rotors will not be changed in the system.
designing controller of the quad-copters based on When the angle velocities of these two sets are the
the model derived to improve the accuracy of the same in the magnitude but rotate in the opposite
tracking trajectory predefined, and this method has direction, the copter can fulfil the movement of
not been referred to in the copters controller design hover. In order to change the roll angle of the vehicle
in document. The flying quad-copter has four input (its rotation about the forward-back axis), the thrust
control voltages and three attitude angles and three on left motor can be raised and thrust on the right
translation movements, which can be treated as an motor can be decreased, without affecting the bal-
under-actuated system. With some states controlling ance of torques being applied to the vehicle. The
the other states, the under-actuated system can be same can be done to change the pitch of the vehicle
fully controlled. The current paper designs hierarchi-
cal synthesis control algorithm to fulfil this function.
The compensated PD control algorithm is used as the
kernel of the controller in this hierarchy control struc-
ture. The simulation and experiment show that this
control method can control the quad-copter stably.
This paper is arranged as follows. Section 2 describes
the principle and structure of the quad-copter. A
detail description of kinematics and dynamics of
the quad-copter is provided in section 3. And the
relationship between lift force of the single rotor
and the input control signal is given in section 4. In
section 5, the kernel of the system controller, com-
pensate PD controller, is derived and the hierarchy Fig. 1 The real quad-copter
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008
Model and hierarchy controller of the quad-copter 3
using the front and back motors. To cause a change in frame N fn1, n2, n3g, which is placed on the
the yaw angle (direction the front motor is pointing), ground where the quad-copter origin situated; the
front and back motor thrusts are increased while left other fuselage frame F f f1, f2, f3g is fixed on
and right thrusts are decreased, meanwhile, main- centre mass of the fuselage (Fig. 3), and the full
taining the same total thrust and moments. The non-linear dynamics of the rigid body can be
theory of the quad-copter is shown in Fig. 2. The described as equation (1) in common based on
change of the attitude of the quad-copter will the Newton second theory and angular momentum
change the translation acceleration and velocity in principle
three directions and then make the copter track the
trajectory which is predefined. Then the attitude mr F
and trajectory control of the quad-copter can be I v_ B vB I vB M
realized.
1
3 KINEMATICS AND DYNAMICS
I is the angular moment of the system, M is the sum of
all moments and all torques acting on the rigid body,
According to the description in section 2, the attitude vB is angular velocity of the rigid body in inertial
of the quad-copter is mainly controlled by the thrust frame, F is the sum of the force acting on the rigid
forces exerted by the four rotors. When the quad- body, r is the position vector from the inertial origin
copter flies in the sky, it should be treated as a to the centre of the gravity (CG) in the vehicle, and
six-degree-of-freedom object. To change the move- m is the mass of the system.
ment of the object in the space, there should be The kinematics and dynamics of the quad-copter
three forces and three torques acted upon it. How- model developed here assumes the following:
ever, in reality, each rotor in the quad-copter
system produces an aerodynamic torque Qi, (i 1, (a) the structure is supposed to be rigid;
2, 3, 4) and the thrust Di (i 1, 2, 3, 4), both parallel (b) the structure is supposed to be symmetrical;
to the rotors axis of rotation and both used for (c) the motors and rotors is supposed to be rigid;
vehicle control. For the rotors in diagonals rotate in (d) the centre of gravity of the quad-copter and the
the opposite direction as rotors in the other diag- original of the body frame is in the same point.
onals, the torques can be counteracted. The real
forces exerted on the quad-copter are the four
3.1 Translation kinematics and dynamics
thrust forces which are perpendicular to the rotation
plane. The torques acted on the quad-copter result in The position vector from the inertial origin to the CG
the four forces on the axis of the translation velocity. is defined as q, and can be described in the inertial
With these four forces and their torques, the system frame as equation (2). q1,2,3 are the coordinates of
of the quad-copter dynamics and kinematics can be the CG in N
established. Thus the quad-copter can be looked on
as a rigid body which there is one force and three
torques acted upon when building the model. The q q1 n1 q2 n2 q3 n3 2
four electric motors dynamics is relatively fast and
therefore it will be neglected as well as the flexibility The translation linear velocity of CG is described as
of the blades. u N in the inertial frame N
When deriving the kinematics and dynamics of the
quad-copter, two frames are built: one is the inertial uN u1 n1 u2 n2 u3 n3 3
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
4 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
follows [12]
The force acted on the quad-copter will be decom- ! !
posed in F1,2,3 dA b 2 dA b3
vBA b3 b1 b1 b2
dt dt
F F1 f1 F2 f2 F3 f3 !
dA b1
F 1 F2 0 b2 b3 8
dt
F3 D1 D2 D3 D4
In the derivation of the vF2N, Let b1, b2, b3 to be the
4
frame axes in the fuselage frame F, n1, n2, n3 are the
frame axes in the inertial frame N.
Using equations (1), (2), and (4), the translation According to the theorem above, the derivation of
dynamics of CG in inertial frame N can be described by the Euler angle can be achieved in equation (9) as fol-
lows
0 1 0 1 0 1
u_ 1 F1 0 sinq6
@ u_ 2 Am C f n @ F2 A @ 0 A 5 _q4 u4 cosq6 u5
cosq5
u_ 3 F3 gm
q_ 5 u4 sinq6 u5 cosq6
q_ 6 u6 tanq5 u4 cosq6 u5 sinq6
where Cf2n is the orientation matrix of the frame F rela-
tive to frame N and m is the mass of the whole system; g 9
denotes the acceleration due to gravity.
Thus, putting the Cf2n into equation (5), the The angular accelerations are determined by
equation (6) can be derived below equation (1). Expanding the second-order term
v Iv, the angular equations become
1
u_ 1 F3 sinq5 I11 u_ 4 T1 I33 I22 u5 u6
m
1 I22 u_ 5 T2 I33 I11 u4 u6
u_ 2 F3 sinq4 cosq5 I33 u_ 6 T3 I22 I11 u4 u5
m
1 10
u_ 3 F3 cosq4 cosq5 g
m
6 In this equation, Iii, i 1, 2, 3 are the angular moment
with respect to axes fi, i 1, 2, 3; Ti, i 1, 2, 3 is the
sum of the moments along the axes of the fuselage
q4, q5, q6 are the Euler angles of the fuselage of the
fi, i 1, 2, 3.
quad-copter with respect to n1, n2, and n3 axes,
Thus, the translation kinematics and dynamics
respectively, and are referred to as roll, pitch, and
model and the rotation kinematics and dynamics
yaw angles.
model have been derived. With these models, the
controller can be designed in the section below.
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008
Model and hierarchy controller of the quad-copter 5
Table 1 The data of the force and input voltage signal, c1, c2, m are the variables related to the state
the systems.
Voltage (V) 0 0.5 1 1.5 2 2.5 3 3.5
Force (kg) 0 0 0.208 0.477 0.840 1.305 1.878 2.557 Supposing the error between the desired state xd
and the real state x is e in equation (13)
x c1 x_ c2 x md 12
where x is the state of the system, d is the control Fig. 4 The structure of the kernel controller
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
6 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
5.2 Hierarchy control system rotation angle controller can be designed to achieve
the required angle velocity for the inner loop, and
The motion of the quad-copter considered is con- with the required angle velocity and the real-time
trolled by adjusting the orientation of the rotor and angle velocity, the required force, and torques on
the value of force F3. In the quad-copter, there are the quad-copter can be achieved.
four indirect control input F3, T1,2,3, there are six out-
puts: three translation positions and three angle atti- 5.2.1 Translation controller
tudes. Thus, this system can be treated as a kind of
under-actuated system. With some states controlling With equations (2), (3), and (6), the equation (18) can
the other states, the under-actuated system can be be expressed with the pseudo-control variables t1,2,3
fully controlled. The hierarchy control structure is
proposed to fulfil this function in Fig. 5. This control
q 1 t1
structure is constituted of three loops in cascade. The
inner loop controls the faster dynamics: velocity of q 2 t2
the Euler angle; the middle loop controls the attitude; q 3 t3
and the outer loop controls the slower dynamics: 18
lateral and longitudinal translation and altitude.
The control system to be designed for the quad-
1
copter has to meet objectives below. t1 F3 sinq5
m
1. Command variables to the outer loop are desired 1
t2 F3 sinq4 cosq5
position or trajectory and desired translation vel- m
ocity and desired translation acceleration and the 1
t3 F3 cosq4 cosq5 g
desired yaw angle. m
2. The bandwidth of the outer loop is to be maxi- 19
mized to enable the system to follow complex
trajectories.
3. Envelope protections should avoid stalls, spins, For the translation controller block, it is designed
and uncontrolled flight as well as overstressing based on the equation (18). This is similar with
the aircraft structure. the equation (12) in last section, except c1, c2 0,
4. To increase the level of autonomy, the system m 1. Based on the controller designed in 5.1, the
should be able to adapt to various failure situ- translation pseudo-control signals can be
ations without explicitly having to know the
nature of the failure. t1 a1 q_ 1 q_ 1d b1 q1 q1d q 1d
The motion of the quad-copter is controlled by t2 a2 q_ 2 q_ 2d b2 q2 q2d q 2d
adjusting the four inputs voltages of the rotors. In t3 a3 q_ 3 q_ 3d b3 q3 q3d q 3d
Fig. 5, the inputs are the DST qid, i 1, 2, 3, 6, and 20
desired velocity uid, i 1, 2, 3, and desired accelera-
tion aid, i 1, 2, 3 of the quad-copter. The controller
of the translation controller in Fig. 5 is designed After choosing the suitable control parameters ai,
according to the theory in section 5.1. Then with bi, i 1, 2, 3, the required forces on these three direc-
the translation inverted dynamics model, the tions in the inertial frame axis ni, i 1, 2, 3 can be
required angle of q4d, q5d can be achieved. Then the achieved.
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008
Model and hierarchy controller of the quad-copter 7
5.2.2 Inverted controller In equation (23), bi, i 4, 5, 6 are the control par-
ameters of the controller which can be adjusted in
With the equation (19), the translation inverted
the flight of the quad-copter, and qid, i 4, 5 are
dynamics can be easily calculated
the required angles calculated from the former loop,
q and q6d is the yaw angle of the body directly given
F3 m t21 t22 t3 g2 by the outmost loop. Based on equation (23), the
0 1 required angular velocities can be achieved.
B t1 C
q5 arc sin@qA
t21 t22 t3 g2 5.2.4 Rotation angular velocity controller
t2 In Fig. 5, with required angular velocity controller, the
q4 arc tg control torque can be calculated. It is a little difficult
t3 g
to design this controller, for there is the product such
21
as u4u5, u5u6 in equation (10). In the reality, for sym-
metry of the quad-copter in x, y-direction, so 2I11
With the desired translation trajectory and real- 2I22 I33 0.244 kg m2. The equation (10) can be
time trajectory (RT) and desired velocity and the real- changed into equation (24).
time velocity, and the desired acceleration, the
pseudo-control signals can be calculated by equation I11 u_ 4 I33 I22 u5 u6 T1
(20). With the translation inverted dynamics in
equation (21), the required forces generated by the I22 u_ 5 I33 I11 u4 u6 T2
four rotors and the required Euler angles (roll and I33 u_ 6 I22 I11 u4 u5 T3
pitch angle) of the fuselage can be easily obtained. 24
The required angles are put into next rotation angle
controller to calculate the angle velocity needed by Let assume
the body, and the required force is directly applied
to the quad-copter dynamics.
e1 u4 u4d
e2 u5 u5d
5.2.3 Rotation angle controller
e3 u6 u6d
Analysing equation (9), the similar control theory in 25
section 5.1 can also be implemented here. It is similar
to the equation (12), only the coefficient of The control theory in section 5.1 can also be used
second-order derivative x, is zero. In equation (9), here. With equations (24) and (25) and the control
u4, u5, u6 will be treated as the control signals of qi, theory in equation (17), the required control torques
i 4, 5, 6. of the quad-copter can be calculated below in
From equation (9), inverted equation can be equation (26)
achieved in equation (22)
2 3 2 32 3 T1 I11 a4 e1 e3 e2 u6d e2 u5d e3 u_ 4d u6d u5d
u4 cosq6 cosq5 sinq6 0 q_ 4
6 7 6 76 _ 7 T2 I22 a5 e5 u6d e1 e1 e3 u4d e3 u_ 5d u6d u4d
4 u5 5 4 sinq6 cosq5 cosq6 0 54 q5 5
T3 I33 a6 e3 u_ 6d
u6 sinq5 0 1 q_ 6
26
22
Selecting suitable control parameter ai, i 4, 5, 6
Thus, from equation (17), the requested u4, u5, u6
the requested control torques can be decided. When
should be
assuming the desired position or trajectory, with the
controller prescribed above in section 5, the required
u4 cosq6d cosq5d b4 q4 q4d q_ 4d force and torques (by equations (21) and (26)), can be
sinq6d b5 q5 q5d q_ 5d
u5 sinq6d cosq5d b4 q4 q4d q_ 4d
cosq6d b5 q5 q5d q_ 5d Table 2 The control parameters of the simulation
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
8 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
Fig. 6 The translation position and yaw angle response process: (a) q1 response process, (b) q2
response process, (c) q3 response process, and (d) q6 response process
Fig. 7 Control force and torques changes during the simulation: (a) T1 change process, (b) T2
change process, (c) T3 change process, and (d) F3 change process
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008
Model and hierarchy controller of the quad-copter 9
achieved to make the quad-copter reach or track the 6 SIMULATION AND EXPERIMENT
desired position or trajectory. With the relationship
between the control voltage and the force exerted 6.1 Simulation
by the rotor in section 4, the control voltage for
these four motor can be decided, this step can refer The hierarchy controller of the quad-copter, which is
to paper [4]. designed in Fig. 5, using the compensated PD method
as the kernel of the controller, is tested by the simu-
link in Matlab. The controller parameters are shown
Fig. 8 The comparison of the control results between hierarchy uncompensated PD controller
and hierarchy compensated PD controller: (a) q1 tracking process with hierarchy
uncompensated controller, (b) q1 tracking process with hierarchy compensated
controller, (c) q2 tracking process with hierarchy uncompensated controller, (d) q2
tracking process with hierarchy compensated controller, (e) q3 tracking process with
hierarchy uncompensated controller, (f) q3 tracking process with hierarchy
compensated controller, (g) q6 tracking process with hierarchy uncompensated
controller, and (h) q6 tracking process with hierarchy compensated controller
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
10 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008
Model and hierarchy controller of the quad-copter 11
JAERO285 # IMechE 2008 Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering
12 Y Zhang, K Kondak, T Lu, J Du, M Bernard, and G Wang
Proc. IMechE Vol. 222 Part G: J. Aerospace Engineering JAERO285 # IMechE 2008