You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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. URML's marine-runtime already drives a BlueROV over ArduSub/MAVLink — the surface BlueOS hosts on the companion computer — so BlueOS is the onboard layer directly beneath URML's existing BlueROV target, and I want to check where a validated-intent layer should sit relative to it.
Nothing here asks BlueOS to adopt, host, or maintain anything. This is a request for comment.
A validated URML program (navigate, hold depth, capture, report) lowers to the MAVLink commands BlueOS routes to the autopilot. The point is validate-before-actuate: a request outside the declared capability manifest (depth rating, thruster config, tether/comms regime) is refused before a command reaches the vehicle. URML does not replace BlueOS; it sits above the MAVLink BlueOS exposes.
Two real questions: (1) Is the MAVLink/ArduSub surface BlueOS exposes the right seam for an external validated-intent layer, or is there a higher-level BlueOS service interface that is more natural? (2) What should a URML manifest declare to describe a BlueROV / BlueBoat honestly (depth rating, thruster configuration, tether vs untethered, payload sensors)?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Hi BlueOS / Blue Robotics community,
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. URML's marine-runtime already drives a BlueROV over ArduSub/MAVLink — the surface BlueOS hosts on the companion computer — so BlueOS is the onboard layer directly beneath URML's existing BlueROV target, and I want to check where a validated-intent layer should sit relative to it.
Nothing here asks BlueOS to adopt, host, or maintain anything. This is a request for comment.
A validated URML program (navigate, hold depth, capture, report) lowers to the MAVLink commands BlueOS routes to the autopilot. The point is validate-before-actuate: a request outside the declared capability manifest (depth rating, thruster config, tether/comms regime) is refused before a command reaches the vehicle. URML does not replace BlueOS; it sits above the MAVLink BlueOS exposes.
Two real questions: (1) Is the MAVLink/ArduSub surface BlueOS exposes the right seam for an external validated-intent layer, or is there a higher-level BlueOS service interface that is more natural? (2) What should a URML manifest declare to describe a BlueROV / BlueBoat honestly (depth rating, thruster configuration, tether vs untethered, payload sensors)?
Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0398-blueos-outreach.md
Thanks for BlueOS; an open onboard platform for accessible underwater robots is a great thing for the field.
Ido Yahalomi (URML, greenvh@gmail.com)
AI-assisted prose, maintainer-reviewed before posting (see VIBE.md). Human-only correspondence available on request.
Beta Was this translation helpful? Give feedback.
All reactions