Skip to content

URML: a capability check on the outgoing command before the client sends it #198

Description

@idoco2003

Hi. Disclosure up front: AI-assisted prose I reviewed before posting (https://github.com/URML-MARS/URML/blob/main/VIBE.md); human-only is fine if you prefer.

I maintain URML (https://urml.dev), a small Apache-2.0 language that checks an intended action against a robot's declared capability manifest and safety envelope before it runs.

I will be honest about where this sits, because controllerclientcpp is the client to the Mujin controller rather than the planner itself. Code that uses the client decides a motion and sends it to the controller; URML can declare the cell's envelope (reach, payload, keep-out, speed) and validate a commanded motion against it before the client sends it. It is a static admissibility check on the outgoing command, not a controller and not a re-implementation of the Mujin planner. The controller keeps the planning and the real safety logic, so URML's role here is narrower than for an autonomy layer that generates actions, which is why I am asking rather than asserting.

Two questions:

  1. For a controller client, is a declared-capability and envelope check on the outgoing command a useful addition for the integrations built on it, or does that belong inside the controller rather than in front of the client?
  2. Would a small worked example mapping a command sent through the client onto a URML manifest, validated with no execution, be worth having?

Nothing here asks you to adopt, host, or maintain anything. Thanks for keeping the client libraries open.

Ido Yahalomi (greenvh@gmail.com)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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