Académique Documents
Professionnel Documents
Culture Documents
Abdelhamid.Chriette@ec-nantes.fr
Option Robotique
Département Auto-Robot – École Centrale de Nantes.
23 novembre 2020
2 Conclusion
Quadrotor Dynamics
Quadrotor Dynamics
u1 = F1 + F2 + F3 + F4
Figure 2.3: The nested control loops for position and attitude control.
Figure – Boucles de contrôle imbriquées pour le contrôle de la position et de l’attitude.
n pitch, and
La boucle deyaw and runs at
contrôle deapproximately 1 kHz [34],utilise
position externe while thedes
outerestimations
position controlde
loopla
position et de laofvitesse
uses estimates du velocity
position and centreofdethemasse
center ofpour contrôler
mass to control the la trajectoire
trajectory in en
trois three
dimensions.
dimensions. Similar nesting of control loops is presented in previous works [13, 21,
30, 34, 40].
Our controllers are derived by linearizing the equations of motion and motor models
(3.3 – 2.4) at an operating point that corresponds to the nominal hover state, r = r0 ,
✓=
Abdelhamid = 0,(CN)
Chriette = , ṙ = 0, and ˙ = ✓˙ =RASOM
˙ = 0, where the roll and pitch angles are small 2020
23 novembre 5 / 57
Small angle control Conclusion
Linéarisation du modèle
Attitude Control
Si l’on fait l’hypothèse que les produits d’inertie sont faibles (idéalement, ils sont
nuls car les axes sont proches des axes principaux) et Ixx ≈ Iyy à cause de la
symétrie alors :
Attitude Control
Pour ces raisons, nous pouvons utiliser des lois de contrôle PD simples qui
prennent la forme par rapport aux autres termes. On note que près de l’état de vol
stationnaire nominal φ̇ ≈ p, θ̇ ≈ q et ψ̇ ≈ r
Attitude Control
Le vecteur des vitesses de rotor souhaitées peut être trouvé à partir de la force
u1,des , et des moments u2,des , u3,des et u4,des désirés en inversant :
Ω2
kF kF kF kF 1,des
0 Ω2
lkF 0 −lkf 2,des
udes =
−lkF
0 lkF 0 Ω23,des
kM −kM kM −kM Ω24,des
Position Control
Position Control
n Hover Controller
Ici, nous utilisons l’angle de tangage et de roulis pour contrôler la position dans les
plans xW et yW , u4 pour contrôler angle de lacet, et u1 pour contrôler la position
le long de zW a . rT (t) et ψT (t) sont, respectivement, la trajectoire et l’angle de
lacet que le drone essayera de suivre (Rappel : ψT (t) = ψ0 en vol stationnaire).
a. W : World
Position Control
Hover Controller
La linéarisation de la dynamique de translation nous permettra d’obtenir la relation entre les
accélérations souhaitées et les angles de roulis et de tangage comme suit :
r̈1des = g(θdes cos ψT + φdes sin ψT )
r̈2des = g(θdes sin ψT − φdes cos ψT )
u1,des
r̈3des =
m
Ces relations sont inversées pour calculer les angles de roulis et de tangage souhaités pour le
contrôleur d’attitude, à partir des accélérations souhaitées, ainsi que de u1,des :
1 des
φdes = (r̈ sin ψT − r̈2des cos ψT )
g 1
1 des
θdes = (r̈ cos ψT + r̈2des sin ψT )
g 1
u1,des = mr̈3des
SMC
SMC
The Sliding Mode Controller is designed only for the attitude control part.
PD control is used for altitude control owing to simplicity of the altitude
control equation.
SMC
s = ė + λe
SMC
Differentiating once,
ṡ = ë + λė
ṡ = ω̈ − ω̈c + λ(ω̇ − ω̇c )
ṡ = −I−1 ω̇ × Iω̇ + I−1 u2 − ω̈c + λ(ω̇ − ω̇c ) (10)
−1 −1
ṡ = −I ω̇ × Iω̇ − ω̈c + λ(ω̇ − ω̇c ) + I u2
ṡ = αSM + βSM u2
Where αSM = −I−1 ω̇ × Iω̇ − ω̈c + λ(ω̇ − ω̇c ) and βSM = I−1 .
ωc can be calculated from Equation 9 and 10.
SMC
v = −K ∗ sign(s)
Here, K is the sliding mode gain matrix. Using the above equations, the control
input for controlling the altitude is :
−1
u2 = βSM (−αSM − K ∗ sign(s)) (11)
SMC
Backstepping Control(BSC)
BSC
Backstepping Control(BSC)
BSC
The dynamic model is re-written for the sake of convenience. The state vairables
are renamed as follows : x1 = φ, x2 = ẋ1 , x3 = θ, x4 = ẋ2 , x5 = ψ, x6 = ẋ5 ,
x7 = z, x8 = ż, x9 = x, x10 = ẋ9 , x11 = y and x12 = ẋ11 .
The control inputs are :
1. Thrust=u1
2. Rolling Input=u21
Pitching Input=u22
Yawing Input=u23
Iyy −Ixx Izz −Ixx Ixx −Iyy
The following parameters are used : a1 = Ixx , a2 = Iyy , a3 = Izz ,
1 1 1
b1 = Ixx , b2 = Iyy and b3 = Izz .
Backstepping Control(BSC)
Using these state variables and the parameters, the dynamic model can be written
as :
ẋ1 x2
ẋ2 a 1 4 6 + b1 u21
x x
ẋ3 x4
ẋ4 a 2 2 6 + b2 u22
x x
ẋ5 x6
ẋ6 a 3 2 4 + b3 u23
x x
(12)
ẋ7 = x8
ẋ8 −g + b (cos x1 cos x3 )u1
4
ẋ9 x
10
ẋ10 b4 (cos x5 sin x3 + sin x5 cos x3 sin x1 )u1
ẋ11 x12
ẋ12 b4 (sin x5 sin x3 − cos x5 cos x3 sin x1 )u1
Backstepping Control(BSC)
Backstepping Control(BSC)
Rewriting Equation 18
The next step is to augment the first Lyapunov function V1 with a quadratic term
in the second variable z2 to get a positive definite V2 .
1
V2 = V1 + z22
2
⇒ V̇2 = V̇1 + z2 ż2 (19)
Backstepping Control(BSC)
Choosing a positive definite bounding function and substituing the model (ẋ2 )
into 22 leads to the following :
−z1 z2 − c1 z12 + z2 (a1 x4 x6 + b1 u21 − ẍ1d − c1 ż1 ) ≤ −c1 z12 − c2 z22 (20)
Backstepping Control(BSC)
Pitch Control :
1
u22 = (ẍ3d + c3 ż3 − a2 x2 x6 + z3 − c4 z4 ) (22)
b2
Yaw Control :
1
u23 = (ẍ5d + c5 ż5 − a3 x2 x4 + z5 − c6 z6 ) (23)
b3
Altitude Control :
1
u1 = (ẍ7d + c7 ż7 − c8 z8 + g + z7 ) (24)
b4 cos x1 cos x3