I Strongly refered to the HyphaROS MPC MiniCar(https://hypharosworkshop.wordpress.com/) (Thanks for great source). I just changed the mobile robot model from bycycle to the unicycle which means differential drive wheeled mobile robot for implementing service mobile robot.
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.