Back to packages

robonix.skill.dual_piper_initialize

Safely home and enable two AgileX Piper arms and grippers.

README

Dual Piper Initialize Skill

Robonix skill for safely preparing two AgileX Piper arms and their factory grippers. It verifies both providers, zeros both manually closed grippers, enables the six arm drivers, enables both grippers, and verifies the resulting state.

The skill does not command a joint position or a gripper opening. Enabling an arm applies holding torque at its current posture.

Required Arm Capabilities

Each configured primitive provider must expose these MCP contracts:

  • robonix/primitive/arm/status
  • robonix/primitive/arm/set_gripper_zero
  • robonix/primitive/arm/enable_arm
  • robonix/primitive/arm/enable_gripper

Prefer the official ROS-oriented syswonder/primitive-agilex-piper-arm-rbnx when it exposes all of these contracts for the target deployment. If the official primitive is unavailable or does not yet provide the required independent arm, gripper, and gripper-zeroing capabilities, use the direct-SDK community implementation at SJTU-DDST/primitive-agilex-piper-arm-sdk-rbnx. The skill binds to capability contracts, so either backend is suitable when its provider exposes the complete interface above.

The provider IDs are configurable and default to left_piper and right_piper:

skill:
  - name: dual_piper_initialize
    url: https://github.com/syswonder/skill-dual-piper-initialize-rbnx
    branch: main
    config:
      left_provider_id: left_piper
      right_provider_id: right_piper

Safety

Before calling the run capability, manually close both grippers fully and explicitly confirm that physical state. The request confirmation must not be inferred from an earlier action or a vague instruction.

The preflight requires valid telemetry and communication, no active hardware fault, motor temperatures below 75 C, driver temperatures below 85 C, and a reported gripper opening within 0.010 m of closed. A failure stops the remaining sequence without moving either arm or guessing a recovery action.

See CAPABILITY.md for the agent-facing invocation contract.

Validate and Test

rbnx validate .
rbnx build
PYTHONPATH=. rbnx-build/venv/bin/python -m unittest discover -s tests

Hardware tests must be performed with both workspaces clear and an operator ready to stop the system.

License

MIT