News

Jun 17, 2017: Haptic and hand tracking demos at the Open Campus 2017.

Feb-Apr 2017: David Vilela (Mechanical Engineering Laboratory, University of Coruna, Spain) visited our lab. He is working on benchmarks to compare different intersection calculation methods in collisions, and also different force models.

Feb 2017: G. Zachmann and J. Teuber visited the Mahidol University in Bangkok, Thailand as part of a delegation from the University of Bremen. The goal of the visit was to foster the cooperation between the two universities and lay ground-work for future colaborations.

Jun 2016: Radio Bremen visited our lab to film the works of the Creative Unit "Intra-Operative Information" for a news magazine on the local TV station. Click here for the film at Radio Bremen. And Click here for the same film on our Website.

May 16, 2016: Patrick Lange was honored with the SIGSIM Best PhD Award at the ACM SIGSIM PADS Conference 2016.

Jun 19-21, 2015: G. Zachmann gives invited talk at the DAAD-Stipendiatentreffen in Bremen, Germany.

Jun 2015: Haptic and hand tracking demos at the Open Campus 2015.

Dec 08-10, 2014: ICAT-EGVE 2014 and EuroVR 2014 conferences at the University of Bremen organized by G. Zachmann.

Sep 25-26, 2014: GI VR/AR 2014 conference at the University of Bremen organized by G. Zachmann.

Sep 24-25, 2014: VRIPHYS 2014 conference at the University of Bremen organized by G. Zachmann .

Feb 4, 2014: G. Zachmann gives invited talk on Interaction Metaphors for Collaborative 3D Environments at Learntec.

Jan 2014: G. Zachmann got invited to be a Member of the Review Panel in the Human Brain Project for the Competitive Call for additional project partners

Nov 2013: Invited Talk at the "Cheffrühstück 2013"

Oct 2013: Dissertation of Rene Weller published in the Springer Series on Touch and Haptic Systems.

Jun 2013: G. Zachmann participated in the Dagstuhl Seminar Virtual Realities (13241)

Jun 2013: Haptic and hand tracking demos at the Open Campus 2013.

Jun 2013: Invited talk at Symposium für Virtualität und Interaktion 2013 in Heidelberg by Rene Weller.

Apr 2013: Rene Weller was honored with the EuroHaptics Ph.D Award at the IEEE World Haptics Conference 2013.

Jan 2013: Talk at the graduation ceremony of the University of Bremen by Rene Weller.

Oct 2012: Invited Talk by G. Zachmann at the DLR VROOS Workshop Servicing im Weltraum -- Interaktive VR-Technologien zum On-Orbit Servicing in Oberpfaffenhofen, Munich, Germany.

Oct 2012: Daniel Mohr earned his doctorate in the field of vision-based pose estimation.

Sept 2012: G. Zachmann: Keynote Talk at ICEC 2012, 11th International Conference on Entertainment Computing.

Sep 2012: "Best Paper Award" at GI VR/AR Workshop in Düsseldorf.

Sep 2012: Rene Weller earned his doctorate in the field of collision detection.

Aug 2012: GI-VRAR-Calendar 2013 is available!

CollDet - A Library for Collision Detection

CollDet is a fast, robust, and accurate library for collision detection between 3D objects undergoing rigid motion. It is designed to be used in interactive 3D realtime-applications. CollDet is based on the portable open source scenegraph OpenSG.

Collision Detection Pipeline

coll_pipeline
colldet

The collision detection process can be regarded as a pipeline of successive filters. The front-end of the pipeline consists mainly of a queue which stores objects. During run-time, objects, together with their current position, are entered in the queue when they have been moved. The collision interest matrix filters out all objects pairs of no intersect. After that, object pairs are filtered further by two neighborfinding stages and finally by an exact collision test. (For more details on that, we refer the interested user to the paper Optimizing the Collision Detection Pipeline).

Slides

I presented the library at the Siggraph 07 BoF. Here are the slides.

Features

Prerequisites

Download

You can download the source code of CollDet here.

Here is the documentation (generated using doxygen) as individual HTML pages, as a PDF, and as a ZIP archive.

Note that there is a copyright / license that basically says: you can use it for free for academic purposes, but if you want to use it for commercial or other non-academic purposes, then we must negotiate some royalty (which could be a hardware donation, money, etc.). If you are interested, please send me an email.

Benchmarking Results

The diagrams show the performance of our library ("bx" marks the Boxtree and "do" the DopTree) compared to other collision detection libraries, namely, V-Collide ("vc"), PQP, OPCODE ("op"), and FreeSOLID ("so"). For further information about our Benchmarking Suite, including a description of the benchmarking procedure, and much more diagrams, please visit our project homepage.

Publications

Screenshots

Click on the pictures to enlarge.

Intersection

On the left side you can see the intersecting triangles. Click on the image to see a small video.

Doptree

Discrete orientation polytopes (DOPs) are convex polytopes whose faces can have only normals which come from a fixed small set of orientations (k-DOPs). In order to be able to apply an interval test to DOPs, one restrict the set of orientations further such that for each orientation of the set there is also an anti-parallel one. Thus, this special kind of k-DOPs can be viewed as a generalization of axis-aligned boxes. We have determined 24 as the optimal number of orientation. (For further information: Rapid Collision Detection by Dynamically Aligned DOP-Trees)

The animation on the right shows the first 10 DOP-Tree levels.

Boxtree

These axis-aligned bounding volumes are called Box Tree. Of course, when objects move, they are no longer aligned with respect to the world s coordinate frame. So, when using this type of BVs, the task is to devise algorithms for efficient overlap tests of tumbled bounding boxes. Octrees are a special case of BoxTrees. However, BoxTrees allow for finer control on the balancedness. Each node in the BoxTree stores only: the name a of the splitting axis, two positions, two pointers (to the left and right sub-box), and, for leaves only, a pointer to the polygon(s) associated to the leaf. (For further information: Virtual Reality in Assembly Simulation - Collision Detection, Simulation Algorithms, and Interaction Techniques )

The animation on the right shows some level of the boxtree.

Robustness

Some scenarios for collision detection algorithms include very specific configurations. For example, data gathered from CAD programs contain numerous intersections between coplanar triangles. Therefore, the robustness of the triangle intersection test, but also the numerical stability of the bounding volume tests play an important role for a proper collision response.
The pictures on the left side shows a snapshot from a CAD generated scene. The upper left picture shows the intersecting triangles found by CollDet, the lower left picture those triangles found by another collision detection library. As you can see, CollDet finds 50% more intersecting triangle pairs than the other library. Tests have shown, that many other libraries miss most of the intersecting coplanar triangles.

Click here to see a video of the complete scene.

Separating Planes

The separating plane algorithm just needs the set of vertices of the convex hull and its adjacency map. It is based on the following notion: Two objects do not intersect iff there is a plane such that all vertices of the objectes are on different sides. Such a plane is called separating plane

The animation on the right shows the line between the closest vertices.