Skip to content

RCILab/RCI_mppi_framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPPI Unified Control Framework

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

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

No packages published