Home | Tutorials | Wiki | Issues
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How do I set up <mu> and <slip> for a skid steer robot?

I am attempting to model a Pioneer3-AT mobile robot in Gazebo and control it from ROS. I have been reasonably successful except for one final touch, rotation control.

If I set the MaxForce() for each wheel joint to something very high such as 50, the robot will turn in place very close to the commanded rate. But with this setting any linear motion request causes the robot to do a flip.

If I reduce the MaxForce() for each wheel to 3, the linear response is very close to what I see on the real robot but the rotational control is very slow, perhaps only 1% of the correct speed.

This makes me think that I need to configure mu, mu2, slip1, slip2 for each wheel properly to get the desired performance but I'm not sure how to choose reasonable values. After many frustrating rounds of guess-and-check, the best I was able to get is a robot that kinda responds to the desired velocity commands but slides all over the place (+/- 1m) when attempting to rotate in place.

Additionally, when I watch the joints rotating in Gazebo, I see that each of the wheels will 'slip' for a very short time and this is probably the source of the sliding. I wonder if I could use a single force to rotate both wheels on the same side of the robot. (like using a belt between two wheels on the same side of the robot driven from a single motor.) I think this might help too.

Relevant Files: model.sdf

ros_model_plugin.cc

screenshot of robot