Please head over to devel
branch for the code in the paper "Spline-Based Minimum-Curvature Trajectory Optimization for Autonomous Racing".
Spline-based Trajectory Optimization tool for Autonomous Racing (Indy Autonomous Challenge)
- Install
SciPy
,matplotlib
,shapely
,casadi
,bezier
. - For min curvature problem, install Julia 1.8.5+.
- Clone this repository and install with
pip install -e .
.
- For min curvature problem, run
julia/spline_traj_opt.ipynb
. - For min time problem, copy
traj_opt_double_track.yaml
inspline_traj_optm/min_time_otpm/example
to your workspace, and executetraj_opt_double_track
.
spline_traj_optm/examples
: Example inputs for the trajectory optimization (Monza)spline_traj_optm/models
: Data classes for holding optimization information (race track, vehicle, and trajectory information)spline_traj_optm/optimization
: Optimization functionsspline_traj_optm/simulator
: Quasi-Steady State (QSS) simulation of a given trajectory for optimal speedspline_traj_optm/tests
: Tests for the packagespline_traj_optm/visualization
: Functions for visualization the optimization and simulation resultsjulia/spline_traj_opt.ipynb
: Julia notebook of the optimization notebook
csvs for inside bound , outside bound, and center line
- 3 columns
If there is a bank angle, should be 4 columns with the fourth column as bank angle (if 3 columns bank default to zero)