Skip to content

TRG-planner: Traversal Risk Graph-Based Path Planning in Unstructured Environments for Safe and Efficient Navigation (RA-L 2025)

License

Notifications You must be signed in to change notification settings

url-kaist/TRG-planner

Repository files navigation

TRG-planner




TRG-planner banner

Most versatile safe-aware path planner.


Overall pipeline Image

πŸ“‹ TO DO List

  • Setup Docker images
  • GUI interface
  • Prebuilt TRG save & load
  • Add workflows "Publish to PyPI.org"

πŸ“¦ Installation

🐳 Docker

We provide a docker installation script so that you can directly install TRG in any machine. Simply do the following, and you're good to go to install TRG anywhere!

# Select ros version <noetic | humble>
bash docker/build.sh --ros <noetic|humble>
bash docker/compose_up.sh --display 0 --project base --ros <noetic|humble>

After run compose_up.sh, open new terminal and execute the container:

docker exec -it ${PROJECT_NAME}-trg-${ROS_VERSION_NAME}-${container_number} bash
docker exec -it base-trg-<noetic|humble>-1 bash

πŸ’» C++ (Essential)

Run the command below.

git clone https://github.com/url-kaist/TRG-planner.git
cd TRG-planner
sudo make deps # This installs required dependencies
sudo make cppinstall

πŸ’‘ Example codes

We provide c++ examples. Please visit our cpp/examples directory and follow the instructions.


🐍 Python

The prerequisites for Pybind11 are just the minimum requirements as follows:

pip3 install --upgrade pip setuptools wheel scikit-build-core ninja cmake build

And then, run the following command:

pip3 install -e python/

πŸ’‘ Example codes

We provide python examples. Please visit our python directory and follow the instructions.


πŸ€– ROS

We provide a ROS pipeline for robotics applications, compatible with various odometry and mapping algorithms.

The tested versions are ROS1 Noetic and ROS2 Humble.

For more details, please visit our pipelines directory and follow the instructions.


πŸ“ Citation

If you use this package for any academic work, please cite our original paper, or arXiv

@article{lee2025trg,
      title     = {{TRG-planner: Traversal risk graph-based path planning in unstructured environments for safe and efficient navigation}},
      author    = {Lee, Dongkyu and Nahrendra, I Made Aswin and Oh, Minho and Yu, Byeongho and Myung, Hyun},
      journal   = {IEEE Robotics and Automation Letters},
      volume    = {10},
      number    = {2},
      pages     = {1736--1743},
      year      = {2025},
      publisher = {IEEE}
    }

🀝 Contributing

We are excited to see how TRG-planner grows, thanks to contributions from the community. We would love to see your face on the list below, just open a Pull Request!


πŸ™ Acknowledgements

We would like to express our gratitude to team DreamSTEP for their invaluable help in developing this project for the IEEE QRC competition. It was completed and tested with their support. We are also grateful to the authors of the open-sourced kdtree, which was modified as the data structure for this project. Additionally, we would like to thank Zhang Lab for providing an excellent environment, some of which we utilized during the development of this project. A special thanks goes to my respected research mentor, Hyungtae Lim, for his invaluable guidance and for inspiring the open-sourcing style of this project. His latest work, KISS-Matcher, emphasizing modern C++ and CMake practices, has been a great reference and influence on our source-available pipeline.

Their contributions to the community have greatly enhanced our project, and we genuinely appreciate their support. We hope this project will also make a meaningful contribution to the community.


πŸ“œ License

The TRG-planner code provided in this repository is released under the Apache-2.0 with Commons Clause license.