roscore / python_simple_mppi

Python implementation of MPPI (Model Predictive Path-Integral) controller to understand the basic idea. Mandatory dependencies are numpy and matplotlib only.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License: MIT Poetry

Simple MPPI Implementation with Python

Model Predictive Path-Integral (MPPI) Control [G. Williams et al., 2018] is a promising sampling-based optimal control algorithm.
This repository is for understanding the basic idea of the algorithm.

pathtracking demonstraion

swinging up pendulum demonstraion

swinging up pendulum demonstraion

Dependency

  • python

    • version 3.10 or higher is recommended.
  • poetry

    • seting up python environment easily and safely.
    • only numpy, matplotlib, notebook are needed to run all scripts in this repository.
  • ffmpeg

    • mp4 movie writer

    • installation details
      • For Ubuntu Users
        • sudo apt-get update
        • sudo apt-get -y install ffmpeg
      • For Windows Users
        • Install scoop
        • scoop install ffmpeg
      • For macOS Users
      • Check the official website if necessary

Setup

git clone https://github.com/MizuhoAOKI/python_simple_mppi.git
cd python_simple_mppi
poetry install

Usage

Path Tracking

pendulum

  • Run path-tracking simulation

    cd python_simple_mppi
    poetry run python scripts/mppi_pathtracking.py
  • Run jupyter notebook if you would like to check mathematical explanations on the algorithm.

    cd python_simple_mppi
    poetry run jupyter notebook notebooks/mppi_pathtracking.ipynb

Pendulum

pendulum

  • Run simulation to swing up a pendulum.

    cd python_simple_mppi
    poetry run python scripts/mppi_pendulum.py
  • Run jupyter notebook if you would like to check mathematical explanations on the algorithm.

    cd python_simple_mppi
    poetry run jupyter notebook notebooks/mppi_pendulum.ipynb

CartPole

cartpole

  • Run simulation of cartpole

    cd python_simple_mppi
    poetry run python scripts/mppi_cartpole.py
  • Run jupyter notebook if you would like to check mathematical explanations on the algorithm.

    cd python_simple_mppi
    poetry run jupyter notebook notebooks/mppi_cartpole.ipynb

References

  1. G. Williams et al. "Information-Theoretic Model Predictive Control: Theory and Applications to Autonomous Driving"

About

Python implementation of MPPI (Model Predictive Path-Integral) controller to understand the basic idea. Mandatory dependencies are numpy and matplotlib only.

License:Other


Languages

Language:Jupyter Notebook 59.5%Language:Python 40.5%