ROS

ROS Infrastructure Notes

A Running List of ROS Infrastructure I found Useful

Posted by Rico's Nerd Cluster on April 1, 2024

ROS Actions

The ROS Action really is a mechanism that keeps track of the exeuction state of a task. ROS Actions are built on top of ROS topics.

Lifetime of ROS Actions

  1. Pending : The goal has been received by the action server, not yet processed
  2. Active : The goal is currently being processed
  3. Preempted : The goal has been preempted for a new goal
  4. Succeeded : Goal has been successfully achieved
  5. Aborted : Action Server encountered an internal error and has to abort the issue (similar to HTTP error code 503)
  6. Rejected : Goal has been rejected without processing
  7. Preempting : Goal is being cancelled after it’s been active
  8. Recalling : cancelling the goal before it got accepted
  9. Recalled : Goal has been recalled

There is a topic <ACTION_NAME>/status. Its status reflects the status of the task:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
status_list:
  - goal_id:
      id: "unique_goal_id_1"
    status: 0  # PENDING
    text: ""

status_list:
  - goal_id:
      id: "unique_goal_id_1"
    status: 1  # ACTIVE
    text: ""

status_list:
  - goal_id:
      id: "unique_goal_id_1"
    status: 3  # SUCCEEDED
    text: "Goal reached successfully."

status_list:
  - goal_id:
      id: "unique_goal_id_1"
    status: 4  # ABORTED
    text: "Goal was aborted."

status_list:
  - goal_id:
      id: "unique_goal_id_1"
    status: 2  # PREEMPTED
    text: "Goal was preempted by a new goal."