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
Proposing a URML v0.1 capability-manifest mapping for BehaviorTree.CPP over BehaviorTree/BehaviorTree.CPP. URML (Apache-2.0) is a substrate-neutral spec for robot intent: typed primitive vocabulary + Layer-3 behavior composition + capability manifest + static validator.
This is URML's first robot-command-library RFC. URML's Layer-3 (behavior composition) needs a substrate to compile down to; BehaviorTree.CPP is the dominant C++ choice in ROS 2 and standalone robotics, and the architectural mapping is direct — URML primitives become custom TreeNode subclasses, Layer-3 composition becomes BT XML. The "URML the typed-intent language → BT the executable graph → Groot the visualizer" pipeline gives URML programs the BT tooling ecosystem for free.
This is proposal-only, part of URML's Move #12 outreach (16 RFCs covering speech / translation / robot-command-library substrates for URML's NL layer).
Behavior-tree-runtime declaration shape. Is behaviortree_cpp the right slug for URML's manifest, or do you prefer a different convention?
BT XML schema version. Which schema version (3.x vs. 4.x) should URML's v0.1 compilation target? Is there a forward-looking version you'd recommend pinning to?
Custom-node registry declaration. URML compilation produces custom BT nodes (one per URML primitive). Is the manifest's enumerated registry the right shape?
Groot 2 boundary. URML's manifest declares the BehaviorTree.CPP runtime, not Groot 2 (separate concern, different license). Should URML's documentation explicitly distinguish the open-source runtime from the commercial-tier editor?
Adapter home. URML-side compiler in reference/bt-bridge/, contributed example in BehaviorTree.CPP/examples/, or external bridge repo?
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 @BehaviorTree team,
Proposing a URML v0.1 capability-manifest mapping for BehaviorTree.CPP over
BehaviorTree/BehaviorTree.CPP. URML (Apache-2.0) is a substrate-neutral spec for robot intent: typed primitive vocabulary + Layer-3 behavior composition + capability manifest + static validator.This is URML's first robot-command-library RFC. URML's Layer-3 (behavior composition) needs a substrate to compile down to; BehaviorTree.CPP is the dominant C++ choice in ROS 2 and standalone robotics, and the architectural mapping is direct — URML primitives become custom
TreeNodesubclasses, Layer-3 composition becomes BT XML. The "URML the typed-intent language → BT the executable graph → Groot the visualizer" pipeline gives URML programs the BT tooling ecosystem for free.This is proposal-only, part of URML's Move #12 outreach (16 RFCs covering speech / translation / robot-command-library substrates for URML's NL layer).
Full RFC with manifest mapping, four alternatives, and the BT-XML schema-versioning discussion: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0160-behaviortree-cpp-outreach.md
Questions worth maintainer input on:
behaviortree_cppthe right slug for URML's manifest, or do you prefer a different convention?reference/bt-bridge/, contributed example inBehaviorTree.CPP/examples/, or external bridge repo?Ido Yahalomi (URML maintainer, urml.dev, 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