How to apply rolling friction to spheres?

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

How to apply rolling friction to spheres?

Postby Julio Jerez » Sun Mar 13, 2005 9:13 am

The rigid body simulation is only an approximation of the behavior of rigid bodies, in that regard when a spherical object hit another surface the contact generator code produces only one contact.

In most cases one contact is sufficient for preventing the ball from penetrating the surface at the contact point. However since the surface at the contact point is tangent to the sphere surface, this means the contact normal pass by the center of mass of the spherical object.

The effect is that, since the contact direction pass by the center of mass of the ball, the net reaction torque is zero, therefore the force or impulse applied at the contact cannot stop the ball from rolling.

Traditionally the way many physics engine go about this problem is by damping the ball angular velocity, however this have the side effect that the ball movement looks like moving inside a pool of oil.

The correct way to solve this problem is by apply a dry rolling friction.
When a spherical object hit another surface it is not true that at the contact point only one contact passing by the ball center is generated, instead what is generated is a contact patch.

A contact patch is a set of contacts around the contact center at certain radius, they have the property that the net force is equal to the reaction force at the center to prevent penetration, but the net torque is non-zero. This is the small fixed torque that in real life prevents spherical object from rolling indefinitely.

The larger or the softer the surface at the contact point the bigger the contact patch and therefore the bigger the rolling friction. If you look carefully at a pool table you will see that all of them have a soft smoggy fabric, this is done to increase the contact patch because any other hard surface would not provide the rolling friction necessary given that the balls are made of a very hard material.

In Newton the way to solve this problem is by adding a DryRollingFriction joint to the ball. This joint applies a fixed torque in the opposite direction to the ball rolling motion. The effect is that the torque is fixed and independent of the angular velocity so the effect is to slow the ball motion by subtracting a constant amount of energy independent of the ball angular velocity, thus avoiding the nasty side effect of doing the same effect by adding damping which is proportional to the angular velocity and make the movement looks oily (viscous)
Julio Jerez
Posts: 11122
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests