télécom paristech
Post on 09-Nov-2021
18 Views
Preview:
TRANSCRIPT
PlanPrésentation
ImplémentationExemple
Filtres LQR
A. Droniou, T. Quenolle, A. Schumacher
Télécom Paristech
4 Mars 2011
A. Droniou, T. Quenolle, A. Schumacher ROSE 1 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Plan
1 PrésentationProblématiqueIdée
2 ImplémentationRechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
3 ExempleSituationChoix de A et BChoix de Q et RImplémentation
A. Droniou, T. Quenolle, A. Schumacher ROSE 2 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
ProblématiqueIdée
Plan
1 PrésentationProblématiqueIdée
2 ImplémentationRechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
3 ExempleSituationChoix de A et BChoix de Q et RImplémentation
A. Droniou, T. Quenolle, A. Schumacher ROSE 3 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
ProblématiqueIdée
Problématique
On cherche à asservir un système linéaire MIMO (Multiple InputMultiple Output).On dispose :
d’un état observé, x
d’un ensemble de variables de contrôle, ud’une équation qui régit le système
x = A′x +B′u
en temps continu
xk+1 = Axk +Buk
en temps discret
A. Droniou, T. Quenolle, A. Schumacher ROSE 4 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
ProblématiqueIdée
Problématique
On veut :
amener x à 0 à moindre coût...
... en commandant les effecteurs (u)
bien réagir aux perturbations
contrôler u linéairement grâce à x
A. Droniou, T. Quenolle, A. Schumacher ROSE 5 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
ProblématiqueIdée
Contrôler u linéairement
On veut pouvoir implémenter
uk =−Kxk
Ce K est appellé Linear Quadratic Regulator, ou LQR.Le but est donc de trouver K.
A. Droniou, T. Quenolle, A. Schumacher ROSE 6 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
ProblématiqueIdée
Temps fini / temps infini
Si on travaille en temps fini, K varie avec le temps.On observe tout de même que K est constant sur une grande portion.On sépare donc le problème en deux :
trouver le K de la partie constantetrouver les K correspondant à tous les δt de la partie critique
calculs lourds (rétropropagation)nécessite un précalculon les ignore la plupart du temps
A. Droniou, T. Quenolle, A. Schumacher ROSE 7 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Plan
1 PrésentationProblématiqueIdée
2 ImplémentationRechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
3 ExempleSituationChoix de A et BChoix de Q et RImplémentation
A. Droniou, T. Quenolle, A. Schumacher ROSE 8 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Rechercher K : la théorie
Pour trouver K en temps infini, on applique :
K = (R+BT PB)−1BT PA
P est obtenu par la résolution de l’équation de Riccati :
P = Q+AT(
P−PB(R+BT PB
)−1BT P
)A
On doit déterminer A, B, Q et R.
A. Droniou, T. Quenolle, A. Schumacher ROSE 9 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
A et B
A et B sont donc à déterminer par la relation entre les composants.
A. Droniou, T. Quenolle, A. Schumacher ROSE 10 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Q et R
Q et R sont les matrices de pondération de x et u selon la fonction decoût :
J =∞
∑k=0
(xT
k Qxk +uTk Ruk
)Q et R doivent être symétriques et positives.
A. Droniou, T. Quenolle, A. Schumacher ROSE 11 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Pistes de détermination de Q et R
Généralement on prend Q et R diagonales.C’est à l’ingénieur de les choisir :
les poids sont relatifs
un fort poids sur Q (pondération de x) le fera vite minimiser
un fort poids sur R (pondération de u) minimisera l’utilisation dece contrôle
A. Droniou, T. Quenolle, A. Schumacher ROSE 12 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Calculer K
Code MatlabA = ...; B = ...; Q = ...; R = ...;K = lqr(A, B, Q, R);
Code OctaveA = ...; B = ...; Q = ...; R = ...;%Discrete Algebric Riccati EquationP = dare(A, B, Q, R);K = inv(R + B’*P*B)*B’*P*A;
A. Droniou, T. Quenolle, A. Schumacher ROSE 13 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
Rechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
Dans le robot
Calcul de Uu = -Kx;
Et c’est tout !
A. Droniou, T. Quenolle, A. Schumacher ROSE 14 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Plan
1 PrésentationProblématiqueIdée
2 ImplémentationRechercher K : la théorieRechercher K : la pratiqueImplémentation dans le SE
3 ExempleSituationChoix de A et BChoix de Q et RImplémentation
A. Droniou, T. Quenolle, A. Schumacher ROSE 15 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Exemple : Situation
L’alien ne peut se déplacer que selon les axes x1 et x2 par respectivement les commandes u0 et u1
A. Droniou, T. Quenolle, A. Schumacher ROSE 16 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Choix de A et B
A et B se choisissent à partir du modèle physique :
x1(k +1) = x1(k)+δt x1(k)
x2(k +1) = x2(k)+δt x2(k)
x1(k +1) = x1(k)+δtm
αu1(k)
x2(k +1) = x2(k)+δtm
αu2(k)
A. Droniou, T. Quenolle, A. Schumacher ROSE 17 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Choix de A et B
Sachantx(k +1) = Ax(k)+Bu(k)
on obtient :x1
x2
x1
x2
(k +1) =
1 0 δ 00 1 0 δ
0 0 1 00 0 0 1
x1
x2
x1
x2
(k)+
0 00 0
δ
m α 00 δ
m α
[u1
u2
](k)
A. Droniou, T. Quenolle, A. Schumacher ROSE 18 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Choix de Q et R
On se donne :
Q =
14 0 0 00 1
4 0 00 0 1
100 00 0 0 1
100
R =
[ 125 00 1
25
]
A. Droniou, T. Quenolle, A. Schumacher ROSE 19 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Résultat Matlab
On obtient :
K =
[1.06107 0 0.60271 0
0 1.06107 0 0.60271
]
A. Droniou, T. Quenolle, A. Schumacher ROSE 20 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Implémentation en C
Dans le robot il suffit de coder :
u[0] = x[0] * -1.06107 + x[2] * -0.60271;u[1] = x[1] * -1.06107 + x[3] * -0.60271;
A. Droniou, T. Quenolle, A. Schumacher ROSE 21 / 22 4 Mars 2011
PlanPrésentation
ImplémentationExemple
SituationChoix de A et BChoix de Q et RRésultat MatlabImplémentationBibliographie
Bibliographie
Wikipédia
Digital Control of Dynamic Systems Gene F. Franklin, J. DavidPowell, and Michael Workman
http ://www.ece.ucsb.edu/ hespanha/ece147c-me106a/web/lqrlqgnotes.pdf
http ://cas.ensmp.fr/ rouchon/MVA/Poly08.pdf
A. Droniou, T. Quenolle, A. Schumacher ROSE 22 / 22 4 Mars 2011
top related