0
$\begingroup$

Gazebo Answers logo

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 http://i45.tinypic.com/20a29ns.png


Originally posted by dereck on Gazebo Answers with karma: 86 on 2013-02-23

Post score: 2


Original comments

Comment by ZdenekM on 2013-05-22:
Hi. I'm very interested in model of P3-AT. If you have updated version - can you share it somehow? Many thanks.

$\endgroup$

2 Answers 2

0
$\begingroup$

Gazebo Answers logo

Hi,

You should also fix the inertia values. These can be computed with the help of this wikipedia page:

For example if you choose the chassis to be a cuboid the ixx, iyy, izz values need to be:
1/12*m(h^2+d^2) (where m = mass, h = height, d = depth):

<link name="chassis">
  <inertial>
    <mass>14.0</mass>
    <inertia>
      <ixx>1/12*m(h^2+d^2)</ixx>
      <ixy>0.0</ixy>
      <ixz>0.0</ixz>
      <iyy>1/12*m(h^2+d^2)</iyy>
      <iyz>0.0</iyz>
      <izz>1/12*m(h^2+d^2)</izz>
    </inertia>
  </inertial>

As for mu, mu2, slip1, slip2 they are explained here, notice that the values are between [0..1]. For more information check out this ODE page and just search for mu, mu2, slip1, slip2 it will be more deeply explained.

Cheers


Originally posted by AndreiHaidu with karma: 2108 on 2013-02-24

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by dereck on 2013-02-26:
Thank you very much for the inertia wiki link. That's exactly what I needed! The mu, mu2, slip1, slip2 links do tell me what each parameter is for, but would you have any links that talk about how to configure them?

Comment by AndreiHaidu on 2013-02-26:
Hi, well in your model.sdf file you change the values between 0 and 1. 0 - meaning no friction and 1 - maximum friction. But you should know that in gazebo there is no rotating friction. So you just have to play with the values to see which fits you best. (was this what you where asking for? if not please explain more with what you meant by "how to configure them". Cheers

Comment by dereck on 2013-02-28:
So, its just a guess and check operation then? Thank you!

Comment by AndreiHaidu on 2013-03-01:
I guess it is faster than figuring out values after these formulas http://www.ode.org/ode-latest-userguide.html#sec_3_11_1 :)

$\endgroup$
0
$\begingroup$

Gazebo Answers logo

Just in case the values of 1 were not satisfying you can also use higher values, it's never enforced so far for these values to actually be between 0 and 1 and ODE just suggests them to be around 1. Other models and mine inclusive usually use a lot higher values for the friction coefficients.

You can also have a look at an example of a castor wheel here: http://answers.gazebosim.org/question/1340/double-caster-wheel-problem/


Originally posted by ffurrer with karma: 349 on 2013-03-02

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.