@@ -13,9 +13,9 @@ for this tutorial are available in the `blue_demos/manipulator_systems`
13
13
directory.
14
14
15
15
This tutorial includes two demonstrations. In the first demonstration, we show
16
- how to use implement reactive whole-body control using closed-loop task
17
- priority inverse kinematics control. The second demonstration extends the first
18
- by showing how to perform end effector trajectory tracking.
16
+ how to integrate reactive whole-body control using closed-loop task priority
17
+ inverse kinematics control. The second demonstration extends the first by
18
+ showing how to perform end effector trajectory tracking.
19
19
20
20
<img src = { UVMS } alt = " UVMS demo gif" style = { { width: ' 100%' , maxWidth: 700 }} />
21
21
@@ -56,10 +56,6 @@ The second demonstration extends the [Interactive whole-body control](#interacti
56
56
demonstration by integrating the auv_controllers
57
57
` end_effector_trajectory_controller ` . This controller is used to interpolate
58
58
end effector motion plans using linear and spherical linear interpolation.
59
- Similar to the ros2_controllers ` joint_trajectory_controller ` , the
60
- ` end_effector_trajectory_controller ` supports sending trajectory messages using
61
- the topic interface or the action interface. For this demonstration, we will
62
- use the topic interface.
63
59
64
60
#### Tutorial steps
65
61
@@ -70,7 +66,8 @@ use the topic interface.
70
66
```
71
67
72
68
2 . Once Gazebo and the controllers have fully loaded, you can send a reference
73
- trajectory to the controller by running the following command in a new terminal:
69
+ trajectory to the controller by running the following command in a new
70
+ terminal:
74
71
75
72
``` bash
76
73
ros2 topic pub /end_effector_trajectory_controller/trajectory auv_control_msgs/msg/EndEffectorTrajectory ' {<insert trajectory here>}'
@@ -82,3 +79,27 @@ use the topic interface.
82
79
``` bash
83
80
ros2 launch blue_demos publish_trajectory.launch.yaml
84
81
```
82
+
83
+ :::tip
84
+
85
+ The ` end_effector_trajectory_controller ` uses the default system QoS policy,
86
+ which does not guarantee message reception. So if the vehicle does not
87
+ immediately respond to the command, try resending the message.
88
+
89
+ :::
90
+
91
+ 3 . Similar to the ros2_controllers ` joint_trajectory_controller ` , the
92
+ ` end_effector_trajectory_controller ` supports sending trajectory messages
93
+ using messages (as done in the previous step) or actions. To send a
94
+ trajectory as an action goal, run the following command:
95
+
96
+ ``` bash
97
+ ros2 action send_goal /end_effector_trajectory_controller/follow_trajectory auv_control_msgs/action/FollowEndEffectorTrajectory ' {<insert action goal here>}'
98
+ ```
99
+
100
+ A pre-configured action goal is available, and can be sent to the controller
101
+ by running
102
+
103
+ ``` bash
104
+ ros2 launch blue_demos send_trajectory_action.launch.yaml
105
+ ```
0 commit comments