From 8df9e16bdfd65bb7eefd46a668c6f8a7b1448365 Mon Sep 17 00:00:00 2001 From: Rohan Budhiraja <budhiraja@laas.fr> Date: Fri, 23 Dec 2016 15:25:11 +0100 Subject: [PATCH] [urdf] Create new urdf files in robots/ and symlinks in urdf/ *talos_small(without gripper), *talos_full_collision(loading collision geometry) *talos_full(loading full mesh geometry) --- robots/talos_full.urdf | 2783 ++++++++++++++++++++++++++++++++ robots/talos_small.urdf | 2080 ++++++++++++++++++++++++ robots/talos_small.urdf.xacro | 45 + urdf/talos_full.urdf | 1 + urdf/talos_full_collision.urdf | 1 + urdf/talos_small.urdf | 1 + 6 files changed, 4911 insertions(+) create mode 100644 robots/talos_full.urdf create mode 100644 robots/talos_small.urdf create mode 100644 robots/talos_small.urdf.xacro create mode 120000 urdf/talos_full.urdf create mode 120000 urdf/talos_full_collision.urdf create mode 120000 urdf/talos_small.urdf diff --git a/robots/talos_full.urdf b/robots/talos_full.urdf new file mode 100644 index 0000000..15b81ef --- /dev/null +++ b/robots/talos_full.urdf @@ -0,0 +1,2783 @@ +<?xml version="1.0" ?> +<!-- =================================================================================== --> +<!-- | This document was autogenerated by xacro from talos_full.urdf.xacro | --> +<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | --> +<!-- =================================================================================== --> +<!-- + + Copyright (c) 2016, 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="talos" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:xacro="http://ros.org/wiki/xacro"> + <!--File includes--> + <!--Constant parameters--> + <!--File includes--> + <!-- Macro --> + <!--Constant parameters--> + <!--************************--> + <!-- HEAD_1 (TILT) --> + <!--************************--> + <!--************************--> + <!-- HEAD_2 (PAN) --> + <!--************************--> + <!--File includes--> + <!--File includes--> + <!--Constant parameters--> + <!--Constant parameters--> + <!--File includes--> + <!-- VIRTUAL (mimic) JOINTS --> + <!-- 0.45deg --> + <!--************************--> + <!-- TORSO_2 (TILT) --> + <!--************************--> + <link name="torso_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.04551 -0.00053 0.16386"/> + <mass value="17.55011"/> + <inertia ixx="0.37376900000" ixy="0.00063900000" ixz="0.01219600000" iyy="0.24790200000" iyz="0.00000700000" izz="0.28140400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_2.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_2_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <!--************************--> + <!-- TORSO_1 (PAN) --> + <!--************************--> + <link name="torso_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00013 -0.00001 -0.01306"/> + <mass value="3.02433"/> + <inertia ixx="0.00759400000" ixy="0.00000100000" ixz="-0.00004800000" iyy="0.00429200000" iyz="-0.00000100000" izz="0.00749700000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="torso_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="torso_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0722"/> + <axis xyz="0 0 1"/> + <limit effort="78.0" lower="-1.308996939" upper="1.308996939" velocity="5.4"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-15.0 * deg_to_rad + torso_eps}" + soft_upper_limit="${ 45.0 * deg_to_rad - torso_eps}" /> --> + </joint> + <!--************************--> + <!-- BASE_LINK --> + <!--************************--> + <link name="base_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.08222 0.00838 -0.07261"/> + <mass value="13.53810"/> + <inertia ixx="0.06989000000" ixy="-0.00011700000" ixz="0.00023000000" iyy="0.03998200000" iyz="-0.00132500000" izz="0.08234500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/base_link.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/base_link_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="torso_2_joint" type="revolute"> + <parent link="torso_1_link"/> + <child link="torso_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="78.0" lower="-0.261799387799" upper="0.785398163397" velocity="5.4"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="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="imu_joint" type="fixed"> + <origin rpy="3.14159265359 0 1.57079632679" xyz="0.04925 0 0.078"/> + <parent link="torso_2_link"/> + <child link="imu_link"/> + </joint> + <gazebo reference="torso_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="torso_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="base_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="torso_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="torso_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <transmission name="talos_torso_trans"> + <type>transmission_interface/DifferentialTransmission</type> + <actuator name="torso_1_motor"> + <role>actuator1</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <actuator name="torso_2_motor"> + <role>actuator2</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="torso_1_joint"> + <role>joint1</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="torso_2_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <link name="head_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00120 0.00145 0.02165"/> + <mass value="0.65988"/> + <inertia ixx="0.00122100000" ixy="-0.00000400000" ixz="0.00007000000" iyy="0.00092400000" iyz="-0.00004100000" izz="0.00103300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_1.stl" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_1_collision.stl" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="head_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="head_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.31600"/> + <axis xyz="0 1 0"/> + <limit effort="8.0" lower="-0.261799387799" upper="0.785398163397" velocity="1.0"/> + <dynamics damping="0.5" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-15.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${45.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="head_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="head_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="head_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <link name="head_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01036 -0.00037 0.13778"/> + <mass value="1.40353"/> + <inertia ixx="0.00722500000" ixy="-0.00002500000" ixz="0.00032900000" iyy="0.00687300000" iyz="0.00004400000" izz="0.00437300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_2.stl" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_2_collision.stl" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="4.0" lower="-1.308996939" upper="1.308996939" velocity="1.0"/> + <dynamics damping="0.5" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="head_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="head_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="head_2_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- frames in the center of the camera --> + <joint name="rgbd_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.066 0.0 0.1982"/> + <axis xyz="0 0 1"/> + <!-- <limit lower="0" upper="0.001" effort="100" velocity="0.01"/> --> + <parent link="head_2_link"/> + <child link="rgbd_link"/> + </joint> + <link name="rgbd_link"> + <inertial> + <mass value="0.01"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + <!-- inertia tensor computed analytically for a solid cuboid --> + <inertia ixx="0.000030" ixy="0.0" ixz="0.0" iyy="0.000030" iyz="0.0" izz="0.000002"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/sensors/orbbec/orbbec.STL"/> + </geometry> + <material name="DarkGrey"> + <color rgba="0.5 0.5 0.5 1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="-0.01 0.0025 0"/> + <geometry> + <box size="0.04 0.185 0.03"/> + </geometry> + </collision> + </link> + <joint name="rgbd_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_link"/> + <child link="rgbd_optical_frame"/> + </joint> + <link name="rgbd_optical_frame"> + <inertial> + <mass value="0.01"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + </link> + <!-- frames of the depth sensor --> + <joint name="rgbd_depth_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.0 0.03751 0.0"/> + <parent link="rgbd_link"/> + <child link="rgbd_depth_frame"/> + </joint> + <link name="rgbd_depth_frame"/> + <joint name="rgbd_depth_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_depth_frame"/> + <child link="rgbd_depth_optical_frame"/> + </joint> + <link name="rgbd_depth_optical_frame"/> + <!-- frames of the rgb sensor --> + <joint name="rgbd_rgb_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.0 0.01251 0.0"/> + <parent link="rgbd_link"/> + <child link="rgbd_rgb_frame"/> + </joint> + <link name="rgbd_rgb_frame"/> + <joint name="rgbd_rgb_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_rgb_frame"/> + <child link="rgbd_rgb_optical_frame"/> + </joint> + <link name="rgbd_rgb_optical_frame"/> + <!-- extensions --> + <gazebo reference="rgbd_link"> + <!-- IR + depth --> + <sensor name="rgbd_frame_sensor" type="depth"> + <always_on>true</always_on> + <update_rate>6.0</update_rate> + <camera> + <horizontal_fov>1.01229096616</horizontal_fov> + <image> + <format>R8G8B8</format> + <width>320</width> + <height>240</height> + </image> + <clip> + <near>0.45</near> + <far>10.0</far> + </clip> + </camera> + <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller"> + <alwaysOn>true</alwaysOn> + <updateRate>6.0</updateRate> + <cameraName>rgbd</cameraName> + <imageTopicName>ir/image_raw</imageTopicName> + <cameraInfoTopicName>ir/camera_info</cameraInfoTopicName> + <depthImageTopicName>depth/image_raw</depthImageTopicName> + <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName> + <pointCloudTopicName>depth/points</pointCloudTopicName> + <frameName>rgbd_optical_frame</frameName> + <pointCloudCutoff>0.45</pointCloudCutoff> + <rangeMax>10.0</rangeMax> + <distalostionK1>0.00000001</distalostionK1> + <distalostionK2>0.00000001</distalostionK2> + <distalostionK3>0.00000001</distalostionK3> + <distalostionT1>0.00000001</distalostionT1> + <distalostionT2>0.00000001</distalostionT2> + </plugin> + </sensor> + <!-- RGB --> + <sensor name="rgbd_frame_sensor" type="depth"> + <always_on>true</always_on> + <update_rate>6.0</update_rate> + <camera> + <horizontal_fov>1.01229096616</horizontal_fov> + <image> + <format>R8G8B8</format> + <width>320</width> + <height>240</height> + </image> + <clip> + <near>0.45</near> + <far>10.0</far> + </clip> + </camera> + <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller"> + <alwaysOn>true</alwaysOn> + <updateRate>6.0</updateRate> + <cameraName>rgbd</cameraName> + <imageTopicName>rgb/image_raw</imageTopicName> + <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName> + <pointCloudTopicName>rgb/points</pointCloudTopicName> + <frameName>rgbd_optical_frame</frameName> + <pointCloudCutoff>0.45</pointCloudCutoff> + <rangeMax>10.0</rangeMax> + <distalostionK1>0.00000001</distalostionK1> + <distalostionK2>0.00000001</distalostionK2> + <distalostionK3>0.00000001</distalostionK3> + <distalostionT1>0.00000001</distalostionT1> + <distalostionT2>0.00000001</distalostionT2> + </plugin> + </sensor> + <material>Gazebo/FlatBlack</material> + </gazebo> + <transmission name="talos_trans"> + <type>transmission_interface/HalfDifferentialTransmission</type> + <actuator name="head_1_motor"> + <role>actuator1</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <actuator name="head_2_motor"> + <role>actuator2</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="head_1_joint"> + <role>joint1</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="head_2_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>2.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- SHOULDER --> + <!--************************--> + <link name="arm_left_1_link"> + <!-- TODO: Missing reflects of inertias --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01346 0.0913 0.04812"/> + <!-- <mass value="1.52896"/> --> + <mass value="1.42896"/> + <inertia ixx="0.00555100000" ixy="-0.00073100000" ixz="0.00000800000" iyy="0.00167300000" iyz="-0.00006000000" izz="0.00582200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_left_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="arm_left_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.1575 0.23200"/> + <axis xyz="0 0 1"/> + <limit effort="44.64" lower="-1.57079632679" upper="0.523598775598" velocity="2.7"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_left_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02607 0.00049 -0.05209"/> + <!-- <mass value="1.77729"/> --> + <mass value="1.67729"/> + <inertia ixx="0.00708700000" ixy="-0.00001400000" ixz="0.00214200000" iyy="0.00793600000" iyz="0.00003000000" izz="0.00378800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2_collision.STL" 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="0.0 0.0 0.0" xyz="0.00493 0.1365 0.04673"/> + <axis xyz="1 0 0"/> + <limit effort="22.32" lower="0.0" upper="2.87979326579" velocity="3.66"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_left_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00841 0.01428 -0.22291"/> + <!-- <mass value="1.57029"/> --> + <mass value="1.47029"/> + <inertia ixx="0.00433200000" ixy="0.00015300000" ixz="-0.00049600000" iyy="0.00434000000" iyz="-0.00060900000" izz="0.00254300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3_collision.STL" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="17.86" lower="-2.44346095279" upper="2.44346095279" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <!--************************--> + <!-- ELBOW --> + <!--************************--> + <link name="arm_left_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00655 -0.02107 -0.02612"/> + <!-- <mass value="1.20216"/> --> + <mass value="1.10216"/> + <inertia ixx="0.00221700000" ixy="-0.00010100000" ixz="0.00028800000" iyy="0.00241800000" iyz="-0.00039300000" izz="0.00111500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4_collision.STL" 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="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/> + <axis xyz="0 1 0"/> + <limit effort="17.86" lower="-2.35619449019" upper="0.0" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <gazebo reference="arm_left_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <link name="arm_left_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00006 0.00326 0.07963"/> + <!-- <mass value="1.87792"/> --> + <mass value="1.77792"/> + <inertia ixx="0.00349500000" ixy="-0.00001300000" ixz="-0.00001000000" iyy="0.00436800000" iyz="0.00009700000" izz="0.00228300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5_collision.STL" 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="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/> + <axis xyz="0 0 1"/> + <limit effort="3" lower="-2.53072741539" upper="2.53072741539" velocity="1.95"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}" + soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> --> + </joint> + <link name="arm_left_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00002 -0.00197 -0.00059"/> + <!-- <mass value="0.40931"/> --> + <mass value="0.30931"/> + <inertia ixx="0.00010700000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00014100000" iyz="-0.00000000000" izz="0.00015400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6_collision.STL" 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 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="6.6" lower="-1.3962634016" upper="1.3962634016" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="arm_left_7_link"> + <!-- WRONG VALUES + <inertial> + <origin xyz="-0.00089 0.00365 -0.07824" rpy="0.00000 0.00000 0.00000"/> + <mass value="1.02604"/> + <inertia ixx="0.00151400000" ixy="0.00000600000" ixz="0.00006600000" + iyy="0.00146400000" iyz="0.00001200000" + izz="0.00090300000"/> + </inertial> + --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.007525 0.001378 -0.024630"/> + <mass value="0.308441"/> + <inertia ixx="0.000309" ixy="0.000002" ixz="-0.000002" iyy="0.000219" iyz="0.000012" izz="0.000176"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_left_7_joint" type="revolute"> + <parent link="arm_left_6_link"/> + <child link="arm_left_7_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="6.6" lower="-0.698131700798" upper="0.698131700798" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="arm_left_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_left_6_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_left_7_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_7_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="wrist_left_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/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="arm_left_7_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>-1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- SHOULDER --> + <!--************************--> + <link name="arm_right_1_link"> + <!-- TODO: Missing reflects of inertias --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01346 -0.0913 0.04812"/> + <!-- <mass value="1.52896"/> --> + <mass value="1.42896"/> + <inertia ixx="0.00555100000" ixy="-0.00073100000" ixz="0.00000800000" iyy="0.00167300000" iyz="-0.00006000000" izz="0.00582200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1_collision.STL" scale="1 -1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_right_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="arm_right_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.1575 0.23200"/> + <axis xyz="0 0 1"/> + <limit effort="44.64" lower="-0.523598775598" upper="1.57079632679" velocity="2.7"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_right_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02607 0.00049 -0.05209"/> + <!-- <mass value="1.77729"/> --> + <mass value="1.67729"/> + <inertia ixx="0.00708700000" ixy="-0.00001400000" ixz="0.00214200000" iyy="0.00793600000" iyz="0.00003000000" izz="0.00378800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2_collision.STL" 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="0.0 0.0 0.0" xyz="0.00493 -0.1365 0.04673"/> + <axis xyz="1 0 0"/> + <limit effort="22.32" lower="-2.87979326579" upper="0.0" velocity="3.66"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_right_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00841 0.01428 -0.22291"/> + <!-- <mass value="1.57029"/> --> + <mass value="1.47029"/> + <inertia ixx="0.00433200000" ixy="0.00015300000" ixz="-0.00049600000" iyy="0.00434000000" iyz="-0.00060900000" izz="0.00254300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3_collision.STL" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="17.86" lower="-2.44346095279" upper="2.44346095279" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <!--************************--> + <!-- ELBOW --> + <!--************************--> + <link name="arm_right_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00655 -0.02107 -0.02612"/> + <!-- <mass value="1.20216"/> --> + <mass value="1.10216"/> + <inertia ixx="0.00221700000" ixy="-0.00010100000" ixz="0.00028800000" iyy="0.00241800000" iyz="-0.00039300000" izz="0.00111500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4_collision.STL" 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="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/> + <axis xyz="0 1 0"/> + <limit effort="17.86" lower="-2.35619449019" upper="0.0" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <gazebo reference="arm_right_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <link name="arm_right_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00006 0.00326 0.07963"/> + <!-- <mass value="1.87792"/> --> + <mass value="1.77792"/> + <inertia ixx="0.00349500000" ixy="-0.00001300000" ixz="-0.00001000000" iyy="0.00436800000" iyz="0.00009700000" izz="0.00228300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5.STL" scale="1 -1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5_collision.STL" 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="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/> + <axis xyz="0 0 1"/> + <limit effort="3" lower="-2.53072741539" upper="2.53072741539" velocity="1.95"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}" + soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> --> + </joint> + <link name="arm_right_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00002 -0.00197 -0.00059"/> + <!-- <mass value="0.40931"/> --> + <mass value="0.30931"/> + <inertia ixx="0.00010700000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00014100000" iyz="-0.00000000000" izz="0.00015400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6.STL" scale="1 -1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6_collision.STL" 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 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="6.6" lower="-1.3962634016" upper="1.3962634016" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="arm_right_7_link"> + <!-- WRONG VALUES + <inertial> + <origin xyz="-0.00089 0.00365 -0.07824" rpy="0.00000 0.00000 0.00000"/> + <mass value="1.02604"/> + <inertia ixx="0.00151400000" ixy="0.00000600000" ixz="0.00006600000" + iyy="0.00146400000" iyz="0.00001200000" + izz="0.00090300000"/> + </inertial> + --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.007525 0.001378 -0.024630"/> + <mass value="0.308441"/> + <inertia ixx="0.000309" ixy="0.000002" ixz="-0.000002" iyy="0.000219" iyz="0.000012" izz="0.000176"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7_collision.STL" scale="1 -1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_right_7_joint" type="revolute"> + <parent link="arm_right_6_link"/> + <child link="arm_right_7_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="6.6" lower="-0.698131700798" upper="0.698131700798" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="arm_right_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_right_6_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_right_7_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_7_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="wrist_right_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/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="arm_right_7_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- ft sensor --> + <!--************************--> + <link name="wrist_right_ft_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </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_7_link"/> + <child link="wrist_right_ft_link"/> + <origin rpy="0.0 0 -1.57079632679" xyz="0 0 -0.051"/> + </joint> + <!--***********************--> + <!-- FT TOOL --> + <!--***********************--> + <link name="wrist_right_ft_tool_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + <visual> + <origin rpy="0 0.0 0" xyz="0.0 0 0"/> + <geometry> + <cylinder length="0.00975" radius="0.025"/> + </geometry> + <material name="FlatBlack"/> + </visual> + <collision> + <origin rpy="0 0.0 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="0 0 -1.57079632679" xyz="0 0 -0.012725"/> + </joint> + <!--************************--> + <!-- ft sensor --> + <!--************************--> + <link name="wrist_left_ft_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </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_7_link"/> + <child link="wrist_left_ft_link"/> + <origin rpy="0.0 0 -4.71238898038" xyz="0 0 -0.051"/> + </joint> + <!--***********************--> + <!-- FT TOOL --> + <!--***********************--> + <link name="wrist_left_ft_tool_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + <visual> + <origin rpy="0 0.0 0" xyz="0.0 0 0"/> + <geometry> + <cylinder length="0.00975" radius="0.025"/> + </geometry> + <material name="FlatBlack"/> + </visual> + <collision> + <origin rpy="0 0.0 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="0 0 4.71238898038" xyz="0 0 -0.012725"/> + </joint> + <link name="gripper_left_base_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00534 0.00362 -0.02357"/> + <mass value="0.61585"/> + <inertia ixx="0.00047200000" ixy="-0.00000800000" ixz="0.00003500000" iyy="0.00052100000" iyz="0.00000000000" izz="0.00069000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/base_link.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/base_link_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_base_link_joint" type="fixed"> + <parent link="wrist_left_ft_tool_link"/> + <child link="gripper_left_base_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.02875"/> + <axis xyz="0 0 0"/> + </joint> + <link name="gripper_left_motor_double_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02270 0.01781 -0.00977"/> + <mass value="0.16889"/> + <!-- In order for Gazebo not to explode we needed to add these 0.001 values to the diagonal, + also the tool pal_dynamics InertiaMassVisualization gave NaN on the computation of the inertia box --> + <inertia ixx="0.001159" ixy="-0.00007000000" ixz="0.00003800000" iyy="0.001221" iyz="-0.00005300000" izz="0.001268"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_joint" type="revolute"> + <parent link="gripper_left_base_link"/> + <child link="gripper_left_motor_double_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.02025 -0.03"/> + <axis xyz="1 0 0"/> + <limit effort="1.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/> + <dynamics damping="1.0" friction="1.0"/> + </joint> + <link name="gripper_left_inner_double_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00056 0.03358 -0.01741"/> + <mass value="0.11922"/> + <inertia ixx="0.00009100000" ixy="0.00000100000" ixz="-0.00000100000" iyy="0.00015600000" iyz="-0.00003200000" izz="0.00012600000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_double.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_inner_double_joint" type="revolute"> + <parent link="gripper_left_base_link"/> + <child link="gripper_left_inner_double_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00525 -0.05598"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="1.0" offset="0.0"/> + </joint> + <link name="gripper_left_fingertip_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_1_joint" type="revolute"> + <parent link="gripper_left_inner_double_link"/> + <child link="gripper_left_fingertip_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.03200 0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_left_fingertip_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_2_joint" type="revolute"> + <parent link="gripper_left_inner_double_link"/> + <child link="gripper_left_fingertip_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.03200 0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_left_motor_single_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02589 -0.01284 -0.00640"/> + <mass value="0.14765"/> + <inertia ixx="0.00011500000" ixy="0.00005200000" ixz="0.00002500000" iyy="0.00015300000" iyz="0.00003400000" izz="0.00019000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_motor_single_joint" type="revolute"> + <parent link="gripper_left_base_link"/> + <child link="gripper_left_motor_single_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.02025 -0.03000"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_left_inner_single_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 -0.03253 -0.01883"/> + <mass value="0.05356"/> + <inertia ixx="0.00004700000" ixy="-0.00000000000" ixz="-0.00000000000" iyy="0.00003500000" iyz="0.00001700000" izz="0.00002400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_single.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_inner_single_joint" type="revolute"> + <parent link="gripper_left_base_link"/> + <child link="gripper_left_inner_single_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.00525 -0.05598"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_left_fingertip_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_3_joint" type="revolute"> + <parent link="gripper_left_inner_single_link"/> + <child link="gripper_left_fingertip_3_link"/> + <origin rpy="0.0 0.0 3.14159265359" xyz="0.00000 -0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_left_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <gazebo> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_inner_double_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_inner_double_joint</mimicJoint> + <multiplier>1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_1_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_fingertip_1_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_2_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_fingertip_2_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_inner_single_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_inner_single_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_motor_single_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_motor_single_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_left_fingertip_3_joint"> + <joint>gripper_left_joint</joint> + <mimicJoint>gripper_left_fingertip_3_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + </gazebo> + <!-- <plugin filename="libgazebo_underactuated_finger.so" name="gazebo_${name}_underactuated"> + <actuatedJoint>${name}_joint</actuatedJoint> + <virtualJoint> + <name>${name}_inner_double_joint</name> + <scale_factor>1.0</scale_factor> + </virtualJoint> --> + <!-- <virtualJoint> + <name>${name}_fingertip_1_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_fingertip_2_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_motor_single_joint</name> + <scale_factor>1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_fingertip_3_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> --> + <!-- </plugin> --> + <gazebo reference="gripper_left_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_inner_double_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_fingertip_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_fingertip_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_motor_single_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_fingertip_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_left_base_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_left_motor_double_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_left_inner_double_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_left_fingertip_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_left_motor_single_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_left_inner_single_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_left_fingertip_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_left_fingertip_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <transmission name="gripper_left_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="gripper_left_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="gripper_left_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- virtual mimic joints --> + <!-- <xacro:gripper_virtual_transmission name="${name}_inner_double" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_1" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_2" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_inner_single" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_motor_single" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_3" reduction="1.0"/> --> + <link name="gripper_right_base_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00534 0.00362 -0.02357"/> + <mass value="0.61585"/> + <inertia ixx="0.00047200000" ixy="-0.00000800000" ixz="0.00003500000" iyy="0.00052100000" iyz="0.00000000000" izz="0.00069000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/base_link.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/base_link_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_base_link_joint" type="fixed"> + <parent link="wrist_right_ft_tool_link"/> + <child link="gripper_right_base_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.02875"/> + <axis xyz="0 0 0"/> + </joint> + <link name="gripper_right_motor_double_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02270 0.01781 -0.00977"/> + <mass value="0.16889"/> + <!-- In order for Gazebo not to explode we needed to add these 0.001 values to the diagonal, + also the tool pal_dynamics InertiaMassVisualization gave NaN on the computation of the inertia box --> + <inertia ixx="0.001159" ixy="-0.00007000000" ixz="0.00003800000" iyy="0.001221" iyz="-0.00005300000" izz="0.001268"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_joint" type="revolute"> + <parent link="gripper_right_base_link"/> + <child link="gripper_right_motor_double_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.02025 -0.03"/> + <axis xyz="1 0 0"/> + <limit effort="1.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/> + <dynamics damping="1.0" friction="1.0"/> + </joint> + <link name="gripper_right_inner_double_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00056 0.03358 -0.01741"/> + <mass value="0.11922"/> + <inertia ixx="0.00009100000" ixy="0.00000100000" ixz="-0.00000100000" iyy="0.00015600000" iyz="-0.00003200000" izz="0.00012600000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_double.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_inner_double_joint" type="revolute"> + <parent link="gripper_right_base_link"/> + <child link="gripper_right_inner_double_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00525 -0.05598"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="-1.0471975512" upper="0.0" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="1.0" offset="0.0"/> + </joint> + <link name="gripper_right_fingertip_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_1_joint" type="revolute"> + <parent link="gripper_right_inner_double_link"/> + <child link="gripper_right_fingertip_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.03200 0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_right_fingertip_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_2_joint" type="revolute"> + <parent link="gripper_right_inner_double_link"/> + <child link="gripper_right_fingertip_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.03200 0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_right_motor_single_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02589 -0.01284 -0.00640"/> + <mass value="0.14765"/> + <inertia ixx="0.00011500000" ixy="0.00005200000" ixz="0.00002500000" iyy="0.00015300000" iyz="0.00003400000" izz="0.00019000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_motor_single_joint" type="revolute"> + <parent link="gripper_right_base_link"/> + <child link="gripper_right_motor_single_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.02025 -0.03000"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_right_inner_single_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 -0.03253 -0.01883"/> + <mass value="0.05356"/> + <inertia ixx="0.00004700000" ixy="-0.00000000000" ixz="-0.00000000000" iyy="0.00003500000" iyz="0.00001700000" izz="0.00002400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_single.STL" scale="1 1 1"/> + </geometry> + <material name="Orange"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_inner_single_joint" type="revolute"> + <parent link="gripper_right_base_link"/> + <child link="gripper_right_inner_single_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.00525 -0.05598"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <link name="gripper_right_fingertip_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00000 0.00460 -0.00254"/> + <mass value="0.02630"/> + <inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00000900000" iyz="0.00000100000" izz="0.00000200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_3_joint" type="revolute"> + <parent link="gripper_right_inner_single_link"/> + <child link="gripper_right_fingertip_3_link"/> + <origin rpy="0.0 0.0 3.14159265359" xyz="0.00000 -0.04589 -0.06553"/> + <axis xyz="1 0 0"/> + <limit effort="100.0" lower="0.0" upper="1.0471975512" velocity="1.0"/> + <mimic joint="gripper_right_joint" multiplier="-1.0" offset="0.0"/> + </joint> + <gazebo> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_inner_double_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_inner_double_joint</mimicJoint> + <multiplier>1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_1_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_fingertip_1_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_2_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_fingertip_2_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_inner_single_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_inner_single_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_motor_single_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_motor_single_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + <plugin filename="libroboticsgroup_gazebo_mimic_joint_plugin.so" name="mimic_gripper_right_fingertip_3_joint"> + <joint>gripper_right_joint</joint> + <mimicJoint>gripper_right_fingertip_3_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <!-- <hasPID/> --> + </plugin> + </gazebo> + <!-- <plugin filename="libgazebo_underactuated_finger.so" name="gazebo_${name}_underactuated"> + <actuatedJoint>${name}_joint</actuatedJoint> + <virtualJoint> + <name>${name}_inner_double_joint</name> + <scale_factor>1.0</scale_factor> + </virtualJoint> --> + <!-- <virtualJoint> + <name>${name}_fingertip_1_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_fingertip_2_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_motor_single_joint</name> + <scale_factor>1.0</scale_factor> + </virtualJoint> + <virtualJoint> + <name>${name}_fingertip_3_joint</name> + <scale_factor>-1.0</scale_factor> + </virtualJoint> --> + <!-- </plugin> --> + <gazebo reference="gripper_right_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_inner_double_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_fingertip_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_fingertip_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_motor_single_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_fingertip_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="gripper_right_base_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_right_motor_double_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_right_inner_double_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_right_fingertip_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_right_motor_single_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_right_inner_single_link"> + <material>Gazebo/Orange</material> + </gazebo> + <gazebo reference="gripper_right_fingertip_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="gripper_right_fingertip_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <transmission name="gripper_right_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="gripper_right_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="gripper_right_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- virtual mimic joints --> + <!-- <xacro:gripper_virtual_transmission name="${name}_inner_double" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_1" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_2" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_inner_single" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_motor_single" reduction="1.0"/> + <xacro:gripper_virtual_transmission name="${name}_fingertip_3" reduction="1.0"/> --> + <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link --> + <link name="leg_left_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02320 -0.00009 0.04949"/> + <mass value="1.88569"/> + <inertia ixx="0.00384800000" ixy="0.00003200000" ixz="-0.00082600000" iyy="0.00599400000" iyz="0.00007800000" izz="0.00322200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="leg_left_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.02 0.085 -0.27105"/> + <axis xyz="0 0 1"/> + <limit effort="100" lower="-0.349065850399" upper="1.57079632679" velocity="3.87"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + <link name="leg_left_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01583 -0.00021 0.00619"/> + <mass value="2.37607"/> + <inertia ixx="0.00342100000" ixy="-0.00011300000" ixz="-0.00022500000" iyy="0.00402400000" iyz="-0.00003100000" izz="0.00416400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_2_joint" type="revolute"> + <parent link="leg_left_1_link"/> + <child link="leg_left_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x --> + <link name="leg_left_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00658 0.06563 -0.17278"/> + <mass value="6.82734"/> + <inertia ixx="0.12390600000" ixy="-0.000412" ixz="-0.00205900000" iyy="0.10844700000" iyz="0.016725" izz="0.02781200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_3_joint" type="revolute"> + <parent link="leg_left_2_link"/> + <child link="leg_left_3_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y --> + <link name="leg_left_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01520 0.02331 -0.12063"/> + <mass value="3.63668"/> + <inertia ixx="0.03531500000" ixy="2.9e-05" ixz="-0.00016600000" iyy="0.02933600000" iyz="-0.001305" izz="0.01174000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_4_joint" type="revolute"> + <parent link="leg_left_3_link"/> + <child link="leg_left_4_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/> + <axis xyz="0 1 0"/> + <limit effort="300" lower="0" upper="2.618" velocity="7"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee --> + <link name="leg_left_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01106 0.04708 0.05271"/> + <mass value="1.24433"/> + <inertia ixx="0.01148700000" ixy="-0.000686" ixz="-0.00052600000" iyy="0.00952600000" iyz="0.002633" izz="0.00390800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_5_joint" type="revolute"> + <parent link="leg_left_4_link"/> + <child link="leg_left_5_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-1.309" upper="0.768" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y --> + <link name="leg_left_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.02087 -0.00019 -0.06059"/> + <mass value="1.59457"/> + <inertia ixx="0.00383800000" ixy="0.00001600000" ixz="-0.00104100000" iyy="0.00657200000" iyz="-0.00001700000" izz="0.00504400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <!-- + <collision> + <origin xyz="0 0 0" rpy="0 0 0" /> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </collision> + + --> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.1"/> + <geometry> + <box size="0.21 0.13 0.02"/> + </geometry> + </collision> + </link> + <joint name="leg_left_6_joint" type="revolute"> + <parent link="leg_left_5_link"/> + <child link="leg_left_6_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- from here is copy paste --> + <link name="left_sole_link"> + <inertial> + <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + </inertial> + </link> + <joint name="leg_left_sole_fix_joint" type="fixed"> + <parent link="leg_left_6_link"/> + <child link="left_sole_link"/> + <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/> + <axis xyz="1 0 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <transmission name="leg_left_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_1_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_2_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_3_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_4_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_5_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_6_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_6_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_6_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <gazebo reference="leg_left_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <!-- contact model for foot surface --> + <gazebo reference="leg_left_6_link"> + <kp>1000000.0</kp> + <kd>100.0</kd> + <mu1>1.0</mu1> + <mu2>1.0</mu2> + <fdir1>1 0 0</fdir1> + <maxVel>1.0</maxVel> + <minDepth>0.00</minDepth> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="leg_left_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_4_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_5_link"> + <material>Gazebo/White</material> + </gazebo> + <gazebo reference="leg_left_6_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link --> + <link name="leg_right_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02320 -0.00009 0.04949"/> + <mass value="1.88569"/> + <inertia ixx="0.00384800000" ixy="0.00003200000" ixz="-0.00082600000" iyy="0.00599400000" iyz="0.00007800000" izz="0.00322200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="leg_right_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.02 -0.085 -0.27105"/> + <axis xyz="0 0 1"/> + <limit effort="100" lower="-1.57079632679" upper="0.349065850399" velocity="3.87"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + <link name="leg_right_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01583 -0.00021 0.00619"/> + <mass value="2.37607"/> + <inertia ixx="0.00342100000" ixy="-0.00011300000" ixz="-0.00022500000" iyy="0.00402400000" iyz="-0.00003100000" izz="0.00416400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_2_joint" type="revolute"> + <parent link="leg_right_1_link"/> + <child link="leg_right_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x --> + <link name="leg_right_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00658 -0.06563 -0.17278"/> + <mass value="6.82734"/> + <inertia ixx="0.12390600000" ixy="0.000412" ixz="-0.00205900000" iyy="0.10844700000" iyz="-0.016725" izz="0.02781200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_3_joint" type="revolute"> + <parent link="leg_right_2_link"/> + <child link="leg_right_3_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y --> + <link name="leg_right_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01520 -0.02331 -0.12063"/> + <mass value="3.63668"/> + <inertia ixx="0.03531500000" ixy="-2.9e-05" ixz="-0.00016600000" iyy="0.02933600000" iyz="0.001305" izz="0.01174000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_4_joint" type="revolute"> + <parent link="leg_right_3_link"/> + <child link="leg_right_4_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/> + <axis xyz="0 1 0"/> + <limit effort="300" lower="0" upper="2.618" velocity="7"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee --> + <link name="leg_right_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01106 -0.04708 0.05271"/> + <mass value="1.24433"/> + <inertia ixx="0.01148700000" ixy="0.000686" ixz="-0.00052600000" iyy="0.00952600000" iyz="-0.002633" izz="0.00390800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_5_joint" type="revolute"> + <parent link="leg_right_4_link"/> + <child link="leg_right_5_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-1.309" upper="0.768" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y --> + <link name="leg_right_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.02087 -0.00019 -0.06059"/> + <mass value="1.59457"/> + <inertia ixx="0.00383800000" ixy="0.00001600000" ixz="-0.00104100000" iyy="0.00657200000" iyz="-0.00001700000" izz="0.00504400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <!-- + <collision> + <origin xyz="0 0 0" rpy="0 0 0" /> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </collision> + + --> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.1"/> + <geometry> + <box size="0.21 0.13 0.02"/> + </geometry> + </collision> + </link> + <joint name="leg_right_6_joint" type="revolute"> + <parent link="leg_right_5_link"/> + <child link="leg_right_6_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- from here is copy paste --> + <link name="right_sole_link"> + <inertial> + <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + </inertial> + </link> + <joint name="leg_right_sole_fix_joint" type="fixed"> + <parent link="leg_right_6_link"/> + <child link="right_sole_link"/> + <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/> + <axis xyz="1 0 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <transmission name="leg_right_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_1_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_2_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_3_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_4_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_5_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_6_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_6_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_6_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <gazebo reference="leg_right_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <!-- contact model for foot surface --> + <gazebo reference="leg_right_6_link"> + <kp>1000000.0</kp> + <kd>100.0</kd> + <mu1>1.0</mu1> + <mu2>1.0</mu2> + <fdir1>1 0 0</fdir1> + <maxVel>1.0</maxVel> + <minDepth>0.00</minDepth> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="leg_right_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_4_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_5_link"> + <material>Gazebo/White</material> + </gazebo> + <gazebo reference="leg_right_6_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- Generic simulatalos_gazebo plugins --> + <gazebo> + <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control"> + <ns/> + <robotSimType>pal_hardware_gazebo/PalHardwareGazebo</robotSimType> + <robotNamespace/> + <controlPeriod>0.001</controlPeriod> + </plugin> + </gazebo> + <gazebo> + <plugin filename="libgazebo_world_odometry.so" name="gazebo_ros_odometry"> + <frameName>base_link</frameName> + <topicName>floating_base_pose_simulated</topicName> + </plugin> + </gazebo> + <gazebo> + <plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force"> + <bodyName>base_link</bodyName> + <topicName>wrench</topicName> + </plugin> + </gazebo> + <gazebo reference="imu_link"> + <!-- this is expected to be reparented to pelvis with appropriate offset + when imu_link is reduced by fixed joint reduction --> + <!-- todo: this is working with gazebo 1.4, need to write a unit test --> + <sensor name="imu_sensor" type="imu"> + <always_on>1</always_on> + <update_rate>1000.0</update_rate> + <imu> + <noise> + <type>gaussian</type> + <!-- Noise parameters from Boston Dynamics + (http://gazebosim.org/wiki/Sensor_noise): + rates (rad/s): mean=0, stddev=2e-4 + accels (m/s/s): mean=0, stddev=1.7e-2 + rate bias (rad/s): 5e-6 - 1e-5 + accel bias (m/s/s): 1e-1 + Experimentally, simulation provide rates with noise of + about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s. + So we don't expect to see the noise unless number of inner iterations + are increased. + + We will add bias. In this model, bias is sampled once for rates + and once for accels at startup; the sign (negative or positive) + of each bias is then switched with equal probability. Thereafter, + the biases are fixed additive offsets. We choose + bias means and stddevs to produce biases close to the provided + data. --> + <!-- + <rate> + <mean>0.0</mean> + <stddev>2e-4</stddev> + <bias_mean>0.0000075</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>1.7e-2</stddev> + <bias_mean>0.1</bias_mean> + <bias_stddev>0.001</bias_stddev> + </accel> + --> + <rate> + <mean>0.0</mean> + <stddev>0.0</stddev> + <bias_mean>0.000000</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>0.0</stddev> + <bias_mean>0.0</bias_mean> + <bias_stddev>0.000</bias_stddev> + </accel> + </noise> + </imu> + </sensor> + </gazebo> + <!-- define global properties --> + <!-- <xacro:property name="M_PI" value="3.1415926535897931" /> --> + <!-- Materials for visualization --> + <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.2 0.2 0.2 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="Orange"> + <color rgba="1.0 0.5 0.0 1.0"/> + </material> +</robot> diff --git a/robots/talos_small.urdf b/robots/talos_small.urdf new file mode 100644 index 0000000..8f5eefa --- /dev/null +++ b/robots/talos_small.urdf @@ -0,0 +1,2080 @@ +<?xml version="1.0" ?> +<!-- =================================================================================== --> +<!-- | This document was autogenerated by xacro from talos_small.urdf.xacro | --> +<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | --> +<!-- =================================================================================== --> +<!-- + + Copyright (c) 2016, 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="talos" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:xacro="http://ros.org/wiki/xacro"> + <!-- + Talos configuration without the grippers + + --> + <!--File includes--> + <!--Constant parameters--> + <!--File includes--> + <!-- Macro --> + <!--Constant parameters--> + <!--************************--> + <!-- HEAD_1 (TILT) --> + <!--************************--> + <!--************************--> + <!-- HEAD_2 (PAN) --> + <!--************************--> + <!--File includes--> + <!--File includes--> + <!--Constant parameters--> + <!--Constant parameters--> + <!-- <xacro:include filename="$(find talos_description)/urdf/gripper/gripper.urdf.xacro" /> --> + <!-- 0.45deg --> + <!--************************--> + <!-- TORSO_2 (TILT) --> + <!--************************--> + <link name="torso_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.04551 -0.00053 0.16386"/> + <mass value="17.55011"/> + <inertia ixx="0.37376900000" ixy="0.00063900000" ixz="0.01219600000" iyy="0.24790200000" iyz="0.00000700000" izz="0.28140400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_2.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_2_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <!--************************--> + <!-- TORSO_1 (PAN) --> + <!--************************--> + <link name="torso_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00013 -0.00001 -0.01306"/> + <mass value="3.02433"/> + <inertia ixx="0.00759400000" ixy="0.00000100000" ixz="-0.00004800000" iyy="0.00429200000" iyz="-0.00000100000" izz="0.00749700000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="torso_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="torso_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0722"/> + <axis xyz="0 0 1"/> + <limit effort="78.0" lower="-1.308996939" upper="1.308996939" velocity="5.4"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-15.0 * deg_to_rad + torso_eps}" + soft_upper_limit="${ 45.0 * deg_to_rad - torso_eps}" /> --> + </joint> + <!--************************--> + <!-- BASE_LINK --> + <!--************************--> + <link name="base_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.08222 0.00838 -0.07261"/> + <mass value="13.53810"/> + <inertia ixx="0.06989000000" ixy="-0.00011700000" ixz="0.00023000000" iyy="0.03998200000" iyz="-0.00132500000" izz="0.08234500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/base_link.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/torso/base_link_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="torso_2_joint" type="revolute"> + <parent link="torso_1_link"/> + <child link="torso_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="78.0" lower="-0.261799387799" upper="0.785398163397" velocity="5.4"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="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="imu_joint" type="fixed"> + <origin rpy="3.14159265359 0 1.57079632679" xyz="0.04925 0 0.078"/> + <parent link="torso_2_link"/> + <child link="imu_link"/> + </joint> + <gazebo reference="torso_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="torso_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="base_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="torso_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="torso_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <transmission name="talos_torso_trans"> + <type>transmission_interface/DifferentialTransmission</type> + <actuator name="torso_1_motor"> + <role>actuator1</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <actuator name="torso_2_motor"> + <role>actuator2</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="torso_1_joint"> + <role>joint1</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="torso_2_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <link name="head_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00120 0.00145 0.02165"/> + <mass value="0.65988"/> + <inertia ixx="0.00122100000" ixy="-0.00000400000" ixz="0.00007000000" iyy="0.00092400000" iyz="-0.00004100000" izz="0.00103300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_1.stl" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_1_collision.stl" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="head_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="head_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.31600"/> + <axis xyz="0 1 0"/> + <limit effort="8.0" lower="-0.261799387799" upper="0.785398163397" velocity="1.0"/> + <dynamics damping="0.5" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-15.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${45.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="head_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="head_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="head_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <link name="head_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01036 -0.00037 0.13778"/> + <mass value="1.40353"/> + <inertia ixx="0.00722500000" ixy="-0.00002500000" ixz="0.00032900000" iyy="0.00687300000" iyz="0.00004400000" izz="0.00437300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_2.stl" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/head/head_2_collision.stl" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="4.0" lower="-1.308996939" upper="1.308996939" velocity="1.0"/> + <dynamics damping="0.5" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-75.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${75.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="head_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="head_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="head_2_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- frames in the center of the camera --> + <joint name="rgbd_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.066 0.0 0.1982"/> + <axis xyz="0 0 1"/> + <!-- <limit lower="0" upper="0.001" effort="100" velocity="0.01"/> --> + <parent link="head_2_link"/> + <child link="rgbd_link"/> + </joint> + <link name="rgbd_link"> + <inertial> + <mass value="0.01"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + <!-- inertia tensor computed analytically for a solid cuboid --> + <inertia ixx="0.000030" ixy="0.0" ixz="0.0" iyy="0.000030" iyz="0.0" izz="0.000002"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/sensors/orbbec/orbbec.STL"/> + </geometry> + <material name="DarkGrey"> + <color rgba="0.5 0.5 0.5 1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="-0.01 0.0025 0"/> + <geometry> + <box size="0.04 0.185 0.03"/> + </geometry> + </collision> + </link> + <joint name="rgbd_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_link"/> + <child link="rgbd_optical_frame"/> + </joint> + <link name="rgbd_optical_frame"> + <inertial> + <mass value="0.01"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + </link> + <!-- frames of the depth sensor --> + <joint name="rgbd_depth_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.0 0.03751 0.0"/> + <parent link="rgbd_link"/> + <child link="rgbd_depth_frame"/> + </joint> + <link name="rgbd_depth_frame"/> + <joint name="rgbd_depth_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_depth_frame"/> + <child link="rgbd_depth_optical_frame"/> + </joint> + <link name="rgbd_depth_optical_frame"/> + <!-- frames of the rgb sensor --> + <joint name="rgbd_rgb_joint" type="fixed"> + <origin rpy="0 0 0" xyz="0.0 0.01251 0.0"/> + <parent link="rgbd_link"/> + <child link="rgbd_rgb_frame"/> + </joint> + <link name="rgbd_rgb_frame"/> + <joint name="rgbd_rgb_optical_joint" type="fixed"> + <origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/> + <parent link="rgbd_rgb_frame"/> + <child link="rgbd_rgb_optical_frame"/> + </joint> + <link name="rgbd_rgb_optical_frame"/> + <!-- extensions --> + <gazebo reference="rgbd_link"> + <!-- IR + depth --> + <sensor name="rgbd_frame_sensor" type="depth"> + <always_on>true</always_on> + <update_rate>6.0</update_rate> + <camera> + <horizontal_fov>1.01229096616</horizontal_fov> + <image> + <format>R8G8B8</format> + <width>320</width> + <height>240</height> + </image> + <clip> + <near>0.45</near> + <far>10.0</far> + </clip> + </camera> + <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller"> + <alwaysOn>true</alwaysOn> + <updateRate>6.0</updateRate> + <cameraName>rgbd</cameraName> + <imageTopicName>ir/image_raw</imageTopicName> + <cameraInfoTopicName>ir/camera_info</cameraInfoTopicName> + <depthImageTopicName>depth/image_raw</depthImageTopicName> + <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName> + <pointCloudTopicName>depth/points</pointCloudTopicName> + <frameName>rgbd_optical_frame</frameName> + <pointCloudCutoff>0.45</pointCloudCutoff> + <rangeMax>10.0</rangeMax> + <distalostionK1>0.00000001</distalostionK1> + <distalostionK2>0.00000001</distalostionK2> + <distalostionK3>0.00000001</distalostionK3> + <distalostionT1>0.00000001</distalostionT1> + <distalostionT2>0.00000001</distalostionT2> + </plugin> + </sensor> + <!-- RGB --> + <sensor name="rgbd_frame_sensor" type="depth"> + <always_on>true</always_on> + <update_rate>6.0</update_rate> + <camera> + <horizontal_fov>1.01229096616</horizontal_fov> + <image> + <format>R8G8B8</format> + <width>320</width> + <height>240</height> + </image> + <clip> + <near>0.45</near> + <far>10.0</far> + </clip> + </camera> + <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller"> + <alwaysOn>true</alwaysOn> + <updateRate>6.0</updateRate> + <cameraName>rgbd</cameraName> + <imageTopicName>rgb/image_raw</imageTopicName> + <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName> + <pointCloudTopicName>rgb/points</pointCloudTopicName> + <frameName>rgbd_optical_frame</frameName> + <pointCloudCutoff>0.45</pointCloudCutoff> + <rangeMax>10.0</rangeMax> + <distalostionK1>0.00000001</distalostionK1> + <distalostionK2>0.00000001</distalostionK2> + <distalostionK3>0.00000001</distalostionK3> + <distalostionT1>0.00000001</distalostionT1> + <distalostionT2>0.00000001</distalostionT2> + </plugin> + </sensor> + <material>Gazebo/FlatBlack</material> + </gazebo> + <transmission name="talos_trans"> + <type>transmission_interface/HalfDifferentialTransmission</type> + <actuator name="head_1_motor"> + <role>actuator1</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <actuator name="head_2_motor"> + <role>actuator2</role> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="head_1_joint"> + <role>joint1</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="head_2_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>2.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- SHOULDER --> + <!--************************--> + <link name="arm_left_1_link"> + <!-- TODO: Missing reflects of inertias --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01346 0.0913 0.04812"/> + <!-- <mass value="1.52896"/> --> + <mass value="1.42896"/> + <inertia ixx="0.00555100000" ixy="-0.00073100000" ixz="0.00000800000" iyy="0.00167300000" iyz="-0.00006000000" izz="0.00582200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_left_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="arm_left_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.1575 0.23200"/> + <axis xyz="0 0 1"/> + <limit effort="44.64" lower="-1.57079632679" upper="0.523598775598" velocity="2.7"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_left_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02607 0.00049 -0.05209"/> + <!-- <mass value="1.77729"/> --> + <mass value="1.67729"/> + <inertia ixx="0.00708700000" ixy="-0.00001400000" ixz="0.00214200000" iyy="0.00793600000" iyz="0.00003000000" izz="0.00378800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2_collision.STL" 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="0.0 0.0 0.0" xyz="0.00493 0.1365 0.04673"/> + <axis xyz="1 0 0"/> + <limit effort="22.32" lower="0.0" upper="2.87979326579" velocity="3.66"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_left_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00841 0.01428 -0.22291"/> + <!-- <mass value="1.57029"/> --> + <mass value="1.47029"/> + <inertia ixx="0.00433200000" ixy="0.00015300000" ixz="-0.00049600000" iyy="0.00434000000" iyz="-0.00060900000" izz="0.00254300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3_collision.STL" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="17.86" lower="-2.44346095279" upper="2.44346095279" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <!--************************--> + <!-- ELBOW --> + <!--************************--> + <link name="arm_left_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00655 -0.02107 -0.02612"/> + <!-- <mass value="1.20216"/> --> + <mass value="1.10216"/> + <inertia ixx="0.00221700000" ixy="-0.00010100000" ixz="0.00028800000" iyy="0.00241800000" iyz="-0.00039300000" izz="0.00111500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4_collision.STL" 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="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/> + <axis xyz="0 1 0"/> + <limit effort="17.86" lower="-2.35619449019" upper="0.0" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <gazebo reference="arm_left_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <link name="arm_left_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00006 0.00326 0.07963"/> + <!-- <mass value="1.87792"/> --> + <mass value="1.77792"/> + <inertia ixx="0.00349500000" ixy="-0.00001300000" ixz="-0.00001000000" iyy="0.00436800000" iyz="0.00009700000" izz="0.00228300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5_collision.STL" 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="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/> + <axis xyz="0 0 1"/> + <limit effort="3" lower="-2.53072741539" upper="2.53072741539" velocity="1.95"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}" + soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> --> + </joint> + <link name="arm_left_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00002 -0.00197 -0.00059"/> + <!-- <mass value="0.40931"/> --> + <mass value="0.30931"/> + <inertia ixx="0.00010700000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00014100000" iyz="-0.00000000000" izz="0.00015400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6.STL" scale="1 1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6_collision.STL" 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 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="6.6" lower="-1.3962634016" upper="1.3962634016" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="arm_left_7_link"> + <!-- WRONG VALUES + <inertial> + <origin xyz="-0.00089 0.00365 -0.07824" rpy="0.00000 0.00000 0.00000"/> + <mass value="1.02604"/> + <inertia ixx="0.00151400000" ixy="0.00000600000" ixz="0.00006600000" + iyy="0.00146400000" iyz="0.00001200000" + izz="0.00090300000"/> + </inertial> + --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.007525 0.001378 -0.024630"/> + <mass value="0.308441"/> + <inertia ixx="0.000309" ixy="0.000002" ixz="-0.000002" iyy="0.000219" iyz="0.000012" izz="0.000176"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7.STL" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_left_7_joint" type="revolute"> + <parent link="arm_left_6_link"/> + <child link="arm_left_7_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="6.6" lower="-0.698131700798" upper="0.698131700798" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="arm_left_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_left_6_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_left_7_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_left_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_left_7_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="wrist_left_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/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="arm_left_7_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>-1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- SHOULDER --> + <!--************************--> + <link name="arm_right_1_link"> + <!-- TODO: Missing reflects of inertias --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01346 -0.0913 0.04812"/> + <!-- <mass value="1.52896"/> --> + <mass value="1.42896"/> + <inertia ixx="0.00555100000" ixy="-0.00073100000" ixz="0.00000800000" iyy="0.00167300000" iyz="-0.00006000000" izz="0.00582200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_1_collision.STL" scale="1 -1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_right_1_joint" type="revolute"> + <parent link="torso_2_link"/> + <child link="arm_right_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 -0.1575 0.23200"/> + <axis xyz="0 0 1"/> + <limit effort="44.64" lower="-0.523598775598" upper="1.57079632679" velocity="2.7"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-90.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${30.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_right_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02607 0.00049 -0.05209"/> + <!-- <mass value="1.77729"/> --> + <mass value="1.67729"/> + <inertia ixx="0.00708700000" ixy="-0.00001400000" ixz="0.00214200000" iyy="0.00793600000" iyz="0.00003000000" izz="0.00378800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_2_collision.STL" 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="0.0 0.0 0.0" xyz="0.00493 -0.1365 0.04673"/> + <axis xyz="1 0 0"/> + <limit effort="22.32" lower="-2.87979326579" upper="0.0" velocity="3.66"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${0.00000 * deg_to_rad + arm_eps}" + soft_upper_limit="${165.00000 * deg_to_rad - arm_eps}" /> --> + </joint> + <link name="arm_right_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00841 0.01428 -0.22291"/> + <!-- <mass value="1.57029"/> --> + <mass value="1.47029"/> + <inertia ixx="0.00433200000" ixy="0.00015300000" ixz="-0.00049600000" iyy="0.00434000000" iyz="-0.00060900000" izz="0.00254300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_3_collision.STL" 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="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 0 1"/> + <limit effort="17.86" lower="-2.44346095279" upper="2.44346095279" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-140.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${140.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <!--************************--> + <!-- ELBOW --> + <!--************************--> + <link name="arm_right_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00655 -0.02107 -0.02612"/> + <!-- <mass value="1.20216"/> --> + <mass value="1.10216"/> + <inertia ixx="0.00221700000" ixy="-0.00010100000" ixz="0.00028800000" iyy="0.00241800000" iyz="-0.00039300000" izz="0.00111500000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_4_collision.STL" 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="0.0 0.0 0.0" xyz="0.02000 0.00000 -0.27300"/> + <axis xyz="0 1 0"/> + <limit effort="17.86" lower="-2.35619449019" upper="0.0" velocity="4.58"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-135.0 * deg_to_rad + arm_eps}" + soft_upper_limit="${0.0 * deg_to_rad - arm_eps}" /> --> + </joint> + <gazebo reference="arm_right_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <!--************************--> + <!-- WRIST --> + <!--************************--> + <link name="arm_right_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.00006 0.00326 0.07963"/> + <!-- <mass value="1.87792"/> --> + <mass value="1.77792"/> + <inertia ixx="0.00349500000" ixy="-0.00001300000" ixz="-0.00001000000" iyy="0.00436800000" iyz="0.00009700000" izz="0.00228300000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5.STL" scale="1 -1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_5_collision.STL" 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="0.0 0.0 0.0" xyz="-0.02000 0.00000 -0.26430"/> + <axis xyz="0 0 1"/> + <limit effort="3" lower="-2.53072741539" upper="2.53072741539" velocity="1.95"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-145.00000 * deg_to_rad + wrist_eps}" + soft_upper_limit="${145.00000 * deg_to_rad - wrist_eps}" /> --> + </joint> + <link name="arm_right_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00002 -0.00197 -0.00059"/> + <!-- <mass value="0.40931"/> --> + <mass value="0.30931"/> + <inertia ixx="0.00010700000" ixy="0.00000000000" ixz="0.00000000000" iyy="0.00014100000" iyz="-0.00000000000" izz="0.00015400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6.STL" scale="1 -1 1"/> + </geometry> + <material name="LightGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_6_collision.STL" 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 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="6.6" lower="-1.3962634016" upper="1.3962634016" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-80.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${80.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <link name="arm_right_7_link"> + <!-- WRONG VALUES + <inertial> + <origin xyz="-0.00089 0.00365 -0.07824" rpy="0.00000 0.00000 0.00000"/> + <mass value="1.02604"/> + <inertia ixx="0.00151400000" ixy="0.00000600000" ixz="0.00006600000" + iyy="0.00146400000" iyz="0.00001200000" + izz="0.00090300000"/> + </inertial> + --> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.007525 0.001378 -0.024630"/> + <mass value="0.308441"/> + <inertia ixx="0.000309" ixy="0.000002" ixz="-0.000002" iyy="0.000219" iyz="0.000012" izz="0.000176"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7.STL" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/arm/arm_7_collision.STL" scale="1 -1 1"/> + </geometry> + </collision> + </link> + <joint name="arm_right_7_joint" type="revolute"> + <parent link="arm_right_6_link"/> + <child link="arm_right_7_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/> + <axis xyz="0 1 0"/> + <limit effort="6.6" lower="-0.698131700798" upper="0.698131700798" velocity="1.76"/> + <dynamics damping="1.0" friction="1.0"/> + <!-- <safety_controller k_position="20" + k_velocity="20" + soft_lower_limit="${-40.00000 * deg_to_rad + eps_radians}" + soft_upper_limit="${40.00000 * deg_to_rad - eps_radians}" /> --> + </joint> + <gazebo reference="arm_right_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_right_6_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="arm_right_7_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="arm_right_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="arm_right_7_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="wrist_right_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/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + <joint name="arm_right_7_joint"> + <role>joint2</role> + <offset>0.0</offset> + <mechanicalReduction>1.0</mechanicalReduction> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!-- extensions --> + <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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</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"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- ft sensor --> + <!--************************--> + <link name="wrist_right_ft_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </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_7_link"/> + <child link="wrist_right_ft_link"/> + <origin rpy="0.0 0 -1.57079632679" xyz="0 0 -0.051"/> + </joint> + <!--***********************--> + <!-- FT TOOL --> + <!--***********************--> + <link name="wrist_right_ft_tool_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + <visual> + <origin rpy="0 0.0 0" xyz="0.0 0 0"/> + <geometry> + <cylinder length="0.00975" radius="0.025"/> + </geometry> + <material name="FlatBlack"/> + </visual> + <collision> + <origin rpy="0 0.0 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="0 0 -1.57079632679" xyz="0 0 -0.012725"/> + </joint> + <!--************************--> + <!-- ft sensor --> + <!--************************--> + <link name="wrist_left_ft_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </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_7_link"/> + <child link="wrist_left_ft_link"/> + <origin rpy="0.0 0 -4.71238898038" xyz="0 0 -0.051"/> + </joint> + <!--***********************--> + <!-- FT TOOL --> + <!--***********************--> + <link name="wrist_left_ft_tool_link"> + <inertial> + <mass value="0.1"/> + <inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0"/> + </inertial> + <visual> + <origin rpy="0 0.0 0" xyz="0.0 0 0"/> + <geometry> + <cylinder length="0.00975" radius="0.025"/> + </geometry> + <material name="FlatBlack"/> + </visual> + <collision> + <origin rpy="0 0.0 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="0 0 4.71238898038" xyz="0 0 -0.012725"/> + </joint> + <!-- + <xacro:talos_gripper name="gripper_left" parent="wrist_left_ft_tool_link" reflect="1" /> + <xacro:talos_gripper name="gripper_right" parent="wrist_right_ft_tool_link" reflect="-1" /> + --> + <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link --> + <link name="leg_left_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02320 -0.00009 0.04949"/> + <mass value="1.88569"/> + <inertia ixx="0.00384800000" ixy="0.00003200000" ixz="-0.00082600000" iyy="0.00599400000" iyz="0.00007800000" izz="0.00322200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="leg_left_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.02 0.085 -0.27105"/> + <axis xyz="0 0 1"/> + <limit effort="100" lower="-0.349065850399" upper="1.57079632679" velocity="3.87"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + <link name="leg_left_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01583 -0.00021 0.00619"/> + <mass value="2.37607"/> + <inertia ixx="0.00342100000" ixy="-0.00011300000" ixz="-0.00022500000" iyy="0.00402400000" iyz="-0.00003100000" izz="0.00416400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_2_joint" type="revolute"> + <parent link="leg_left_1_link"/> + <child link="leg_left_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x --> + <link name="leg_left_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00658 0.06563 -0.17278"/> + <mass value="6.82734"/> + <inertia ixx="0.12390600000" ixy="-0.000412" ixz="-0.00205900000" iyy="0.10844700000" iyz="0.016725" izz="0.02781200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_3_joint" type="revolute"> + <parent link="leg_left_2_link"/> + <child link="leg_left_3_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y --> + <link name="leg_left_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01520 0.02331 -0.12063"/> + <mass value="3.63668"/> + <inertia ixx="0.03531500000" ixy="2.9e-05" ixz="-0.00016600000" iyy="0.02933600000" iyz="-0.001305" izz="0.01174000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_4_joint" type="revolute"> + <parent link="leg_left_3_link"/> + <child link="leg_left_4_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/> + <axis xyz="0 1 0"/> + <limit effort="300" lower="0" upper="2.618" velocity="7"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee --> + <link name="leg_left_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01106 0.04708 0.05271"/> + <mass value="1.24433"/> + <inertia ixx="0.01148700000" ixy="-0.000686" ixz="-0.00052600000" iyy="0.00952600000" iyz="0.002633" izz="0.00390800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_collision.stl" scale="1 1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_left_5_joint" type="revolute"> + <parent link="leg_left_4_link"/> + <child link="leg_left_5_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-1.309" upper="0.768" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y --> + <link name="leg_left_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.02087 -0.00019 -0.06059"/> + <mass value="1.59457"/> + <inertia ixx="0.00383800000" ixy="0.00001600000" ixz="-0.00104100000" iyy="0.00657200000" iyz="-0.00001700000" izz="0.00504400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_lo_res.stl" scale="1 1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <!-- + <collision> + <origin xyz="0 0 0" rpy="0 0 0" /> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </collision> + + --> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.1"/> + <geometry> + <box size="0.21 0.13 0.02"/> + </geometry> + </collision> + </link> + <joint name="leg_left_6_joint" type="revolute"> + <parent link="leg_left_5_link"/> + <child link="leg_left_6_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- from here is copy paste --> + <link name="left_sole_link"> + <inertial> + <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + </inertial> + </link> + <joint name="leg_left_sole_fix_joint" type="fixed"> + <parent link="leg_left_6_link"/> + <child link="left_sole_link"/> + <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/> + <axis xyz="1 0 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <transmission name="leg_left_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_1_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_2_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_3_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_4_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_5_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_left_6_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_left_6_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_left_6_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <gazebo reference="leg_left_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_left_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <!-- contact model for foot surface --> + <gazebo reference="leg_left_6_link"> + <kp>1000000.0</kp> + <kd>100.0</kd> + <mu1>1.0</mu1> + <mu2>1.0</mu2> + <fdir1>1 0 0</fdir1> + <maxVel>1.0</maxVel> + <minDepth>0.00</minDepth> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_left_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="leg_left_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_4_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_left_5_link"> + <material>Gazebo/White</material> + </gazebo> + <gazebo reference="leg_left_6_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link --> + <link name="leg_right_1_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.02320 -0.00009 0.04949"/> + <mass value="1.88569"/> + <inertia ixx="0.00384800000" ixy="0.00003200000" ixz="-0.00082600000" iyy="0.00599400000" iyz="0.00007800000" izz="0.00322200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_z_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_1_joint" type="revolute"> + <parent link="base_link"/> + <child link="leg_right_1_link"/> + <origin rpy="0.0 0.0 0.0" xyz="-0.02 -0.085 -0.27105"/> + <axis xyz="0 0 1"/> + <limit effort="100" lower="-1.57079632679" upper="0.349065850399" velocity="3.87"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + <link name="leg_right_2_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01583 -0.00021 0.00619"/> + <mass value="2.37607"/> + <inertia ixx="0.00342100000" ixy="-0.00011300000" ixz="-0.00022500000" iyy="0.00402400000" iyz="-0.00003100000" izz="0.00416400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_x_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_2_joint" type="revolute"> + <parent link="leg_right_1_link"/> + <child link="leg_right_2_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="160" lower="-0.5236" upper="0.5236" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x --> + <link name="leg_right_3_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.00658 -0.06563 -0.17278"/> + <mass value="6.82734"/> + <inertia ixx="0.12390600000" ixy="0.000412" ixz="-0.00205900000" iyy="0.10844700000" iyz="-0.016725" izz="0.02781200000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/hip_y_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_3_joint" type="revolute"> + <parent link="leg_right_2_link"/> + <child link="leg_right_3_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-2.095" upper="0.7" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y --> + <link name="leg_right_4_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="0.01520 -0.02331 -0.12063"/> + <mass value="3.63668"/> + <inertia ixx="0.03531500000" ixy="-2.9e-05" ixz="-0.00016600000" iyy="0.02933600000" iyz="0.001305" izz="0.01174000000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/knee_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_4_joint" type="revolute"> + <parent link="leg_right_3_link"/> + <child link="leg_right_4_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.38000"/> + <axis xyz="0 1 0"/> + <limit effort="300" lower="0" upper="2.618" velocity="7"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee --> + <link name="leg_right_5_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.01106 -0.04708 0.05271"/> + <mass value="1.24433"/> + <inertia ixx="0.01148700000" ixy="0.000686" ixz="-0.00052600000" iyy="0.00952600000" iyz="-0.002633" izz="0.00390800000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_Y_collision.stl" scale="1 -1.0 1"/> + </geometry> + </collision> + </link> + <joint name="leg_right_5_joint" type="revolute"> + <parent link="leg_right_4_link"/> + <child link="leg_right_5_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 -0.32500"/> + <axis xyz="0 1 0"/> + <limit effort="160" lower="-1.309" upper="0.768" velocity="5.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y --> + <link name="leg_right_6_link"> + <inertial> + <origin rpy="0.00000 0.00000 0.00000" xyz="-0.02087 -0.00019 -0.06059"/> + <mass value="1.59457"/> + <inertia ixx="0.00383800000" ixy="0.00001600000" ixz="-0.00104100000" iyy="0.00657200000" iyz="-0.00001700000" izz="0.00504400000"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_lo_res.stl" scale="1 -1.0 1"/> + </geometry> + <material name="Grey"/> + </visual> + <!-- + <collision> + <origin xyz="0 0 0" rpy="0 0 0" /> + <geometry> + <mesh filename="package://talos_description/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </collision> + + --> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.1"/> + <geometry> + <box size="0.21 0.13 0.02"/> + </geometry> + </collision> + </link> + <joint name="leg_right_6_joint" type="revolute"> + <parent link="leg_right_5_link"/> + <child link="leg_right_6_link"/> + <origin rpy="0.0 0.0 0.0" xyz="0.00000 0.00000 0.00000"/> + <axis xyz="1 0 0"/> + <limit effort="100" lower="-0.5236" upper="0.5236" velocity="4.8"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <!-- from here is copy paste --> + <link name="right_sole_link"> + <inertial> + <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + </inertial> + </link> + <joint name="leg_right_sole_fix_joint" type="fixed"> + <parent link="leg_right_6_link"/> + <child link="right_sole_link"/> + <origin rpy="0 0 0" xyz="0.00 0.00 -0.107"/> + <axis xyz="1 0 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <transmission name="leg_right_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_1_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_2_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_3_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_4_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_5_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="leg_right_6_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="leg_right_6_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="leg_right_6_joint"> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <gazebo reference="leg_right_1_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_right_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <!-- contact model for foot surface --> + <gazebo reference="leg_right_6_link"> + <kp>1000000.0</kp> + <kd>100.0</kd> + <mu1>1.0</mu1> + <mu2>1.0</mu2> + <fdir1>1 0 0</fdir1> + <maxVel>1.0</maxVel> + <minDepth>0.00</minDepth> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_right_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + <gazebo reference="leg_right_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_4_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_right_5_link"> + <material>Gazebo/White</material> + </gazebo> + <gazebo reference="leg_right_6_link"> + <material>Gazebo/White</material> + </gazebo> + <!-- Generic simulatalos_gazebo plugins --> + <gazebo> + <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control"> + <ns/> + <robotSimType>pal_hardware_gazebo/PalHardwareGazebo</robotSimType> + <robotNamespace/> + <controlPeriod>0.001</controlPeriod> + </plugin> + </gazebo> + <gazebo> + <plugin filename="libgazebo_world_odometry.so" name="gazebo_ros_odometry"> + <frameName>base_link</frameName> + <topicName>floating_base_pose_simulated</topicName> + </plugin> + </gazebo> + <gazebo> + <plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force"> + <bodyName>base_link</bodyName> + <topicName>wrench</topicName> + </plugin> + </gazebo> + <gazebo reference="imu_link"> + <!-- this is expected to be reparented to pelvis with appropriate offset + when imu_link is reduced by fixed joint reduction --> + <!-- todo: this is working with gazebo 1.4, need to write a unit test --> + <sensor name="imu_sensor" type="imu"> + <always_on>1</always_on> + <update_rate>1000.0</update_rate> + <imu> + <noise> + <type>gaussian</type> + <!-- Noise parameters from Boston Dynamics + (http://gazebosim.org/wiki/Sensor_noise): + rates (rad/s): mean=0, stddev=2e-4 + accels (m/s/s): mean=0, stddev=1.7e-2 + rate bias (rad/s): 5e-6 - 1e-5 + accel bias (m/s/s): 1e-1 + Experimentally, simulation provide rates with noise of + about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s. + So we don't expect to see the noise unless number of inner iterations + are increased. + + We will add bias. In this model, bias is sampled once for rates + and once for accels at startup; the sign (negative or positive) + of each bias is then switched with equal probability. Thereafter, + the biases are fixed additive offsets. We choose + bias means and stddevs to produce biases close to the provided + data. --> + <!-- + <rate> + <mean>0.0</mean> + <stddev>2e-4</stddev> + <bias_mean>0.0000075</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>1.7e-2</stddev> + <bias_mean>0.1</bias_mean> + <bias_stddev>0.001</bias_stddev> + </accel> + --> + <rate> + <mean>0.0</mean> + <stddev>0.0</stddev> + <bias_mean>0.000000</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>0.0</stddev> + <bias_mean>0.0</bias_mean> + <bias_stddev>0.000</bias_stddev> + </accel> + </noise> + </imu> + </sensor> + </gazebo> + <!-- define global properties --> + <!-- <xacro:property name="M_PI" value="3.1415926535897931" /> --> + <!-- Materials for visualization --> + <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.2 0.2 0.2 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="Orange"> + <color rgba="1.0 0.5 0.0 1.0"/> + </material> +</robot> diff --git a/robots/talos_small.urdf.xacro b/robots/talos_small.urdf.xacro new file mode 100644 index 0000000..0ce44a7 --- /dev/null +++ b/robots/talos_small.urdf.xacro @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- + + Copyright (c) 2016, 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="talos" xmlns:xacro="http://ros.org/wiki/xacro" + xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" + xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" + xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> + + <xacro:include filename="$(find talos_description)/urdf/torso/torso.urdf.xacro" /> + <xacro:include filename="$(find talos_description)/urdf/head/head.urdf.xacro" /> + <xacro:include filename="$(find talos_description)/urdf/arm/arm.urdf.xacro" /> + <xacro:include filename="$(find talos_description)/urdf/sensors/ftsensor.urdf.xacro" /> + <!-- <xacro:include filename="$(find talos_description)/urdf/gripper/gripper.urdf.xacro" /> --> + <xacro:include filename="$(find talos_description)/urdf/leg/leg.urdf.xacro" /> + + <xacro:talos_torso name="torso" /> + + <xacro:talos_head name="head" parent="torso_2_link"/> + + <xacro:talos_arm name="arm" parent="torso_2_link" side="left" reflect="1"/> + <xacro:talos_arm name="arm" parent="torso_2_link" side="right" reflect="-1"/> + + <xacro:ft_sensor name="wrist" parent="arm_right_7_link" side="right" reflect="1" /> + <xacro:ft_sensor name="wrist" parent="arm_left_7_link" side="left" reflect="-1" /> + + <!-- + <xacro:talos_gripper name="gripper_left" parent="wrist_left_ft_tool_link" reflect="1" /> + <xacro:talos_gripper name="gripper_right" parent="wrist_right_ft_tool_link" reflect="-1" /> + --> + <xacro:talos_leg prefix="left" reflect="1" /> + <xacro:talos_leg prefix="right" reflect="-1" /> + + <!-- Generic simulatalos_gazebo plugins --> + <xacro:include filename="$(find talos_description)/gazebo/gazebo.urdf.xacro" /> + <!-- Materials for visualization --> + <xacro:include filename="$(find talos_description)/urdf/materials.urdf.xacro" /> + +</robot> diff --git a/urdf/talos_full.urdf b/urdf/talos_full.urdf new file mode 120000 index 0000000..f9231b6 --- /dev/null +++ b/urdf/talos_full.urdf @@ -0,0 +1 @@ +../robots/talos_full.urdf \ No newline at end of file diff --git a/urdf/talos_full_collision.urdf b/urdf/talos_full_collision.urdf new file mode 120000 index 0000000..3023e60 --- /dev/null +++ b/urdf/talos_full_collision.urdf @@ -0,0 +1 @@ +../robots/talos_full_collision.urdf \ No newline at end of file diff --git a/urdf/talos_small.urdf b/urdf/talos_small.urdf new file mode 120000 index 0000000..2f83698 --- /dev/null +++ b/urdf/talos_small.urdf @@ -0,0 +1 @@ +../robots/talos_small.urdf \ No newline at end of file -- GitLab