Télécom Paristech

22
Plan Présentation Implémentation Exemple 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

Transcript of Télécom Paristech

Page 1: Télécom Paristech

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

Page 2: Télécom Paristech

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

Page 3: Télécom Paristech

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

Page 4: Télécom Paristech

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

Page 5: Télécom Paristech

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

Page 6: Télécom Paristech

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

Page 7: Télécom Paristech

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

Page 8: Télécom Paristech

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

Page 9: Télécom Paristech

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

Page 10: Télécom Paristech

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

Page 11: Télécom Paristech

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

Page 12: Télécom Paristech

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

Page 13: Télécom Paristech

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

Page 14: Télécom Paristech

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

Page 15: Télécom Paristech

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

Page 16: Télécom Paristech

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

Page 17: Télécom Paristech

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

Page 18: Télécom Paristech

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

Page 19: Télécom Paristech

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

Page 20: Télécom Paristech

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

Page 21: Télécom Paristech

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

Page 22: Télécom Paristech

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