You're reading the documentation for an older, but still supported, version of ROS 2. For information on the latest version, please have a look at jazzy.

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 as goal_uuid with the goal) on motion/h2r_keepalive at 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