PhysicalAI Star Arm Plugin
Fashion Star Arm 102 plugin for PhysicalAI. This package provides Star Arm 102-LD/102-HD leaders and a Star Arm 102-FL follower, and registers all variants with Physical AI Studio.
Features
- Star Arm 102-LD leader driver (
StarArm102LDLeader) for read-only teleoperation input - Star Arm 102-HD leader driver (
StarArm102HDLeader) with passive mode (default) and optional assist mode for hold/action commands - Star Arm 102-FL follower driver (
StarArm102FLFollower) for position control - Studio catalog plugin entries for LD leader, HD leader, and FL follower
- Bundled
stararm102URDF package
Installation
uv add physicalai-stararm-plugin
Quick start
from physicalai.robot import connect
from physicalai_stararm_plugin import StarArm102FLFollower
robot = StarArm102FLFollower(port="/dev/ttyUSB1", baudrate=1_000_000)
with connect(robot) as arm:
obs = arm.get_observation()
arm.send_action(obs.joint_positions)
Run with the PhysicalAI CLI
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/teleop-hd-to-fl.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/teleop-ld-to-fl.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/read-joints-hd.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/read-joints-ld.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/read-joints-fl.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/move-joints-fl.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/hold-hd.yaml
uv run physicalai run --config packages/physicalai-stararm-plugin/examples/runtime/policy-follow-hd.yaml
Zero-pose calibration
StarArm102HDLeader.set_zero_position() (also on the LD leader) stores the arm's current pose as
every servo's origin. Physical AI Studio runs it from its calibration step when you add a Star Arm
leader: move the leader into the same rest pose as the follower with the gripper closed, then set
zero.
URDF
from physicalai_stararm_plugin import get_urdf_path
urdf_dir = get_urdf_path()
hd_urdf = urdf_dir / "stararm102" / "urdf" / "stararm102_hd_description.urdf"
Development
uv sync
uv run pytest packages/physicalai-stararm-plugin/tests/
Metadata
Release files for physicalai-stararm-plugin 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| physicalai_stararm_plugin-0.4.0.tar.gz | 5.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| physicalai_stararm_plugin-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.5 MB
Release files / physicalai_stararm_plugin-0.4.0.tar.gz
| Download URL | physicalai_stararm_plugin-0.4.0.tar.gz |
|---|---|
| Size | 5.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b94a4bddaea6bf2b7b42afb9e013a97af0850a770379c612161e464443e4997
|
|
BLAKE2b-256 checksum How to use checksums |
a4890175a3322de6763a3c0331e2684fce417b21b82b9d382bf59a8a36c521f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / physicalai_stararm_plugin-0.4.0-py3-none-any.whl
| Download URL | physicalai_stararm_plugin-0.4.0-py3-none-any.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1dc5a2b25aab565219e05746d4158e1047a6216ec0724f53ebbda3f913a8d9e4
|
|
BLAKE2b-256 checksum How to use checksums |
d8c73384af0341e95db2b3f6a6634055fa48db08f599d136cae993283c450765
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log