[ODE] Implementing genuine Coulomb friction

Thomas Harte thomasharte at lycos.co.uk
Thu Jan 2 03:48:02 2003


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--=_NextPart_Lycos_0161911041504383_ID
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

>Coulomb friction is only an approximation to real world friction, and it's
>pretty bad at times ... there are some situations in which the
>Coulomb constraints have no solutions, ... [and] other cases
>where there's more than one solution ... I'm guessing it's a
>nightmare to do, and even if you could do it, you're stuck with choosing
>one of the many alternatives, or choosing the "best" non-Coulomb future
>when none are consistent.  I'm sure people have looked at this, so maybe
>there's some clever way of looking at it that simplifies everything.  But
>I wouldn't be surprised if there wasn't.

Clearly you have at some time read a better treatment of the Coulomb model of friction 
than any I have ever come across. My knowledge extends no further than the same 
level described in the ODE documentation, i.e. 

"The Coulomb friction model is a simple, but effective way to model friction at contact 
points. It is a simple relationship between the normal and tangential forces present at a 
contact point (see the contact joint section for a description of these forces). The rule is:
| fT | <= mu * | fN |"

With the force being applied in the opposite direction to the tangential motion of the 
body.

In any case, regardless of the differences between what I believe to be 'Coulomb 
friction', and what actually is, it can easily be shown that the current ODE approximation 
to friction isn't sufficient for some realtime, game scenario simulations. Specifically I am 
thinking of my ongoing attempts to get a realistic car simulation.

When driving a car, there is something that car related people call the traction circle. It 
basically says that a graph exists where if you map the rate of turn to the x axis and the 
rate of acceleration to the y, scaled so that the length on the y axis which is accelerating 
without loosing traction (as opposed to wheel spin) is equal to the length on the x axis 
which represents turning with full traction (as opposed to slip), then the traction circle is 
the circle that meets the x and y axis so as to bound all full tractive activities. Then, if 
you want to determine whether a particular combination of acceleration and turning will 
cause slip, you check whether that effective cartessian coordinate is outside the circle.

I'm sure I explained that badly, but in particular it means that the following are true :

- when accelerating at the optimum rate, any attempt to turn will result in slip
- when turning at the maximum rate, any attempt to accelerate or decelerate will result 
in slip

Compare and contrast with the ODE 'friction pyradmid' approximation, which effectively 
makes maximum turn rate without slip and maximum acceleration without slip completely 
independent of one another. And I hope it is obvious that the FDS fix isn't a very brilliant 
solution.

This is presumably why such projects as Racer (http://www.racer.nl) have comments 
attached such as that on the ODE community page, "ODE used for the chassis".

Therefore, whether Coulomb friction is out of reach or not, I think it is fairly safe to 
argue that some improvements need to be made to ODE.

-Thomas

When words aren't enough - Vodafone live! A new world of colour, sounds, picture messages and information on your mobile. <a href="http://ad.doubleclick.net/clk;4909903;7724245;q?http://www.vodafone.co.uk/live">
Click here</a> to find out more.


--=_NextPart_Lycos_0161911041504383_ID--