Skip to main content

LeRobot Robot plugin for Galaxea A1

This package provides the auto-discovered LeRobot robot type galaxea_a1. It is a thin client of an embodied-ops Unix-socket service and deliberately contains no ROS node, vendor driver, process supervisor, System config parser, or host motor publisher.

Safety model

  • Constructing GalaxeaA1 does not connect to ROS, hardware, or the runtime service.
  • connect() attaches to a separately supervised A1 runtime and must not move the arm.
  • send_action() accepts six absolute joints in radians plus a continuous normalized gripper target and returns the command actually accepted by the runtime.
  • Limits are declared by the runtime manifest and validated without hidden rewriting.
  • disconnect() closes its exclusive command lease so the runtime locks/disables motion; it never opens the gripper or moves the robot home.

The production service is provided by galaxea-a1-runtime. That runtime retains exclusive ownership of ROS, the staged joint tracker, the locked fail-closed relay, cameras, System config, and process lifecycle. This package never imports galaxea_a1_runtime.

Install from GitHub

Until the packages are published on PyPI, install the tagged SDK first:

python -m pip install \
  "embodied-ops[grpc] @ git+https://github.com/pengyue-polaron/embodied-ops.git@v0.2.0"
python -m pip install \
  "lerobot_robot_galaxea_a1 @ git+https://github.com/pengyue-polaron/lerobot-robot-galaxea-a1.git"

LeRobot discovers the package from its exact lerobot_robot_ distribution prefix:

lerobot-teleoperate \
  --robot.type=galaxea_a1 \
  --robot.id=a1 \
  --robot.endpoint=unix:///run/my-runtime/embodied-ops.sock

The generic LeRobot 0.6 CLI currently installs identity teleoperation processors. Do not pair the raw A1 SO leader with this command: leader values are degrees while the robot contract is radians. Use make_galaxea_a1_processors() through LeRobot's programmatic teleoperate/record APIs until upstream supports third-party pair processor resolution.

Recording boundary

This Robot is deliberately a control adapter: its observation contains the six measured joints and normalized gripper required by the verified Teleop processor. It does not make joint control depend on EEF tracking, and it does not reopen cameras owned by another process. Consequently, a generic lerobot-record invocation is not the canonical Galaxea dataset recorder.

The galaxea-a1-runtime collection workflow composes this control path with read-only EEF feedback and the sole-owner Camera Bridge, then writes the standard LeRobotDataset v3 feature contract. This split keeps the pip plugin useful with any conforming service while leaving robot-specific synchronization, provenance, atomic episode commit, and safety lifecycle in the Runtime composition root.

Canonical action contract

joint_1_rad ... joint_6_rad  absolute radians
gripper_normalized           continuous 0..1

The supplied GalaxeaA1RelativeAnchorProcessorStep preserves the verified A1 mapping: leader deltas are anchored to the A1 startup pose, converted from degrees, transformed by explicit sign/scale/bias vectors, and bounded by explicit tracked joint limits.

Development

uv venv --python 3.12
uv pip install \
  "embodied-ops[grpc] @ git+https://github.com/pengyue-polaron/embodied-ops.git@v0.2.0"
uv pip install -e . pytest ruff build
uv run --no-project pytest
uv run --no-project ruff check .
uv run --no-project ruff format --check .
uv build

All CI tests use a fake runtime service on a temporary Unix socket and never import ROS or touch hardware.

License

Apache-2.0

Metadata

Release files for lerobot-robot-galaxea-a1 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lerobot-robot-galaxea-a1 0.2.0
File Size Uploaded
lerobot_robot_galaxea_a1-0.2.0.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lerobot-robot-galaxea-a1 0.2.0
File Interpreter ABI Platform
lerobot_robot_galaxea_a1-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.0 kB

Release files / lerobot_robot_galaxea_a1-0.2.0.tar.gz

Download URL lerobot_robot_galaxea_a1-0.2.0.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b65b8fe2b6ab6a77407123cf568e6683045ba817c766609c177b475ab45425d8
BLAKE2b-256 checksum
How to use checksums
5f371d58f380f69f27706d401e24dd2dfab2df41004596a68e7ec06164d015a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / lerobot_robot_galaxea_a1-0.2.0-py3-none-any.whl

Download URL lerobot_robot_galaxea_a1-0.2.0-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef6cc638bf867c4305551ca722cc5ca1e72d68ae5da645d29eeec096cbfb9377
BLAKE2b-256 checksum
How to use checksums
2571e411b9215271a400e757dc427c2fc9d31d4a8c4069103e63eca128317cef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page