Proposing a HebiAdapter that targets your published Python / C++ API surface (hebi-python-examples, hebi-cpp-examples, hebi_ros2_examples, hebi_description, hebi_msgs, hebi_cpp_api_ros). URML Layer-2 primitives (move_to, grasp, release, measure, wait_for, report) plus the industrial-profile extensions (pick_from, place_at, swap_tool) map onto HEBI's Group.send_command() and Group.get_feedback() calls, parameterised by the customer-declared kinematic chain.
URML is an Apache 2.0 specification for substrate-neutral robot intent at urml.dev. HEBI's distinctive value proposition for URML is per-deployment kinematic modularity. A HEBI customer at a research lab assembles actuators into a custom geometry (a five-DOF arm for one experiment, a seven-DOF arm for another, a quadruped for a third), and the same URML adapter drives all configurations. URML's capability manifest's kinematic_chain declaration is the natural vocabulary for the declared geometry; HEBI is the first URML target where every customer writes their own. The static verifier reasons against the declared chain before any motion executes.
This is proposal-only, posted as part of URML's Move #4 outreach (adjacent niches). No adapter code in this PR. The kinematic-chain manifest shape, the example manifest set, the ROS 2 vs direct-API default, and the MATLAB-surface scope are observable choices worth your input before shipping.
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0070-hebi-robotics-outreach.md
Feedback we'd value
- Adapter home. URML repo (
reference/cobot-runtime/src/cobot_runtime/hebi/), HebiRobotics contributed example, both?
- Kinematic-chain manifest shape. Is URML's
kinematic_chain declaration the right shape for per-customer configurations, or would HEBI recommend a different vocabulary (URDF reference, MoveIt config import)?
- Example manifests. Are the proposed examples (5-DoF X-Series arm, 7-DoF X-Series arm, Igor balancing kit, Rosie double-shoulder) the right starting set?
- ROS 2 vs direct-API default. Should URML's adapter default to direct HEBI API calls or to the ROS 2 bridge?
- MATLAB surface. Is the MATLAB-only deployment population large enough that URML should expose a MATLAB-facing adapter, or is Python sufficient?
- Robotarium cross-link. Interest in coordinating with Robotarium @ Georgia Tech for a documented URML conformance deployment?
- Conformance lane. Open to a URML conformance line in the HEBI documentation site or in
hebi_ros2_examples README?
Thanks for the HEBI ecosystem and for the modular Series Elastic Actuator design. The per-customer-geometry story is the most distinctive integration shape URML has encountered across four outreach waves, and HEBI is the natural first deployment for URML's kinematic_chain manifest field.
Ido Yahalomi (URML maintainer, urml.dev)
Proposing a
HebiAdapterthat targets your published Python / C++ API surface (hebi-python-examples,hebi-cpp-examples,hebi_ros2_examples,hebi_description,hebi_msgs,hebi_cpp_api_ros). URML Layer-2 primitives (move_to,grasp,release,measure,wait_for,report) plus the industrial-profile extensions (pick_from,place_at,swap_tool) map onto HEBI'sGroup.send_command()andGroup.get_feedback()calls, parameterised by the customer-declared kinematic chain.URML is an Apache 2.0 specification for substrate-neutral robot intent at urml.dev. HEBI's distinctive value proposition for URML is per-deployment kinematic modularity. A HEBI customer at a research lab assembles actuators into a custom geometry (a five-DOF arm for one experiment, a seven-DOF arm for another, a quadruped for a third), and the same URML adapter drives all configurations. URML's capability manifest's
kinematic_chaindeclaration is the natural vocabulary for the declared geometry; HEBI is the first URML target where every customer writes their own. The static verifier reasons against the declared chain before any motion executes.This is proposal-only, posted as part of URML's Move #4 outreach (adjacent niches). No adapter code in this PR. The kinematic-chain manifest shape, the example manifest set, the ROS 2 vs direct-API default, and the MATLAB-surface scope are observable choices worth your input before shipping.
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0070-hebi-robotics-outreach.md
Feedback we'd value
reference/cobot-runtime/src/cobot_runtime/hebi/), HebiRobotics contributed example, both?kinematic_chaindeclaration the right shape for per-customer configurations, or would HEBI recommend a different vocabulary (URDF reference, MoveIt config import)?hebi_ros2_examplesREADME?Thanks for the HEBI ecosystem and for the modular Series Elastic Actuator design. The per-customer-geometry story is the most distinctive integration shape URML has encountered across four outreach waves, and HEBI is the natural first deployment for URML's
kinematic_chainmanifest field.Ido Yahalomi (URML maintainer, urml.dev)