[ODE] High speed rigid body collisions

Alen Ladavac alenl-ml at croteam.com
Wed Jun 1 11:23:28 MST 2005


The problem you describe is commonly known as "tunneling". We've used a
raycasting approach (similar to what you say you use) in our engine, and it
works well. The "error" cannot be perceived by human observers, because the
error is only positional, original object velocity is kept and used in
bouncing equations in the contact. So it is not as much of a hack as it
seems at first. It might be problematic if the wall itself is moving at a
speed that would cause the ball to tunnel, but high-speed walls are not as
usual as high-speed balls. ;) Also, small holes in the walls might cause
problems, but that is usually solved by not making small holes in the walls.

Cheers,
Alen

----- Original Message -----
From: "Manu Beau" <barchange at yahoo.fr>
To: <ode at q12.org>
Sent: Wednesday, June 01, 2005 8:28 AM
Subject: [ODE] High speed rigid body collisions


> Hi everybody,
>
> recently i had a collision issue when i used rigid
> bodies with a high linear velocity. My simulation is
> quite simple : i have got a ball (5 cm radius) which
> can have a high linear velocity (200km/h - 240km/h)
> and i want that this ball collide on a wall (50 cm
> depth) ... like a tennis player who plays against a
> wall.
>
> My issue is the following one : since the ball has a
> high velocity, at frame 't' it is in front of the wall
> and at frame 't + 1' the ball is behind the wall ...
> thus no collision is detected.
>
> To detect collisions i use the standard NearCallBack
> function. My problem must come from this collision
> function because it is based on geoms positions at a
> given time 't' and not on bodys' moves.
>
> My solution is to use ray cast at each frame to detect
>   RB moves collisions and if i find a collision, i
> place my RB (the ball) at this position and i let
> NearCallBack do its work :). However, i don't know if
> this is the best solution.
>
> I looked at ODE threads and i found nothing about
> that. I think someone already has this problem. If
> anybody have some piece of code or a cleaner solution,
> it would be very helpful.
>
> cheers.
>
>
>
>
>
>
>
>
____________________________________________________________________________
_
> Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos
mails, photos et vidéos !
> Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>



More information about the ODE mailing list