# Goal
bool use_vision # False uses named joint poses.
# Vision (use_vision=true)
string detection_type # Always uses marker detection.
int32 tag_id # ArUco ID.
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.
# Named poses (use_vision=false)
string approach_pose # Approach/retreat pose key.
string target_pose # Place 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
# Vision approach in base_link; empty on failure or non-vision places.
float64[] detected_position # XYZ (m).
float64[] detected_orientation # Quaternion [x,y,z,w].
---
# Feedback
string current_stage # Not currently published.