Skip to content

URML (open robot intent language): a validated-intent layer + capability manifest for OpenArm (request for comment) #523

Description

@idoco2003

Hi OpenArm community,

URML (urml.dev) is a small, Apache-2.0 language for describing robot intent: a person (or a higher-level planner) expresses an intent, URML turns it into a typed primitive, validates it against the robot's declared capabilities and a safety envelope, then dispatches to the robot's own control stack. OpenArm is a clean, fully-open arm platform, and URML is interesting to it as the layer above the SDK -- not a replacement for it.

Nothing here asks the project to adopt, host, or maintain anything. This is a request for comment.

The mapping: OpenArm's joints, end-effector, reach, and payload become a URML capability manifest. A bimanual OpenArm declares its two arms (each with its gripper), so a command can address left / right / a named arm, and a coordinated two-arm intent uses URML's bimanual primitive; the single-arm config is the same manifest with one declared arm. grasp, release, and a bimanual lift are then validated against the declared arms, gripper force limits, and the active safety envelope before anything moves. Your SDK stays the execution layer.

Two real questions: (1) does mapping OpenArm's single- and dual-arm configs onto a URML manifest (per-arm declaration + a bimanual primitive) read right for how the arms are actually addressed? (2) Is a validated-intent gate above the OpenArm SDK interesting for contact-rich work -- and which is the cleaner first seam, the manifest mapping or the dispatch adapter?

Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0491-openarm-outreach.md

Thanks for OpenArm; an open bimanual platform is exactly where the dual-arm-intent question is worth asking.

Ido Yahalomi (URML, greenvh@gmail.com)

AI-assisted prose, maintainer-reviewed before posting (see https://github.com/URML-MARS/URML/blob/main/VIBE.md). Human-only correspondence available on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions