Table of Contents
Fetching ...

Mochi: Fast \& Exact Collision Detection

Durga Keerthi Mandarapu, Nicholas James, Milind Kulkarni

TL;DR

Mochi presents a fast and exact collision detection engine that leverages RT cores to accelerate both broad- and narrow-phase processing across three object categories: uniform spheres, mathematically described objects, and triangle meshes. It introduces targeted reductions that recast collision detection as ray-tracing problems, enabling periphery-based ray tracing (edge rays on AABBs) and specialized handling for coplanar triangle intersections, while preserving exactness in the narrow phase. Empirical results show orders-of-magnitude speedups on synthetic data and 5x–28x on real triangle meshes, with additional architectural insights into RT-core behavior and BVH construction. The work demonstrates the viability of mapping collision detection to ray-tracing hardware, offering practical impacts for robotics, graphics, and physical simulation where exact collisions are critical.

Abstract

Collision Detection (CD) has several applications across the domains such as robotics, visual graphics, and fluid mechanics. Finding exact collisions between the objects in the scene is quite computationally intensive. To quickly filter the object pairs that do not result in a collision, bounding boxes are built on the objects, indexed using a Bounding Volume Hierarchy(BVH), and tested for intersection before performing the expensive object-object intersection tests. In state-of-the-art CD libraries, accelerators such as GPUs are used to accelerate BVH traversal by building specialized data structures. The recent addition of ray tracing architecture to GPU hardware is designed to do the same but in the context of implementing a Ray Tracing algorithm to render a graphical scene in real-time. We present Mochi, a fast and exact collision detection engine that accelerates both the broad and narrow phases by taking advantage of the capabilities of Ray Tracing cores. We introduce multiple new reductions to perform generic CD to support three types of objects for CD: simple spherical particles, objects describable by mathematical equations, and complex objects composed of a triangle mesh. By implementing our reductions, Mochi achieves several orders of magnitude speedups on synthetic datasets and 5x-28x speedups on real-world triangle mesh datasets. We further evaluate our reductions thoroughly and provide several architectural insights on the ray tracing cores that are otherwise unknown due to their proprietorship.

Mochi: Fast \& Exact Collision Detection

TL;DR

Mochi presents a fast and exact collision detection engine that leverages RT cores to accelerate both broad- and narrow-phase processing across three object categories: uniform spheres, mathematically described objects, and triangle meshes. It introduces targeted reductions that recast collision detection as ray-tracing problems, enabling periphery-based ray tracing (edge rays on AABBs) and specialized handling for coplanar triangle intersections, while preserving exactness in the narrow phase. Empirical results show orders-of-magnitude speedups on synthetic data and 5x–28x on real triangle meshes, with additional architectural insights into RT-core behavior and BVH construction. The work demonstrates the viability of mapping collision detection to ray-tracing hardware, offering practical impacts for robotics, graphics, and physical simulation where exact collisions are critical.

Abstract

Collision Detection (CD) has several applications across the domains such as robotics, visual graphics, and fluid mechanics. Finding exact collisions between the objects in the scene is quite computationally intensive. To quickly filter the object pairs that do not result in a collision, bounding boxes are built on the objects, indexed using a Bounding Volume Hierarchy(BVH), and tested for intersection before performing the expensive object-object intersection tests. In state-of-the-art CD libraries, accelerators such as GPUs are used to accelerate BVH traversal by building specialized data structures. The recent addition of ray tracing architecture to GPU hardware is designed to do the same but in the context of implementing a Ray Tracing algorithm to render a graphical scene in real-time. We present Mochi, a fast and exact collision detection engine that accelerates both the broad and narrow phases by taking advantage of the capabilities of Ray Tracing cores. We introduce multiple new reductions to perform generic CD to support three types of objects for CD: simple spherical particles, objects describable by mathematical equations, and complex objects composed of a triangle mesh. By implementing our reductions, Mochi achieves several orders of magnitude speedups on synthetic datasets and 5x-28x speedups on real-world triangle mesh datasets. We further evaluate our reductions thoroughly and provide several architectural insights on the ray tracing cores that are otherwise unknown due to their proprietorship.
Paper Structure (24 sections, 11 figures, 2 tables, 1 algorithm)

This paper contains 24 sections, 11 figures, 2 tables, 1 algorithm.

Figures (11)

  • Figure 1: Collision detection on uniform radius spheres.
  • Figure 2: Collision detection on non-uniform radius spheres: a)tracing the AABB of a sphere by shooting rays along the edges of AABB b)AABB of two colliding spheres overlap but not completely c)AABB of one of the two colliding spheres is completely contained inside the other.
  • Figure 3: triangles
  • Figure 4: CD time speedup of Mochi reduction \ref{['red:1']} (Red1) and \ref{['red:2']} (Red2) over Oibvh as the number of particles increase from 10K to 1.28M. radius = 0.001
  • Figure 5: comparison of total CD time (T) and broad phase time (B) of Mochi reduction \ref{['red:1']} (Red1) and \ref{['red:2']} (Red 2) over Oibvh as the number of particles increases from 10K to 1.28M. Radius = 0.001. Red1 B and Red1 T stand for Mochi's reduction \ref{['red:1']} total cd time and broad phase time. Similarly, other abbreviations.
  • ...and 6 more figures