Skip to content

A copy of the REFINE repository with changes made to effectively compare it to RDF

License

Notifications You must be signed in to change notification settings

ChallenEnninful/REFINE_RDFversion

 
 

Repository files navigation

REFINE: REachability-based trajectory design using robust Feedback lInearization and zoNotopEs

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.

Overview

0. Installation

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 with cd(your_matlab_directory/toolbox/matlab/strfun) and line 22 with cd('your_CORA2018_directory/global functions/globOptimization').

1. Offline reachability analysis

Vehicle behavior is offline computed in REFINE via reachability analysis using zonotopes. See Offline_Reachability_Analysis for detail.

2. Simulation

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.

3. Hardware Implementation

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.

About

A copy of the REFINE repository with changes made to effectively compare it to RDF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.2%
  • C 7.4%
  • Less 4.1%
  • MATLAB 3.4%
  • Python 2.1%
  • CMake 1.3%
  • Other 0.5%