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