REFINE is a safety real-time trajectory planning framework for autonomous driving. REFINE utilizes a parametrized robust controller that partially linearizes the vehicle dynamics in the presence of modeling error. Offline zonotope-based reachability analysis is performed on the closed-loop, full order vheicle dynamics to compute the corresponding control-parametrized, over-approximate Forward Reachable Sets (FRS). Real-time trajectory planning is achieved by solving an optimization framework in real-time with the pre-computed, control-parametrized FRS being used to ensure vehicle safety.
REFINE is built on Ubuntu 20.04 with ROS Noetic Distribution, and the algorithms are implemented in MATLAB 2022a and C++17.
- Clone the git repos and CORA by running the following from the top-level:
./download-dependencies.sh
- Run
install.m
. - In
split.m
, replace line 20 withcd(your_matlab_directory/toolbox/matlab/strfun)
and line 22 withcd('your_CORA2018_directory/global functions/globOptimization')
.
Vehicle behavior is offline computed in REFINE via reachability analysis using zonotopes. See Offline_Reachability_Analysis for detail.
REFINE is evaluated in simulation on a full-size Front-Wheel-Drive vehicle model. See Full_Size_Vehicle_Simulation for detail. Simulation video can be found here.
REFINE is evaluated in real hardware testing on a All-Wheel-Drive 1/10th race car robot. See Rover_Robot_Implementation for detail. Hardware Demo can be found here.