reBot Arm 102 teleoperator integration with LeRobot
Project description
reBot Arm 102 Teleoperator for reBot B601
This repository provides a LeRobot teleoperator integration for the reBot Arm 102 leader arm, intended to be paired with the Seeed reBot B601 follower arm.
The implementation is intentionally opinionated:
- joint names are aligned to reBot B601
- joint directions are configured in code
- joint limits are taken directly from config
- each startup calibration sets the current servo origin to zero
Supported Setup
- Leader: reBot Arm 102
- Follower: Seeed reBot B601
- Communication: UART for reBot Arm 102, CAN or Damiao serial bridge for B601
Installation
Install LeRobot first, then install this package in editable mode:
cd lerobot-teleoperator-rebot-arm-102
pip install -e .
This package registers one teleoperator type:
rebot_arm_102_leader
Default Mapping
shoulder_pan-> servo ID0shoulder_lift-> servo ID1elbow_flex-> servo ID2wrist_flex-> servo ID3wrist_yaw-> servo ID4wrist_roll-> servo ID5gripper-> servo ID6
Joint directions and joint limits are defined in lerobot_teleoperator_rebot_arm_102/config_rebot_arm_102_leader.py.
Usage
Standard teleoperation:
lerobot-teleoperate \
--teleop.type=rebot_arm_102_leader \
--teleop.id=rebot_arm_102_leader \
--teleop.port=/dev/ttyUSB0 \
--robot.type=seeed_b601_dm_follower \
--robot.id=follower1 \
--robot.port=/dev/ttyACM4 \
--robot.can_adapter=damiao
Example Scripts
read_raw_angles.py
Purpose:
- read raw reBot Arm 102 servo angles directly from the Fashion Star SDK
- verify servo ID to joint mapping
- check whether a given joint is actually changing at the hardware level
Usage:
cd lerobot-teleoperator-rebot-arm-102
python examples/read_raw_angles.py --port /dev/ttyUSB0
What to look for:
- move only one joint at a time
- confirm the expected joint column changes
- if raw values change but teleop behavior is wrong, the problem is usually direction or range config, not the SDK readout
read_leader_follower_compare.py
Purpose:
- read reBot Arm 102 leader output and B601 follower observation side by side
- compare
leader,follower, anddeltaper joint - debug direction mismatches safely without sending follower commands
Prerequisite:
- need a reBot B601 arm setup
- install the python integration for reBot B601, https://github.com/Seeed-Projects/lerobot-robot-seeed-b601
Behavior:
- after connecting the B601 follower, it disables torque so the arm can be moved by hand
- it does not send action commands to the follower
Usage with a Damiao follower on can0:
cd lerobot-teleoperator-rebot-arm-102
python examples/read_leader_follower_compare.py --leader-port /dev/ttyUSB0 --follower-port can0 --follower-type dm
Usage with a Damiao follower through a Damiao serial bridge:
cd lerobot-teleoperator-rebot-arm-102
python examples/read_leader_follower_compare.py --leader-port /dev/ttyUSB0 --follower-port /dev/ttyACM0 --follower-type dm --follower-can-adapter damiao
What to look for:
- move one joint on the leader
- move the same joint by hand on the follower if needed
- compare whether
leaderandfollowerchange in the same sign direction - if one side increases while the other decreases, flip that joint in
joint_directions
Notes
- Under the current implementation, startup calibration resets each reBot Arm 102 servo origin to the current pose.
joint_rangesare taken from config, not from calibration data.- If a joint appears stuck near one limit, check
joint_rangesfirst.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lerobot_teleoperator_rebot_arm_102-0.1.0.tar.gz.
File metadata
- Download URL: lerobot_teleoperator_rebot_arm_102-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d102b7d2a0171fbabf8a2eb3e8ae03cba9f9e0a251e2351c6f2f18551e9af100
|
|
| MD5 |
0822af6773b895a42ee3c8a2373c1e05
|
|
| BLAKE2b-256 |
ee5de6e02e1161b3f097d6ea2c913030514075c299eb7d10d968c2bfb8647206
|
Provenance
The following attestation bundles were made for lerobot_teleoperator_rebot_arm_102-0.1.0.tar.gz:
Publisher:
python-publish.yml on Seeed-Projects/lerobot-teleoperator-rebot-arm-102
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_teleoperator_rebot_arm_102-0.1.0.tar.gz -
Subject digest:
d102b7d2a0171fbabf8a2eb3e8ae03cba9f9e0a251e2351c6f2f18551e9af100 - Sigstore transparency entry: 1260872381
- Sigstore integration time:
-
Permalink:
Seeed-Projects/lerobot-teleoperator-rebot-arm-102@987b4b34cb872b5b73ca615b1014ec53d5fdd4bd -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Seeed-Projects
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@987b4b34cb872b5b73ca615b1014ec53d5fdd4bd -
Trigger Event:
push
-
Statement type:
File details
Details for the file lerobot_teleoperator_rebot_arm_102-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lerobot_teleoperator_rebot_arm_102-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a890f2080fe55dbc9705b97a1ba6be6a181615539a671ef3faf5937f1269cccf
|
|
| MD5 |
74b5cd6f69dfc9984d9ca57e63616882
|
|
| BLAKE2b-256 |
3856867561b4248a2caff89851aa9fd40f40e616e03a8828348c41b1e7bb4ff3
|
Provenance
The following attestation bundles were made for lerobot_teleoperator_rebot_arm_102-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on Seeed-Projects/lerobot-teleoperator-rebot-arm-102
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_teleoperator_rebot_arm_102-0.1.0-py3-none-any.whl -
Subject digest:
a890f2080fe55dbc9705b97a1ba6be6a181615539a671ef3faf5937f1269cccf - Sigstore transparency entry: 1260872404
- Sigstore integration time:
-
Permalink:
Seeed-Projects/lerobot-teleoperator-rebot-arm-102@987b4b34cb872b5b73ca615b1014ec53d5fdd4bd -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Seeed-Projects
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@987b4b34cb872b5b73ca615b1014ec53d5fdd4bd -
Trigger Event:
push
-
Statement type: