From 43f3f26cb0748026ad5feeed68faaa45309a2cba Mon Sep 17 00:00:00 2001
From: AndyZe <andyz@utexas.edu>
Date: Wed, 22 May 2019 09:10:26 -0500
Subject: [PATCH] Load the JointGroupPositionController so jog commands can be
 sent (#422)

* Load the JointGroupPositionController so jog commands can be sent

* Load new controllers for UR5/UR10, too

* Add other controllers in launch file

* Add JointGroupPositionController to UR e-series
---
 ur_e_gazebo/controller/arm_controller_ur10e.yaml | 10 ++++++++++
 ur_e_gazebo/controller/arm_controller_ur3e.yaml  | 10 ++++++++++
 ur_e_gazebo/controller/arm_controller_ur5e.yaml  | 10 ++++++++++
 ur_e_gazebo/launch/ur10e.launch                  |  4 ++++
 ur_e_gazebo/launch/ur3e.launch                   |  4 ++++
 ur_e_gazebo/launch/ur5e.launch                   |  4 ++++
 ur_e_gazebo/package.xml                          | 11 ++++++-----
 ur_gazebo/controller/arm_controller_ur10.yaml    | 10 ++++++++++
 ur_gazebo/controller/arm_controller_ur3.yaml     | 10 ++++++++++
 ur_gazebo/controller/arm_controller_ur5.yaml     | 10 ++++++++++
 ur_gazebo/launch/ur10.launch                     |  4 ++++
 ur_gazebo/launch/ur3.launch                      |  4 ++++
 ur_gazebo/launch/ur5.launch                      |  4 ++++
 ur_gazebo/package.xml                            |  8 ++++----
 14 files changed, 94 insertions(+), 9 deletions(-)

diff --git a/ur_e_gazebo/controller/arm_controller_ur10e.yaml b/ur_e_gazebo/controller/arm_controller_ur10e.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_e_gazebo/controller/arm_controller_ur10e.yaml
+++ b/ur_e_gazebo/controller/arm_controller_ur10e.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_e_gazebo/controller/arm_controller_ur3e.yaml b/ur_e_gazebo/controller/arm_controller_ur3e.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_e_gazebo/controller/arm_controller_ur3e.yaml
+++ b/ur_e_gazebo/controller/arm_controller_ur3e.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_e_gazebo/controller/arm_controller_ur5e.yaml b/ur_e_gazebo/controller/arm_controller_ur5e.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_e_gazebo/controller/arm_controller_ur5e.yaml
+++ b/ur_e_gazebo/controller/arm_controller_ur5e.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_e_gazebo/launch/ur10e.launch b/ur_e_gazebo/launch/ur10e.launch
index 92e38eb..ec37fd5 100644
--- a/ur_e_gazebo/launch/ur10e.launch
+++ b/ur_e_gazebo/launch/ur10e.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_e_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_e_gazebo)/controller/arm_controller_ur10e.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_e_gazebo/launch/ur3e.launch b/ur_e_gazebo/launch/ur3e.launch
index 63bc42a..31bc8dc 100644
--- a/ur_e_gazebo/launch/ur3e.launch
+++ b/ur_e_gazebo/launch/ur3e.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_e_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_e_gazebo)/controller/arm_controller_ur3e.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_e_gazebo/launch/ur5e.launch b/ur_e_gazebo/launch/ur5e.launch
index b58860f..7565493 100644
--- a/ur_e_gazebo/launch/ur5e.launch
+++ b/ur_e_gazebo/launch/ur5e.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_e_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_e_gazebo)/controller/arm_controller_ur5e.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_e_gazebo/package.xml b/ur_e_gazebo/package.xml
index d1cb64f..0919796 100644
--- a/ur_e_gazebo/package.xml
+++ b/ur_e_gazebo/package.xml
@@ -20,15 +20,16 @@
 
   <buildtool_depend>catkin</buildtool_depend>
   <test_depend>roslaunch</test_depend>
-  <run_depend>ur_e_description</run_depend>
-  <run_depend>gazebo_ros</run_depend>
-  <run_depend>gazebo_ros_control</run_depend>
+  <run_depend>controller_manager</run_depend>
+  <run_depend>effort_controllers</run_depend>
   <run_depend>joint_state_controller</run_depend>
   <run_depend>joint_trajectory_controller</run_depend>
-  <run_depend>effort_controllers</run_depend>
+  <run_depend>gazebo_ros</run_depend>
+  <run_depend>gazebo_ros_control</run_depend>
+  <run_depend>position_controllers</run_depend>
   <run_depend>robot_state_publisher</run_depend>
   <run_depend>rostopic</run_depend>
-  <run_depend>controller_manager</run_depend>
+  <run_depend>ur_e_description</run_depend>
 
 
   <export>
diff --git a/ur_gazebo/controller/arm_controller_ur10.yaml b/ur_gazebo/controller/arm_controller_ur10.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_gazebo/controller/arm_controller_ur10.yaml
+++ b/ur_gazebo/controller/arm_controller_ur10.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_gazebo/controller/arm_controller_ur3.yaml b/ur_gazebo/controller/arm_controller_ur3.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_gazebo/controller/arm_controller_ur3.yaml
+++ b/ur_gazebo/controller/arm_controller_ur3.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_gazebo/controller/arm_controller_ur5.yaml b/ur_gazebo/controller/arm_controller_ur5.yaml
index 7ab8870..fb7b3d4 100644
--- a/ur_gazebo/controller/arm_controller_ur5.yaml
+++ b/ur_gazebo/controller/arm_controller_ur5.yaml
@@ -19,3 +19,13 @@ arm_controller:
   stop_trajectory_duration: 0.5
   state_publish_rate:  25
   action_monitor_rate: 10
+joint_group_position_controller:
+  type: position_controllers/JointGroupPositionController
+  joints:
+     - shoulder_pan_joint
+     - shoulder_lift_joint
+     - elbow_joint
+     - wrist_1_joint
+     - wrist_2_joint
+     - wrist_3_joint
+
diff --git a/ur_gazebo/launch/ur10.launch b/ur_gazebo/launch/ur10.launch
index 182bb5c..bd422b9 100644
--- a/ur_gazebo/launch/ur10.launch
+++ b/ur_gazebo/launch/ur10.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_gazebo)/controller/arm_controller_ur10.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_gazebo/launch/ur3.launch b/ur_gazebo/launch/ur3.launch
index 3b1cae6..076e1dc 100644
--- a/ur_gazebo/launch/ur3.launch
+++ b/ur_gazebo/launch/ur3.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_gazebo)/controller/arm_controller_ur3.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_gazebo/launch/ur5.launch b/ur_gazebo/launch/ur5.launch
index 347cd93..2dc3291 100644
--- a/ur_gazebo/launch/ur5.launch
+++ b/ur_gazebo/launch/ur5.launch
@@ -21,7 +21,11 @@
 
   <include file="$(find ur_gazebo)/launch/controller_utils.launch"/>
 
+  <!-- start this controller -->
   <rosparam file="$(find ur_gazebo)/controller/arm_controller_ur5.yaml" command="load"/>
   <node name="arm_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn arm_controller" respawn="false" output="screen"/>
 
+  <!-- load other controllers -->
+  <node name="ros_control_controller_manager" pkg="controller_manager" type="controller_manager" respawn="false" output="screen" args="load joint_group_position_controller" />
+
 </launch>
diff --git a/ur_gazebo/package.xml b/ur_gazebo/package.xml
index 0692d49..0bc1f0c 100644
--- a/ur_gazebo/package.xml
+++ b/ur_gazebo/package.xml
@@ -20,16 +20,16 @@
 
   <buildtool_depend>catkin</buildtool_depend>
   <test_depend>roslaunch</test_depend>
-  <run_depend>ur_description</run_depend>
+  <run_depend>controller_manager</run_depend>
+  <run_depend>effort_controllers</run_depend>
   <run_depend>gazebo_ros</run_depend>
   <run_depend>gazebo_ros_control</run_depend>
   <run_depend>joint_state_controller</run_depend>
   <run_depend>joint_trajectory_controller</run_depend>
-  <run_depend>effort_controllers</run_depend>
+  <run_depend>position_controllers</run_depend>
   <run_depend>robot_state_publisher</run_depend>
   <run_depend>rostopic</run_depend>
-  <run_depend>controller_manager</run_depend>
-
+  <run_depend>ur_description</run_depend>
 
   <export>
   </export>
-- 
GitLab