From bda5696536cfee93fcd295d5bab1dd11ac63d21f Mon Sep 17 00:00:00 2001 From: Olivier Stasse <ostasse@laas.fr> Date: Wed, 9 Oct 2019 07:54:10 +0200 Subject: [PATCH] Introduces talos_gazebo with flexibilities. --- CMakeLists.txt | 19 +- config/collision_parameters.yaml | 2204 +++++++++++++++++ config/default_configuration_hanging.yaml | 56 + config/default_configuration_locomotion.yaml | 54 + config/default_configuration_zeros.yaml | 54 + config/rviz.rviz | 755 ++++++ config/talos_plotjuggler.xml | 1329 ++++++++++ launch/talos_gazebo.launch | 48 + launch/talos_spawn.launch | 23 + package.xml | 4 +- robots/talos_full_no_grippers.urdf.xacro | 18 +- robots/talos_full_v1.urdf.xacro | 20 +- robots/talos_full_v2.urdf.xacro | 28 +- robots/talos_lower_body.urdf.xacro | 14 +- robots/upload.launch | 16 +- robots/upload_talos.launch | 2 +- src/SpringPlugin.cc | 78 + src/SpringPlugin.hh | 53 + urdf/arm/arm_v1.urdf.xacro | 24 +- urdf/arm/arm_v2.urdf.xacro | 24 +- urdf/arm/left_arm.transmissions.urdf.xacro | 2 +- urdf/arm/left_wrist.transmissions.urdf.xacro | 2 +- urdf/arm/right_arm.transmissions.urdf.xacro | 2 +- urdf/arm/right_wrist.transmissions.urdf.xacro | 2 +- urdf/arm/wrist.urdf.xacro | 18 +- urdf/crane/crane.urdf.xacro | 2 +- urdf/gripper/gripper.urdf.xacro | 38 +- urdf/head/head.urdf.xacro | 14 +- urdf/leg/foot_collision_default.urdf.xacro | 2 +- urdf/leg/leg.urdf.xacro | 24 +- urdf/leg/leg_passive.urdf.xacro | 341 +++ urdf/sensors/orbbec_astra_pro.urdf.xacro | 4 +- urdf/talos_full_common.urdf.xacro | 60 + urdf/talos_full_v2.urdf.xacro | 18 + urdf/torso/torso.urdf.xacro | 18 +- 35 files changed, 5237 insertions(+), 133 deletions(-) create mode 100644 config/collision_parameters.yaml create mode 100644 config/default_configuration_hanging.yaml create mode 100644 config/default_configuration_locomotion.yaml create mode 100644 config/default_configuration_zeros.yaml create mode 100644 config/rviz.rviz create mode 100644 config/talos_plotjuggler.xml create mode 100644 launch/talos_gazebo.launch create mode 100644 launch/talos_spawn.launch create mode 100644 src/SpringPlugin.cc create mode 100644 src/SpringPlugin.hh create mode 100644 urdf/leg/leg_passive.urdf.xacro create mode 100644 urdf/talos_full_common.urdf.xacro create mode 100644 urdf/talos_full_v2.urdf.xacro diff --git a/CMakeLists.txt b/CMakeLists.txt index 48d910d..bebae38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,8 +21,25 @@ catkin_package( # Find xml_reflection ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.9") +ADD_REQUIRED_DEPENDENCY("gazebo >= 7.12.0") +ADD_REQUIRED_DEPENDENCY(roscpp) -FOREACH(dir config gazebo meshes robots urdf srdf) +SET(LIBRARY_NAME ${PROJECT_NAME}) + +ADD_LIBRARY(SpringPlugin + SHARED + src/SpringPlugin.cc +) + +INSTALL(TARGETS + SpringPlugin + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + ) +PKG_CONFIG_USE_DEPENDENCY(SpringPlugin roscpp) +PKG_CONFIG_USE_DEPENDENCY(SpringPlugin gazebo) + +FOREACH(dir config gazebo meshes robots urdf srdf launch) INSTALL(DIRECTORY ${dir}/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) ENDFOREACH(dir) diff --git a/config/collision_parameters.yaml b/config/collision_parameters.yaml new file mode 100644 index 0000000..0e2f6fa --- /dev/null +++ b/config/collision_parameters.yaml @@ -0,0 +1,2204 @@ +collision_model_parameters: + padding: 0 + links_with_padding: [] + blacklist: + manual: + - first: gripper_left_fingertip_2_link + second: gripper_left_motor_double_link + - first: gripper_left_motor_double_link + second: gripper_left_motor_single_link + - first: gripper_left_inner_double_link + second: gripper_left_inner_single_link + - first: gripper_left_fingertip_1_link + second: gripper_left_motor_double_link + - first: gripper_left_inner_single_link + second: gripper_left_motor_double_link + - first: arm_left_5_link + second: wrist_left_ft_link + - first: arm_left_6_link + second: wrist_left_ft_link + + - first: gripper_right_fingertip_2_link + second: gripper_right_motor_double_link + - first: gripper_right_motor_double_link + second: gripper_right_motor_single_link + - first: gripper_right_inner_double_link + second: gripper_right_inner_single_link + - first: gripper_right_fingertip_1_link + second: gripper_right_motor_double_link + - first: gripper_right_inner_single_link + second: gripper_right_motor_double_link + - first: arm_right_5_link + second: wrist_right_ft_link + - first: arm_right_6_link + second: wrist_right_ft_link + + auto: + - first: arm_left_2_link + second: arm_left_1_link + - first: arm_left_3_link + second: arm_left_1_link + - first: arm_left_3_link + second: arm_left_2_link + - first: arm_left_4_link + second: arm_left_1_link + - first: arm_left_4_link + second: arm_left_2_link + - first: arm_left_4_link + second: arm_left_3_link + - first: arm_left_5_link + second: arm_left_1_link + - first: arm_left_5_link + second: arm_left_2_link + - first: arm_left_5_link + second: arm_left_3_link + - first: arm_left_5_link + second: arm_left_4_link + - first: arm_left_6_link + second: arm_left_1_link + - first: arm_left_6_link + second: arm_left_2_link + - first: arm_left_6_link + second: arm_left_3_link + - first: arm_left_6_link + second: arm_left_4_link + - first: arm_left_6_link + second: arm_left_5_link + - first: arm_left_7_link + second: arm_left_1_link + - first: arm_left_7_link + second: arm_left_2_link + - first: arm_left_7_link + second: arm_left_3_link + - first: arm_left_7_link + second: arm_left_4_link + - first: arm_left_7_link + second: arm_left_5_link + - first: arm_left_7_link + second: arm_left_6_link + - first: arm_right_1_link + second: arm_left_1_link + - first: arm_right_1_link + second: arm_left_2_link + - first: arm_right_1_link + second: arm_left_3_link + - first: arm_right_1_link + second: arm_left_4_link + - first: arm_right_1_link + second: arm_left_5_link + - first: arm_right_1_link + second: arm_left_6_link + - first: arm_right_1_link + second: arm_left_7_link + - first: arm_right_2_link + second: arm_left_1_link + - first: arm_right_2_link + second: arm_left_2_link + - first: arm_right_2_link + second: arm_left_3_link + - first: arm_right_2_link + second: arm_left_4_link + - first: arm_right_2_link + second: arm_left_5_link + - first: arm_right_2_link + second: arm_left_6_link + - first: arm_right_2_link + second: arm_right_1_link + - first: arm_right_3_link + second: arm_left_1_link + - first: arm_right_3_link + second: arm_left_2_link + - first: arm_right_3_link + second: arm_left_3_link + - first: arm_right_3_link + second: arm_left_4_link + - first: arm_right_3_link + second: arm_left_5_link + - first: arm_right_3_link + second: arm_left_6_link + - first: arm_right_3_link + second: arm_right_1_link + - first: arm_right_3_link + second: arm_right_2_link + - first: arm_right_4_link + second: arm_left_1_link + - first: arm_right_4_link + second: arm_left_2_link + - first: arm_right_4_link + second: arm_left_3_link + - first: arm_right_4_link + second: arm_left_4_link + - first: arm_right_4_link + second: arm_right_1_link + - first: arm_right_4_link + second: arm_right_2_link + - first: arm_right_4_link + second: arm_right_3_link + - first: arm_right_5_link + second: arm_left_1_link + - first: arm_right_5_link + second: arm_left_2_link + - first: arm_right_5_link + second: arm_left_3_link + - first: arm_right_5_link + second: arm_left_4_link + - first: arm_right_5_link + second: arm_right_1_link + - first: arm_right_5_link + second: arm_right_2_link + - first: arm_right_5_link + second: arm_right_3_link + - first: arm_right_5_link + second: arm_right_4_link + - first: arm_right_6_link + second: arm_left_1_link + - first: arm_right_6_link + second: arm_left_2_link + - first: arm_right_6_link + second: arm_left_3_link + - first: arm_right_6_link + second: arm_left_4_link + - first: arm_right_6_link + second: arm_right_1_link + - first: arm_right_6_link + second: arm_right_2_link + - first: arm_right_6_link + second: arm_right_3_link + - first: arm_right_6_link + second: arm_right_4_link + - first: arm_right_6_link + second: arm_right_5_link + - first: arm_right_7_link + second: arm_left_1_link + - first: arm_right_7_link + second: arm_left_3_link + - first: arm_right_7_link + second: arm_left_4_link + - first: arm_right_7_link + second: arm_right_1_link + - first: arm_right_7_link + second: arm_right_2_link + - first: arm_right_7_link + second: arm_right_3_link + - first: arm_right_7_link + second: arm_right_4_link + - first: arm_right_7_link + second: arm_right_5_link + - first: arm_right_7_link + second: arm_right_6_link + - first: base_link + second: arm_left_1_link + - first: base_link + second: arm_left_2_link + - first: base_link + second: arm_right_1_link + - first: base_link + second: arm_right_2_link + - first: crane_link + second: arm_left_1_link + - first: crane_link + second: arm_left_2_link + - first: crane_link + second: arm_right_1_link + - first: crane_link + second: arm_right_2_link + - first: crane_link + second: base_link + - first: gripper_left_base_link + second: arm_left_1_link + - first: gripper_left_base_link + second: arm_left_2_link + - first: gripper_left_base_link + second: arm_left_3_link + - first: gripper_left_base_link + second: arm_left_4_link + - first: gripper_left_base_link + second: arm_left_5_link + - first: gripper_left_base_link + second: arm_left_6_link + - first: gripper_left_base_link + second: arm_left_7_link + - first: gripper_left_fingertip_1_link + second: arm_left_2_link + - first: gripper_left_fingertip_1_link + second: arm_left_3_link + - first: gripper_left_fingertip_1_link + second: arm_left_4_link + - first: gripper_left_fingertip_1_link + second: arm_left_5_link + - first: gripper_left_fingertip_1_link + second: arm_left_6_link + - first: gripper_left_fingertip_1_link + second: arm_left_7_link + - first: gripper_left_fingertip_1_link + second: arm_right_6_link + - first: gripper_left_fingertip_1_link + second: arm_right_7_link + - first: gripper_left_fingertip_1_link + second: gripper_left_base_link + - first: gripper_left_fingertip_2_link + second: arm_left_2_link + - first: gripper_left_fingertip_2_link + second: arm_left_3_link + - first: gripper_left_fingertip_2_link + second: arm_left_4_link + - first: gripper_left_fingertip_2_link + second: arm_left_5_link + - first: gripper_left_fingertip_2_link + second: arm_left_6_link + - first: gripper_left_fingertip_2_link + second: arm_left_7_link + - first: gripper_left_fingertip_2_link + second: arm_right_6_link + - first: gripper_left_fingertip_2_link + second: gripper_left_base_link + - first: gripper_left_fingertip_2_link + second: gripper_left_fingertip_1_link + - first: gripper_left_fingertip_3_link + second: arm_left_2_link + - first: gripper_left_fingertip_3_link + second: arm_left_3_link + - first: gripper_left_fingertip_3_link + second: arm_left_4_link + - first: gripper_left_fingertip_3_link + second: arm_left_5_link + - first: gripper_left_fingertip_3_link + second: arm_left_6_link + - first: gripper_left_fingertip_3_link + second: arm_left_7_link + - first: gripper_left_fingertip_3_link + second: arm_right_6_link + - first: gripper_left_fingertip_3_link + second: gripper_left_base_link + - first: gripper_left_fingertip_3_link + second: gripper_left_fingertip_1_link + - first: gripper_left_fingertip_3_link + second: gripper_left_fingertip_2_link + - first: gripper_left_inner_double_link + second: arm_left_2_link + - first: gripper_left_inner_double_link + second: arm_left_3_link + - first: gripper_left_inner_double_link + second: arm_left_4_link + - first: gripper_left_inner_double_link + second: arm_left_5_link + - first: gripper_left_inner_double_link + second: arm_left_6_link + - first: gripper_left_inner_double_link + second: arm_left_7_link + - first: gripper_left_inner_double_link + second: arm_right_6_link + - first: gripper_left_inner_double_link + second: arm_right_7_link + - first: gripper_left_inner_double_link + second: gripper_left_base_link + - first: gripper_left_inner_double_link + second: gripper_left_fingertip_1_link + - first: gripper_left_inner_double_link + second: gripper_left_fingertip_2_link + - first: gripper_left_inner_double_link + second: gripper_left_fingertip_3_link + - first: gripper_left_inner_single_link + second: arm_left_2_link + - first: gripper_left_inner_single_link + second: arm_left_3_link + - first: gripper_left_inner_single_link + second: arm_left_4_link + - first: gripper_left_inner_single_link + second: arm_left_5_link + - first: gripper_left_inner_single_link + second: arm_left_6_link + - first: gripper_left_inner_single_link + second: arm_left_7_link + - first: gripper_left_inner_single_link + second: arm_right_6_link + - first: gripper_left_inner_single_link + second: gripper_left_base_link + - first: gripper_left_inner_single_link + second: gripper_left_fingertip_1_link + - first: gripper_left_inner_single_link + second: gripper_left_fingertip_2_link + - first: gripper_left_inner_single_link + second: gripper_left_fingertip_3_link + - first: gripper_left_motor_double_link + second: arm_left_2_link + - first: gripper_left_motor_double_link + second: arm_left_3_link + - first: gripper_left_motor_double_link + second: arm_left_4_link + - first: gripper_left_motor_double_link + second: arm_left_5_link + - first: gripper_left_motor_double_link + second: arm_left_6_link + - first: gripper_left_motor_double_link + second: arm_left_7_link + - first: gripper_left_motor_double_link + second: gripper_left_base_link + - first: gripper_left_motor_double_link + second: gripper_left_fingertip_3_link + - first: gripper_left_motor_double_link + second: gripper_left_inner_double_link + - first: gripper_left_motor_single_link + second: arm_left_2_link + - first: gripper_left_motor_single_link + second: arm_left_3_link + - first: gripper_left_motor_single_link + second: arm_left_4_link + - first: gripper_left_motor_single_link + second: arm_left_5_link + - first: gripper_left_motor_single_link + second: arm_left_6_link + - first: gripper_left_motor_single_link + second: arm_left_7_link + - first: gripper_left_motor_single_link + second: gripper_left_base_link + - first: gripper_left_motor_single_link + second: gripper_left_fingertip_1_link + - first: gripper_left_motor_single_link + second: gripper_left_fingertip_2_link + - first: gripper_left_motor_single_link + second: gripper_left_fingertip_3_link + - first: gripper_left_motor_single_link + second: gripper_left_inner_double_link + - first: gripper_left_motor_single_link + second: gripper_left_inner_single_link + - first: gripper_right_base_link + second: arm_left_1_link + - first: gripper_right_base_link + second: arm_right_1_link + - first: gripper_right_base_link + second: arm_right_2_link + - first: gripper_right_base_link + second: arm_right_3_link + - first: gripper_right_base_link + second: arm_right_4_link + - first: gripper_right_base_link + second: arm_right_5_link + - first: gripper_right_base_link + second: arm_right_6_link + - first: gripper_right_base_link + second: arm_right_7_link + - first: gripper_right_base_link + second: gripper_left_fingertip_3_link + - first: gripper_right_fingertip_1_link + second: arm_left_6_link + - first: gripper_right_fingertip_1_link + second: arm_left_7_link + - first: gripper_right_fingertip_1_link + second: arm_right_2_link + - first: gripper_right_fingertip_1_link + second: arm_right_3_link + - first: gripper_right_fingertip_1_link + second: arm_right_4_link + - first: gripper_right_fingertip_1_link + second: arm_right_5_link + - first: gripper_right_fingertip_1_link + second: arm_right_6_link + - first: gripper_right_fingertip_1_link + second: arm_right_7_link + - first: gripper_right_fingertip_1_link + second: gripper_left_fingertip_1_link + - first: gripper_right_fingertip_1_link + second: gripper_left_fingertip_2_link + - first: gripper_right_fingertip_1_link + second: gripper_left_fingertip_3_link + - first: gripper_right_fingertip_1_link + second: gripper_right_base_link + - first: gripper_right_fingertip_2_link + second: arm_left_6_link + - first: gripper_right_fingertip_2_link + second: arm_right_2_link + - first: gripper_right_fingertip_2_link + second: arm_right_3_link + - first: gripper_right_fingertip_2_link + second: arm_right_4_link + - first: gripper_right_fingertip_2_link + second: arm_right_5_link + - first: gripper_right_fingertip_2_link + second: arm_right_6_link + - first: gripper_right_fingertip_2_link + second: arm_right_7_link + - first: gripper_right_fingertip_2_link + second: gripper_left_fingertip_1_link + - first: gripper_right_fingertip_2_link + second: gripper_left_fingertip_2_link + - first: gripper_right_fingertip_2_link + second: gripper_left_fingertip_3_link + - first: gripper_right_fingertip_2_link + second: gripper_left_inner_single_link + - first: gripper_right_fingertip_2_link + second: gripper_left_motor_single_link + - first: gripper_right_fingertip_2_link + second: gripper_right_base_link + - first: gripper_right_fingertip_2_link + second: gripper_right_fingertip_1_link + - first: gripper_right_fingertip_3_link + second: arm_right_2_link + - first: gripper_right_fingertip_3_link + second: arm_right_3_link + - first: gripper_right_fingertip_3_link + second: arm_right_4_link + - first: gripper_right_fingertip_3_link + second: arm_right_5_link + - first: gripper_right_fingertip_3_link + second: arm_right_6_link + - first: gripper_right_fingertip_3_link + second: arm_right_7_link + - first: gripper_right_fingertip_3_link + second: gripper_left_base_link + - first: gripper_right_fingertip_3_link + second: gripper_left_fingertip_1_link + - first: gripper_right_fingertip_3_link + second: gripper_left_fingertip_3_link + - first: gripper_right_fingertip_3_link + second: gripper_left_motor_double_link + - first: gripper_right_fingertip_3_link + second: gripper_right_base_link + - first: gripper_right_fingertip_3_link + second: gripper_right_fingertip_1_link + - first: gripper_right_fingertip_3_link + second: gripper_right_fingertip_2_link + - first: gripper_right_inner_double_link + second: arm_left_6_link + - first: gripper_right_inner_double_link + second: arm_right_2_link + - first: gripper_right_inner_double_link + second: arm_right_3_link + - first: gripper_right_inner_double_link + second: arm_right_4_link + - first: gripper_right_inner_double_link + second: arm_right_5_link + - first: gripper_right_inner_double_link + second: arm_right_6_link + - first: gripper_right_inner_double_link + second: arm_right_7_link + - first: gripper_right_inner_double_link + second: gripper_left_fingertip_3_link + - first: gripper_right_inner_double_link + second: gripper_left_inner_single_link + - first: gripper_right_inner_double_link + second: gripper_right_base_link + - first: gripper_right_inner_double_link + second: gripper_right_fingertip_1_link + - first: gripper_right_inner_double_link + second: gripper_right_fingertip_2_link + - first: gripper_right_inner_double_link + second: gripper_right_fingertip_3_link + - first: gripper_right_inner_single_link + second: arm_right_2_link + - first: gripper_right_inner_single_link + second: arm_right_3_link + - first: gripper_right_inner_single_link + second: arm_right_4_link + - first: gripper_right_inner_single_link + second: arm_right_5_link + - first: gripper_right_inner_single_link + second: arm_right_6_link + - first: gripper_right_inner_single_link + second: arm_right_7_link + - first: gripper_right_inner_single_link + second: gripper_left_fingertip_1_link + - first: gripper_right_inner_single_link + second: gripper_right_base_link + - first: gripper_right_inner_single_link + second: gripper_right_fingertip_1_link + - first: gripper_right_inner_single_link + second: gripper_right_fingertip_2_link + - first: gripper_right_inner_single_link + second: gripper_right_fingertip_3_link + - first: gripper_right_motor_double_link + second: arm_right_2_link + - first: gripper_right_motor_double_link + second: arm_right_3_link + - first: gripper_right_motor_double_link + second: arm_right_4_link + - first: gripper_right_motor_double_link + second: arm_right_5_link + - first: gripper_right_motor_double_link + second: arm_right_6_link + - first: gripper_right_motor_double_link + second: arm_right_7_link + - first: gripper_right_motor_double_link + second: gripper_left_fingertip_3_link + - first: gripper_right_motor_double_link + second: gripper_left_inner_single_link + - first: gripper_right_motor_double_link + second: gripper_right_base_link + - first: gripper_right_motor_double_link + second: gripper_right_fingertip_3_link + - first: gripper_right_motor_double_link + second: gripper_right_inner_double_link + - first: gripper_right_motor_single_link + second: arm_right_2_link + - first: gripper_right_motor_single_link + second: arm_right_3_link + - first: gripper_right_motor_single_link + second: arm_right_4_link + - first: gripper_right_motor_single_link + second: arm_right_5_link + - first: gripper_right_motor_single_link + second: arm_right_6_link + - first: gripper_right_motor_single_link + second: arm_right_7_link + - first: gripper_right_motor_single_link + second: gripper_left_base_link + - first: gripper_right_motor_single_link + second: gripper_left_fingertip_1_link + - first: gripper_right_motor_single_link + second: gripper_left_fingertip_2_link + - first: gripper_right_motor_single_link + second: gripper_left_inner_double_link + - first: gripper_right_motor_single_link + second: gripper_left_motor_double_link + - first: gripper_right_motor_single_link + second: gripper_left_motor_single_link + - first: gripper_right_motor_single_link + second: gripper_right_base_link + - first: gripper_right_motor_single_link + second: gripper_right_fingertip_1_link + - first: gripper_right_motor_single_link + second: gripper_right_fingertip_2_link + - first: gripper_right_motor_single_link + second: gripper_right_fingertip_3_link + - first: gripper_right_motor_single_link + second: gripper_right_inner_double_link + - first: gripper_right_motor_single_link + second: gripper_right_inner_single_link + - first: head_1_link + second: arm_left_1_link + - first: head_1_link + second: arm_left_2_link + - first: head_1_link + second: arm_left_3_link + - first: head_1_link + second: arm_left_4_link + - first: head_1_link + second: arm_right_1_link + - first: head_1_link + second: arm_right_2_link + - first: head_1_link + second: arm_right_3_link + - first: head_1_link + second: arm_right_4_link + - first: head_1_link + second: base_link + - first: head_1_link + second: crane_link + - first: head_2_link + second: arm_left_1_link + - first: head_2_link + second: arm_left_4_link + - first: head_2_link + second: arm_right_1_link + - first: head_2_link + second: base_link + - first: head_2_link + second: crane_link + - first: head_2_link + second: head_1_link + - first: imu_link + second: arm_left_1_link + - first: imu_link + second: arm_left_2_link + - first: imu_link + second: arm_left_3_link + - first: imu_link + second: arm_left_4_link + - first: imu_link + second: arm_left_5_link + - first: imu_link + second: arm_left_6_link + - first: imu_link + second: arm_left_7_link + - first: imu_link + second: arm_right_1_link + - first: imu_link + second: arm_right_2_link + - first: imu_link + second: arm_right_3_link + - first: imu_link + second: arm_right_4_link + - first: imu_link + second: arm_right_5_link + - first: imu_link + second: arm_right_6_link + - first: imu_link + second: arm_right_7_link + - first: imu_link + second: base_link + - first: imu_link + second: crane_link + - first: imu_link + second: gripper_left_base_link + - first: imu_link + second: gripper_left_fingertip_1_link + - first: imu_link + second: gripper_left_fingertip_2_link + - first: imu_link + second: gripper_left_fingertip_3_link + - first: imu_link + second: gripper_left_inner_double_link + - first: imu_link + second: gripper_left_inner_single_link + - first: imu_link + second: gripper_left_motor_double_link + - first: imu_link + second: gripper_left_motor_single_link + - first: imu_link + second: gripper_right_base_link + - first: imu_link + second: gripper_right_fingertip_1_link + - first: imu_link + second: gripper_right_fingertip_2_link + - first: imu_link + second: gripper_right_fingertip_3_link + - first: imu_link + second: gripper_right_inner_double_link + - first: imu_link + second: gripper_right_inner_single_link + - first: imu_link + second: gripper_right_motor_double_link + - first: imu_link + second: gripper_right_motor_single_link + - first: imu_link + second: head_1_link + - first: imu_link + second: head_2_link + - first: left_sole_link + second: arm_left_1_link + - first: left_sole_link + second: arm_left_2_link + - first: left_sole_link + second: arm_left_3_link + - first: left_sole_link + second: arm_left_4_link + - first: left_sole_link + second: arm_left_5_link + - first: left_sole_link + second: arm_left_6_link + - first: left_sole_link + second: arm_left_7_link + - first: left_sole_link + second: arm_right_1_link + - first: left_sole_link + second: arm_right_2_link + - first: left_sole_link + second: arm_right_3_link + - first: left_sole_link + second: arm_right_4_link + - first: left_sole_link + second: arm_right_5_link + - first: left_sole_link + second: arm_right_6_link + - first: left_sole_link + second: arm_right_7_link + - first: left_sole_link + second: base_link + - first: left_sole_link + second: crane_link + - first: left_sole_link + second: gripper_left_base_link + - first: left_sole_link + second: gripper_left_fingertip_1_link + - first: left_sole_link + second: gripper_left_fingertip_2_link + - first: left_sole_link + second: gripper_left_fingertip_3_link + - first: left_sole_link + second: gripper_left_inner_double_link + - first: left_sole_link + second: gripper_left_inner_single_link + - first: left_sole_link + second: gripper_left_motor_double_link + - first: left_sole_link + second: gripper_left_motor_single_link + - first: left_sole_link + second: gripper_right_base_link + - first: left_sole_link + second: gripper_right_fingertip_1_link + - first: left_sole_link + second: gripper_right_fingertip_2_link + - first: left_sole_link + second: gripper_right_fingertip_3_link + - first: left_sole_link + second: gripper_right_inner_double_link + - first: left_sole_link + second: gripper_right_inner_single_link + - first: left_sole_link + second: gripper_right_motor_double_link + - first: left_sole_link + second: gripper_right_motor_single_link + - first: left_sole_link + second: head_1_link + - first: left_sole_link + second: head_2_link + - first: left_sole_link + second: imu_link + - first: leg_left_1_link + second: arm_left_1_link + - first: leg_left_1_link + second: arm_left_2_link + - first: leg_left_1_link + second: arm_left_3_link + - first: leg_left_1_link + second: arm_left_4_link + - first: leg_left_1_link + second: arm_right_1_link + - first: leg_left_1_link + second: arm_right_2_link + - first: leg_left_1_link + second: arm_right_3_link + - first: leg_left_1_link + second: arm_right_4_link + - first: leg_left_1_link + second: base_link + - first: leg_left_1_link + second: crane_link + - first: leg_left_1_link + second: head_1_link + - first: leg_left_1_link + second: head_2_link + - first: leg_left_1_link + second: imu_link + - first: leg_left_1_link + second: left_sole_link + - first: leg_left_2_link + second: arm_left_1_link + - first: leg_left_2_link + second: arm_left_2_link + - first: leg_left_2_link + second: arm_left_3_link + - first: leg_left_2_link + second: arm_left_4_link + - first: leg_left_2_link + second: arm_right_1_link + - first: leg_left_2_link + second: arm_right_2_link + - first: leg_left_2_link + second: arm_right_3_link + - first: leg_left_2_link + second: arm_right_4_link + - first: leg_left_2_link + second: arm_right_5_link + - first: leg_left_2_link + second: arm_right_6_link + - first: leg_left_2_link + second: base_link + - first: leg_left_2_link + second: crane_link + - first: leg_left_2_link + second: head_1_link + - first: leg_left_2_link + second: head_2_link + - first: leg_left_2_link + second: imu_link + - first: leg_left_2_link + second: left_sole_link + - first: leg_left_2_link + second: leg_left_1_link + - first: leg_left_3_link + second: arm_left_1_link + - first: leg_left_3_link + second: arm_left_2_link + - first: leg_left_3_link + second: arm_right_1_link + - first: leg_left_3_link + second: arm_right_2_link + - first: leg_left_3_link + second: arm_right_3_link + - first: leg_left_3_link + second: crane_link + - first: leg_left_3_link + second: head_1_link + - first: leg_left_3_link + second: head_2_link + - first: leg_left_3_link + second: imu_link + - first: leg_left_3_link + second: left_sole_link + - first: leg_left_3_link + second: leg_left_1_link + - first: leg_left_3_link + second: leg_left_2_link + - first: leg_left_4_link + second: arm_left_1_link + - first: leg_left_4_link + second: arm_left_2_link + - first: leg_left_4_link + second: arm_right_1_link + - first: leg_left_4_link + second: arm_right_2_link + - first: leg_left_4_link + second: arm_right_3_link + - first: leg_left_4_link + second: arm_right_4_link + - first: leg_left_4_link + second: crane_link + - first: leg_left_4_link + second: head_1_link + - first: leg_left_4_link + second: head_2_link + - first: leg_left_4_link + second: imu_link + - first: leg_left_4_link + second: left_sole_link + - first: leg_left_4_link + second: leg_left_1_link + - first: leg_left_4_link + second: leg_left_2_link + - first: leg_left_4_link + second: leg_left_3_link + - first: leg_left_5_link + second: arm_left_1_link + - first: leg_left_5_link + second: arm_left_2_link + - first: leg_left_5_link + second: arm_left_3_link + - first: leg_left_5_link + second: arm_left_4_link + - first: leg_left_5_link + second: arm_left_6_link + - first: leg_left_5_link + second: arm_right_1_link + - first: leg_left_5_link + second: arm_right_2_link + - first: leg_left_5_link + second: arm_right_3_link + - first: leg_left_5_link + second: arm_right_4_link + - first: leg_left_5_link + second: arm_right_5_link + - first: leg_left_5_link + second: arm_right_6_link + - first: leg_left_5_link + second: arm_right_7_link + - first: leg_left_5_link + second: crane_link + - first: leg_left_5_link + second: gripper_right_fingertip_2_link + - first: leg_left_5_link + second: head_1_link + - first: leg_left_5_link + second: head_2_link + - first: leg_left_5_link + second: imu_link + - first: leg_left_5_link + second: left_sole_link + - first: leg_left_5_link + second: leg_left_1_link + - first: leg_left_5_link + second: leg_left_2_link + - first: leg_left_5_link + second: leg_left_3_link + - first: leg_left_5_link + second: leg_left_4_link + - first: leg_left_6_link + second: arm_left_1_link + - first: leg_left_6_link + second: arm_left_2_link + - first: leg_left_6_link + second: arm_left_3_link + - first: leg_left_6_link + second: arm_left_4_link + - first: leg_left_6_link + second: arm_left_6_link + - first: leg_left_6_link + second: arm_right_1_link + - first: leg_left_6_link + second: arm_right_2_link + - first: leg_left_6_link + second: arm_right_3_link + - first: leg_left_6_link + second: arm_right_4_link + - first: leg_left_6_link + second: crane_link + - first: leg_left_6_link + second: head_1_link + - first: leg_left_6_link + second: head_2_link + - first: leg_left_6_link + second: imu_link + - first: leg_left_6_link + second: left_sole_link + - first: leg_left_6_link + second: leg_left_4_link + - first: leg_left_6_link + second: leg_left_5_link + - first: leg_right_1_link + second: arm_left_1_link + - first: leg_right_1_link + second: arm_left_2_link + - first: leg_right_1_link + second: arm_left_3_link + - first: leg_right_1_link + second: arm_left_4_link + - first: leg_right_1_link + second: arm_right_1_link + - first: leg_right_1_link + second: arm_right_2_link + - first: leg_right_1_link + second: arm_right_3_link + - first: leg_right_1_link + second: arm_right_4_link + - first: leg_right_1_link + second: base_link + - first: leg_right_1_link + second: crane_link + - first: leg_right_1_link + second: head_1_link + - first: leg_right_1_link + second: head_2_link + - first: leg_right_1_link + second: imu_link + - first: leg_right_1_link + second: left_sole_link + - first: leg_right_1_link + second: leg_left_2_link + - first: leg_right_2_link + second: arm_left_1_link + - first: leg_right_2_link + second: arm_left_2_link + - first: leg_right_2_link + second: arm_left_3_link + - first: leg_right_2_link + second: arm_left_4_link + - first: leg_right_2_link + second: arm_left_5_link + - first: leg_right_2_link + second: arm_left_6_link + - first: leg_right_2_link + second: arm_right_1_link + - first: leg_right_2_link + second: arm_right_2_link + - first: leg_right_2_link + second: arm_right_3_link + - first: leg_right_2_link + second: arm_right_4_link + - first: leg_right_2_link + second: crane_link + - first: leg_right_2_link + second: head_1_link + - first: leg_right_2_link + second: head_2_link + - first: leg_right_2_link + second: imu_link + - first: leg_right_2_link + second: left_sole_link + - first: leg_right_2_link + second: leg_left_1_link + - first: leg_right_2_link + second: leg_left_2_link + - first: leg_right_2_link + second: leg_right_1_link + - first: leg_right_3_link + second: arm_left_1_link + - first: leg_right_3_link + second: arm_left_2_link + - first: leg_right_3_link + second: arm_right_1_link + - first: leg_right_3_link + second: arm_right_2_link + - first: leg_right_3_link + second: head_1_link + - first: leg_right_3_link + second: head_2_link + - first: leg_right_3_link + second: imu_link + - first: leg_right_3_link + second: left_sole_link + - first: leg_right_3_link + second: leg_right_1_link + - first: leg_right_3_link + second: leg_right_2_link + - first: leg_right_4_link + second: arm_left_1_link + - first: leg_right_4_link + second: arm_left_2_link + - first: leg_right_4_link + second: arm_right_1_link + - first: leg_right_4_link + second: arm_right_2_link + - first: leg_right_4_link + second: base_link + - first: leg_right_4_link + second: head_1_link + - first: leg_right_4_link + second: head_2_link + - first: leg_right_4_link + second: imu_link + - first: leg_right_4_link + second: left_sole_link + - first: leg_right_4_link + second: leg_right_1_link + - first: leg_right_4_link + second: leg_right_2_link + - first: leg_right_4_link + second: leg_right_3_link + - first: leg_right_5_link + second: arm_left_1_link + - first: leg_right_5_link + second: arm_left_2_link + - first: leg_right_5_link + second: arm_left_3_link + - first: leg_right_5_link + second: arm_left_4_link + - first: leg_right_5_link + second: arm_left_6_link + - first: leg_right_5_link + second: arm_right_1_link + - first: leg_right_5_link + second: arm_right_2_link + - first: leg_right_5_link + second: arm_right_3_link + - first: leg_right_5_link + second: arm_right_4_link + - first: leg_right_5_link + second: crane_link + - first: leg_right_5_link + second: gripper_left_base_link + - first: leg_right_5_link + second: gripper_left_inner_double_link + - first: leg_right_5_link + second: gripper_left_motor_double_link + - first: leg_right_5_link + second: head_1_link + - first: leg_right_5_link + second: head_2_link + - first: leg_right_5_link + second: imu_link + - first: leg_right_5_link + second: left_sole_link + - first: leg_right_5_link + second: leg_right_1_link + - first: leg_right_5_link + second: leg_right_2_link + - first: leg_right_5_link + second: leg_right_3_link + - first: leg_right_5_link + second: leg_right_4_link + - first: leg_right_6_link + second: arm_left_1_link + - first: leg_right_6_link + second: arm_left_2_link + - first: leg_right_6_link + second: arm_right_1_link + - first: leg_right_6_link + second: arm_right_2_link + - first: leg_right_6_link + second: arm_right_3_link + - first: leg_right_6_link + second: crane_link + - first: leg_right_6_link + second: head_1_link + - first: leg_right_6_link + second: head_2_link + - first: leg_right_6_link + second: imu_link + - first: leg_right_6_link + second: left_sole_link + - first: leg_right_6_link + second: leg_right_4_link + - first: leg_right_6_link + second: leg_right_5_link + - first: rgbd_depth_frame + second: arm_left_1_link + - first: rgbd_depth_frame + second: arm_left_2_link + - first: rgbd_depth_frame + second: arm_left_3_link + - first: rgbd_depth_frame + second: arm_left_4_link + - first: rgbd_depth_frame + second: arm_left_5_link + - first: rgbd_depth_frame + second: arm_left_6_link + - first: rgbd_depth_frame + second: arm_left_7_link + - first: rgbd_depth_frame + second: arm_right_1_link + - first: rgbd_depth_frame + second: arm_right_2_link + - first: rgbd_depth_frame + second: arm_right_3_link + - first: rgbd_depth_frame + second: arm_right_4_link + - first: rgbd_depth_frame + second: arm_right_5_link + - first: rgbd_depth_frame + second: arm_right_6_link + - first: rgbd_depth_frame + second: arm_right_7_link + - first: rgbd_depth_frame + second: base_link + - first: rgbd_depth_frame + second: crane_link + - first: rgbd_depth_frame + second: gripper_left_base_link + - first: rgbd_depth_frame + second: gripper_left_fingertip_1_link + - first: rgbd_depth_frame + second: gripper_left_fingertip_2_link + - first: rgbd_depth_frame + second: gripper_left_fingertip_3_link + - first: rgbd_depth_frame + second: gripper_left_inner_double_link + - first: rgbd_depth_frame + second: gripper_left_inner_single_link + - first: rgbd_depth_frame + second: gripper_left_motor_double_link + - first: rgbd_depth_frame + second: gripper_left_motor_single_link + - first: rgbd_depth_frame + second: gripper_right_base_link + - first: rgbd_depth_frame + second: gripper_right_fingertip_1_link + - first: rgbd_depth_frame + second: gripper_right_fingertip_2_link + - first: rgbd_depth_frame + second: gripper_right_fingertip_3_link + - first: rgbd_depth_frame + second: gripper_right_inner_double_link + - first: rgbd_depth_frame + second: gripper_right_inner_single_link + - first: rgbd_depth_frame + second: gripper_right_motor_double_link + - first: rgbd_depth_frame + second: gripper_right_motor_single_link + - first: rgbd_depth_frame + second: head_1_link + - first: rgbd_depth_frame + second: head_2_link + - first: rgbd_depth_frame + second: imu_link + - first: rgbd_depth_frame + second: left_sole_link + - first: rgbd_depth_frame + second: leg_left_1_link + - first: rgbd_depth_frame + second: leg_left_2_link + - first: rgbd_depth_frame + second: leg_left_3_link + - first: rgbd_depth_frame + second: leg_left_4_link + - first: rgbd_depth_frame + second: leg_left_5_link + - first: rgbd_depth_frame + second: leg_left_6_link + - first: rgbd_depth_frame + second: leg_right_1_link + - first: rgbd_depth_frame + second: leg_right_2_link + - first: rgbd_depth_frame + second: leg_right_3_link + - first: rgbd_depth_frame + second: leg_right_4_link + - first: rgbd_depth_frame + second: leg_right_5_link + - first: rgbd_depth_frame + second: leg_right_6_link + - first: rgbd_depth_optical_frame + second: arm_left_1_link + - first: rgbd_depth_optical_frame + second: arm_left_2_link + - first: rgbd_depth_optical_frame + second: arm_left_3_link + - first: rgbd_depth_optical_frame + second: arm_left_4_link + - first: rgbd_depth_optical_frame + second: arm_left_5_link + - first: rgbd_depth_optical_frame + second: arm_left_6_link + - first: rgbd_depth_optical_frame + second: arm_left_7_link + - first: rgbd_depth_optical_frame + second: arm_right_1_link + - first: rgbd_depth_optical_frame + second: arm_right_2_link + - first: rgbd_depth_optical_frame + second: arm_right_3_link + - first: rgbd_depth_optical_frame + second: arm_right_4_link + - first: rgbd_depth_optical_frame + second: arm_right_5_link + - first: rgbd_depth_optical_frame + second: arm_right_6_link + - first: rgbd_depth_optical_frame + second: arm_right_7_link + - first: rgbd_depth_optical_frame + second: base_link + - first: rgbd_depth_optical_frame + second: crane_link + - first: rgbd_depth_optical_frame + second: gripper_left_base_link + - first: rgbd_depth_optical_frame + second: gripper_left_fingertip_1_link + - first: rgbd_depth_optical_frame + second: gripper_left_fingertip_2_link + - first: rgbd_depth_optical_frame + second: gripper_left_fingertip_3_link + - first: rgbd_depth_optical_frame + second: gripper_left_inner_double_link + - first: rgbd_depth_optical_frame + second: gripper_left_inner_single_link + - first: rgbd_depth_optical_frame + second: gripper_left_motor_double_link + - first: rgbd_depth_optical_frame + second: gripper_left_motor_single_link + - first: rgbd_depth_optical_frame + second: gripper_right_base_link + - first: rgbd_depth_optical_frame + second: gripper_right_fingertip_1_link + - first: rgbd_depth_optical_frame + second: gripper_right_fingertip_2_link + - first: rgbd_depth_optical_frame + second: gripper_right_fingertip_3_link + - first: rgbd_depth_optical_frame + second: gripper_right_inner_double_link + - first: rgbd_depth_optical_frame + second: gripper_right_inner_single_link + - first: rgbd_depth_optical_frame + second: gripper_right_motor_double_link + - first: rgbd_depth_optical_frame + second: gripper_right_motor_single_link + - first: rgbd_depth_optical_frame + second: head_1_link + - first: rgbd_depth_optical_frame + second: head_2_link + - first: rgbd_depth_optical_frame + second: imu_link + - first: rgbd_depth_optical_frame + second: left_sole_link + - first: rgbd_depth_optical_frame + second: leg_left_1_link + - first: rgbd_depth_optical_frame + second: leg_left_2_link + - first: rgbd_depth_optical_frame + second: leg_left_3_link + - first: rgbd_depth_optical_frame + second: leg_left_4_link + - first: rgbd_depth_optical_frame + second: leg_left_5_link + - first: rgbd_depth_optical_frame + second: leg_left_6_link + - first: rgbd_depth_optical_frame + second: leg_right_1_link + - first: rgbd_depth_optical_frame + second: leg_right_2_link + - first: rgbd_depth_optical_frame + second: leg_right_3_link + - first: rgbd_depth_optical_frame + second: leg_right_4_link + - first: rgbd_depth_optical_frame + second: leg_right_5_link + - first: rgbd_depth_optical_frame + second: leg_right_6_link + - first: rgbd_depth_optical_frame + second: rgbd_depth_frame + - first: rgbd_link + second: arm_left_1_link + - first: rgbd_link + second: arm_left_4_link + - first: rgbd_link + second: arm_right_1_link + - first: rgbd_link + second: arm_right_4_link + - first: rgbd_link + second: base_link + - first: rgbd_link + second: crane_link + - first: rgbd_link + second: gripper_right_fingertip_2_link + - first: rgbd_link + second: head_1_link + - first: rgbd_link + second: head_2_link + - first: rgbd_link + second: imu_link + - first: rgbd_link + second: left_sole_link + - first: rgbd_link + second: leg_left_1_link + - first: rgbd_link + second: leg_left_2_link + - first: rgbd_link + second: leg_left_3_link + - first: rgbd_link + second: leg_left_4_link + - first: rgbd_link + second: leg_left_5_link + - first: rgbd_link + second: leg_left_6_link + - first: rgbd_link + second: leg_right_1_link + - first: rgbd_link + second: leg_right_2_link + - first: rgbd_link + second: leg_right_3_link + - first: rgbd_link + second: leg_right_4_link + - first: rgbd_link + second: leg_right_5_link + - first: rgbd_link + second: leg_right_6_link + - first: rgbd_link + second: rgbd_depth_frame + - first: rgbd_link + second: rgbd_depth_optical_frame + - first: rgbd_optical_frame + second: arm_left_1_link + - first: rgbd_optical_frame + second: arm_left_2_link + - first: rgbd_optical_frame + second: arm_left_3_link + - first: rgbd_optical_frame + second: arm_left_4_link + - first: rgbd_optical_frame + second: arm_left_5_link + - first: rgbd_optical_frame + second: arm_left_6_link + - first: rgbd_optical_frame + second: arm_left_7_link + - first: rgbd_optical_frame + second: arm_right_1_link + - first: rgbd_optical_frame + second: arm_right_2_link + - first: rgbd_optical_frame + second: arm_right_3_link + - first: rgbd_optical_frame + second: arm_right_4_link + - first: rgbd_optical_frame + second: arm_right_5_link + - first: rgbd_optical_frame + second: arm_right_6_link + - first: rgbd_optical_frame + second: arm_right_7_link + - first: rgbd_optical_frame + second: base_link + - first: rgbd_optical_frame + second: crane_link + - first: rgbd_optical_frame + second: gripper_left_base_link + - first: rgbd_optical_frame + second: gripper_left_fingertip_1_link + - first: rgbd_optical_frame + second: gripper_left_fingertip_2_link + - first: rgbd_optical_frame + second: gripper_left_fingertip_3_link + - first: rgbd_optical_frame + second: gripper_left_inner_double_link + - first: rgbd_optical_frame + second: gripper_left_inner_single_link + - first: rgbd_optical_frame + second: gripper_left_motor_double_link + - first: rgbd_optical_frame + second: gripper_left_motor_single_link + - first: rgbd_optical_frame + second: gripper_right_base_link + - first: rgbd_optical_frame + second: gripper_right_fingertip_1_link + - first: rgbd_optical_frame + second: gripper_right_fingertip_2_link + - first: rgbd_optical_frame + second: gripper_right_fingertip_3_link + - first: rgbd_optical_frame + second: gripper_right_inner_double_link + - first: rgbd_optical_frame + second: gripper_right_inner_single_link + - first: rgbd_optical_frame + second: gripper_right_motor_double_link + - first: rgbd_optical_frame + second: gripper_right_motor_single_link + - first: rgbd_optical_frame + second: head_1_link + - first: rgbd_optical_frame + second: head_2_link + - first: rgbd_optical_frame + second: imu_link + - first: rgbd_optical_frame + second: left_sole_link + - first: rgbd_optical_frame + second: leg_left_1_link + - first: rgbd_optical_frame + second: leg_left_2_link + - first: rgbd_optical_frame + second: leg_left_3_link + - first: rgbd_optical_frame + second: leg_left_4_link + - first: rgbd_optical_frame + second: leg_left_5_link + - first: rgbd_optical_frame + second: leg_left_6_link + - first: rgbd_optical_frame + second: leg_right_1_link + - first: rgbd_optical_frame + second: leg_right_2_link + - first: rgbd_optical_frame + second: leg_right_3_link + - first: rgbd_optical_frame + second: leg_right_4_link + - first: rgbd_optical_frame + second: leg_right_5_link + - first: rgbd_optical_frame + second: leg_right_6_link + - first: rgbd_optical_frame + second: rgbd_depth_frame + - first: rgbd_optical_frame + second: rgbd_depth_optical_frame + - first: rgbd_optical_frame + second: rgbd_link + - first: rgbd_rgb_frame + second: arm_left_1_link + - first: rgbd_rgb_frame + second: arm_left_2_link + - first: rgbd_rgb_frame + second: arm_left_3_link + - first: rgbd_rgb_frame + second: arm_left_4_link + - first: rgbd_rgb_frame + second: arm_left_5_link + - first: rgbd_rgb_frame + second: arm_left_6_link + - first: rgbd_rgb_frame + second: arm_left_7_link + - first: rgbd_rgb_frame + second: arm_right_1_link + - first: rgbd_rgb_frame + second: arm_right_2_link + - first: rgbd_rgb_frame + second: arm_right_3_link + - first: rgbd_rgb_frame + second: arm_right_4_link + - first: rgbd_rgb_frame + second: arm_right_5_link + - first: rgbd_rgb_frame + second: arm_right_6_link + - first: rgbd_rgb_frame + second: arm_right_7_link + - first: rgbd_rgb_frame + second: base_link + - first: rgbd_rgb_frame + second: crane_link + - first: rgbd_rgb_frame + second: gripper_left_base_link + - first: rgbd_rgb_frame + second: gripper_left_fingertip_1_link + - first: rgbd_rgb_frame + second: gripper_left_fingertip_2_link + - first: rgbd_rgb_frame + second: gripper_left_fingertip_3_link + - first: rgbd_rgb_frame + second: gripper_left_inner_double_link + - first: rgbd_rgb_frame + second: gripper_left_inner_single_link + - first: rgbd_rgb_frame + second: gripper_left_motor_double_link + - first: rgbd_rgb_frame + second: gripper_left_motor_single_link + - first: rgbd_rgb_frame + second: gripper_right_base_link + - first: rgbd_rgb_frame + second: gripper_right_fingertip_1_link + - first: rgbd_rgb_frame + second: gripper_right_fingertip_2_link + - first: rgbd_rgb_frame + second: gripper_right_fingertip_3_link + - first: rgbd_rgb_frame + second: gripper_right_inner_double_link + - first: rgbd_rgb_frame + second: gripper_right_inner_single_link + - first: rgbd_rgb_frame + second: gripper_right_motor_double_link + - first: rgbd_rgb_frame + second: gripper_right_motor_single_link + - first: rgbd_rgb_frame + second: head_1_link + - first: rgbd_rgb_frame + second: head_2_link + - first: rgbd_rgb_frame + second: imu_link + - first: rgbd_rgb_frame + second: left_sole_link + - first: rgbd_rgb_frame + second: leg_left_1_link + - first: rgbd_rgb_frame + second: leg_left_2_link + - first: rgbd_rgb_frame + second: leg_left_3_link + - first: rgbd_rgb_frame + second: leg_left_4_link + - first: rgbd_rgb_frame + second: leg_left_5_link + - first: rgbd_rgb_frame + second: leg_left_6_link + - first: rgbd_rgb_frame + second: leg_right_1_link + - first: rgbd_rgb_frame + second: leg_right_2_link + - first: rgbd_rgb_frame + second: leg_right_3_link + - first: rgbd_rgb_frame + second: leg_right_4_link + - first: rgbd_rgb_frame + second: leg_right_5_link + - first: rgbd_rgb_frame + second: leg_right_6_link + - first: rgbd_rgb_frame + second: rgbd_depth_frame + - first: rgbd_rgb_frame + second: rgbd_depth_optical_frame + - first: rgbd_rgb_frame + second: rgbd_link + - first: rgbd_rgb_frame + second: rgbd_optical_frame + - first: rgbd_rgb_optical_frame + second: arm_left_1_link + - first: rgbd_rgb_optical_frame + second: arm_left_2_link + - first: rgbd_rgb_optical_frame + second: arm_left_3_link + - first: rgbd_rgb_optical_frame + second: arm_left_4_link + - first: rgbd_rgb_optical_frame + second: arm_left_5_link + - first: rgbd_rgb_optical_frame + second: arm_left_6_link + - first: rgbd_rgb_optical_frame + second: arm_left_7_link + - first: rgbd_rgb_optical_frame + second: arm_right_1_link + - first: rgbd_rgb_optical_frame + second: arm_right_2_link + - first: rgbd_rgb_optical_frame + second: arm_right_3_link + - first: rgbd_rgb_optical_frame + second: arm_right_4_link + - first: rgbd_rgb_optical_frame + second: arm_right_5_link + - first: rgbd_rgb_optical_frame + second: arm_right_6_link + - first: rgbd_rgb_optical_frame + second: arm_right_7_link + - first: rgbd_rgb_optical_frame + second: base_link + - first: rgbd_rgb_optical_frame + second: crane_link + - first: rgbd_rgb_optical_frame + second: gripper_left_base_link + - first: rgbd_rgb_optical_frame + second: gripper_left_fingertip_1_link + - first: rgbd_rgb_optical_frame + second: gripper_left_fingertip_2_link + - first: rgbd_rgb_optical_frame + second: gripper_left_fingertip_3_link + - first: rgbd_rgb_optical_frame + second: gripper_left_inner_double_link + - first: rgbd_rgb_optical_frame + second: gripper_left_inner_single_link + - first: rgbd_rgb_optical_frame + second: gripper_left_motor_double_link + - first: rgbd_rgb_optical_frame + second: gripper_left_motor_single_link + - first: rgbd_rgb_optical_frame + second: gripper_right_base_link + - first: rgbd_rgb_optical_frame + second: gripper_right_fingertip_1_link + - first: rgbd_rgb_optical_frame + second: gripper_right_fingertip_2_link + - first: rgbd_rgb_optical_frame + second: gripper_right_fingertip_3_link + - first: rgbd_rgb_optical_frame + second: gripper_right_inner_double_link + - first: rgbd_rgb_optical_frame + second: gripper_right_inner_single_link + - first: rgbd_rgb_optical_frame + second: gripper_right_motor_double_link + - first: rgbd_rgb_optical_frame + second: gripper_right_motor_single_link + - first: rgbd_rgb_optical_frame + second: head_1_link + - first: rgbd_rgb_optical_frame + second: head_2_link + - first: rgbd_rgb_optical_frame + second: imu_link + - first: rgbd_rgb_optical_frame + second: left_sole_link + - first: rgbd_rgb_optical_frame + second: leg_left_1_link + - first: rgbd_rgb_optical_frame + second: leg_left_2_link + - first: rgbd_rgb_optical_frame + second: leg_left_3_link + - first: rgbd_rgb_optical_frame + second: leg_left_4_link + - first: rgbd_rgb_optical_frame + second: leg_left_5_link + - first: rgbd_rgb_optical_frame + second: leg_left_6_link + - first: rgbd_rgb_optical_frame + second: leg_right_1_link + - first: rgbd_rgb_optical_frame + second: leg_right_2_link + - first: rgbd_rgb_optical_frame + second: leg_right_3_link + - first: rgbd_rgb_optical_frame + second: leg_right_4_link + - first: rgbd_rgb_optical_frame + second: leg_right_5_link + - first: rgbd_rgb_optical_frame + second: leg_right_6_link + - first: rgbd_rgb_optical_frame + second: rgbd_depth_frame + - first: rgbd_rgb_optical_frame + second: rgbd_depth_optical_frame + - first: rgbd_rgb_optical_frame + second: rgbd_link + - first: rgbd_rgb_optical_frame + second: rgbd_optical_frame + - first: rgbd_rgb_optical_frame + second: rgbd_rgb_frame + - first: right_sole_link + second: arm_left_1_link + - first: right_sole_link + second: arm_left_2_link + - first: right_sole_link + second: arm_left_3_link + - first: right_sole_link + second: arm_left_4_link + - first: right_sole_link + second: arm_left_5_link + - first: right_sole_link + second: arm_left_6_link + - first: right_sole_link + second: arm_left_7_link + - first: right_sole_link + second: arm_right_1_link + - first: right_sole_link + second: arm_right_2_link + - first: right_sole_link + second: arm_right_3_link + - first: right_sole_link + second: arm_right_4_link + - first: right_sole_link + second: arm_right_5_link + - first: right_sole_link + second: arm_right_6_link + - first: right_sole_link + second: arm_right_7_link + - first: right_sole_link + second: base_link + - first: right_sole_link + second: crane_link + - first: right_sole_link + second: gripper_left_base_link + - first: right_sole_link + second: gripper_left_fingertip_1_link + - first: right_sole_link + second: gripper_left_fingertip_2_link + - first: right_sole_link + second: gripper_left_fingertip_3_link + - first: right_sole_link + second: gripper_left_inner_double_link + - first: right_sole_link + second: gripper_left_inner_single_link + - first: right_sole_link + second: gripper_left_motor_double_link + - first: right_sole_link + second: gripper_left_motor_single_link + - first: right_sole_link + second: gripper_right_base_link + - first: right_sole_link + second: gripper_right_fingertip_1_link + - first: right_sole_link + second: gripper_right_fingertip_2_link + - first: right_sole_link + second: gripper_right_fingertip_3_link + - first: right_sole_link + second: gripper_right_inner_double_link + - first: right_sole_link + second: gripper_right_inner_single_link + - first: right_sole_link + second: gripper_right_motor_double_link + - first: right_sole_link + second: gripper_right_motor_single_link + - first: right_sole_link + second: head_1_link + - first: right_sole_link + second: head_2_link + - first: right_sole_link + second: imu_link + - first: right_sole_link + second: left_sole_link + - first: right_sole_link + second: leg_left_1_link + - first: right_sole_link + second: leg_left_2_link + - first: right_sole_link + second: leg_left_3_link + - first: right_sole_link + second: leg_left_4_link + - first: right_sole_link + second: leg_left_5_link + - first: right_sole_link + second: leg_left_6_link + - first: right_sole_link + second: leg_right_1_link + - first: right_sole_link + second: leg_right_2_link + - first: right_sole_link + second: leg_right_3_link + - first: right_sole_link + second: leg_right_4_link + - first: right_sole_link + second: leg_right_5_link + - first: right_sole_link + second: leg_right_6_link + - first: right_sole_link + second: rgbd_depth_frame + - first: right_sole_link + second: rgbd_depth_optical_frame + - first: right_sole_link + second: rgbd_link + - first: right_sole_link + second: rgbd_optical_frame + - first: right_sole_link + second: rgbd_rgb_frame + - first: right_sole_link + second: rgbd_rgb_optical_frame + - first: torso_1_link + second: arm_left_1_link + - first: torso_1_link + second: arm_left_2_link + - first: torso_1_link + second: arm_left_3_link + - first: torso_1_link + second: arm_left_4_link + - first: torso_1_link + second: arm_right_1_link + - first: torso_1_link + second: arm_right_2_link + - first: torso_1_link + second: arm_right_3_link + - first: torso_1_link + second: arm_right_4_link + - first: torso_1_link + second: base_link + - first: torso_1_link + second: crane_link + - first: torso_1_link + second: head_1_link + - first: torso_1_link + second: head_2_link + - first: torso_1_link + second: imu_link + - first: torso_1_link + second: left_sole_link + - first: torso_1_link + second: leg_left_1_link + - first: torso_1_link + second: leg_left_2_link + - first: torso_1_link + second: leg_left_3_link + - first: torso_1_link + second: leg_left_4_link + - first: torso_1_link + second: leg_left_5_link + - first: torso_1_link + second: leg_left_6_link + - first: torso_1_link + second: leg_right_1_link + - first: torso_1_link + second: leg_right_2_link + - first: torso_1_link + second: leg_right_3_link + - first: torso_1_link + second: leg_right_4_link + - first: torso_1_link + second: leg_right_5_link + - first: torso_1_link + second: leg_right_6_link + - first: torso_1_link + second: rgbd_depth_frame + - first: torso_1_link + second: rgbd_depth_optical_frame + - first: torso_1_link + second: rgbd_link + - first: torso_1_link + second: rgbd_optical_frame + - first: torso_1_link + second: rgbd_rgb_frame + - first: torso_1_link + second: rgbd_rgb_optical_frame + - first: torso_1_link + second: right_sole_link + - first: torso_2_link + second: arm_left_1_link + - first: torso_2_link + second: arm_right_1_link + - first: torso_2_link + second: base_link + - first: torso_2_link + second: crane_link + - first: torso_2_link + second: head_1_link + - first: torso_2_link + second: head_2_link + - first: torso_2_link + second: imu_link + - first: torso_2_link + second: left_sole_link + - first: torso_2_link + second: leg_left_1_link + - first: torso_2_link + second: leg_left_2_link + - first: torso_2_link + second: leg_left_3_link + - first: torso_2_link + second: leg_left_4_link + - first: torso_2_link + second: leg_left_5_link + - first: torso_2_link + second: leg_left_6_link + - first: torso_2_link + second: leg_right_1_link + - first: torso_2_link + second: leg_right_2_link + - first: torso_2_link + second: leg_right_3_link + - first: torso_2_link + second: leg_right_4_link + - first: torso_2_link + second: leg_right_5_link + - first: torso_2_link + second: leg_right_6_link + - first: torso_2_link + second: rgbd_depth_frame + - first: torso_2_link + second: rgbd_depth_optical_frame + - first: torso_2_link + second: rgbd_link + - first: torso_2_link + second: rgbd_optical_frame + - first: torso_2_link + second: rgbd_rgb_frame + - first: torso_2_link + second: rgbd_rgb_optical_frame + - first: torso_2_link + second: right_sole_link + - first: torso_2_link + second: torso_1_link + - first: wrist_left_ft_link + second: arm_left_1_link + - first: wrist_left_ft_link + second: arm_left_2_link + - first: wrist_left_ft_link + second: arm_left_3_link + - first: wrist_left_ft_link + second: arm_left_4_link + - first: wrist_left_ft_link + second: arm_left_7_link + - first: wrist_left_ft_link + second: arm_right_1_link + - first: wrist_left_ft_link + second: arm_right_2_link + - first: wrist_left_ft_link + second: arm_right_3_link + - first: wrist_left_ft_link + second: arm_right_4_link + - first: wrist_left_ft_link + second: gripper_left_base_link + - first: wrist_left_ft_link + second: gripper_left_fingertip_1_link + - first: wrist_left_ft_link + second: gripper_left_fingertip_2_link + - first: wrist_left_ft_link + second: gripper_left_fingertip_3_link + - first: wrist_left_ft_link + second: gripper_left_inner_double_link + - first: wrist_left_ft_link + second: gripper_left_inner_single_link + - first: wrist_left_ft_link + second: gripper_left_motor_double_link + - first: wrist_left_ft_link + second: gripper_left_motor_single_link + - first: wrist_left_ft_link + second: gripper_right_base_link + - first: wrist_left_ft_link + second: gripper_right_fingertip_1_link + - first: wrist_left_ft_link + second: gripper_right_fingertip_2_link + - first: wrist_left_ft_link + second: gripper_right_inner_double_link + - first: wrist_left_ft_link + second: gripper_right_inner_single_link + - first: wrist_left_ft_link + second: gripper_right_motor_double_link + - first: wrist_left_ft_link + second: gripper_right_motor_single_link + - first: wrist_left_ft_link + second: imu_link + - first: wrist_left_ft_link + second: left_sole_link + - first: wrist_left_ft_link + second: leg_left_5_link + - first: wrist_left_ft_link + second: leg_left_6_link + - first: wrist_left_ft_link + second: leg_right_2_link + - first: wrist_left_ft_link + second: leg_right_5_link + - first: wrist_left_ft_link + second: rgbd_depth_frame + - first: wrist_left_ft_link + second: rgbd_depth_optical_frame + - first: wrist_left_ft_link + second: rgbd_optical_frame + - first: wrist_left_ft_link + second: rgbd_rgb_frame + - first: wrist_left_ft_link + second: rgbd_rgb_optical_frame + - first: wrist_left_ft_link + second: right_sole_link + - first: wrist_left_ft_tool_link + second: arm_left_1_link + - first: wrist_left_ft_tool_link + second: arm_left_2_link + - first: wrist_left_ft_tool_link + second: arm_left_3_link + - first: wrist_left_ft_tool_link + second: arm_left_4_link + - first: wrist_left_ft_tool_link + second: arm_left_5_link + - first: wrist_left_ft_tool_link + second: arm_left_6_link + - first: wrist_left_ft_tool_link + second: arm_left_7_link + - first: wrist_left_ft_tool_link + second: arm_right_1_link + - first: wrist_left_ft_tool_link + second: arm_right_2_link + - first: wrist_left_ft_tool_link + second: arm_right_3_link + - first: wrist_left_ft_tool_link + second: arm_right_4_link + - first: wrist_left_ft_tool_link + second: gripper_left_base_link + - first: wrist_left_ft_tool_link + second: gripper_left_fingertip_1_link + - first: wrist_left_ft_tool_link + second: gripper_left_fingertip_2_link + - first: wrist_left_ft_tool_link + second: gripper_left_fingertip_3_link + - first: wrist_left_ft_tool_link + second: gripper_left_inner_double_link + - first: wrist_left_ft_tool_link + second: gripper_left_inner_single_link + - first: wrist_left_ft_tool_link + second: gripper_left_motor_double_link + - first: wrist_left_ft_tool_link + second: gripper_left_motor_single_link + - first: wrist_left_ft_tool_link + second: gripper_right_base_link + - first: wrist_left_ft_tool_link + second: gripper_right_fingertip_1_link + - first: wrist_left_ft_tool_link + second: gripper_right_fingertip_2_link + - first: wrist_left_ft_tool_link + second: gripper_right_fingertip_3_link + - first: wrist_left_ft_tool_link + second: gripper_right_inner_single_link + - first: wrist_left_ft_tool_link + second: gripper_right_motor_double_link + - first: wrist_left_ft_tool_link + second: gripper_right_motor_single_link + - first: wrist_left_ft_tool_link + second: imu_link + - first: wrist_left_ft_tool_link + second: left_sole_link + - first: wrist_left_ft_tool_link + second: leg_left_5_link + - first: wrist_left_ft_tool_link + second: leg_left_6_link + - first: wrist_left_ft_tool_link + second: leg_right_2_link + - first: wrist_left_ft_tool_link + second: leg_right_5_link + - first: wrist_left_ft_tool_link + second: rgbd_depth_frame + - first: wrist_left_ft_tool_link + second: rgbd_depth_optical_frame + - first: wrist_left_ft_tool_link + second: rgbd_optical_frame + - first: wrist_left_ft_tool_link + second: rgbd_rgb_frame + - first: wrist_left_ft_tool_link + second: rgbd_rgb_optical_frame + - first: wrist_left_ft_tool_link + second: right_sole_link + - first: wrist_left_ft_tool_link + second: wrist_left_ft_link + - first: wrist_right_ft_link + second: arm_left_1_link + - first: wrist_right_ft_link + second: arm_left_2_link + - first: wrist_right_ft_link + second: arm_left_3_link + - first: wrist_right_ft_link + second: arm_left_4_link + - first: wrist_right_ft_link + second: arm_left_6_link + - first: wrist_right_ft_link + second: arm_right_1_link + - first: wrist_right_ft_link + second: arm_right_2_link + - first: wrist_right_ft_link + second: arm_right_3_link + - first: wrist_right_ft_link + second: arm_right_4_link + - first: wrist_right_ft_link + second: arm_right_7_link + - first: wrist_right_ft_link + second: gripper_left_fingertip_1_link + - first: wrist_right_ft_link + second: gripper_left_fingertip_2_link + - first: wrist_right_ft_link + second: gripper_left_fingertip_3_link + - first: wrist_right_ft_link + second: gripper_left_inner_double_link + - first: wrist_right_ft_link + second: gripper_left_inner_single_link + - first: wrist_right_ft_link + second: gripper_left_motor_double_link + - first: wrist_right_ft_link + second: gripper_right_base_link + - first: wrist_right_ft_link + second: gripper_right_fingertip_1_link + - first: wrist_right_ft_link + second: gripper_right_fingertip_2_link + - first: wrist_right_ft_link + second: gripper_right_fingertip_3_link + - first: wrist_right_ft_link + second: gripper_right_inner_double_link + - first: wrist_right_ft_link + second: gripper_right_inner_single_link + - first: wrist_right_ft_link + second: gripper_right_motor_double_link + - first: wrist_right_ft_link + second: gripper_right_motor_single_link + - first: wrist_right_ft_link + second: head_1_link + - first: wrist_right_ft_link + second: imu_link + - first: wrist_right_ft_link + second: left_sole_link + - first: wrist_right_ft_link + second: leg_left_5_link + - first: wrist_right_ft_link + second: leg_left_6_link + - first: wrist_right_ft_link + second: leg_right_5_link + - first: wrist_right_ft_link + second: leg_right_6_link + - first: wrist_right_ft_link + second: rgbd_depth_frame + - first: wrist_right_ft_link + second: rgbd_depth_optical_frame + - first: wrist_right_ft_link + second: rgbd_optical_frame + - first: wrist_right_ft_link + second: rgbd_rgb_frame + - first: wrist_right_ft_link + second: rgbd_rgb_optical_frame + - first: wrist_right_ft_link + second: right_sole_link + - first: wrist_right_ft_link + second: wrist_left_ft_link + - first: wrist_right_ft_link + second: wrist_left_ft_tool_link + - first: wrist_right_ft_tool_link + second: arm_left_1_link + - first: wrist_right_ft_tool_link + second: arm_left_2_link + - first: wrist_right_ft_tool_link + second: arm_left_3_link + - first: wrist_right_ft_tool_link + second: arm_left_4_link + - first: wrist_right_ft_tool_link + second: arm_left_6_link + - first: wrist_right_ft_tool_link + second: arm_left_7_link + - first: wrist_right_ft_tool_link + second: arm_right_1_link + - first: wrist_right_ft_tool_link + second: arm_right_2_link + - first: wrist_right_ft_tool_link + second: arm_right_3_link + - first: wrist_right_ft_tool_link + second: arm_right_4_link + - first: wrist_right_ft_tool_link + second: arm_right_5_link + - first: wrist_right_ft_tool_link + second: arm_right_6_link + - first: wrist_right_ft_tool_link + second: arm_right_7_link + - first: wrist_right_ft_tool_link + second: gripper_left_base_link + - first: wrist_right_ft_tool_link + second: gripper_left_fingertip_1_link + - first: wrist_right_ft_tool_link + second: gripper_left_fingertip_2_link + - first: wrist_right_ft_tool_link + second: gripper_left_fingertip_3_link + - first: wrist_right_ft_tool_link + second: gripper_left_inner_double_link + - first: wrist_right_ft_tool_link + second: gripper_left_inner_single_link + - first: wrist_right_ft_tool_link + second: gripper_left_motor_double_link + - first: wrist_right_ft_tool_link + second: gripper_right_base_link + - first: wrist_right_ft_tool_link + second: gripper_right_fingertip_1_link + - first: wrist_right_ft_tool_link + second: gripper_right_fingertip_2_link + - first: wrist_right_ft_tool_link + second: gripper_right_fingertip_3_link + - first: wrist_right_ft_tool_link + second: gripper_right_inner_double_link + - first: wrist_right_ft_tool_link + second: gripper_right_inner_single_link + - first: wrist_right_ft_tool_link + second: gripper_right_motor_double_link + - first: wrist_right_ft_tool_link + second: gripper_right_motor_single_link + - first: wrist_right_ft_tool_link + second: head_1_link + - first: wrist_right_ft_tool_link + second: imu_link + - first: wrist_right_ft_tool_link + second: left_sole_link + - first: wrist_right_ft_tool_link + second: leg_left_5_link + - first: wrist_right_ft_tool_link + second: leg_left_6_link + - first: wrist_right_ft_tool_link + second: leg_right_5_link + - first: wrist_right_ft_tool_link + second: leg_right_6_link + - first: wrist_right_ft_tool_link + second: rgbd_depth_frame + - first: wrist_right_ft_tool_link + second: rgbd_depth_optical_frame + - first: wrist_right_ft_tool_link + second: rgbd_optical_frame + - first: wrist_right_ft_tool_link + second: rgbd_rgb_frame + - first: wrist_right_ft_tool_link + second: rgbd_rgb_optical_frame + - first: wrist_right_ft_tool_link + second: right_sole_link + - first: wrist_right_ft_tool_link + second: wrist_left_ft_link + - first: wrist_right_ft_tool_link + second: wrist_left_ft_tool_link + - first: wrist_right_ft_tool_link + second: wrist_right_ft_link diff --git a/config/default_configuration_hanging.yaml b/config/default_configuration_hanging.yaml new file mode 100644 index 0000000..74eaf9e --- /dev/null +++ b/config/default_configuration_hanging.yaml @@ -0,0 +1,56 @@ +zeros: + torso_1_joint: 0.0 + torso_2_joint: 0.0 + head_1_joint: 0.0 + head_2_joint: 0.0 + arm_left_1_joint: 0.0 + arm_left_2_joint: 0.6 + arm_left_3_joint: 0.0 + arm_left_4_joint: -0.2 + arm_left_5_joint: 0.0 + arm_left_6_joint: 0.0 + arm_left_7_joint: 0.0 + arm_right_1_joint: 0.0 + arm_right_2_joint: -0.6 + arm_right_3_joint: 0.0 + arm_right_4_joint: -0.2 + arm_right_5_joint: 0.0 + arm_right_6_joint: 0.0 + arm_right_7_joint: 0.0 +# gripper_left_joint: -0.2 + gripper_left_joint: 0.0 + gripper_left_inner_double_joint: 0.0 + gripper_left_fingertip_1_joint: 0.0 + gripper_left_fingertip_2_joint: 0.0 + gripper_left_motor_single_joint: 0.0 + gripper_left_inner_single_joint: 0.0 + gripper_left_fingertip_3_joint: 0.0 +# gripper_right_joint: -0.2 + gripper_right_joint: 0.0 + gripper_right_inner_double_joint: 0.0 + gripper_right_fingertip_1_joint: 0.0 + gripper_right_fingertip_2_joint: 0.0 + gripper_right_motor_single_joint: 0.0 + gripper_right_inner_single_joint: 0.0 + gripper_right_fingertip_3_joint: 0.0 + leg_left_1_joint: 0.0 + leg_left_2_joint: 0.2 + leg_left_3_joint: 0.0 + leg_left_4_joint: 0.2 + leg_left_5_joint: 0.0 + leg_left_6_joint: 0.0 + leg_right_1_joint: 0.0 + leg_right_2_joint: -0.2 + leg_right_3_joint: 0.0 + leg_right_4_joint: 0.2 + leg_right_5_joint: 0.0 + leg_right_6_joint: 0.0 + + +default_floating_base_pose: + orientation: + x: 0. + y: 0. + z: 0. + w: 1. + position: [0., 0., 1.2] diff --git a/config/default_configuration_locomotion.yaml b/config/default_configuration_locomotion.yaml new file mode 100644 index 0000000..026d68e --- /dev/null +++ b/config/default_configuration_locomotion.yaml @@ -0,0 +1,54 @@ +zeros: + torso_1_joint: 0.0 + torso_2_joint: 0.0 + head_1_joint: 0.0 + head_2_joint: 0.0 + arm_left_1_joint: 0.3 + arm_left_2_joint: 0.4 + arm_left_3_joint: -0.5 + arm_left_4_joint: -1.5 + arm_left_5_joint: 0.0 + arm_left_6_joint: 0.0 + arm_left_7_joint: 0.0 + arm_right_1_joint: -0.3 + arm_right_2_joint: -0.4 + arm_right_3_joint: 0.5 + arm_right_4_joint: -1.5 + arm_right_5_joint: 0.0 + arm_right_6_joint: 0.0 + arm_right_7_joint: 0.0 + gripper_left_joint: -0.4 + gripper_left_inner_double_joint: 0.0 + gripper_left_fingertip_1_joint: 0.0 + gripper_left_fingertip_2_joint: 0.0 + gripper_left_motor_single_joint: 0.0 + gripper_left_inner_single_joint: 0.0 + gripper_left_fingertip_3_joint: 0.0 + gripper_right_joint: -0.4 + gripper_right_inner_double_joint: 0.0 + gripper_right_fingertip_1_joint: 0.0 + gripper_right_fingertip_2_joint: 0.0 + gripper_right_motor_single_joint: 0.0 + gripper_right_inner_single_joint: 0.0 + gripper_right_fingertip_3_joint: 0.0 + leg_left_1_joint: 0.0 + leg_left_2_joint: 0.0 + leg_left_3_joint: -0.4 + leg_left_4_joint: 0.8 + leg_left_5_joint: -0.4 + leg_left_6_joint: 0.0 + leg_right_1_joint: 0.0 + leg_right_2_joint: 0.0 + leg_right_3_joint: -0.4 + leg_right_4_joint: 0.8 + leg_right_5_joint: -0.4 + leg_right_6_joint: 0.0 + + +default_floating_base_pose: + orientation: + x: 0. + y: 0. + z: 0. + w: 1. + position: [0., 0., 1.03] diff --git a/config/default_configuration_zeros.yaml b/config/default_configuration_zeros.yaml new file mode 100644 index 0000000..926daef --- /dev/null +++ b/config/default_configuration_zeros.yaml @@ -0,0 +1,54 @@ +zeros: + torso_1_joint: 0.0 + torso_2_joint: 0.0 + head_1_joint: 0.0 + head_2_joint: 0.0 + arm_left_1_joint: 0.0 + arm_left_2_joint: 0.0 + arm_left_3_joint: 0.0 + arm_left_4_joint: 0.0 + arm_left_5_joint: 0.0 + arm_left_6_joint: 0.0 + arm_left_7_joint: 0.0 + arm_right_1_joint: 0.0 + arm_right_2_joint: 0.0 + arm_right_3_joint: 0.0 + arm_right_4_joint: 0.0 + arm_right_5_joint: 0.0 + arm_right_6_joint: 0.0 + arm_right_7_joint: 0.0 + gripper_left_joint: 0.0 + gripper_left_inner_double_joint: 0.0 + gripper_left_fingertip_1_joint: 0.0 + gripper_left_fingertip_2_joint: 0.0 + gripper_left_motor_single_joint: 0.0 + gripper_left_inner_single_joint: 0.0 + gripper_left_fingertip_3_joint: 0.0 + gripper_right_joint: 0.0 + gripper_right_inner_double_joint: 0.0 + gripper_right_fingertip_1_joint: 0.0 + gripper_right_fingertip_2_joint: 0.0 + gripper_right_motor_single_joint: 0.0 + gripper_right_inner_single_joint: 0.0 + gripper_right_fingertip_3_joint: 0.0 + leg_left_1_joint: 0.0 + leg_left_2_joint: 0.0 + leg_left_3_joint: 0.0 + leg_left_4_joint: 0.0 + leg_left_5_joint: 0.0 + leg_left_6_joint: 0.0 + leg_right_1_joint: 0.0 + leg_right_2_joint: 0.0 + leg_right_3_joint: 0.0 + leg_right_4_joint: 0.0 + leg_right_5_joint: 0.0 + leg_right_6_joint: 0.0 + + +default_floating_base_pose: + orientation: + x: 0. + y: 0. + z: 0. + w: 1. + position: [0., 0., 1.2] diff --git a/config/rviz.rviz b/config/rviz.rviz new file mode 100644 index 0000000..3590cbf --- /dev/null +++ b/config/rviz.rviz @@ -0,0 +1,755 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /RobotModel1/Links1/leg_left_6_link1 + - /RobotModel1/Links1/leg_right_6_link1 + - /TF1/Frames1 + - /Camera1 + - /DepthCloud1 + - /DepthCloud1/Auto Size1 + Splitter Ratio: 0.336673349 + Tree Height: 883 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.588679016 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: Camera +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.0299999993 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: <Fixed Frame> + Value: true + - Alpha: 0.5 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + arm_left_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_4_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_5_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_6_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_left_7_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_4_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_5_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_6_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + arm_right_7_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_fingertip_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_fingertip_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_fingertip_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_inner_double_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_inner_single_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_motor_double_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_left_motor_single_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_fingertip_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_fingertip_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_fingertip_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_inner_double_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_inner_single_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_motor_double_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + gripper_right_motor_single_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + head_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + head_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + left_sole_link: + Alpha: 1 + Show Axes: false + Show Trail: false + leg_left_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_left_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_left_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_left_4_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_left_5_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_left_6_link: + Alpha: 1 + Show Axes: true + Show Trail: true + Value: true + leg_right_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_right_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_right_3_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_right_4_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_right_5_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_right_6_link: + Alpha: 1 + Show Axes: true + Show Trail: true + Value: true + rgbd_depth_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + rgbd_depth_optical_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + rgbd_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rgbd_optical_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + rgbd_rgb_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + rgbd_rgb_optical_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + right_sole_link: + Alpha: 1 + Show Axes: false + Show Trail: false + torso_1_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + torso_2_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + wrist_left_ft_link: + Alpha: 1 + Show Axes: true + Show Trail: true + Value: true + wrist_left_ft_tool_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + wrist_right_ft_link: + Alpha: 1 + Show Axes: true + Show Trail: true + Value: true + wrist_right_ft_tool_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Alpha: 1 + Class: rviz/Effort + Enabled: true + History Length: 1 + Joints: + {} + Name: Effort + Robot Description: robot_description + Scale: 1 + Topic: "" + Unreliable: false + Value: true + Width: 0.0199999996 + arm_left_1_joint: + Value: true + arm_left_2_joint: + Value: true + arm_left_3_joint: + Value: false + arm_left_4_joint: + Value: false + arm_left_5_joint: + Value: false + arm_left_6_joint: + Value: false + arm_left_7_joint: + Value: false + arm_right_1_joint: + Value: true + arm_right_2_joint: + Value: true + arm_right_3_joint: + Value: true + arm_right_4_joint: + Value: true + arm_right_5_joint: + Value: false + arm_right_6_joint: + Value: false + arm_right_7_joint: + Value: false + gripper_left_fingertip_1_joint: + Value: false + gripper_left_fingertip_2_joint: + Value: false + gripper_left_fingertip_3_joint: + Value: false + gripper_left_inner_double_joint: + Value: false + gripper_left_inner_single_joint: + Value: false + gripper_left_joint: + Value: false + gripper_left_motor_single_joint: + Value: false + gripper_right_fingertip_1_joint: + Value: false + gripper_right_fingertip_2_joint: + Value: false + gripper_right_fingertip_3_joint: + Value: false + gripper_right_inner_double_joint: + Value: false + gripper_right_inner_single_joint: + Value: false + gripper_right_joint: + Value: false + gripper_right_motor_single_joint: + Value: false + head_1_joint: + Value: false + head_2_joint: + Value: false + leg_left_1_joint: + Value: true + leg_left_2_joint: + Value: true + leg_left_3_joint: + Value: true + leg_left_4_joint: + Value: true + leg_left_5_joint: + Value: true + leg_left_6_joint: + Value: true + leg_right_1_joint: + Value: true + leg_right_2_joint: + Value: true + leg_right_3_joint: + Value: true + leg_right_4_joint: + Value: true + leg_right_5_joint: + Value: true + leg_right_6_joint: + Value: true + torso_1_joint: + Value: true + torso_2_joint: + Value: true + - Class: rviz/TF + Enabled: false + Frame Timeout: 15 + Frames: + All Enabled: false + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: + {} + Update Interval: 0 + Value: false + - Alpha: 1 + Arrow Width: 0.5 + Class: rviz/WrenchStamped + Enabled: true + Force Arrow Scale: 0.0500000007 + Force Color: 204; 51; 51 + History Length: 1 + Name: WrenchStamped + Topic: /left_wrist_ft + Torque Arrow Scale: 0.100000001 + Torque Color: 204; 204; 51 + Unreliable: false + Value: true + - Alpha: 1 + Arrow Width: 0.5 + Class: rviz/WrenchStamped + Enabled: true + Force Arrow Scale: 0.0500000007 + Force Color: 204; 51; 51 + History Length: 1 + Name: WrenchStamped + Topic: /right_wrist_ft + Torque Arrow Scale: 0.100000001 + Torque Color: 204; 204; 51 + Unreliable: false + Value: true + - Alpha: 1 + Arrow Width: 0.5 + Class: rviz/WrenchStamped + Enabled: true + Force Arrow Scale: 0.00999999978 + Force Color: 204; 51; 51 + History Length: 1 + Name: WrenchStamped + Topic: /left_ankle_ft + Torque Arrow Scale: 0.0500000007 + Torque Color: 204; 204; 51 + Unreliable: false + Value: true + - Alpha: 1 + Arrow Width: 0.5 + Class: rviz/WrenchStamped + Enabled: true + Force Arrow Scale: 0.00999999978 + Force Color: 204; 51; 51 + History Length: 1 + Name: WrenchStamped + Topic: /right_ankle_ft + Torque Arrow Scale: 0.0500000007 + Torque Color: 204; 204; 51 + Unreliable: false + Value: true + - Alpha: 1 + Class: rviz/Effort + Enabled: true + History Length: 1 + Joints: + {} + Name: Effort + Robot Description: robot_description + Scale: 1 + Topic: /joint_torque_states + Unreliable: false + Value: true + Width: 0.0199999996 + arm_left_1_joint: + Value: true + arm_left_2_joint: + Value: true + arm_left_3_joint: + Value: true + arm_left_4_joint: + Value: true + arm_left_5_joint: + Value: false + arm_left_6_joint: + Value: false + arm_left_7_joint: + Value: false + arm_right_1_joint: + Value: true + arm_right_2_joint: + Value: true + arm_right_3_joint: + Value: true + arm_right_4_joint: + Value: true + arm_right_5_joint: + Value: false + arm_right_6_joint: + Value: false + arm_right_7_joint: + Value: false + gripper_left_fingertip_1_joint: + Value: false + gripper_left_fingertip_2_joint: + Value: false + gripper_left_fingertip_3_joint: + Value: false + gripper_left_inner_double_joint: + Value: false + gripper_left_inner_single_joint: + Value: false + gripper_left_joint: + Value: false + gripper_left_motor_single_joint: + Value: false + gripper_right_fingertip_1_joint: + Value: false + gripper_right_fingertip_2_joint: + Value: false + gripper_right_fingertip_3_joint: + Value: false + gripper_right_inner_double_joint: + Value: false + gripper_right_inner_single_joint: + Value: false + gripper_right_joint: + Value: false + gripper_right_motor_single_joint: + Value: false + head_1_joint: + Value: false + head_2_joint: + Value: false + leg_left_1_joint: + Value: true + leg_left_2_joint: + Value: true + leg_left_3_joint: + Value: true + leg_left_4_joint: + Value: true + leg_left_5_joint: + Value: true + leg_left_6_joint: + Value: true + leg_right_1_joint: + Value: true + leg_right_2_joint: + Value: true + leg_right_3_joint: + Value: true + leg_right_4_joint: + Value: true + leg_right_5_joint: + Value: true + leg_right_6_joint: + Value: true + torso_1_joint: + Value: true + torso_2_joint: + Value: true + - Class: rviz/Camera + Enabled: true + Image Rendering: background and overlay + Image Topic: /rgbd/rgb/image_color + Name: Camera + Overlay Alpha: 0.5 + Queue Size: 2 + Transport Hint: compressed + Unreliable: false + Value: true + Visibility: + DepthCloud: true + Effort: true + Grid: true + RobotModel: true + TF: true + Value: true + WrenchStamped: true + Zoom Factor: 1 + - Alpha: 1 + Auto Size: + Auto Size Factor: 1 + Value: true + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/DepthCloud + Color: 255; 255; 255 + Color Image Topic: /rgbd/rgb/image_color + Color Transformer: RGB8 + Color Transport Hint: compressed + Decay Time: 0 + Depth Map Topic: /rgbd/depth/image_rect_raw + Depth Map Transport Hint: raw + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: DepthCloud + Occlusion Compensation: + Occlusion Time-Out: 30 + Value: false + Position Transformer: XYZ + Queue Size: 5 + Selectable: true + Size (Pixels): 3 + Style: Flat Squares + Topic Filter: true + Use Fixed Frame: true + Use rainbow: true + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: base_link + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Topic: /initialpose + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/Orbit + Distance: 8.08980751 + Enable Stereo Rendering: + Stereo Eye Separation: 0.0599999987 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 0.877970338 + Y: 0.936086059 + Z: -0.421179205 + Focal Shape Fixed Size: true + Focal Shape Size: 0.0500000007 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.00999999978 + Pitch: 0.655398846 + Target Frame: <Fixed Frame> + Value: Orbit (rviz) + Yaw: 1.98539031 + Saved: ~ +Window Geometry: + Camera: + collapsed: false + Displays: + collapsed: false + Height: 1388 + Hide Left Dock: false + Hide Right Dock: true + QMainWindow State: 000000ff00000000fd0000000400000000000001f5000004d4fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003a000003fb000000c600fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000c00430061006d006500720061010000043b000000d30000001600ffffff000000010000010f000002b6fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003a000002b60000009e00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004e60000003efc0100000002fb0000000800540069006d00650100000000000004e60000024400fffffffb0000000800540069006d00650100000000000004500000000000000000000002eb000004d400000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: true + Width: 1254 + X: 1306 + Y: 24 diff --git a/config/talos_plotjuggler.xml b/config/talos_plotjuggler.xml new file mode 100644 index 0000000..db2b765 --- /dev/null +++ b/config/talos_plotjuggler.xml @@ -0,0 +1,1329 @@ +<?xml version='1.0' encoding='UTF-8'?> +<root> + <tabbed_widget name="Main Window" parent="main_window"> + <plotmatrix rows="4" columns="2" tab_name="leg_1"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.210092" top="0.210042" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_absolute_encoder_position" R="222" B="18" G="15"/> + <curve name="/introspection_data/leg_left_1_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_left_1_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-7.223535" top="6.144435" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-9.118346" top="9.219244" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_torque_sensor" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.200791" top="0.197833" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_velocity" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.210084" top="0.210681" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_right_1_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_right_1_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-6.855131" top="5.800781" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-9.687184" top="9.030818" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.210331" top="0.207907" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_2"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.105106" top="0.105582" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_left_2_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_left_2_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-2.849942" top="6.792502" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-7.000271" top="14.687718" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.106640" top="0.101505" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.105089" top="0.105133" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_right_2_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_right_2_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-4.179279" top="4.894359" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-15.954158" top="5.764051" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.101588" top="0.108101" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_3"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-1.025058" top="0.025047" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_left_3_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_left_3_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-13.065029" top="14.094239" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-26.990174" top="3.755434" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.476008" top="0.466914" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-1.025574" top="0.025357" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_right_3_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_right_3_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-13.392454" top="14.218084" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-23.474300" top="5.716509" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.474981" top="0.476844" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_4"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.039630" top="2.039519" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_left_4_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_left_4_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-21.076500" top="20.566500" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-13.455188" top="23.347602" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.913155" top="0.917798" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.041008" top="2.040532" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_right_4_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_right_4_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-20.941125" top="21.316125" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-10.443768" top="27.285391" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.935422" top="0.948018" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_5"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-1.025113" top="0.025016" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_left_5_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_left_5_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-12.191614" top="13.910734" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-3.735298" top="5.085135" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.468965" top="0.463100" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-1.025797" top="0.025040" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_right_5_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_right_5_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-12.013482" top="13.732602" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-3.378772" top="5.999879" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.466734" top="0.464493" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_6"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.105101" top="0.105023" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_left_6_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_left_6_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-2.662160" top="2.329519" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-2.156611" top="1.306831" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.098471" top="0.097277" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.105135" top="0.105172" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_right_6_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_right_6_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-2.813060" top="2.695250" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-1.851111" top="1.098165" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.095958" top="0.096169" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="6" columns="2" tab_name="leg_temp"> + <plot row="0" col="0"> + <range right="437.423965" bottom="28.598165" top="29.102942" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_motor_temperature" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="24.310938" top="24.634361" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_motor_temperature" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="24.352010" top="25.529911" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_motor_temperature" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="28.497856" top="30.350740" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_motor_temperature" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="25.754141" top="26.700022" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_motor_temperature" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="22.299886" top="22.463653" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_motor_temperature" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="28.169366" top="28.620935" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_motor_temperature" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="24.783593" top="25.132760" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_motor_temperature" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="25.362480" top="26.798548" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_motor_temperature" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="29.598418" top="31.658205" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_motor_temperature" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="27.070701" top="27.954252" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_motor_temperature" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="22.651140" top="22.837042" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_motor_temperature" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="7" columns="2" tab_name="arm_pos"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.515683" top="0.115464" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_1_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_1_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="0.484863" top="1.118663" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_left_2_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_2_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-0.315093" top="0.315589" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_left_3_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_left_3_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-1.525029" top="-0.474648" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_4_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_4_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="-0.630052" top="0.630620" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_5_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_left_5_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_5_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="-0.318038" top="0.315207" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_6_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_left_6_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_left_6_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="0"> + <range right="437.423965" bottom="-0.316489" top="0.316106" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_7_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_7_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_7_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.116295" top="0.515091" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_1_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_1_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-1.115057" top="-0.484582" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_right_2_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_right_2_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-0.315048" top="0.315087" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_right_3_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_3_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-1.525037" top="-0.474596" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_4_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_4_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="-0.630036" top="0.630055" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_5_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_right_5_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_right_5_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="-0.315114" top="0.315138" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_6_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_right_6_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_6_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="1"> + <range right="437.423965" bottom="-0.315094" top="0.315067" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_7_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_7_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_7_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="7" columns="2" tab_name="arm_effort"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-10.180131" top="13.618371" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-8.280617" top="13.166536" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_effort" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-5.657479" top="7.549369" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-7.771475" top="8.360525" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="-4.440800" top="5.441800" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_5_joint_effort" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="-2.075726" top="2.320256" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_6_joint_effort" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_6_motor_effort" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="0"> + <range right="437.423965" bottom="-2.470679" top="1.499969" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_7_joint_effort" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_7_motor_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-9.602756" top="13.696976" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_effort" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-10.730645" top="13.388495" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_effort" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-5.274500" top="7.220500" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-8.783425" top="9.084425" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_effort" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="-4.599319" top="5.389069" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_5_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="-1.895293" top="1.769323" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_6_joint_effort" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_6_motor_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="1"> + <range right="437.423965" bottom="-1.843793" top="1.940123" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_7_joint_effort" R="0" B="128" G="0"/> + <curve name="/introspection_data/arm_right_7_motor_effort" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="arm_torque"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-7.123202" top="8.819966" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-0.091127" top="32.609113" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_torque_sensor" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="1.132165" top="13.033079" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_torque_sensor" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-13.688265" top="2.453076" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-9.292502" top="5.532310" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_torque_sensor" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-27.349070" top="-7.201840" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-13.363645" top="1.236103" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_torque_sensor" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-14.415256" top="-0.500100" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_torque_sensor" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <currentPlotMatrix index="4"/> + </tabbed_widget> + <tabbed_widget name="Main Window" parent="main_window"> + <plotmatrix rows="4" columns="2" tab_name="leg_1"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.210092" top="0.210042" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_absolute_encoder_position" R="222" B="18" G="15"/> + <curve name="/introspection_data/leg_left_1_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_left_1_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-7.223535" top="6.144435" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-9.118346" top="9.219244" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_torque_sensor" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.200791" top="0.197833" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_joint_velocity" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.210084" top="0.210681" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_right_1_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_right_1_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-6.855131" top="5.800781" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-9.687184" top="9.030818" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.210331" top="0.207907" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_2"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.105106" top="0.105582" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_left_2_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_left_2_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-2.849942" top="6.792502" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-7.000271" top="14.687718" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.106640" top="0.101505" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.105089" top="0.105133" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_right_2_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_right_2_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-4.179279" top="4.894359" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-15.954158" top="5.764051" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.101588" top="0.108101" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_3"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-1.025058" top="0.025047" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_left_3_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_left_3_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-13.065029" top="14.094239" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-26.990174" top="3.755434" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.476008" top="0.466914" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-1.025574" top="0.025357" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_right_3_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_right_3_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-13.392454" top="14.218084" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-23.474300" top="5.716509" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.474981" top="0.476844" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_4"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.039630" top="2.039519" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_left_4_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_left_4_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-21.076500" top="20.566500" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-13.455188" top="23.347602" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.913155" top="0.917798" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.041008" top="2.040532" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_right_4_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_right_4_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-20.941125" top="21.316125" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-10.443768" top="27.285391" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.935422" top="0.948018" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_5"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-1.025113" top="0.025016" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_left_5_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_left_5_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-12.191614" top="13.910734" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-3.735298" top="5.085135" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.468965" top="0.463100" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-1.025797" top="0.025040" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/leg_right_5_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/leg_right_5_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-12.013482" top="13.732602" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-3.378772" top="5.999879" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.466734" top="0.464493" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_joint_velocity" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="leg_6"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.105101" top="0.105023" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/leg_left_6_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/leg_left_6_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-2.662160" top="2.329519" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-2.156611" top="1.306831" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-0.098471" top="0.097277" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_joint_velocity" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.105135" top="0.105172" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/leg_right_6_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/leg_right_6_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-2.813060" top="2.695250" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-1.851111" top="1.098165" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-0.095958" top="0.096169" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_joint_velocity" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="6" columns="2" tab_name="leg_temp"> + <plot row="0" col="0"> + <range right="437.423965" bottom="28.598165" top="29.102942" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_1_motor_temperature" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="24.310938" top="24.634361" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_2_motor_temperature" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="24.352010" top="25.529911" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_3_motor_temperature" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="28.497856" top="30.350740" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_4_motor_temperature" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="25.754141" top="26.700022" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_5_motor_temperature" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="22.299886" top="22.463653" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_left_6_motor_temperature" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="28.169366" top="28.620935" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_1_motor_temperature" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="24.783593" top="25.132760" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_2_motor_temperature" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="25.362480" top="26.798548" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_3_motor_temperature" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="29.598418" top="31.658205" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_4_motor_temperature" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="27.070701" top="27.954252" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_5_motor_temperature" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="22.651140" top="22.837042" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/leg_right_6_motor_temperature" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="7" columns="2" tab_name="arm_pos"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-0.515683" top="0.115464" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_1_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_1_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="0.484863" top="1.118663" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_left_2_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_2_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-0.315093" top="0.315589" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_left_3_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_left_3_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-1.525029" top="-0.474648" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_4_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_4_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="-0.630052" top="0.630620" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_5_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_left_5_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_5_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="-0.318038" top="0.315207" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_6_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_left_6_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_left_6_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="0"> + <range right="437.423965" bottom="-0.316489" top="0.316106" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_7_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_7_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_left_7_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-0.116295" top="0.515091" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_1_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_1_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-1.115057" top="-0.484582" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_right_2_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_right_2_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-0.315048" top="0.315087" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_right_3_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_3_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-1.525037" top="-0.474596" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_4_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_4_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="-0.630036" top="0.630055" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_5_joint_absolute_encoder_position" R="255" B="0" G="0"/> + <curve name="/introspection_data/arm_right_5_joint_position" R="0" B="255" G="0"/> + <curve name="/introspection_data/arm_right_5_joint_position_command" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="-0.315114" top="0.315138" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_6_joint_absolute_encoder_position" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_right_6_joint_position" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_6_joint_position_command" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="1"> + <range right="437.423965" bottom="-0.315094" top="0.315067" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_7_joint_absolute_encoder_position" R="128" B="0" G="0"/> + <curve name="/introspection_data/arm_right_7_joint_position" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_right_7_joint_position_command" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="7" columns="2" tab_name="arm_effort"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-10.180131" top="13.618371" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-8.280617" top="13.166536" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_effort" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="-5.657479" top="7.549369" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-7.771475" top="8.360525" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_effort" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="0"> + <range right="437.423965" bottom="-4.440800" top="5.441800" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_5_joint_effort" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="0"> + <range right="437.423965" bottom="-2.075726" top="2.320256" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_6_joint_effort" R="0" B="128" G="128"/> + <curve name="/introspection_data/arm_left_6_motor_effort" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="0"> + <range right="437.423965" bottom="-2.470679" top="1.499969" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_7_joint_effort" R="160" B="164" G="160"/> + <curve name="/introspection_data/arm_left_7_motor_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-9.602756" top="13.696976" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_effort" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-10.730645" top="13.388495" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_effort" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-5.274500" top="7.220500" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_effort" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-8.783425" top="9.084425" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_effort" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="4" col="1"> + <range right="437.423965" bottom="-4.599319" top="5.389069" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_5_joint_effort" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="5" col="1"> + <range right="437.423965" bottom="-1.895293" top="1.769323" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_6_joint_effort" R="255" B="255" G="0"/> + <curve name="/introspection_data/arm_right_6_motor_effort" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="6" col="1"> + <range right="437.423965" bottom="-1.843793" top="1.940123" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_7_joint_effort" R="0" B="128" G="0"/> + <curve name="/introspection_data/arm_right_7_motor_effort" R="0" B="128" G="128"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <plotmatrix rows="4" columns="2" tab_name="arm_torque"> + <plot row="0" col="0"> + <range right="437.423965" bottom="-7.123202" top="8.819966" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_1_joint_torque_sensor" R="0" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="0"> + <range right="437.423965" bottom="-0.091127" top="32.609113" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_2_joint_torque_sensor" R="255" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="0"> + <range right="437.423965" bottom="1.132165" top="13.033079" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_3_joint_torque_sensor" R="255" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="0"> + <range right="437.423965" bottom="-13.688265" top="2.453076" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_left_4_joint_torque_sensor" R="0" B="128" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="0" col="1"> + <range right="437.423965" bottom="-9.292502" top="5.532310" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_1_joint_torque_sensor" R="160" B="164" G="160"/> + <transform value="noTransform"/> + </plot> + <plot row="1" col="1"> + <range right="437.423965" bottom="-27.349070" top="-7.201840" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_2_joint_torque_sensor" R="128" B="0" G="128"/> + <transform value="noTransform"/> + </plot> + <plot row="2" col="1"> + <range right="437.423965" bottom="-13.363645" top="1.236103" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_3_joint_torque_sensor" R="128" B="0" G="0"/> + <transform value="noTransform"/> + </plot> + <plot row="3" col="1"> + <range right="437.423965" bottom="-14.415256" top="-0.500100" left="0.000000"/> + <limitY/> + <curve name="/introspection_data/arm_right_4_joint_torque_sensor" R="0" B="255" G="0"/> + <transform value="noTransform"/> + </plot> + </plotmatrix> + <currentPlotMatrix index="4"/> + </tabbed_widget> + <use_relative_time_offset enabled="1"/> + <Plugins> + <DataLoad_CSV> + <default time_axis=""/> + </DataLoad_CSV> + <DataLoad_ROS_bags> + <selected_topics list="/introspection_data"/> + </DataLoad_ROS_bags> + <ROS_Topic_Streamer> + <selected_topics list=""/> + </ROS_Topic_Streamer> + <RosoutPublisherROS/> + <TopicPublisherROS/> + </Plugins> + <previouslyLoadedDatafile filename="/home/user/2018-09-23-18-06-22.bag"/> +</root> + diff --git a/launch/talos_gazebo.launch b/launch/talos_gazebo.launch new file mode 100644 index 0000000..1c2f478 --- /dev/null +++ b/launch/talos_gazebo.launch @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<launch> + <arg name="world" default="empty"/> <!-- empty, small_office, ... (see ../worlds) --> + <arg name="gzpose" default="-x 0.0 -y 0.0 -z 1.16 -R 0.0 -P 0.0 -Y 0.0"/> + <arg name="gui" default="true"/> + <arg name="debug" default="false"/> + <arg name="recording" default="false"/> + <arg name="extra_gazebo_args" default=""/> + + <arg name="load_model" default="true"/> <!-- AS: should probably be false by default --> + <arg name="robot" default="full_v2"/> <!-- full, lower_body, foot --> + <arg name="foot_collision" default="thinbox"/> + <arg name="enable_leg_passive" default="true"/> + <arg name="default_configuration_type" default="zeros"/> + + <env name="GAZEBO_MODEL_PATH" value="$(find talos_gazebo)/models:$(optenv GAZEBO_MODEL_PATH)"/> + + <!-- start up world --> + <include file="$(find pal_gazebo_worlds)/launch/pal_gazebo.launch"> + <arg name="world" value="$(arg world)"/> + <arg name="gui" value="$(arg gui)"/> + <arg name="debug" value="$(arg debug)"/> + <arg name="recording" value="$(arg recording)"/> + <arg name="extra_gazebo_args" value="$(arg extra_gazebo_args)"/> + </include> + + + <group if="$(arg load_model)"> + <include file="$(find talos_data)/robots/upload.launch" > + <arg name="robot" value="$(arg robot)"/> + <arg name="foot_collision" default="$(arg foot_collision)"/> + <arg name="enable_leg_passive" default="$(arg enable_leg_passive)"/> + <arg name="default_configuration_type" default="$(arg default_configuration_type)"/> + </include> + </group> + + + <!-- spawn robot in simulation --> + <include file="$(find talos_gazebo)/launch/talos_spawn.launch"> + <arg name="robot" value="$(arg robot)"/> + <arg name="gzpose" value="$(arg gzpose)"/> + </include> + + <!-- default controllers --> + <!-- <include file="$(find talos_controller_configuration)/launch/talos_default_controllers.launch"/> --> + <include file="$(find talos_bringup)/launch/talos_bringup.launch" /> +</launch> diff --git a/launch/talos_spawn.launch b/launch/talos_spawn.launch new file mode 100644 index 0000000..aad59da --- /dev/null +++ b/launch/talos_spawn.launch @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<launch> + <arg name="robot" default="full_v2"/> + <arg name="gzpose" default="-x 0 -y 0 -z 1.0 -R 0.0 -P 0.0 -Y 0.0"/> + + <!-- PAL Hardware gazebo config --> + <include file="$(find talos_controller_configuration)/launch/selective_rosparam_loader.launch"> + <arg name="robot" value="$(arg robot)" /> + <arg name="prefix" value="$(find talos_hardware_gazebo)/config/sensors/" /> + </include> + + + <!-- PID gains --> + <rosparam command="load" file="$(find talos_hardware_gazebo)/config/pids.yaml"/> + + <!-- Spawn robot in Gazebo --> + <node pkg="gazebo_ros" type="spawn_model" name="spawn_model" + args="-urdf -param robot_description $(arg gzpose) -model talos" /> + + <node ns="/rgbd/rgb/high_res" pkg="image_proc" type="image_proc" name="image_proc_high_res"/> + <node ns="/rgbd/rgb" pkg="image_proc" type="image_proc" name="image_proc"/> +</launch> diff --git a/package.xml b/package.xml index c592f17..9806465 100644 --- a/package.xml +++ b/package.xml @@ -2,9 +2,9 @@ <package format="2"> <name>talos_data</name> <version>1.0.4</version> - <description>The talos_description package</description> + <description>The talos_data package</description> - <maintainer email="hilario.tome@pal-robotics.com">Hilario Tomé</maintainer> + <maintainer email="olivier.stasse@laas.fr">Olivier Stasse</maintainer> <license>LGPL-3.0</license> diff --git a/robots/talos_full_no_grippers.urdf.xacro b/robots/talos_full_no_grippers.urdf.xacro index 95c9416..1051877 100644 --- a/robots/talos_full_no_grippers.urdf.xacro +++ b/robots/talos_full_no_grippers.urdf.xacro @@ -14,15 +14,15 @@ xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> <xacro:if value="$(arg enable_crane)"> - <xacro:include filename="$(find talos_description)/urdf/crane/crane.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/crane/crane.urdf.xacro" /> </xacro:if> - <xacro:include filename="$(find talos_description)/urdf/torso/torso.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/head/head.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/arm/arm_v2.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/sensors/ftsensor.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/leg.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/torso/torso.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/head/head.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/arm_v2.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/ftsensor.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/leg.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> <xacro:include filename="$(find talos_description_inertial)/urdf/inertial.xacro" /> <xacro:talos_torso name="torso" /> @@ -43,8 +43,8 @@ <xacro:talos_leg prefix="right" reflect="-1" /> <!-- Generic simulator_gazebo plugins --> - <xacro:include filename="$(find talos_description)/gazebo/gazebo.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/gazebo/gazebo.urdf.xacro" /> <!-- Materials for visualization --> - <xacro:include filename="$(find talos_description)/urdf/materials.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/materials.urdf.xacro" /> </robot> diff --git a/robots/talos_full_v1.urdf.xacro b/robots/talos_full_v1.urdf.xacro index 130d71e..d7d6d18 100644 --- a/robots/talos_full_v1.urdf.xacro +++ b/robots/talos_full_v1.urdf.xacro @@ -14,17 +14,17 @@ xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> <xacro:if value="$(arg enable_crane)"> - <xacro:include filename="$(find talos_description)/urdf/crane/crane.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/crane/crane.urdf.xacro" /> </xacro:if> - <xacro:include filename="$(find talos_description)/urdf/torso/torso.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/head/head.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/torso/torso.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/head/head.urdf.xacro" /> <!--arm_v1 loadded because of the different joint range for 1st DoF--> - <xacro:include filename="$(find talos_description)/urdf/arm/arm_v1.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/sensors/ftsensor.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/gripper/gripper.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/leg.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/arm_v1.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/ftsensor.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/gripper/gripper.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/leg.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> <xacro:include filename="$(find talos_description_inertial)/urdf/inertial.xacro" /> <xacro:talos_torso name="torso" /> @@ -48,8 +48,8 @@ <xacro:talos_leg prefix="right" reflect="-1" /> <!-- Generic simulator_gazebo plugins --> - <xacro:include filename="$(find talos_description)/gazebo/gazebo.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/gazebo/gazebo.urdf.xacro" /> <!-- Materials for visualization --> - <xacro:include filename="$(find talos_description)/urdf/materials.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/materials.urdf.xacro" /> </robot> diff --git a/robots/talos_full_v2.urdf.xacro b/robots/talos_full_v2.urdf.xacro index 5fb80e4..73fb67d 100644 --- a/robots/talos_full_v2.urdf.xacro +++ b/robots/talos_full_v2.urdf.xacro @@ -14,17 +14,25 @@ xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> <xacro:if value="$(arg enable_crane)"> - <xacro:include filename="$(find talos_description)/urdf/crane/crane.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/crane/crane.urdf.xacro" /> </xacro:if> - <xacro:include filename="$(find talos_description)/urdf/torso/torso.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/head/head.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/torso/torso.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/head/head.urdf.xacro" /> <!--arm_v1 loadded because of the different joint range for 1st DoF--> - <xacro:include filename="$(find talos_description)/urdf/arm/arm_v2.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/sensors/ftsensor.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/gripper/gripper.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/leg.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/arm_v2.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/ftsensor.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/gripper/gripper.urdf.xacro" /> + + <xacro:if value="$(arg enable_leg_passive)"> + <xacro:include filename="$(find talos_data)/urdf/leg/leg_passive.urdf.xacro" /> + </xacro:if> + <xacro:property name="var_enable_leg_passive" value="$(arg enable_leg_passive)"/> + <xacro:if value="${var_enable_leg_passive != 'true'}"> + <xacro:include filename="$(find talos_data)/urdf/leg/leg.urdf.xacro" /> + </xacro:if> + + <xacro:include filename="$(find talos_data)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> <xacro:include filename="$(find talos_description_inertial)/urdf/inertial.xacro" /> <xacro:talos_torso name="torso" /> @@ -48,8 +56,8 @@ <xacro:talos_leg prefix="right" reflect="-1" /> <!-- Generic simulator_gazebo plugins --> - <xacro:include filename="$(find talos_description)/gazebo/gazebo.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/gazebo/gazebo.urdf.xacro" /> <!-- Materials for visualization --> - <xacro:include filename="$(find talos_description)/urdf/materials.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/materials.urdf.xacro" /> </robot> diff --git a/robots/talos_lower_body.urdf.xacro b/robots/talos_lower_body.urdf.xacro index 72264b1..e1d6f4a 100644 --- a/robots/talos_lower_body.urdf.xacro +++ b/robots/talos_lower_body.urdf.xacro @@ -13,9 +13,9 @@ xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> - <xacro:include filename="$(find talos_description)/urdf/sensors/ftsensor.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/leg.urdf.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/ftsensor.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/leg.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> <xacro:include filename="$(find talos_description_inertial)/urdf/inertial.xacro" /> <!--************************--> @@ -33,7 +33,7 @@ <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/base_link.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/base_link.STL" scale="1 1 1"/> </geometry> <material name="LightGrey" /> </visual> @@ -41,7 +41,7 @@ <collision> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/base_link_collision.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/base_link_collision.STL" scale="1 1 1"/> </geometry> </collision> </link> @@ -51,8 +51,8 @@ <xacro:talos_leg prefix="right" reflect="-1" /> <!-- Generic simulator_gazebo plugins --> - <xacro:include filename="$(find talos_description)/gazebo/gazebo.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/gazebo/gazebo.urdf.xacro" /> <!-- Materials for visualization --> - <xacro:include filename="$(find talos_description)/urdf/materials.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/materials.urdf.xacro" /> </robot> diff --git a/robots/upload.launch b/robots/upload.launch index e95b737..3950f95 100644 --- a/robots/upload.launch +++ b/robots/upload.launch @@ -2,19 +2,25 @@ <launch> <!-- arg could be v1 (Pyerene) or v2 (IJS/PAL) --> - <arg name="robot" default="full_v1"/> + <arg name="robot" default="full_v2"/> <arg name="foot_collision" default="default"/> <!-- default / thinbox / tallbox --> <arg name="enable_crane" default="false"/> <!-- crude adhoc approximation of the crane for collision avoidance --> <arg name="parameter_name" default="robot_description"/> + <!-- TODO AS: zeros should not be the default (self-colliding), but it is currently required for tests --> + <arg name="default_configuration_type" default="zeros"/> + <arg name="enable_leg_passive" default="true"/> <!-- Robot description --> <param name="$(arg parameter_name)" - command=" $(find xacro)/xacro.py --inorder - - '$(find talos_description)/robots/talos_$(arg robot).urdf.xacro' + command=" $(find xacro)/xacro --inorder + '$(find talos_data)/robots/talos_$(arg robot).urdf.xacro' foot_collision:=$(arg foot_collision) - enable_crane:=$(arg enable_crane)" + enable_crane:=$(arg enable_crane) + enable_leg_passive:=$(arg enable_leg_passive)" /> + + <rosparam command="load" file="$(find talos_data)/config/default_configuration_$(arg default_configuration_type).yaml" /> + <rosparam command="load" file="$(find talos_data)/config/collision_parameters.yaml" /> </launch> diff --git a/robots/upload_talos.launch b/robots/upload_talos.launch index 6afd767..ddccf21 100644 --- a/robots/upload_talos.launch +++ b/robots/upload_talos.launch @@ -3,7 +3,7 @@ <arg name="foot_collision" default="default"/> <arg name="enable_crane" default="false"/> - <include file="$(find talos_description)/robots/upload.launch"> + <include file="$(find talos_data)/robots/upload.launch"> <arg name="robot" value="$(arg robot)"/> <arg name="foot_collision" value="$(arg foot_collision)"/> <arg name="enable_crane" value="$(arg enable_crane)"/> diff --git a/src/SpringPlugin.cc b/src/SpringPlugin.cc new file mode 100644 index 0000000..3b753f4 --- /dev/null +++ b/src/SpringPlugin.cc @@ -0,0 +1,78 @@ +/* + * Copyright 2011 Nate Koenig & Andrew Howard + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ + +#include "gazebo/physics/physics.hh" +#include "SpringPlugin.hh" +#include <ros/ros.h> + +using namespace gazebo; + +GZ_REGISTER_MODEL_PLUGIN(SpringPlugin) + +///////////////////////////////////////////////// +SpringPlugin::SpringPlugin() +{ +} + +///////////////////////////////////////////////// +void SpringPlugin::Load(physics::ModelPtr _model, + sdf::ElementPtr _sdf) +{ + this->model = _model; + + // hardcoded params for this test + this->jointExplicitName = _sdf->Get<std::string>("joint_spring"); + + this->kpExplicit = _sdf->Get<double>("kp"); + + this->kdExplicit = _sdf->Get<double>("kd"); + + ROS_INFO_NAMED("SpringPlugin", + "Loading joint : %s kp: %f kd: %f", + this->jointExplicitName, + this->kpExplicit, + this->kdExplicit); +} + +///////////////////////////////////////////////// +void SpringPlugin::Init() +{ + this->jointExplicit = this->model->GetJoint(this->jointExplicitName); + + /* this->jointImplicit->SetStiffnessDamping(0, this->kpImplicit, + this->kdImplicit); */ + + this->updateConnection = event::Events::ConnectWorldUpdateBegin( + boost::bind(&SpringPlugin::ExplicitUpdate, this)); +} + + + +///////////////////////////////////////////////// +void SpringPlugin::ExplicitUpdate() +{ + common::Time currTime = this->model->GetWorld()->GetSimTime(); + common::Time stepTime = currTime - this->prevUpdateTime; + this->prevUpdateTime = currTime; + + double pos = this->jointExplicit->GetAngle(0).Radian(); + double vel = this->jointExplicit->GetVelocity(0); + double force = -this->kpExplicit * pos + -this->kdExplicit * vel; + this->jointExplicit->SetForce(0, force); +} + diff --git a/src/SpringPlugin.hh b/src/SpringPlugin.hh new file mode 100644 index 0000000..586fa21 --- /dev/null +++ b/src/SpringPlugin.hh @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2012 Open Source Robotics Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * +*/ +#ifndef __GAZEBO_SPRING_TEST_PLUGIN_HH__ +#define __GAZEBO_SPRING_TEST_PLUGIN_HH__ + +#include <string> + +#include "gazebo/common/Plugin.hh" +#include "gazebo/physics/physics.hh" +#include "gazebo/util/system.hh" + +namespace gazebo +{ + class GAZEBO_VISIBLE SpringPlugin : public ModelPlugin + { + public: SpringPlugin(); + public: virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf); + public: virtual void Init(); + + private: void ExplicitUpdate(); + + private: event::ConnectionPtr updateConnection; + + private: physics::ModelPtr model; + + private: common::Time prevUpdateTime; + + private: physics::JointPtr jointExplicit; + private: std::string jointExplicitName; + + /// \brief simulate spring/damper with ExplicitUpdate function + private: double kpExplicit; + + /// \brief simulate spring/damper with ExplicitUpdate function + private: double kdExplicit; + + }; +} +#endif diff --git a/urdf/arm/arm_v1.urdf.xacro b/urdf/arm/arm_v1.urdf.xacro index 3512ca6..5b79c55 100644 --- a/urdf/arm/arm_v1.urdf.xacro +++ b/urdf/arm/arm_v1.urdf.xacro @@ -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" /> @@ -47,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> @@ -86,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> @@ -126,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> @@ -169,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> @@ -236,7 +236,7 @@ <xacro:talos_wrist name="arm" parent="${name}_${side}_4_link" side="${side}" reflect="${reflect}" /> <!-- extensions --> - <xacro:include filename="$(find talos_description)/urdf/arm/${side}_arm.transmissions.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/${side}_arm.transmissions.urdf.xacro" /> </xacro:macro> diff --git a/urdf/arm/arm_v2.urdf.xacro b/urdf/arm/arm_v2.urdf.xacro index a3bfaf7..088b19a 100644 --- a/urdf/arm/arm_v2.urdf.xacro +++ b/urdf/arm/arm_v2.urdf.xacro @@ -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" /> @@ -40,7 +40,7 @@ <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> @@ -48,7 +48,7 @@ <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> @@ -77,7 +77,7 @@ <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> @@ -85,7 +85,7 @@ <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> @@ -112,7 +112,7 @@ <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> @@ -120,7 +120,7 @@ <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> @@ -149,7 +149,7 @@ <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> @@ -157,7 +157,7 @@ <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> @@ -217,7 +217,7 @@ <xacro:talos_wrist name="arm" parent="${name}_${side}_4_link" side="${side}" reflect="${reflect}" /> <!-- extensions --> - <xacro:include filename="$(find talos_description)/urdf/arm/${side}_arm.transmissions.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/${side}_arm.transmissions.urdf.xacro" /> </xacro:macro> diff --git a/urdf/arm/left_arm.transmissions.urdf.xacro b/urdf/arm/left_arm.transmissions.urdf.xacro index d81750b..19f32e1 100644 --- a/urdf/arm/left_arm.transmissions.urdf.xacro +++ b/urdf/arm/left_arm.transmissions.urdf.xacro @@ -11,7 +11,7 @@ <robot xmlns:xacro="http://ros.org/wiki/xacro"> <!--File includes--> - <xacro:include filename="$(find talos_description)/urdf/arm/arm.transmission.xacro" /> + <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 --> diff --git a/urdf/arm/left_wrist.transmissions.urdf.xacro b/urdf/arm/left_wrist.transmissions.urdf.xacro index 277e72a..406064e 100644 --- a/urdf/arm/left_wrist.transmissions.urdf.xacro +++ b/urdf/arm/left_wrist.transmissions.urdf.xacro @@ -11,7 +11,7 @@ <robot xmlns:xacro="http://ros.org/wiki/xacro"> <!--File includes--> - <xacro:include filename="$(find talos_description)/urdf/arm/wrist.transmission.xacro" /> + <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 --> diff --git a/urdf/arm/right_arm.transmissions.urdf.xacro b/urdf/arm/right_arm.transmissions.urdf.xacro index 17afbc5..68b02da 100644 --- a/urdf/arm/right_arm.transmissions.urdf.xacro +++ b/urdf/arm/right_arm.transmissions.urdf.xacro @@ -11,7 +11,7 @@ <robot xmlns:xacro="http://ros.org/wiki/xacro"> <!--File includes--> - <xacro:include filename="$(find talos_description)/urdf/arm/arm.transmission.xacro" /> + <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 --> diff --git a/urdf/arm/right_wrist.transmissions.urdf.xacro b/urdf/arm/right_wrist.transmissions.urdf.xacro index 448968e..4d942fb 100644 --- a/urdf/arm/right_wrist.transmissions.urdf.xacro +++ b/urdf/arm/right_wrist.transmissions.urdf.xacro @@ -11,7 +11,7 @@ <robot xmlns:xacro="http://ros.org/wiki/xacro"> <!--File includes--> - <xacro:include filename="$(find talos_description)/urdf/arm/wrist.transmission.xacro" /> + <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 --> diff --git a/urdf/arm/wrist.urdf.xacro b/urdf/arm/wrist.urdf.xacro index b8c27f2..1741ed5 100644 --- a/urdf/arm/wrist.urdf.xacro +++ b/urdf/arm/wrist.urdf.xacro @@ -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" /> @@ -37,7 +37,7 @@ <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> @@ -45,7 +45,7 @@ <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> @@ -71,7 +71,7 @@ <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> @@ -79,7 +79,7 @@ <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> @@ -105,7 +105,7 @@ <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> @@ -113,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> @@ -160,7 +160,7 @@ </gazebo> <!-- extensions --> - <xacro:include filename="$(find talos_description)/urdf/arm/${side}_wrist.transmissions.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/${side}_wrist.transmissions.urdf.xacro" /> </xacro:macro> </robot> diff --git a/urdf/crane/crane.urdf.xacro b/urdf/crane/crane.urdf.xacro index feaa96b..af2337a 100644 --- a/urdf/crane/crane.urdf.xacro +++ b/urdf/crane/crane.urdf.xacro @@ -11,7 +11,7 @@ <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_data)/urdf/deg_to_rad.xacro" /> <xacro:macro name="crane" params="parent"> diff --git a/urdf/gripper/gripper.urdf.xacro b/urdf/gripper/gripper.urdf.xacro index 967d7d8..abb7e5d 100644 --- a/urdf/gripper/gripper.urdf.xacro +++ b/urdf/gripper/gripper.urdf.xacro @@ -3,9 +3,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/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"> @@ -16,7 +16,7 @@ <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> @@ -24,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> @@ -44,7 +44,7 @@ <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> @@ -52,7 +52,7 @@ <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> @@ -74,7 +74,7 @@ <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> @@ -82,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> @@ -105,7 +105,7 @@ <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> @@ -113,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> @@ -136,7 +136,7 @@ <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> @@ -144,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> @@ -166,7 +166,7 @@ <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> @@ -174,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> @@ -197,7 +197,7 @@ <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> @@ -205,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> @@ -227,7 +227,7 @@ <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> @@ -235,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> diff --git a/urdf/head/head.urdf.xacro b/urdf/head/head.urdf.xacro index 2b49c5d..75eef3b 100644 --- a/urdf/head/head.urdf.xacro +++ b/urdf/head/head.urdf.xacro @@ -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/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--> @@ -32,7 +32,7 @@ <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> @@ -40,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> @@ -86,7 +86,7 @@ <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> @@ -94,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> diff --git a/urdf/leg/foot_collision_default.urdf.xacro b/urdf/leg/foot_collision_default.urdf.xacro index 68c76e9..fd599d4 100644 --- a/urdf/leg/foot_collision_default.urdf.xacro +++ b/urdf/leg/foot_collision_default.urdf.xacro @@ -5,7 +5,7 @@ <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"/> + <mesh filename="package://talos_data/meshes/v2/ankle_X_collision.stl" scale="1 ${reflect*1} 1"/> </geometry> </collision> </xacro:macro> diff --git a/urdf/leg/leg.urdf.xacro b/urdf/leg/leg.urdf.xacro index b6f6328..c9bfd28 100644 --- a/urdf/leg/leg.urdf.xacro +++ b/urdf/leg/leg.urdf.xacro @@ -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 --> @@ -21,7 +21,7 @@ <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> @@ -29,7 +29,7 @@ <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> </link> @@ -53,7 +53,7 @@ <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> @@ -61,7 +61,7 @@ <collision> <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> @@ -84,7 +84,7 @@ <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> @@ -92,7 +92,7 @@ <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> </link> @@ -115,7 +115,7 @@ <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> @@ -123,7 +123,7 @@ <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> </link> @@ -148,7 +148,7 @@ <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> @@ -156,7 +156,7 @@ <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> </link> @@ -179,7 +179,7 @@ <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> diff --git a/urdf/leg/leg_passive.urdf.xacro b/urdf/leg/leg_passive.urdf.xacro new file mode 100644 index 0000000..2b3f3f4 --- /dev/null +++ b/urdf/leg/leg_passive.urdf.xacro @@ -0,0 +1,341 @@ +<?xml version="1.0"?> + +<robot xmlns:xacro="http://ros.org/wiki/xacro" name="talos"> + + <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 --> + <xacro:property name="eps_meters" value="0.005" /> + <xacro:property name="leg_reduction" value="1.0" /> + <xacro:property name="leg_friction" value="0.0" /> + <xacro:property name="leg_damping" value="0.0" /> + + + <xacro:macro name="talos_leg" params="prefix reflect"> + <!-- Joint hip_z (mesh link) : child link hip_x -> parent link base_link --> + + <link name="leg_${prefix}_1_link"> + <xacro:call macro="leg_${prefix}_1_link_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 ${reflect*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 ${reflect*1} 1"/> + </geometry> + </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" + 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" /> + <dynamics friction="${leg_friction}" damping="${leg_damping}"/> + </joint> + + <link name="leg_${prefix}_1_link_passive"> + <inertial> + <mass value="0.001"/> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001" /> + <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> + </inertial> + </link> + + <joint name="leg_${prefix}_1_joint_passive" type="revolute"> + <parent link="leg_${prefix}_1_link"/> + <child link="leg_${prefix}_1_link_passive"/> + <origin xyz="0.0 0.0 0.0" + rpy="0.00000 0.00000 0.00000"/> + <axis xyz="0 1 0" /> + <limit lower="${(-180.0)*deg_to_rad}" upper="${(180.0)*deg_to_rad}" effort="100" velocity="3.87" /> + <dynamics friction="970.0" damping="0.0"/> + </joint> + + <gazebo> + <plugin filename="libSpringPlugin.so" name="spring_leg_${prefix}_1_joint_passive"> + <joint_spring>leg_${prefix}_1_joint_passive</joint_spring> + <kp>970.0</kp> + <kd>0.0</kd> + </plugin> + </gazebo> + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + + <!-- <link name="leg_${prefix}_2_link_passive"> --> + <!-- <inertial> --> + <!-- <mass value="0.001"/> --> + <!-- <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001" /> --> + <!-- <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/> --> + <!-- </inertial> --> + <!-- </link> --> + + <!-- <joint name="leg_${prefix}_2_joint_passive" type="revolute"> --> + <!-- <parent link="leg_${prefix}_1_link_passive"/> --> + <!-- <child link="leg_${prefix}_2_link_passive"/> --> + <!-- <origin xyz="0.0 0.0 0.0" --> + <!-- rpy="0.00000 0.00000 0.00000"/> --> + <!-- <axis xyz="0 1 0" /> --> + <!-- <limit lower="${(-180.0)*deg_to_rad}" upper="${(180.0)*deg_to_rad}" effort="100" velocity="3.87" /> --> + <!-- <dynamics friction="970.0" damping="0.0"/> --> + <!-- </joint> --> + + + <!-- Joint hip_x (mesh link) : child link hip_y -> parent link hip_z --> + + <link name="leg_${prefix}_2_link"> + <xacro:call macro="leg_${prefix}_2_link_inertial" /> + + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0" /> + <geometry> + <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" /> + <geometry> + <mesh filename="package://talos_data/meshes/v2/hip_x_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </collision> + </link> + + + <joint name="leg_${prefix}_2_joint" type="revolute"> + <parent link="leg_${prefix}_1_link_passive"/> + <child link="leg_${prefix}_2_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="1 0 0" /> + <limit lower="-0.5236" upper="0.5236" effort="160" velocity="5.8" /> + <dynamics friction="${leg_friction}" damping="${leg_damping}"/> + </joint> + + <!-- Joint hip_y (mesh link) : child link knee -> parent link hip_x --> + + <link name="leg_${prefix}_3_link"> + <xacro:call macro="leg_${prefix}_3_link_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 ${reflect*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 ${reflect*1} 1"/> + </geometry> + </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" + 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" /> + <dynamics friction="${leg_friction}" damping="${leg_damping}"/> + </joint> + + <!-- Joint knee (mesh link) : child link ankle_y -> parent link hip_y --> + + <link name="leg_${prefix}_4_link"> + <xacro:call macro="leg_${prefix}_4_link_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 ${reflect*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 ${reflect*1} 1"/> + </geometry> + </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}"/> + <axis xyz="0 1 0" /> + <limit lower="0" upper="2.618" effort="300" velocity="7" /> + <dynamics friction="${leg_friction}" damping="${leg_damping}"/> + </joint> + + <!-- Joint ankle_y (mesh link) : child link ankle_x -> parent link knee --> + + <link name="leg_${prefix}_5_link"> + <!-- 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_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_data/meshes/v2/ankle_Y_collision.stl" scale="1 ${reflect*1} 1"/> + </geometry> + </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" + rpy="${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad} ${0.00000 * deg_to_rad}"/> + <axis xyz="0 1 0" /> + <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"> + <xacro:call macro="leg_${prefix}_6_link_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 ${reflect*1} 1"/> + </geometry> + <material name="Grey" /> + </visual> + + <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" + 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"> + <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> + + <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> + </gazebo> + <gazebo reference="leg_${prefix}_2_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_${prefix}_3_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_${prefix}_4_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + <gazebo reference="leg_${prefix}_5_link"> + <mu1>0.9</mu1> + <mu2>0.9</mu2> + </gazebo> + + <!-- contact model for foot surface --> + <gazebo reference="leg_${prefix}_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_${prefix}_1_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_${prefix}_2_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_${prefix}_3_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_${prefix}_4_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_${prefix}_5_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + </gazebo> + <gazebo reference="leg_${prefix}_6_joint"> + <implicitSpringDamper>1</implicitSpringDamper> + <provideFeedback>1</provideFeedback> + </gazebo> + + <gazebo reference="leg_${prefix}_1_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_${prefix}_2_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_${prefix}_3_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_${prefix}_4_link"> + <material>Gazebo/FlatBlack</material> + </gazebo> + <gazebo reference="leg_${prefix}_5_link"> + <material>Gazebo/White</material> + </gazebo> + <gazebo reference="leg_${prefix}_6_link"> + <material>Gazebo/White</material> + </gazebo> + + </xacro:macro> + +</robot> diff --git a/urdf/sensors/orbbec_astra_pro.urdf.xacro b/urdf/sensors/orbbec_astra_pro.urdf.xacro index aca2216..9ebd19b 100644 --- a/urdf/sensors/orbbec_astra_pro.urdf.xacro +++ b/urdf/sensors/orbbec_astra_pro.urdf.xacro @@ -24,7 +24,7 @@ --> <robot xmlns:xacro="http://ros.org/wiki/xacro"> - <xacro:include filename="$(find talos_description)/urdf/sensors/orbbec_astra_pro.gazebo.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/orbbec_astra_pro.gazebo.xacro" /> <!-- Macro --> <xacro:macro name="orbbec_astra_pro" params="name parent *origin *optical_origin"> @@ -44,7 +44,7 @@ <visual> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> - <mesh filename="package://talos_description/meshes/sensors/orbbec/orbbec.STL" /> + <mesh filename="package://talos_data/meshes/sensors/orbbec/orbbec.STL" /> </geometry> <material name="DarkGrey"> <color rgba="0.5 0.5 0.5 1"/> diff --git a/urdf/talos_full_common.urdf.xacro b/urdf/talos_full_common.urdf.xacro new file mode 100644 index 0000000..e2fd331 --- /dev/null +++ b/urdf/talos_full_common.urdf.xacro @@ -0,0 +1,60 @@ +<?xml version="1.0"?> +<!-- + + Copyright (c) 2016, PAL Robotics, S.L. + All rights reserved. + + This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. + To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to + Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +--> +<robot name="talos" xmlns:xacro="http://ros.org/wiki/xacro" + xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" + xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" + xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> + + <xacro:if value="$(arg enable_crane)"> + <xacro:include filename="$(find talos_data)/urdf/crane/crane.urdf.xacro" /> + </xacro:if> + + <xacro:include filename="$(find talos_data)/urdf/torso/torso.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/head/head.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/arm/arm.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/ftsensor.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/gripper/gripper.urdf.xacro" /> + <!-- <xacro:if value="$(arg enable_leg_passive)"> --> + <xacro:include filename="$(find talos_data)/urdf/leg/leg_passive.urdf.xacro" /> + <!-- </xacro:if> --> + <!-- <xacro:unless value="$(arg enable_leg_passive)"> + <xacro:include filename="$(find talos_data)/urdf/leg/leg.urdf.xacro" /> + </xacro:unless> --> + + <xacro:include filename="$(find talos_data)/urdf/leg/foot_collision_$(arg foot_collision).urdf.xacro" /> + <xacro:include filename="$(find talos_description_inertial)/urdf/inertial.xacro" /> + + <xacro:talos_torso name="torso" /> + + <xacro:if value="$(arg enable_crane)"> + <xacro:crane parent="torso_2_link"/> + </xacro:if> + + <xacro:talos_head name="head" parent="torso_2_link"/> + + <xacro:talos_arm name="arm" parent="torso_2_link" side="left" reflect="1" /> + <xacro:talos_arm name="arm" parent="torso_2_link" side="right" reflect="-1" /> + + <xacro:ft_sensor name="wrist" parent="arm_right_7_link" side="right" reflect="1" /> + <xacro:ft_sensor name="wrist" parent="arm_left_7_link" side="left" reflect="-1" /> + + <xacro:talos_gripper name="gripper_left" parent="wrist_left_ft_tool_link" reflect="1" /> + <xacro:talos_gripper name="gripper_right" parent="wrist_right_ft_tool_link" reflect="-1" /> + + <xacro:talos_leg prefix="left" reflect="1" /> + <xacro:talos_leg prefix="right" reflect="-1" /> + + <!-- Generic simulator_gazebo plugins --> + <xacro:include filename="$(find talos_data)/gazebo/gazebo.urdf.xacro" /> + <!-- Materials for visualization --> + <xacro:include filename="$(find talos_data)/urdf/materials.urdf.xacro" /> + +</robot> diff --git a/urdf/talos_full_v2.urdf.xacro b/urdf/talos_full_v2.urdf.xacro new file mode 100644 index 0000000..3b573dc --- /dev/null +++ b/urdf/talos_full_v2.urdf.xacro @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<!-- + + Copyright (c) 2016, PAL Robotics, S.L. + All rights reserved. + + This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. + To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to + Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +--> +<robot name="talos" xmlns:xacro="http://ros.org/wiki/xacro" + xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" + xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" + xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> + + <xacro:include filename="$(find talos_data)/urdf/arm/arm_specifics_v2.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/talos_full_common.urdf.xacro" /> +</robot> diff --git a/urdf/torso/torso.urdf.xacro b/urdf/torso/torso.urdf.xacro index f92e7b1..c61cdb8 100644 --- a/urdf/torso/torso.urdf.xacro +++ b/urdf/torso/torso.urdf.xacro @@ -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/torso/torso.transmission.xacro" /> - <xacro:include filename="$(find talos_description)/urdf/sensors/imu.urdf.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/deg_to_rad.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/torso/torso.transmission.xacro" /> + <xacro:include filename="$(find talos_data)/urdf/sensors/imu.urdf.xacro" /> <!--Constant parameters--> <xacro:property name="torso_max_vel" value="5.4" /> @@ -30,7 +30,7 @@ <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/torso_2.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/torso_2.STL" scale="1 1 1"/> </geometry> <material name="LightGrey" /> </visual> @@ -38,7 +38,7 @@ <collision> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/torso_2_collision.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/torso_2_collision.STL" scale="1 1 1"/> </geometry> </collision> </link> @@ -53,7 +53,7 @@ <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/torso_1.STL" scale="1 1 1"/> </geometry> <material name="LightGrey" /> </visual> @@ -61,7 +61,7 @@ <collision> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/torso_1.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/torso_1.STL" scale="1 1 1"/> </geometry> </collision> </link> @@ -92,7 +92,7 @@ <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/base_link.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/base_link.STL" scale="1 1 1"/> </geometry> <material name="LightGrey" /> </visual> @@ -100,7 +100,7 @@ <collision> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> - <mesh filename="package://talos_description/meshes/torso/base_link_collision.STL" scale="1 1 1"/> + <mesh filename="package://talos_data/meshes/torso/base_link_collision.STL" scale="1 1 1"/> </geometry> </collision> </link> -- GitLab