This is a project to use model predictive control (MPC) with the Lincoln MKZ DBW system developed by Dataspeed (found here: https://bitbucket.org/DataspeedInc/dbw_mkz_ros/).
The Twist Controller from Dataspeed is modified to allow acceleration and steering angle command directly.
A MPC module is added, using a nonlinear kinematic bicycle model and IPOPT solver in Julia, to follow a path generated by a separate path planning module.
Please email Vijay Govindarajan ([email protected]) with any comments or questions.
- Uses ROS Kinetic and Gazebo 7.0.
- Follow https://bitbucket.org/DataspeedInc/dbw_mkz_simulation to install the MKZ simulator.
- You then need to install the following for running the MPC code:
- Julia 0.4.7
- sudo apt-get -y install hdf5-tools
- sudo apt-get install -y build-essential gfortran pkg-config liblapack-dev libblas-dev
- In Julia terminal:
- Pkg.add("RobotOS")
- Pkg.add("JLD")
- Pkg.add("Ipopt")
- Pkg.add("PyPlot")
- Pkg.add("JuMP")
- Pkg.update()
roslaunch mkz_mpc_path_follower gazebo_mkz_sim_lane_keep_demo.launch