Skip to main content

Dummy Follower Arm integration for debugging with LeRobot

Project description

LeRobot Dummy Follower Arm

This is a Virtual Follower Arm integration designed for the LeRobot framework. Its primary purpose is debugging: it does not drive any real hardware but instead prints the received control commands (Actions) directly to the terminal.

How it Works

  1. Action Listening: It implements the Robot base class and receives position commands from the Leader via send_action.
  2. Feature Alignment: To work with a specific Leader, it declares matching joint names (motor names).
  3. Debug Output: Whenever the Leader sends a command, the Dummy arm outputs: [DEBUG DUMMY] Received Action: ... to the console.
  4. Silent Mode: You can disable all terminal output by setting the silent configuration to True.

Installation

Navigate to the directory and install in editable mode:

cd lerobot-robot-dummy
pip install -e .

Usage

1. Using with Seeed B601 Leader (Default Configuration)

The Dummy arm's default motor names are aligned with the Seeed B601 (shoulder_pan, shoulder_lift, etc.), so you can run it directly:

lerobot-teleoperate \
    --robot.type=dummy_follower \
    --robot.id=dummy1 \
    --teleop.type=seeed_b601_dm_leader \
    --teleop.port=/dev/ttyACM0 \
    --teleop.can_adapter=damiao

2. Running in Silent Mode (Quiet Mode)

If you want to suppress the terminal output (e.g., to keep the console clean while testing other components), add the --robot.silent=True flag:

lerobot-teleoperate \
    --robot.type=dummy_follower \
    --robot.id=dummy_quiet \
    --robot.silent=True \
    --teleop.type=seeed_b601_dm_leader \
    ...

3. Using with Other Leaders (Dynamic Motor Names)

If you want to use it with other robots (e.g., xArm or a custom arm), you can pass the corresponding joint names via the --robot.motor_names command-line argument.

For example, if your Leader only has 3 joints [joint1, joint2, gripper]:

lerobot-teleoperate \
    --robot.type=dummy_follower \
    --robot.id=dummy_custom \
    --robot.motor_names="['joint1', 'joint2', 'gripper']" \
    --teleop.type=your_custom_leader \
    ...

Notes

  • Feedback (Observation): Since there is no physical hardware, the Dummy arm always returns 0.0 for the current position.
  • Frequency Control: It has no hardware latency; its operating frequency depends entirely on the Leader's transmission rate.
  • Abstract Methods: This implementation fully satisfies the Robot base class requirements including calibrate, configure, and is_calibrated.

Project details


Download files

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

Source Distribution

lerobot_robot_dummy-1.0.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

lerobot_robot_dummy-1.0.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lerobot_robot_dummy-1.0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lerobot_robot_dummy-1.0.1.tar.gz
Algorithm Hash digest
SHA256 13c4aa870674efa471661cdd7017abfb0e161cac8d5cc85f844c888ec480c722
MD5 2d1f84a108a7c5d9e8d787ce3c5f2a6e
BLAKE2b-256 f2a7221565ff95536ba6ddcc6d1aa6ce0581b8ecb4fed114feec2dc9d4f91012

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on KillingJacky/lerobot-robot-dummy

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_robot_dummy-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lerobot_robot_dummy-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe9f8263d1c894f9e820e155ea2ea3323d7ef56d136661fae754e8612d3c7675
MD5 a817a88c6b215d5fdd01b3a371255579
BLAKE2b-256 399cac4e5207d1cdc7758f99ced288307ca14d1047a518e45be695d5b00d21f4

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on KillingJacky/lerobot-robot-dummy

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page