Contents — find the section you need

O Controle Preditivo por Modelo (MPC) prevê o que um comando atual fará nas próximas etapas, seleciona uma sequência de comandos que melhor equilibra o rastreamento e o esforço, respeitando as restrições, aplica apenas o primeiro comando e, em seguida, mede e resolve novamente. Esse ciclo de horizonte deslizante é valioso quando as entradas têm limites, as variáveis de estado têm limites de segurança, as entradas interagem ou a curvatura e o atraso futuros são relevantes. Ele é usado em diversos setores, desde plantas de processo até veículos, movimento de robôs e sistemas de energia.

O MPC não substitui universalmente o PID. Um otimizador preditivo com uma estimativa de estado tardia, um modelo incorreto, um problema inviável ou um prazo perdido não se torna seguro apenas porque suas restrições matemáticas parecem completas. Muitas arquiteturas robustas mantêm ciclos rápidos de corrente/velocidade PID sob o MPC para coordenação de trajetória, energia, térmica ou multivariável. Leia o ROS 2 Primer para obter informações sobre os limites de execução e o Visual SLAM Primer para entender as suposições de temporização e localização que alimentam um controlador de robô móvel.

Conclusão prática

  • Construa o horizonte N a partir do estado x e da entrada u, e inclua restrições de entrada, taxa de entrada, estado e segurança na otimização, em vez de limitar um comando irrestrito posteriormente.

  • Especifique o que acontece quando o solucionador está atrasado, apresenta erros numéricos ou é inviável antes da implantação. Prazo final, fallback e comportamento de parada independente fazem parte do controlador.

  • Comece com o menor modelo que preveja a escala de tempo relevante. Um modelo maior pode piorar o tempo de execução, o erro de identificação e a manutenção sem melhorar as decisões.

  • Ajuste o horizonte e os pesos com base em prioridades operacionais explícitas: margem de segurança, rastreamento, energia, desgaste, conforto e computação — não aumentando cegamente o peso de rastreamento.

Intuição: decidir frear antes da curva

Um controlador de feedback simples pode virar um veículo após detectar um erro lateral. O MPC pode considerar a curva à frente, a velocidade, a faixa de direção, os limites dos pneus, a aceleração e a distância do obstáculo em conjunto. Ele avalia sequências candidatas de direção e aceleração, escolhe uma que permaneça dentro da região viável, executa apenas o primeiro movimento e, em seguida, descarta a previsão anterior quando uma nova medição chega. Portanto, o MPC não é um adivinho. É um controle de feedback que testa repetidamente hipóteses de curto prazo sobre o futuro.

Fluxo de sinal e o horizonte de recuo

Diagram 1 · Use the button to switch views
MPC: otimização de referência, modelo, restrições e alimentação de estado estimado; Aplique o primeiro movimento e observe novamente.
Referência, modelo, restrições e estado estimado entram no otimizador separadamente. O caminho tracejado retorna novas observações para a próxima resolução. Open figura em tamanho real

Diagrama: Duskcoil, conceitual em vez de medido. Uma trajetória prevista é uma candidata baseada em modelo e deve ser atualizada por observação após a aplicação de uma ação.

Uma formulação MPC linear mínima

Para o modelo linear discreto

x_{k+1}=Ax_k+Bu_k+Ew_k,\qquad y_k=Cx_k

x é o estado, u a entrada, w a perturbação e y a saída. Em um horizonte de previsão N para referência r , um custo quadrático comum é

J=\sum_{i=0}^{N-1}\left(\lVert x_{k+i}-x_{ref,k+i}\rVert_Q^2+\lVert u_{k+i}\rVert_R^2+\lVert\Delta u_{k+i}\rVert_S^2\right)+\lVert x_{k+N}-x_{ref,k+N}\rVert_P^2

onde \Delta u_k=u_k-u_{k-1} . Q,R,S,P expressam a importância do rastreamento de estado, magnitude do comando, mudança abrupta e comportamento terminal. Essas são prioridades de engenharia em forma matemática. Penalizar apenas o erro lateral, por exemplo, pode produzir uma direção brusca, inaceitável para passageiros, pneus ou um atuador.

A diferença essencial em relação a um regulador irrestrito é o conjunto viável explícito:

u_{min}\le u_{k+i}\le u_{max},\quad \Delta u_{min}\le\Delta u_{k+i}\le\Delta u_{max},\quad x_{min}\le x_{k+i}\le x_{max}

Os limites podem representar direção, corrente, temperatura, ângulo da junta, estado da bateria, pressão ou distância de obstáculos. As restrições podem entrar em conflito. Mantenha um limite de colisão ou hardware inviolável rígido; Use uma folga não negativa \epsilon\ge0 apenas para restrições deliberadamente relaxáveis e penalize-a, por exemplo, \rho\lVert\epsilon\rVert^2. Registre quando a folga foi usada: uma restrição flexível é um compromisso declarado, não uma prova de que a violação é inofensiva.

Estimativa, atraso e incompatibilidade de modelo

O MPC prevê a partir de x_k, mas esse estado normalmente é uma estimativa de fusão de sensores. Para um robô móvel usando SLAM visual, a latência de localização, os saltos de relocalização e os quadros inconsistentes corrompem o estado inicial de cada otimização; consulte Visual SLAM Primer. Resolver um problema perfeito com um estado antigo e uma nova referência resulta em um comando fisicamente atrasado.

A incompatibilidade inclui atrito, carga útil, vento, deslizamento dos pneus, capacidade térmica variável e flexibilidade não modelada. As respostas incluem aumento do estado de perturbação ou ação integral, atualizações de parâmetros online, múltiplos modelos, margens MPC robustas/tubulares e um laço interno estabilizado rápido. Nenhuma delas substitui o comportamento de parada independente quando a discrepância está fora do envelope de projeto.

Ajuste do horizonte e dos pesos

Escolha o tempo de amostragem T_s e o horizonte N de forma que NT_s cubra o atraso relevante, a distância de parada, o transiente dominante e a curvatura da rota — mas não tão longe a ponto de o tempo de execução e o erro do modelo em longo prazo dominarem. Um horizonte de controle mais curto pode manter as entradas posteriores constantes e reduzir as variáveis de decisão.

Ajuste nesta ordem: fixe as unidades e os limites de segurança rígidos; escolha os pesos de rastreamento Q para a tarefa operacional; aumente R e S para gerenciar energia, desgaste e suavidade; Em seguida, meça o tempo de resolução no pior caso e a inviabilidade sob ruído, carga, latência e perturbação. Teste um horizonte curto (N) e um horizonte longo antes de selecionar o ponto de operação. Aumentar o valor de Q até que o sistema "pareça rápido" pode fazer com que o otimizador permaneça nos limites das restrições rígidas, deixando pouca margem mesmo quando as restrições são satisfeitas.

Observação Causa plausível Inspecionar primeiro Ação típica
No final da curva horizonte muito curto; atraso de estado caminho previsto vs. medido, carimbos de data/hora ajustar horizonte, plano de velocidade, tratamento de atraso
Comandos irregulares S baixo; estimativa ruidosa \Delta u e rastreamento do sensor aumentar a penalidade de movimento; melhorar o estimador/filtro
Folga/limites frequentes incompatibilidade; sem margem Folga, restrições ativas, perturbação adicionar margem, modelo de perturbação, referência mais suave
Sem solução restrições conflitantes status do solucionador e conjunto ativo definir política inviável; suavizar apenas os limites permitidos
Prazos não cumpridos problema muito grande/variável tempo de resolução no pior caso reduzir modelo/horizonte; configurar solucionador

Relação com PID e segurança

Um laço MPC pode operar a 10–100 Hz para emitir referências de velocidade, atitude ou trajetória, enquanto controladores de motor ou laços PID controlam corrente, velocidade ou posição a uma taxa mais alta. O MPC precisa saber o que o laço interno pode realmente fornecer: saturação, atraso, tempo limite e limites de rastreamento. Se o otimizador estiver atrasado ou inviável, o laço inferior precisa de uma referência segura definida, como velocidade zero, desaceleração controlada ou retenção.

As proteções de segurança devem permanecer independentes do otimizador: parada de emergência, detecção de colisão, limites rígidos de deslocamento, proteção contra sobrecorrente/sobretemperatura, monitoramento de velocidade e mecanismos de vigilância de comunicação. Defina uma resposta para a ausência de solução, erro numérico, estado desatualizado, referência inválida e falha do estimador. A viabilidade no modelo de otimização não é a mesma coisa que a segurança no mundo real.

Exemplos atuais de software, produtos e pesquisas

O MPC (Controle Preditivo por Modelo) migrou das indústrias de processos contínuos para veículos, robótica e gestão de energia. Uma implementação implantada inclui um solucionador, identificação de modelo, estimação de estado, monitoramento e gerenciamento de prazos — e não apenas uma função de custo. O OSQP publica um solucionador de programação quadrática convexa de código aberto e material voltado para MPC. A Visão geral do MPC da MathWorks descreve a estrutura de previsão, restrição e otimização repetida. Essas são referências primárias de implementação, não endossos de produtos.

Na área da robótica, o ros2_control gerencia interfaces de hardware, ciclos de vida do controlador, atualizações assíncronas e encadeamento de controladores. A simples inclusão de um nó MPC no ROS 2 não garante, por si só, o agendamento em tempo real, o alinhamento de timestamps de estado/referência ou um laço de controle inferior seguro e independente. As pesquisas atuais incluem MPC não linear, dinâmica aprendida, MPC robusto à distribuição e otimização conjunta de percepção e planejamento; tempo de execução, explicabilidade, incerteza e garantia de segurança ainda representam limitações práticas.

Lista de verificação de implementação

  1. Defina unidades, frames, taxas de atualização, latência, atualização, horizonte N e peso de movimento S para estado, entrada, perturbação e referência.

  2. Separe as restrições físicas rígidas das restrições operacionais deliberadamente flexíveis.

  3. Teste o tempo de resolução no pior caso, o tempo limite, a inviabilidade e o fallback em caso de falha numérica.

  4. Registre previsões, medições, sequência de entrada, restrições ativas, folga e status do solucionador em um ciclo de clock.
  5. Injete erros de sincronização, perturbações, deslizamento, atraso/perda de sensores e perda de comunicação.
  6. Garanta que o MPC compreenda a saturação do laço interno e que a proteção de parada independente funcione caso o MPC, o ROS 2 ou a estimativa falhem.

Casos de contorno para testar primeiro em simulação

O MPC pode produzir trajetórias atraentes em simulação, portanto, as condições normais podem ocultar suposições perigosas. Automatize mudanças abruptas de referência, alterações de atrito e carga útil, saturação do atuador, medições atrasadas ou ausentes e prazos intencionalmente curtos para o solucionador. Registre qual restrição se tornou ativa, quantos ciclos foram necessários para entrar em um fallback seguro e qual sinal justificou a decisão. Passe para o hardware em baixa velocidade e saída com margem generosa e monitore os resíduos, o tempo de saturação, a folga e a distância de parada, em vez de apenas o indicador de sucesso do solucionador.

Verifique seu entendimento
A sequência de entrada otimizada foi executada por completo?

Normalmente, apenas a primeira entrada é aplicada e, em seguida, o problema é resolvido novamente usando novas observações. Isso incorpora desvios da previsão.

Referências

Related reading

Explore another aspect of this fieldLaboratório MPC — resolva novamente uma sequência de curvatura dentro de um horizonte e dos limites de direçãoExplore another aspect of this fieldLaboratório de comparação de rastreamento de trajetória — execute PP, APP, RPP, Stanley e MPC sob as mesmas condiçõesExplore another aspect of this fieldLaboratório Pure Pursuit — compare o rastreamento de trajetória com antecipação fixa