Skip to content

RCILab/RCI_mppi_framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPPI Unified Control Framework

This repository provides the baseline implementation accompanying the paper:

“A Systematic Survey of Model Predictive Path Integral Control: From Stochastic Theory to Real-Time Robotics”

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

Repository Structure

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

MPPI Baseline (Core Framework)

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

Environment Setup

There are two typical workflows depending on how you plan to use the framework.

1) Python-only simulations (Matplotlib examples)

Use a virtual environment (recommended).

This mode is intended for:

  • algorithm experiments
  • visualization
  • debugging and benchmarking

Full installation steps:

➡ See mppi_framework/README.md

2) ROS2 + MuJoCo + Real-time MPPI

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

Examples

Python simulations live under:

mppi_framework/examples/

They provide simple MPPI demos using Matplotlib, showing:

  • trajectory rollout
  • controller behavior

Demo

MPPI rollouts generated using the framework:

Cartpole

cartpole

Mobile 2D

mobile2d

Quadrotor 3D

quad3d

Manipulator (ROS2)

manipulator

Citation

comming soon

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Maintainer: [Leesai Park] (leesai2000@khu.ac.kr)
Lab: RCI Lab @ Kyung Hee University

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors