Forrest-Z / guided-extended-hybrid-astar

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.

Home Page:https://arxiv.org/abs/2310.06974

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Guided and Extended Hybrid A*

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.

Links

Arxiv Pre-Print: https://arxiv.org/abs/2310.06974
IEE: https://doi.org/10.1109/ITSC57777.2023.10422264

Citation

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}}

Videos

Known and Unknown Environments

IMAGE ALT TEXT HERE IMAGE ALT TEXT HERE

Advanced motion capabilities

IMAGE ALT TEXT HERE

Setup

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

Configuration

Sim configuration

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.

Library configuration

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.

Troubleshooting

GLFW Error

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

Graphics Card not supported

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.

Contribute

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 :)

Credits

The provided repository uses code which was published by other developers. A detailed enumeration can be found here: src/freespace_planner/LICENSES.yaml

About

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.

https://arxiv.org/abs/2310.06974

License:Apache License 2.0


Languages

Language:C++ 73.1%Language:Python 22.8%Language:CMake 2.7%Language:Cuda 0.8%Language:Dockerfile 0.5%Language:Shell 0.2%