Commande linéaire des systèmes multidimensionels:
Correction du TD2
Antoine Drouin Vendredi 6 Novembre 2015
Durée : 2h
Cette correction comporte 5 pages
1 Exercice : Analyse graphique
(1 minutes) 1. Soit le système dynamique LTI de représentation d'état :X˙ = 0 1
0 1
.X+ 0
1
.U (1)
Y = 1 0
.X (2)
On applique au système une série de correcteurs par retour d'état utilisant comme valeurs de gain K1, K2, K3= [2,2],[4,2],[2,4]. La gure 1 représente la sortie du système pour une simulation obtenue avec chacun des gains. Indiquez en justiant à quelle courbe correspond quel gain.
Figure 1 Simulation.
Sans commentaire, on faisait déja ça l'année dernière.
Figure 2 Quadrirotor plan.
2 Exercice : Séparation de dynamiques
(30 minutes) On considère le quadrirotor plan représenté sur la gure 2En appliquant la seconde loi de Newton, on obtient la représentation d'état non linéaire sui- vante :
˙ x
˙ z
¨ x
¨ z θ˙ θ¨
=
˙ x
˙ z
−m1.sin(θ) (F2+F1)
1
m.cos(θ) (F2+F1)−g θ˙
l
J(F2−F1)
où m et J sont respectivement la masse et l'inertie du véhicule, et l est la longueur du bras supportant les rotors.
On cherche, dans cette exercice, à synthétiser un correcteur par retour d'état en utilisant le principe de séparation des dynamiques translationnelle et angulaire. Pour commencer, on réalise le changement de variables d'entrées suivant :
U˜ = ut
ud
=
F1+F2 F2−F1
=
1 1
−1 1 F1 F2
(3) Ce changement de variable est bien évidement inversible et on a :
F1 F2
= 1 2
1 −1
1 1
ut ud
(4) 1. Réécrire la représentation d'état utilisant les nouvelles entrées. Déterminez le point d'équi-
libre du système et linéarisez la représentation d'état autour de ce dernier.
˙ x
˙ z
¨ x
¨ z θ˙ θ¨
=
˙ x
˙ z
−m1.sin(θ)ut 1
m.cos(θ)ut−g θ˙
l Jud
Xe=
xe
ze
0 0 0 0
U˜e= mg
0
δx˙ δz˙ δx¨ δ¨z δθ˙ δθ¨
=
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 −g 0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
δx δz δx˙ δz˙ δθ δθ˙
+
0 0 0 0 0 0
1
m 0
0 0 0 Jl
δut
δud
2. La dynamique angulaire (deux dernière lignes de la représentation d'état) est linéaire et indépendante. Synthétisez un retour d'état ramenant la dynamique angulaire à un second ordre de pulsationωθet d'amortissement ξθ
La représentation d'état correspondante à la dynamique rapide est δθ˙
δθ¨
= 0 1
0 0 δθ δθ˙
+ 0
l/J
δud
La loi de commande est δud
=− J/lωθ2 2J/lξθωθ δθ
δθ˙
+ J/lω2θ δθc
3. Exprimez la dynamique translationelle linéarisée en utilisant ut
θ
comme entrée de com- mande.
δx˙ δz˙ δ¨x δ¨z
=
0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
δx δz δx˙ δz˙
+
0 0
0 0
0 −g
1
m 0
δut
δθ
4. Synthétisez une commande par retour d'état imposant des dynamiques linéaires découplées à xet zen utilisant comme entrée
ut
θ
.
La commande linéaire inverse est toute indiquée pour synthétiser un retour d'état décou-
plant. On calcule les degrés relatifs :
y1=δx
˙ y1=δx˙
¨
y1=−g.δθ
et
y2=δz
˙ y2=δz˙
¨ y2= 1
m.δut
Il n'y a pas de dynamique interne. On choisit pour δxet δz des dynamiques de référence du second ordre, soit
¨
y1=−2ξxωxy˙1−ω2x(y1−y1c)
et
¨
y2=−2ξzωzy˙2−ωz2(y2−y2c) Il vient donc
ωx2 0 0 −ω2z
xc zc
=
ωx2 0 2ξxωx 0 0 ωz 0 2ξzωz
δx δz δx˙ δz˙
+
0 −g
1
m 0
δut δθ
En réalisant l'inversion, on obtient
δut δθ
=−
0 m
−1g 0
ωx2 0 2ξxωx 0 0 ωz 0 2ξzωz
δx δz δx˙ δz˙
+
0 m
−g1 0
ωx2 0 0 ωz2
xc zc
Soit δut
δθ
=−
0 mωz 0 2mξzωz
−ωx2/g 0 −2ξxωx/g 0
δx δz δx˙ δz˙
+
0 mω2z
−ω2x/g
xc zc
5. En invoquant l'hypothèse de séparation des dynamiques, on suppose δθ =δθc. Regroupez les deux lois obtenues précédemment pour obtenir le retour d'état total.
D'après la question 2, on a δud
=−J/l ωθ2 2ξθωθ δθ
δθ˙
+J/l ωθ2 δθc
En supposant δθ=δθc.
δut
δud
=−
0 mωz 0 2mξzωz 0 0
−ωθ2ω2xglJ 0 −ω2θ2ξxωxJ
gl 0 ω2θJl 2ξθωθJ l
δx δz δx˙ δz˙ δθ δθ˙
+
0 mω2z
−ωθ2ωx2glJ
xc
zc
3 Exercice : Simulation du quadrirotor plan (>1h)
Le code fourni en annexe (td_2_planar_quad.py) contient la dynamique du véhicule décrit à l'exercice 2, le calcul des Jacobiens, du trim et une fonction d'achage.
1. Simulez la trajectoire du véhicule à partir d'une position d'équilibre, puis en perturbant légèrement son assiette. Conclure sur la stabilité du système.
2. Synthétisez une commande par retour d'état stabilisant la dynamique rotationelle (cf exercice 2). Simulez et vériez le résultat pour un système initialement perturbé en attitude, puis avec une entrée de consigne en échelon.
3. Utilisez la technique du placement de pôles pour synthétisez une commande par retour d'état stabilisant l'ensemble de la dynamique du véhicule. Réglez votre contrôleur pour obtenir un retour x position d'équilibre en x et z en environ 2 secondes pour une perturbation de 1m.
Simulez la réponse a des échelons d'entrée d'amplitude croissante.
4. Synthétisez une commande par retour d'état en utilisant la synthèse LQR. Réglez votre contrôleur pour obtenir des performances similaires à celle de la question précédente. Obser- ver son comportement en réalisant le même genre de simulations.
5. Implémentez le retour d'état calculé à l'exercice 2. Vériez son fonctionnement par simula- tion. Vériez que vous pouvez assigner une dynamique diérente en x et en z. Calculez les pôles du système corrigé. Comparez avec les pôles choisis pour les dynamiques enx,zet θ. Que se passe-t-il si vous violez l'hypothèse de découplage ?
6. Implémentez le retour d'état calculé à l'exercice 2 en conservant la structure hiérarchisée.
Utilisez cette structure pour imposer une limitation de l'assiette de consigne à 30 degrés.
Comparez avec le retour d'état de la question 3 implémenté en utilisant une saturation de l'entrée de consigne.