Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Model Predictive Path Integral

  • Detto anche: MPPI, MPPI control, information-theoretic MPC, path integral MPC
  • Categoria: Control › Feedback control
  • Tag: model-predictive-control, sampling-based-control, optimal-control, gpu-computing, navigation

Un metodo di controllo predittivo basato su modello che funziona per campionamento: simula molte sequenze di controllo perturbate casualmente attraverso un modello dinamico e ne fa la media, pesata in base al costo, per scegliere l'azione successiva.

Definizione

Model Predictive Path Integral (MPPI) è una forma di controllo predittivo basato su modello che funziona per campionamento, sviluppata da Grady Williams, Evangelos Theodorou e colleghi, con una dimostrazione del 2016 molto citata su un'auto da rally autonoma in scala ridotta guidata ad alta velocità su una pista sterrata. Come altri controllori predittivi basati su modello, MPPI pianifica una sequenza di ingressi di controllo su un orizzonte breve, applica il primo e ripianifica al passo temporale successivo. Ciò che lo distingue è il modo in cui il piano viene calcolato.

A ogni passo, MPPI parte dalla sequenza di controllo precedente e ne genera un gran numero di versioni perturbate aggiungendo rumore casuale. Ogni sequenza perturbata viene simulata in rollout attraverso un modello dinamico per prevedere la traiettoria risultante, e a quella traiettoria si assegna un punteggio con una funzione di costo. La nuova sequenza di controllo è una media pesata di tutti i campioni, con pesi che diminuiscono esponenzialmente con il costo secondo un parametro di temperatura. I campioni a basso costo dominano la media, mentre l'aggiornamento resta regolare.

Il metodo deriva dalla teoria del controllo path integral, che collega una classe di problemi di controllo ottimo stocastico a valori attesi su traiettorie campionate. In pratica, il principale vantaggio di MPPI è che non ha bisogno di gradienti: il modello dinamico e la funzione di costo possono essere non lineari, discontinui o appresi, purché si possano valutare molte volte. I rollout sono indipendenti, quindi si parallelizzano bene sulle GPU.

I compromessi sono il costo computazionale, che cresce con il numero di campioni e la lunghezza dell'orizzonte, e la sensibilità al livello di rumore e alla temperatura. Con troppo poco rumore il controllore esplora male; con troppo, i comandi diventano nervosi, per cui è comune applicare un livellamento alle sequenze campionate o all'uscita.

Perché è importante

MPPI permette ai robot di pianificare con modelli dinamici complessi o appresi e con costi difficili da derivare, come mappe degli ostacoli e rischio del terreno. Poiché i suoi rollout vengono eseguiti in parallelo, può ripianificare abbastanza in fretta per veicoli terrestri, droni e robot con gambe che operano in tempo reale.

Applicazioni principali

  • Guida autonoma ad alta velocità e fuoristrada
  • Navigazione locale per robot mobili, compreso lo stack Nav2 di ROS 2
  • Controllo agile di quadricotteri
  • Pianificazione con dinamiche apprese e modelli del mondo
  • Manipolazione e locomozione con costi di contatto non regolari

In pratica

Un team che usa MPPI per la navigazione all'aperto di solito lo esegue su una GPU di bordo, campionando molte sequenze di controllo a ogni ciclo su un orizzonte di pochi secondi. Ogni sequenza viene propagata attraverso un modello del veicolo, cinematico, dinamico o un modello di dinamica diretta appreso, e valutata con un costo che combina l'avanzamento verso l'obiettivo, i costi di ostacoli e attraversabilità e la regolarità del controllo. Esistono implementazioni open source, tra cui un controllore MPPI nello stack di navigazione Nav2 di ROS 2. La maggior parte dello sforzo di ingegneria va nella funzione di costo e nei parametri di campionamento: i team regolano la covarianza del rumore e la temperatura in simulazione, poi verificano sull'hardware che il veicolo non oscilli e che reagisca rapidamente ai nuovi ostacoli.

Idee sbagliate comuni

  • MPPI è solo una ricerca casuale — usa la casualità per esplorare, ma la sua media pesata in base al costo deriva dalla teoria del controllo ottimo stocastico
  • Più campioni risolvono sempre le scarse prestazioni — una funzione di costo progettata male o rumore e temperatura regolati male limitano i risultati indipendentemente dal numero di campioni
  • MPPI non ha bisogno di un modello — si affida a un modello dinamico per prevedere ogni rollout; sono superflui solo i gradienti del modello

Chi dovrebbe saperlo

  • Ingegneri del controllo di veicoli autonomi e robot mobili
  • Sviluppatori del controllo di droni e quadricotteri
  • Ricercatori che combinano modelli appresi e pianificazione
  • Utenti di Nav2 che configurano controllori locali

Tecnologie correlate

  • Controllo predittivo basato su modello (Model Predictive Control)
  • Nav2
  • Metodo dell'entropia incrociata (Cross-Entropy Method)
  • iLQR
  • Modello di dinamica diretta (Forward Dynamics Model)
  • CUDA

Termini correlati

  • Model Predictive Control
  • Trajectory Planning
  • Reinforcement Learning

Progetti correlati

  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
  • TurtleBot3: ROS packages for TurtleBot3 — the standard educational mobile robot platform
  • MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.