A Benchmarking Suite for Static Collision Detection Algorithms

There are a number of algorithms for collision detection between rigid objects. Unfortunately, it is extremely difficult to evaluate and compare collision detection algorithms, because in general they are very sensitive to specific scenarios. We propose a benchmarking suite which can evaluate both the performance as well as the quality of the collision response. The former is achieved by densely sampling the configuration space of a large number of highly detailed objects; the latter is achieved by a novel methodology that comprises a number of models for certain collision scenarios. With these models, we compare the force and torque signals both in direction and magnitude. It has been kept very simple so that other researchers can easily reproduce the results and compare their algorithms.

Performance Benchmark

Almost all collision detection libraries for static collision detection between rigid objects are based on bounding volume hierarchies (BVHs). If the bounding volume (BV) of an object does not intersect a volume higher in the tree, then it cannot intersect any object below that node. So, they are all rejected very quickly. If two objects overlap, the recursive traversal during the collision check should quickly converge towards the colliding polygon pair. So, it is most time consuming if the BVHs overlap, but the objects do not. Summarizing, the testing time of pairwise collision detection algorithms depends mainly on the configuration of the two objects and their shapes, i.e. the positions, orientations, and the distance.
Therefore, it seems to be reasonable for a well-balanced benchmarking procedure to test as many configurations for a given distance as possible. Based on this observation, our benchmarking suite automatically generates a large set of configurations for a user defined pair of objects and a list of distances.

picture

The picture above shows a set of configurations that our benchmarking suite has generated. Every red dot marks the closest point of the moving object to the fixed object for one special transformation and distance. Click on the picture to see a short video of the configuration generation. For further details about the configuration generation algorithms we used in our benchmarking suite, we refer the interested user to our WSCG-Paper.

Quality Benchmark

Especially with forces, human perception is very sensitive to unexpected discontinuities both in magnitude and direction. Consequently, collision detection algorithms should provide stable and continuous forces and torques, even in extreme situations like high impact velocities or large contact areas. Moreover, they should provide these forces at interactive rates.
In order to determine the collision response quality of an algorithm, we pursue a different approach, because computing realistic forces and torques from detailed objects in complex contact scenarios is highly non-trivial. Because of that, we propose to use fairly simple scenarios and geometry tests to measure the quality of the collision response. We believe that this approach is even more warranted because different collision handling systems use different measures for the force and torque computations. For instance, penalty-based methods usually use a translational penetration depth or the penetration volume, impulse based collision response schemes often need the first time of impact.

picture

Another advantage of simple scenarios is that we can model them, which allows us to calculate the theoretically expected forces and torques analytically for different collision response schemes. The comparison of this analytically derived ground truth data with the data gathered from the benchmarked algorithms allows us to define several measures, such as deviations and discontinuities of forces and torques, or the measurement of noise. For further details about the Quality Benchmark we used in our benchmarking suite, we refer the interested user to our VRST2010-Paper.

Publications

Features

  • Automatic and exhaustive generation of configurations
  • Playback of precomputed configuration files
  • Wrappers for several freely available collision detection libraries
  • Scripts for benchmarking these libraries with the predefined objects
  • Scripts for automatic diagram generation
  • Platform independent accuracy of 1 msec
  • Measurement of average, minimum and maximum testing times
  • Two different methods for sampling the search space
  • Two methods for distance computing (Offset-Surfaces and optionally PQP that must be downloaded separately)
  • Supports loading objects in the following formats: 3ds, dxf, iv, obj, off, ply, vrml and many more. For details see OpenSGs supported file format list

Prerequisites

  • OpenSG version 1.6 or higher
  • gcc 3.5 or higher or Visual Studio 2003 or higher
  • Optional: gnuplot for automatical generation of diagrams

Sample Plots



Examples of automatically generated diagrams. Click here to see all results.

Download

Here, you can download the source code of our benchmarking suite for free. It is licensed under the GPL.

Supported Collision Detection Libraries so far

FreeSOLID
OPCODE
V-Collide
PQP
Dop-Tree and BoxTree
If you use our benchmarking suite for testing your own collision detection library, it would be quite nice, if you could send us your wrapper code, so that we can integrate it to our download for other researchers.

Set of Objects and Configurations

Together with our benchmarking suite, we offer a set of objects and a set of precomputed configurations for these objects. Each object is available in several resolutions. We recommend to use the precomputed configurations for your benchmarks because configuration generation is very time consuming (e.g. 2 weeks of computation on 8 3GHz-Pentium 4`s for the Eagle (low sampled version)).

Configurations were generated using

  • Distances from 0%-30% of fixed object size in 30 steps
  • Sphere method with PQP for distance computing
  • 15° steps for spherical coordinates and 15° steps for rotations along the local coordinate axis of the moving object (collision scenario)
  • Therefore, we get app. 1,991k configurations for every distance

  • Intersection volume from 0%-10% of fixed object volume in 10 steps
  • Sphere method with IST for intersection volume computing
  • 15° steps for spherical coordinates and 30° steps for rotations along the local coordinate axis of the moving object (collision scenario)
  • Therefore, we get app. 268k configurations for every intersection volume.
Most of the objects are free for non commercial use. For some models, the owners have defined specific licenses.

Apollo Capsule1


6 LODs
8-170k polygons
picture Download object (zip, 11MB) Download configurations (zip, 117MB)

ATST-Walker1


6 LODs
4-152k polygons
picture Download object (zip, 6MB) Download configurations (zip, 117MB)

Castle1


6 LODs
14-127k polygons
picture Download object (zip, 4MB) Download configurations (zip, 115MB)

Chair1


5 LODs
22-114k polygons
picture Download object (zip, 4MB) Download configurations (zip, 100MB)

Cobra1


6 LODs
2-256k polygons
picture Download object (zip, 14MB) Download configurations (zip, 110MB)

DS9-Space-Station4


5 LODs
97-584k polygons
picture Download object (zip, 4MB) Download configurations (zip, 98MB)

Eagle1


5 LODs
98-594k polygons
picture Download object (zip, 26MB) Download configurations (zip, 90MB)

Ferrari1


5 LODs
61-249k polygons
picture Download object (zip, 11MB) Download configurations (zip, 94MB)

Grid


5 LODs
5-414k polygons
picture Download object (zip, 4MB) Download configurations (zip, 78MB)

Happy Buddha3


8 LODs
10-1087k polygons
picture Download object (zip, 23MB) Download configurations (zip, 140MB)

Helicopter1


5 LODs
23-119k polygons
picture Download object (zip, 4MB) Download configurations (zip, 98MB)

Laurel1


6 LODs
13-271k polygons
picture Download object (zip, 10MB) Download configurations (zip, 115MB)

Lustre1


6 LODs
6-120k polygons
picture Download object (zip, 4MB) Download configurations (zip, 120MB)

Pipes


5 LODs
10-125k polygons
picture Download object (zip, 3MB) Download configurations (zip, 100MB)

Lock


15 LODs
1-207k polygons
picture Download object (zip, 15MB) Download configurations (zip, 221MB)

Sponge


5 LODs
12-820k polygons
picture Download object (zip, 11MB) Download configurations (zip, 80MB)

Sphere


5 LODs
-k polygons
picture OpenSG built-in Download configurations (zip, 40MB)

Torus


5 LODs
-k polygons
picture OpenSG built-in Download configurations (zip, 90MB)

Hand2


6 LODs
63-650k polygons
picture Download object (zip, 26MB) Download configurations (zip, 120MB)

Dragon3


5 LODs
174-871k polygons
picture Download object (zip, 24MB) Comming Soon

Chinese Dragon5


5 LODs
262-1311k polygons
picture Download object (zip, 41MB) Comming Soon

Circular Box5


5 LODs
280-1402k polygons
picture Download object (zip, 44MB) Comming Soon

Elephant5


5 LODs
614-3074k polygons
picture Download object (zip, 88MB) Comming Soon

Female Pelvis6


5 LODs
200-1000k polygons
picture Download object (zip, 33MB) Comming Soon

Filigree7


5 LODs
205-1028k polygons
picture Download object (zip, 23MB) Comming Soon

Gargoyle6


5 LODs
345-1726k polygons
picture Download object (zip, 44MB) Comming Soon

Knot5


5 LODs
191-957k polygons
picture Download object (zip, 41MB) Comming Soon

Raptor7


5 LODs
400-2000k polygons
picture Download object (zip, 50MB) Comming Soon

Armchair6


5 LODs
142-712k polygons
picture Download object (zip, 20MB) Comming Soon

Vase5


5 LODs
358-1792k polygons
picture Download object (zip, 40MB) Comming Soon

Object Resources

1.CTU

2.The Stanford 3D Scanning Repository

3.Large Geometric Models Archive

4.Joerg Gerlach

5.Model is provided courtesy of INRIA by the AIM@SHAPE Shape Repository

6.Model is provided courtesy of VCG-ISTI by the AIM@SHAPE Shape Repository

7.Model is provided courtesy of SensAble technologies by the AIM@SHAPE Shape Repository