Vous êtes sur la page 1sur 28

Commande Adaptative et Prédictive

UE N9EE19: Systèmes asservis avancés


Parcours ACISE - Formation Ingénieur ENSEEIHT
Pauline Kergus
pauline.kergus@laplace.univ-tlse.fr

Année universitaire 2023-2024


Motivation
Tous les systèmes réels sont soumis à des perturbations et/ou des incertitudes!
Quelques exemples:
▶ Aléas environnementaux (vent, température, pression, etc...)
▶ Phénomènes négligés dans la modélisation (effet de bord, friction, etc...) ou
simplifications du modèle (linéarisation) ou rupture dans la dynamique (passage
en régime turbulent, etc...)
▶ Paramètres variants, inconnus ou mal estimés (variations de masse, de charge,
géométrie ...)
▶ Fonctionnement en mode dégradé (fautes ou vieillissement)

4/20
Motivation
Tous les systèmes réels sont soumis à des perturbations et/ou des incertitudes!
▶ Ces perturbations/incertitudes agissent le plus souvent négativement sur la
stabilité et les performances des systèmes commandés.
⇒ Il est nécessaire de les prendre en compte lors de la synthèse de la loi de
commande.
Plusieurs catégories de méthodes:
1. Commande robuste : synthétiser une loi de commande qui “résiste” aux aléas
2. Commande adaptative : ajuster la loi de commande en fonction des variations
du système
3. Commande prédictive : prédire le comportement futur du système et optimiser
le signal de commande en fonction

4/20
Commande Adaptative et Prédictive

Commande prédictive
Commande prédictive
Concept de base

Car

6/20
Commande prédictive
Concept de base

6/20
Commande prédictive
Concept de base

Model

Output
Command input

6/20
Commande prédictive
Concept de base

Model

Output
Command input Objective
Prediction Best choice
Constraints

6/20
Commande prédictive
Vue d’ensemble min J(·)
u
PNp ref
s.t. J = i=1 we (yk+i − yk+i )2
MPC = Model Predictive Control

xk+i =f (xk+i−1 , uk+i , dk+i )
∀i = 1 · · · Np ,
yk+i =g(xk+i , uk+i , dk+i )

∀i = 1 · · · Np , dk+i = h(·)

∀i = 1 · · · Np , ymin ≤ yk+i ≤ ymax

▶ La commande prédictive est une forme de commande avec feedback


▶ qui résout un problème d’optimisation pour sélectionner le signal de commande
optimal à chaque pas de temps
▶ sur la base d’un modèle de prédiction utilisé sur un horizon temporel donné
7/20 ▶ et sous contraintes
Commande prédictive
Vue d’ensemble min J(·)
u
PNp ref
s.t. J = i=1 we (yk+i − yk+i )2
MPC = Model Predictive Control

xk+i =f (xk+i−1 , uk+i , dk+i )
∀i = 1 · · · Np ,
yk+i =g(xk+i , uk+i , dk+i )

∀i = 1 · · · Np , dk+i = h(·)

∀i = 1 · · · Np , ymin ≤ yk+i ≤ ymax

Paramètres de design :
▶ Période d’échantillonage ▶ Pondérations et fonction objective
▶ Horizon de prédiction ▶ Modèle de prédiction
▶ Horizon de contrôle ▶ Résolution
7/20 ▶ Contraintes → performances vs complexité numérique
Commande prédictive
Design d’une commande prédictive
▶ Sample time Ts Tr Tr
20 ≤ Ts ≤ 10
• Ts trop grand ⇒ réponse lente
• Ts trop petit ⇒ complexité numérique

8/20
Commande prédictive
Design d’une commande prédictive
▶ Sample time Ts Tr Tr
20 ≤ Ts ≤ 10
▶ Prediction horizon Np Np Ts ≈ Tsettling
Past Future
Predicted output
Setpoint

Future control actions

• Np trop petit ⇒ difficile d’anticiper les perturbations


• Np trop grand ⇒ complexité numérique (potentiellement superflue)
▶ L’horizon de prédiction doit couvrir les dynamiques d’intérêt du système
8/20
Commande prédictive
Design d’une commande prédictive
▶ Sample time Ts Tr Tr
20 ≤ Ts ≤ 10
▶ Prediction horizon Np Np Ts ≈ Tsettling
▶ Control horizon Nc
Past Future
Predicted output
Setpoint

Free variables
Future control actions
Constant

• Nc trop petit ⇒ pas assez de degrés de liberté pour atteindre l’objectif


• Nc trop grand ⇒ complexité numérique (potentiellement superflue)
8/20
▶ On se limite aux degrés de liberté qui impactent significativement le comportement
Commande prédictive
Design d’une commande prédictive
Contraintes
• sur les entrées u, les sorties y, les états x ou les variations de ces signaux
• 2 types de contraintes:
• Contraintes soft = on aimerait qu’elles soient satisfaites
• Contraintes hard = doivent être satisfaites
Contraintes hard contradictoires ⇒ problème d’optimisation infaisable

min J + ρε
u,ε
Recommandations
s.t. ymin − εVmax ≤ y ≤ ymax + εVmax
• Contraintes sur les sorties soft
• Eviter d’avoir des contraintes hard sur u Np Np −1
X X
et ∆u en même temps J= ref
ωe (yk+i −yk+i )2 + ω∆u (uk+i+1 −uk+i )2
i=1 i=0
9/20
Commande prédictive
Design d’une commande prédictive
Fonction coût et pondérations

▶ La commande MPC peut intégrer différents objectifs


PNp ref 2
• suivi de référence J1 = i=1 w1 ∥yk+i − yk+i ∥2
PNp
• commande modérée J2 = i=1 w2 ∥uk+i ∥22
• autres (ex: objectif économique)
• et contraintes soft intégrées à la fonction coût
→ Les pondérations permettent de combiner ces objectifs contradictoires

J = αJ1 + βJ2

▶ Poids relatifs des objectifs


▶ Attention aux échelles des différents objectifs

10/20
Commande prédictive
Design d’une commande prédictive
Modèle de prédiction

La modélisation représente 75% du temps passé au design d’une loi de commande

Cas général Cas idéal


 
xk+1 =f (xk , uk , wk ) xk+1 =Axk + Buk
yk =g(xk , uk , vk ) yk =Cxk + Duk

Plusieurs cas de figures


▶ Modèle physique disponible
▶ Identification boı̂te noire : uniquement à partir des données
▶ Identification boı̂te grise : estimation des paramètres d’un modèle structuré

11/20
Commande prédictive
Design d’une commande prédictive
Modèle de prédiction

La modélisation représente 75% du temps passé au design d’une loi de commande

Cas général Cas idéal


 
xk+1 =f (xk , uk , wk ) xk+1 =Axk + Buk
yk =g(xk , uk , vk ) yk =Cxk + Duk

▶ Lorsque l’état est utilisé dans la fonction coût, un estimateur peut être nécessaire

x̂k+1 =Ax̂k + Buk + L(yk − ŷk )
ŷk =C x̂k + Duk

11/20
Commande prédictive
Design d’une commande prédictive
Résolution
Cas idéal : LTI MPC ▶ Problème d’optimisation convexe
▶ Système linéaire
→ Unique minimiseur global de la fonction coût
▶ Contraintes linéaire
→ problème bien compris, avec de nombreuses
▶ Fonction coût quadratique méthodes numériques/solveurs efficaces

Comparaison avec la commande LQR:


▶ solution suboptimale car obtenue sur un horizon plus court
▶ mais peut gérer les contraintes et les déviations par rapport au modèle car
résolution en ligne
12/20
Commande prédictive
Design d’une commande prédictive
Résolution
Cas idéal : LTI MPC ▶ Problème d’optimisation convexe
▶ Système linéaire
→ Unique minimiseur global de la fonction coût
▶ Contraintes linéaire
→ problème bien compris, avec de nombreuses
▶ Fonction coût quadratique méthodes numériques/solveurs efficaces

Système L NL ≈ L fortement NL L
Contraintes L L L ou NL NL
Fonction L L L ou NL NL
coût
MPC linéaire MPC adaptatif ou MPC non-linéaire
gain-scheduled
12/20
Commande prédictive
Design d’une commande prédictive

Système non-linéaire + contraintes linéaires + fonction coût quadratique


→ Linéarisation pour bénéficier des propriétés du MPC linéaire

MPC adaptatif: le modèle linéarisé est MPC gain-scheduled: la commande


calculé en ligne à chaque pas de temps alterne entre différents MPC correspondant
à plusieurs points d’opération d’intérêt

MPC
Optimizer Switch

Plant model MPC 1 MPC 2

13/20
Commande prédictive
Design d’une commande prédictive

Système non-linéaire + constraintes non-linéaires + fonction coût non-linéaire

▶ utilisation d’un modèle de prédiction non linéaire → plus de précision


▶ problème non-convexe, plusieurs optimums locaux → beaucoup plus complexe à
résoudre
→ l’efficacité dépend du solver employé
▶ exemple : MPC économique

14/20
Commande prédictive
Design d’une commande prédictive
Faisabilité
▶ Faisabilité à tout instant : en partant des conditions initiales du système, il
existe une trajectoire du système qui satisfait les contraintes
→ Ensemble de faisabilité χN : ensemble des conditions initiales telles que le
problème soit faisable à un horizon N

xk+1 = xk + uk + wk
∥xk ∥2 ≤ xmax
∥uk ∥2 ≤ umax
∥wk ∥2 ≤ wmax

▶ Très important d’avoir cette notion en tête


15/20
Commande prédictive
Design d’une commande prédictive
Stabilité
▶ Stabilité (au sens de Lyapunov)
▶ Fonction de Lyapunov V
(méthode directe ou seconde méthode de
Lyapunov)
Système xk+1 = f (xk ) avec un équilibre à
l’origine

V (x) = 0 ⇐⇒ x = 0
V (x) > 0 ⇐⇒ x ̸= 0 ∀ε, ∃d(ε) : ∥x0 ∥ ≤ d() ⇒ ∥xk ∥ ≤ ∀k
dV Stabilité asymptotique et exponentielle
≤ 0 ∀ x ̸= 0
dt
16/20
(inégalité stricte pour stabilité asymtotique)
Commande prédictive
Design d’une commande prédictive
Stabilité et faisabilité
▶ Problème : On ne résout que sur un horizon à court-terme
▶ Impossible de résoudre pour Np = ∞ (passage à l’échelle)
▶ Mais il est possible de synthétiser la commande MPC à horizon fini pour
s’approcher du cas Np = ∞

Outils à disposition :
▶ Contrainte finale : xk+Np = 0 ou xk+Np ∈ Ξp
▶ Coût final dans la fonction coût : J + xTk+N Qp xk+Np
p

▶ Contrainte de contraction : ∀i = 1 · · · Np , ∥xk+i+1 ∥ ≤ α∥xk+i ∥ avec α < 1


▶ Exemple de fonction de Lyapunov : minimiseur de la fonction coût, norme de
l’état si on en force la décroissance
17/20
Commande prédictive
Résumé

▶ Possibilité d’imposer des contraintes De multiples variantes pour aller plus


→ attention à la faisabilité loin:
▶ Importance du modèle
• MPC robuste
→ en pratique modèle linéaire/linéarisé
→ les paramètres se choisissent en
• MPC stochastique
fonction • MPC explicite
▶ Résolution en ligne d’un problème • MPC adaptatif et gain scheduled
d’optimisation
• MPC nonlinéaire
→ repose sur un hardware rapide
• MPC basé-données
▶ Etude de stabilité plus complexe

18/20
Commande prédictive
Résumé
Implémentation d’une commande prédictive
Pour un système xk+1 = f (xk , uk , wk )
▶ Définir les paramètres de la commande : Ts , Np , Nc
▶ Définition du modèle de prédiction
• Modèle du système (simplifié si nécessaire/possible) : x̂k+1 = fp (xk , uk , wk )
• Perturbations : ŵ ∽ P
• Attention : Vous devez modéliser à l’horizon de prédiction!
▶ Définir la fonction coût J(x̂, u)
▶ Définir le problème d’optimisation
MPC = min(J,contraintes,options)
• Contraintes à définir
• options = dépend du solver utilisé
19/20
Commande prédictive
Résumé
Implémentation d’une commande prédictive
Pour un système xk+1 = f (xk , uk , wk )
▶ Initialisation : x0
Pour k = 1 . . . N
▶ Trouver le signal de commande

uk = argmin(MPC)

▶ Appliquer la commande au système réel avec perturbations réelles

xk+1 = f (xk , uk , wk )

▶ Stocker les résultats


▶ Initialiser la prochaine étape xk = xk+1
Fin
19/20
http://www.laplace.univ-tlse.fr

Des questions?

UNIVERSITÉ PAUL SABATIER ENSEEIHT


Bât. 3R3, 118 route de Narbonne 2 Rue Camichel,
31062 Toulouse Cedex 9 31071 Toulouse Cedex 7

+33 (0)5 61 55 67 97 +33 (0)5 34 32 23 91


sec-ups@laplace.univ-tlse.fr sec-n7@laplace.univ-tlse.fr

Vous aimerez peut-être aussi