Ball rolls forever; how to stop it?
I spawn a ball(sphere) in gazebo and apply a force along the x-axis, and I also set the friction for it, i.e. <mu>0.5</mu>, etc. But the ball rolls forever and never stops. What is the problem and how I should fix this problem?
Any help would be greatly appreciated.
Update: I use ODE as the physics engine. Is it because ODE does not support rolling friction? Nate suggested adding linear damping to it but I don't want it to slow down when the ball is kicked into the air. Any better solution?
ODE does not support rolling friction right now. This could be added similar to torsional friction (see https://bitbucket.org/osrf/gazebo/pull-requests/1831/torsional-friction/diff), but with 2 major differences: 1) constraint direction parallel to object's rotational axis projected to a plane normal to the contact normal. 2) rolling friction coefficient definition.
because rolling friction is usually not a very large force, the need to implement it as a constraint is not high. Nate's suggestion as a plugin and apply a force based on object's current dynamics may be sufficient.