Linear-Quadratic Regulator
- Também chamado: LQR, linear quadratic regulator
- Categoria: Control › Feedback control
- Tags: optimal-control, feedback-control, state-space, riccati-equation, stabilization
Um controlador ótimo por realimentação para sistemas lineares com custos quadráticos de estado e de entrada, cuja solução é uma matriz de ganho encontrada a partir de uma equação de Riccati.
Definição
Um regulador linear quadrático (LQR) (linear-quadratic regulator) encontra a lei de realimentação que minimiza um custo quadrático para um sistema com dinâmica linear. Em tempo discreto, a dinâmica é x_{k+1} = A x_k + B u_k e o custo é a soma ao longo do tempo de xᵀQx + uᵀRu, em que Q pondera o erro de estado e R pondera o esforço de controle. O controle ótimo é uma realimentação linear de estado, u = −Kx, e o ganho K vem da equação de Riccati: uma recursão para trás para um horizonte finito, ou a equação algébrica de Riccati para um horizonte infinito. Kalman formulou o problema nessa forma em 1960, e o LQR continua sendo um dos fundamentos do controle moderno.
Na prática, os engenheiros escolhem Q e R em vez de alocar polos diretamente. Entradas maiores em Q fazem o controlador combater com mais força os erros nesses estados; um R maior faz com que ele use menos esforço dos atuadores. A regra de Bryson, que define cada peso diagonal como um dividido pelo quadrado do maior valor aceitável, é um ponto de partida comum. Com realimentação do estado completo, o LQR em tempo contínuo tem margens de robustez garantidas, incluindo pelo menos 60 graus de margem de fase em cada canal de entrada. Essas garantias não se mantêm quando o estado é estimado por um observador; combinar o LQR com um filtro de Kalman dá o controle LQG, que é ótimo para ruído gaussiano, mas não tem margens garantidas.
A maioria dos robôs é não linear, então o LQR é aplicado a uma linearização. Linearizar em torno de um equilíbrio, como um pêndulo invertido na vertical ou um quadrirrotor pairando, dá um controlador que funciona dentro de uma região de atração em torno desse ponto. Linearizar ao longo de uma trajetória dá o LQR variante no tempo, e repetir o processo em torno de trajetórias melhoradas leva ao LQR iterativo e à programação dinâmica diferencial. O LQR não lida com restrições como limites de torque; o controle preditivo por modelo as acrescenta resolvendo online uma otimização com restrições, e um MPC linear sem restrições com custo quadrático e um horizonte longo o suficiente reproduz o ganho do LQR. Muitos projetos de MPC também usam o custo futuro (cost-to-go) do LQR como custo terminal.
Por que importa
O LQR oferece uma forma fundamentada de projetar controladores por realimentação com múltiplas entradas a partir de um modelo e de duas matrizes de pesos, com garantias de estabilidade para o sistema linearizado. Ele é o ponto de partida para o rastreamento de trajetórias, o controle de equilíbrio e grande parte do controle ótimo e preditivo.
Principais aplicações
- Controle de equilíbrio para pêndulos invertidos, robôs autoequilibrados sobre rodas e humanoides
- Estabilização de pairagem e de atitude para multirrotores
- Rastreamento de trajetórias com LQR variante no tempo
- Custo terminal e controlador local no controle preditivo por modelo
- Controladores estabilizadores para otimização iterativa de trajetórias
Na prática
Uma equipe que constrói um robô autoequilibrado de duas rodas o modela como um carrinho com um pêndulo invertido e lineariza a dinâmica em torno da posição vertical, obtendo as matrizes A e B para arfagem, taxa de arfagem, posição das rodas e velocidade das rodas. A equipe define Q para penalizar fortemente a arfagem e levemente a posição das rodas, escolhe R a partir do limite de torque dos motores com a regra de Bryson e calcula K com um solucionador de Riccati em tempo discreto na taxa de controle de 200 Hz. Nos testes, o robô se equilibra, mas os motores saturam após um empurrão forte, então a equipe aumenta R até que os comandos fiquem dentro dos limites para as perturbações esperadas. Um estimador de estado funde dados da IMU e do encoder para fornecer o estado completo de que o controlador precisa.
Equívocos comuns
- O LQR lida com os limites dos atuadores — ele ignora restrições, então a saturação precisa ser verificada separadamente ou tratada com MPC
- O LQR só funciona para robôs lineares — ele é aplicado rotineiramente a sistemas não lineares por meio de linearização, válida perto do ponto de operação ou da trajetória
- O LQR é sempre robusto — suas margens garantidas exigem realimentação do estado completo; com um observador, como no LQG, a robustez precisa ser verificada
- Q e R vêm da física — são escolhas de projeto que equilibram rastreamento e esforço e são ajustadas para a tarefa
Quem deve saber
- Engenheiros de controle que projetam controladores por realimentação
- Desenvolvedores de robôs com pernas, autoequilibrados e aéreos
- Pesquisadores de otimização de trajetórias e MPC
- Estudantes de robótica que aprendem controle ótimo
Tecnologias relacionadas
- Solucionadores da equação de Riccati (Riccati Equation Solvers)
- Filtro de Kalman (Kalman Filter)
- Controle LQG (LQG Control)
- LQR iterativo (Iterative LQR)
- python-control e MATLAB Control System Toolbox
Termos relacionados
- Model Predictive Control
- Differential dynamic programming
- Hamilton-Jacobi-Bellman Equation (HJB)
- Region of attraction
- PID Controller
- Double Integrator
Vídeos
- 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