I Strongly refered to the HyphaROS MPC MiniCar(https://hypharosworkshop.wordpress.com/) (Thanks for great source).
I changed the mobile robot model from bycycle to the unicycle which means differential drive wheeled mobile robot for implementing service mobile robot.
Construct the simulation env and compare with DWA algorithm
Contact: [email protected]
Date: 2019/02/16
License: Apache 2.0 (from HyphaROS MPC MiniCar)
- Nonlinear Bicycle Model Based MPC (through ipopt solver)
- AMCL localization (encoder-odometry based)
- GAZEBO Simulation (supports: MPC)
- Install ROS Kinetic (Desktop-Full) (http://wiki.ros.org/kinetic/Installation/Ubuntu)
- Install dependencies:
sudo apt-get install remmina synaptic gimp git ros-kinetic-navigation* ros-kinetic-gmapping ros-kinetic-hector-slam ros-kinetic-mrpt-icp-slam-2d ros-kinetic-slam-karto ros-kinetic-ackermann-msgs -y
- Install Ipopt: Please refer the tutorial in "document/ipopt_install".
- create your own catkin_ws
(http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment#Create_a_ROS_Workspace)
cd catkin_ws/src
git clone https://github.com/Geonhee-LEE/mpc_ros.git
git clone https://github.com/Geonhee-LEE/zetabot-ros.git (private)
cd ..
catkin_make
roslaunch mpc_ros mpc_Gazebo.launch
In the GAZEBO simulation, you can check the local planner as non-linear model predictive control.
roslaunch mpc_ros local_mpc_Gazebo.launch
Tracking the trajectory such as infinity-shaped, epitrochoid, square using non-linear model predictive control.
roslaunch mpc_ros dwa_Gazebo.launch
Tracking the trajectory such as infinity-shaped, epitrochoid, square using dynamic window approach.