Differential Wheeled Mobile Robot - Nonlinear Model Predictive Control based on ROS
The goal of this repository is to implement the path tracking algorithm of mobile robot using the Nonlinear Model Predictive Control(NMPC), one of the optimal controllers. The NMPC can provide the poweful and effective performance among existing optimal controllers since it can have the preview ability and easy to regulate constraints. This repository is based on ROS(Robot Operating System). Therefore it supports the local planner plugin and standalone node as well.
Ubuntu 18.04
Install ROS Melodic.
Install ROS dependencies.
sudo apt install ros-melodic-costmap-2d \
ros-melodic-move-base \
ros-melodic-global-planner \
ros-melodic-amcl
Install Ipopt: Please refer the tutorial in "document/ipopt_install".
Create your own catkin_ws and clone the repositories.
git clone https://github.com/Geonhee-LEE/mpc_ros.git
git clone https://github.com/CzJaewan/servingbot.git
NOTE: you can also refer other models such as ackermann model, holonomic model. you can see it mpc_ros_description
Build (catkin_make) and Try it.
roslaunch mpc_ros nav_gazebo.launch
roslaunch mpc_ros ref_trajectory_tracking_gazebo.launch
mpc_ros/MPCPlannerROS
.<param name="base_local_planner" value="mpc_ros/MPCPlannerROS"/>
Contact: [email protected]
Date: 2020/05/02
License: Apache 2.0