Skip to content

URML (open robot intent language): a validated intent layer above an AgriBot field robot — request for comment #6

Description

@idoco2003

Hi PRBonn AgriBot maintainers,

URML (urml.dev) is a small, Apache-2.0 language for describing robot intent: it validates a request against a capability manifest and a safety envelope, then dispatches. AgriBot is a credible academic field robot from a lab whose crop/weed perception and agricultural mapping are exactly the kind of perception substrate a validated intent layer composes with, which is why I am writing.

Nothing here asks PRBonn to adopt, host, or maintain anything. This is a request for comment, and a design question.

URML's ROS 2 runtime targets the AgriBot's ROS surface; "survey the field and record" lowers onto its navigation + data-recording interface. Your crop/weed perception is the kind of detect source URML consumes: a detection binds a target a downstream action consumes (decide-then-do). Validate-before-actuate refuses an out-of-capability request before dispatch.

Two real questions: (1) What should a URML capability manifest declare to describe an agricultural field robot honestly — drive type, row/field geometry, sensor suite, GNSS/positioning? (2) Where is the cleanest seam — URML above the navigation/recording interface, or composing with the lab's perception/mapping outputs as detect sources?

Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0410-prbonn-agribot-outreach.md

Thanks for AgriBot and the lab's ag-perception work; it is some of the most credible research in the area.

Ido Yahalomi (URML, greenvh@gmail.com)

AI-assisted prose, maintainer-reviewed before posting (see 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