This repository provides the baseline implementation accompanying the paper:
“Unifying Model Predictive Path Integral Control: From Stochastic Theory to Real-Time Implementation”
The full paper is available here:
👉 Download the PDF
The framework is designed as a unified experimental platform for developing, testing, and extending MPPI-based controllers — from simple simulations to full ROS2 robotic systems.
Built around a modular architecture, the framework separates MPPI into independent components:
- sampling
- dynamics
- cost definitions
- rollout & visualization
Each module can be replaced or extended without modifying the others, enabling:
- rapid prototyping
- fair benchmarking
- real-time experiments
- research reproducibility
mppi_framework/ Core MPPI Python baseline
├── core/ Core components (registry)
├── defaults/ Built-in sampling, dynamics, costs, configs
├── interfaces/ Common abstract interfaces (sampling, dynamics, costs, etc.)
├── examples/ Python simulation & plotting demos (Matplotlib)
└── utils/ Helpers and utilities
ros2/ ROS2 packages and integration layer
├── mppi_ros2/ MPPI ROS2 controller node
├── mujoco_ros2/ MuJoCo <-> ROS2 simulation bridge
└── robot_description/ URDF, meshes, and robot model resources
The mppi_framework/ directory contains the research baseline implementation.
Features include:
- GPU-accelerated rollout engine
- modular cost & sampling interfaces
- ready-to-use dynamics models
- visualization utilities
- clean API for new MPPI variants
There are two typical workflows depending on how you plan to use the framework.
Use a virtual environment (recommended).
This mode is intended for:
- algorithm experiments
- visualization
- debugging and benchmarking
Full installation steps:
➡ See mppi_framework/README.md
Use a ROS2 workspace (system-level install recommended).
This mode is intended for:
- real robots
- simulation pipelines
- integration with ROS2 tools
Full installation and launch instructions:
➡ See ros2/README.md
Python simulations live under:
mppi_framework/examples/
They provide simple MPPI demos using Matplotlib, showing:
- trajectory rollout
- controller behavior
MPPI rollouts generated using the framework:
comming soon
This project is licensed under the MIT License - see the LICENSE file for details.
Maintainer: [Leesai Park] (leesai2000@khu.ac.kr)
Lab: RCI Lab @ Kyung Hee University



