Skip to content

URML (open robot intent language): declared clearances above, FCL's geometric check below (request for comment) #663

Description

@idoco2003

Hi FCL community,

URML (urml.dev) is a small, Apache-2.0 language for describing robot intent. It declares clearances and spatial constraints in a safety envelope; it does not compute geometry. FCL is exactly the kind of library a runtime uses downstream to check the constraints URML declares, so I wanted to describe that division of labor and ask whether it is the right altitude.

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

The division of labor: a URML safety envelope declares clearance volumes and spatial constraints (a lateral footprint, a vertical band; URML's cross-robot deconfliction model). When a runtime needs to verify a motion or a fleet separation against actual geometry, FCL's collision/distance queries are the computation behind that check. URML is the declarative, statically-auditable constraint; FCL is the geometric test. URML stays a declaration layer; the heavy query stays in a dedicated library.

Two real questions: (1) is "URML declares the clearance / spatial constraint, FCL is the geometric query that enforces it" an accurate and useful division of labor? (2) Is a collision library the right altitude to describe this, or is the seam better drawn at a planner / MoveIt-style layer that already wraps FCL?

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

Thanks for FCL; it is the geometric-query layer beneath much of this ecosystem, which is exactly why the clearances-versus-check division is worth naming.

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