Model Predictive Path Integral
- También llamado: MPPI, MPPI control, information-theoretic MPC, path integral MPC
- Categoría: Control › Feedback control
- Etiquetas: model-predictive-control, sampling-based-control, optimal-control, gpu-computing, navigation
Un método de control predictivo basado en modelo que funciona por muestreo: simula muchas secuencias de control perturbadas aleatoriamente a través de un modelo dinámico y las promedia, ponderadas por su coste, para elegir la siguiente acción.
Definición
Model Predictive Path Integral (MPPI) es una forma de control predictivo basado en modelo que funciona por muestreo, desarrollada por Grady Williams, Evangelos Theodorou y colaboradores, con una demostración de 2016 muy citada en un coche de rally autónomo a pequeña escala conducido a alta velocidad en una pista de tierra. Como otros controladores predictivos basados en modelo, MPPI planifica una secuencia de entradas de control en un horizonte corto, aplica la primera y vuelve a planificar en el siguiente paso de tiempo. Lo que lo distingue es cómo se calcula el plan.
En cada paso, MPPI parte de la secuencia de control anterior y genera un gran número de versiones perturbadas añadiéndole ruido aleatorio. Cada secuencia perturbada se despliega a través de un modelo dinámico para predecir la trayectoria resultante, y esa trayectoria se puntúa con una función de coste. La nueva secuencia de control es una media ponderada de todas las muestras, con pesos que disminuyen exponencialmente con el coste según un parámetro de temperatura. Las muestras de bajo coste dominan la media, mientras que la actualización se mantiene suave.
El método procede de la teoría del control por integrales de camino, que relaciona una clase de problemas de control óptimo estocástico con esperanzas sobre trayectorias muestreadas. En la práctica, el principal atractivo de MPPI es que no necesita gradientes: el modelo dinámico y la función de coste pueden ser no lineales, discontinuos o aprendidos, siempre que puedan evaluarse muchas veces. Los despliegues son independientes, por lo que se paralelizan bien en GPU.
Las contrapartidas son el coste computacional, que crece con el número de muestras y la longitud del horizonte, y la sensibilidad al nivel de ruido y a la temperatura. Con muy poco ruido el controlador explora mal; con demasiado, las órdenes se vuelven temblorosas, por lo que es habitual suavizar las secuencias muestreadas o la salida.
Por qué importa
MPPI permite a los robots planificar con modelos dinámicos complejos o aprendidos y con costes difíciles de diferenciar, como mapas de obstáculos y riesgo del terreno. Como sus despliegues se ejecutan en paralelo, puede replanificar lo bastante rápido para vehículos terrestres, drones y robots con patas que operan en tiempo real.
Aplicaciones clave
- Conducción autónoma a alta velocidad y todoterreno
- Navegación local para robots móviles, incluida la pila Nav2 de ROS 2
- Control ágil de cuadricópteros
- Planificación con dinámicas aprendidas y modelos del mundo
- Manipulación y locomoción con costes de contacto no suaves
En la práctica
Un equipo que usa MPPI para la navegación en exteriores normalmente lo ejecuta en una GPU a bordo, muestreando muchas secuencias de control en cada ciclo a lo largo de un horizonte de unos pocos segundos. Cada secuencia se propaga a través de un modelo del vehículo, ya sea un modelo cinemático o dinámico o un modelo de dinámica directa aprendido, y se puntúa con un coste que combina el avance hacia el objetivo, los costes de obstáculos y de transitabilidad y la suavidad del control. Existen implementaciones de código abierto, entre ellas un controlador MPPI en la pila de navegación Nav2 de ROS 2. La mayor parte del esfuerzo de ingeniería se dedica a la función de coste y a los parámetros de muestreo: los equipos ajustan la covarianza del ruido y la temperatura en simulación y después comprueban en el hardware que el vehículo no oscila y que reacciona rápido ante nuevos obstáculos.
Ideas erróneas comunes
- MPPI es solo búsqueda aleatoria — usa la aleatoriedad para explorar, pero su promediado ponderado por coste se deriva de la teoría del control óptimo estocástico
- Más muestras siempre corrigen un mal rendimiento — una función de coste mal diseñada o un ruido y una temperatura mal ajustados limitan los resultados sea cual sea el número de muestras
- MPPI no necesita un modelo — depende de un modelo dinámico para predecir cada despliegue; solo los gradientes del modelo son innecesarios
Quién debería saberlo
- Ingenieros de control de vehículos autónomos y robots móviles
- Desarrolladores de control de drones y cuadricópteros
- Investigadores que combinan modelos aprendidos con planificación
- Usuarios de Nav2 que configuran controladores locales
Tecnologías relacionadas
- Control predictivo basado en modelo (Model Predictive Control)
- Nav2
- Método de entropía cruzada (Cross-Entropy Method)
- iLQR
- Modelo de dinámica directa (Forward Dynamics Model)
- CUDA
Términos relacionados
Proyectos relacionados
- 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