Linear-Quadratic Regulator
- Detto anche: LQR, linear quadratic regulator
- Categoria: Control › Feedback control
- Tag: optimal-control, feedback-control, state-space, riccati-equation, stabilization
Un controllore ottimo in retroazione per sistemi lineari con costi quadratici sullo stato e sull'ingresso, la cui soluzione è una matrice di guadagno ricavata da un'equazione di Riccati.
Definizione
Un regolatore lineare quadratico (LQR) (linear-quadratic regulator) trova la legge di retroazione che minimizza un costo quadratico per un sistema con dinamica lineare. A tempo discreto la dinamica è x_{k+1} = A x_k + B u_k e il costo è la somma nel tempo di xᵀQx + uᵀRu, dove Q pesa l'errore di stato e R pesa lo sforzo di controllo. Il controllo ottimo è una retroazione lineare dello stato, u = −Kx, e il guadagno K si ricava dall'equazione di Riccati: una ricorsione all'indietro per un orizzonte finito, oppure l'equazione algebrica di Riccati per un orizzonte infinito. Kalman ha formulato il problema in questa forma nel 1960, e l'LQR resta uno dei fondamenti del controllo moderno.
In pratica gli ingegneri scelgono Q e R invece di assegnare direttamente i poli. Elementi più grandi in Q fanno sì che il controllore contrasti con più forza gli errori su quegli stati; un R più grande gli fa usare meno sforzo degli attuatori. La regola di Bryson, che imposta ciascun peso diagonale a uno diviso il quadrato del massimo valore accettabile, è un punto di partenza comune. Con retroazione dello stato completo, l'LQR a tempo continuo ha margini di robustezza garantiti, tra cui almeno 60 gradi di margine di fase su ogni canale di ingresso. Queste garanzie non valgono più quando lo stato è stimato da un osservatore; combinare l'LQR con un filtro di Kalman dà il controllo LQG, che è ottimo per rumore gaussiano ma non ha margini garantiti.
La maggior parte dei robot è non lineare, quindi l'LQR viene applicato a una linearizzazione. Linearizzare attorno a un equilibrio, come un pendolo inverso in posizione verticale o un quadrirotore in hovering, dà un controllore che funziona all'interno di una regione di attrazione attorno a quel punto. Linearizzare lungo una traiettoria dà l'LQR tempo-variante, e ripetere il processo attorno a traiettorie migliorate porta all'LQR iterativo e alla programmazione dinamica differenziale. L'LQR non gestisce vincoli come i limiti di coppia; il controllo predittivo basato su modello li aggiunge risolvendo online un'ottimizzazione vincolata, e un MPC lineare senza vincoli con costo quadratico e un orizzonte abbastanza lungo riproduce il guadagno dell'LQR. Molti progetti di MPC usano anche il costo residuo (cost-to-go) dell'LQR come costo terminale.
Perché è importante
L'LQR offre un modo rigoroso per progettare controllori in retroazione a più ingressi a partire da un modello e da due matrici di pesi, con garanzie di stabilità per il sistema linearizzato. È il punto di partenza per l'inseguimento di traiettorie, il controllo dell'equilibrio e gran parte del controllo ottimo e predittivo.
Applicazioni principali
- Controllo dell'equilibrio per pendoli inversi, robot autobilanciati su ruote e umanoidi
- Stabilizzazione dell'hovering e dell'assetto dei multirotori
- Inseguimento di traiettorie con LQR tempo-variante
- Costo terminale e controllore locale nel controllo predittivo basato su modello
- Controllori stabilizzanti per l'ottimizzazione iterativa di traiettorie
In pratica
Un team che costruisce un robot autobilanciato a due ruote lo modella come un carrello con un pendolo inverso e linearizza la dinamica attorno alla posizione verticale, ottenendo le matrici A e B per beccheggio, velocità di beccheggio, posizione delle ruote e velocità delle ruote. Il team imposta Q per penalizzare molto il beccheggio e poco la posizione delle ruote, sceglie R dal limite di coppia dei motori con la regola di Bryson e calcola K con un risolutore di Riccati a tempo discreto alla frequenza di controllo di 200 Hz. Nei test il robot sta in equilibrio, ma i motori saturano dopo una spinta forte, quindi il team aumenta R finché i comandi restano entro i limiti per i disturbi previsti. Uno stimatore di stato fonde i dati dell'IMU e degli encoder per fornire lo stato completo di cui il controllore ha bisogno.
Idee sbagliate comuni
- L'LQR gestisce i limiti degli attuatori — ignora i vincoli, quindi la saturazione va verificata a parte o gestita con l'MPC
- L'LQR funziona solo per robot lineari — viene applicato abitualmente a sistemi non lineari tramite linearizzazione, valida vicino al punto di lavoro o alla traiettoria
- L'LQR è sempre robusto — i suoi margini garantiti richiedono la retroazione dello stato completo; con un osservatore, come nell'LQG, la robustezza va verificata
- Q e R derivano dalla fisica — sono scelte di progetto che bilanciano inseguimento e sforzo e vengono tarate sul compito
Chi dovrebbe saperlo
- Ingegneri di controllo che progettano controllori in retroazione
- Sviluppatori di robot con gambe, autobilanciati e aerei
- Ricercatori di ottimizzazione di traiettorie e MPC
- Studenti di robotica che imparano il controllo ottimo
Tecnologie correlate
- Risolutori dell'equazione di Riccati (Riccati Equation Solvers)
- Filtro di Kalman (Kalman Filter)
- Controllo LQG (LQG Control)
- LQR iterativo (Iterative LQR)
- python-control e MATLAB Control System Toolbox
Termini correlati
- Model Predictive Control
- Differential dynamic programming
- Hamilton-Jacobi-Bellman Equation (HJB)
- Region of attraction
- PID Controller
- Double Integrator
Video
- 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