Actions
This section describes the various ROS2 Actions used in the Doosan Robotics package, detailing the structure of their goal, feedback and result messages.
Hold-to-Run Keep-Alive
JogH2r, MovejH2r and MovelH2r move the robot only while the client holds the motion.
While the goal runs, publish its goal UUID (
unique_identifier_msgs/msg/UUID, the same ID sent asgoal_uuidwith the goal) onmotion/h2r_keepaliveat 10 Hz or faster.When no keep-alive arrives within
h2r_keepalive_timeout_ms(controller parameter, default 200 ms), the robot stops and the goal is aborted.To stop the robot, stop publishing or cancel the goal.
Only one hold-to-run goal can be active at a time. A second goal is rejected.
The test_action_movej_h2r, test_action_movel_h2r and test_action_jog_h2r examples in dsr_example show the pattern.
JogH2r
This action initiates a jog motion along the specified axis. It is a hold-to-run version of the jog command. The robot moves only while the client publishes the goal keep-alive (see Hold-to-Run Keep-Alive).
Goal:
int8 jog_axis
int8 move_reference
float64 velocity
Result:
bool success
Feedback:
float64[6] pos
MovejH2r
This action initiates a joint-space motion to a target position. It is a hold-to-run version of the movej command. The robot moves only while the client publishes the goal keep-alive (see Hold-to-Run Keep-Alive).
Goal:
float64[6] target_pos
float64[6] target_vel
float64[6] target_acc
Result:
bool success
Feedback:
float64[6] pos
MovelH2r
This action initiates a linear motion to a target position in task space. It is a hold-to-run version of the movel command. The robot moves only while the client publishes the goal keep-alive (see Hold-to-Run Keep-Alive).
Goal:
float64[6] target_pos
float64[2] target_vel
float64[2] target_acc
Result:
bool success
Feedback:
float64[6] pos