feat: add first party robot plugins - #263
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The new URDF locator helpers can silently return non-existent paths (contradicting their docstrings) and the new motion helpers include unused parameters likely to fail repo linting.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR vendors three robot plugins into the main repo (Star Arm 102, ReBot B601, and Bimanual SO-101), including their Runtime robot drivers, Physical AI Studio catalog registrations, motion helpers, example runtime configs, and bundled URDF/mesh assets. It also wires these packages into release-please so they can be versioned and released from this monorepo.
Changes:
- Added three new first-party plugin packages under
packages/(drivers, Studio catalog definitions, and tests). - Added bundled URDF descriptions and mesh assets (via Git LFS pointers) plus
physicalai run --configYAML examples. - Updated release-please configuration/manifest to include the new packages.
File summaries
| File | Description |
|---|---|
.github/release-please-config.json |
Adds release-please entries for the three new plugin packages. |
.github/.release-please-manifest.json |
Tracks initial versions for the three new plugin packages. |
packages/physicalai-stararm-plugin/pyproject.toml |
Defines Star Arm plugin package metadata, deps, and URDF packaging. |
packages/physicalai-stararm-plugin/src/physicalai_stararm_plugin/* |
Star Arm robot drivers, Studio catalog plugin, URDF locator, constants, and motion helpers. |
packages/physicalai-stararm-plugin/examples/runtime/* |
Star Arm Runtime YAML configs (teleop/read-joints/move/hold/policy-follow). |
packages/physicalai-stararm-plugin/tests/* |
Unit tests for Star Arm drivers and motion helpers. |
packages/physicalai-stararm-plugin/urdf/** |
Star Arm URDFs and mesh assets (Git LFS pointers). |
packages/physicalai-rebot-b601-plugin/pyproject.toml |
Defines ReBot plugin package metadata, deps, and URDF packaging. |
packages/physicalai-rebot-b601-plugin/src/physicalai_rebot_b601_plugin/* |
ReBot DM/RS drivers, Studio catalog plugin, URDF locator, constants, and motion helpers. |
packages/physicalai-rebot-b601-plugin/examples/runtime/* |
ReBot Runtime YAML configs (teleop/read-joints/move-joints, incl. MIT gain example). |
packages/physicalai-rebot-b601-plugin/tests/* |
Unit tests for ReBot drivers, Studio catalog, and motion helpers. |
packages/physicalai-rebot-b601-plugin/urdf/** |
ReBot URDFs and mesh assets (Git LFS pointers). |
packages/physicalai-bimanual-so101-plugin/pyproject.toml |
Defines bimanual SO-101 plugin package metadata, deps, and URDF packaging. |
packages/physicalai-bimanual-so101-plugin/src/physicalai_bimanual_so101_plugin/* |
Bimanual SO-101 driver, Studio catalog plugin, URDF locator, and constants. |
packages/physicalai-bimanual-so101-plugin/examples/* |
Bimanual SO-101 calibration JSONs and Runtime teleop YAML. |
packages/physicalai-bimanual-so101-plugin/tests/* |
Unit tests for the bimanual driver and Studio catalog. |
packages/physicalai-bimanual-so101-plugin/urdf/** |
Dual-arm URDF and mesh assets (Git LFS pointers). |
Review details
- Files reviewed: 232/234 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| candidates = (p.parent / "urdf", p.parent.parent / "urdf") | ||
| for candidate in candidates: | ||
| if candidate.exists(): | ||
| return candidate | ||
| return candidates[1] |
| def connect(self, *, bus: _CallbackBus, session_id: str) -> None: | ||
| """No resources to set up; part of the ``ActionSource`` protocol.""" | ||
|
|
| candidates = (p.parent / "urdf", p.parent.parent / "urdf") | ||
| for candidate in candidates: | ||
| if candidate.exists(): | ||
| return candidate | ||
| return candidates[1] |
| def connect(self, *, bus: _CallbackBus, session_id: str) -> None: | ||
| """No resources to set up; part of the ``ActionSource`` protocol.""" | ||
|
|
9178ca9 to
5a6d326
Compare
This PR adds three first party plugins (moved from my https://github.com/MarkRedeman/physicalai-plugins repo):
I've updated the OIDC configuration of each package and invited others as maintainers.