Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gsaurel/talos-data
  • stack-of-tasks/talos-data
2 results
Show changes
Showing
with 595 additions and 331 deletions
......@@ -10,13 +10,14 @@
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="talos_arm_simple_transmission" params="name side number reduction" >
<xacro:macro name="talos_arm_simple_transmission" params="name side number reduction offset_value" >
<transmission name="${name}_${side}_${number}_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="${name}_${side}_${number}_motor" >
<mechanicalReduction>${reduction}</mechanicalReduction>
</actuator>
<joint name="${name}_${side}_${number}_joint">
<offset>${offset_value}</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
......
......@@ -11,9 +11,9 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_description)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_description)/urdf/arm/wrist.urdf.xacro" />
<xacro:include filename="$(find talos_description)/urdf/arm/arm.transmission.xacro" />
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_data)/urdf/arm/wrist.urdf.xacro" />
<xacro:include filename="$(find talos_data)/urdf/arm/arm.transmission.xacro" />
<!--Constant parameters-->
<xacro:property name="arm_friction" value="1.0" />
......@@ -22,10 +22,10 @@
<xacro:property name="arm_2_max_vel" value="3.66" />
<xacro:property name="arm_3_max_vel" value="4.58" />
<xacro:property name="arm_4_max_vel" value="4.58" />
<xacro:property name="arm_1_max_effort" value="44.64" />
<xacro:property name="arm_2_max_effort" value="22.32" />
<xacro:property name="arm_3_max_effort" value="17.86" />
<xacro:property name="arm_4_max_effort" value="17.86" />
<xacro:property name="arm_1_max_effort" value="100.0" />
<xacro:property name="arm_2_max_effort" value="100.0" />
<xacro:property name="arm_3_max_effort" value="70.0" />
<xacro:property name="arm_4_max_effort" value="70.0" />
<xacro:property name="arm_eps" value="0.02" />
......@@ -35,7 +35,6 @@
<!-- SHOULDER -->
<!--************************-->
<link name="${name}_${side}_1_link">
<!-- TODO: Missing reflects of inertias -->
<inertial>
<origin xyz="-0.01346 ${reflect*0.09130} 0.04812" rpy="0.00000 0.00000 0.00000"/>
<!-- <mass value="1.52896"/> -->
......@@ -48,14 +47,14 @@
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_1.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_1.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_1_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_1_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -63,7 +62,7 @@
<joint name="${name}_${side}_1_joint" type="revolute">
<parent link="${parent}" />
<child link="${name}_${side}_1_link" />
<origin xyz="0.00000 ${0.15750*reflect} 0.23200"
<origin xyz="0.00000 ${0.15750*reflect} 0.23200"
rpy="${0.0 * deg_to_rad} ${0.0 * deg_to_rad} ${0.0 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${(-60.0 - 30.0*reflect)* deg_to_rad}" upper="${(60.0 - 30.0*reflect)* deg_to_rad}" effort="${arm_1_max_effort}" velocity="${arm_1_max_vel}" />
......@@ -87,14 +86,14 @@
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_2.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_2.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_2_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_2_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -102,10 +101,10 @@
<joint name="${name}_${side}_2_joint" type="revolute">
<parent link="${name}_${side}_1_link" />
<child link="${name}_${side}_2_link" />
<origin xyz="0.00493 ${0.13650*reflect} 0.04673"
<origin xyz="0.00493 ${0.13650*reflect} 0.04673"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${(-82.50000 + 82.5*reflect)* deg_to_rad}" upper="${(82.50000 + 82.5000*reflect)* deg_to_rad}" effort="${arm_2_max_effort}" velocity="${arm_2_max_vel}" />
<limit lower="${(-82.0000 + 82.5000*reflect)* deg_to_rad}" upper="${(82.50000 + 82.0000*reflect)* deg_to_rad}" effort="${arm_2_max_effort}" velocity="${arm_2_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -127,14 +126,14 @@
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_3.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_3.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_3_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_3_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -142,10 +141,10 @@
<joint name="${name}_${side}_3_joint" type="revolute">
<parent link="${name}_${side}_2_link" />
<child link="${name}_${side}_3_link" />
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${-140.0 * deg_to_rad}" upper="${140.0 * deg_to_rad}" effort="${arm_3_max_effort}" velocity="${arm_3_max_vel}" />
<limit lower="${-139.0 * deg_to_rad}" upper="${139.0 * deg_to_rad}" effort="${arm_3_max_effort}" velocity="${arm_3_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -170,14 +169,14 @@
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_4.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_4.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_4_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_4_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -185,10 +184,10 @@
<joint name="${name}_${side}_4_joint" type="revolute">
<parent link="${name}_${side}_3_link" />
<child link="${name}_${side}_4_link" />
<origin xyz="0.02000 0.00000 -0.27300"
<origin xyz="0.02000 0.00000 -0.27300"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="${-135.0 * deg_to_rad}" upper="${0.0 * deg_to_rad}" effort="${arm_4_max_effort}" velocity="${arm_4_max_vel}" />
<limit lower="${-128.0 * deg_to_rad}" upper="${0.2 * deg_to_rad}" effort="${arm_4_max_effort}" velocity="${arm_4_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -237,10 +236,7 @@
<xacro:talos_wrist name="arm" parent="${name}_${side}_4_link" side="${side}" reflect="${reflect}" />
<!-- extensions -->
<xacro:talos_arm_simple_transmission name="${name}" side="${side}" number="1" reduction="1.0" />
<xacro:talos_arm_simple_transmission name="${name}" side="${side}" number="2" reduction="1.0" />
<xacro:talos_arm_simple_transmission name="${name}" side="${side}" number="3" reduction="1.0" />
<xacro:talos_arm_simple_transmission name="${name}" side="${side}" number="4" reduction="1.0" />
<xacro:include filename="$(find talos_data)/urdf/arm/${side}_arm.transmissions.urdf.xacro" />
</xacro:macro>
......
<?xml version="1.0"?>
<!--
Copyright (c) 2016, PAL Robotics, S.L.
All rights reserved.
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_data)/urdf/arm/wrist.urdf.xacro" />
<xacro:include filename="$(find talos_data)/urdf/arm/arm.transmission.xacro" />
<!--Constant parameters-->
<xacro:property name="arm_friction" value="1.0" />
<xacro:property name="arm_damping" value="1.0" />
<xacro:property name="arm_1_max_vel" value="2.7" />
<xacro:property name="arm_2_max_vel" value="3.66" />
<xacro:property name="arm_3_max_vel" value="4.58" />
<xacro:property name="arm_4_max_vel" value="4.58" />
<xacro:property name="arm_1_max_effort" value="100.0" />
<xacro:property name="arm_2_max_effort" value="100.0" />
<xacro:property name="arm_3_max_effort" value="70.0" />
<xacro:property name="arm_4_max_effort" value="70.0" />
<xacro:property name="arm_eps" value="0.02" />
<xacro:macro name="talos_arm" params="name parent side reflect">
<!--************************-->
<!-- SHOULDER -->
<!--************************-->
<link name="${name}_${side}_1_link">
<xacro:call macro="${name}_${side}_1_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_1.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_1_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
<joint name="${name}_${side}_1_joint" type="revolute">
<parent link="${parent}" />
<child link="${name}_${side}_1_link" />
<origin xyz="0.00000 ${0.15750*reflect} 0.23200"
rpy="${0.0 * deg_to_rad} ${0.0 * deg_to_rad} ${0.0 * deg_to_rad}"/>
<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 lower="${(-67.5 - 22.5*reflect)* deg_to_rad}" upper="${(67.5 - 22.5*reflect)* deg_to_rad}" effort="${arm_1_max_effort}" velocity="${arm_1_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <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="${name}_${side}_2_link">
<xacro:call macro="${name}_${side}_2_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_2.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_2_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
<joint name="${name}_${side}_2_joint" type="revolute">
<parent link="${name}_${side}_1_link" />
<child link="${name}_${side}_2_link" />
<origin xyz="0.00493 ${0.13650*reflect} 0.04673"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${(-82.0000 + 82.5000*reflect)* deg_to_rad}" upper="${(82.50000*reflect + 82.0000)* deg_to_rad}" effort="${arm_2_max_effort}" velocity="${arm_2_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <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="${name}_${side}_3_link">
<xacro:call macro="${name}_${side}_3_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_3.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_3_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
<joint name="${name}_${side}_3_joint" type="revolute">
<parent link="${name}_${side}_2_link" />
<child link="${name}_${side}_3_link" />
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${-139.0 * deg_to_rad}" upper="${139.0 * deg_to_rad}" effort="${arm_3_max_effort}" velocity="${arm_3_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <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="${name}_${side}_4_link">
<xacro:call macro="${name}_${side}_4_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_4.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/arm/arm_4_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
<joint name="${name}_${side}_4_joint" type="revolute">
<parent link="${name}_${side}_3_link" />
<child link="${name}_${side}_4_link" />
<origin xyz="0.02000 0.00000 -0.27300"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="${-128.0 * deg_to_rad}" upper="${0.2 * deg_to_rad}" effort="${arm_4_max_effort}" velocity="${arm_4_max_vel}" />
<dynamics friction="${arm_friction}" damping="${arm_damping}"/>
<!-- <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="${name}_${side}_1_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
<material>Gazebo/FlatBlack</material>
</gazebo>
<gazebo reference="${name}_${side}_2_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
<material>Gazebo/FlatBlack</material>
</gazebo>
<gazebo reference="${name}_${side}_3_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
<material>Gazebo/FlatBlack</material>
</gazebo>
<gazebo reference="${name}_${side}_4_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
<material>Gazebo/FlatBlack</material>
</gazebo>
<gazebo reference="${name}_${side}_1_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo reference="${name}_${side}_2_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo reference="${name}_${side}_3_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<gazebo reference="${name}_${side}_4_joint">
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<!--************************-->
<!-- WRIST -->
<!--************************-->
<xacro:talos_wrist name="arm" parent="${name}_${side}_4_link" side="${side}" reflect="${reflect}" />
<!-- extensions -->
<xacro:include filename="$(find talos_data)/urdf/arm/${side}_arm.transmissions.urdf.xacro" />
</xacro:macro>
</robot>
<?xml version="1.0"?>
<!--
Copyright (c) 2018, 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 xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/arm/arm.transmission.xacro" />
<xacro:include filename="$(find talos_description_calibration)/urdf/calibration/calibration_constants.urdf.xacro" />
<!-- extensions -->
<xacro:talos_arm_simple_transmission name="${name}" side="left" number="1" reduction="1.0" offset_value="${arm_left_1_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="left" number="2" reduction="1.0" offset_value="${arm_left_2_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="left" number="3" reduction="1.0" offset_value="${arm_left_3_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="left" number="4" reduction="1.0" offset_value="${arm_left_4_joint_offset}" />
</robot>
<?xml version="1.0"?>
<!--
Copyright (c) 2018, 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 xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/arm/wrist.transmission.xacro" />
<xacro:include filename="$(find talos_description_calibration)/urdf/calibration/calibration_constants.urdf.xacro" />
<!-- extensions -->
<xacro:talos_wrist_simple_transmission name="${name}" side="${side}" number="5" reduction="1.0"
offset_value="${arm_left_5_joint_offset}"/>
<xacro:talos_wrist_differential_transmission name="${name}" side="${side}" number_1="6" number_2="7"
act_reduction_1="-1.0" act_reduction_2="1.0"
jnt_reduction_1="-1.0" jnt_reduction_2="-1.0"
offset_value_1="${arm_left_6_joint_offset}"
offset_value_2="${arm_left_7_joint_offset}"/>
</robot>
<?xml version="1.0"?>
<!--
Copyright (c) 2018, 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 xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/arm/arm.transmission.xacro" />
<xacro:include filename="$(find talos_description_calibration)/urdf/calibration/calibration_constants.urdf.xacro" />
<!-- extensions -->
<xacro:talos_arm_simple_transmission name="${name}" side="right" number="1" reduction="1.0" offset_value="${arm_right_1_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="right" number="2" reduction="1.0" offset_value="${arm_right_2_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="right" number="3" reduction="1.0" offset_value="${arm_right_3_joint_offset}" />
<xacro:talos_arm_simple_transmission name="${name}" side="right" number="4" reduction="1.0" offset_value="${arm_right_4_joint_offset}" />
</robot>
<?xml version="1.0"?>
<!--
Copyright (c) 2018, 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 xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/arm/wrist.transmission.xacro" />
<xacro:include filename="$(find talos_description_calibration)/urdf/calibration/calibration_constants.urdf.xacro" />
<!-- extensions -->
<xacro:talos_wrist_simple_transmission name="${name}" side="${side}" number="5" reduction="1.0"
offset_value="${arm_right_5_joint_offset}"/>
<xacro:talos_wrist_differential_transmission name="${name}" side="${side}" number_1="6" number_2="7"
act_reduction_1="-1.0" act_reduction_2="1.0"
jnt_reduction_1="-1.0" jnt_reduction_2="-1.0"
offset_value_1="${arm_right_6_joint_offset}"
offset_value_2="${arm_right_7_joint_offset}"/>
</robot>
......@@ -10,13 +10,14 @@
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="talos_wrist_simple_transmission" params="name side number reduction" >
<xacro:macro name="talos_wrist_simple_transmission" params="name side number reduction offset_value" >
<transmission name="${name}_${side}_${number}_trans">
<type>transmission_interface/SimpleTransmission</type>
<actuator name="${name}_${side}_${number}_motor" >
<mechanicalReduction>${reduction}</mechanicalReduction>
</actuator>
<joint name="${name}_${side}_${number}_joint">
<offset>${offset_value}</offset>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
......@@ -24,7 +25,7 @@
</xacro:macro>
<xacro:macro name="talos_wrist_differential_transmission"
params="name side number_1 number_2 act_reduction_1 act_reduction_2 jnt_reduction_1 jnt_reduction_2" >
params="name side number_1 number_2 act_reduction_1 act_reduction_2 jnt_reduction_1 jnt_reduction_2 offset_value_1 offset_value_2" >
<transmission name="wrist_${side}_trans">
<type>transmission_interface/DifferentialTransmission</type>
<actuator name="${name}_${side}_${number_1}_motor">
......@@ -37,14 +38,14 @@
</actuator>
<joint name="${name}_${side}_${number_1}_joint">
<role>joint1</role>
<offset>0.0</offset>
<offset>${offset_value_1}</offset>
<mechanicalReduction>${jnt_reduction_1}</mechanicalReduction>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<joint name="${name}_${side}_${number_2}_joint">
<role>joint2</role>
<offset>0.0</offset>
<offset>${offset_value_2}</offset>
<mechanicalReduction>${jnt_reduction_2}</mechanicalReduction>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
......
......@@ -11,8 +11,8 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_description)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_description)/urdf/arm/wrist.transmission.xacro" />
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_data)/urdf/arm/wrist.transmission.xacro" />
<!--Constant parameters-->
<xacro:property name="wrist_friction" value="1.0" />
......@@ -20,9 +20,9 @@
<xacro:property name="wrist_1_max_vel" value="1.95" />
<xacro:property name="wrist_2_max_vel" value="1.76" />
<xacro:property name="wrist_3_max_vel" value="1.76" />
<xacro:property name="wrist_1_max_effort" value="3" />
<xacro:property name="wrist_2_max_effort" value="6.6" />
<xacro:property name="wrist_3_max_effort" value="6.6" />
<xacro:property name="wrist_1_max_effort" value="20.0" />
<xacro:property name="wrist_2_max_effort" value="8.0" />
<xacro:property name="wrist_3_max_effort" value="8.0" />
<xacro:property name="wrist_eps" value="0.02" />
......@@ -32,26 +32,20 @@
<!-- WRIST -->
<!--************************-->
<link name="${name}_${side}_5_link">
<inertial>
<origin xyz="-0.00006 0.00326 0.07963" rpy="0.00000 0.00000 0.00000"/>
<!-- <mass value="1.87792"/> -->
<mass value="1.77792"/>
<inertia ixx="0.00349500000" ixy="-0.00001300000" ixz="-0.00001000000"
iyy="0.00436800000" iyz="0.00009700000"
izz="0.00228300000"/>
</inertial>
<xacro:call macro="${name}_${side}_5_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_5.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_5.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="LightGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_5_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_5_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -59,10 +53,10 @@
<joint name="${name}_${side}_5_joint" type="revolute">
<parent link="${parent}" />
<child link="${name}_${side}_5_link" />
<origin xyz="-0.02000 0.00000 -0.26430"
<origin xyz="-0.02000 0.00000 -0.26430"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${-145.0 * deg_to_rad}" upper="${145.0 * deg_to_rad}" effort="${wrist_1_max_effort}" velocity="${wrist_1_max_vel}" />
<limit lower="${-144.0 * deg_to_rad}" upper="${144.0 * deg_to_rad}" effort="${wrist_1_max_effort}" velocity="${wrist_1_max_vel}" />
<dynamics friction="${wrist_friction}" damping="${wrist_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -72,26 +66,20 @@
</joint>
<link name="${name}_${side}_6_link">
<inertial>
<origin xyz="0.00002 -0.00197 -0.00059" rpy="0.00000 0.00000 0.00000"/>
<!-- <mass value="0.40931"/> -->
<mass value="0.30931"/>
<inertia ixx="0.00010700000" ixy="0.00000000000" ixz="0.00000000000"
iyy="0.00014100000" iyz="-0.00000000000"
izz="0.00015400000"/>
</inertial>
<xacro:call macro="${name}_${side}_6_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_6.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_6.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="LightGrey" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_6_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_6_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -99,10 +87,10 @@
<joint name="${name}_${side}_6_joint" type="revolute">
<parent link="${name}_${side}_5_link" />
<child link="${name}_${side}_6_link" />
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${-80.0 * deg_to_rad}" upper="${80.0 * deg_to_rad}" effort="${wrist_2_max_effort}" velocity="${wrist_2_max_vel}" />
<limit lower="${-78.5 * deg_to_rad}" upper="${78.5 * deg_to_rad}" effort="${wrist_2_max_effort}" velocity="${wrist_2_max_vel}" />
<dynamics friction="${wrist_friction}" damping="${wrist_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -112,29 +100,12 @@
</joint>
<link name="${name}_${side}_7_link">
<!-- WRONG VALUES
<inertial>
<origin xyz="-0.00089 0.00365 -0.07824" rpy="0.00000 0.00000 0.00000"/>
<mass value="1.02604"/>
<inertia ixx="0.00151400000" ixy="0.00000600000" ixz="0.00006600000"
iyy="0.00146400000" iyz="0.00001200000"
izz="0.00090300000"/>
</inertial>
-->
<inertial>
<origin xyz="0.007525 0.001378 -0.024630" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.308441"/>
<inertia ixx="0.000309" ixy="0.000002" ixz="-0.000002"
iyy="0.000219" iyz="0.000012"
izz="0.000176"/>
</inertial>
<xacro:call macro="${name}_${side}_7_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_7.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_7.STL" scale="1 ${reflect} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
......@@ -142,7 +113,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/arm/arm_7_collision.STL" scale="1 ${reflect} 1"/>
<mesh filename="package://talos_data/meshes/arm/arm_7_collision.STL" scale="1 ${reflect} 1"/>
</geometry>
</collision>
</link>
......@@ -150,10 +121,10 @@
<joint name="${name}_${side}_7_joint" type="revolute">
<parent link="${name}_${side}_6_link" />
<child link="${name}_${side}_7_link" />
<origin xyz="0.0 0.0 0.0"
<origin xyz="0.0 0.0 0.0"
rpy="${0.0 * deg_to_rad} ${0.0 * deg_to_rad} ${0.0 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="${-40.0 * deg_to_rad}" upper="${40.0 * deg_to_rad}" effort="${wrist_3_max_effort}" velocity="${wrist_3_max_vel}"/>
<limit lower="${-39.0 * deg_to_rad}" upper="${39.0 * deg_to_rad}" effort="${wrist_3_max_effort}" velocity="${wrist_3_max_vel}"/>
<dynamics friction="${wrist_friction}" damping="${wrist_damping}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -189,11 +160,7 @@
</gazebo>
<!-- extensions -->
<xacro:talos_wrist_simple_transmission name="${name}" side="${side}" number="5" reduction="1.0" />
<xacro:talos_wrist_differential_transmission name="${name}" side="${side}" number_1="6" number_2="7"
act_reduction_1="-1.0" act_reduction_2="1.0"
jnt_reduction_1="-1.0" jnt_reduction_2="${-reflect}" />
<xacro:include filename="$(find talos_data)/urdf/arm/${side}_wrist.transmissions.urdf.xacro" />
</xacro:macro>
</robot>
<?xml version="1.0"?>
<!--
Copyright (c) 2016, PAL Robotics, S.L.
All rights reserved.
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:macro name="crane" params="parent">
<link name="crane_link">
<inertial>
<origin xyz="0.0 0.0 0.25" rpy="0.0 0.0 0.0"/>
<mass value="0.0"/>
<!-- [ m(3r^2 + h^2)/12 m(3r^2 + h^2)/12 mr^2/2] -->
<inertia ixx="0.0" ixy="0.0" ixz="0.0"
iyy="0.0" iyz="0.0"
izz="0.0"/>
</inertial>
<visual>
<origin xyz="0 0 0.25" rpy="0 0 0" />
<geometry>
<cylinder length="0.5" radius="0.3"/>
</geometry>
<material name="CraneMaterial" rgba="0.3 0.3 0.3 0.1"/>
</visual>
<collision>
<origin xyz="0 0 0.25" rpy="0 0 0" />
<geometry>
<cylinder length="0.5" radius="0.3"/>
</geometry>
<material name="CraneMaterial"/>
</collision>
</link>
<joint name="crane_joint" type="fixed">
<parent link="${parent}" />
<child link="crane_link" />
<origin xyz="0.003 0.0 0.4" rpy="0.0 0.0 0.0"/>
<limit lower="0.0" upper="0.0" effort="0.0" velocity="0.0" />
<dynamics friction="0.0" damping="0.0"/>
</joint>
</xacro:macro>
<material name="CraneMaterial">
<color rgba="0.2 0.2 0.2 0.5"/>
</material>
</robot>
......@@ -18,14 +18,14 @@
<mimicJoint>${name}_inner_double_joint</mimicJoint>
<multiplier>1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
<plugin name="mimic_${name}_fingertip_1_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
<joint>${name}_joint</joint>
<mimicJoint>${name}_fingertip_1_joint</mimicJoint>
<multiplier>-1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
<plugin name="mimic_${name}_fingertip_2_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
......@@ -33,15 +33,15 @@
<mimicJoint>${name}_fingertip_2_joint</mimicJoint>
<multiplier>-1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
<plugin name="mimic_${name}_inner_single_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
<joint>${name}_joint</joint>
<mimicJoint>${name}_inner_single_joint</mimicJoint>
<multiplier>-1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
<plugin name="mimic_${name}_motor_single_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
......@@ -49,14 +49,14 @@
<mimicJoint>${name}_motor_single_joint</mimicJoint>
<multiplier>-1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
<plugin name="mimic_${name}_fingertip_3_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
<joint>${name}_joint</joint>
<mimicJoint>${name}_fingertip_3_joint</mimicJoint>
<multiplier>-1.0</multiplier>
<offset>0.0</offset>
<!-- <hasPID/> -->
<hasPID/>
</plugin>
</gazebo>
......@@ -134,7 +134,7 @@
<gazebo reference="${name}_motor_single_link">
<material>Gazebo/Orange</material>
</gazebo>
<gazebo reference="${name}_inner_single_link">
<material>Gazebo/Orange</material>
......@@ -150,4 +150,4 @@
</xacro:macro>
</robot>
\ No newline at end of file
</robot>
......@@ -35,4 +35,4 @@
</xacro:macro>
</robot>
\ No newline at end of file
</robot>
......@@ -3,26 +3,20 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_description)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_description)/urdf/gripper/gripper.transmission.xacro" />
<xacro:include filename="$(find talos_description)/urdf/gripper/gripper.gazebo.xacro" />
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_data)/urdf/gripper/gripper.transmission.xacro" />
<xacro:include filename="$(find talos_data)/urdf/gripper/gripper.gazebo.xacro" />
<xacro:macro name="talos_gripper" params="name parent reflect">
<link name="${name}_base_link">
<inertial>
<origin xyz="-0.00534 0.00362 -0.02357" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.61585"/>
<inertia ixx="0.00047200000" ixy="-0.00000800000" ixz="0.00003500000"
iyy="0.00052100000" iyz="0.00000000000"
izz="0.00069000000"/>
</inertial>
<link name="${name}_base_link">
<xacro:call macro="${name}_base_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/base_link.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/base_link.STL" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
......@@ -30,7 +24,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/base_link_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/base_link_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -38,27 +32,19 @@
<joint name="${name}_base_link_joint" type="fixed">
<parent link="${parent}"/>
<child link="${name}_base_link"/>
<origin xyz="0.00000 0.00000 -0.02875"
<origin xyz="0.00000 0.00000 -0.02875"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 0" />
</joint>
<link name="${name}_motor_double_link">
<inertial>
<origin xyz="0.02270 0.01781 -0.00977" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.16889"/>
<!-- In order for Gazebo not to explode we needed to add these 0.001 values to the diagonal,
also the tool pal_dynamics InertiaMassVisualization gave NaN on the computation of the inertia box -->
<inertia ixx="${0.00015900000 + 0.001}" ixy="-0.00007000000" ixz="0.00003800000"
iyy="${0.00022100000 + 0.001}" iyz="-0.00005300000"
izz="${0.00026800000 + 0.001}"/>
</inertial>
<xacro:call macro="${name}_motor_double_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/gripper_motor_double.STL" scale="1 1 1"/>
</geometry>
<material name="Orange"/>
</visual>
......@@ -66,35 +52,29 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/gripper_motor_double_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
<joint name="${name}_joint" type="revolute">
<joint name="${name}_joint" type="revolute">
<parent link="${name}_base_link"/>
<child link="${name}_motor_double_link"/>
<origin xyz="0.0 0.02025 -0.03"
<origin xyz="0.0 0.02025 -0.03"
rpy="${0.0 * deg_to_rad} ${0.0 * deg_to_rad} ${0.0 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${-60.0 * deg_to_rad}" upper="${0.0 * deg_to_rad}" effort="1.0" velocity="1.0" />
<limit lower="${-55.0 * deg_to_rad}" upper="${0.0 * deg_to_rad}" effort="1.0" velocity="1.0" />
<dynamics friction="1.0" damping="1.0"/>
</joint>
<link name="${name}_inner_double_link">
<inertial>
<origin xyz="-0.00056 0.03358 -0.01741" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.11922"/>
<inertia ixx="0.00009100000" ixy="0.00000100000" ixz="-0.00000100000"
iyy="0.00015600000" iyz="-0.00003200000"
izz="0.00012600000"/>
</inertial>
<xacro:call macro="${name}_inner_double_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/inner_double.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/inner_double.STL" scale="1 1 1"/>
</geometry>
<material name="Orange"/>
</visual>
......@@ -102,7 +82,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/inner_double_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -110,29 +90,22 @@
<joint name="${name}_inner_double_joint" type="revolute">
<parent link="${name}_base_link"/>
<child link="${name}_inner_double_link"/>
<origin xyz="0.00000 0.00525 -0.05598"
<origin xyz="0.00000 0.00525 -0.05598"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${-60.0 * deg_to_rad}" upper="${0.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${1.0}" offset="0.0" />
</joint>
</joint>
<link name="${name}_fingertip_1_link">
<inertial>
<origin xyz="0.00000 0.00460 -0.00254" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.02630"/>
<inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000"
iyy="0.00000900000" iyz="0.00000100000"
izz="0.00000200000"/>
</inertial>
<xacro:call macro="${name}_fingertip_1_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
......@@ -140,7 +113,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -149,27 +122,21 @@
<joint name="${name}_fingertip_1_joint" type="revolute">
<parent link="${name}_inner_double_link"/>
<child link="${name}_fingertip_1_link"/>
<origin xyz="0.03200 0.04589 -0.06553"
<origin xyz="0.03200 0.04589 -0.06553"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${0.0 * deg_to_rad}" upper="${60.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${-1.0}" offset="0.0" />
</joint>
</joint>
<link name="${name}_fingertip_2_link">
<inertial>
<origin xyz="0.00000 0.00460 -0.00254" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.02630"/>
<inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000"
iyy="0.00000900000" iyz="0.00000100000"
izz="0.00000200000"/>
</inertial>
<xacro:call macro="${name}_fingertip_2_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
......@@ -177,7 +144,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -185,27 +152,21 @@
<joint name="${name}_fingertip_2_joint" type="revolute">
<parent link="${name}_inner_double_link"/>
<child link="${name}_fingertip_2_link"/>
<origin xyz="-0.03200 0.04589 -0.06553"
<origin xyz="-0.03200 0.04589 -0.06553"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${0.0 * deg_to_rad}" upper="${60.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${-1.0}" offset="0.0" />
</joint>
</joint>
<link name="${name}_motor_single_link">
<inertial>
<origin xyz="0.02589 -0.01284 -0.00640" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.14765"/>
<inertia ixx="0.00011500000" ixy="0.00005200000" ixz="0.00002500000"
iyy="0.00015300000" iyz="0.00003400000"
izz="0.00019000000"/>
</inertial>
<xacro:call macro="${name}_motor_single_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/gripper_motor_single.STL" scale="1 1 1"/>
</geometry>
<material name="Orange"/>
</visual>
......@@ -213,7 +174,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/gripper_motor_single_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -221,28 +182,22 @@
<joint name="${name}_motor_single_joint" type="revolute">
<parent link="${name}_base_link"/>
<child link="${name}_motor_single_link"/>
<origin xyz="0.00000 -0.02025 -0.03000"
<origin xyz="0.00000 -0.02025 -0.03000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${0.0 * deg_to_rad}" upper="${60.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${-1.0}" offset="0.0" />
</joint>
</joint>
<link name="${name}_inner_single_link">
<inertial>
<origin xyz="0.00000 -0.03253 -0.01883" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.05356"/>
<inertia ixx="0.00004700000" ixy="-0.00000000000" ixz="-0.00000000000"
iyy="0.00003500000" iyz="0.00001700000"
izz="0.00002400000"/>
</inertial>
<xacro:call macro="${name}_inner_single_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/inner_single.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/inner_single.STL" scale="1 1 1"/>
</geometry>
<material name="Orange"/>
</visual>
......@@ -250,7 +205,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/inner_single_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -258,28 +213,21 @@
<joint name="${name}_inner_single_joint" type="revolute">
<parent link="${name}_base_link"/>
<child link="${name}_inner_single_link"/>
<origin xyz="0.00000 -0.00525 -0.05598"
<origin xyz="0.00000 -0.00525 -0.05598"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${0.0 * deg_to_rad}" upper="${60.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${-1.0}" offset="0.0" />
</joint>
</joint>
<link name="${name}_fingertip_3_link">
<inertial>
<origin xyz="0.00000 0.00460 -0.00254" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.02630"/>
<inertia ixx="0.00000800000" ixy="0.00000000000" ixz="0.00000000000"
iyy="0.00000900000" iyz="0.00000100000"
izz="0.00000200000"/>
</inertial>
<xacro:call macro="${name}_fingertip_3_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip.STL" scale="1 1 1"/>
</geometry>
<material name="DarkGrey"/>
</visual>
......@@ -287,7 +235,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/gripper/fingertip_collision.STL" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -295,13 +243,13 @@
<joint name="${name}_fingertip_3_joint" type="revolute">
<parent link="${name}_inner_single_link"/>
<child link="${name}_fingertip_3_link"/>
<origin xyz="0.00000 -0.04589 -0.06553"
<origin xyz="0.00000 -0.04589 -0.06553"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${180.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="${0.0 * deg_to_rad}" upper="${60.0 * deg_to_rad}" effort="100.0" velocity="1.0" />
<mimic joint="${name}_joint" multiplier="${-1.0}" offset="0.0" />
</joint>
</joint>
<xacro:virtual_joints name="${name}" />
......@@ -315,6 +263,6 @@
<xacro:gripper_virtual_transmission name="${name}_motor_single" reduction="1.0"/>
<xacro:gripper_virtual_transmission name="${name}_fingertip_3" reduction="1.0"/> -->
</xacro:macro>
</xacro:macro>
</robot>
......@@ -11,7 +11,7 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="talos_head_differential_transmission"
params="name number1 number2 act_reduction1 act_reduction2 jnt_reduction1 jnt_reduction2" >
params="name number1 number2 act_reduction1 act_reduction2 jnt_reduction1 jnt_reduction2 offset_value_1 offset_value_2" >
<transmission name="talos_trans">
<type>transmission_interface/HalfDifferentialTransmission</type>
<actuator name="${name}_${number1}_motor">
......@@ -24,14 +24,14 @@
</actuator>
<joint name="${name}_${number1}_joint">
<role>joint1</role>
<offset>0.0</offset>
<offset>${offset_value_1}</offset>
<mechanicalReduction>${jnt_reduction1}</mechanicalReduction>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<joint name="${name}_${number2}_joint">
<role>joint2</role>
<offset>0.0</offset>
<offset>${offset_value_2}</offset>
<mechanicalReduction>${jnt_reduction2}</mechanicalReduction>
<hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
......
......@@ -11,9 +11,10 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<!--File includes-->
<xacro:include filename="$(find talos_description)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_description)/urdf/head/head.transmission.xacro" />
<xacro:include filename="$(find talos_description)/urdf/sensors/orbbec_astra_pro.urdf.xacro" />
<xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" />
<xacro:include filename="$(find talos_data)/urdf/head/head.transmission.xacro" />
<xacro:include filename="$(find talos_data)/urdf/sensors/orbbec_astra_pro.urdf.xacro" />
<xacro:include filename="$(find talos_description_calibration)/urdf/calibration/calibration_constants.urdf.xacro" />
<!--Constant parameters-->
<xacro:property name="head_friction" value="1.0" />
......@@ -26,18 +27,12 @@
<!--************************-->
<xacro:macro name="talos_head_1" params="name parent">
<link name="${name}_link">
<inertial>
<origin xyz="0.00120 0.00145 0.02165" rpy="0.00000 0.00000 0.00000"/>
<mass value="0.65988"/>
<inertia ixx="0.00122100000" ixy="-0.00000400000" ixz="0.00007000000"
iyy="0.00092400000" iyz="-0.00004100000"
izz="0.00103300000"/>
</inertial>
<xacro:call macro="${name}_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/head/head_1.stl" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/head/head_1.stl" scale="1 1 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
......@@ -45,7 +40,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/head/head_1_collision.stl" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/head/head_1_collision.stl" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -53,10 +48,10 @@
<joint name="${name}_joint" type="revolute">
<parent link="${parent}"/>
<child link="${name}_link"/>
<origin xyz="0.00000 0.00000 0.31600"
<origin xyz="0.02000 0.00000 0.32100"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="${-15.00000 * deg_to_rad}" upper="${45.00000 * deg_to_rad}" effort="8.0" velocity="1.0" />
<limit lower="${-12.00000 * deg_to_rad}" upper="${45.00000 * deg_to_rad}" effort="8.0" velocity="1.0" />
<dynamics damping="${head_damping}" friction="${head_friction}"/>
<!-- <safety_controller k_position="20"
k_velocity="20"
......@@ -79,25 +74,19 @@
</xacro:macro>
<!--************************-->
<!-- HEAD_2 (PAN) -->
<!--************************-->
<xacro:macro name="talos_head_2" params="name parent">
<link name="${name}_link">
<inertial>
<origin xyz="-0.01036 -0.00037 0.13778" rpy="0.00000 0.00000 0.00000"/>
<mass value="1.40353"/>
<inertia ixx="0.00722500000" ixy="-0.00002500000" ixz="0.00032900000"
iyy="0.00687300000" iyz="0.00004400000"
izz="0.00437300000"/>
</inertial>
<xacro:call macro="${name}_link_inertial" />
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/head/head_2.stl" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/head/head_2.stl" scale="1 1 1"/>
</geometry>
<material name="LightGrey" />
</visual>
......@@ -105,7 +94,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/head/head_2_collision.stl" scale="1 1 1"/>
<mesh filename="package://talos_data/meshes/head/head_2_collision.stl" scale="1 1 1"/>
</geometry>
</collision>
</link>
......@@ -113,7 +102,7 @@
<joint name="${name}_joint" type="revolute">
<parent link="${parent}"/>
<child link="${name}_link"/>
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${-75.00000 * deg_to_rad}" upper="${75.00000 * deg_to_rad}" effort="4.0" velocity="1.0" />
......@@ -144,15 +133,16 @@
<xacro:macro name="talos_head" params="name parent">
<xacro:talos_head_1 name="${name}_1" parent="${parent}" />
<xacro:talos_head_2 name="${name}_2" parent="${name}_1_link"/>
<xacro:xtion_pro_live name="rgbd" parent="${name}_2">
<xacro:orbbec_astra_pro name="rgbd" parent="${name}_2">
<!-- Pose of sensor frame wrt to base -->
<origin xyz="0.066 0.0 0.1982" rpy="0 0 0"/>
<origin xyz="${camera_position_x} ${camera_position_y} ${camera_position_z}" rpy="${camera_orientation_r} ${camera_orientation_p} ${camera_orientation_y}" />
<!-- Pose of optical frame wrt to sensor -->
<origin xyz="0 0 0" rpy="${-90 * deg_to_rad} 0 ${-90 * deg_to_rad}"/>
</xacro:xtion_pro_live>
</xacro:orbbec_astra_pro>
<xacro:talos_head_differential_transmission name="${name}" number1="1" number2="2"
act_reduction1="1.0" act_reduction2="1.0"
jnt_reduction1="1.0" jnt_reduction2="2.0" />
jnt_reduction1="1.0" jnt_reduction2="2.0"
offset_value_1="${head_1_joint_offset}" offset_value_2="${head_2_joint_offset}"/>
</xacro:macro>
</robot>
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="talos">
<xacro:macro name="talos_foot_collision">
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_data/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</xacro:macro>
</robot>
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="talos">
<xacro:macro name="talos_foot_collision">
<collision>
<origin xyz="0 0 -0.035" rpy="0 0 0" />
<geometry>
<box size="0.21 0.13 0.15"/>
</geometry>
</collision>
</xacro:macro>
</robot>
<?xml version="1.0"?>
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="talos">
<xacro:macro name="talos_foot_collision">
<collision>
<origin xyz="0 0 -0.1" rpy="0 0 0" />
<geometry>
<box size="0.21 0.13 0.02"/>
</geometry>
</collision>
</xacro:macro>
</robot>
......@@ -23,4 +23,3 @@
</transmission>
</xacro:macro>
</robot>
......@@ -2,7 +2,7 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="talos">
<xacro:include filename="$(find talos_description)/urdf/leg/leg.transmission.xacro" />
<xacro:include filename="$(find talos_data)/urdf/leg/leg.transmission.xacro" />
<xacro:property name="deg_to_rad" value="0.01745329251994329577" />
<xacro:property name="eps_radians" value="0.008" /> <!-- 0.45deg -->
......@@ -16,18 +16,12 @@
<!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link -->
<link name="leg_${prefix}_1_link">
<inertial>
<origin xyz="0.02320 -0.00009 0.04949" rpy="0.00000 0.00000 0.00000"/>
<mass value="1.88569"/>
<inertia ixx="0.00384800000" ixy="0.00003200000" ixz="-0.00082600000"
iyy="0.00599400000" iyz="0.00007800000"
izz="0.00322200000"/>
</inertial>
<xacro:call macro="leg_${prefix}_1_link_inertial" />
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_z_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_z_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
......@@ -35,15 +29,15 @@
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_z_collision.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_z_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</collision>
</link>
<joint name="leg_${prefix}_1_joint" type="revolute">
<parent link="base_link"/>
<child link="leg_${prefix}_1_link"/>
<origin xyz="-0.02 ${reflect*0.08500} -0.27105"
<origin xyz="-0.02 ${reflect*0.08500} -0.27105"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 0 1" />
<limit lower="${(-55.0 + 35.0*reflect)*deg_to_rad}" upper="${(55.0 + 35.0*reflect)*deg_to_rad}" effort="100" velocity="3.87" />
......@@ -54,26 +48,20 @@
<!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z -->
<link name="leg_${prefix}_2_link">
<inertial>
<origin xyz="0.01583 -0.00021 0.00619" rpy="0.00000 0.00000 0.00000"/>
<mass value="2.37607"/>
<inertia ixx="0.00342100000" ixy="-0.00011300000" ixz="-0.00022500000"
iyy="0.00402400000" iyz="-0.00003100000"
izz="0.00416400000"/>
</inertial>
<xacro:call macro="leg_${prefix}_2_link_inertial" />
<visual>
<origin xyz="0 0 0.0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_x_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_x_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
<collision>
<origin xyz="0 0 0.0" rpy="0 0 0" />
<origin xyz="0 0 0.0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_x_collision.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_x_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</link>
......@@ -81,7 +69,7 @@
<joint name="leg_${prefix}_2_joint" type="revolute">
<parent link="leg_${prefix}_1_link"/>
<child link="leg_${prefix}_2_link"/>
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="-0.5236" upper="0.5236" effort="160" velocity="5.8" />
......@@ -91,18 +79,12 @@
<!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x -->
<link name="leg_${prefix}_3_link">
<inertial>
<origin xyz="0.00658 ${reflect*0.06563} -0.17278" rpy="0.00000 0.00000 0.00000"/>
<mass value="6.82734"/>
<inertia ixx="0.12390600000" ixy="${reflect*-0.00041200000}" ixz="-0.00205900000"
iyy="0.10844700000" iyz="${reflect*0.01672500000}"
izz="0.02781200000"/>
</inertial>
<xacro:call macro="leg_${prefix}_3_link_inertial" />
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_y_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_y_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
......@@ -110,15 +92,15 @@
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/hip_y_collision.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/hip_y_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</collision>
</link>
<joint name="leg_${prefix}_3_joint" type="revolute">
<parent link="leg_${prefix}_2_link"/>
<child link="leg_${prefix}_3_link"/>
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="-2.095" upper="0.7" effort="160" velocity="5.8" />
......@@ -128,18 +110,12 @@
<!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y -->
<link name="leg_${prefix}_4_link">
<inertial>
<origin xyz="0.01520 ${reflect*0.02331} -0.12063" rpy="0.00000 0.00000 0.00000"/>
<mass value="3.63668"/>
<inertia ixx="0.03531500000" ixy="${reflect*0.00002900000}" ixz="-0.00016600000"
iyy="0.02933600000" iyz="${reflect*-0.00130500000}"
izz="0.01174000000"/>
</inertial>
<xacro:call macro="leg_${prefix}_4_link_inertial" />
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/knee_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/knee_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="DarkGrey" />
</visual>
......@@ -147,17 +123,17 @@
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/knee_collision.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/knee_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</collision>
</link>
<joint name="leg_${prefix}_4_joint" type="revolute">
<parent link="leg_${prefix}_3_link"/>
<child link="leg_${prefix}_4_link"/>
<origin xyz="0.00000 0.00000 -0.38000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<origin xyz="0.00000 0.00000 -0.38000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="0" upper="2.618" effort="300" velocity="7" />
<dynamics friction="${leg_friction}" damping="${leg_damping}"/>
......@@ -166,113 +142,82 @@
<!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee -->
<link name="leg_${prefix}_5_link">
<inertial>
<origin xyz="-0.01106 ${reflect*0.04708} 0.05271" rpy="0.00000 0.00000 0.00000"/>
<mass value="1.24433"/>
<inertia ixx="0.01148700000" ixy="${reflect*-0.00068600000}" ixz="-0.00052600000"
iyy="0.00952600000" iyz="${reflect*0.00263300000}"
izz="0.00390800000"/>
</inertial>
<!-- XXX AS: this link has moving lever and inertial parameters should slightly vary depending on configuration. XXX -->
<xacro:call macro="leg_${prefix}_5_link_inertial" />
<visual>
<origin xyz="0 0 0.0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/v2/ankle_Y_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/ankle_Y_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="Grey" />
</visual>
<collision>
<origin xyz="0 0 0.0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/v2/ankle_Y_collision.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/ankle_Y_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
</collision>
</link>
<joint name="leg_${prefix}_5_joint" type="revolute">
<parent link="leg_${prefix}_4_link"/>
<child link="leg_${prefix}_5_link"/>
<origin xyz="0.00000 0.00000 -0.32500"
<origin xyz="0.00000 0.00000 -0.32500"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="0 1 0" />
<limit lower="-1.309" upper="0.768" effort="160" velocity="5.8" />
<limit lower="-1.27" upper="0.68" effort="160" velocity="5.8" />
<dynamics friction="${leg_friction}" damping="${leg_damping}"/>
</joint>
<!-- Joint ankle_x (mesh link) : child link None -> parent link ankle_y -->
<link name="leg_${prefix}_6_link">
<inertial>
<origin xyz="-0.02087 -0.00019 -0.06059" rpy="0.00000 0.00000 0.00000"/>
<mass value="1.59457"/>
<inertia ixx="0.00383800000" ixy="0.00001600000" ixz="-0.00104100000"
iyy="0.00657200000" iyz="-0.00001700000"
izz="0.00504400000"/>
</inertial>
<xacro:call macro="leg_${prefix}_6_link_inertial" />
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://talos_description/meshes/v2/ankle_X_lo_res.stl" scale="1 ${reflect*1} 1"/>
<mesh filename="package://talos_data/meshes/v2/ankle_X_lo_res.stl" scale="1 ${reflect*1} 1"/>
</geometry>
<material name="Grey" />
</visual>
<!--
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://talos_description/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/>
</geometry>
</collision>
-->
<collision>
<origin xyz="0 0 -0.1" rpy="0 0 0" />
<geometry>
<box size="0.21 0.13 0.02"/>
</geometry>
</collision>
<xacro:talos_foot_collision />
</link>
<joint name="leg_${prefix}_6_joint" type="revolute">
<parent link="leg_${prefix}_5_link"/>
<child link="leg_${prefix}_6_link"/>
<origin xyz="0.00000 0.00000 0.00000"
<origin xyz="0.00000 0.00000 0.00000"
rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/>
<axis xyz="1 0 0" />
<limit lower="-0.5236" upper="0.5236" effort="100" velocity="4.8" />
<dynamics friction="${leg_friction}" damping="${leg_damping}"/>
</joint>
<!-- from here is copy paste -->
<link name="${prefix}_sole_link">
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
<mass value="0.01" />
<inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001" />
</inertial>
</link>
<joint name="leg_${prefix}_sole_fix_joint" type="fixed">
<xacro:call macro="${prefix}_sole_link_inertial" />
</link>
<joint name="leg_${prefix}_sole_fix_joint" type="fixed">
<parent link="leg_${prefix}_6_link" />
<child link="${prefix}_sole_link" />
<origin xyz="0.00 0.00 -0.107" rpy="0 0 0" />
<axis xyz="1 0 0" />
<dynamics friction="${leg_friction}" damping="${leg_damping}"/>
</joint>
</joint>
<xacro:talos_leg_simple_transmission side="${prefix}" number="1" reduction="${leg_reduction}" />
<xacro:talos_leg_simple_transmission side="${prefix}" number="2" reduction="${leg_reduction}" />
<xacro:talos_leg_simple_transmission side="${prefix}" number="3" reduction="${leg_reduction}" />
<xacro:talos_leg_simple_transmission side="${prefix}" number="4" reduction="${leg_reduction}" />
<xacro:talos_leg_simple_transmission side="${prefix}" number="5" reduction="${leg_reduction}" />
<xacro:talos_leg_simple_transmission side="${prefix}" number="6" reduction="${leg_reduction}" />
<gazebo reference="leg_${prefix}_1_link">
<mu1>0.9</mu1>
<mu2>0.9</mu2>
......@@ -293,7 +238,7 @@
<mu1>0.9</mu1>
<mu2>0.9</mu2>
</gazebo>
<!-- contact model for foot surface -->
<gazebo reference="leg_${prefix}_6_link">
<kp>1000000.0</kp>
......@@ -345,6 +290,6 @@
<material>Gazebo/White</material>
</gazebo>
</xacro:macro>
</xacro:macro>
</robot>