Skip to content

URML (open robot intent language): a declared, validated mission intent above INAV (request for comment) #11651

Description

@idoco2003

Hi INAV maintainers,

INAV is navigation-first, which is what brought me here rather than to a stabilization-focused firmware. A waypoint mission with a geofence, altitude bounds, and a return-to-home condition is, in language terms, a goal plus constraints. That is exactly the shape URML (urml.dev, a small Apache-2.0 robot-intent language) is built to declare and check. This is a request for comment (cross-citation only, since INAV is GPL-3.0).

The mapping is direct: URML declares the mission as intent plus bounds, validates it against the craft's declared capabilities and a safety envelope, then hands it to INAV to fly. INAV keeps full ownership of navigation and control; URML is the checkable statement of what the mission is and whether the craft may do it. The geofence and failsafe conditions INAV already enforces are, in URML terms, a safety envelope, so an inadmissible mission could be rejected before upload rather than discovered in the air.

Two questions: does a declared, validated mission intent fit how INAV missions are actually defined and uploaded? And do INAV's existing geofence and failsafe bounds correspond closely enough to a written-down safety envelope that a shared representation would be worth anything?

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

Thanks for INAV; autonomous missions are where a declared, checkable intent earns its keep, and INAV is the clearest place in this firmware family to ask.

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
    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