RTCollisionDetection implements high-performance mesh-to-mesh and mesh-to-swept-volume collision detection using NVIDIA OptiX. This package supports both discrete and continuous collision detection for robot motion planning, leveraging GPU ray tracing for scalability and accuracy.
(a) | (b) | (c) | (d) |
Ray tracing collision detection methods: discrete-pose collision detection by ray-tracing (a) along obstacle meshes and (b) along robot meshes, and continuous collision detection by ray-tracing against swept sphere-approximated robot volumes (c) piecewise-linear paths or (d) quadratic B-spline paths.
- β TODO
- π§ Features
- π Setup Instructions
- π§ Running Demos
- π€ Add a New Robot
- π¦ Add a New Collision Scene
- π Benchmarking
β οΈ Disclaimer- π Acknowledgements
- π Citation
- Upload source code
- Add URDF parser
- Merge RobotToObs and ObsToRobot into a two-way method
- Upload modified GVDB
- Enable self-collision detection
- Integrate Blackwell curve representations
Obstacle β Robot | Robot β Obstacle |
Dense Scene | Medium Scene | Simple Scene |
Despite the increased complexity of mesh-to-mesh checks, our methods outperform cuRobo by up to 2.8x in medium and dense scenes.
Dense Scene | Medium Scene | Simple Scene |
Piecewise-linear and B-spline based swept volumes achieve high accuracy. Our discretized methods are fastest for dense scenes, while B-splines offer superior recall.
An NVIDIA RTX GPU is required.
We use vcpkg for dependency management:
vcpkg install eigen3 urdfdom urdfdom-headers lz4 benchmark tbb nlohmann-json FLANN gtest imgui glfw3
Additionally, install:
Set environment variables:
CUDA_HOME
OptiX_ROOT_DIR
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=$PATH_TO_YOUR_VCPKG/scripts/buildsystems/vcpkg.cmake
cd build
cmake --build . --target AllDemos --config Release
# Navigate to the demo binaries
cd ./bin/Demos/Release # On Windows
cd ./bin/Demos # On Linux
# Run any demo
./demoQuadContinuous.exe
This is research-grade software β expect minimal documentation, limited error handling, and rough edges. While efforts have been made to ensure functionality, the code is best suited for academic reference.
This project builds on:
- NVIDIA's official OptiX SDK samples
- optix7course
Developed at the Human Centered Robotics Lab (HCRL), UT Austin, in collaboration with Dexterity, Inc.
By Sizhe Sui, advised by Prof. Luis Sentis and Andrew Bylard.
If you use this code, please cite:
[1] S. Sui, L. Sentis, A. Bylard.
Hardware-Accelerated Ray Tracing for Discrete and Continuous Collision Detection on GPUs.
IEEE ICRA 2025
arXiv:2409.09918