Skip to main content

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
  • leader-side joint limits are taken directly from config
  • follower-side direction mapping is configured in the follower integration
  • 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 ID 0
  • shoulder_lift -> servo ID 1
  • elbow_flex -> servo ID 2
  • wrist_flex -> servo ID 3
  • wrist_yaw -> servo ID 4
  • wrist_roll -> servo ID 5
  • gripper -> servo ID 6

Leader-side joint limits are defined in lerobot_teleoperator_rebot_arm_102/config_rebot_arm_102_leader.py. Follower-side direction mapping is defined in the B601 follower configuration.

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 the leader range config or the follower direction 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, and delta per joint
  • debug direction mismatches safely without sending follower commands

Prerequisite:

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 mapped and follower change in the same sign direction
  • if one side increases while the other decreases, update that joint in the follower joint_directions config

Notes

  • Under the current implementation, startup calibration resets each reBot Arm 102 servo origin to the current pose.
  • joint_ranges are taken from config, not from calibration data.
  • If a joint appears stuck near one limit, check joint_ranges first.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lerobot_teleoperator_rebot_arm_102-1.0.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file lerobot_teleoperator_rebot_arm_102-1.0.1.tar.gz.

File metadata

File hashes

Hashes for lerobot_teleoperator_rebot_arm_102-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c649a0fecfa125f10326b83221d503ebce7e74c4d51183b9b606de39f97df4c1
MD5 eea7f9043f78303685f34947c0611b53
BLAKE2b-256 f8d79ddfa9b6fb048a6e3e14cd69f9fa4b13a6febd86f1c027740c5f4ebd3778

See more details on using hashes here.

Provenance

The following attestation bundles were made for lerobot_teleoperator_rebot_arm_102-1.0.1.tar.gz:

Publisher: python-publish.yml on Seeed-Projects/lerobot-teleoperator-rebot-arm-102

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lerobot_teleoperator_rebot_arm_102-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lerobot_teleoperator_rebot_arm_102-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 88135ac909d575633873801b98075483f10f04d679cd198c59b1b127434fa185
MD5 e716eecb58b263731fa98adeaeb4accc
BLAKE2b-256 defdf7c7c0b40535b1594e39e2b27e78a6518ffa48341c8a4096a6bd7bcc98f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lerobot_teleoperator_rebot_arm_102-1.0.1-py3-none-any.whl:

Publisher: python-publish.yml on Seeed-Projects/lerobot-teleoperator-rebot-arm-102

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 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