Differential drive robot turns on the spot

asked 2016-08-26 05:09:35 -0600

Hakaishin gravatar image

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 flag offensive close merge delete

Comments

usually you dont need friction coefficients this high. Try ~1 Can you attach how you control the vehicle? i.e. Ros Control or via a gazebo plugin? What joints do you use? Plz attach the urdf also. More information always helps!

Franzisdrak gravatar imageFranzisdrak ( 2016-09-19 10:01:39 -0600 )edit