Galaxea A1 SO-Leader for LeRobot
A third-party LeRobot Teleoperator plugin for the modified A1 leader arm.
This package registers the LeRobot Teleoperator type
galaxea_a1_so_leader. It owns the leader's serial bus, calibration, setup,
action reads, optional feedback, and connection lifecycle. It does not import
ROS, start an A1 Runtime, record datasets, or map leader values into robot
coordinates.
Install
python -m pip install lerobot_teleoperator_galaxea_a1_so_leader
LeRobot integration
| Convention | Value |
|---|---|
| Distribution | lerobot_teleoperator_galaxea_a1_so_leader |
| Type | galaxea_a1_so_leader |
| Config | GalaxeaA1SOLeaderConfig |
| Teleoperator | GalaxeaA1SOLeader |
| Supported LeRobot | >=0.6,<0.7 |
The distribution prefix, module layout, config registration, class names, and package exports follow LeRobot's third-party hardware conventions. LeRobot CLI entrypoints discover the plugin after installation.
Hardware contract
| Channel | Hardware | Reported value |
|---|---|---|
joint0 ... joint5 |
Feetech STS3215 IDs 0...5 | degrees |
gripper |
Feetech STS3215 ID 6 | calibrated RANGE_0_100 |
The seven-motor topology is fixed. The config supplies lifecycle identity, serial port, and write retries; it does not redefine motor IDs or units.
To calibrate the leader by itself:
lerobot-calibrate \
--teleop.type=galaxea_a1_so_leader \
--teleop.id=a1-leader \
--teleop.port=/dev/serial/by-id/your-device
This command opens the serial device. Run it only with the leader connected and its workspace clear.
Pairing with Galaxea A1
Leader outputs are not A1 commands. The leader reports degrees and its
calibrated gripper range; the A1 Robot plugin accepts radians and a normalized
0..1 gripper target.
Use make_galaxea_a1_processors() from
lerobot-robot-galaxea-a1
with LeRobot's programmatic APIs, or use the tracked
Galaxea A1 Runtime
workflow. Do not pair these devices through the identity processor in the
generic LeRobot 0.6 CLI.
Development
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv build
Metadata
Release files for lerobot-teleoperator-galaxea-a1-so-leader 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lerobot_teleoperator_galaxea_a1_so_leader-0.1.2.tar.gz | 10.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lerobot_teleoperator_galaxea_a1_so_leader-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 kB
Release files / lerobot_teleoperator_galaxea_a1_so_leader-0.1.2.tar.gz
| Download URL | lerobot_teleoperator_galaxea_a1_so_leader-0.1.2.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8962f613a61ad56af48c94f89616f18e9c35a3974cc653627faf94122a66725a
|
|
BLAKE2b-256 checksum How to use checksums |
6e56f667076c265b8e0320bd44284bfb4bf578b7ba62f136bb8e73ffdea3f5b2
|
| 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_teleoperator_galaxea_a1_so_leader-0.1.2-py3-none-any.whl
| Download URL | lerobot_teleoperator_galaxea_a1_so_leader-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb11553a8d9148f0576df5249066e5d710f7f5c52dad4d4228ace4d94c6f8df0
|
|
BLAKE2b-256 checksum How to use checksums |
55d0004010835131edcb4b96cc92f8cbc337274123ff5b94ad18263071814f37
|
| 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}
|