Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta [email protected].
Transcript of Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta [email protected].
![Page 2: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/2.jpg)
middleware solutions for real-time 4D collision detection
Overview
Explain the concept of Continuous 4D Collision Detection.
Briefly discuss the GJK algorithm. Present the GJK Ray Cast algorithm. Discuss how to go about rotations.
![Page 3: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/3.jpg)
middleware solutions for real-time 4D collision detection
4D Collision Detection (1/2)
Object placements are computed for discrete moments in time.
Object trajectories are assumed to be continuous.
![Page 4: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/4.jpg)
middleware solutions for real-time 4D collision detection
4D Collision Detection (2/2)
Perform collision detection in continuous 4D space-time: Construct a plausible trajectory for each
moving object. Check for collisions along these
trajectories.
![Page 5: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/5.jpg)
middleware solutions for real-time 4D collision detection
Plausible Trajectory? (1/2)
Limited to trajectories with piecewise constant derivatives.
Thus, linear and angular velocities are assumed to be fixed between samples.
![Page 6: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/6.jpg)
middleware solutions for real-time 4D collision detection
Plausible Trajectory? (2/2)
Lots of constant-velocity trajectories result in the same displacement.
Obtain a unique trajectory by: Fixing translation and rotation to the
same axis (screw motion). Fixing the rotation axis to a given point in
the object’s local frame.
![Page 7: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/7.jpg)
middleware solutions for real-time 4D collision detection
Screw Motions
Redon uses piecewise screw motions for 4D collision detection.
Screw motions often appear unnatural, for example, a rolling ball:
![Page 8: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/8.jpg)
middleware solutions for real-time 4D collision detection
Rotate about Center of Mass
Corresponds more closely to Newtonian mechanics.
Unconstrained rigid body motion: Translations of center of mass. Rotations leave center of mass fixed.
Decoupling of translations and rotations adds DOFs and constraints.
![Page 9: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/9.jpg)
middleware solutions for real-time 4D collision detection
Only Translations (for now)
Only translations are interpolated. Rotations are instantaneous. The center of mass still follows a
continuous piecewise linear path. Points off the rotation axis may suffer
from tunneling, but we’ll fix that later.
![Page 10: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/10.jpg)
middleware solutions for real-time 4D collision detection
Configuration Space (1/2)
The configuration space obstacle of objects A and B is the set of all vectors from a point of B to a point of A.
},:{ BABA baba
![Page 11: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/11.jpg)
middleware solutions for real-time 4D collision detection
Configuration Space (2/2)
A and B intersect: zero vector is contained in A – B.
Distance between A and B: length of shortest vector in A – B.
BABA 0
BABAd xx :min),(
![Page 12: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/12.jpg)
middleware solutions for real-time 4D collision detection
Translation
Translation of A and/or B results in a translation of A – B.
![Page 13: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/13.jpg)
middleware solutions for real-time 4D collision detection
Rotation
Rotation of A and/or B changes the shape of A – B.
![Page 14: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/14.jpg)
middleware solutions for real-time 4D collision detection
Support Mappings
A support mapping sA of an object A maps vectors to points of A, such that
AsA xxvvv :max)(
Any point on Any point on this face may this face may be returned be returned as support as support
pointpoint)(vAs
)(vAs
)( vAs
v v
A
![Page 15: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/15.jpg)
middleware solutions for real-time 4D collision detection
Primitives
![Page 16: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/16.jpg)
middleware solutions for real-time 4D collision detection
More Primitives
![Page 17: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/17.jpg)
middleware solutions for real-time 4D collision detection
Affine Transformation
Primitives can be translated, rotated, and scaled. For T(x) = Bx + c, we have
))(()( T)( vBTvT AA ss
![Page 18: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/18.jpg)
middleware solutions for real-time 4D collision detection
Convex Hull
Convex hulls of arbitrary convex shapes are readily available.
)()( )}(),...,({},...,conv{1010
vv vv
nXXn ssXX ss
![Page 19: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/19.jpg)
middleware solutions for real-time 4D collision detection
Minkowski Sum
Objects can be fattened by Minkowksi addition.
)()()( vvv BABA sss
![Page 20: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/20.jpg)
middleware solutions for real-time 4D collision detection
GJK Algorithm
An iterative method for computing the point closest to the origin of a convex object.
Uses a support mapping as the object’s geometric representation.
Support mapping for A – B is
)()()( vvv BABA sss
![Page 21: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/21.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (1/6)
Suppose we have a simplex inside the object...
![Page 22: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/22.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (2/6)
…and the point v of the simplex closest to the origin.
0v
![Page 23: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/23.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (3/6)
Compute support point w for the vector -v.
vw
![Page 24: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/24.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (4/6)
Add support point w to the current simplex.
w
![Page 25: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/25.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (5/6)
Compute the closest point of the simplex.
w0
v
![Page 26: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/26.jpg)
middleware solutions for real-time 4D collision detection
Basic Steps (6/6)
Discard all vertices that do not contribute to v.
w0
v
![Page 27: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/27.jpg)
middleware solutions for real-time 4D collision detection
Shape Casting
For objects A and B being translated over respectively vectors s and t, find the first time of contact.
Boils down to a ray cast from the origin along the vector r = t – s onto A – B.
}10,:min{ BAr
![Page 28: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/28.jpg)
middleware solutions for real-time 4D collision detection
Normals
A normal at the hit point of the ray is normal to the contact plane.
![Page 29: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/29.jpg)
middleware solutions for real-time 4D collision detection
Ray Clipping (1/2)
0 v
r
w
rv
wv
![Page 30: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/30.jpg)
middleware solutions for real-time 4D collision detection
Ray Clipping (2/2)
For , we know that
If v·r > 0 then λ is a lower bound for the hit spot, and if also v·w > 0, the ray is clipped.
If v·r < 0 then λ is an upper bound, and if also v·w > 0, then the ray misses.
If v·r = 0 and v·w > 0, the ray misses as well.
rv
wv
![Page 31: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/31.jpg)
middleware solutions for real-time 4D collision detection
GJK Ray Cast (1/2)
Do a standard GJK iteration, and use the support planes as clipping planes.
Each time the ray is clipped, the origin “is shifted to” λr.
…and the current simplex is set to the last-found support point.
The vector -v that corresponds to the latest clipping plane is the normal at the hit point.
![Page 32: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/32.jpg)
middleware solutions for real-time 4D collision detection
The vector The vector --vv is is the latest the latest normal.normal.
GJK Ray Cast (2/2)
0 v
r
w
r
The origin The origin advances to advances to
the new lower the new lower bound.bound.
![Page 33: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/33.jpg)
middleware solutions for real-time 4D collision detection
Termination (1/2)
The origin advances only if v·w > 0, which must happen within a finite number of iterations if the origin is not contained in the query object.
Terminate as soon as the origin is close enough to the query object, or we found evidence that the ray misses.
![Page 34: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/34.jpg)
middleware solutions for real-time 4D collision detection
Termination (2/2)
As termination condition we use
where v is the current closest point, W is the set of vertices of the current simplex, and ε is the error tolerance.
} :max{
2
2
Wyy
v
![Page 35: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/35.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
Accuracy can be traded for performance by tweaking the error tolerance ε.
A greater tolerance results in fewer iterations but less accurate hit points and normals.
![Page 36: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/36.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-7, avg. time: 3.65 μs @ 2.6 GHz
![Page 37: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/37.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-6, avg. time: 2.80 μs @ 2.6 GHz
![Page 38: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/38.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-5, avg. time: 2.03 μs @ 2.6 GHz
![Page 39: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/39.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-4, avg. time: 1.43 μs @ 2.6 GHz
![Page 40: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/40.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-3, avg. time: 1.02 μs @ 2.6 GHz
![Page 41: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/41.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-2, avg. time: 0.77 μs @ 2.6 GHz
![Page 42: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/42.jpg)
middleware solutions for real-time 4D collision detection
Accuracy vs. Performance
ε = 10-1, avg. time: 0.62 μs @ 2.6 GHz
![Page 43: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/43.jpg)
middleware solutions for real-time 4D collision detection
Rotations (1/2)
All trajectories of points on a rotating object are contained by a disk of radius
where ρ is the max. distancefrom the axis to a point of the object, and α the rotation angleclamped between –π and π.
)2/sin(2
![Page 44: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/44.jpg)
middleware solutions for real-time 4D collision detection
Rotations (2/2)
Add the disk to the rotating object by Minkowski addition to obtain a conservative bound.
If necessary, reduce the bound by bisection of the time interval. Shorter intervals result in smaller angles, and thus tighter bounds.
![Page 45: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/45.jpg)
middleware solutions for real-time 4D collision detection
GJK Ray Cast Revisited
Add trajectory-bounding disks to the cast objects.
Each time the ray is clipped, reduce the radii of the disks.
Q: Is it possible to find exact collision times for rotating objects without bisection? A: Not likely.
![Page 46: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/46.jpg)
middleware solutions for real-time 4D collision detection
Open Issues
How should bisection be incorporated into the GJK Ray Cast routine?
First guess: Bisect until the origin is able to advance.
How do we compute the extreme radius of a rotating convex object, using only a support mapping?
Difficult due to multiple local maxima.
![Page 47: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/47.jpg)
middleware solutions for real-time 4D collision detection
Conclusion
Exact 4D collision detection of convex objects under translation is doable in real time.
Next big step: Exact 4D collision detection of convex objects under general rigid motion.
![Page 48: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/48.jpg)
middleware solutions for real-time 4D collision detection
References
Gino van den Bergen. Collision Detection in Interactive 3D Environments. Morgan Kaufmann Publishers, 2004.
F.C. Park and B. Ravani. Smooth Invariant Interpolation of Rotations. ACM Transactions on Graphics, 16(3):277-295, 1997.
Stephane Redon. Continuous Collision Detection for Rigid and Articulated Bodies.ACM SIGGRAPH Course Notes, 2004.
![Page 49: Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta gino@dtecta.com.](https://reader030.fdocuments.net/reader030/viewer/2022032703/56649cf95503460f949c9ec1/html5/thumbnails/49.jpg)
middleware solutions for real-time 4D collision detection
Thank You!
For papers and other information, please visit:
http://www.dtecta.com