Skip to content

docs: bring-your-own-robot — custom RobotConnector guide + xArm5 template#6

Merged
AndresNinou merged 1 commit into
mainfrom
andres-custom-robot-adapter
Jun 7, 2026
Merged

docs: bring-your-own-robot — custom RobotConnector guide + xArm5 template#6
AndresNinou merged 1 commit into
mainfrom
andres-custom-robot-adapter

Conversation

@AndresNinou

@AndresNinou AndresNinou commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Adds a documented custom-robot path (RobotConnector contract + module:Class config) + a runnable xArm5 skeleton (custom_robot.py). For customers on unsupported arms.

🤖 Generated with Claude Code


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

Release Notes

  • New Features

    • Support for integrating custom robot arms into the system.
  • Documentation

    • Added comprehensive guide for implementing custom robot connectors with required interface specifications, YAML configuration examples, and a reference implementation. Base models can be deployed on new arms but may require fine-tuning for optimal performance.

…+ xArm5 template

Customers on unsupported arms (e.g. xArm5) had no documented path. Add a
'Bring your own robot' README section (the 5-method RobotConnector contract +
module:Class config wiring) and custom_robot.py — a runnable xArm5 skeleton
they copy + fill in. Includes the honest base-model-vs-fine-tune caveat.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@AndresNinou AndresNinou merged commit b23cb2d into main Jun 7, 2026
1 check failed
@coderabbitai

coderabbitai Bot commented Jun 7, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: da7ca535-ecac-48ce-bfe3-19e29d1b4b51

📥 Commits

Reviewing files that changed from the base of the PR and between 0ce9c43 and f3c19c0.

📒 Files selected for processing (2)
  • README.md
  • custom_robot.py

📝 Walkthrough

Walkthrough

This PR introduces a "bring your own robot" integration pattern for Reflex. It adds documentation to the README explaining how to implement a custom RobotConnector, along with a complete XArm5Connector skeleton example that demonstrates the required interface: initialization, lifecycle methods (start, get_observation, apply_action, safe_stop, stop), and validation via dynamic class resolution.

Changes

Custom Robot Connector

Layer / File(s) Summary
Documentation and Contract
README.md
README section describes the RobotConnector interface contract, how to wire it via module:Class in hardware config, required methods and data shapes (Observation, ActionChunk), YAML configuration example, and reference to the xArm5 skeleton for implementation guidance.
XArm5Connector Implementation
custom_robot.py
Module docstring, XArm5Connector class with kind = "custom_robot", initialization of IP and Hz configuration, and five lifecycle methods: start() (hardware/camera init stub), get_observation() (returns fixed-size state vector, empty cameras dict, and task string), apply_action() (processes first step only), safe_stop() (safe hardware stop stub), and stop() (resource cleanup stub).
Connector Resolution Test
custom_robot.py
__main__ block uses get_connector_class() to resolve and validate the custom_robot:XArm5Connector class path.

🎯 2 (Simple) | ⏱️ ~12 minutes

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch andres-custom-robot-adapter

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant