Vous êtes sur la page 1sur 32

Modèles mathématiques

Robots Aériens et SOus-Marins (RASOM)


Modélisation

Abdelhamid.Chriette@ec-nantes.fr

Option Robotique
Département Auto-Robot – École Centrale de Nantes.

14 novembre 2020

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 1 / 29


Modèles mathématiques

1 Modèles mathématiques
Modélisation géométrique
Modélisation dynamique
Vecteur d’états

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 2 / 29


Modèles mathématiques

Modélisation géométrique

Hypothèse

Les modèles géométriques et dynamiques d’un Quadrotor seront dérivés sur


la base d’un formalisme de Newton-Euler avec les hypothèses suivantes :
Ü La structure est rigide et symétrique.
Ü Le centre de gravité du Quadrotor coïncide avec l’origine du cadre fixe
du corps.
Ü Les hélices sont rigides.
Ü La poussée et la traînée sont proportionnelles au carré de la vitesse de
l’hélice.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 3 / 29


Modèles mathématiques

Modélisation géométrique

Référentiels et transformations

Ü Repère terrestre avec les axes N , E


et D (North, East, Downwards).
Ü Repère attaché au corps avec les
axes x, y et z (x pointant vers
l’hélice 1, y pointant vers l’hélice 2,
z pointant vers le sol).
Ü Le vecteur r = [x, y, z] décrit la
position absolu du CM du drone.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 4 / 29


Modèles mathématiques

Modélisation géométrique

Référentiels et transformations

L’orientation du quadrotor est décrite en


utilisant les angles de roulis, de tangage
et de lacet représentant les rotations
autour des axes X, Y et Z
respectivement.

En supposant que l’ordre de rotation soit le roulis, le tangage puis le lacet,


on obtient la matrice de rotation R qui est dérivée de la séquence des
principales rotations :
 
cψcθ cψsθsφ − sψcφ cψsθsφ + sψsφ
R =  sψcθ sψsθsφ + cψcφ sψsθcφ − cψcφ 
−sθ cθsφ cθcφ

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 5 / 29


Modèles mathématiques

Modélisation géométrique

Référentiels et transformations

Le lien entre le vecteur dérivé des angles d’Euler, η̇ = [φ̇ θ̇ ψ̇]T , et le vecteur
vitesse de rotation, ω = [p q r]T , est modélisé par la matrice suivante :

ω = Rr η̇

avec :  
1 0 −sθ
Rr =  0 cφ sφcθ 
0 −sφ cθcφ
Autour de la position de vol proche de vol stationnaire, on suppose de
petites variations des angles telles que : cφ ∼
= 1, cθ ∼
= 1 et sθ ∼
= 0. Ainsi,
Rr peut être simplifiée en une matrice d’identité I.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 6 / 29


Modèles mathématiques

Modélisation dynamique

Equations de Newton–Euler

n En mécanique classique, les équations de Newton-Euler décrivent la dynamique


combinée de translation et de rotation d’un corps rigide.
n Ces lois mettent en relation le mouvement du centre de masse (CG) d’un corps
rigide avec la somme des forces (F) et des couples (τ ) agissant sur le corps rigide.

Par rapport à un repère dont l’origine coïncide avec le centre de masse (CM) du corps,
elles peuvent être exprimées sous forme de matrice comme :
      
F mI3 0 v̇cm 0
= +
τ 0 Icm ω̇ ω × Icm ω

Avec :
Ü m : masse du corps ; Icm : moment d’inertie autour du CM.
Ü I3 : matrice identité 3 × 3.
Ü vcm : vitesse du CM ; ω : vitesse angulaire du corps.
Ü F et τ , respectivement, Force et couple totaux agissant sur le CM.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 7 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments


Exprimée dans le repère local du drone, et en se basant sur le formalise de
Newton-Euler, la dynamique de rotation est décrite comme suit :

J ω̇ + ω × Jω + MG = MB

Avec :
Ü J : matrice diagonale d’inertie du Quadrotor :
 
Ixx 0 0
J = 0 Iyy 0 
0 0 Izz

Ü ω : vitesse angulaire du drone.


Ü MG : moments gyroscopiques dus à l’inertie des rotors :

MG = ω × [0 0 Jr Ωr ]

Avec : Jr : inertie des rotors et : Ωr = −Ω1 + Ω2 − Ω3 + Ω4


Ü MB : moments agissant sur le Quadrotor exprimés dans son repère local.
Abdelhamid Chriette (CN) RASOM 14 novembre 2020 8 / 29
Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

Pour déterminer MB , il est nécessaire de définir deux paramètres


physiques : les forces (Fi )et les moments (Mi ) aérodynamiques produits
par un rotor :

Fi = 12 ρACT r2 Ω2i et Mi = 21 ρACD r2 Ω2i

Avec : ρ : la densité de l’air, A : surface de la lame, CT et CD : coffecients


aérodynamiques, r : rayon de la lame et Ωi : vitesse angulaire du rotor i.

Ü Si ρ est constante (altitude maximale), alors 1 :


Fi = Kf Ω2i et Mi = KM Ω2i

1. Kf et KM déterminées expérimentalement pour chaque type d’hélice.


Abdelhamid Chriette (CN) RASOM 14 novembre 2020 9 / 29
Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

Ü Chaque rotor provoque une force de


poussée vers le haut Fi et génère un
moment Mi dont le sens est opposé
au sens de rotation du rotor
correspondant i.
Ü Calcul des moments autour des axes
x, y et z : Mx , My et Mz .

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 10 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

Mx = −F2 l + F4 l
= −(Kf Ω22 )l + (Kf Ω24 )l
= lKf (−Ω22 + Ω24 )

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 11 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

My = F1 l − F3 l
= (Kf Ω21 )l − (Kf Ω23 )l
= lKf (Ω21 − Ω23 )

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 12 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

Mz = M1 − M2 + M3 − M4
= (KM Ω21 ) − (KM Ω22 )
+(KM Ω23 ) − (KM Ω24 )
= KM (Ω21 − Ω22 + Ω23 − Ω24 )

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 13 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de rotation : les moments

lKf (−Ω22 + Ω24 )


 

MB =  lKf (Ω21 − Ω23 ) 


2 2 2 2
KM (Ω1 − Ω2 + Ω3 − Ω4 )

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 14 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de translation : les forces

La dynamique de translation est dérivée à partir de la seconde loi de


Newton et exprimée dans le repère inertiel de la Terre :

mr̈ = [0 0 mg]T + RFB

Avec :
Ü r = [x y z]T : vecteur position du CM du drone.
Ü m : mase du drone.
Ü g : accélération gravitationnelle (9.81 m/s2 .
Ü FB : résultante des de forces nongravitationnelles agissant sur le drone.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 15 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique de translation : les forces

En position horizontale, les seules forces non gravitationnelles qui agissent


sur le drone sont les poussées produites par la rotation des hélices (Fi ).
Ainsi, FB peut s’exprimer comme suit :
 
0
FB =  0 
2 2 2
−Kf (Ω1 + Ω2 + Ω3 + Ω4 ) 2

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 16 / 29


Modèles mathématiques

Modélisation dynamique

Effets aérodynamique

n Objectif : disposer d’un modèle précis et réaliste à utiliser dans les


simulations

Forces de traînée
Elles sont dues aux frottements du corps du Quadrotor en mouvement dans
l’air :
Fa = Kt ṙ
Kt : matrice constante nommée la matrice des coefficients aérodynamique
de translation.
La dynamique de translation complète s’écrit alors :

mr̈ = [0 0 mg]T + RFB − Fa

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 17 / 29


Modèles mathématiques

Modélisation dynamique

Effets aérodynamique
n Objectif : disposer d’un modèle précis et réaliste à utiliser dans les
simulations
Moments de traînée
En raison du frottement de l’air, il existe un moment de traînée Ma
agissant sur le corps du Quadrotor qui peut être approximé par :

Ma = Kr η̇

Kr : matrice constante nommée la matrice des coefficients aérodynamique


de rotation.
La dynamique de translation complète s’écrit alors :

J ω̇ + ω × Jω + MG = MB − Ma

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 18 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique des rotors


Ü Il existe deux types de moteurs pour les drones : les Brushed (avec
balais) et les Brushless (sans balais). Nous allons ici traiter
uniquement des Brushless.
Ü La dynamique d’un moteur à courant continu sans balais en régime
permanent est la même que celle d’un moteur à courant continu
classique.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 19 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique des rotors


Ü Modèle électro-mécanqiue d’un moteur DC :
d
v = Tmot ia + Lmot ia + e
dt
e = Kmot Ωi
Jr Ω̇i = Cmot − Cload
Avec :
6 Cmot le couple produit par le moteur et qui est égal à

Cmot = Ke ia ' Kmot ia

6 Cload le couple de charge généré par le système d’hélice et qui est


égal à
Cload = KM Ω2

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 20 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique des rotors


Ce qui donne après simplification et en considérant Lmot ∼
=0:
Rmot
v= Jr Ω̇i + Kmot Ωi + KM Rmot Ω2i
Kmot

6 La dynamique du rotor peut être approchée d’une fonction de transfert


du 1er ordre dont les paramètres (gain et constante de temps) sont
identifiés expérimentalement à l’aide d’un outil d’identification (par
exemple, la boîte à outils d’identification de MATLAB).
6 La fonction de transfert fait correspondre la vitesse de l’hélice
souhaitée à la vitesse réelle.

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 21 / 29


Modèles mathématiques

Modélisation dynamique

Dynamique des rotors


Ce qui donne après simplification et en considérant Lmot ∼
=0:
Rmot
v= Jr Ω̇i + Kmot Ωi + KM Rmot Ω2i
Kmot

6 La dynamique du rotor peut être approchée d’une fonction de transfert


du 1er ordre dont les paramètres (gain et constante de temps) sont
identifiés expérimentalement à l’aide d’un outil d’identification (par
exemple, la boîte à outils d’identification de MATLAB).
6 La fonction de transfert fait correspondre la vitesse de l’hélice
souhaitée à la vitesse réelle.
Dans certains travaux, la fonction de transfert du 1er ordre a été identifiée
comme étant :
Actual rotor speed 0.936
G(s) = =
Desired rotor spedd 0.178s + 1
Abdelhamid Chriette (CN) RASOM 14 novembre 2020 21 / 29
Modèles mathématiques

Vecteur d’états

Vecteur d’états

Soit X le vecteur d’état du Quadrotor tel que :


 
X = x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12

qui est mis en correspondance avec les degrés de liberté du Quadrotor de la


manière suivante :
h i
X = φ φ̇ θ θ̇ ψ ψ̇ z ż x ẋ y ẏ

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 22 / 29


Modèles mathématiques

Vecteur d’états

Vecteur entrée de commande


Un vecteur d’entrée de contrôle, U , composé de quatre entrées : U1 à U4 est défini
comme suit :
U = [U1 U2 U3 U4 ]
Avec :

Kf Ω21 + Ω22 + Ω23 + Ω24



U1 =
Kf −Ω22 + Ω24

U2 =
Kf Ω21 − Ω23

U3 =
KM Ω21 − Ω22 + Ω23 − Ω24

U4 =

et sous forme matricielle, cela s’écrit :


    2 
U1 Kf Kf Kf Kf Ω1
 2
 U2   0 −Kf 0 Kf 
  Ω2

U = =  
 U3   Kf 0 −Kf 0   Ω23 

U4 KM −KM KM −KM Ω24
| {z }
P

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 23 / 29


Modèles mathématiques

Vecteur d’états

Vecteur entrée de commande


6 U1 entrée de commande pour le contrôle de l’altitude et la vitesse du
drone le long de l’axe z → (z, ż)
6 U2 entrée de commande pour le contrôle du roulis (Roll : couple
autour de l’axe x) → (φ, φ̇)
6 U3 entrée de commande pour le contrôle du tangage (Pitch : couple
autour de l’axe y) → (θ, θ̇)
6 U4 entrée de commande pour le contrôle du lacet (Yaw : couple
autour de l’axe z) → (ψ, ψ̇)

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 24 / 29


Modèles mathématiques

Vecteur d’états

Vecteur entrée de commande


6 U1 entrée de commande pour le contrôle de l’altitude et la vitesse du
drone le long de l’axe z → (z, ż)
6 U2 entrée de commande pour le contrôle du roulis (Roll : couple
autour de l’axe x) → (φ, φ̇)
6 U3 entrée de commande pour le contrôle du tangage (Pitch : couple
autour de l’axe y) → (θ, θ̇)
6 U4 entrée de commande pour le contrôle du lacet (Yaw : couple
autour de l’axe z) → (ψ, ψ̇)

Découplage
Ce choix de la commande découple la dynamique translation/rotation du
drone, : U1 générera l’altitude souhaitée du droner, U2 générera l’angle de
roulis souhaité, l’angle de tangage souhaité sera généré par U3 tandis que
U4 générera le cap souhaité.
Abdelhamid Chriette (CN) RASOM 14 novembre 2020 24 / 29
Modèles mathématiques

Vecteur d’états

Modèle inverse

En inversant la matrice P, on peut calculer les vitesses de rotations Ωi en fonction des


entrées de commande Ui comme suit :
 1 1 1


2

4Kf
0 2Kf 4KM  
Ω1  1  U1
1 1
 Ω2   4Kf − 2Kf 0 − 4KM 
 2  
 U2 
 2 = 1 1 1   U3

 Ω3   4K
f
0 − 2Kf 4KM
 
Ω24 U4
 
1 1
4Kf 2Kf
0 − 4K1M
| {z }
P−1

Ce qui donne pour chaque vitesse de rotation :


q q
1 1 1 1 1 1
Ω1 = 4Kf
U1 + 2Kf
U3 + 4KM
U4 Ω2 = 4Kf
U1 − 2Kf
U2 − 4KM
U4
q q
1 1 1 1 1 1
Ω3 = 4Kf
U1 − 2Kf
U3 + 4KM
U4 Ω4 = 4Kf
U1 + 2Kf
U2 − 4KM
U4

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 25 / 29


Modèles mathématiques

Vecteur d’états

Dynamique de rotation : équation de mouvement

D’une part :
J ω̇ + ω × Jω + MG = MB
où MG = ω × [0 0 Jr Ωr ].
D’autre part, en fonction des entrées de commande Ui , MB s’écrit :
  
lKf (−Ω22 + Ω24 )

lU2
MB =  lKf (Ω21 − Ω23 ) = lU3 
  
2 2 2 2 U4
KM (Ω1 − Ω2 + Ω3 − Ω4 )

D’où (avec l’hypothèse Rr ≈ I3×3 , donc ω = η̇) :


             
Ixx 0 0 φ̈ φ̇ Ixx 0 0 φ̇ φ̇ 0 lU2
 0 Iyy 0    θ̈ + θ̇ × 0 Iyy 0   θ̇ + θ̇ × 0  =  lU3 
      
0 0 Izz ψ̈ ψ̇ 0 0 Izz ψ̇ ψ̇ Jr Ωr U4

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 26 / 29


Modèles mathématiques

Vecteur d’états

Dynamique de rotation : équation de mouvement


En développant cela, on aboutit à :
l Jr Iyy Izz
φ̈ = U2 − θ̇Ωr + θ̇ψ̇ − θ̇ψ̇
Ixx Ixx Ixx Ixx
l Jr Izz Izz
θ̈ = U3 − φ̇Ωr + φ̇ψ̇ − φ̇ψ̇
Iyy Iyy Iyy Iyy
1 Ixx Iyy
ψ̈ = U4 + φ̇θ̇ − φ̇θ̇
Izz Izz Izz
Iyy −Izz I −I
En considérant : a1 = Ixx
, a2 = IJxx
r
, a3 = IzzI−I
yy
xx
, a4 = IJyy
r
, a5 = xxIzz yy ,
l l 1
b1 = Ixx , b2 = Iyy et b3 = Izz , la dynamique de rotation peut s’écrire sous une forme
plus compacte comme suit :
φ̈ = b1 U2 − a2 x4 Ωr + a1 x4 x6 (1)
θ̈ = b2 U3 + a4 x2 Ωr + a3 x2 x6 (2)
ψ̈ = b3 U4 + a5 x2 x4 (3)
La dynamique de rotation est complètement actionnée :
3 entrées de commande (U2 , U3 et U4 ) pour 3 ddl (φ, θ et ψ).
Abdelhamid Chriette (CN) RASOM 14 novembre 2020 27 / 29
Modèles mathématiques

Vecteur d’états

Dynamique de translation : équation de mouvement


T
Avec r = [x y z]T , FB = 0 0 −U1

Ü et :
 
cψcθ cψsθsφ − sψcφ cψsθsφ + sψsφ
R =  sψcθ sψsθsφ + cψcφ sψsθcφ − cψcφ 
−sθ cθsφ cθcφ

Ü l’équation (mr̈ = [0 0 mg]T + RFB ), après développement, devient :


ẍ = (−U1 /m) (sin φ sin ψ + cos φ sin θ cos ψ)
ÿ = (−U1 /m) (cos φ sin θ sin ψ − sin φ cos ψ)
z̈ = g − (U1 /m) (cos φ cos θ)

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 28 / 29


Modèles mathématiques

Vecteur d’états

Dynamique de translation : équation de mouvement


T
Avec r = [x y z]T , FB = 0 0 −U1

Ü et :
 
cψcθ cψsθsφ − sψcφ cψsθsφ + sψsφ
R =  sψcθ sψsθsφ + cψcφ sψsθcφ − cψcφ 
−sθ cθsφ cθcφ

Ü l’équation (mr̈ = [0 0 mg]T + RFB ), après développement, devient :


ẍ = (−U1 /m) (sin φ sin ψ + cos φ sin θ cos ψ)
ÿ = (−U1 /m) (cos φ sin θ sin ψ − sin φ cos ψ)
z̈ = g − (U1 /m) (cos φ cos θ)
U1
soit encore (avec α = m
) :
ẍ = −α (sin x1 sin x5 + cos x1 sin x3 cos x5 ) (4)
ÿ = −α (cos x1 sin x3 sin x5 − sin x1 cos x5 ) (5)
z̈ = g − α (cos x1 cos x3 ) (6)
La dynamique de translation est, à la fois, couplée (présence de φ, θ et ψ) et
sous-actionnée : 1 seule entrée de commande (U1 ) pour 3 ddl (x, y et z).
Abdelhamid Chriette (CN) RASOM 14 novembre 2020 28 / 29
Modèles mathématiques

Vecteur d’états

Représentation espace d’états du système complet

Rappel : modèle espace d’états système linéaire (SL) vs système nonlinéaire (SNL) :
 
ẋ(t) = Ax(t) + Bu ẋ(t) = f (t, x(t), u(t))
SL : SNL :
y(t) = Cx(t) + Du y(t) = h(t, x(t), u(t)

Dans notre cas :


Ẋ(t) = f (X(t), U )
Avec :

ẋ1 = φ̇ = x2 ẋ7 = ż = x8
ẋ2 = φ̈ = b1 U2 − a2 x4 Ωr + a1 x4 x6 x8 = z̈ = g − α (cos x1 cos x3 )
ẋ3 = θ̇ = x4 ẋ9 = ẋ = x10
ẋ4 = θ̈ = b2 U3 + a4 x2 Ωr + a3 x2 x6 ẋ10 = ẍ = −α (sx1 sx5 + cx1 sx3 cx5 )
ẋ5 = ψ̇ = x6 ẋ11 = ẏ = x12
ẋ12 = ÿ = −α (cx1 sx3 sx5 − sx1 cx5 )
ẋ6 = ψ̈ = b3 U4 + a5 x2 x4

Abdelhamid Chriette (CN) RASOM 14 novembre 2020 29 / 29

Vous aimerez peut-être aussi