From fb95c565ad259dcc90caeafb591406d92d5e9e36 Mon Sep 17 00:00:00 2001 From: Olivier Stasse <ostasse@laas.fr> Date: Thu, 13 Sep 2018 06:04:13 +0200 Subject: [PATCH] Add talos_reduced_v2.urdf. --- urdf/talos_reduced_v2.urdf | 2722 ++++++++++++++++++++++++++++++++++++ 1 file changed, 2722 insertions(+) create mode 100644 urdf/talos_reduced_v2.urdf diff --git a/urdf/talos_reduced_v2.urdf b/urdf/talos_reduced_v2.urdf new file mode 100644 index 0000000..79e6453 --- /dev/null +++ b/urdf/talos_reduced_v2.urdf @@ -0,0 +1,2722 @@ +<?xml version="1.0" ?> +<!-- =================================================================================== --> +<!-- | This document was autogenerated by xacro from ./talos_full_v2.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"> + <!--************************--> + <!-- TORSO_2 (TILT) --> + <!--************************--> + <link name="torso_2_link"> + <inertial> + <mass value="16.97403"/> + <inertia ixx="0.44372633826" ixy="0.00069132133" ixz="-0.01218206353" iyy="0.2998576068" iyz="-0.00019623338" izz="0.32201554742"/> + <origin rpy="0 0 0" xyz="-0.0463563 -0.00099023 0.1452805"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/torso/torso_2_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <!--************************--> + <!-- TORSO_1 (PAN) --> + <!--************************--> + <link name="torso_1_link"> + <inertial> + <mass value="2.294658"/> + <inertia ixx="0.00638508087" ixy="-7.107e-08" ixz="-3.065592e-05" iyy="0.00410256102" iyz="-1.46946e-06" izz="0.00622968815"/> + <origin rpy="0 0 0" xyz="0.00078223 3.528e-05 -0.01782457"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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"/> + <!-- XXX AS: The kinematic chain order for the torso was reversed manually. This value does not match the CAD model. XXX --> + <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0722"/> + <axis xyz="0 0 1"/> + <limit effort="200.0" lower="-1.25663706144" upper="1.25663706144" 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> + <mass value="15.36284"/> + <inertia ixx="0.20105075811" ixy="0.00023244734" ixz="0.0040167728" iyy="0.08411496729" iyz="-0.00087206649" izz="0.2318908414"/> + <origin rpy="0 0 0" xyz="-0.05709419 0.00153054 -0.0762521"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="200.0" lower="-0.226892802759" upper="0.733038285838" 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"/> + <inertia ixx="1e-06" ixy="0.0" ixz="0.0" iyy="1e-06" iyz="0.0" izz="1e-06"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + </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> + <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> + <mass value="0.73746"/> + <inertia ixx="0.00224878584" ixy="4.69375e-06" ixz="8.55557e-05" iyy="0.00111158492" iyz="-4.132536e-05" izz="0.00205225921"/> + <origin rpy="0 0 0" xyz="-0.00157211 -0.00157919 0.02175767"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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.02000 0.00000 0.32100"/> + <axis xyz="0 1 0"/> + <limit effort="8.0" lower="-0.209439510239" 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> + <mass value="1.443954"/> + <inertia ixx="0.01084624339" ixy="1.050889e-05" ixz="0.00041594252" iyy="0.0109569176" iyz="2.367831e-05" izz="0.00571698895"/> + <origin rpy="0 0 0" xyz="0.01002657 5.218e-05 0.14136068"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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.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"/> + <inertia ixx="3e-05" ixy="0.0" ixz="0.0" iyy="2e-06" iyz="0.0" izz="3e-05"/> + <origin rpy="-0.01 0.0025 0" xyz="0 0 0"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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"/> + <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/> + <origin rpy="0 0 0" xyz="0 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"/> + <gazebo reference="rgbd_link"> + <!-- IR + depth --> + <sensor name="rgbd_frame_sensor" type="depth"> + <always_on>true</always_on> + <update_rate>30.0</update_rate> + <camera> + <horizontal_fov>1.0471975512</horizontal_fov> + <image> + <format>B8G8R8</format> + <width>640</width> + <height>480</height> + </image> + <clip> + <near>0.6</near> + <far>8.0</far> + </clip> + </camera> + <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_frame_controller"> + <alwaysOn>true</alwaysOn> + <updateRate>30.0</updateRate> + <cameraName>rgbd</cameraName> + <imageTopicName>rgb/image_raw</imageTopicName> + <cameraInfoTopicName>rgb/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> + <distortionK1>0.00000001</distortionK1> + <distortionK2>0.00000001</distortionK2> + <distortionK3>0.00000001</distortionK3> + <distortionT1>0.00000001</distortionT1> + <distortionT2>0.00000001</distortionT2> + </plugin> + </sensor> + <!-- RGB High res--> + <sensor name="rgbd_high_res_frame_sensor" type="camera"> + <update_rate>30.0</update_rate> + <camera name="head"> + <horizontal_fov>1.0471975512</horizontal_fov> + <image> + <width>1280</width> + <height>720</height> + <format>R8G8B8</format> + </image> + <clip> + <near>0.05</near> + <far>100</far> + </clip> + <noise> + <type>gaussian</type> + <!-- Noise is sampled independently per pixel on each frame. + That pixel's noise value is added to each of its color + channels, which at that point lie in the range [0,1]. --> + <mean>0.0</mean> + <stddev>0.007</stddev> + </noise> + </camera> + <plugin filename="libgazebo_ros_camera.so" name="rgbd_high_res_frame_controller"> + <alwaysOn>true</alwaysOn> + <!-- Patch to publish at 30 Hz --> + <updateRate>45.0</updateRate> + <cameraName>rgbd/high_res</cameraName> + <imageTopicName>/rgbd/rgb/high_res/image_raw</imageTopicName> + <cameraInfoTopicName>/rgbd/rgb/high_res/camera_info</cameraInfoTopicName> + <frameName>rgbd_optical_frame</frameName> + <hackBaseline>0.0</hackBaseline> + <distortionK1>0.00000001</distortionK1> + <distortionK2>0.00000001</distortionK2> + <distortionK3>0.00000001</distortionK3> + <distortionT1>0.00000001</distortionT1> + <distortionT2>0.00000001</distortionT2> + </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"> + <inertial> + <mass value="2.714567"/> + <inertia ixx="0.01237818683" ixy="-3.625571e-05" ixz="7.14472e-05" iyy="0.004191372" iyz="-0.00023639064" izz="0.01358161109"/> + <origin rpy="0 0 0" xyz="-0.0002762 0.10060223 0.04437419"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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"/> + <!-- v1 TALOS has 1st arm left joint (-90,30) and right joint (-30,90) --> + <!-- v2 TALOS has 1st arm left joint (-90,50) and right joint (-50,90) --> + <limit effort="100.0" lower="-1.57079632679" upper="0.785398163397" 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> + <mass value="2.425086"/> + <inertia ixx="0.01297822101" ixy="1.208791e-05" ixz="-0.00320370433" iyy="0.01380870278" iyz="-0.00012770059" izz="0.00478856621"/> + <origin rpy="0 0 0" xyz="0.01438831 0.00092938 -0.08684268"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="100.0" lower="0.00872664625997" upper="2.87106661953" 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> + <mass value="2.208741"/> + <inertia ixx="0.00718831493" ixy="-0.00011563551" ixz="0.00075969733" iyy="0.00693528503" iyz="0.00042134743" izz="0.00388359007"/> + <origin rpy="0 0 0" xyz="0.0136084 0.01241619 -0.2499004"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="70.0" lower="-2.42600766027" upper="2.42600766027" 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> + <mass value="0.877346"/> + <inertia ixx="0.00251207716" ixy="0.00010070062" ixz="-0.00032788214" iyy="0.00275869324" iyz="0.00040022227" izz="0.00120735959"/> + <origin rpy="0 0 0" xyz="-0.00742138 -0.0213895 -0.03312656"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="70.0" lower="-2.23402144255" upper="0.00349065850399" 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 --> + <!--************************--> + <link name="arm_left_5_link"> + <inertial> + <mass value="1.877923"/> + <inertia ixx="0.00349507283" ixy="1.265489e-05" ixz="1.038286e-05" iyy="0.00436830072" iyz="-9.736042e-05" izz="0.0022826337"/> + <origin rpy="0 0 0" xyz="-6e-05 0.003262 0.079625"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="20.0" lower="-2.51327412287" upper="2.51327412287" 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> + <mass value="0.40931"/> + <inertia ixx="0.00010700023" ixy="-8.899e-08" ixz="-4.392e-08" iyy="0.00014101316" iyz="4.1702e-07" izz="0.00015398658"/> + <origin rpy="0 0 0" xyz="2.1e-05 -0.001965 -0.000591"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="8.0" lower="-1.37008346282" upper="1.37008346282" 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"> + <inertial> + <mass value="0.308441"/> + <inertia ixx="0.00030894317" ixy="-1.58687e-06" ixz="1.73418e-06" iyy="0.00021886181" iyz="-1.221167e-05" izz="0.00017519492"/> + <origin rpy="0 0 0" xyz="0.007525 0.001378 -0.02463"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="8.0" lower="-0.680678408278" upper="0.680678408278" 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> + <transmission name="arm_left_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_left_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_left_5_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/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> + <transmission name="arm_left_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_left_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_left_1_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_left_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_left_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_left_2_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_left_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_left_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_left_3_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_left_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_left_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_left_4_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- SHOULDER --> + <!--************************--> + <link name="arm_right_1_link"> + <inertial> + <mass value="2.714567"/> + <inertia ixx="0.01237818683" ixy="3.625571e-05" ixz="7.14472e-05" iyy="0.004191372" iyz="0.00023639064" izz="0.01358161109"/> + <origin rpy="0 0 0" xyz="-0.0002762 -0.10060223 0.04437419"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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"/> + <!-- v1 TALOS has 1st arm left joint (-90,30) and right joint (-30,90) --> + <!-- v2 TALOS has 1st arm left joint (-90,50) and right joint (-50,90) --> + <limit effort="100.0" lower="-0.785398163397" 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> + <mass value="2.425086"/> + <inertia ixx="0.01297822101" ixy="-1.208791e-05" ixz="-0.00320370433" iyy="0.01380870278" iyz="0.00012770059" izz="0.00478856621"/> + <origin rpy="0 0 0" xyz="0.01438831 -0.00092938 -0.08684268"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="100.0" lower="-2.87106661953" upper="-0.00872664625997" 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> + <mass value="2.208741"/> + <inertia ixx="0.00718831493" ixy="0.00011563551" ixz="0.00075969733" iyy="0.00693528503" iyz="-0.00042134743" izz="0.00388359007"/> + <origin rpy="0 0 0" xyz="0.0136084 -0.01241619 -0.2499004"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="70.0" lower="-2.42600766027" upper="2.42600766027" 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> + <mass value="0.877346"/> + <inertia ixx="0.00251207716" ixy="-0.00010070062" ixz="-0.00032788214" iyy="0.00275869324" iyz="-0.00040022227" izz="0.00120735959"/> + <origin rpy="0 0 0" xyz="-0.00742138 0.0213895 -0.03312656"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="70.0" lower="-2.23402144255" upper="0.00349065850399" 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 --> + <!--************************--> + <link name="arm_right_5_link"> + <inertial> + <mass value="1.877923"/> + <inertia ixx="0.00349507283" ixy="-1.265489e-05" ixz="1.038286e-05" iyy="0.00436830072" iyz="9.736042e-05" izz="0.0022826337"/> + <origin rpy="0 0 0" xyz="-6e-05 -0.003262 0.079625"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="20.0" lower="-2.51327412287" upper="2.51327412287" 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> + <mass value="0.40931"/> + <inertia ixx="0.00010700023" ixy="8.899e-08" ixz="-4.392e-08" iyy="0.00014101316" iyz="-4.1702e-07" izz="0.00015398658"/> + <origin rpy="0 0 0" xyz="2.1e-05 0.001965 -0.000591"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="8.0" lower="-1.37008346282" upper="1.37008346282" 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"> + <inertial> + <mass value="0.308441"/> + <inertia ixx="0.00030894317" ixy="1.58687e-06" ixz="1.73418e-06" iyy="0.00021886181" iyz="1.221167e-05" izz="0.00017519492"/> + <origin rpy="0 0 0" xyz="0.007525 -0.001378 -0.02463"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="8.0" lower="-0.680678408278" upper="0.680678408278" 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> + <transmission name="arm_right_5_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_right_5_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_right_5_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/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> + <transmission name="arm_right_1_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_right_1_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_right_1_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_right_2_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_right_2_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_right_2_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_right_3_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_right_3_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_right_3_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <transmission name="arm_right_4_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="arm_right_4_motor"> + <mechanicalReduction>1.0</mechanicalReduction> + </actuator> + <joint name="arm_right_4_joint"> + <offset>0.0</offset> + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> + </joint> + </transmission> + <!--************************--> + <!-- ft sensor --> + <!--************************--> + <link name="wrist_right_ft_link"> + <inertial> + <mass value="0.095"/> + <inertia ixx="1.108502e-05" ixy="9.9077e-07" ixz="-2.3811e-07" iyy="1.092725e-05" iyz="2.3137e-07" izz="1.898772e-05"/> + <origin rpy="0 0 0" xyz="-0.001001 0.000995 -0.008108"/> + </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.001"/> + <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/> + <origin rpy="0 0 0" xyz="0 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.095"/> + <inertia ixx="1.108502e-05" ixy="9.9077e-07" ixz="-2.3811e-07" iyy="1.092725e-05" iyz="2.3137e-07" izz="1.898772e-05"/> + <origin rpy="0 0 0" xyz="-0.001001 0.000995 -0.008108"/> + </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.001"/> + <inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/> + <origin rpy="0 0 0" xyz="0 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> + <mass value="0.637534"/> + <inertia ixx="0.0005849692" ixy="4.37159e-06" ixz="-1.2589e-05" iyy="0.00067076439" iyz="2.824361e-05" izz="0.00085526645"/> + <origin rpy="0 0 0" xyz="2.8e-05 0.005394 -0.023654"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.134356"/> + <inertia ixx="0.00013479919" ixy="6.184429e-05" ixz="-3.0798e-05" iyy="0.00019602207" iyz="4.707722e-05" izz="0.00024217879"/> + <origin rpy="0 0 0" xyz="0.019654 0.018572 -0.011998"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="-0.959931088597" upper="0.0" velocity="1.0"/> + <dynamics damping="1.0" friction="1.0"/> + </joint> + <link name="gripper_left_inner_double_link"> + <inertial> + <mass value="0.087986"/> + <inertia ixx="7.410642e-05" ixy="-7.4773e-07" ixz="1.01536e-06" iyy="0.0001279418" iyz="2.504083e-05" izz="0.00010495175"/> + <origin rpy="0 0 0" xyz="-0.013283 0.036852 -0.023153"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_1_joint" type="fixed"> + <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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_2_joint" type="fixed"> + <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> + <mass value="0.107923"/> + <inertia ixx="8.973662e-05" ixy="-4.082027e-05" ixz="-1.927099e-05" iyy="0.00011957255" iyz="-2.873284e-05" izz="0.00015469079"/> + <origin rpy="0 0 0" xyz="0.025237 -0.011231 -0.008158"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.047177"/> + <inertia ixx="4.199818e-05" ixy="1.3418e-07" ixz="1.9358e-07" iyy="3.231338e-05" iyz="-1.509136e-05" izz="2.168842e-05"/> + <origin rpy="0 0 0" xyz="0 -0.034565 -0.021412"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_left_fingertip_3_joint" type="fixed"> + <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> + <mass value="0.637534"/> + <inertia ixx="0.0005849692" ixy="4.37159e-06" ixz="-1.2589e-05" iyy="0.00067076439" iyz="2.824361e-05" izz="0.00085526645"/> + <origin rpy="0 0 0" xyz="2.8e-05 0.005394 -0.023654"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.134356"/> + <inertia ixx="0.00013479919" ixy="6.184429e-05" ixz="-3.0798e-05" iyy="0.00019602207" iyz="4.707722e-05" izz="0.00024217879"/> + <origin rpy="0 0 0" xyz="0.019654 0.018572 -0.011998"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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="-0.959931088597" upper="0.0" velocity="1.0"/> + <dynamics damping="1.0" friction="1.0"/> + </joint> + <link name="gripper_right_inner_double_link"> + <inertial> + <mass value="0.087986"/> + <inertia ixx="7.410642e-05" ixy="-7.4773e-07" ixz="1.01536e-06" iyy="0.0001279418" iyz="2.504083e-05" izz="0.00010495175"/> + <origin rpy="0 0 0" xyz="-0.013283 0.036852 -0.023153"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_1_joint" type="fixed"> + <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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_2_joint" type="fixed"> + <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> + <mass value="0.107923"/> + <inertia ixx="8.973662e-05" ixy="-4.082027e-05" ixz="-1.927099e-05" iyy="0.00011957255" iyz="-2.873284e-05" izz="0.00015469079"/> + <origin rpy="0 0 0" xyz="0.025237 -0.011231 -0.008158"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.047177"/> + <inertia ixx="4.199818e-05" ixy="1.3418e-07" ixz="1.9358e-07" iyy="3.231338e-05" iyz="-1.509136e-05" izz="2.168842e-05"/> + <origin rpy="0 0 0" xyz="0 -0.034565 -0.021412"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/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> + <mass value="0.026301"/> + <inertia ixx="8e-06" ixy="0.0" ixz="0.0" iyy="8.69179e-06" iyz="-1.43612e-06" izz="2.3082e-06"/> + <origin rpy="0 0 0" xyz="0 0.004604 -0.002537"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/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_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/> + </geometry> + </collision> + </link> + <joint name="gripper_right_fingertip_3_joint" type="fixed"> + <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> + <mass value="1.845591"/> + <inertia ixx="0.00541533521" ixy="-0.00015428714" ixz="0.00131612622" iyy="0.00848624936" iyz="-1.906103e-05" izz="0.00474512541"/> + <origin rpy="0 0 0" xyz="0.02247868 0.00106736 0.03130665"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_z_lo_res.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_data/meshes/v2/hip_z_collision.stl" scale="1 1 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> + <mass value="1.490952"/> + <inertia ixx="0.00497152259" ixy="-0.0001311358" ixz="-4.86648e-06" iyy="0.00190550993" iyz="4.585381e-05" izz="0.00474289754"/> + <origin rpy="0 0 0" xyz="-0.00704703 0.02592659 0.00273385"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_x_lo_res.stl" scale="1 1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_x_collision.stl" scale="1 1 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> + <mass value="6.239871"/> + <inertia ixx="0.15337403915" ixy="0.00068913396" ixz="0.00168034366" iyy="0.13648139346" iyz="-0.02187635445" izz="0.03001594885"/> + <origin rpy="0 0 0" xyz="0.0058523 0.0636967 -0.18339564"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_y_lo_res.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_data/meshes/v2/hip_y_collision.stl" scale="1 1 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> + <mass value="3.759951"/> + <inertia ixx="0.04287677484" ixy="0.00043705397" ixz="0.00078292368" iyy="0.03598906971" iyz="0.00037717694" izz="0.01364791564"/> + <origin rpy="0 0 0" xyz="0.01317717 0.02917508 -0.11594602"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/knee_lo_res.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_data/meshes/v2/knee_collision.stl" scale="1 1 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> + <mass value="1.29096"/> + <inertia ixx="0.01143430819" ixy="0.00096978273" ixz="0.00039976581" iyy="0.00888974312" iyz="-0.00277808667" izz="0.00506373875"/> + <origin rpy="0 0 0" xyz="-0.01400838 0.04180064 0.03820186"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_Y_lo_res.stl" scale="1 1 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_Y_collision.stl" scale="1 1 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.27" upper="0.68" 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> + <mass value="1.597773"/> + <inertia ixx="0.00439027267" ixy="-6.743674e-05" ixz="0.00113816363" iyy="0.00743063029" iyz="3.943143e-05" izz="0.00550906699"/> + <origin rpy="0 0 0" xyz="-0.02034668 -0.00051514 -0.05987428"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_X_lo_res.stl" scale="1 1 1"/> + </geometry> + <material name="Grey"/> + </visual> + <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> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + </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> + <mass value="1.845591"/> + <inertia ixx="0.00541533521" ixy="0.00015428714" ixz="0.00131612622" iyy="0.00848624936" iyz="1.906103e-05" izz="0.00474512541"/> + <origin rpy="0 0 0" xyz="0.02247868 -0.00106736 0.03130665"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_z_lo_res.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_data/meshes/v2/hip_z_collision.stl" scale="1 -1 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> + <mass value="1.490952"/> + <inertia ixx="0.00497152259" ixy="0.0001311358" ixz="-4.86648e-06" iyy="0.00190550993" iyz="-4.585381e-05" izz="0.00474289754"/> + <origin rpy="0 0 0" xyz="-0.00704703 -0.02592659 0.00273385"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_x_lo_res.stl" scale="1 -1 1"/> + </geometry> + <material name="DarkGrey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_x_collision.stl" scale="1 -1 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> + <mass value="6.239871"/> + <inertia ixx="0.15337403915" ixy="-0.00068913396" ixz="0.00168034366" iyy="0.13648139346" iyz="0.02187635445" izz="0.03001594885"/> + <origin rpy="0 0 0" xyz="0.0058523 -0.0636967 -0.18339564"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_y_lo_res.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_data/meshes/v2/hip_y_collision.stl" scale="1 -1 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> + <mass value="3.759951"/> + <inertia ixx="0.04287677484" ixy="-0.00043705397" ixz="0.00078292368" iyy="0.03598906971" iyz="-0.00037717694" izz="0.01364791564"/> + <origin rpy="0 0 0" xyz="0.01317717 -0.02917508 -0.11594602"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/knee_lo_res.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_data/meshes/v2/knee_collision.stl" scale="1 -1 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> + <mass value="1.29096"/> + <inertia ixx="0.01143430819" ixy="-0.00096978273" ixz="0.00039976581" iyy="0.00888974312" iyz="0.00277808667" izz="0.00506373875"/> + <origin rpy="0 0 0" xyz="-0.01400838 -0.04180064 0.03820186"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_Y_lo_res.stl" scale="1 -1 1"/> + </geometry> + <material name="Grey"/> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0.0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_Y_collision.stl" scale="1 -1 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.27" upper="0.68" 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> + <mass value="1.597773"/> + <inertia ixx="0.00439027267" ixy="6.743674e-05" ixz="0.00113816363" iyy="0.00743063029" iyz="-3.943143e-05" izz="0.00550906699"/> + <origin rpy="0 0 0" xyz="-0.02034668 0.00051514 -0.05987428"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://talos_data/meshes/v2/ankle_X_lo_res.stl" scale="1 -1 1"/> + </geometry> + <material name="Grey"/> + </visual> + <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> + <mass value="0.01"/> + <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> + <origin rpy="0 0 0" xyz="0 0 0"/> + </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> + <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" /> --> + <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> + -- GitLab