ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to create soft objects (wheel tires) in gazebo?

asked 2014-04-09 04:13:53 -0500

Sebastian Kasperski gravatar image

updated 2014-04-10 03:11:21 -0500


I am currently trying to model a wheeled robot (pioneer3at) in Gazebo. The problem I face is that it strangely bounces of its wheels whenever it gets an impulse. So I thought the problem might be that the wheels are too hard and do not absorb any energy.

Following the link above I added a kp-tag to the according gazebo-tag in my URDF, but whatever value I use, it just causes the wheel to be ignored completely for collisions. (It will just fall through the floor)

What is the correct way to describe collision properties in Gazebo?


I now had a closer look at the Husky-Bot, which seems quite similar to the Pioneer. In Gazebo, it shows none of the mentioned problems. The definition of the Husky-Wheels seems pretty similar to what I did:

<gazebo reference="${fb}_${lr}_wheel">
    <mu1 value="1.0"/>
    <mu2 value="1.0"/>
    <kp  value="10000000.0" />
    <kd  value="1.0" />
    <fdir1 value="1 0 0"/>

So how comes it is not bouncing around like my Pioneer?

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted

answered 2014-04-09 04:28:24 -0500

updated 2014-04-10 05:42:00 -0500

We had good success on our robots with not really modeling softness, but using the default parameters. You should be able to find a few skidsteering robots for inspiration regarding parameters (the husky_simulator package should provide a working example). I found that some parameters do not appear to work correctly though (see Gazebo Q/A).

There also is a user group for Pioneer robots. I´d be surprised if there is not AT3 available for simulation, as this robot is in pretty widespread use still.

/edit: Regarding parameters of the husky: Performance is a function of the complete model, so also the masses, inertias and ratios between them for the full model. It might be the case that the husky has better properties there. Note that issues could be reduced by altering some simulation parameters (timestep etc.) or model parameters (changing masses, getting rid of details etc.).

edit flag offensive delete link more


Thank you, I will have a look at these packages! I am currently using the p3at-model from p2os_urdf, which works in Gazebo besides the mentioned problems.

Sebastian Kasperski gravatar image Sebastian Kasperski  ( 2014-04-09 04:53:22 -0500 )edit

answered 2014-11-08 12:03:43 -0500

gpldecha gravatar image

I had the same problem with a pioneer3at package I found on the web. The problem was that the inertia information for the wheels was set to be the identity matrix:

  <origin xyz="0 0 0" rpy="0 0 0"/>
  <mass value="1"/>
  <inertia  ixx="1" ixy = "0" ixz = "0"  iyy="1"  iyz = "0"  izz="1" /> 

When ever I would move the robot through teleopt, I would get some bouncing behavior. I replaced it with the proper formula for a the interia matrix of a cylinder, and the runs smoothly:

<macro name="cylinder_inertia" params="m r h">
          <inertia  ixx="${m*(3*r*r+h*h)/12}" ixy = "0" ixz = "0"
                    iyy="${m*(3*r*r+h*h)/12}" iyz = "0"
                    izz="${m*r*r/2}" /> 

        <origin xyz="0 0 0" rpy="0 0 0"/>
            <mass value="1"/>
            <cylinder_inertia  m="1" r="0.1" h="0.11" />

When you run Gazebo, go to the visualusation tabe and check the inertia view and you will see pink boxes. These should be more or less within the meshes of your vehicle. I now have fully working version of the pioneer3at for indigo under ubuntu 14.04

edit flag offensive delete link more

answered 2014-06-23 19:20:06 -0500

gmcouto gravatar image

I had the same problem. My Pioneer-3AT couldn't run much far without a bit of bouncing... making some useless reads with the laser scan, and move_base creating false collisions predictions. But the Pioneer-3AT model is very widespread and quite complete now, so I suspected this could be generated by other issues. I had ROS-Indigo on Ubuntu 14.04 LTS, and for me the solution was to run ROS-Hydro on a VM with a previous version of Ubuntu . I'm still not sure if the problem was the version of Gazebo which is shipped with ROS itself that had problems... or it was something on ROS-Indigo. I don't know. I'm on a rush to get results and this is what worked for me.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-04-09 04:13:53 -0500

Seen: 13,661 times

Last updated: Jun 23 '14