A Hybrid-A* planner with early stopping for efficient path planning.
Further, the capabilities of the U-Shift vehicles can be activated to enable the extended abilities to rotate around its rear axis.
Arxiv Pre-Print: https://arxiv.org/abs/2310.06974
IEE: https://doi.org/10.1109/ITSC57777.2023.10422264
The paper was published at the IEEE ITSC 2023 and can be cited as stated below.
@INPROCEEDINGS{10422264,
author={Schumann, Oliver and Buchholz, Michael and Dietmayer, Klaus},
booktitle={2023 IEEE 26th International Conference on Intelligent Transportation Systems (ITSC)},
title={Efficient Path Planning in Large Unknown Environments with Switchable System Models for Automated Vehicles},
year={2023},
volume={},
number={},
pages={2466-2472},
keywords={Adaptation models;Runtime;Navigation;Switches;Path planning;Planning;Standards},
doi={10.1109/ITSC57777.2023.10422264}}
Clone the repository and update the submodules.
git submodule update --init --recursive
Change into the docker directory and build the docker image. This may take a while.
cd docker
./build.sh
Run the docker, everything from here will be executed inside it.
./run.sh
Build and install the planner...
./build.sh
./install.sh
...and run the sim.
./run_sim.sh
Per default, the visualization of the visited nodes and internal heuristics is enabled.
This slows down the visualization and can be disabled in visualization.py
src/freespace_planner/ros2/scripts/sim_config/sim_config.yml
The SCENARIO_NAME controls which map to use.
ALL_VISIBLE decides if the environment is previously known.
src/freespace_planner/library/config/config.yml
Here, all the library params can be adjusted. They can also be set in the Gui. Scroll down on the right side.
If you receive the error:
No protocol specified
Could not initialize GLFW!
Run the following in your console before running the docker
xhost +si:localuser:root
If you receive the error
RuntimeError: OpenCV(4.8.0) /opt/opencv_contrib-4.8.0/modules/cudev/include/opencv2/cudev/grid/detail/copy.hpp:78: error: (-217:Gpu API call) no kernel image is available for execution on the device in function 'copy'
your graphics card is no longer supported. Then you must rebuild OpenCV from source.
You are welcome to contribute to every part of this project. Given the fact, that the python part is already planned to be replaced by C++, it would be more beneficial to contribute to the C++ part :)
The provided repository uses code which was published by other developers. A detailed enumeration can be found here: src/freespace_planner/LICENSES.yaml
- fitpack: spline routines of scipy
- pyReedsShepp: RS Curve generation
- VoronoiDiagramGenerator: Voronoi diagram generation
- nanoflann: nearest neighbor determination