- ROS package for autonomous racing using optimal control
- Contains ROS nodes to run high level planner and low level tracking controller together
pdgplanner.py
is the high-level planner class of the Ego vehicleaiagent.py
contains competing AI agent classhigh_level_node
is the ROS node calling these classes
tracking_MPC_allConstr.mexa64
is the the controller compiled from ACADO Toolkitnlmpc_autorace_sim_allConstr.m
is the low level control simulation ros node
pdgplanner.py
should be in the same directory asilqr/
folder. ilqr code is used from https://github.com/anassinator/ilqraiagent.py
requires Casadi in the appended path- ROS
- MATLAB
- Python 2.7
- Numpy
- Theanos
- ACADO toolkit for MATLAB (https://acado.github.io/matlab_overview.html)
- ROS Toolbox from MATLAB
$ cd ~/catkin_ws/src
$ git clone https://github.com/pgupta2050/autonomous_racing.git
$ roscore
$ rosrun autonomous_racing high_level_node.py
Then run the MATLAB file nlmpc_autorace_sim_allConstr
Time snaps: ego in blue and competitor in red
- Viranjan Bhattcharyya
- Jacky Tang
- Prakhar Gupta