ROS action contracts
EROBS clients submit task scripts through MTCExecution. This reference lists its fields and those of the task action servers. A ROS action carries a goal, progress feedback, and a terminal result.
Fields and comments come from the .action definitions. Use the task reference for JSON inputs and the execution guide for runtime behavior. Tutorial actions use separate interfaces.
EndEffectorAction
Source: src/beambot_interfaces/action/EndEffectorAction.action.
Default endpoint: /beambot_endeffector.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
MoveIt group; empty skips the operation. |
|
|
Named SRDF state for the group. |
|
|
Orchestrator-managed; empty disables cross-goal model reuse |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
MTCExecution
Source: src/beambot_interfaces/action/MTCExecution.action.
Default endpoint: /beambot_execution.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
Task script JSON. |
|
|
Plan-only preview; moveto/end_effector only. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
— |
|
|
— |
|
|
XYZ (m). |
|
|
Quaternion [x,y,z,w]. |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
— |
|
|
— |
|
|
— |
MoveToAction
Source: src/beambot_interfaces/action/MoveToAction.action.
Default endpoint: /beambot_moveto.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
Pose key or SRDF state. |
|
|
“”/auto/joint: auto; cartesian; pilz: LIN; pilz_ptp: PTP. |
|
|
IK frame: forward/backward/left/right/up/down; x/-x/y/-y/z/-z. |
|
|
Relative distance (m); finite and > 0. |
|
|
XYZ (m), optionally followed by roll/pitch/yaw (deg). |
|
|
Cartesian frame; empty = base_link. |
|
|
Pose name: six joint angles (deg). |
|
|
Empty = no constraints. |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
PickSampleAction
Source: src/beambot_interfaces/action/PickSampleAction.action.
Default endpoint: /beambot_pick_sample.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
False uses named joint poses. |
|
|
marker (default) or sample_roi. |
|
|
ArUco ID. |
|
|
Reserved; unused. |
|
|
base_link Z offset (m); 0 = gripper default. |
|
|
Scan/retreat pose key. |
|
|
— |
|
|
— |
|
|
— |
|
|
Flange-frame direction. |
|
|
Offset (m); > 0 when direction is set. |
|
|
Empty = auto-detect. |
|
|
sample_roi; empty = farthest_edge. |
|
|
sample_roi; 0 = 6.5 mm. |
|
|
Approach/retreat pose key. |
|
|
Grasp pose key. |
|
|
MoveIt gripper group. |
|
|
Maps grasp/release to SRDF states. |
|
|
Pose name: six joint angles (deg). |
|
|
Empty = no constraints. |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
True if detected or unchecked; only valid on success. |
|
|
XYZ (m). |
|
|
Quaternion [x,y,z,w]. |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
|
|
Not currently published. |
PipettorAction
Source: src/beambot_interfaces/action/PipettorAction.action.
Default endpoint: /beambot_pipettor.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
SUCK, EXPEL, EJECT_TIP, SET_LED. |
|
|
Currently ignored by the pipettor driver. |
|
|
SET_LED color. |
|
|
Unused. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
PlaceSampleAction
Source: src/beambot_interfaces/action/PlaceSampleAction.action.
Default endpoint: /beambot_place_sample.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
False uses named joint poses. |
|
|
Always uses marker detection. |
|
|
ArUco ID. |
|
|
base_link Z offset (m); 0 = gripper default. |
|
|
Scan/retreat pose key. |
|
|
— |
|
|
— |
|
|
— |
|
|
Flange-frame direction. |
|
|
Offset (m); > 0 when direction is set. |
|
|
Empty = auto-detect. |
|
|
Approach/retreat pose key. |
|
|
Place pose key. |
|
|
MoveIt gripper group. |
|
|
Maps grasp/release to SRDF states. |
|
|
Pose name: six joint angles (deg). |
|
|
Empty = no constraints. |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
XYZ (m). |
|
|
Quaternion [x,y,z,w]. |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
|
|
Not currently published. |
ToolExchangeAction
Source: src/beambot_interfaces/action/ToolExchangeAction.action.
Default endpoint: /beambot_toolexchange.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
load or dock. |
|
|
Configured gripper to load/dock. |
|
|
Current gripper; none if detached. |
|
|
Physical dock number; range not validated. |
|
|
Approach joint-pose key. |
|
|
Pose name: six joint angles (deg). |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
VisionScanAction
Source: src/beambot_interfaces/action/VisionScanAction.action.
Default endpoint: /beambot_vision_scan.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
Flattened six-joint poses (rad). |
|
|
Must match flattened pose count. |
|
|
Captures per pose; <= 0 uses 3. |
|
|
Per-capture timeout (s); <= 0 uses 10. |
|
|
Unused by scan server. |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
Unique tags cached. |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
|
|
Not currently published. |
VisionTaskAction
Source: src/beambot_interfaces/action/VisionTaskAction.action.
Default endpoint: /beambot_vision_task.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
marker (default), sample_roi, spincoater_pocket, spincoater_sample. |
|
|
approach_pose (default) or j6_snap. |
|
|
ArUco ID or sample_roi anchor. |
|
|
Reserved; unused. |
|
|
marker/sample_roi timeout (s). |
|
|
sample_roi; empty = farthest_edge. |
|
|
sample_roi inset; 0 = no inset. |
|
|
marker scans: flattened six-joint poses (rad). |
|
|
0 = single-position detection. |
|
|
base_link Z offset (m); 0 = gripper default. |
|
|
— |
|
|
— |
|
|
— |
|
|
Flange-frame direction. |
|
|
Offset (m); > 0 when direction is set. |
|
|
Joint-pose key; joint 6 is corrected. |
|
|
Calibration offset (deg). |
|
|
Forward move after positioning (m); 0 = none. |
|
|
Pre-detection pose key; empty skips the move. |
|
|
grasp/release or SRDF state; empty = none. |
|
|
MoveIt gripper group. |
|
|
Maps grasp/release to SRDF states. |
|
|
Open gripper before the scan_pose move. |
|
|
approach_pose retreat key; empty = none. |
|
|
approach_pose IK frame; empty = auto-detect. |
|
|
Pose name: six joint angles (deg). |
|
|
Empty = no constraints. |
|
|
Skips approach_pose execution, not scans; ignored by j6_snap. |
|
|
Model cache key; empty disables cross-goal reuse. |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
True if detected or unchecked; only valid on success. |
|
|
XYZ (m). |
|
|
Quaternion [x,y,z,w]. |
|
|
NONE or CARTESIAN_POSE (also reported for joint moves). |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
MoveToNamedState
Source: src/demos/hello_orchestrator_py_interfaces/action/MoveToNamedState.action.
Tutorial interface: inspect the demo server/client for its endpoint and behavior.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |
OrchestratorTask
Source: src/demos/hello_orchestrator_py_interfaces/action/OrchestratorTask.action.
Tutorial interface: inspect the demo server/client for its endpoint and behavior.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
|
|
— |
PrintMessage
Source: src/demos/hello_orchestrator_py_interfaces/action/PrintMessage.action.
Tutorial interface: inspect the demo server/client for its endpoint and behavior.
Goal
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
Result
Type |
Field |
Contract notes |
|---|---|---|
|
|
— |
|
|
— |
Feedback
Type |
Field |
Contract notes |
|---|---|---|
— |
— |
No fields declared. |