Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

some joints of a roboarm miss in Gazebo

Hi everyone. I am working on the simulation of a roboarm. It is called Swiftpro, a product by UFactory, whose .STL file can be found here.

I made the .sdf file and imported it into Gazebo, but some joints miss (the gray one).

image description

The model.sdf is as follows.

<?xml version="1.0"?>
<sdf version="1.6">
<model name="swiftpro">
    <static>0</static>

    <link name="Base">
        <pose frame="">0 0 0 0 -0 0</pose>
        <inertial>
            <pose frame="">0.010476 0.000747 0.035226 0 -0 0</pose>
            <mass>1.886</mass>
            <inertia>
                <ixx>0.00119622</ixx>
                <ixy>-2.9358e-05</ixy>
                <ixz>1.4859e-05</ixz>
                <iyy>0.001148</iyy>
                <iyz>1.6274e-05</iyz>
                <izz>0.00142562</izz>
            </inertia>
        </inertial>
        <collision name="Base_collision">
            <pose frame="">0 0 0 0 -0 0</pose>
            <geometry>
                <mesh>
                    <scale>1 1 1</scale>
                    <uri>model://swiftpro/meshes/Base.STL</uri>
                </mesh>
            </geometry>
        </collision>
        <visual name="Base_visual">
            <pose frame="">0 0 0 0 -0 0</pose>
            <geometry>
                <mesh>
                    <scale>1 1 1</scale>
                    <uri>model://swiftpro/meshes/Base.STL</uri>
                </mesh>
            </geometry>
        </visual>
    </link>


    <link name="Link1">
        <pose frame=''>0 0 0.0723 0 -0 0</pose>
        <mass>0.2141</mass>
        <inertia>
            <ixx>0.000496945</ixx>
            <ixy>-8.2e-08</ixy>
            <ixz>-2.744e-06</ixz>
            <iyy>0.000150389</iyy>
            <iyz>-2e-09</iyz>
            <izz>0.000522487</izz>
        </inertia>
        <collision name="Link1_collision">
            <pose frame="">0 0 -0.0723 0 -0 0</pose>
            <geometry>
                <mesh>
                    <scale>1 1 1</scale>
                    <uri>model://swiftpro/meshes/Link1.STL</uri>
                </mesh>
            </geometry>
        </collision>
        <visual name="Link1_visual">
            <pose frame="">0 0 -0.0723 0 -0 0</pose>
            <geometry>
                <mesh>
                <scale>1 1 1</scale>
                <uri>model://swiftpro/meshes/Link1.STL</uri>
            </mesh>
            </geometry>
        </visual>
    </link>


    <joint name="Joint1" type="revolute">
        <child>Link1</child>
        <parent>Base</parent>
        <axis>
            <xyz>0 0 1</xyz>
            <limit>
                <lower>-3</lower>
                <upper>3</upper>
                <effort>1000</effort>
                <velocity>0</velocity>
            </limit>
            <dynamics>
                <spring_reference>0</spring_reference>
                <spring_stiffness>0</spring_stiffness>
            </dynamics>
            <use_parent_model_frame>1</use_parent_model_frame>
        </axis>
    </joint>


    <link name='Link2'>
        <pose frame=''>0.0132 0 0.1056 0 -0 0</pose>
        <inertial>
            <pose frame=''>-0.001071 0.001101 0.053193 0 -0 0</pose>
            <mass>0.026</mass>
            <inertia>
                <ixx>6.1744e-05</ixx>
                <ixy>-2.5e-08</ixy>
                <ixz>-7.63e-07</ixz>
                <iyy>6.2096e-05</iyy>
                <iyz>-1.053e-06</iyz>
                <izz>2.942e-06</izz>
            </inertia>
        </inertial>
        <collision name='Link2_collision'>
            <pose frame=''>-0.0132 0 -0.1056 0 -0 0</pose>
            <geometry>
                <mesh>
                    <scale>1 1 1</scale>
                    <uri>model://swiftpro/meshes/Link2.STL</uri>
                </mesh>
            </geometry>
        </collision>
        <visual name='Link2_visual'>
            <pose frame=''>-0.0132 0 -0.1056 0 -0 0</pose>
            <geometry>
                <mesh>
                    <scale>1 1 1</scale>
                    <uri>model://swiftpro/meshes/Link2.STL</uri>
                </mesh>
            </geometry>
        </visual>
    </link>


    <joint name='Joint2' type='revolute'>
        <child>Link2</child>
        <parent>Link1</parent>
        <axis>
            <xyz>0 1 0</xyz>
            <limit>
                <lower>-3</lower>
                <upper>3</upper>
                <effort>1000</effort>
                <velocity>0</velocity>
            </limit>
            <dynamics>
                <spring_reference>0</spring_reference>
                <spring_stiffness>0</spring_stiffness>
            </dynamics>
            <use_parent_model_frame>1</use_parent_model_frame>
        </axis>
    </joint>


    <link name='Link3'>
  <pose frame=''>0.0132 0 0.24767 0 -0 0</pose>
  <inertial>
    <pose frame=''>0.101948 -0.00022 0.011917 0 -0 0</pose>
    <mass>0.023</mass>
    <inertia>
      <ixx>1.982e-06</ixx>
      <ixy>4.83e-07</ixy>
      <ixz>-5.373e-06</ixz>
      <iyy>8.1264e-05</iyy>
      <iyz>8e-09</iyz>
      <izz>8.0538e-05</izz>
    </inertia>
  </inertial>
  <collision name='Link3_collision'>
    <pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link3.STL</uri>
      </mesh>
    </geometry>
  </collision>
  <visual name='Link3_visual'>
    <pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link3.STL</uri>
      </mesh>
    </geometry>
  </visual>
</link>
<joint name='Joint3' type='revolute'>
  <child>Link3</child>
  <parent>Link2</parent>
  <axis>
    <xyz>0 1 0</xyz>
    <limit>
      <lower>-1.45</lower>
      <upper>1.45</upper>
      <effort>1000</effort>
      <velocity>0</velocity>
    </limit>
    <dynamics>
      <spring_reference>0</spring_reference>
      <spring_stiffness>0</spring_stiffness>
    </dynamics>
    <use_parent_model_frame>1</use_parent_model_frame>
  </axis>
</joint>


<link name='Link4'>
  <pose frame=''>0.0132 0 0.24767 0 -0 0</pose>
  <inertial>
    <pose frame=''>-0.00235 0.013618 0.015458 0 -0 0</pose>
    <mass>0.003</mass>
    <inertia>
      <ixx>3.16e-07</ixx>
      <ixy>1e-09</ixy>
      <ixz>1.77e-07</ixz>
      <iyy>1.679e-06</iyy>
      <iyz>-7e-09</iyz>
      <izz>1.378e-06</izz>
    </inertia>
  </inertial>
  <collision name='Link4_collision'>
    <pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link4.STL</uri>
      </mesh>
    </geometry>
  </collision>
  <visual name='Link4_visual'>
    <pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link4.STL</uri>
      </mesh>
    </geometry>
  </visual>
</link>
<joint name='Joint4' type='revolute'>
  <child>Link4</child>
  <parent>Link2</parent>
  <axis>
    <xyz>0 1 0</xyz>
    <limit>
      <lower>-3</lower>
      <upper>3</upper>
      <effort>1000</effort>
      <velocity>0</velocity>
    </limit>
    <dynamics>
      <spring_reference>0</spring_reference>
      <spring_stiffness>0</spring_stiffness>
    </dynamics>
    <use_parent_model_frame>1</use_parent_model_frame>
  </axis>
</joint>


<link name='Link5'>
  <pose frame=''>-0.0215 0 0.12231 0 -0 0</pose>
  <inertial>
    <pose frame=''>0.000287 0.0157 0.072444 0 -0 0</pose>
    <mass>0.003</mass>
    <inertia>
      <ixx>4.841e-06</ixx>
      <ixy>0</ixy>
      <ixz>2.3e-08</ixz>
      <iyy>4.863e-06</iyy>
      <iyz>0</iyz>
      <izz>2.3e-08</izz>
    </inertia>
  </inertial>
  <collision name='Link5_collision'>
    <pose frame=''>0.0215 0 -0.1223 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link5.STL</uri>
      </mesh>
    </geometry>
  </collision>
  <visual name='Link5_visual'>
    <pose frame=''>0.0215 0 -0.1223 0 -0 0</pose>
    <geometry>
      <mesh>
        <scale>1 1 1</scale>
        <uri>model://swiftpro/meshes/Link5.STL</uri>
      </mesh>
    </geometry>
  </visual>
</link>


<joint name='Joint5' type='revolute'>
  <child>Link5</child>
  <parent>Link1</parent>
  <axis>
    <xyz>0 1 0</xyz>
    <limit>
      <lower>-3</lower>
      <upper>3</upper>
      <effort>1000</effort>
      <velocity>0</velocity>
    </limit>
    <dynamics>
      <spring_reference>0</spring_reference>
      <spring_stiffness>0</spring_stiffness>
    </dynamics>
    <use_parent_model_frame>1</use_parent_model_frame>
  </axis>
</joint>


<joint name='Joint6' type='revolute'>
  <child>Link5</child>
  <parent>Link4</parent>
  <axis>
    <xyz>0 1 0</xyz>
    <limit>
      <lower>-3</lower>
      <upper>3</upper>
      <effort>1000</effort>
      <velocity>0</velocity>
    </limit>
    <dynamics>
      <spring_reference>0</spring_reference>
      <spring_stiffness>0</spring_stiffness>
    </dynamics>
    <use_parent_model_frame>0</use_parent_model_frame>
  </axis>
</joint>

</model>

</sdf>

There are several loops in this roboarm and here I just write one loop to test if it can work in Gazebo. Could someone help me with this problem? Really, really thanks!!