Robotics StackExchange | Archived questions

I have Xacro error related Tranmission

My Error Message

Warning [parser.cc:950] XML Element[transmission], child of element[model] not defined in SDF. Ignoring[transmission]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.

[ WARN] [1566142242.553529670, 24.559000000]: GazeboRosJointStatePublisher Plugin (ns = //) missing <updateRate>, defaults to 100.000000

My Xacro code (2F-85 Gripper)

<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro">
  <xacro:include filename="$(find ur_description)/urdf/ur.transmission.xacro" />
  <xacro:macro name="robotiq_85"  params="prefix MAC">

    <link name="${prefix}robotiq_arg2f_base_link">
      <inertial>
        <origin xyz="-0.00013 -0.00011 0.03284" rpy="0 0 0" />
        <mass value="0.55938" />
        <inertia ixx="605783E-9" ixy="-579.95E-9" ixz="2765.53E-9" iyy="720148E-9" iyz="618E-9" izz="510534E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/base_gripper.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/base_gripper.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}robotiq_arg2f_base_link">
      <material>Gazebo/Black</material>
      <selfCollide>True</selfCollide>
    </gazebo>

    <link name="${prefix}left_outer_knuckle">
      <inertial>
        <origin xyz="0.01545 0 -0.00118" rpy="0 0 0" />
        <mass value="0.01252" />
        <inertia ixx="312.44E-9" ixy="0" ixz="-168.09E-9" iyy="2156E-9" iyz="0" izz="2027.51E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_1_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Grey">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_1_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}left_outer_knuckle">
      <material>Gazebo/Grey</material>
      <selfCollide>True</selfCollide>
    </gazebo>

    <link name="${prefix}right_outer_knuckle">
      <inertial>
        <origin xyz="-0.01545 0 -0.00118" rpy="0 0 0" />
        <mass value="0.01252" />
        <inertia ixx="312.44E-9" ixy="0" ixz="-168.09E-9" iyy="2156E-9" iyz="0" izz="2027.51E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_1_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Grey">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_1_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}right_outer_knuckle">
      <material>Gazebo/Grey</material>
      <selfCollide>True</selfCollide>
    </gazebo>

    <link name="${prefix}left_outer_finger">
      <inertial>
        <origin xyz="0.004 0 0.01892" rpy="0 0 0" />
        <mass value="0.03848" />
        <inertia ixx="12341E-9" ixy="0" ixz="-2152.21E-9" iyy="10617E-9" iyz="0" izz="4812.09E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_3_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_3_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}left_outer_finger">
      <material>Gazebo/Black</material>
      <selfCollide>True</selfCollide>
    </gazebo>

    <link name="${prefix}right_outer_finger">
      <inertial>
        <origin xyz="-0.004 0 0.01892" rpy="0 0 0" />
        <mass value="0.03848" />
        <inertia ixx="12341E-9" ixy="0" ixz="-2152.21E-9" iyy="10617E-9" iyz="0" izz="4812.09E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_3_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_3_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}right_outer_finger">
      <material>Gazebo/Black</material>
      <selfCollide>True</selfCollide>
    </gazebo>

    <link name="${prefix}left_inner_knuckle">
      <inertial>
        <origin xyz="0.01952 0 0.022" rpy="0 0 0" />
        <mass value="0.02731" />
        <inertia ixx="8621.3E-9" ixy="0" ixz="-3646.49E-9" iyy="8004.28E-9" iyz="0" izz="7704.42E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_2_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_2_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}left_inner_knuckle">
      <material>Gazebo/Black</material>
      <selfCollide>False</selfCollide>
    </gazebo>

    <link name="${prefix}right_inner_knuckle">
      <inertial>
        <origin xyz="-0.01952 0 0.022" rpy="0 0 0" />
        <mass value="0.02731" />
        <inertia ixx="8621.3E-9" ixy="0" ixz="3646.49E-9" iyy="8004.28E-9" iyz="0" izz="7704.42E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_2_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_2_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}right_inner_knuckle">
      <material>Gazebo/Black</material>
      <selfCollide>False</selfCollide>
    </gazebo>

    <link name="${prefix}left_inner_finger">
      <inertial>
        <origin xyz="-0.01409 0 0.01569" rpy="0 0 0" />
        <mass value="0.037" />
        <inertia ixx="12446.57E-9" ixy="0" ixz="4167.81E-9" iyy="14201.18E-9" iyz="0" izz="4979.86E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_4_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_4_l.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}left_inner_finger">
      <material>Gazebo/Black</material>
      <selfCollide>False</selfCollide>
    </gazebo>

    <link name="${prefix}right_inner_finger">
      <inertial>
        <origin xyz="0.01409 0 0.01569" rpy="0 0 0" />
        <mass value="0.037" />
        <inertia ixx="12446.57E-9" ixy="0" ixz="-4167.81E-9" iyy="14201.18E-9" iyz="0" izz="4979.86E-9" />
      </inertial>
      <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_4_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
        <material name="Gazebo/Black">
          <color rgba="0.1 0.1 0.1 1" />
        </material>
      </visual>
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
          <mesh filename="package://robotiq_2f_85/meshes/2-F-85_4_r.dae" scale="0.001 0.001 0.001"/>
        </geometry>
      </collision>
    </link>
    <gazebo reference="${prefix}right_inner_finger">
      <material>Gazebo/Black</material>
      <selfCollide>False</selfCollide>
    </gazebo>

    <joint name="${prefix}robotiq_arg2f_base_link_to_${prefix}left_outer_knuckle" type="revolute">
      <origin xyz="0.0306 0 0.05466" rpy="0 0 0" />
      <parent link="${prefix}robotiq_arg2f_base_link" />
      <child link="${prefix}left_outer_knuckle" />
      <axis xyz="0 -1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
      <mimic joint="${prefix}joint_finger" multiplier="1" offset="0"/>
    </joint>

    <joint name="${prefix}joint_finger" type="revolute">
      <origin xyz="-0.0306 0 0.05466" rpy="0 0 0" />
      <parent link="${prefix}robotiq_arg2f_base_link" />
      <child link="${prefix}right_outer_knuckle" />
      <axis xyz="0 1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
    </joint>

    <joint name="${prefix}robotiq_arg2f_base_link_to_${prefix}left_inner_knuckle" type="revolute">
      <origin xyz="0.0127 0 0.06118" rpy="0 0 0" />
      <parent link="${prefix}robotiq_arg2f_base_link" />
      <child link="${prefix}left_inner_knuckle" />
      <axis xyz="0 -1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
      <mimic joint="${prefix}joint_finger" multiplier="1" offset="0"/>
    </joint>

    <joint name="${prefix}robotiq_arg2f_base_link_to_${prefix}right_inner_knuckle" type="revolute">
      <origin xyz="-0.0127 0 0.06118" rpy="0 0 0" />
      <parent link="${prefix}robotiq_arg2f_base_link" />
      <child link="${prefix}right_inner_knuckle" />
      <axis xyz="0 1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
      <mimic joint="${prefix}joint_finger" multiplier="1" offset="0"/>
    </joint>

    <joint name="${prefix}left_outer_finger_to_inner" type="revolute">
      <origin xyz="0.00678 0 0.04703" rpy="0 0 0" />
      <parent link="${prefix}left_outer_finger" />
      <child link="${prefix}left_inner_finger" />
      <axis xyz="0 1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
      <mimic joint="${prefix}joint_finger" multiplier="1" offset="0"/>
    </joint>

    <joint name="${prefix}right_outer_finger_to_inner" type="revolute">
      <origin xyz="-0.00678 0 0.04703" rpy="0 0 0" />
      <parent link="${prefix}right_outer_finger" />
      <child link="${prefix}right_inner_finger" />
      <axis xyz="0 -1 0" />
      <limit lower="0" upper="0.82589" velocity="3.87" effort="21.03" />
      <mimic joint="${prefix}joint_finger" multiplier="1" offset="0"/>
    </joint>

    <joint name="${prefix}left_outer_knuckle_to_finger" type="fixed">
      <origin xyz="0.03142 0 -0.00453" rpy="0 0 0" />
      <parent link="${prefix}left_outer_knuckle" />
      <child link="${prefix}left_outer_finger" />
    </joint>

    <joint name="${prefix}right_outer_knuckle_to_finger" type="fixed">
      <origin xyz="-0.03142 0 -0.00453" rpy="0 0 0" />
      <parent link="${prefix}right_outer_knuckle" />
      <child link="${prefix}right_outer_finger" />
    </joint>

    <gazebo>
      <joint name="${prefix}left_inner_knuckle_to_finger" type="revolute">
        <pose frame="">-0.0179 0 0.00652 0 0 0</pose>
        <parent>${prefix}left_inner_knuckle</parent>
        <child>${prefix}left_inner_finger</child>
        <axis>
          <xyz>0 1 0</xyz>
          <limit>
            <lower>0</lower>
            <upper>0.82589</upper>
            <velocity>3.87</velocity>
            <effort>21.03</effort>
          </limit>
        </axis>
      </joint>

      <joint name="${prefix}right_inner_knuckle_to_finger" type="revolute">
        <pose frame="">0.0179 0 0.00652 0 0 0</pose>
        <parent>${prefix}right_inner_knuckle</parent>
        <child>${prefix}right_inner_finger</child>
        <axis>
          <xyz>0 -1 0</xyz>
          <limit>
            <lower>0</lower>
            <upper>0.82589</upper>
            <velocity>3.87</velocity>
            <effort>21.03</effort>
          </limit>
        </axis>
      </joint>



      <transmission name="${prefix}joint_finger_trans">
        <type>transmission_interface/SimpleTransmission</type>
        <actuator name="{prefix}joint_finger_act">
          <mechanicalReduction>50</mechanicalReduction>
        </actuator>
        <joint name="{prefix}joint_finger">
          <hardwareInterface>PositionJointInterface</hardwareInterface>
        </joint>
      </transmission>

      <plugin filename="librobotiq_gripper_gazebo_plugin.so" name="hrim_actuator_gripper${MAC}">
        <kp>10</kp>
        <ki>10</ki>
        <kd>0.1</kd>
        <min_velocity>20</min_velocity>
        <max_velocity>150</max_velocity>
        <radius>100</radius>
        <joint>${prefix}robotiq_arg2f_base_link_to_${prefix}left_inner_knuckle</joint>
        <joint>${prefix}robotiq_arg2f_base_link_to_${prefix}left_outer_knuckle</joint>
        <joint>${prefix}robotiq_arg2f_base_link_to_${prefix}right_inner_knuckle</joint>
        <joint>${prefix}joint_finger</joint>
      </plugin>
    </gazebo>
  </xacro:macro>
</robot>

Asked by kimminseo7 on 2019-08-18 21:14:59 UTC

Comments

Answers