This is the project page of the paper "Path Planning for Autonomous Driving with Curvature-considered Quadratic Optimization", to appear in IV 2023.
The proposed planner generates the curvature-concerned paths in structure scenarios.
- Build HSL (recommended for better performance)
git clone https://github.com/coin-or-tools/ThirdParty-HSL.git --depth=1 # Obtain a tarball with HSL source code from http://www.hsl.rl.ac.uk/ipopt/ and unpack this tarball gunzip coinhsl-x.y.z.tar.gz tar xf coinhsl-x.y.z.tar # Rename the directory `coinhsl-x.y.z` to `coinhsl`, or set a symbolic link: ln -s coinhsl-x.y.z coinhsl ./configure make sudo make install
- Build OSQP-eigen
Clone repository to any catkin workspace and compile workspace
cd ~/catkin_ws/src
git clone https://github.com/badaolaziang/pjpo-curvature
cd .. && catkin_make
source devel/setup.bash
// curtvature estimation
python3 src/scripts/dynamic_kappa_warmstart_estimation.py
// squared-curvature estimation
python3 src/scripts/dynamic_kappa_square_warmstart_estimation.py
- launch the code:
roslaunch pjpo_curvature combine.launch
-
run the planner:
set a random 2D goal in the rviz to start the calculation, and get the path(s) in the rviz window.
-
change the parameters of src/pjpo_curvature/launch/combine.launch and src/pjpo_curvature/script/reference_publisher.py to change the state of the starting pose and the shape of reference path.
We would like to express sincere thanks to the authors of the following tools and packages:
Guide line and framework:Cartesian_planner
QP solver: OSQP&OSQP-eigen