What do we want to achieve?
Proposing a RobotnikAdapter family that covers your published ROS 2 platforms under one URML adapter family: Summit XL / XL HL / X, RB-1, RB-VOGUI, AGVS, and rbcar. 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 each platform's ROS 2 surface, with mounted-arm composition (Summit XL + UR5 or Franka) handled via URML's manifest composition pattern.
URML is an Apache 2.0 specification for substrate-neutral robot intent at urml.dev. Robotnik fills a distinctive niche in URML's outreach landscape between Move #4 PAL Robotics (Spanish commercial humanoid mobile manipulator) and Move #4 AgileX (Chinese research-grade mobile bases): commercial industrial mobile robotics with 456 public repos, 161 followers, and BSD-3-Clause predominant licensing.
This is proposal-only, posted as URML's first Move #5 outreach (Tier 2 candidates promoted from URML's Move #4 adjacent-niches research pass). No adapter code in this PR. The canonical per-platform repos, the mounted-arm composition design, and the AGVS coordination with URML's RFC-0022 warehouse profile are observable choices worth your input before shipping.
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0071-robotnik-outreach.md
Feedback we'd value
- Adapter home. URML repo (
reference/mobile-runtime/src/mobile_runtime/robotnik/), RobotnikAutomation contributed example, both?
- Canonical per-platform repos. Could you confirm the canonical first-class repos for Summit XL, RB-1, RB-VOGUI, AGVS, and rbcar in your 456-repo org?
- Mounted-arm composition. What is your recommended approach to URML composing a Summit-XL-base manifest with a UR5-arm manifest at validation time?
- AGVS coordination. Is there interest in coordinating with URML's RFC-0022 warehouse-profile draft on the AGVS use case?
- Per-platform variant manifests. Per-variant manifests (Summit XL / XL HL / X) or parametric with a
variant: field?
- Conformance lane. Open to a URML conformance line on the platform-repo READMEs or at robotnik.eu?
Thanks for the breadth of the Robotnik ROS 2 catalog and the long-standing BSD-3-Clause posture. The European commercial industrial-mobile-robotics anchor is exactly what URML's outreach landscape needs.
Ido Yahalomi (URML maintainer, urml.dev)
How do we plan to do it?
Proposal-only. The RFC at https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0071-robotnik-outreach.md documents the proposed RobotnikAdapter family layout, per-primitive mapping, and per-platform manifest sketches.
No adapter code lives in this Issue. Implementation follows your input:
- Maintainer feedback on the six numbered questions in the RFC (adapter home, canonical per-platform repos, mounted-arm composition, AGVS / warehouse-profile coordination, variant manifests, conformance lane).
- URML drafts the adapter package
reference/mobile-runtime/src/mobile_runtime/robotnik/ against the per-platform repos you point to as canonical.
- URML ships per-platform mock conformance lanes (
URML_ROBOTNIK_INTEGRATION=1 env-gated CI) before any hardware-in-the-loop step.
- Any hardware verification happens only after the maintainers signal interest in URML's involvement.
How can it be tested?
- Static:
python -c "import yaml; yaml.safe_load(open(...))" over per-platform manifests in URML's repo.
- Hermetic: each platform adapter runs against a mock that replays joint-state / odometry / scan responses; emitted commands match recorded golden traces.
- Hardware-in-the-loop: out of scope for this Issue. A future PR after maintainer engagement.
- No code in this PR. The Issue is request-for-comment per URML's outreach pattern (RFCs 0023–0070 follow the same shape).
Subtasks
No response
What do we want to achieve?
Proposing a
RobotnikAdapterfamily that covers your published ROS 2 platforms under one URML adapter family: Summit XL / XL HL / X, RB-1, RB-VOGUI, AGVS, and rbcar. 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 each platform's ROS 2 surface, with mounted-arm composition (Summit XL + UR5 or Franka) handled via URML's manifest composition pattern.URML is an Apache 2.0 specification for substrate-neutral robot intent at urml.dev. Robotnik fills a distinctive niche in URML's outreach landscape between Move #4 PAL Robotics (Spanish commercial humanoid mobile manipulator) and Move #4 AgileX (Chinese research-grade mobile bases): commercial industrial mobile robotics with 456 public repos, 161 followers, and BSD-3-Clause predominant licensing.
This is proposal-only, posted as URML's first Move #5 outreach (Tier 2 candidates promoted from URML's Move #4 adjacent-niches research pass). No adapter code in this PR. The canonical per-platform repos, the mounted-arm composition design, and the AGVS coordination with URML's RFC-0022 warehouse profile are observable choices worth your input before shipping.
Full RFC: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0071-robotnik-outreach.md
Feedback we'd value
reference/mobile-runtime/src/mobile_runtime/robotnik/), RobotnikAutomation contributed example, both?variant:field?Thanks for the breadth of the Robotnik ROS 2 catalog and the long-standing BSD-3-Clause posture. The European commercial industrial-mobile-robotics anchor is exactly what URML's outreach landscape needs.
Ido Yahalomi (URML maintainer, urml.dev)
How do we plan to do it?
Proposal-only. The RFC at https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0071-robotnik-outreach.md documents the proposed
RobotnikAdapterfamily layout, per-primitive mapping, and per-platform manifest sketches.No adapter code lives in this Issue. Implementation follows your input:
reference/mobile-runtime/src/mobile_runtime/robotnik/against the per-platform repos you point to as canonical.URML_ROBOTNIK_INTEGRATION=1env-gated CI) before any hardware-in-the-loop step.How can it be tested?
python -c "import yaml; yaml.safe_load(open(...))"over per-platform manifests in URML's repo.Subtasks
No response