Seeed reBot Arm B601 follower integration with LeRobot
Project description
Seeed reBot Arm B601 Follower Integration with LeRobot
This repository provides the Follower Arm (Robot) integration for the reBot Arm B601 with the LeRobot framework. It enables the B601 arm to be used as a follower robot in teleoperation and data collection workflows.
Supported Hardware
- Robot: Seeed reBot Arm B601 Series (6-DOF + Gripper)
- Motors: Damiao (DM4340 + DM4310), RobStride
- Communication: CAN bus via USB-CAN adapter, including SocketCAN-compatible adapters and Damiao's USB2CAN adapter
Installation
-
Install LeRobot: Follow the instructions in the LeRobot repository to install the base library. A very quick summary is shown below.
conda create -y -n lerobot python=3.12 conda activate lerobot conda install ffmpeg -c conda-forge git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e .
-
Install the
motorbridgePython package:# Go to https://github.com/tianrking/motorbridge/releases # Download the wheel that matches your platform and Python version # Example for Ubuntu x86_64 with Python 3.12: pip install motorbridge-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl # TODO: switch to pip install from PyPI once published
You can also install the optional
motor_cliutility:wget https://github.com/tianrking/motorbridge/releases/download/v0.1.5/motor-cli-v0.1.5-linux-x86_64.tar.gz tar zxvf motor-cli-v0.1.5-linux-x86_64.tar.gz sudo cp motor-cli-v0.1.5-linux-x86_64/bin/motor_cli /usr/local/bin/ sudo chmod a+x /usr/local/bin/motor_cli
-
Install this package: Clone this repository and install it in editable mode:
git clone https://github.com/Seeed-Projects/lerobot-robot-seeed-b601.git cd lerobot-robot-seeed-b601 pip install -e .
Or install from PyPI:
pip install lerobot-robot-seeed-b601
Upon installation, two robot variants are registered:
seeed_b601_dm_follower: B601 follower using Damiao motors - Primary supported pathseeed_b601_rs_follower: B601 follower using RobStride motors - Registered, still being refined
# Verify that the follower configs are visible to LeRobot lerobot-teleoperate --help | grep SeeedB601 # Expected output includes SeeedB601DMFollowerConfig ['robot']: SeeedB601RSFollowerConfig ['robot']:
Configuration
Default motor mapping for the B601 follower:
-
shoulder_pan: master ID0x01, feedback ID0x11, motor modeldm4340p -
shoulder_lift: master ID0x02, feedback ID0x12, motor modeldm4340p -
elbow_flex: master ID0x03, feedback ID0x13, motor modeldm4340p -
wrist_flex: master ID0x04, feedback ID0x14, motor modeldm4310 -
wrist_yaw: master ID0x05, feedback ID0x15, motor modeldm4310 -
wrist_roll: master ID0x06, feedback ID0x16, motor modeldm4310 -
gripper: master ID0x07, feedback ID0x17, motor modeldm4310 -
CAN adapter types:
socketcan: for SocketCAN-compatible adapters such ascan0damiao: for Damiao serial bridge adapters such as/dev/ttyACM0robstride: registered in config, but the dedicated adapter path is not yet supported by the currentmotorbridgePython SDK integration
Make sure your actual motor names, IDs, wiring, and motor models match these defaults before running calibration or teleoperation.
Usage
Pair a follower with a B601 leader
lerobot-teleoperate \
--robot.type=seeed_b601_dm_follower \
--robot.id=follower1 \
--robot.port=/dev/ttyACM4 \
--robot.can_adapter=damiao \
--teleop.type=seeed_b601_dm_leader \
--teleop.id=leader1 \
--teleop.port=/dev/ttyACM5 \
--teleop.can_adapter=damiao
Teleoperate with follower cameras
lerobot-teleoperate \
--robot.type=seeed_b601_dm_follower \
--robot.id=my_b601_follower \
--robot.port=/dev/ttyACM4 \
--robot.can_adapter=damiao \
--robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}, side: {type: intelrealsense, serial_number_or_name: 233522074606, width: 640, height: 480, fps: 30}}" \
--teleop.type=seeed_b601_dm_leader \
--teleop.id=my_b601_leader \
--teleop.port=/dev/ttyACM5 \
--teleop.can_adapter=damiao \
--display_data=true
Fore more lerobot operations, please refer to the lerobot official documentation:
https://huggingface.co/docs/lerobot/il_robots
Notes
- About calibration: the reBot Arm doesn't need an explicit calibration, it only reset every motor's zero position on the launch time of the lerobot scripts.
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_robot_seeed_b601-0.1.2.tar.gz.
File metadata
- Download URL: lerobot_robot_seeed_b601-0.1.2.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
699fe895d4873949de74cb448df27d2779f993020eb498a492e795c36b247c70
|
|
| MD5 |
83784f3ddf7dcb4e0f0e0fc53299f65a
|
|
| BLAKE2b-256 |
a1dc9eb928aaee318a31e1d091e13cc1f282aca38931a13952aeea6a5f89e968
|
Provenance
The following attestation bundles were made for lerobot_robot_seeed_b601-0.1.2.tar.gz:
Publisher:
python-publish.yml on Seeed-Projects/lerobot-robot-seeed-b601
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_robot_seeed_b601-0.1.2.tar.gz -
Subject digest:
699fe895d4873949de74cb448df27d2779f993020eb498a492e795c36b247c70 - Sigstore transparency entry: 1347939785
- Sigstore integration time:
-
Permalink:
Seeed-Projects/lerobot-robot-seeed-b601@051bc7cd7ba9d95d85e1bcef8c7d835a17d641b3 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Seeed-Projects
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@051bc7cd7ba9d95d85e1bcef8c7d835a17d641b3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lerobot_robot_seeed_b601-0.1.2-py3-none-any.whl.
File metadata
- Download URL: lerobot_robot_seeed_b601-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.1 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 |
85a97eccbc39fa8b8c7b45e0bf6920ff8427f53a421b73495f14ab69ad4bb0e4
|
|
| MD5 |
4dcea938f1499f79a89e4034af81c015
|
|
| BLAKE2b-256 |
8b41bbc69bb4118fc714b6af9171d6523e6952bd3611773ff07ad22c98af4603
|
Provenance
The following attestation bundles were made for lerobot_robot_seeed_b601-0.1.2-py3-none-any.whl:
Publisher:
python-publish.yml on Seeed-Projects/lerobot-robot-seeed-b601
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_robot_seeed_b601-0.1.2-py3-none-any.whl -
Subject digest:
85a97eccbc39fa8b8c7b45e0bf6920ff8427f53a421b73495f14ab69ad4bb0e4 - Sigstore transparency entry: 1347940032
- Sigstore integration time:
-
Permalink:
Seeed-Projects/lerobot-robot-seeed-b601@051bc7cd7ba9d95d85e1bcef8c7d835a17d641b3 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/Seeed-Projects
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@051bc7cd7ba9d95d85e1bcef8c7d835a17d641b3 -
Trigger Event:
push
-
Statement type: