This repository provides samples of Model Predictive Controller(MPC) implementation with python.
The options of optimization solver is PANOC and IPOPT.
Just change "solver_type" in simulation_setting.yaml as you like.
It is a famous solver for a nonlinear optimization problem. See IPOPT official page for detail.
It is a numerical optimization solver written in Rust. The algorythm is called PANOC(Proximal Averaged Newton-type method for Optimal Control).
Following features are highlighted.
- Embeddable
- Accurate
- Fast
- User Friendly
- Community
- Documented
See Official Page for detail.
realtime_visualizer.mp4
Here are procedures for ubuntu users.
- Install Python
- pyenv is helpful to switch version of python interpreters.
- Python version 3.8.x is recommended.
- Install Poetry
$ curl -sSL https://install.python-poetry.org | python3 -
$ echo export PATH="/home/mizuho/.local/bin:$PATH" >> ~/.bashrc
- Install cargo
$ sudo apt-get -y install cargo
- Clone this repository
git clone https://github.com/MizuhoAOKI/pympc_panoc_ipopt.git
- Install python libraries
$ cd pympc_panoc_ipopt
$ poetry install
$ cd pympc_panoc_ipopt
$ poetry shell
$ cd pathtrack
$ python main.py