Simulating multi robots cooperative transportation

asked 2021-06-15 23:51:34 -0500

Alireza_msb gravatar image

updated 2021-06-16 01:46:44 -0500

Hi everyone,

I am trying to simulate multi robot cooperative transportation in Gazebo. Currently, the robots can go around the object and grasp it using "moveit_grasp" package. The problem is with the grasp, which is not stable at all. As you can see in the link below the object keeps slipping. https://vimeo.com/563530833

I checked many answers about improving the quality of grasp like having torque joint interface (which I already have). or adding the following lines for the fingers that are in contact:

<xacro:macro name="friction" params="link">
    <gazebo reference="${link}">
        <mu1>1000</mu1>
        <mu2>1000</mu2>
        <kp>1000000.0</kp>
        <kd>1.0</kd>
        <slip1>0</slip1>
        <slip2>0</slip2>
        <minDepth>0.001</minDepth>
        <maxVel>0</maxVel>
        <torsional>
            <ode>
                <coefficient>1000</coefficient>
                <slip>0</slip>
            </ode>
        </torsional>         
    </gazebo>
</xacro:macro>

But they are all for one robot moving one object. As for me the cooperative transportation idea is the most important thing, skipping the grasp procedure in simulation is not a problem at all. I had to ideas:

  1. Having the robots and the object as a chain: It means we make one single URDF file for the two robots and the object. We start from base of one robot as the parent of the whole system and reach the other robot base as the last child( kind of). The problem with this one is that I had to reverse the child and parent relationship for the second mobile manipulator (which the manipulator is mico), and I failed. as many parameters like Denavit hartenberg or axis of rotation might not be as straight forward as before.
  2. My second idea was to make a fixed joint between each robot and the object once they touched it. Apparently, there are some efforts in the Gazebo for that like the one mentioned here: https://github.com/ignitionrobotics/i..., but apparently they do not support closed chain.

May I ask for some advice or any alternative methods that you might think of?

Thanks!

edit retag flag offensive close merge delete