Drive belt simulation Gazebo

Dear community,

I am starting to learn ROS and Gazebo.

I was wondering how to simulate non-rigid bodies like a drive belt in Gazebo in a realistic way.
1.- How do we create such a model using URDF files?
2.- How can we take advantage of some other people’s development for using part of the models into our URDF file? What if it is only a Gazebo plug-in?

Thanks in advance for helping me understanding the whole capabilities of the URDF modelling and Gazebo.



So here you are asking really interesting topis and I’ll try to answer them the best of my ability:

  1. Non rigid models ar NOT supported in GAzebo fro the moment. You can add some physical properties like plastic deformation and so on in the Kp and Kd, ut its not really what you would hope. Things like ropes or similar are just chains of rigid bodies. We created a snake and octopus tentacles with gazebo: Octopus model, SNAKE.

  2. In your case not only is that but also its a closed kinematics chain model which is NOT supported bu URDF. You need to create an SDF and gazebo plugins for its control. Closed Kinematics

  3. To use others development, you can use gazebo plugins, and also XACROS, because you can add quite fast new elements created by other people.

Dear @duckfrost,

Thanks a lot for the super fast reply. And the interesting links. I think they could be quite handy. I am still learning the basics so, please correct me if I am wrong:

1.- There is only one parent per link. This means that we will never have a closed loop (such in the 4-bar problem). Are there ways of emulating mechanism as drive-belts or gearboxes? It seams strange that there is no a ‘simplified’ version of these models, being so much used.

I guess a conveyor could be modelled as multiple wheels (cilinders) or as a couple of wheels and some ball casters (cilinders and spheres)

For objects moving over the belt. Someone suggested to use a static object with no friction and use a service or a Gazebo plugin to wrench any object over the belt.

But I was not able to find any of these mechanisms attached to the robot to perform a certain task.

  1. What is the ‘planar’ link type? Is there any example out there? I could not find any. Neither for the ‘floating’ link type.

  2. Do you have any tutorial of how to use the Gazebo plugins.

Thanks a lot for all your help.