Skip to content

[Enhancement]: Proposal: InterbotixAdapter for URML's substrate-neutral robot-intent language (X-Series, ROS 2 + legacy ROS 1) #261

Description

@idoco2003

Describe the solution you'd like

Proposing an InterbotixAdapter under URML's reference/cobot-runtime/ targeting interbotix_ros_manipulators plus the sibling interbotix_ros_core and interbotix_ros_toolboxes. The adapter routes URML Layer-2 primitives (move_to, grasp, release, measure, wait_for, report) and the industrial-profile extensions (pick_from, place_at, swap_tool) onto the X-Series joint-trajectory action goals and gripper services across ROS 2 Humble, ROS 2 Rolling, and (optionally) ROS 1 Noetic for the legacy lane.

URML is an Apache 2.0 specification for substrate-neutral robot intent at urml.dev. Interbotix sits where URML's educational, research, and US-federal-compliant lanes converge: the X-Series is de-facto research-arm hardware in US curricula (Stanford, CMU, MIT, Berkeley) and powers Mobile ALOHA's four-arm bimanual rig via four VX300S units. URML's value-add is the substrate-neutral vocabulary that lets a program written against an Interbotix arm retarget to a UR3, a Franka, or a WLKATA Haro380 without source changes, with static validation as the safety boundary.

This is proposal-only, posted as part of URML's Move #3 outreach (the affordable / desktop / educational tier). No adapter code in this PR. The per-arm manifest split across the X-Series (PX100 / PX150 / RX150 / RX200 / WX200 / WX250 / WX250S / VX250 / VX300 / VX300S), the gripper-variant schema, and the ROS 1 Noetic legacy-lane coverage are observable choices worth your input before shipping.

This RFC also cross-links to two of URML's Move #2 outreach RFCs: RFC-0040 (Hugging Face LeRobot) covers the policy library distributed in part on Interbotix hardware, and RFC-0056 (Stanford ALOHA) covers the Mobile ALOHA recording pipeline that runs on Interbotix arms. The two cross-links are observed in the RFC; no joint action proposed.

Full RFC with proposed package layout, per-arm manifest sketches, drawbacks, and alternatives:

https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0064-trossen-interbotix-outreach.md

Feedback we'd value

  1. Manifest granularity. One manifest per X-Series arm, or a single parametric interbotix_x_series manifest with a model: field?
  2. ROS 1 Noetic legacy lane. Should URML's adapter cover ROS 1 Noetic, or target ROS 2 only?
  3. Gripper-variant surface. Is the gripper: field's single-value design sufficient, or do you recommend a richer schema for finger-position vs. custom end-effectors?
  4. Adapter home. URML repo (reference/cobot-runtime/), Interbotix org as a contributed example, both?
  5. Bimanual coordination. Mobile ALOHA coordinates four VX300S arms via ALOHA's recording stack. Path for a coordinate(arm0, arm1, ...) Layer-2 primitive at the ROS 2 layer, or stays at the recording / policy layer?
  6. Conformance lane. Open to a URML conformance line on the package README or in the X-Series documentation?

Thanks for the Interbotix ROS 2 packages and for the cross-ROS-version build matrix. The US-domiciled provenance plus the academic-curriculum reach is exactly what URML's open-standard story needs at the research tier of Move #3.

— Ido Yahalomi (URML maintainer, urml.dev)

Platform

No response

Is your feature request related to a problem? Please describe.

No response

Suggested code

No response

Additional Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmanipulatorsIssues related to manipulators

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions