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
- Action Listening: It implements the
Robotbase class and receives position commands from the Leader viasend_action. - Feature Alignment: To work with a specific Leader, it declares matching joint names (motor names).
- Debug Output: Whenever the Leader sends a command, the Dummy arm outputs:
[DEBUG DUMMY] Received Action: ...to the console. - Silent Mode: You can disable all terminal output by setting the
silentconfiguration toTrue.
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.0for 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
Robotbase class requirements includingcalibrate,configure, andis_calibrated.
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_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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13c4aa870674efa471661cdd7017abfb0e161cac8d5cc85f844c888ec480c722
|
|
| MD5 |
2d1f84a108a7c5d9e8d787ce3c5f2a6e
|
|
| BLAKE2b-256 |
f2a7221565ff95536ba6ddcc6d1aa6ce0581b8ecb4fed114feec2dc9d4f91012
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_robot_dummy-1.0.1.tar.gz -
Subject digest:
13c4aa870674efa471661cdd7017abfb0e161cac8d5cc85f844c888ec480c722 - Sigstore transparency entry: 1347939970
- Sigstore integration time:
-
Permalink:
KillingJacky/lerobot-robot-dummy@ad5ac25911f72f14128ab5610ce80ec6bb8a7ed9 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/KillingJacky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ad5ac25911f72f14128ab5610ce80ec6bb8a7ed9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lerobot_robot_dummy-1.0.1-py3-none-any.whl.
File metadata
- Download URL: lerobot_robot_dummy-1.0.1-py3-none-any.whl
- Upload date:
- Size: 5.4 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 |
fe9f8263d1c894f9e820e155ea2ea3323d7ef56d136661fae754e8612d3c7675
|
|
| MD5 |
a817a88c6b215d5fdd01b3a371255579
|
|
| BLAKE2b-256 |
399cac4e5207d1cdc7758f99ced288307ca14d1047a518e45be695d5b00d21f4
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lerobot_robot_dummy-1.0.1-py3-none-any.whl -
Subject digest:
fe9f8263d1c894f9e820e155ea2ea3323d7ef56d136661fae754e8612d3c7675 - Sigstore transparency entry: 1347940234
- Sigstore integration time:
-
Permalink:
KillingJacky/lerobot-robot-dummy@ad5ac25911f72f14128ab5610ce80ec6bb8a7ed9 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/KillingJacky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ad5ac25911f72f14128ab5610ce80ec6bb8a7ed9 -
Trigger Event:
push
-
Statement type: