← Source browser

src/beambot_interfaces/action/PickSampleAction.action

# Goal
bool use_vision                 # False uses named joint poses.

# Vision (use_vision=true)
string detection_type           # marker (default) or sample_roi.
int32 tag_id                    # ArUco ID.
int32 sample_index              # Reserved; unused.
float64 z_offset                # base_link Z offset (m); 0 = gripper default.
string scan_pose                # Scan/retreat pose key.
# Marker-frame offsets (m).
float64 marker_offset_x
float64 marker_offset_y
float64 marker_offset_z
string offset_direction         # Flange-frame direction.
float64 offset_distance         # Offset (m); > 0 when direction is set.
string ik_frame                 # Empty = auto-detect.
string strategy                 # sample_roi; empty = farthest_edge.
float64 edge_inset_mm           # sample_roi; 0 = 6.5 mm.

# Named poses (use_vision=false)
string approach_pose            # Approach/retreat pose key.
string target_pose              # Grasp pose key.

# Common
string gripper_group            # MoveIt gripper group.
string gripper_states_json      # Maps grasp/release to SRDF states.
string poses_json               # Pose name: six joint angles (deg).
string constraints_json         # Empty = no constraints.
string robot_model_revision     # Model cache key; empty disables cross-goal reuse.
---
# Result
bool success
string error_message
bool vacuum_ok                  # True if detected or unchecked; only valid on success.
# Vision approach in base_link; empty on failure or non-vision picks.
float64[] detected_position     # XYZ (m).
float64[] detected_orientation  # Quaternion [x,y,z,w].
---
# Feedback
string current_stage            # Not currently published.