Skip to content
v0.4.0 · Draft GitHub ↗ Apply for review →
v0.4.0 · Phase 1 · Public draft Apache-2.0

A common language for the robot economy.

A six-year-old can describe what a robot should do. A roboticist needs three weeks to make the robot do it. URML is the shared, open vocabulary that closes the gap, written down before every vendor ships their own dialect.

End users See it run → Builders Read the spec Robot makers List a product starts a compliance review
github.com/URML-MARS/URML
SUBSTRATE-AGNOSTIC
Sits above ROS 2, PX4, ArduPilot, Autoware, OPC UA, and vendor SDKs.
REGULATOR-ALIGNED
Default policy maps to US federal robotics regulation.
OPEN FOREVER
Spec stays Apache-2.0. No vendor capture.
The compliance path
Free · self-reported
1
Validate
Run urml validate on your manifest and programs. The bundled US-federal policy runs by default.
Local · minutes
2
Self-report conformance
Run the conformance suite with your own adapter and keep the report.
Hermetic
3
Record evidence
Record runs in simulation or on hardware, and the verdicts the gate gave.
Your pace
4
Open a pull request
Add a registry entry. CI re-runs the check and replays every recorded verdict.
Public
5
Listed
Appears in the public registry with its evidence and its limits.
Re-verify each release
How to get listed →
Regulatory alignment

The default validator policy is mapped to current US federal robotics regulation.

NDAA §889 / FY26
Procurement restrictions
Covered-foreign-country components refused at validation, not at audit.
FCC Covered List
Effective 2025-12-23
DJI, Autel, and other listed entities flagged in the manifest pass.
EO 14307
Unleashing American Drone Dominance
Default profile aligns with the executive order's deployment posture.
ASRA
American Security Robotics Act
Tracking the bill. The policy file will update on enactment.
Non-US deployments can override the default with urml validate --policy file.yaml, or disable the compliance pass entirely with --no-policy.
What compliance gets you

Discoverable, verifiable, federally-ready.

Re-runnable evidence

Your registry entry links evidence anyone can re-run: the conformance report, recorded runs, and the gate's recorded verdicts.

Learn more →

Registry listing

A public lookup at /registry, with your profiles, your evidence and your limits in one place.

Learn more →

Federal readiness

Self-reported NDAA / FCC / EO 14307 alignment in one consistent format.

Learn more →
How URML works

Five layers, five validation passes, one program.

ARCHITECTURE
URML architecture: five-layer stack. Layer 4 natural language interface, Layer 3 behavior composition, Layer 2 intent primitives, Layer 1 hardware abstraction, Layer 0 substrate (not part of URML). A validator runs five passes across layers 4 through 1 before any actuator moves. Domain profiles extend layers 3 and 2.
Every program runs through five passes (args → caps → envelope → bindings → policy) before any actuator moves.
EXAMPLE · BRING ME THE RED MUG
VALIDATES ✓
# program.urml.yaml sequence: - move_to: { room: kitchen } - detect: { object: red_mug, frame: kitchen } - grasp: { target: $detected } - move_to: { room: living_room } - release: { surface: side_table } # pass 1 ✓ argument typing # pass 2 ✓ capability declared in manifest # pass 3 ✓ inside safety envelope # pass 4 ✓ variable bindings resolve # pass 5 ✓ compliance policy (NDAA §889, FCC) $ make demo-run → Executed (mock TurtleBot 4 · 18 actions)
Try the demo Read RFC-0002: primitives →
Recently shipped

Validated programs now fly in simulation.

All releases →

Fly the program

SITL + bench
Validated programs fly on the PX4 and ArduPilot simulators, and a listen-only witness checks PX4's flights against its telemetry. ArduPilot also ran on a Pixhawk bench, propellers off.

Rules on by default

RFC-0702
Drone programs are checked against the statically checkable subset of FAA Part 107. --no-policy does not switch it off.

Four new kinds of behavior

RFC-0020 · 0698 · 0630
First real adapters for trajectories (Autoware), expression (Reachy Mini), relative drive and turn (GoPiGo3), and Spot's arm.

A goalkeeper for the model

0 of 40
A scripted jailbroken model got 21 of 40 attacks past the gate. After the fixes, 0 of 40 got through, and every safe control still passed.

Rehearse before you run

RFC-0668
urml run rolls a validated program out on a simulator, checks the trace, and blocks real execution on any critical violation.

Enforce the envelope

RFC-0667
A temporal-logic monitor and a runtime shield guard any driver, a VLA policy included, against the declared safety envelope.
The manifest grew too: whole-body structure, real-time timing, zero-copy IPC, learned-policy envelopes, 3D cameras, payload release, and expression. Speech input and local LLM providers shipped in 0.4.0. Explore what a robot declares, the registry, or multi-robot fleet validation →
24
intent primitives
5
validation passes
3077
tests passing
269
conformance fixtures
693
RFCs filed
Compatible runtimes & partners

Self-reported, public, free. Add your organization.

Browse directory →
urml-ros2-runtime
home · industrial
urml-px4-runtime
drone
urml-ardupilot-runtime
drone
urml-industrial-arm-runtime
industrial
urml-cobot-runtime
industrial
urml-legged-runtime
industrial
SCHUNK
DE
Ouster
US
SICK
DE
Festo
DE
Zivid
NO
Hokuyo
JP
Phase 1 · 17 reference runtimes + 15 compliant parts listed · 0 manufacturers. Yours could be next.
Maintainers are already engaging
All engaged work →
Robot-simulation platform
A platform engineer gave an expert review and closed the thread positively; their question about where a manifest claim comes from became a per-capability evidence tag the validator records.
RFC-0631 capability-evidence traceability · examples/isaac USD-derived manifest
On-device ML runtime
A core maintainer answered all three mapping-RFC questions; the result was the first example to run a learned policy behind URML's runtime safety shield.
examples/executorch-policy · RFC-0667 shield + RFC-0383 amendment
Quadruped mobility platform (community ROS 2 driver)
The open-source ROS 2 driver maintainer (explicitly the community driver, not the manufacturer) validated URML's substrate cut for the platform, then for its arm.
Reference adapter + arm grasp/release · legged-runtime
Start the application

Make your robot speak URML.

The compliance review is free, opt-in, and self-reported. Your manifest stays yours. Listing is permanent until you de-list.

Apply for compliance review → Talk to the working group
REVIEWED WITHIN 14 DAYS · NO COST · NO MARK YET (PHASE 4)