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.0.tar.gz (6.3 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.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lerobot_robot_dummy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ae6816c1d9eab2bd848d7a29aa01fac2e921ab8cb9fff94473ff9bf93b9e7280
MD5 631065a48be74f3d1d13cd85b1579e13
BLAKE2b-256 ad22786caa1bdd05e26d91cc1db2c8c1769e5096270883f9889f79a436f2d782

See more details on using hashes here.

Provenance

The following attestation bundles were made for lerobot_robot_dummy-1.0.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lerobot_robot_dummy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca1dde4faee877bb1461f00f764117c6bc0fd9ec9389fb6455a0d03bf64163ef
MD5 4d99111b1da09e00865593fdd62cc675
BLAKE2b-256 13de7eda622788274590fd2766a92f45fff3bb0d271f4d3ced7c1cbd58c8958e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lerobot_robot_dummy-1.0.0-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