Linear-Quadratic Regulator
- Aussi appelé: LQR, linear quadratic regulator
- Catégorie: Control › Feedback control
- Mots-clés: optimal-control, feedback-control, state-space, riccati-equation, stabilization
Un contrôleur par retour optimal pour les systèmes linéaires à coûts quadratiques sur l'état et l'entrée, dont la solution est une matrice de gain obtenue à partir d'une équation de Riccati.
Définition
Un régulateur linéaire quadratique (linear-quadratic regulator, LQR) détermine la loi de commande par retour qui minimise un coût quadratique pour un système à dynamique linéaire. En temps discret, la dynamique s'écrit x_{k+1} = A x_k + B u_k et le coût est la somme dans le temps de xᵀQx + uᵀRu, où Q pondère l'erreur d'état et R l'effort de commande. La commande optimale est un retour d'état linéaire, u = −Kx, et le gain K découle de l'équation de Riccati : une récurrence rétrograde pour un horizon fini, ou l'équation algébrique de Riccati pour un horizon infini. Kalman a formulé le problème sous cette forme en 1960, et le LQR reste l'un des fondements de l'automatique moderne.
En pratique, les ingénieurs choisissent Q et R plutôt que de placer directement les pôles. Des coefficients plus grands dans Q font lutter le contrôleur plus fort contre les erreurs sur les états correspondants ; un R plus grand lui fait utiliser moins d'effort d'actionneur. La règle de Bryson, qui fixe chaque poids diagonal à l'inverse du carré de la plus grande valeur acceptable, est un point de départ courant. Avec un retour d'état complet, le LQR en temps continu possède des marges de robustesse garanties, dont au moins 60 degrés de marge de phase sur chaque canal d'entrée. Ces garanties ne tiennent plus lorsque l'état est estimé par un observateur ; combiner le LQR avec un filtre de Kalman donne la commande LQG, optimale pour un bruit gaussien mais sans marges garanties.
La plupart des robots sont non linéaires, si bien que le LQR est appliqué à une linéarisation. Linéariser autour d'un équilibre, comme un pendule inversé à la verticale ou un quadrirotor en vol stationnaire, donne un contrôleur qui fonctionne dans une région d'attraction autour de ce point. Linéariser le long d'une trajectoire donne le LQR variant dans le temps, et répéter le processus autour de trajectoires améliorées mène au LQR itératif et à la programmation dynamique différentielle. Le LQR ne gère pas les contraintes comme les limites de couple ; la commande prédictive (model predictive control) les ajoute en résolvant en ligne une optimisation sous contraintes, et une MPC linéaire sans contraintes avec un coût quadratique et un horizon assez long reproduit le gain du LQR. De nombreuses conceptions de MPC utilisent aussi le coût-à-venir du LQR comme coût terminal.
Pourquoi c'est important
Le LQR offre une manière fondée de concevoir des contrôleurs par retour multi-entrées à partir d'un modèle et de deux matrices de pondération, avec des garanties de stabilité pour le système linéarisé. C'est le point de départ du suivi de trajectoire, de la commande d'équilibre et d'une grande partie de la commande optimale et prédictive.
Applications principales
- Commande d'équilibre pour pendules inversés, robots à roues auto-équilibrés et humanoïdes
- Stabilisation du vol stationnaire et de l'attitude des multirotors
- Suivi de trajectoire par LQR variant dans le temps
- Coût terminal et contrôleur local en commande prédictive
- Contrôleurs stabilisants pour l'optimisation de trajectoire itérative
En pratique
Une équipe qui construit un robot auto-équilibré à deux roues le modélise comme un chariot portant un pendule inversé et linéarise la dynamique autour de la position verticale, ce qui donne des matrices A et B pour le tangage, la vitesse de tangage, la position des roues et la vitesse des roues. Elle règle Q pour pénaliser fortement le tangage et faiblement la position des roues, choisit R à partir de la limite de couple des moteurs avec la règle de Bryson, et calcule K avec un solveur de Riccati en temps discret à la fréquence de commande de 200 Hz. Lors des essais, le robot tient en équilibre mais les moteurs saturent après une forte poussée ; l'équipe augmente donc R jusqu'à ce que les commandes restent dans les limites pour les perturbations attendues. Un estimateur d'état fusionne les données de l'IMU et des codeurs pour fournir l'état complet dont le contrôleur a besoin.
Idées reçues
- Le LQR gère les limites des actionneurs — il ignore les contraintes, donc la saturation doit être vérifiée séparément ou traitée par MPC
- Le LQR ne fonctionne que pour des robots linéaires — il est couramment appliqué à des systèmes non linéaires par linéarisation, valable près du point de fonctionnement ou de la trajectoire
- Le LQR est toujours robuste — ses marges garanties exigent un retour d'état complet ; avec un observateur, comme en LQG, la robustesse doit être vérifiée
- Q et R viennent de la physique — ce sont des choix de conception qui arbitrent entre suivi et effort et qui sont réglés pour la tâche
Qui devrait le savoir
- Automaticiens qui conçoivent des contrôleurs par retour
- Développeurs de robots à pattes, auto-équilibrés et aériens
- Chercheurs en optimisation de trajectoire et en MPC
- Étudiants en robotique qui apprennent la commande optimale
Technologies associées
- Solveurs d'équations de Riccati (Riccati Equation Solvers)
- Filtre de Kalman (Kalman Filter)
- Commande LQG (LQG Control)
- LQR itératif (Iterative LQR)
- python-control et MATLAB Control System Toolbox
Termes associés
- Model Predictive Control
- Differential dynamic programming
- Hamilton-Jacobi-Bellman Equation (HJB)
- Region of attraction
- PID Controller
- Double Integrator
Vidéos
- What Is Linear Quadratic Regulator (LQR) Optimal Control? | State Space, Part 4: MATLAB
- Linear Quadratic Regulator (LQR) Control for the Inverted Pendulum on a Cart [Control Bootcamp]: Steve Brunton