You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Wire kRobotResetFailed across ResetRobotStateAction failure branches
(goal rejection + non-SUCCEEDED result for reset, unload-traj and
load-traj steps).
- Instrument Isaac TF transform timeouts with kIsaacFoundationPoseFailed
to match the sibling no-message and no-valid-detection timeouts.
- Replace silent FAILURE in GripperTrajAction::onRunning !goal_sent_
with BT::RuntimeError, matching the programmer-error policy.
- Add reportFaultPassed on onHalted for WaitForInputAction and
WaitForObjectAction so abandoned waits do not leave kSignalWaitInputTimeout
/ kObjectWaitTimeout lingering in FaultManager.
- Drop orphan codes kPlannerMissingMoveId (programmer-error path uses
throw) and kObjectExistsCheckFailed (CheckObjectExists is intentionally
not instrumented; FAILURE is normal control flow there).
- Pin medkit apt packages to MEDKIT_VERSION=0.4.0-1 so an upstream bump
does not silently change CI behaviour.
- Drop humble from the CI matrix until ros-humble-ros2-medkit-* debs
appear on packages.ros.org (rosdistro entry exists; debs do not yet).
- Update docs/FAULT_CODES.md: add kRobotResetFailed, expand the Isaac
FoundationPose entry to cover TF timeouts, and document the
reportFaultPassed-on-halt pairing for both wait codes.
Copy file name to clipboardExpand all lines: docs/FAULT_CODES.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ node sources; the source-of-truth string constants live in
35
35
|`MANYMOVE_OBJECT_REMOVE_FAILED`| ERROR |`RemoveCollisionObjectAction` action result `success=false`. | - |
36
36
|`MANYMOVE_OBJECT_ATTACH_FAILED`| ERROR |`AttachDetachObjectAction` action result `success=false`. | - |
37
37
|`MANYMOVE_OBJECT_GET_POSE_FAILED`| ERROR |`GetObjectPoseAction` action result `success=false`. | - |
38
-
|`MANYMOVE_OBJECT_WAIT_TIMEOUT`| WARN |`WaitForObjectAction` elapsed without observing the expected presence/absence. |`reportFaultPassed` when the wait condition is met. |
38
+
|`MANYMOVE_OBJECT_WAIT_TIMEOUT`| WARN |`WaitForObjectAction` elapsed without observing the expected presence/absence. |`reportFaultPassed` when the wait condition is met or on `onHalted` (subtree abandoned the wait). |
39
39
40
40
`CheckObjectExistsAction` returning FAILURE for "object missing" is intentional
41
41
control flow used by callers as a condition; it is not instrumented.
@@ -46,8 +46,9 @@ control flow used by callers as a condition; it is not instrumented.
46
46
|------|----------|---------|------|
47
47
|`MANYMOVE_SIGNAL_SET_OUTPUT_FAILED`| ERROR |`SetOutputAction` action result reports failure. | - |
48
48
|`MANYMOVE_SIGNAL_GET_INPUT_FAILED`| ERROR |`GetInputAction` action result reports failure, or `WaitForInputAction` cannot connect to the action server within 5s. | - |
49
-
|`MANYMOVE_SIGNAL_WAIT_INPUT_TIMEOUT`| WARN |`WaitForInputAction` timeout elapsed without observing the desired value. |`reportFaultPassed` on success. |
49
+
|`MANYMOVE_SIGNAL_WAIT_INPUT_TIMEOUT`| WARN |`WaitForInputAction` timeout elapsed without observing the desired value. |`reportFaultPassed` on success or on `onHalted` (subtree abandoned the wait). |
50
50
|`MANYMOVE_ROBOT_NOT_READY`| CRITICAL |`CheckRobotStateAction` reports `ready=false`. |`reportFaultPassed` once the robot reports `ready=true`. |
51
+
|`MANYMOVE_ROBOT_RESET_FAILED`| ERROR |`ResetRobotStateAction` fails any of its three steps (unload trajectory controller, reset robot state, load trajectory controller); raised on goal rejection or non-SUCCEEDED result. | - |
51
52
52
53
## Logic / TF (`action_nodes_logic.cpp`)
53
54
@@ -67,7 +68,7 @@ control flow used by callers as a condition; it is not instrumented.
67
68
68
69
| Code | Severity | Trigger | Pair |
69
70
|------|----------|---------|------|
70
-
|`MANYMOVE_ISAAC_FOUNDATION_POSE_FAILED`| ERROR |`FoundationPoseAlignmentNode` timed out waiting for detections, or no detection passed the `target_id`/`min_score` filter within the configured timeout. | - |
71
+
|`MANYMOVE_ISAAC_FOUNDATION_POSE_FAILED`| ERROR |`FoundationPoseAlignmentNode` timed out waiting for detections, no detection passed the `target_id`/`min_score` filter within the configured timeout, or TF transform of the detection pose to the alignment / planning frame timed out. | - |
71
72
72
73
`GetEntityPoseNode`/`SetEntityPoseNode` service errors and Isaac TF timeouts
73
74
are not yet instrumented; they will gain dedicated codes when the
0 commit comments