One vocabulary humans, LLMs, and robots can agree on.
URML is a small, public spec for describing what a robot should do, independent of which motors, joints, or frames carry it out. It's a draft today (v0.2.0, phase 1), and the working group is open. Every program is statically verified against the robot's declared capabilities, the active safety envelope, and a compliance policy before a single actuator moves.
The same spec serves three audiences, each for a different reason.
Write once, target any substrate.
Stop translating intent into ROS topics, MAVLink commands, and vendor APIs. URML is one language above all of them.
- 24 intent primitives
- 15 reference runtimes (ROS 2, PX4, OPC UA, cobots, sim, MCU…)
- LLM bridge included
A self-served path to federal readiness.
Run the conformance suite, publish a manifest, get listed. Free, opt-in, de-listable any time.
- 175 conformance fixtures
- Public directory
- Provenance schema
A machine-checkable lens on policy.
The validator's policy pass is a regulation-neutral mechanism with a US-federal default. Add your jurisdiction's file.
- NDAA · FCC · EO 14307
- Policy DSL (YAML)
- Override per deployment
Five layers. URML defines the top four.
The boundary matters.
URML is intentionally not a robot operating system. It sits above whatever you already run (ROS 2, PX4, OPC UA, a vendor SDK) and gives those substrates one consistent vocabulary for intent.
That means adopting URML is additive, not migratory. Your existing stack stays. URML adds a layer of portable intent above it.
- Not a robot operating system
- Not a low-level motion controller
- Not a certification mark yet (that's Phase 4)
- Not a replacement for ROS, PX4, or OPC UA
An LLM writes an unsafe program. URML refuses it.
Same English prompt, same robot, same LLM. The first attempt is statically rejected before takeoff. The revision loop produces an accepted version. No actuator moves in between.
Each pass is small, independent, and fails fast.
Argument typing
Are the verb's arguments well-typed against the spec?
Capability check
Does the manifest declare the capability the program uses?
Safety envelope
Geofence, altitude bands, people-occupancy, exclusion zones.
Variable bindings
Are referenced bindings produced, with the right types?
Compliance policy
Does the manifest pass the active jurisdiction's policy?