[ODE] Rolling ball bouncing problem

skjold@cistron.nl skjold at cistron.nl
Mon Feb 10 08:35:02 2003


Hi,

Alright, I really don't know a lot about friction models, but I did a little testing. I got the best bounce when enabling the dContactApprox1 flag for *all* contacts.

When I enabled the flag only for collisions with the ball, I got the same thing you got: After contact it rolled onwards parallel to the beam it bounced against. But when I enabled the flag for literally all contacts, the ball bounced off somewhat correctly.

I say 'somewhat' correctly, because the ball does seem to be briefly jerking around partly inside the beam before it heads off at a reasonable reflection angle. I suspect it has to do with the CFM/ERP settings and the bouncyness of the contact surfaces, but hopefully that's a matter of applying proper 'tweakage' :)

In any case, I don't know what this means. It seems strange to me that I had to use dContactApprox1 for all contacts in the whole simulation to make it work, but then again what do I know about it. I just wanted to mention this, it might be useful for you or others that know more about friction and ODE innards. For the rest, I might be of more help trying to fix your mouse from here :P

greets

> I tryed setting the dContactApprox1 (for pyramidal friction) in the 
> appropriate contact joints but this didn't change anything to the 
> behavior of my ball...
> 
> This seems to be a very simple problem, but it fails... Anyone succeeded 
> with bouncing a rolling sphere against a box ?
> 
> I blew up my computer mouse to extract the ball and played a little bit 
> with it, bumping it into the wall of my office. I could see that my 
> rolling mouse ball, bounced almost exactly like if it was not rolling 
> (i.e., sliding on ice). However, in my ODE simulation, this is not yet 
> the case... It seems that the angular velocity is not changed after the 
> collision, whereas I belive it should be drastically changed. Still 
> trying desesperately to tune the parameters (mu, ball mass, etc.) and 
> check my code and to fix my mouse...
> 
> -Olivier