Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Model Predictive Control (MPC)

O controle preditivo baseado em modelo (MPC) planeja uma sequência curta de ações com um modelo, aplica apenas a primeira e replaneja a cada etapa. Abrange componentes, usos e código.

O controlo preditivo baseado em modelo (MPC) é um método de controlo que utiliza um modelo de um sistema para prever o seu comportamento num horizonte futuro curto, escolhe a sequência de ações que melhor cumpre um objetivo respeitando as restrições, aplica apenas a primeira ação e, em seguida, repete todo o processo no passo temporal seguinte com novas medições. Este ciclo de planear, agir e voltar a planear chama-se controlo de horizonte deslizante e permite ao controlador antecipar o que está para acontecer, em vez de reagir apenas ao erro atual. O MPC surgiu no refino de petróleo e no processamento químico no final da década de 1970, quando o Controlo de Matriz Dinâmica da Shell foi uma das primeiras versões industriais; hoje, controla robôs, veículos autónomos e sistemas de climatização de edifícios.

Componentes de um controlador MPC#

Todos os controladores MPC combinam quatro componentes:

  • Modelo da dinâmica: Prevê o estado seguinte a partir do estado atual e de uma ação, como a forma como a posição e a direção de um automóvel mudam em função de um determinado ângulo de direção. Pode ser derivado de equações físicas, da identificação de sistemas com dados registados ou de uma rede neural treinada com trajetórias registadas.
  • Função de custo: Atribui uma pontuação a uma trajetória prevista, penalizando normalmente a distância até um objetivo, o consumo de energia e as mudanças bruscas nos controlos.
  • Restrições: Limites que todos os planos têm de respeitar, como o binário máximo do motor, os limites de velocidade e as zonas de exclusão em torno de obstáculos. O tratamento explícito das restrições é a principal vantagem do MPC face ao controlo PID clássico, que só reage aos erros depois de surgirem e não consegue antecipar um limite.
  • Otimizador: Procura a melhor sequência de ações dentro do horizonte em cada passo de controlo.

O modelo determina a dificuldade da otimização. Um modelo linear com um custo quadrático transforma-se num programa quadrático, que os solucionadores especializados resolvem em milissegundos ou menos; os modelos não lineares requerem solucionadores de MPC não linear, normalmente combinados com um filtro de Kalman estendido para estimar o estado, ou com pesquisa baseada em amostragem. Em cada passo de controlo, o otimizador executa um ciclo interno de previsão e melhoria dos planos candidatos, enquanto o controlador executa um ciclo externo que realiza uma ação e recomeça a partir do estado recém-medido:

O comprimento do horizonte é a principal escolha de ajuste. Um horizonte mais longo permite a um veículo travar antecipadamente antes de uma curva apertada, mas cada passo adicional aumenta o custo computacional e acumula o erro de previsão do modelo; além disso, toda a otimização tem de terminar dentro de um período de controlo.

Horizonte recuante no código#

O trecho de código abaixo controla um carrinho que tem de chegar à posição 5 e parar, com a aceleração limitada a mais ou menos 1. A cada passo, amostra 500 planos de aceleração aleatórios, prevê a trajetória de cada plano com a dinâmica do carrinho, executa a primeira ação do plano mais barato e volta a planear a partir do novo estado:

import numpy as np

rng = np.random.default_rng(0)
position, velocity, target = 0.0, 0.0, 5.0
dt, horizon = 0.1, 30

for _ in range(100):
    # Sample 500 candidate plans of accelerations within the actuator limit of +/-1
    plans = rng.uniform(-1, 1, size=(500, horizon))
    # Predict every plan's trajectory with the cart's dynamics model
    v = velocity + dt * plans.cumsum(axis=1)
    p = position + dt * v.cumsum(axis=1)
    # Cost: distance from the target at each step plus speed at the end of the horizon
    cost = ((p - target) ** 2).sum(axis=1) + 10 * v[:, -1] ** 2
    # Apply only the first action of the cheapest plan, then replan from the new state
    velocity += dt * plans[cost.argmin(), 0]
    position += dt * velocity

print(f"position: {position:.2f}, velocity: {velocity:.2f}")

Após 10 segundos simulados, o carrinho fica na posição 5.04, com uma velocidade de 0.04. Nenhum plano aleatório é bom por si só, mas executar um passo e voltar a planear a partir do estado medido corrige os erros continuamente. Esta abordagem, chamada amostragem aleatória, é a forma mais simples da família de MPC baseada em amostragem, que também inclui o método da entropia cruzada e o controlo de integral de caminho preditivo baseado em modelo (MPPI), utilizado por investigadores da Georgia Tech para fazer correr um carro de rali à escala de um quinto numa pista de terra.

MPC em fábricas, robôs, carros e edifícios#

  • Indústrias de processamento: Refinarias, fábricas de produtos químicos e centrais elétricas usam MPC para manter temperaturas, pressões e qualidade dos produtos perto dos limites que maximizam a produção, o contexto em que o método teve origem.
  • Robôs com patas: O Cheetah 3 do MIT corria e mantinha o equilíbrio com um MPC convexo que recalculava as forças de reação do solo muitas vezes por segundo; mais tarde, o MIT disponibilizou esse controlador como software de código aberto para o seu Mini Cheetah.
  • Condução: Os controladores de seguimento de trajetória em automóveis autónomos usam MPC para seguir suavemente uma trajetória planeada dentro dos limites de direção, aceleração e conforto.
  • Edifícios: Os controladores de aquecimento e refrigeração preveem as temperaturas das divisões com várias horas de antecedência, com base nas previsões meteorológicas e de ocupação, e pré-arrefecem ou pré-aquecem quando a energia é mais barata.
  • Controlo PID: Um controlador PID calcula a saída a partir do erro atual, da sua integral e da sua taxa de variação. É simples e barato, mas não tem um modelo do futuro nem noção das restrições.
  • Regulador linear quadrático (LQR): O LQR encontra, em forma fechada, a lei de retroação ótima para um sistema linear com um custo quadrático num horizonte infinito. O MPC resolve online uma versão de horizonte finito, o que lhe permite impor restrições e lidar com modelos não lineares.
  • Aprendizagem por reforço: A AR aprende uma política com base na experiência antes da implementação; depois, escolher uma ação requer apenas uma passagem direta rápida. O MPC resolve online uma nova otimização com um modelo explícito.

As duas abordagens estão cada vez mais integradas. A aprendizagem profunda por reforço baseada em modelos aprende um modelo do mundo e planeia usando-o com MPC; métodos como TD-MPC2 planeiam num espaço latente aprendido, enquanto uma função de valor aprendida avalia o que acontece para lá do fim do horizonte curto. Os modelos de dinâmica aprendidos são uma forma de modelação preditiva, e a sua exatidão ao longo do horizonte determina até onde esse tipo de controlador consegue planear de forma útil.

Perceção para MPC#

Um controlador MPC só planeia tão bem quanto perceciona; num sistema de IA física, como um robô que se move entre pessoas, o seu estado tem de incluir a localização dessas pessoas e a direção em que se deslocam. Uma câmara que executa Ultralytics YOLO26 no modo de seguimento fornece uma caixa delimitadora e um ID de seguimento persistente para cada pessoa em cada fotograma. Combinados com a estimativa de profundidade ou a calibração da câmara e um filtro de Kalman, esses seguimentos tornam-se as posições e velocidades dos obstáculos que as restrições do controlador mantêm desimpedidas.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina