La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Commande optimale linéaire quadratique de Lunar Lander

Présentations similaires


Présentation au sujet: "Commande optimale linéaire quadratique de Lunar Lander"— Transcription de la présentation:

1 Commande optimale linéaire quadratique de Lunar Lander
Contenu de la séance : Loi de commande optimale linéaire quadratique sur un exemple Compromis entre énergie de commande et écart quadratique Principe d'optimalité de Bellman pour trouver la loi de commande Retour d’état optimal et équation de Riccati récurrente Résolution de l'équation de Riccati récurrente : initialisation Application à Lunar Lander : résolution de l’équation de Riccati récurrente (cf. riccati.sce), et application à la commande optimale de l’alunissage de Lunar Lander (cf. TD56CommandeOptimale.sce), sur la page : <18/04/2017>

2 Loi de commande optimale linéaire quadratique sur l’exemple simple du mouvement horizontal de Lunar Lander (normalisé) On étudie durant l’alunissage, avec une consigne Cn nulle, le mouve-ment horizontal de Lunar Lander normalisé, c’est-à-dire avec e=1 ms-1kg-1 et Te=1s : Peut-on trouver une loi de comman-de par retour d’état qui minimise la forme quadratique J0 ci-dessous et assure un alunissage de durée finie, en H périodes d'échantillonnage ? C’est un problème de commande optimale linéaire quadratique : on connaît les équations du processus, on impose J0, H, et on cherche K. 18/04/2017

3 Compromis entre l’énergie de commande et l'écart quadratique
Critère à minimiser énergie de commande Écart quadratique H est l’horizon de la commande, qui dure donc HTe Les matrices Q et R sont symétriques définies positives, soit pour Q : et sont des formes quadratiques On dans la suite pour simplifier Cn=XH=0 18/04/2017

4 Principe d’optimalité de Bellman pour trouver la loi de commande optimale
Principe d'optimalité de Bellman : tout segment d’une trajectoire optimale est lui-même une sous-trajectoire optimale Mettons que vous avez résolu le problème de la commande optimale de Lunar Lander entre l’instant (k+1)Te et l’instant final HTe, vous pouvez en déduire la solution entre kTe et HTe, en calculant la commande uk entre kTe et (k+1)Te de façon à ce qu’elle soit optimale. Ou bien, connaissant la trajectoire optimale de l’état Xk+1 jusqu'à XH, on calculera uk pour que la trajectoire de Xk jusqu'à Xk+1 soit optimale En conséquence, la résolution du problème impose de "remonter le temps" depuis l’instant final HTe et l’état XH jusqu’à l’instant initial t=0 et l’état initial X0 avec H itérations. Xk+1 uk XH Xk X0 uH-1 uk-1 u0 XH-1 X1 Xk-1 u1 18/04/2017

5 écrire Jn avec la matrice Pn symétrique, définie positive :
Solution du problème de commande optimale : un retour d’état non stationnaire calculé par l’équation de Riccati récurrente écrire Jn avec la matrice Pn symétrique, définie positive : trouver la solution du problème de commande avec : Une loi de commande qui donne un fonction Xn et de Pn+1: L’équation récurrente de Riccati qui calcule Pn= f (Pn+1 ) Kn dépend de n (loi de commande non stationnaire) !! nTe est antérieur à (n+1)Te (intégration en temps inversé !!) On rappelle que : Cn=XH=0 18/04/2017

6 Résolution de l'équation récurrente de Riccati
faire apparaître Pn et Pn+1 dans la relation entre Jn et Jn+1 faire disparaître Xn+1 en utilisant l’équation d’état. Exprimer le second membre avec des formes bilinéaires et des formes quadratiques (cf. page 4). Écrire que la dérivée de l'équation par rapport à un est nulle au minimum 18/04/2017

7 Dérivation des formes quadratiques et des formes bilinéaires
Avec des dimensions compatibles des vecteurs X, u et de la matrice M telles que les produits ci-dessous restent licites mathématiquement : On nomme forme quadratique la quantité scalaire : M est définie positive si Q(X) >0 quelque soit X non nul et nul si X=0. On nomme forme bilinéaire le scalaire : Dérivation des formes quadratique et bilinéaire Dérivation par rapport à un vecteur : si alors : 18/04/2017

8 Dériver l’équation précédente par rapport à un à Xn constant fournit la loi de commande
rappel de l’équation précédente : dérivation partielle par rapport à un Jn est minimum : solution un de l’équation Kn dépend du temps n ! (commande non stationnaire) 18/04/2017

9 Dériver par rapport à Xn aboutit à l'équation récurrente de Riccati qui calcule Pn à partir de Pn+1, puis Pn-1 à partir de Pn … jusqu’à P0 D’où l’équation récurrente de Riccati qui calcule (en temps inversé !) Pn à partir de A, B, Q, R et Pn+1 (car n+1 est supérieur à n): Noter que la dérivée partielle de Jn par rapport à Xn n’est pas nulle. la condition initiale de l’équation de Riccati est PH et non P0 l’équation algébrique de Riccati est le régime permanent (n disparaît). 18/04/2017

10 Initialisation de l’équation de Riccati récurrente :
Utilisation du calcul de la commande en boucle ouverte Si le processus est gouvernable et d’ordre deux, il existe une et une seule série de commandes pour rejoindre en deux périodes d’échantillonnage XH depuis XH-2 On évalue donc JH-2 en fonction de XH-2 et on en déduira PH-2 , puis PH-3, puis PH-4, etc … et ainsi jusqu’à P0 par itération de l’équation récurrente de Riccati. Chaque valeur Pn trouvée fournit une valeur Kn , il suffit de calculer KH-2 et KH-1 18/04/2017

11 Initialisation de l’équation de Riccati pour minimiser l’énergie de commande du mouvement horizontal normalisé de Lunar Lander. On doit calculer KH-2 et KH-1 , puis PH-2 pour initialiser l’équation de Riccati, puis PH-2, KH-2 donneront PH-3, KH-3 etc … Noter : on calcule la commande en boucle ouverte pour rejoindre l’état XH=0 depuis XH-2 quelconque en 2Te, avec H=2, c’est possible, car le processus est gouvernable (cf. cours 3) 18/04/2017

12 Initialiser l’équation récurrente de Riccati : calcul de PH-2
aboutit à Puis on utilise PH-2 pour H > 2 à partir de PH-2, l’équation de Riccati donne : et puis, PH-3 et l’équation de Riccati donnent : etc … 18/04/2017

13 Le script ‘riccati.sce’ ci-dessous résout l’équation récurrente de Riccati pour Lunar Lander en considérant l’énergie de commande et l’écart quadratique 18/04/2017

14 Le script ci-dessous utilise ‘riccati
Le script ci-dessous utilise ‘riccati.sce’ pour calculer la commande optimale de l’alunissage de Lunar Lander 18/04/2017

15 Alunissage ‘optimal’ de Lunar Lander minimisant l’énergie de commande seule (R=1, Q=0) avec un horizon H=100 saisir ‘h’ H=100 les Kn successifs sont calculés par Scilab et lus dans ‘K.txt’ déplacer la consigne (symbole ‘ici’) et saisir ‘h’ déclenche la poursuite de la consigne pour une durée de 100 périodes d’échantillonnage, soit 4 secondes 18/04/2017

16 Cas où l’état final Xf n’est pas l’état d’équilibre (X=0)
En fait, cela ne change rien au calcul précédent, pourquoi ? Imaginons que Xf est l’origine d’un repère mobile qui se déplace dans le repère de la lune, Xf=[x0;vx0;y0;vy0], le point d’origine du repère mobile (x0,y0) se déplace à vitesse constante (vx0,vy0) dans le repère de la lune. Le repère mobile se déplace donc par translation par rapport au repère mobile, c’est un repère galiléen D’après la relation fondamentale de la dynamique, seconde loi de Newton, l’équation différentielle de Lunar Lander reste inchangée dans le nouveau repère. La discrétisation de cette équation donne donc le même résultat, et donc les mêmes matrices d’état et de commande Ad et Bd La résolution de l’équation récurrente de Ricatti donne donc les mêmes résultats, matrice initiale PH-2 de Ricatti, et gains KH-2 et KH-1 La seule différence, c’est qu’on se pose en X= Xf, en appliquant la loi de commande un=Kn*(Xf - X) 18/04/2017


Télécharger ppt "Commande optimale linéaire quadratique de Lunar Lander"

Présentations similaires


Annonces Google