Contents — find the section you need

La regolazione lineare quadratica (LQR) assegna un costo alla deviazione di stato e all'utilizzo di un attuatore, quindi deriva la legge di retroazione di stato che minimizza tale costo per un modello lineare. A differenza del PID, che reagisce direttamente all'errore attuale, alla sua storia e alla sua velocità, la LQR può utilizzare posizione, velocità, angolo, velocità angolare, corrente e assi accoppiati come un unico stato. È particolarmente utile per la stabilizzazione locale di un pendolo invertito, l'assetto di un aeromobile, il bilanciamento di un robot o di un braccio robotico.

La LQR non è una soluzione magica per l'ottimalità. Se lo stato richiesto non è misurato, è necessario un osservatore; se il sistema esce dal range di un modello lineare locale, il guadagno perde la sua efficacia; e se i vincoli di ingresso o di stato sono fondamentali, il controllo predittivo basato su modello (MPC) è spesso il livello migliore. Per i limiti di esecuzione di ROS 2, vedere ROS 2 Primer; Per le ipotesi di stima, vedere Introduzione alla fusione di sensori.

Conclusione pratica

  • Da \dot{x}=Ax+Bu e dai pesi Q,R, l'algoritmo LQR a orizzonte infinito produce u=-Kx. Q esprime quanto viene penalizzato l'errore di stato; R esprime il costo del comando.

  • Il guadagno K deriva da un'equazione di Riccati e la sua soluzione P : K=R^{-1}B^TP. Tiene conto dell'accoppiamento modellato invece di regolare manualmente un guadagno per stato.

  • La stabilizzabilità di (A,B) e la rilevabilità/osservabilità di (A,C) sono prerequisiti. Avere un sensore non equivale a essere in grado di ricostruire lo stato richiesto.

L'LQR di per sé non impone limiti agli attuatori, distanze di sicurezza dalle collisioni o arresti di emergenza. Questi aspetti appartengono a limiti e funzioni di sicurezza esterni al guadagno.

Spazio degli stati e flusso del segnale

Uno stato x è la più piccola collezione di variabili che, insieme all'input e al disturbo, determina il comportamento futuro. Un carrello necessita di posizione e velocità; un corpo rotante necessita di angolo e velocità angolare; un azionamento elettromeccanico può aggiungere corrente. Un modello lineare tempo-invariante è

\dot{x}=Ax+Bu+Ew,\qquad y=Cx+Du+v

dove u è il comando, w il disturbo non modellato, y la misurazione e v il rumore del sensore. A descrive l'evoluzione dello stato, B il percorso di ingresso e C ciò che rivelano i sensori.

Nel diagramma, il nodo di somma forma e=\hat{x}-x_r (stato stimato meno riferimento) e l'uscita LQR è u=-Ke. Per un riferimento nullo, questo si riduce al solito u=-K\hat{x}.

Diagram 1 · Use the button to switch views
LQR state-feedback structureA reference state and estimated state are compared, an LQR gain makes a command, the plant and sensor feed a state estimator.reference xᵣequilibrium / pathΣLQR −Kweights Q, Rplant A, Bactuatorsensor Cy + noisestate estimatorx̂, validity, time

Intorno a un punto di equilibrio (x_e,u_e), definire le deviazioni \tilde{x}=x-x_e e \tilde{u}=u-u_e, quindi progettare su \dot{\tilde{x}}=A\tilde{x}+B\tilde{u}. Questa è un'affermazione locale. Un guadagno che stabilizza un pendolo verticale vicino all'angolo zero non è necessariamente un controllore di recupero per un pendolo che è caduto lontano o per un sistema il cui attuatore è saturo.

Equazione di Riccati e costo

LQR continuo a orizzonte infinito minimizza

J=\int_0^\infty\left(x^TQx+u^TRu\right)dt

con Q\succeq0 e R\succ0 . Un valore maggiore di Q rende l'errore di stato oneroso; un valore maggiore di R rende lo sforzo oneroso. Non sommare metri, radianti, metri al secondo e ampere senza scalare. Un buon punto di partenza sono i pesi diagonali basati sui valori ammissibili x_{max} e u_{max} , come 1/x_{max}^2 e 1/u_{max}^2 .

L'equazione algebrica continua di Riccati è

A^TP+PA-PBR^{-1}B^TP+Q=0

e la sua soluzione stabilizzante P fornisce

K=R^{-1}B^TP,\qquad u=-Kx

Questo fornisce il guadagno di retroazione K utilizzato dal controllore.

I sistemi campionati necessitano di un modello discretizzato e di un'equazione di Riccati discreta. I problemi continui a orizzonte finito utilizzano un'equazione differenziale di Riccati; i problemi discreti a orizzonte finito utilizzano un'equazione alle differenze finite; i problemi discreti a orizzonte infinito utilizzano l'equazione DARE. Le matrici del modello continuo sono A,B e il modello discreto è x_{k+1}=A_dx_k+B_du_k. Applicare un guadagno continuo come se fosse un controllore discreto, mescolare gradi con radianti o ignorare la latenza può trasformare un calcolo altrimenti corretto in un dispositivo instabile.

Controllabilità e osservabilità: verificare le condizioni prima del guadagno

La matrice di controllabilità è

\mathcal{C}=[B\ AB\ A^2B\ \cdots\ A^{n-1}B]

Per un sistema a n stati, la condizione di rango massimo è \operatorname{rank}\mathcal{C}=n.

Rango massimo significa che ogni modo è controllabile; LQR richiede che (A,B) sia stabilizzabile e (Q^{1/2},A) deve essere rilevabile per la soluzione di stabilizzazione standard. Questo è distinto dall'osservabilità della coppia di sensori (C,A). La matrice di osservabilità è

\mathcal{O}=\begin{bmatrix}C\\CA\\\vdots\\CA^{n-1}\end{bmatrix}

Rango pieno significa che lo stato può essere ricostruito dalla cronologia di uscita. Vedere Kalman Filter Primer per l'estimatore che viene normalmente abbinato a LQR.

Esempio numerico: stabilizzazione di un doppio integratore

Per un doppio integratore normalizzato con x=[p\ v]^T e comando di accelerazione u,

A=\begin{bmatrix}0&1\\0&0\end{bmatrix},\quad B=\begin{bmatrix}0\\1\end{bmatrix}

Usando Q=\operatorname{diag}(q_p,q_v) si ottiene u=-k_pp-k_vv. È simile a PD, ma entrambi i guadagni vengono selezionati congiuntamente da modello e Q,R . Rendere q_p grande mentre q_v è piccolo provoca accelerazioni e frenate brusche; rendere R troppo piccolo significa che l'utilizzo dell'attuatore è quasi gratuito. Il guadagno risultante è K=[k_p\ k_v] , con k_p,k_v selezionati insieme. I limiti fisici |u|\le u_{max} e |\Delta u|\le r_{max} sono ancora necessari. Se il clipping è frequente, la modellazione del riferimento, la riprogettazione o l'MPC vincolato sono più onesti che chiamare il risultato troncato LQR non vincolato.

Per il doppio integratore continuo con Q=I e R=1 , la stessa derivazione fornisce K=[1\ \sqrt{3}]\simeq[1\ 1.732] . Questo è un esempio normalizzato, non un guadagno da copiare in Hardware: ricalcolare con il modello campionato, la massa, i limiti dell'attuatore e il ritardo del sistema reale.

Scelta tra PID, LQR e MPC

Metodo Adattamento forte Ingressi Gestione dei vincoli Avvertenza principale
PID regolazione rapida a singolo anello errore/storico/frequenza limitatore esterno windup e rumore
LQR stabilizzazione multistato lineare locale stato stimato non esplicito di per sé intervallo del modello e saturazione
MPC predizione multivariabile con limiti stato, modello, riferimento vincoli di ottimizzazione espliciti scadenza e fattibilità

Le architetture annidate sono comuni: anelli PID corrente/velocità, LQR stabilizzazione locale di assetto o posizione e MPC per traiettoria o vincoli. Per il tracciamento anziché la regolazione fissa, utilizzare un riferimento variabile nel tempo, feedforward, gain scheduling o LTV-LQR.

Implementazione e sicurezza del robot

Encoder, IMU, telecamere e LiDAR pubblicano a velocità e con ritardi diversi. Non trasmettere messaggi ordinati in base all'arrivo direttamente come stato. Trasmetti una stima allineata al timestamp, la confidenza/covarianza e lo stato di validità. Il ciclo di vita di ROS 2 e le interfacce hardware descritte in ROS 2 Primer rappresentano i limiti di progettazione, non solo l'organizzazione del software.

IMU integrata GNSS rappresentativaIMU/INS rappresentativa

Immagine: Xsens MTi-G (Kallap85, CC BY-SA 4.0), Wikimedia Commons. Si tratta di un sensore rappresentativo immagine, non un sistema LQR misurato o una raccomandazione di prodotto.

Monitorare la crescita della covarianza dello stimatore, il timeout del sensore, l'incoerenza tra encoder e IMU, la saturazione prolungata e il superamento delle scadenze. Se lo stato non è più affidabile, non continuare a emettere -K\hat{x}. Selezionare una transizione specifica del sistema (velocità a rampa fino a zero, disattivazione della coppia, freno meccanico o arresto di emergenza) in base all'inerzia, alla gravità e alla prossimità umana. Le affermazioni sulla stabilità LQR presuppongono un modello corretto, uno stato corretto e un input non saturo; le protezioni indipendenti devono coprire le ipotesi al di fuori di tale dimostrazione.

Lista di controllo per l'implementazione

  1. Fissare l'equilibrio, le unità, i segni, i frame e il periodo discreto.

  2. Misurare i residui del modello vicino al punto di linearizzazione e definire un inviluppo operativo.

  3. Verificare numericamente la controllabilità e l'osservabilità/rilevabilità.

  4. Normalizzare Q,R dallo stato e dal comando consentiti; registrare ogni cambiamento.

  5. Monitorare la saturazione, i limiti di velocità, stimare la freschezza e l'arresto indipendente al di fuori di LQR.

  6. Testare il ritardo, l'attrito, la variazione del carico utile e la perdita del sensore a bassa potenza prima di espandere l'inviluppo.

Riferimenti

Verifica la tua comprensione
Cosa incoraggia una maggiore penalità di input?

Incoraggia a conservare lo sforzo di controllo. Verifica il compromesso di risposta e scala le variabili di stato con unità diverse in modo appropriato.

Related reading

Explore another aspect of this fieldLab MPC — ririsolvi una sequenza di curvatura entro un orizzonte e vincoli di sterzataExplore another aspect of this fieldLab di confronto tra inseguitori di percorso — esegui PP, APP, RPP, Stanley e MPC nelle stesse condizioniExplore another aspect of this fieldLab Pure Pursuit — confrontare l'inseguimento del percorso a lookahead fisso