Lecture 5
Lecture 5
Some preliminaries
Newton-Euler model of the quadrotor
Conclusion
More about the modeling of the quadrotor unmanned aerial vehicle (UAV) in
the PhD Thesis of A. Hably (Chapter 3).
A. Hably
Approches bornées pour la commande des drones
PhD Thesis, 2007. Institut National Polytechnique de Grenoble (available online : in French).
More advanced subjects such as pitch and roll rotor damping and blade flap-
ping.
P. Pounds, R. Mahony, P. Corke
Modelling and control of a large quadrotor robot
Control Engineering Practice, 2010, 18(7), pp. 691-699 (available online).
Outline
1 Basic concepts
2 Some preliminaries
Kinematics
Dynamics
4 Conclusion
T3
Left T2
zB Front
Ω3 yB Ω2
T1 xB
Rear OB T4
Ω1 Right
Ω4
Prof. Youmin Zhang 5/55
Basic concepts
Some preliminaries
Newton-Euler model of the quadrotor
Conclusion
In hovering condition, all the propellers have the same speed (i.e. Ω1 = Ω2 =
Ω3 = Ω4 = ΩH ) to counterbalance the acceleration due to gravity. Thus, the
quadrotor performs stationary flight and no forces or torques move it from its
position.
Even though the quadrotor has 6 degrees of freedom (DOF), it is equipped just
with four propellers, hence it is not possible to reach a desired set-point for all
the DOF, but at maximum four. However, thanks to its structure, it is quite easy
to chose the four best controllable variables and to decouple them to make
the control of it easier. The four tasks of a quadrotor are thus related to the
four basic movements which allow the helicopter to reach a certain height and
attitude.
Throttle U1
The throttle is provided by increasing (or decreasing) all the propeller speeds
by the same amount. It leads to a vertical force wrt the body-fixed frame which
raises or lowers the quadrotor. In this case, the speed of each propeller equals
to ΩH + ∆A with ∆A is a positive variable which represents an increment wrt
the constant ΩH .
If the helicopter is in horizontal position, the vertical direction of the inertial
frame and that one of the body-fixed frame coincide. Otherwise the provided
thrust generates both vertical and horizontal accelerations in the inertial frame.
T3
Left &z& T2
zB Front
ΩH+∆A yB
ΩH+∆A
T1 xB
Rear OB T4
ΩH+∆A Right
ΩH+∆A
Roll U2
T3
Left &&
φ T2
Front
ΩH+∆A yB zB
ΩH
T1 xB
Rear OB T4
ΩH Right
Ω H - ∆B
Pitch U3
This command is very similar to the roll and is provided by increasing (or
decreasing) the rear propeller speed and by decreasing (or increasing) the
front one. It leads to a torque wrt the yB axis which makes the quadrotor turn.
The overall vertical thrust is the same as in hovering, hence this command
leads only to a pitch angle acceleration. The Figure shows the pitch command
on a quadrotor sketch.
T3
Left θ&&z T2
Front
ΩH yB B
ΩH - ∆B
T1 xB
Rear OB T4
ΩH+∆A Right
ΩH
Yaw U4
This command is provided by increasing (or decreasing) the front-rear propel-
lers’ speed and by decreasing (or increasing) that of the left-right couple. It
leads to a torque wrt the zB axis which makes the quadrotor turn. The yaw
movement is generated thanks to the fact that the left-right propellers rotate
clockwise while the front-rear ones rotate counterclockwise. Hence, when the
overall torque is unbalanced, the helicopter turns on itself around zB . The total
vertical thrust is the same as in hovering, hence this command leads only to a
yaw angle acceleration.
T3
Left &&
ψ T2
Front
ΩH+∆A yB zB
ΩH - ∆B
T1 xB
Rear OB T4
ΩH - ∆B Right
ΩH+∆A
Prof. Youmin Zhang 10/55
Basic concepts
Some preliminaries Kinematics
Newton-Euler model of the quadrotor Dynamics
Conclusion
These slides describe the basic equations that identify a 6 DOF rigid body
by using Newton-Euler formulation. The rigid body model can be evaluated
according to kinematics and dynamics equations.
Kinematics :
Kinematics is a branch of mechanics which studies the motion of a body or a
system of bodies without consideration of the forces/moments acting on it.
Dynamics :
Dynamics is a branch of mechanics which studies the effects of forces and
torques on the motion of a body or a system of bodies.
zB
xB
zE OB
OE XE yB
xE
yE
Prof. Youmin Zhang 12/55
Basic concepts
Some preliminaries Kinematics
Newton-Euler model of the quadrotor Dynamics
Conclusion
Linear position X E :
X E = [x y z]T is determined by the coordinates of the vector between the
origin of the B-frame and that of the E-frame wrt the E-frame.
Angular position :
The angular position (or attitude) ΘE = [φ θ ψ]T of the body is defined as the
orientation of the B-frame wrt the E-frame. This is given by three consecutive
rotations about the main axes to take the E-frame into the B-frame. For this
purpose, we use Euler angles : roll φ, pitch θ, and yaw ψ.
Body frame :
The B-frame (OB , xB , yB , zB ) is attached to the body where OB is generally
chosen to coincide with its center of mass. This reference is right-hand too
and it is used to define the linear velocity V B , the angular velocity ω B , the
forces F B and the torques τ B .
Linear velocity :
The linear velocity V B is expressed in the body-fixed frame. Its components
are V B = [u v w]T .
Angular velocity :
The angular velocity ω B is expressed in the body-fixed frame. Its components
are ω B = [p q r ]T .
and
T T T
νB = VB ωB = [u v w p q r ]T (2)
zE z1 z1
z2 z2
ψ yB
zB
y1 y1
xE x1 θ y2 y2
yE φ
x1 xB
x2 x2
V E = Ẋ E = RΘ V B (4)
Prof. Youmin Zhang 17/55
Basic concepts
Some preliminaries Kinematics
Newton-Euler model of the quadrotor Dynamics
Conclusion
Transfer matrix
Similarly to the linear velocity, the angular velocity in the E-frame (or Euler
rates) Θ̇E can be related to the one in the B-frame ω B thanks to the transfer
matrix TΘ :
p φ̇ 0 0 φ̇
−1 −1 −1 −1
q = 0 + R(φ, x) θ̇ + R(φ, x) R(θ, y ) 0 = TΘ θ̇ (6)
r 0 0 ψ̇ ψ̇
Thus :
1 0 −sθ 1 sφ tθ cφ tθ
TΘ−1 = 0 cφ cθ sφ and TΘ = 0 cφ −sφ (7)
0 −sφ cθ cφ 0 sφ /cθ cφ /cθ
Appendix B
Finally, it is possible to describe Equations (4) and (5) in one equation that
relates the derivative of the generalized position on the E-frame ξ˙E to the ge-
neralized velocity in the B-frame ν B . This transformation is possible thanks to
the generalized matrix JΘ :
E E
RΘ 03×3 V B
Ẋ V
ξ˙E = = = = JΘ ν B (8)
Θ̇E Θ̇E 03×3 TΘ ωB
There are several techniques which can be used to derive the equations of a
rigid body with 6 DOF. The Newton-Euler formulation will be used here.
Linear motion
From the Euler’s first axiom of the Newton’s second law, one can derive the
linear components of the body motion :
M Ẍ E = FE (9)
M d RΘ V B /dt = RΘ F B
(10)
M ṘΘ V B + RΘ V̇ B = RΘ F B (11)
M RΘ ω B × V B + RΘ V̇ B = RΘ F B (12)
MRΘ ω B × V B + V̇ B = RΘ F B (13)
M ω B × V B + V̇ B = FB (14)
where M is the body mass, Ẍ E is the linear acceleration vector wrt the E-
frame, F E is the forces in the E-frame, V̇ B is the linear acceleration vector in
the B-frame and ṘΘ is the rotation matrix derivative. The symbol ‘×’ denotes
the vector product (cross product).
Prof. Youmin Zhang 22/55
Basic concepts
Some preliminaries Kinematics
Newton-Euler model of the quadrotor Dynamics
Conclusion
Angular motion
The angular components of the body motion can be derived from the Euler’s
second axiom of the Newton’s second law :
J Θ̈E = τE (15)
J d TΘ ω B /dt = TΘ τ B
(16)
J ṪΘ ω B + TΘ ω̇ B = TΘ τ B (17)
J TΘ ω B × ω B + TΘ ω̇ B = TΘ τ B (18)
JTΘ ω B × ω B + ω̇ B = TΘ τ B (19)
J ω B × ω B + ω̇ B = τB (20)
ω B × Jω B + J ω̇ B = τB (21)
where J is the body inertia matrix in the B-frame, Θ̈E is the body angular
acceleration vector wrt the E-frame, ω̇ B is the body angular acceleration vector
in the B-frame and τ E is the system torques wrt the E-frame.
Prof. Youmin Zhang 23/55
Basic concepts
Some preliminaries Kinematics
Newton-Euler model of the quadrotor Dynamics
Conclusion
By putting together Equations (14) and (21), it is possible to describe the mo-
tion of a 6 DOF body :
B
ω × MV B
B
MI3×3 03×3 V̇ B
F
+ = B (22)
03×3 J ω̇ B ω B × Jω B τ
A generalized force vector Λ can be defined according to :
T
T T
Λ = FB τB = [Fx Fy Fz τx τy τz ]T . (23)
MB ν̇ B + CB (ν B )ν B = Λ, (24)
B
where ν̇ is the generalized acceleration vector wrt the B-frame. MB is the
system inertia matrix and CB (ν B ) is the Coriolis-centripetal matrix, both wrt
the B-frame.
The quadrotor model can be derived starting from the generic 6 DOF rigid-
body equation obtained in the previous section. The kinematics of a general 6
DOF rigid-body :
ξ˙E = JΘ ν B , (25)
˙E B
where ξ is the generalized velocity vector wrt the E-frame, ν (or simply ν)
is the generalized velocity vector wrt the B-frame and JΘ is the generalized
matrix.
MB ν̇ + CB (ν)ν = Λ, (26)
where ν̇ is the generalized acceleration vector wrt the B-frame. MB is the sys-
tem inertia matrix and CB (ν) is the Coriolis-centripetal matrix, both wrt the
B-frame.
After giving the inertia matrix MB and the Coriolis-centripetal matrix CB (ν)
(which by the way still general and not specific to the quadrotor) of :
MB ν̇ + CB (ν)ν = Λ (29)
The first component is the gravitational vector GB (ξ) given from the accelera-
tion due to gravity g. It is easy to understand that gravity affects only the linear
and not the angular equations since it is a force and not a torque. The vector
GB (ξ) can be derived as follows :
Mg sin θ
0 −Mg cos θ sin φ
B −1 E T
FG RΘ FG R 0 = −Mg cos θ cos φ (30)
Θ
GB (ξ) = = =
03×1 03×1 −Mg 0
03×1 0
0
where FGB is the gravitational force in the B-frame and FGE is that in the E-frame.
Furthermore, since RΘ is an orthogonal normalized matrix, its inverted RΘ−1 is
equal to the transposed one RΘT .
03×1 03×1
OB (ν)Ω = X
4 0 =
−q
− B k
JTP ω × 0
(−1) Ωk JTP p Ω
k =1 1 0
0 0 0 0
0 0 0 0
0 0 0 0
= JTP Ω (31)
q
−q q −q
−p p −p p
0 0 0 0
It is easy to see that the gyroscopic effects produced by the propeller rotation
are only related to the angular and not the linear equations.
OB (ν) is the gyroscopic propeller matrix and JTP is the total rotational moment
of inertia around the propeller axis.
Ω and Ω are respectively the overall propellers’ speed and the propellers’
speed vector defined as follows :
Ω = −Ω1 + Ω2 − Ω3 + Ω4 (32)
and
Ω = [Ω1 Ω2 Ω3 Ω4 ]T (33)
The third component takes into account the forces and torques directly produ-
ced by the main movement inputs. The action of the movement vector on the
quadrotor dynamics is then given by :
0
0
U1
UB =
U2 (34)
U3
U4
where U1 , U2 , U3 and U4 are the movement vector components (i.e. the throt-
tle, roll, pitch and yaw).
The movement vector wrt the H-frame UH is different from the one in the B-
frame because the input U1 affects all the three linear equations through the
rotation matrix RΘ :
(sin ψ sin φ + cos ψ sin θ cos φ) U1
(sin ψ sin θ cos φ − cos ψ sin φ) U1
RΘ 03×3 (cos θ cos φ) U1
UH = UB = (42)
03×3 I3×3
U 2
U3
U4
with Kyaw is a constant, L is the distance from the rotor to the center of mass
and Ti (i = 1, 2, 3, 4) are the thrusts generated by the rotors.
Taking the drag effects into consideration [2006-Xu], quadrotor dynamics are :
U1 k1 U2 k4
ẍ = (sin ψ sin φ + cos ψ sin θ cos φ) − ẋ φ̈ = −L θ̇
M M Jxx Jxx
U1 k2 U3 k5
ÿ = (sin ψ sin θ cos φ − cos ψ sin φ) − ẏ φ̈ = −L φ̇ (52)
M M Jyy Jyy
U1 k3 U4 k 6
z̈ = −g + (cos θ cos φ) − ż ψ̈ = − ψ̇
M M Jzz Jzz
where ki (i = 1, · · · , 6) are the drag coefficients.
R. Xu and Umit Ozguner
Sliding Mode Control of a Quadrotor Helicopter
Proceedings of the 45th IEEE Conference on Decision & Control. 2006, pages 4957-4962.
v
r
α
F2 F1
The components of v can be written in terms of polar coordinates as :
"
F F #
F1 F2
vx 1 vx 2 r cos α
v =v = = = (53)
F F
vy 1 vy 2 r sin α
v
r F2
α
ψ
F1
F "
vx 1
# " #
r cos (α + ψ) r (cos α cos ψ − sin α sin ψ)
v F1 = = =
F r sin (α + ψ) r (sin α cos ψ + cos α sin ψ)
vy 1
" # F2
cos ψ − sin ψ r cos α cos ψ − sin ψ vx
cos ψ − sin ψ F2
= = = v
sin ψ cos ψ r sin α sin ψ cos ψ F sin ψ cos ψ
vy 2
Prof. Youmin Zhang Return 45/55
Basic concepts
Some preliminaries
Newton-Euler model of the quadrotor
Conclusion
ν Fy cos(ψ )
2
ν xF sin(ψ )
2
F2
F2
ν x
ν Fy
2 v F2 ψ
ν y
ν xF
2 ν Fy sin (ψ )
2
ν xF cos (ψ )
2
F1
F2 F1
F F F
vx 1 vx 2 cos ψ − vy 2 sin ψ F2
− sin ψ vx
= cos ψ cos ψ − sin ψ F2
v F1 = = = v
F F F sin ψ cos ψ F sin ψ cos ψ
vy 1 vx 2 sin ψ + vy 2 cos ψ vy 2
Return
zE z1 z1
ψ̇ z2 z2
ψ zB yB
y1 θ̇ y1 φ̇
xE x1 y2 y2
θ φ
yE
x1 xB
x2 x2
The resultant angular velocity of the body with respect to the B-frame is
B B B
ω B = φ̇~ex2 + θ̇~ey1 + ψ̇~ezE (54)
where ~ex2 , ~ey1 and ~ezE are the unit vectors along the respective coordinate
directions.
Prof. Youmin Zhang 47/55
Basic concepts
Some preliminaries
Newton-Euler model of the quadrotor
Conclusion
zE z1 z1
ψ̇ z2 z2
ψ zB yB
y1 θ̇ y1 φ̇
xE x1 y2 y2
θ φ
yE
x1 xB
x2 x2
B Int − sin θ − sin θ
−1 −1
ψ̇~ezE = R(φ, x) ψ̇~ezE = R(φ, x) 0 ψ̇ = cos θ sin φ ψ̇
cos θ cos θ cos φ
zE z1 z1
ψ̇ z2 z2
ψ zB yB
y1 θ̇ y1 φ̇
xE x1 y2 y2
θ φ
yE
x1 xB
x2 x2
h T T iT
νB = VB ωB : generalized velocity in the B-frame,
JΘ : generalized matrix,
M: body mass,
w: actuator bandwidth,
: ,
: ,
: ,
: ,