jsford / PolyTraj

41 stars 19 forks source link
autonomous-driving motion-planning

PolyTraj

PolyTraj is a C++ trajectory generation library for autonomous vehicle motion planning based on "Reactive Nonholonomic Trajectory Generation via Parametric Optimal Control". Given a start pose and an end pose, PolyTraj will generate a C2 continuous path connecting the two poses. Unlike methods based on interpolating splines, this method generates kinematically feasible paths.

A path plotted using PolyTraj

Installation

  1. Install Eigen.
  2. Install GTest if you want to run the tests.
git clone --recurse-submodules https://github.com/jsford/PolyTraj
cd PolyTraj
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=ON  -DBUILD_TESTS=ON -DBUILD_DOCS=ON ..
make
# sudo make install (Don't do this yet!)

Examples

cd PolyTraj/build/examples/
./path_example
./trajectory_example

Tests

cd PolyTraj/build/test/
./run_tests

Contact

Jordan Ford
jsford@andrew.cmu.edu