Open cgokmen opened 4 months ago
Example file:
<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from /opt/pal/ferrum/share/tiago_dual_description/robots/tiago_dual.urdf.xacro | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<!--
Copyright (c) 2019, PAL Robotics, S.L.
All rights reserved.
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
-->
<robot name="tiago_dual">
<material name="Hey5DarkGrey">
<color rgba="0.1 0.1 0.1 1.0"/>
</material>
<!--TODO: Check-->
<material name="Blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>
<material name="Green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>
<material name="Grey">
<color rgba="0.7 0.7 0.7 1.0"/>
</material>
<material name="LightGrey">
<color rgba="0.9 0.9 0.9 1.0"/>
</material>
<material name="DarkGrey">
<color rgba="0.1 0.1 0.1 1.0"/>
</material>
<material name="Red">
<color rgba="0.8 0.0 0.0 1.0"/>
</material>
<material name="White">
<color rgba="1.0 1.0 1.0 1.0"/>
</material>
<material name="Yellow">
<color rgba="0.96 0.88 0.14 1.0"/>
</material>
<link name="base_rear_laser_link" type="laser">
<inertial>
<origin rpy="0 0 0" xyz="-0.02559000000 -0.00056000000 -0.05732000000"/>
<mass value="0.28922000000"/>
<inertia ixx="0.00002628919" ixy="0.00000024298" ixz="-0.00000368129" iyy="0.00003374542" iyz="-0.00000001330" izz="0.00005832599"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/sensors/sick_tim551.obj"/>
</geometry>
<material name="DarkGrey"/>
</visual>
</link>
<joint name="base_rear_laser_joint" type="fixed">
<axis xyz="0 1 0"/>
<origin rpy="-3.14159265359 0 2.35619449019" xyz="-0.27512 0.18297 0.13244"/>
<parent link="base_link"/>
<child link="base_rear_laser_link"/>
</joint>
<link name="base_front_laser_link" type="laser">
<inertial>
<origin rpy="0 0 0" xyz="-0.02559000000 -0.00056000000 -0.05732000000"/>
<mass value="0.28922000000"/>
<inertia ixx="0.00002628919" ixy="0.00000024298" ixz="-0.00000368129" iyy="0.00003374542" iyz="-0.00000001330" izz="0.00005832599"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/sensors/sick_tim551.obj"/>
</geometry>
<material name="DarkGrey"/>
</visual>
</link>
<joint name="base_front_laser_joint" type="fixed">
<axis xyz="0 1 0"/>
<origin rpy="-3.14159265359 0 -0.785398163397" xyz="0.27512 -0.18297 0.13244"/>
<parent link="base_link"/>
<child link="base_front_laser_link"/>
</joint>
<!-- Virtual Base Laser Link -->
<joint name="virtual_base_laser_joint" type="fixed">
<parent link="base_link"/>
<child link="virtual_base_laser_link"/>
<origin rpy="0 0 0" xyz="0 0 0.13244"/>
</joint>
<link name="virtual_base_laser_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001"/>
</inertial>
</link>
<!-- Base footprint -->
<link name="base_link">
<inertial>
<origin rpy="0 0 0" xyz="0.0026742 0.00027459 0.086363"/>
<mass value="34.047"/>
<inertia ixx="0.22777" ixy="0.00035979" ixz="0.00015269" iyy="0.29991" iyz="1.7872E-05" izz="0.46036"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_link.obj"/>
</geometry>
<material name="">
<color rgba="0.75294 0.75294 0.75294 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_link.obj"/>
</geometry>
</collision>
</link>
<link name="base_footprint"/>
<joint name="base_footprint_joint" type="fixed">
<origin rpy="0 0 0" xyz="0 0 0.0762"/>
<child link="base_link"/>
<parent link="base_footprint"/>
</joint>
<!-- gazebo parameters are given here for base_link through base_footprint -->
<link name="base_imu_link">
<inertial>
<mass value="0.01"/>
<origin xyz="0 0 0"/>
<inertia ixx="0.000001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.000001"/>
</inertial>
<!--visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<box size="0.01 0.01 0.01"/>
</geometry>
</visual-->
</link>
<joint name="base_imu_joint" type="fixed">
<parent link="base_link"/>
<child link="base_imu_link"/>
<origin rpy="0 0 1.57079632679" xyz="-0.287 0 0.092163"/>
</joint>
<!-- Docking link -->
<link name="base_dock_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.0037082 1.5226E-18 -4.1633E-17"/>
<mass value="0.032242"/>
<inertia ixx="2.1302E-05" ixy="-1.0461E-21" ixz="6.6555E-22" iyy="1.2058E-05" iyz="-1.9453E-21" izz="1.0058E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_dock_link.obj"/>
</geometry>
<material name="">
<color rgba="0.25098 0.25098 0.25098 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_dock_link.obj"/>
</geometry>
</collision>
</link>
<joint name="base_dock" type="fixed">
<origin rpy="0 0 0" xyz="0.3535 0 0.0596"/>
<parent link="base_link"/>
<child link="base_dock_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="base_antenna_right_link">
<inertial>
<origin rpy="0 0 0" xyz="0.027807 -0.0085125 0.015138"/>
<mass value="0.02311"/>
<inertia ixx="2.3107E-06" ixy="5.0914e-06" ixz="8.5605E-08" iyy="1.7384E-05" iyz="-2.6206e-08" izz="1.8542E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_antena_link.obj" scale="1 1 1"/>
</geometry>
<material name="">
<color rgba="0.75294 0.75294 0.75294 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_antena_link.obj" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="base_antenna_right_joint" type="fixed">
<origin rpy="0 0 0" xyz="-0.2015 -0.13 0.2165"/>
<parent link="base_link"/>
<child link="base_antenna_right_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="base_antenna_left_link">
<inertial>
<origin rpy="0 0 0" xyz="0.027807 0.0085125 0.015138"/>
<mass value="0.02311"/>
<inertia ixx="2.3107E-06" ixy="-5.0914e-06" ixz="8.5605E-08" iyy="1.7384E-05" iyz="2.6206e-08" izz="1.8542E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_antena_link.obj" scale="1 -1 1"/>
</geometry>
<material name="">
<color rgba="0.75294 0.75294 0.75294 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/base/base_antena_link.obj" scale="1 -1 1"/>
</geometry>
</collision>
</link>
<joint name="base_antenna_left_joint" type="fixed">
<origin rpy="0 0 0" xyz="-0.2015 0.13 0.2165"/>
<parent link="base_link"/>
<child link="base_antenna_left_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="suspension_front_right_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.058182 -0.0043908 -0.0057695"/>
<mass value="1.2879"/>
<inertia ixx="0.0015947" ixy="-0.00013183" ixz="1.7315E-05" iyy="0.00060158" iyz="-6.0731e-05" izz="0.0015861"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_front_link.obj" scale="1 1.0 1"/>
</geometry>
<material name="">
<color rgba="0.79216 0.81961 0.93333 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_front_link.obj" scale="1 1.0 1"/>
</geometry>
</collision>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<joint name="suspension_front_right_joint" type="fixed">
<origin rpy="0 0 -1.57079632679" xyz="0.244 -0.1725 0"/>
<parent link="base_link"/>
<child link="suspension_front_right_link"/>
<axis xyz="0 0 1"/>
<calibration rising="0.0"/>
<dynamics damping="100"/>
<limit effort="100" lower="-0.01" upper="0.01" velocity="1.0"/>
</joint>
<link name="wheel_front_right_link">
<inertial>
<origin rpy="0 0 0" xyz="5.4922e-09 6.9775e-05 0.011144"/>
<mass value="0.70767"/>
<inertia ixx="0.00035492" ixy="7.5685e-13" ixz="3.8795E-11" iyy="0.00035529" iyz="-2.0284e-07" izz="0.00040131"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/wheel_link.obj" scale="1 1 1.0"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.0762"/>
</geometry>
</collision>
</link>
<joint name="wheel_front_right_joint" type="fixed">
<origin rpy="-1.57079632679 0 1.57079632679" xyz="0.050675 0 0"/>
<parent link="suspension_front_right_link"/>
<child link="wheel_front_right_link"/>
<axis xyz="0 0 1"/>
<limit effort="6.0" velocity="13.1233595801"/>
</joint>
<transmission name="wheel_front_right_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="wheel_front_right_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="wheel_front_right_joint">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!-- Contact model for the wheel surface -->
<link name="suspension_front_left_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.058182 0.0043908 -0.0057695"/>
<mass value="1.2879"/>
<inertia ixx="0.0015947" ixy="0.00013183" ixz="1.7315E-05" iyy="0.00060158" iyz="6.0731e-05" izz="0.0015861"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_front_link.obj" scale="1 -1.0 1"/>
</geometry>
<material name="">
<color rgba="0.79216 0.81961 0.93333 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_front_link.obj" scale="1 -1.0 1"/>
</geometry>
</collision>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<joint name="suspension_front_left_joint" type="fixed">
<origin rpy="0 0 1.57079632679" xyz="0.244 0.1725 0"/>
<parent link="base_link"/>
<child link="suspension_front_left_link"/>
<axis xyz="0 0 1"/>
<calibration rising="0.0"/>
<dynamics damping="100"/>
<limit effort="100" lower="-0.01" upper="0.01" velocity="1.0"/>
</joint>
<link name="wheel_front_left_link">
<inertial>
<origin rpy="0 0 0" xyz="5.4922e-09 -6.9775e-05 -0.011144"/>
<mass value="0.70767"/>
<inertia ixx="0.00035492" ixy="7.5685e-13" ixz="3.8795E-11" iyy="0.00035529" iyz="-2.0284e-07" izz="0.00040131"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/wheel_link.obj" scale="1 1 -1.0"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.0762"/>
</geometry>
</collision>
</link>
<joint name="wheel_front_left_joint" type="fixed">
<origin rpy="-1.57079632679 0 -1.57079632679" xyz="0.050675 0 0"/>
<parent link="suspension_front_left_link"/>
<child link="wheel_front_left_link"/>
<axis xyz="0 0 1"/>
<limit effort="6.0" velocity="13.1233595801"/>
</joint>
<transmission name="wheel_front_left_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="wheel_front_left_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="wheel_front_left_joint">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!-- Contact model for the wheel surface -->
<link name="suspension_rear_right_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.058182 0.0043908 -0.0057695"/>
<mass value="1.2879"/>
<inertia ixx="0.0015947" ixy="0.00013183" ixz="1.7315E-05" iyy="0.00060158" iyz="6.0731e-05" izz="0.0015861"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_rear_link.obj" scale="1 1.0 1"/>
</geometry>
<material name="">
<color rgba="0.79216 0.81961 0.93333 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_rear_link.obj" scale="1 1.0 1"/>
</geometry>
</collision>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<joint name="suspension_rear_right_joint" type="fixed">
<origin rpy="0 0 -1.57079632679" xyz="-0.244 -0.1725 0"/>
<parent link="base_link"/>
<child link="suspension_rear_right_link"/>
<axis xyz="0 0 1"/>
<calibration rising="0.0"/>
<dynamics damping="100"/>
<limit effort="100" lower="-0.01" upper="0.01" velocity="1.0"/>
</joint>
<link name="wheel_rear_right_link">
<inertial>
<origin rpy="0 0 0" xyz="-5.4922e-09 -6.9775e-05 0.011144"/>
<mass value="0.70767"/>
<inertia ixx="0.00035492" ixy="-7.5685e-13" ixz="3.8795E-11" iyy="0.00035529" iyz="2.0284e-07" izz="0.00040131"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/wheel_link.obj" scale="1 1 1.0"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.0762"/>
</geometry>
</collision>
</link>
<joint name="wheel_rear_right_joint" type="fixed">
<origin rpy="-1.57079632679 0 1.57079632679" xyz="0.050675 0 0"/>
<parent link="suspension_rear_right_link"/>
<child link="wheel_rear_right_link"/>
<axis xyz="0 0 1"/>
<limit effort="6.0" velocity="13.1233595801"/>
</joint>
<transmission name="wheel_rear_right_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="wheel_rear_right_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="wheel_rear_right_joint">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!-- Contact model for the wheel surface -->
<link name="suspension_rear_left_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.058182 -0.0043908 -0.0057695"/>
<mass value="1.2879"/>
<inertia ixx="0.0015947" ixy="-0.00013183" ixz="1.7315E-05" iyy="0.00060158" iyz="-6.0731e-05" izz="0.0015861"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_rear_link.obj" scale="1 -1.0 1"/>
</geometry>
<material name="">
<color rgba="0.79216 0.81961 0.93333 1"/>
</material>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/suspension_rear_link.obj" scale="1 -1.0 1"/>
</geometry>
</collision>
<kinematic>0</kinematic>
<gravity>1</gravity>
</link>
<joint name="suspension_rear_left_joint" type="fixed">
<origin rpy="0 0 1.57079632679" xyz="-0.244 0.1725 0"/>
<parent link="base_link"/>
<child link="suspension_rear_left_link"/>
<axis xyz="0 0 1"/>
<calibration rising="0.0"/>
<dynamics damping="100"/>
<limit effort="100" lower="-0.01" upper="0.01" velocity="1.0"/>
</joint>
<link name="wheel_rear_left_link">
<inertial>
<origin rpy="0 0 0" xyz="-5.4922e-09 6.9775e-05 -0.011144"/>
<mass value="0.70767"/>
<inertia ixx="0.00035492" ixy="-7.5685e-13" ixz="3.8795E-11" iyy="0.00035529" iyz="2.0284e-07" izz="0.00040131"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/wheels/wheel_link.obj" scale="1 1 -1.0"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.05" radius="0.0762"/>
</geometry>
</collision>
</link>
<joint name="wheel_rear_left_joint" type="fixed">
<origin rpy="-1.57079632679 0 -1.57079632679" xyz="0.050675 0 0"/>
<parent link="suspension_rear_left_link"/>
<child link="wheel_rear_left_link"/>
<axis xyz="0 0 1"/>
<limit effort="6.0" velocity="13.1233595801"/>
</joint>
<transmission name="wheel_rear_left_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="wheel_rear_left_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="wheel_rear_left_joint">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!-- Contact model for the wheel surface -->
<!-- Bottom fixed part of column -->
<link name="torso_fixed_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.02435 -0.00464 0.15900"/>
<mass value="14.01360"/>
<inertia ixx="0.38341100000" ixy="0.00036400000" ixz="-0.02438900000" iyy="0.40577300000" iyz="-0.00078200000" izz="0.07699800000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/torso/torso_fix.obj" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0.085 0.0 0.02"/>
<geometry>
<box size="0.4 0.25 0.04"/>
</geometry>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 0 0.05"/>
<geometry>
<box size="0.25 0.25 0.1"/>
</geometry>
</collision>
</link>
<joint name="torso_fixed_joint" type="fixed">
<origin rpy="0 0 0" xyz="-0.062 0.0 0.193"/>
<parent link="base_link"/>
<child link="torso_fixed_link"/>
<axis xyz="0 0 0"/>
</joint>
<!-- Middle extending -->
<link name="torso_fixed_column_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.01"/>
<inertia ixx="0.000001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.000001"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0.275"/>
<geometry>
<box size="0.18 0.2 0.55"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0.275"/>
<geometry>
<box size="0.23 0.23 0.55"/>
</geometry>
<material name="DarkGrey"/>
</collision>
</link>
<joint name="torso_fixed_column_joint" type="fixed">
<origin rpy="0 0 0" xyz="-0.062 0 0.195"/>
<parent link="base_link"/>
<child link="torso_fixed_column_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="torso_lift_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.04361 -0.00116 -0.17334"/>
<mass value="9.594213"/>
<inertia ixx="0.326395" ixy="-0.000844" ixz="-0.018905" iyy="0.235332" iyz="0.009042" izz="0.176168"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/torso/torso_lift_dual_arm.obj" scale="1 1 1"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/torso/torso_lift_collision_core.dae" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</collision>
<!-- left shoulder collision-->
<collision>
<origin rpy="0 0 0" xyz="-0.131 0.17 -0.02556"/>
<geometry>
<mesh filename="meshes/torso/torso_lift_collision_shoulder.dae" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</collision>
<!-- right shoulder collision-->
<collision>
<origin rpy="0 0 0" xyz="-0.131 -0.19 -0.02556"/>
<geometry>
<mesh filename="meshes/torso/torso_lift_collision_shoulder.dae" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</collision>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/torso/torso_lift_collision_neck.dae" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</collision>
</link>
<joint name="torso_lift_joint" type="prismatic">
<origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.597"/>
<parent link="torso_fixed_link"/>
<child link="torso_lift_link"/>
<axis xyz="0 0 1"/>
<limit effort="2000" lower="0" upper="0.35" velocity="0.07"/>
<calibration rising="0.0"/>
<dynamics damping="1000"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="0.0" soft_upper_limit="0.35"/>
</joint>
<transmission name="torso_lift_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="torso_lift_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="torso_lift_joint">
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<link name="head_1_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="-0.00508 0.00237 0.07229"/>
<mass value="0.62220"/>
<inertia ixx="0.00119200000" ixy="-0.00000700000" ixz="0.00009600000" iyy="0.00140200000" iyz="0.00000400000" izz="0.00088900000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/head/head_1.obj" scale="1 1 1"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0.0" xyz="0.0 0 0"/>
<geometry>
<mesh filename="meshes/head/head_1_collision.dae" scale="1 1 1"/>
</geometry>
<material name="White"/>
</collision>
</link>
<joint name="head_1_joint" type="revolute">
<parent link="torso_lift_link"/>
<child link="head_1_link"/>
<origin rpy="0 0 0" xyz="0.182 0.0 0.0"/>
<axis xyz="0 0 1"/>
<limit effort="5.197" lower="-1.308996939" upper="1.308996939" velocity="3.0"/>
<dynamics damping="0.5" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.238996939" soft_upper_limit="1.238996939"/>
</joint>
<transmission name="head_1_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="head_1_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
<joint name="head_1_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<link name="head_2_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.04700 0.05542 0.00022"/>
<mass value="0.66123"/>
<inertia ixx="0.00462000000" ixy="0.00068900000" ixz="0.00000600000" iyy="0.00486100000" iyz="0.00000600000" izz="0.00313200000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/head/head_2.obj" scale="1 1 1"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/head/head_2_collision.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="head_2_joint" type="revolute">
<parent link="head_1_link"/>
<child link="head_2_link"/>
<origin rpy="1.57079632679 0 0" xyz="0.005 0.0 0.098"/>
<axis xyz="0 0 1"/>
<limit effort="2.77" lower="-1.0471975512" upper="0.785398163397" velocity="3.0"/>
<dynamics damping="0.5" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-0.977197551197" soft_upper_limit="0.715398163397"/>
</joint>
<transmission name="head_2_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="head_2_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
<joint name="head_2_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<!-- frames in the center of the camera -->
<joint name="xtion_joint" type="fixed">
<origin rpy="-1.57079632679 0.0 0.0" xyz="0.0908 0.08 0.0"/>
<parent link="head_2_link"/>
<child link="xtion_link"/>
</joint>
<link name="xtion_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.00936000000 -0.00003000000 -0.00273000000"/>
<mass value="0.21970000000"/>
<inertia ixx="0.00000429247" ixy="0.00000000000" ixz="0.00000002565" iyy="0.00000008027" iyz="0.00000000000" izz="0.00000427339"/>
</inertial>
<!--
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/sensors/xtion_pro_live/xtion_pro_live.dae" />
</geometry>
<material name="Grey">
<color rgba="0.5 0.5 0.5 1"/>
</material>
</visual>
<collision>
<origin xyz="-0.01 0.0025 0" rpy="0 0 0"/>
<geometry>
<box size="0.04 0.185 0.03"/>
</geometry>
</collision>
-->
</link>
<joint name="xtion_optical_joint" type="fixed">
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
<parent link="xtion_link"/>
<child link="xtion_optical_frame"/>
</joint>
<link name="xtion_optical_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<!-- frame of camera origin provided by Orbbec, need this intermediate frame for backwards compatibility with xtion_pro_live
to reuse same camera origin -->
<joint name="xtion_orbbec_aux_joint" type="fixed">
<!-- This is the real origin as in the robot solidworks, it must match: 0.1015 0.095 0.008 -->
<!-- Assuming we have 0.0908 0.08 0.0 from default camera_position, and rotated -90 deg on x.-->
<!-- Pending confirmation from Orbbec about the position of the frames, going with old defaults-->
<!-- <origin xyz="0.0107 0.008 0.015" rpy="0 0 0" />-->
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="xtion_link"/>
<child link="xtion_orbbec_aux_joint_frame"/>
</joint>
<link name="xtion_orbbec_aux_joint_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<!-- frames of the depth sensor -->
<joint name="xtion_depth_joint" type="fixed">
<origin rpy="0 0 0" xyz="0.0 0.025 0.0"/>
<parent link="xtion_rgb_frame"/>
<child link="xtion_depth_frame"/>
</joint>
<link name="xtion_depth_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<joint name="xtion_depth_optical_joint" type="fixed">
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
<parent link="xtion_depth_frame"/>
<child link="xtion_depth_optical_frame"/>
</joint>
<link name="xtion_depth_optical_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<!-- frames of the rgb sensor -->
<joint name="xtion_rgb_joint" type="fixed">
<origin rpy="0 0 0" xyz="0.0 0.022 0.0"/>
<parent link="xtion_orbbec_aux_joint_frame"/>
<child link="xtion_rgb_frame"/>
</joint>
<link name="xtion_rgb_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<joint name="xtion_rgb_optical_joint" type="fixed">
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
<parent link="xtion_rgb_frame"/>
<child link="xtion_rgb_optical_frame"/>
</joint>
<link name="xtion_rgb_optical_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.001"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<!--************************-->
<!-- SHOULDER -->
<!--************************-->
<link name="arm_left_1_link">
<inertial>
<!--<origin xyz="0.061191 ${reflect * -0.022397} -0.012835" rpy="0.00000 0.00000 0.00000"/>-->
<origin rpy="0.00000 0.00000 0.00000" xyz="0.061191 -0.022397 0.012835"/>
<mass value="1.563428"/>
<inertia ixx="0.002471" ixy="0.001809" ixz="-0.001202" iyy="0.006132" iyz="-0.000494" izz="0.006704"/>
</inertial>
<!-- M90 module -->
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_1.obj" scale="1 -1 -1"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_1_collision.dae" scale="1 -1 -1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_1_joint" type="revolute">
<parent link="torso_lift_link"/>
<child link="arm_left_1_link"/>
<origin rpy="3.14159265359 0 1.57079632679" xyz="0.02556 0.19 -0.171"/>
<axis xyz="0 0 1"/>
<limit effort="43.0" lower="-1.1780972451" upper="1.57079632679" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.1080972451" soft_upper_limit="1.50079632679"/>
</joint>
<link name="arm_left_2_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.030432 0.000229 0.005942"/>
<mass value="1.800397"/>
<inertia ixx="0.001809" ixy="-1.5e-05" ixz="-0.000254" iyy="0.004333" iyz="-1.4e-05" izz="0.004341"/>
</inertial>
<visual>
<!-- <origin xyz="0 0 0" rpy="${180 * deg_to_rad} ${0 * deg_to_rad} ${-90 * deg_to_rad}" /> -->
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_2.obj" scale="1 1 -1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<!-- <origin xyz="0 0 0" rpy="${180 * deg_to_rad} ${0 * deg_to_rad} ${-90 * deg_to_rad}" /> -->
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_2_collision.dae" scale="1 1 -1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_2_joint" type="revolute">
<parent link="arm_left_1_link"/>
<child link="arm_left_2_link"/>
<origin rpy="1.57079632679 0.0 0.0" xyz="0.125 -0.0195 0.031"/>
<axis xyz="0 0 1"/>
<limit effort="43.0" lower="-1.1780972451" upper="1.57079632679" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.1080972451" soft_upper_limit="1.50079632679"/>
</joint>
<link name="arm_left_3_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.007418 -0.004361 0.134194"/>
<mass value="1.8"/>
<inertia ixx="0.019541" ixy="-0.000105" ixz="-0.001717" iyy="0.019936" iyz="-0.000852" izz="0.002864"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_3.obj" scale="1 1 -1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_3_collision.dae" scale="1 1 -1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_3_joint" type="revolute">
<parent link="arm_left_2_link"/>
<child link="arm_left_3_link"/>
<origin rpy="-1.57079632679 3.14159265359 -1.57079632679" xyz="0.0895 0.0 -0.0015"/>
<axis xyz="0 0 1"/>
<limit effort="26" lower="-0.785398163397" upper="3.92699081699" velocity="2.35"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-0.715398163397" soft_upper_limit="3.85699081699"/>
</joint>
<!--************************-->
<!-- ELBOW -->
<!--************************-->
<link name="arm_left_4_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.095658 -0.014666 -0.018133"/>
<mass value="1.432697"/>
<inertia ixx="0.002040" ixy="-0.000725" ixz="0.00115" iyy="0.008424" iyz="-0.000204" izz="0.008686"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_4.obj" scale="-1 -1 -1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_4_collision.dae" scale="-1 -1 -1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_4_joint" type="revolute">
<parent link="arm_left_3_link"/>
<child link="arm_left_4_link"/>
<origin rpy="1.57079632679 -1.57079632679 0.0" xyz="-0.02 -0.027 0.222"/>
<axis xyz="0 0 1"/>
<limit effort="26" lower="-0.392699081699" upper="2.35619449019" velocity="2.35"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-0.322699081699" soft_upper_limit="2.28619449019"/>
</joint>
<!--************************-->
<!-- WRIST -->
<!--************************-->
<!--************************-->
<!-- WRIST -->
<!--************************-->
<link name="arm_left_5_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.001078 -0.000151 0.077173"/>
<mass value="1.655819"/>
<inertia ixx="0.00613800000" ixy="-0.00000400000" ixz="0.00015600000" iyy="0.00564000000" iyz="0.00002200000" izz="0.00179700000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_5-wrist-2017.obj" scale="-1 -1 -1"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_5_collision-wrist-2017.dae" scale="-1 -1 -1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_5_joint" type="revolute">
<parent link="arm_left_4_link"/>
<child link="arm_left_5_link"/>
<origin rpy="1.57079632679 -1.57079632679 -1.57079632679" xyz="0.162 -0.02 -0.027"/>
<axis xyz="0 0 1"/>
<limit effort="3" lower="-2.09439510239" upper="2.09439510239" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-2.07439510239" soft_upper_limit="2.07439510239"/>
</joint>
<link name="arm_left_6_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="-0.000153 -0.003122 0.000183"/>
<mass value="0.370063"/>
<inertia ixx="0.00021500000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00017000000" iyz="0.00000200000" izz="0.00017400000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_6-wrist-2017.obj" scale="-1 1 1"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_6_collision-wrist-2017.dae" scale="-1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_left_6_joint" type="revolute">
<parent link="arm_left_5_link"/>
<child link="arm_left_6_link"/>
<origin rpy="0.0 -1.57079632679 -1.57079632679" xyz="0 0 -0.15"/>
<axis xyz="0 0 1"/>
<limit effort="6.6" lower="-1.41371669412" upper="1.41371669412" velocity="1.76"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.39371669412" soft_upper_limit="1.39371669412"/>
</joint>
<link name="arm_left_7_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.000010 -0.000003 -0.007774"/>
<mass value="0.234252"/>
<inertia ixx="0.00014200000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00011300000" iyz="0.00000000000" izz="0.00005200000"/>
</inertial>
</link>
<joint name="arm_left_7_joint" type="revolute">
<parent link="arm_left_6_link"/>
<child link="arm_left_7_link"/>
<origin rpy="1.57079632679 0.0 1.57079632679" xyz="0 0 0"/>
<axis xyz="0 0 1"/>
<limit effort="6.6" lower="-2.09439510239" upper="2.09439510239" velocity="1.76"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-2.07439510239" soft_upper_limit="2.07439510239"/>
</joint>
<transmission name="arm_left_5_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_left_5_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_5_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_left_wrist_trans">
<type>transmission_interface/DifferentialTransmission</type>
<actuator name="arm_left_6_motor">
<role>actuator1</role>
<mechanicalReduction>-1.0</mechanicalReduction>
</actuator>
<actuator name="arm_left_7_motor">
<role>actuator2</role>
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_6_joint">
<role>joint1</role>
<offset>0.0</offset>
<mechanicalReduction>1.0</mechanicalReduction>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<ignoreTransmissionAbsoluteEncoder>1</ignoreTransmissionAbsoluteEncoder>
</joint>
<joint name="arm_left_7_joint">
<role>joint2</role>
<offset>0.0</offset>
<mechanicalReduction>1</mechanicalReduction>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<ignoreTransmissionAbsoluteEncoder>1</ignoreTransmissionAbsoluteEncoder>
</joint>
</transmission>
<!--***********************-->
<!-- TOOL -->
<!--***********************-->
<link name="arm_left_tool_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="8.33E-07" ixy="0.0" ixz="0.0" iyy="8.33E-07" iyz="0.0" izz="1.25E-06"/>
</inertial>
<visual>
<origin rpy="0 1.57079632679 0" xyz="0.001 0 0"/>
<geometry>
<cylinder length="0.005" radius="0.005"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 1.57079632679 0" xyz="0.001 0 0"/>
<geometry>
<cylinder length="0.005" radius="0.005"/>
</geometry>
</collision>
</link>
<joint name="arm_left_tool_joint" type="fixed">
<parent link="arm_left_7_link"/>
<child link="arm_left_tool_link"/>
<origin rpy="1.57079632679 1.57079632679 3.14159265359" xyz="0 0 -0.046"/>
</joint>
<transmission name="arm_left_1_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_left_1_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_1_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_left_2_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_left_2_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_2_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_left_3_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_left_3_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_3_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_left_4_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_left_4_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_left_4_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!--************************-->
<!-- ft sensor -->
<!--************************-->
<link name="wrist_left_ft_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="1.6E-05" ixy="-2.0E-06" ixz="0.0" iyy="1.6E-05" iyz="0.0" izz="2.7E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.0157" radius="0.0225"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.0157" radius="0.0225"/>
</geometry>
</collision>
</link>
<joint name="wrist_left_ft_joint" type="fixed">
<parent link="arm_left_tool_link"/>
<child link="wrist_left_ft_link"/>
<origin rpy="1.57079632679 0 1.57079632679" xyz="0.00785 0 0"/>
</joint>
<!--***********************-->
<!-- FT TOOL -->
<!--***********************-->
<link name="wrist_left_ft_tool_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="1.64E-05" ixy="0.0" ixz="0.0" iyy="1.64E-05" iyz="0.0" izz="3.125E-05"/>
</inertial>
<visual>
<origin rpy="0 1.57079632679 0" xyz="0.0 0 0"/>
<geometry>
<cylinder length="0.00975" radius="0.025"/>
</geometry>
<material name="FlatBlack"/>
</visual>
<collision>
<origin rpy="0 1.57079632679 0" xyz="0.0 0 0"/>
<geometry>
<cylinder length="0.00975" radius="0.025"/>
</geometry>
</collision>
</link>
<joint name="wrist_left_tool_joint" type="fixed">
<parent link="wrist_left_ft_link"/>
<child link="wrist_left_ft_tool_link"/>
<origin rpy="-1.57079632679 -1.57079632679 0" xyz="0 0 0.012725"/>
</joint>
<link name="gripper_left_tool_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001"/>
</inertial>
</link>
<joint name="gripper_left_tool_joint" type="fixed">
<origin rpy="1.57079632679 1.57079632679 -1.57079632679" xyz="0.01 0 0"/>
<parent link="wrist_left_ft_tool_link"/>
<child link="gripper_left_tool_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="gripper_left_link">
<inertial>
<origin rpy="0.0 0.0 0.0" xyz="-0.000294 0.000291 -0.033086"/>
<mass value="0.602660"/>
<inertia ixx="0.000693" ixy="0.000045" ixz="-0.000000" iyy="0.001024" iyz="0.000000" izz="0.000672"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_link.obj"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_link_collision.stl"/>
</geometry>
</collision>
</link>
<joint name="gripper_left_joint" type="fixed">
<origin rpy="1.57079632679 1.57079632679 -1.57079632679" xyz="0.01 0 0"/>
<parent link="wrist_left_ft_tool_link"/>
<child link="gripper_left_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="gripper_left_right_finger_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.004470 0.010766 -0.121013"/>
<mass value="0.109980"/>
<inertia ixx="0.000232" ixy="-0.000005" ixz="-0.000032" iyy="0.000224" iyz="0.000036" izz="0.000029"/>
</inertial>
<visual>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_finger_link.obj" scale="-1 -1 1"/>
</geometry>
<material name="Black"/>
</visual>
<collision>
<origin rpy="0 0 3.1415" xyz="0.005 0 -0.165"/>
<geometry>
<box size="0.01 0.05 0.11"/>
</geometry>
</collision>
</link>
<joint name="gripper_left_right_finger_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0. 0 0"/>
<parent link="gripper_left_link"/>
<child link="gripper_left_right_finger_link"/>
<axis xyz="1 0 0"/>
<limit effort="16" lower="0.0" upper="0.045" velocity="0.05"/>
<calibration rising="0.0"/>
<dynamics damping="80"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="0.001" soft_upper_limit="0.044"/>
</joint>
<link name="gripper_left_left_finger_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.004470 0.010766 -0.121013"/>
<mass value="0.109980"/>
<inertia ixx="0.000232" ixy="-0.000005" ixz="-0.000032" iyy="0.000224" iyz="0.000036" izz="0.000029"/>
</inertial>
<visual>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_finger_link.obj"/>
</geometry>
<material name="Black"/>
</visual>
<collision>
<origin rpy="0 0 3.1415" xyz="-0.005 0 -0.165"/>
<geometry>
<box size="0.01 0.05 0.11"/>
</geometry>
</collision>
</link>
<joint name="gripper_left_left_finger_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0. 0 0"/>
<parent link="gripper_left_link"/>
<child link="gripper_left_left_finger_link"/>
<axis xyz="-1 0 0"/>
<limit effort="16" lower="0" upper="0.045" velocity="0.05"/>
<calibration rising="0.0"/>
<dynamics damping="80"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="0.001" soft_upper_limit="0.044"/>
</joint>
<!-- Grasping frame -->
<joint name="gripper_left_grasping_frame_joint" type="fixed">
<parent link="gripper_left_link"/>
<child link="gripper_left_grasping_frame"/>
<origin rpy="-1.5708 1.5708 0" xyz="0 0 -0.12"/>
</joint>
<link name="gripper_left_grasping_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001"/>
</inertial>
</link>
<transmission name="gripper_left_left_finger_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="gripper_left_left_finger_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="gripper_left_left_finger_joint">
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="gripper_left_right_finger_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="gripper_left_right_finger_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="gripper_left_right_finger_joint">
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<!--************************-->
<!-- SHOULDER -->
<!--************************-->
<link name="arm_right_1_link">
<inertial>
<!--<origin xyz="0.061191 ${reflect * -0.022397} -0.012835" rpy="0.00000 0.00000 0.00000"/>-->
<origin rpy="0.00000 0.00000 0.00000" xyz="0.061191 -0.022397 -0.012835"/>
<mass value="1.563428"/>
<inertia ixx="0.002471" ixy="-0.001809" ixz="-0.001202" iyy="0.006132" iyz="0.000494" izz="0.006704"/>
</inertial>
<!-- M90 module -->
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_1.obj" scale="1 -1 1"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_1_collision.dae" scale="1 -1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_1_joint" type="revolute">
<parent link="torso_lift_link"/>
<child link="arm_right_1_link"/>
<origin rpy="0 0 -1.57079632679" xyz="0.02556 -0.19 -0.171"/>
<axis xyz="0 0 1"/>
<limit effort="43.0" lower="-1.1780972451" upper="1.57079632679" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.1080972451" soft_upper_limit="1.50079632679"/>
</joint>
<link name="arm_right_2_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.030432 0.000229 -0.005942"/>
<mass value="1.800397"/>
<inertia ixx="0.001809" ixy="1.5e-05" ixz="0.000254" iyy="0.004333" iyz="1.4e-05" izz="0.004341"/>
</inertial>
<visual>
<!-- <origin xyz="0 0 0" rpy="${180 * deg_to_rad} ${0 * deg_to_rad} ${-90 * deg_to_rad}" /> -->
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_2.obj" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<!-- <origin xyz="0 0 0" rpy="${180 * deg_to_rad} ${0 * deg_to_rad} ${-90 * deg_to_rad}" /> -->
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_2_collision.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_2_joint" type="revolute">
<parent link="arm_right_1_link"/>
<child link="arm_right_2_link"/>
<origin rpy="-1.57079632679 0.0 0.0" xyz="0.125 -0.0195 -0.031"/>
<axis xyz="0 0 1"/>
<limit effort="43.0" lower="-1.1780972451" upper="1.57079632679" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.1080972451" soft_upper_limit="1.50079632679"/>
</joint>
<link name="arm_right_3_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.007418 -0.004361 -0.134194"/>
<mass value="1.8"/>
<inertia ixx="0.019541" ixy="-0.000105" ixz="-0.001717" iyy="0.019936" iyz="0.000852" izz="0.002864"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_3.obj" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_3_collision.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_3_joint" type="revolute">
<parent link="arm_right_2_link"/>
<child link="arm_right_3_link"/>
<origin rpy="-1.57079632679 0.0 1.57079632679" xyz="0.0895 0.0 -0.0015"/>
<axis xyz="0 0 1"/>
<limit effort="26" lower="-0.785398163397" upper="3.92699081699" velocity="2.35"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-0.715398163397" soft_upper_limit="3.85699081699"/>
</joint>
<!--************************-->
<!-- ELBOW -->
<!--************************-->
<link name="arm_right_4_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="-0.095658 0.014666 0.018133"/>
<mass value="1.432697"/>
<inertia ixx="0.002040" ixy="0.000725" ixz="-0.00115" iyy="0.008424" iyz="-0.000204" izz="0.008686"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_4.obj" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_4_collision.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_4_joint" type="revolute">
<parent link="arm_right_3_link"/>
<child link="arm_right_4_link"/>
<origin rpy="-1.57079632679 -1.57079632679 0.0" xyz="-0.02 -0.027 -0.222"/>
<axis xyz="0 0 1"/>
<limit effort="26" lower="-0.392699081699" upper="2.35619449019" velocity="2.35"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-0.322699081699" soft_upper_limit="2.28619449019"/>
</joint>
<!--************************-->
<!-- WRIST -->
<!--************************-->
<!--************************-->
<!-- WRIST -->
<!--************************-->
<link name="arm_right_5_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.001078 -0.000151 -0.077173"/>
<mass value="1.655819"/>
<inertia ixx="0.00613800000" ixy="-0.00000400000" ixz="0.00015600000" iyy="0.00564000000" iyz="0.00002200000" izz="0.00179700000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_5-wrist-2017.obj" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_5_collision-wrist-2017.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_5_joint" type="revolute">
<parent link="arm_right_4_link"/>
<child link="arm_right_5_link"/>
<origin rpy="1.57079632679 -1.57079632679 -1.57079632679" xyz="-0.162 0.02 0.027"/>
<axis xyz="0 0 1"/>
<limit effort="3" lower="-2.09439510239" upper="2.09439510239" velocity="1.95"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-2.07439510239" soft_upper_limit="2.07439510239"/>
</joint>
<link name="arm_right_6_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="-0.000153 -0.003122 0.000183"/>
<mass value="0.370063"/>
<inertia ixx="0.00021500000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00017000000" iyz="0.00000200000" izz="0.00017400000"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_6-wrist-2017.obj" scale="1 1 1"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/arm/arm_6_collision-wrist-2017.dae" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="arm_right_6_joint" type="revolute">
<parent link="arm_right_5_link"/>
<child link="arm_right_6_link"/>
<origin rpy="0.0 -1.57079632679 -1.57079632679" xyz="0 0 0.15"/>
<axis xyz="0 0 1"/>
<limit effort="6.6" lower="-1.41371669412" upper="1.41371669412" velocity="1.76"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-1.39371669412" soft_upper_limit="1.39371669412"/>
</joint>
<link name="arm_right_7_link">
<inertial>
<origin rpy="0.00000 0.00000 0.00000" xyz="0.000010 -0.000003 -0.007774"/>
<mass value="0.234252"/>
<inertia ixx="0.00014200000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00011300000" iyz="0.00000000000" izz="0.00005200000"/>
</inertial>
</link>
<joint name="arm_right_7_joint" type="revolute">
<parent link="arm_right_6_link"/>
<child link="arm_right_7_link"/>
<origin rpy="1.57079632679 0.0 1.57079632679" xyz="0 0 0"/>
<axis xyz="0 0 1"/>
<limit effort="6.6" lower="-2.09439510239" upper="2.09439510239" velocity="1.76"/>
<dynamics damping="1.0" friction="1.0"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="-2.07439510239" soft_upper_limit="2.07439510239"/>
</joint>
<transmission name="arm_right_5_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_right_5_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_5_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_right_wrist_trans">
<type>transmission_interface/DifferentialTransmission</type>
<actuator name="arm_right_6_motor">
<role>actuator1</role>
<mechanicalReduction>-1.0</mechanicalReduction>
</actuator>
<actuator name="arm_right_7_motor">
<role>actuator2</role>
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_6_joint">
<role>joint1</role>
<offset>0.0</offset>
<mechanicalReduction>1.0</mechanicalReduction>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<ignoreTransmissionAbsoluteEncoder>1</ignoreTransmissionAbsoluteEncoder>
</joint>
<joint name="arm_right_7_joint">
<role>joint2</role>
<offset>0.0</offset>
<mechanicalReduction>-1</mechanicalReduction>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<ignoreTransmissionAbsoluteEncoder>1</ignoreTransmissionAbsoluteEncoder>
</joint>
</transmission>
<!--***********************-->
<!-- TOOL -->
<!--***********************-->
<link name="arm_right_tool_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="8.33E-07" ixy="0.0" ixz="0.0" iyy="8.33E-07" iyz="0.0" izz="1.25E-06"/>
</inertial>
<visual>
<origin rpy="0 1.57079632679 0" xyz="0.001 0 0"/>
<geometry>
<cylinder length="0.005" radius="0.005"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 1.57079632679 0" xyz="0.001 0 0"/>
<geometry>
<cylinder length="0.005" radius="0.005"/>
</geometry>
</collision>
</link>
<joint name="arm_right_tool_joint" type="fixed">
<parent link="arm_right_7_link"/>
<child link="arm_right_tool_link"/>
<origin rpy="1.57079632679 -1.57079632679 3.14159265359" xyz="0 0 0.046"/>
</joint>
<transmission name="arm_right_1_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_right_1_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_1_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_right_2_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_right_2_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_2_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_right_3_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_right_3_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_3_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="arm_right_4_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="arm_right_4_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="arm_right_4_joint">
<offset>0.0</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/JointStateInterface</hardwareInterface>
</joint>
</transmission>
<!--************************-->
<!-- ft sensor -->
<!--************************-->
<link name="wrist_right_ft_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="1.6E-05" ixy="-2.0E-06" ixz="0.0" iyy="1.6E-05" iyz="0.0" izz="2.7E-05"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.0157" radius="0.0225"/>
</geometry>
<material name="LightGrey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.0157" radius="0.0225"/>
</geometry>
</collision>
</link>
<joint name="wrist_right_ft_joint" type="fixed">
<parent link="arm_right_tool_link"/>
<child link="wrist_right_ft_link"/>
<origin rpy="1.57079632679 0 1.57079632679" xyz="0.00785 0 0"/>
</joint>
<!--***********************-->
<!-- FT TOOL -->
<!--***********************-->
<link name="wrist_right_ft_tool_link">
<inertial>
<mass value="0.1"/>
<inertia ixx="1.64E-05" ixy="0.0" ixz="0.0" iyy="1.64E-05" iyz="0.0" izz="3.125E-05"/>
</inertial>
<visual>
<origin rpy="0 1.57079632679 0" xyz="0.0 0 0"/>
<geometry>
<cylinder length="0.00975" radius="0.025"/>
</geometry>
<material name="FlatBlack"/>
</visual>
<collision>
<origin rpy="0 1.57079632679 0" xyz="0.0 0 0"/>
<geometry>
<cylinder length="0.00975" radius="0.025"/>
</geometry>
</collision>
</link>
<joint name="wrist_right_tool_joint" type="fixed">
<parent link="wrist_right_ft_link"/>
<child link="wrist_right_ft_tool_link"/>
<origin rpy="-1.57079632679 -1.57079632679 0" xyz="0 0 0.012725"/>
</joint>
<link name="gripper_right_tool_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001"/>
</inertial>
</link>
<joint name="gripper_right_tool_joint" type="fixed">
<origin rpy="1.57079632679 1.57079632679 -1.57079632679" xyz="0.01 0 0"/>
<parent link="wrist_right_ft_tool_link"/>
<child link="gripper_right_tool_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="gripper_right_link">
<inertial>
<origin rpy="0.0 0.0 0.0" xyz="-0.000294 0.000291 -0.033086"/>
<mass value="0.602660"/>
<inertia ixx="0.000693" ixy="0.000045" ixz="-0.000000" iyy="0.001024" iyz="0.000000" izz="0.000672"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_link.obj"/>
</geometry>
<material name="White"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_link_collision.stl"/>
</geometry>
</collision>
</link>
<joint name="gripper_right_joint" type="fixed">
<origin rpy="1.57079632679 1.57079632679 -1.57079632679" xyz="0.01 0 0"/>
<parent link="wrist_right_ft_tool_link"/>
<child link="gripper_right_link"/>
<axis xyz="0 0 0"/>
</joint>
<link name="gripper_right_right_finger_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.004470 0.010766 -0.121013"/>
<mass value="0.109980"/>
<inertia ixx="0.000232" ixy="-0.000005" ixz="-0.000032" iyy="0.000224" iyz="0.000036" izz="0.000029"/>
</inertial>
<visual>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_finger_link.obj" scale="-1 -1 1"/>
</geometry>
<material name="Black"/>
</visual>
<collision>
<origin rpy="0 0 3.1415" xyz="0.005 0 -0.165"/>
<geometry>
<box size="0.01 0.05 0.11"/>
</geometry>
</collision>
</link>
<joint name="gripper_right_right_finger_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0. 0 0"/>
<parent link="gripper_right_link"/>
<child link="gripper_right_right_finger_link"/>
<axis xyz="1 0 0"/>
<limit effort="16" lower="0.0" upper="0.045" velocity="0.05"/>
<calibration rising="0.0"/>
<dynamics damping="80"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="0.001" soft_upper_limit="0.044"/>
</joint>
<link name="gripper_right_left_finger_link">
<inertial>
<origin rpy="0 0 0" xyz="-0.004470 0.010766 -0.121013"/>
<mass value="0.109980"/>
<inertia ixx="0.000232" ixy="-0.000005" ixz="-0.000032" iyy="0.000224" iyz="0.000036" izz="0.000029"/>
</inertial>
<visual>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="meshes/grippers/gripper_finger_link.obj"/>
</geometry>
<material name="Black"/>
</visual>
<collision>
<origin rpy="0 0 3.1415" xyz="-0.005 0 -0.165"/>
<geometry>
<box size="0.01 0.05 0.11"/>
</geometry>
</collision>
</link>
<joint name="gripper_right_left_finger_joint" type="prismatic">
<origin rpy="0 0 0" xyz="0. 0 0"/>
<parent link="gripper_right_link"/>
<child link="gripper_right_left_finger_link"/>
<axis xyz="-1 0 0"/>
<limit effort="16" lower="0" upper="0.045" velocity="0.05"/>
<calibration rising="0.0"/>
<dynamics damping="80"/>
<safety_controller k_position="20" k_velocity="20" soft_lower_limit="0.001" soft_upper_limit="0.044"/>
</joint>
<!-- Grasping frame -->
<joint name="gripper_right_grasping_frame_joint" type="fixed">
<parent link="gripper_right_link"/>
<child link="gripper_right_grasping_frame"/>
<origin rpy="-1.5708 1.5708 0" xyz="0 0 -0.12"/>
</joint>
<link name="gripper_right_grasping_frame">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001"/>
</inertial>
</link>
<transmission name="gripper_right_left_finger_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="gripper_right_left_finger_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="gripper_right_left_finger_joint">
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<transmission name="gripper_right_right_finger_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="gripper_right_right_finger_motor">
<mechanicalReduction>1.0</mechanicalReduction>
</actuator>
<joint name="gripper_right_right_finger_joint">
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
</joint>
</transmission>
<!-- RGBD Laser Link -->
<joint name="rgbd_laser_joint" type="fixed">
<parent link="base_footprint"/>
<child link="rgbd_laser_link"/>
<origin rpy="0 0 0" xyz="-0.9 0 0"/>
</joint>
<link name="rgbd_laser_link">
<inertial>
<origin rpy="0 0 0" xyz="0 0 0"/>
<mass value="0.0001"/>
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001"/>
</inertial>
</link>
<!-- Eyes (added manually for iG) -->
<link name="eyes">
<inertial>
<mass value="0.001"/>
<origin xyz="0 0 0"/>
<inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
</inertial>
</link>
<joint name="eye_joint" type="fixed">
<origin rpy="0 0 0" xyz="0 0 0"/>
<parent link="xtion_depth_frame"/>
<child link="eyes"/>
</joint>
</robot>
@bohanwu was trying to import a robot today using the tutorial and ran into the below assertion error:
He says the old orn is different from the new orn for almost all the links, for example:
Issue stems from there being a negative scale in the URDF file's meshes, which we do not support. We need to instead replace these with positive-scaled URDF tags that point to already-scaled copies of the obj files. This can easily be done with a script, e.g.
Can we introduce a script that automatically performs this on a URDF and then imports it into OmniGibson? Can we also assert nonnegative scale prior to setting xform properties?