From e10be75d33f89118d705089dc57f75361550642d Mon Sep 17 00:00:00 2001 From: Sam Pfeiffer <sam.pfeiffer@pal-robotics.com> Date: Mon, 26 Sep 2016 15:49:05 +0200 Subject: [PATCH] Fix gripper controller and add controller launchers for follow joint trajectory controllers --- ...yaml => joint_trajectory_controllers.yaml} | 0 .../full_body_position_controllers.launch | 29 +++++++++++ .../launch/legs_position_controllers.launch | 11 ++++ .../upper_body_position_controllers.launch | 27 ++++++++++ .../urdf/gripper/gripper.gazebo.xacro | 52 +++++++++++++++++++ .../urdf/gripper/gripper.transmission.xacro | 25 +++++++++ 6 files changed, 144 insertions(+) rename talos_controller_configuration/config/{joint_trajectalosy_controllers.yaml => joint_trajectory_controllers.yaml} (100%) create mode 100644 talos_controller_configuration/launch/full_body_position_controllers.launch create mode 100644 talos_controller_configuration/launch/legs_position_controllers.launch create mode 100644 talos_controller_configuration/launch/upper_body_position_controllers.launch create mode 100644 talos_description/urdf/gripper/gripper.gazebo.xacro create mode 100644 talos_description/urdf/gripper/gripper.transmission.xacro diff --git a/talos_controller_configuration/config/joint_trajectalosy_controllers.yaml b/talos_controller_configuration/config/joint_trajectory_controllers.yaml similarity index 100% rename from talos_controller_configuration/config/joint_trajectalosy_controllers.yaml rename to talos_controller_configuration/config/joint_trajectory_controllers.yaml diff --git a/talos_controller_configuration/launch/full_body_position_controllers.launch b/talos_controller_configuration/launch/full_body_position_controllers.launch new file mode 100644 index 0000000..53f34d5 --- /dev/null +++ b/talos_controller_configuration/launch/full_body_position_controllers.launch @@ -0,0 +1,29 @@ +<launch> + + <rosparam command="load" file="$(find talos_controller_configuration)/config/joint_trajectory_controllers.yaml" /> + + <!-- Spawn upper-body joint trajectory controllers --> + <node name="upper_body_controllers_spawner" + pkg="controller_manager" type="spawner" output="screen" + args="torso_controller + head_controller + left_arm_controller + right_arm_controller + left_gripper_controller + right_gripper_controller + left_leg_controller + right_leg_controller" /> + + <!-- Point head action --> + <group ns="head_controller"> + <node name="point_head_action" pkg="head_action" type="head_action" output="screen" > + <rosparam> + pan_link: head_1_link + tilt_link: head_2_link + success_angle_threshold: 0.01 + </rosparam> + </node> + </group> + + +</launch> diff --git a/talos_controller_configuration/launch/legs_position_controllers.launch b/talos_controller_configuration/launch/legs_position_controllers.launch new file mode 100644 index 0000000..630ba49 --- /dev/null +++ b/talos_controller_configuration/launch/legs_position_controllers.launch @@ -0,0 +1,11 @@ +<launch> + + <rosparam command="load" file="$(find talos_controller_configuration)/config/joint_trajectory_controllers.yaml" /> + + <!-- Spawn legs joint trajectory controllers --> + <node name="upper_body_controllers_spawner" + pkg="controller_manager" type="spawner" output="screen" + args="left_leg_controller + right_leg_controller" /> + +</launch> diff --git a/talos_controller_configuration/launch/upper_body_position_controllers.launch b/talos_controller_configuration/launch/upper_body_position_controllers.launch new file mode 100644 index 0000000..f2b9dbe --- /dev/null +++ b/talos_controller_configuration/launch/upper_body_position_controllers.launch @@ -0,0 +1,27 @@ +<launch> + + <rosparam command="load" file="$(find talos_controller_configuration)/config/joint_trajectory_controllers.yaml" /> + + <!-- Spawn upper-body joint trajectory controllers --> + <node name="upper_body_controllers_spawner" + pkg="controller_manager" type="spawner" output="screen" + args="torso_controller + head_controller + left_arm_controller + right_arm_controller + left_gripper_controller + right_gripper_controller" /> + + <!-- Point head action --> + <group ns="head_controller"> + <node name="point_head_action" pkg="head_action" type="head_action" output="screen" > + <rosparam> + pan_link: head_1_link + tilt_link: head_2_link + success_angle_threshold: 0.01 + </rosparam> + </node> + </group> + + +</launch> diff --git a/talos_description/urdf/gripper/gripper.gazebo.xacro b/talos_description/urdf/gripper/gripper.gazebo.xacro new file mode 100644 index 0000000..5a1f5e1 --- /dev/null +++ b/talos_description/urdf/gripper/gripper.gazebo.xacro @@ -0,0 +1,52 @@ +<?xml version="1.0"?> +<!-- + + Copyright (c) 2016, PAL Robotics, S.L. + All rights reserved. + + This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. + To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to + Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +--> +<robot xmlns:xacro="http://ros.org/wiki/xacro"> + + <!-- MACROS FOR MIMIC JOINTS --> + <xacro:macro name="finger_mimics" params="name"> + <plugin name="mimic_${name}_inner_double_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so"> + <joint>${name}_joint</joint> + <mimicJoint>${name}_inner_double_joint</mimicJoint> + <multiplier>1.0</multiplier> + <offset>0.0</offset> + <hasPID/> + </plugin> + <plugin name="mimic_${name}_fingertip_1_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so"> + <joint>${name}_joint</joint> + <mimicJoint>${name}_fingertip_1_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <hasPID/> + </plugin> + <plugin name="mimic_${name}_fingertip_2_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so"> + <joint>${name}_joint</joint> + <mimicJoint>${name}_fingertip_2_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <hasPID/> + </plugin> + <plugin name="mimic_${name}_motor_single_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so"> + <joint>${name}_joint</joint> + <mimicJoint>${name}_motor_single_joint</mimicJoint> + <multiplier>1.0</multiplier> + <offset>0.0</offset> + <hasPID/> + </plugin> + <plugin name="mimic_${name}_fingertip_3_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so"> + <joint>${name}_joint</joint> + <mimicJoint>${name}_fingertip_3_joint</mimicJoint> + <multiplier>-1.0</multiplier> + <offset>0.0</offset> + <hasPID/> + </plugin> + </xacro:macro> + +</robot> \ No newline at end of file diff --git a/talos_description/urdf/gripper/gripper.transmission.xacro b/talos_description/urdf/gripper/gripper.transmission.xacro new file mode 100644 index 0000000..86e9439 --- /dev/null +++ b/talos_description/urdf/gripper/gripper.transmission.xacro @@ -0,0 +1,25 @@ +<?xml version="1.0"?> +<!-- + + Copyright (c) 2011, PAL Robotics, S.L. + All rights reserved. + + This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. + To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to + Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. +--> +<robot xmlns:xacro="http://ros.org/wiki/xacro"> + + <xacro:macro name="gripper_transmission" params="name reduction" > + <transmission name="${name}_trans"> + <type>transmission_interface/SimpleTransmission</type> + <actuator name="${name}_motor" > + <mechanicalReduction>${reduction}</mechanicalReduction> + </actuator> + <joint name="${name}_joint" > + <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface> + </joint> + </transmission> + </xacro:macro> + +</robot> \ No newline at end of file -- GitLab