# Differential drive robot turns on the spot

I have this differential drive robot with two wheels and a ball caster wheel. With this coefficients for the wheels:

    <mu1>1000000.0</mu1>
<mu2>1000000.0</mu2>
<fdir1>1 0 0</fdir1>
<kp>100000000.0</kp>
<kd>1.0</kd>


and this coefficients for the ball

    <mu1>0.000001</mu1>
<mu2>0.000001</mu2>
<kp>100000000.0</kp>
<kd>1.0</kd>


Now after a certain speed at around 0.7-0.8m/s they start turning on the spot, as can be seen in this video: https://youtu.be/5sMLQWsvHqE I give them random angles between -PI/8 and PI/8. But even though some angles are positive and others are negative the robots always seem to spin in one direction, once they started spinning in that direction. It's not always the same, but it always stays the same once they got into the spinning motion. The underground is grass, with a mu1 and mu2 of 0.5 I tried every possible combination of mu1 and mu2 for all the involved components, wheels, ball and ground. But no tuning of the coefficients prevents the spinning motion at around 0.7-0.8m/s

Further the wheeled robot does not change angles(it only drives a straight line), when provided negative velocities. It does change orientation but only for very small negative velocities at around 0.1 above it only drives in a straight line.

Does anybody know how to prevent this? Let me know if I should attach my robot.

edit retag close merge delete