Gazebo | Ignition | Community
Ask Your Question

Wheeled models slowly roll when not being driven

asked 2013-03-12 20:45:10 -0500

Wheeled models have a tendency to slowly roll when not subject to any other force (i.e. by a plugin driving the wheels). I have noticed this with both a URDF Segway-with-casters model and a URDF quad wheeler. I assume the problem is due to noise when calculating contact between the wheels and the ground.

I just worked-around the problem in a diff-drive plugin (based on the ROS erratic diff-drive plugin) in the same way DRC pins joints: When the wheel velocity is set to zero, I zero the wheel joint velocity then insert a static link between the wheel and the world, then remove it when before setting the wheel joint velocity to non-zero.

However this feels like a nasty kluge. Is there any better way of doing it? I was hoping for a model::Joint::setStatic(bool) method or something, but can't seem to find anything like that.

edit retag flag offensive close merge delete


Is your inertia set correctly? If you increase it, the rolling should stop.

AndreiHaidu gravatar imageAndreiHaidu ( 2013-03-13 09:33:12 -0500 )edit

Yes, it is. To clarify, it is not a problem that the models keep on moving, rather they start rolling of their own accord when stopped.

mjog gravatar imagemjog ( 2013-03-19 02:43:27 -0500 )edit

What version of Gazebo are you running? And if you zoom in on the wheels, do they appear to jitter?

nkoenig gravatar imagenkoenig ( 2013-03-19 11:50:32 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-07-23 22:21:33 -0500

nkoenig gravatar image

Running a controller on the car is the best way to prevent it from moving when stopped.

You could try increasing the number of iterations the quick step solver uses, but this will reduce performance.

edit flag offensive delete link more


In Gazebo 9 with Kinetic I get the same behavior from a wheeled robot. It has two driven wheels on the center line and four caster wheels at the corners. I modeled the casters as just frictionless fixed wheels. Whether or not there is a controller on the wheels, the robot moves slowly even with no command. The only way for me to make the robot still is to set the friction coefficients for the corner wheels to 1. Then the robot cannot move at all.

raequin gravatar imageraequin ( 2018-03-21 13:28:39 -0500 )edit
Login/Signup to Answer

Question Tools


Asked: 2013-03-12 20:45:10 -0500

Seen: 2,242 times

Last updated: Jul 23 '13