Skip to content

Task: Created a how to readme for integrating new robotic arms with DimOS#1238

Merged
mustafab0 merged 3 commits intodevfrom
task/mustafa-create-how-to-add-new-manipulator-readme
Feb 18, 2026
Merged

Task: Created a how to readme for integrating new robotic arms with DimOS#1238
mustafab0 merged 3 commits intodevfrom
task/mustafa-create-how-to-add-new-manipulator-readme

Conversation

@mustafab0
Copy link
Contributor

Problem

No documentation exists for integrating a new robot arm with DimOS. Contributors must reverse-engineer the adapter pattern from existing implementations.


Solution

Added docs/how-to-add-new-manipulator.md — a step-by-step guide covering the full integration path: writing a ManipulatorAdapter Protocol adapter, creating a robot folder with blueprints under dimos/robot/, optional URDF/planning integration, blueprint registration, and testing. Includes a complete annotated adapter skeleton and a quick-reference checklist.


Breaking Changes

None


How to Test

  1. Open docs/how-to-add-new-manipulator.md and read through the guide
  2. Verify code examples match the actual Protocol in dimos/hardware/manipulators/spec.py
  3. Verify blueprint patterns match existing examples in dimos/control/blueprints.py and dimos/robot/unitree_webrtc/

closes DIM-389

@mustafab0 mustafab0 changed the title created a how to for adding new robotic arms to dimos Task: Created a how to readme for integrating new robotic arms with DimOS Feb 12, 2026
@greptile-apps
Copy link

greptile-apps bot commented Feb 12, 2026

Greptile Overview

Greptile Summary

Added comprehensive how-to guide for integrating new manipulator arms with DimOS. Covers the complete integration path from writing a ManipulatorAdapter Protocol adapter through creating blueprints and testing.

  • Complete annotated adapter skeleton with all required Protocol methods
  • Clear explanation of the Protocol-based adapter pattern (no inheritance needed)
  • Step-by-step blueprint creation examples matching existing patterns in dimos/control/blueprints.py
  • Optional URDF/Drake planning integration guide
  • Auto-discovery registry pattern correctly documented
  • Testing strategies including mock adapters, unit tests, and integration tests
  • Quick reference checklist for implementation

Code examples verified against:

  • dimos/hardware/manipulators/spec.py:92-251 (ManipulatorAdapter Protocol)
  • dimos/hardware/manipulators/xarm/adapter.py (reference implementation)
  • dimos/control/blueprints.py:44-97 (coordinator blueprint patterns)
  • dimos/hardware/manipulators/registry.py:78-93 (auto-discovery mechanism)

Confidence Score: 5/5

  • This PR is safe to merge - documentation-only change with verified accuracy
  • Documentation is comprehensive, accurate, and well-structured. All code examples match the actual Protocol implementation in spec.py:92-251. Blueprint patterns correctly mirror existing examples in dimos/control/blueprints.py. Auto-discovery registry pattern is accurately explained. No code changes, only documentation addition.
  • No files require special attention

Important Files Changed

Filename Overview
docs/how-to-add-new-manipulator.md New comprehensive guide for integrating robot arms with DimOS - accurate code examples, clear structure, matches existing patterns

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

@mustafab0 mustafab0 linked an issue Feb 12, 2026 that may be closed by this pull request
Copy link
Member

@jeff-hykin jeff-hykin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Super involved process but I think thats the nature of the beast right now, (and maybe forever.)

Two minor things:

  • I think this should go under docs/development/adding_a_custom_arm.md (underscores in the name to be consistent)
  • the name change from unitree_webrtc to just unitree (mentioned above)

@jeff-hykin
Copy link
Member

I want to write a very similar doc for adding robots and sensor support. If we had all those that would be a huge step in documentation.

paul-nechifor
paul-nechifor previously approved these changes Feb 15, 2026
@mustafab0 mustafab0 force-pushed the task/mustafa-create-how-to-add-new-manipulator-readme branch from 070f1be to 085d196 Compare February 16, 2026 22:20
@mustafab0 mustafab0 force-pushed the task/mustafa-create-how-to-add-new-manipulator-readme branch from c47972f to be0dce1 Compare February 17, 2026 03:30
@mustafab0 mustafab0 force-pushed the task/mustafa-create-how-to-add-new-manipulator-readme branch from be0dce1 to 59bc34a Compare February 17, 2026 19:55
@mustafab0 mustafab0 merged commit 43b9fc8 into dev Feb 18, 2026
17 checks passed
@mustafab0 mustafab0 deleted the task/mustafa-create-how-to-add-new-manipulator-readme branch February 18, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a template on how to add new Manipulator

3 participants

Comments