urml-openpi-bridge: a URMLOutputs class for emitting substrate-neutral primitives alongside actions #955
idoco2003
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
URML is an open spec I work on for substrate-neutral robot intent. Apache 2.0, urml.dev. I'm trying to figure out the cleanest way to plug into openpi and wanted to ask before writing code.
The shape I'm thinking about is a custom Outputs class, in the style of LiberoOutputs in src/openpi/policies/libero_policy.py. It takes the action chunk from policy.infer(example)["actions"] and emits URML primitives alongside the raw tensor, so the eval harness still sees a normal policy and URML translation rides on top.
What URML gets out of it: the Layer-2 primitives (move_to, grasp, release, measure, wait_for, report, plus a few profile-specific ones) sit above ROS 2, PX4, Isaac, MuJoCo, AUTOSAR Adaptive, OPC UA Robotics. A π policy whose Outputs class emits URML can drive any of those substrates without retraining.
Full write-up if you want the detail:
https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0045-physical-intelligence-openpi.md
Things I'd actually want input on before building anything:
No rush on this. I'd rather get the shape right than ship a wrapper you'd want rebuilt.
Ido (greenvh@gmail.com)
Beta Was this translation helpful? Give feedback.
All reactions