iPhet / proj-svg_mppi

Stein Variational Guided Model Predictive Path Integral Control: Proposal and Experiments with Fast Maneuvering Vehicles

Home Page:https://arxiv.org/abs/2309.11040

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stein Variational Guided Model Predictive Path Integral Control (SVG-MPPI)

Overview

Demo Video: https://www.youtube.com/watch?v=ML_aOYQIDL0

@article{honda2023stein,
      title={Stein Variational Guided Model Predictive Path Integral Control: Proposal and Experiments with Fast Maneuvering Vehicles}, 
      author={Kohei Honda and Naoki Akai and Kosuke Suzuki and Mizuho Aoki and Hirotaka Hosogaya and Hiroyuki Okuda and Tatsuya Suzuki},
      eprint={arXiv:2309.11040},
      year={2023}
}

Tested Environment

  • Ubuntu Focal 20.04 (LTS)
  • ROS Noetic
Basic Instllation

Install ROS noetic

Installation guide

# Set up your computer to accept software from packages.ros.org
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

# Set up your keys
sudo apt install -y curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update

# install ROS
sudo apt install -y ros-noetic-desktop-full

# Install other tools 
sudo apt install python3-osrf-pycommon python3-catkin-tools

Install Docker

Installation guide

# Install from get.docker.com
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USER

Install Dependencies

cd proj-svg_mppi
make setup

Build Controllers

cd proj-svg_mppi
make build

Run Simulation with Visualization

Launch simulator in the Docker container

cd proj-svg_mppi
./script/launch_simulator.sh

Launch controllers in another terminal

cd proj-svg_mppi
./script/launch_controllers.sh 

You can change the all MPPI parameters and settings in the yaml file

Evaluation

You can reproduce all simulation results in the paper by one command:

cd proj-svg_mppi/script
./eval_all.sh

Or, You can evaluate a fixed parameters by this command:

cd proj-svg_mppi/script
./eval.sh

Note: The evaluation is used asynchronous simulation using ROS. So, the results can be slightly changed even if all seeds are fixed.

About

Stein Variational Guided Model Predictive Path Integral Control: Proposal and Experiments with Fast Maneuvering Vehicles

https://arxiv.org/abs/2309.11040

License:MIT License


Languages

Language:C++ 53.2%Language:Python 39.1%Language:CMake 5.3%Language:Shell 1.8%Language:Dockerfile 0.5%Language:Makefile 0.1%