Closed jediofgever closed 3 years ago
Well Autoware guys use; ACADO TOOLKIT
Toolkit for Automatic Control and Dynamic Optimization ACADO Toolkit is a software environment and algorithm collection for automatic control and dynamic optimization. It provides a general framework for using a great variety of algorithms for direct optimal control, including model predictive control, state and parameter estimation and robust optimization. ACADO Toolkit is implemented as self-contained C++ code
Have a look at here https://github.com/MPC-Berkeley/barc/wiki/Car-Model
with a12c2273fffe0efecdc3225f5b79f543ba3a1fd1, We do have a MPC that works OK, but we still have not figured way to make the controller obstacle aware
casadi is the hero here. This library does the optimization going underneath to et optimal control inputs that will drive predicted states to reference states as close as possible.
In above picture, green:referncee traj, red:refernce traj in time horizon, blue, actual robot traj
implemented mpc_controller
, is working OK, there are things to improve but this issue's original concern has been addressed.
Referto botanbot_control for mpc controller plugin
All of these methods are tightly bounded to
Costmap2DROS
while we base onOctomap
. Research on what actions to take in order to get us a controller.A good start point is ; https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/controller-design.html
Autoware Suggests;
The following outputs are required:
The following optional outputs may be provided to support optional behavior:
Design
The following design considerations are then proposed: Inputs
The inputs to the controller shall be three types: