Robonix user-facing pick skill for the Piper + Orbbec Dabai DCW vertical-grasp
pipeline. It owns robonix/skill/pick/*.
Catalog name: robonix.skill.pick.vertical_grasp.
Capability surface
Contract
Transport
Purpose
robonix/skill/pick/driver
gRPC
Lifecycle (CMD_INIT / lazy CMD_ACTIVATE)
robonix/skill/pick/pick
MCP
Pick one named object and leave it held
robonix/skill/pick/put_down
MCP
Put down the held object at the configured fixed pose
pick accepts only an open-vocabulary object_name:
{"object_name": "comb"}
The call is synchronous, uses a fixed 60 s budget, and makes one grasp
attempt. put_down has an empty request.
Runtime paths
pilot / executor
-> pick_skill.pick(object_name) MCP
-> llm_detect.detect_object MCP
-> grasp_pose.grasp_request gRPC
-> roboarm_ik.execute_grasp (approach/grasp/lift) gRPC
-> return while holding the object
pilot / executor
-> pick_skill.put_down() MCP
-> roboarm_ik.put_down gRPC
Atlas resolves all endpoints. There is no legacy ROS-service or
/graspnet fallback in this skill.
Lifecycle and dependencies
At boot, CMD_INIT only parses configuration and the skill remains
INITIALIZED. On the first tool call, CMD_ACTIVATE resolves upstream
endpoints.
Pipeline mode requires:
service/perception/object_detect/detect_object over MCP;
service/perception/grasp_pose/grasp_request over gRPC;
service/manipulation/execute_grasp over gRPC.
The following manipulation endpoints are optional during activation:
reset: observation-pose setup and failure recovery;
teach_safe: optional post-pick parking while keeping the gripper closed;
put_down: fixed-pose release used by the put_down tool.
If put_down is unavailable, picking can still succeed and leave the object
held, but the put_down tool returns an error. In vla mode,
robonix/skill/vla/execute over MCP replaces the three pipeline dependencies.
Pipeline mode
If reset is available, move to the calibrated observation pose.
Detect object_name with llm_detect.
Compute one vertical grasp pose with grasp_pose (retry=0).
Execute approach, descend/close, and lift through roboarm_ik.
Verify fresh gripper feedback on /arm/joint_states_single.
On success, leave the object held. If configured, move to the teach-safe
pose while keeping the gripper closed.
On failure, run a best-effort reset for recovery.
The grasp z and approach distance come from grasp_pose; the skill does not
perform camera calibration or IK itself.
Configuration
mode: pipeline # pipeline or vla
vla_max_steps: 50 # used only in vla mode
gripper_open_width: 0.08 # metres
gripper_close_width: 0.0 # metres
gripper_grasp_threshold_width: 0.005 # measured width above this means held
gripper_feedback_timeout_s: 2.0
gripper_joint_states_topic: /arm/joint_states_single
park_at_teach_safe_after_pick: false
The deploy may override park_at_teach_safe_after_pick; other values shown
above are the implementation defaults.
skill-pick-vertical-grasp-rbnx
Robonix user-facing pick skill for the Piper + Orbbec Dabai DCW vertical-grasp pipeline. It owns
robonix/skill/pick/*.Catalog name:
robonix.skill.pick.vertical_grasp.Capability surface
robonix/skill/pick/driverCMD_INIT/ lazyCMD_ACTIVATE)robonix/skill/pick/pickrobonix/skill/pick/put_downpickaccepts only an open-vocabularyobject_name:The call is synchronous, uses a fixed 60 s budget, and makes one grasp attempt.
put_downhas an empty request.Runtime paths
Atlas resolves all endpoints. There is no legacy ROS-service or
/graspnetfallback in this skill.Lifecycle and dependencies
At boot,
CMD_INITonly parses configuration and the skill remainsINITIALIZED. On the first tool call,CMD_ACTIVATEresolves upstream endpoints.Pipeline mode requires:
service/perception/object_detect/detect_objectover MCP;service/perception/grasp_pose/grasp_requestover gRPC;service/manipulation/execute_graspover gRPC.The following manipulation endpoints are optional during activation:
reset: observation-pose setup and failure recovery;teach_safe: optional post-pick parking while keeping the gripper closed;put_down: fixed-pose release used by theput_downtool.If
put_downis unavailable, picking can still succeed and leave the object held, but theput_downtool returns an error. Invlamode,robonix/skill/vla/executeover MCP replaces the three pipeline dependencies.Pipeline mode
resetis available, move to the calibrated observation pose.object_namewithllm_detect.grasp_pose(retry=0).roboarm_ik./arm/joint_states_single.The grasp z and approach distance come from
grasp_pose; the skill does not perform camera calibration or IK itself.Configuration
The deploy may override
park_at_teach_safe_after_pick; other values shown above are the implementation defaults.Layout
This is a pure-Python orchestration package. Its build is codegen-only; it does not vendor a ROS package.
Build and verification
After a successful pick, call
put_downbefore requesting another object if the object should be released.License
MulanPSL-2.0.