diff --git a/examples/10_use_so100.md b/examples/10_use_so100.md
index ffadb1f3..405e80ec 100644
--- a/examples/10_use_so100.md
+++ b/examples/10_use_so100.md
@@ -123,22 +123,22 @@ Follow step 4 of the [assembly video](https://www.youtube.com/watch?v=FioA2oeFZ5
Next, you'll need to calibrate your SO-100 robot to ensure that the leader and follower arms have the same position values when they are in the same physical position. This calibration is essential because it allows a neural network trained on one SO-100 robot to work on another.
-**Auto-calibration of follower arm**
-Follow step 5 of the [assembly video](https://www.youtube.com/watch?v=FioA2oeFZ5I) which illustrates the auto-calibration of the follower arm. You first need to manually move your follower arm to this initial position:
+**Manual calibration of follower arm**
+/!\ Contrarily to step 6 of the [assembly video](https://www.youtube.com/watch?v=FioA2oeFZ5I) which illustrates the auto calibration, we will actually do manual calibration of follower for now.
-
-

-
+You will need to move the follower arm to these positions sequentially:
-Then run this script to launch auto-calibration:
+| 1. Zero position | 2. Rotated position | 3. Rest position |
+|---|---|---|
+|
|
|
|
+
+Make sure both arms are connected and run this script to launch manual calibration:
```bash
python lerobot/scripts/control_robot.py calibrate \
- --robot-path lerobot/configs/robot/so100.yaml \
+ --robot-path lerobot/configs/robot/moss.yaml \
--robot-overrides '~cameras' --arms main_follower
```
-Note: You can't run auto-calibration for the leader arm, since we removed the gears. Thus, you will need to manually calibrate the leader arm. It's less precise than auto-calibration, but precision is not as critical for the leader arm.
-
**Manual calibration of leader arm**
Follow step 6 of the [assembly video](https://www.youtube.com/watch?v=FioA2oeFZ5I) which illustrates the manual calibration. You will need to move the leader arm to these positions sequentially:
diff --git a/examples/11_use_moss.md b/examples/11_use_moss.md
index 4286fb8b..4ccbb93d 100644
--- a/examples/11_use_moss.md
+++ b/examples/11_use_moss.md
@@ -123,22 +123,22 @@ Follow step 4 of the [assembly video](https://www.youtube.com/watch?v=DA91NJOtMi
Next, you'll need to calibrate your Moss v1 robot to ensure that the leader and follower arms have the same position values when they are in the same physical position. This calibration is essential because it allows a neural network trained on one Moss v1 robot to work on another.
-**Auto-calibration of follower arm**
-Follow step 5 of the [assembly video](https://www.youtube.com/watch?v=DA91NJOtMic) which illustrates the auto-calibration of the follower arm. You first need to manually move your follower arm to this initial position:
+**Manual calibration of follower arm**
+/!\ Contrarily to step 6 of the [assembly video](https://www.youtube.com/watch?v=DA91NJOtMic) which illustrates the auto calibration, we will actually do manual calibration of follower for now.
-
-

-
+You will need to move the follower arm to these positions sequentially:
-Then run this script to launch auto-calibration:
+| 1. Zero position | 2. Rotated position | 3. Rest position |
+|---|---|---|
+|
|
|
|
+
+Make sure both arms are connected and run this script to launch manual calibration:
```bash
python lerobot/scripts/control_robot.py calibrate \
--robot-path lerobot/configs/robot/moss.yaml \
--robot-overrides '~cameras' --arms main_follower
```
-Note: You can't run auto-calibration for the leader arm, since we removed the gears. Thus, you will need to manually calibrate the leader arm. It's less precise than auto-calibration, but precision is not as critical for the leader arm.
-
**Manual calibration of leader arm**
Follow step 6 of the [assembly video](https://www.youtube.com/watch?v=DA91NJOtMic) which illustrates the manual calibration. You will need to move the leader arm to these positions sequentially:
diff --git a/lerobot/common/robot_devices/robots/manipulator.py b/lerobot/common/robot_devices/robots/manipulator.py
index 2c358cb9..a20d5aed 100644
--- a/lerobot/common/robot_devices/robots/manipulator.py
+++ b/lerobot/common/robot_devices/robots/manipulator.py
@@ -338,17 +338,10 @@ class ManipulatorRobot:
elif self.robot_type in ["so100", "moss"]:
from lerobot.common.robot_devices.robots.feetech_calibration import (
- run_arm_auto_calibration,
run_arm_manual_calibration,
)
- # TODO(rcadene): better way to handle mocking + test run_arm_auto_calibration
- if arm_type == "leader" or arm.mock:
- calibration = run_arm_manual_calibration(arm, self.robot_type, name, arm_type)
- elif arm_type == "follower":
- calibration = run_arm_auto_calibration(arm, self.robot_type, name, arm_type)
- else:
- raise ValueError(arm_type)
+ calibration = run_arm_manual_calibration(arm, self.robot_type, name, arm_type)
print(f"Calibration is done! Saving calibration file '{arm_calib_path}'")
arm_calib_path.parent.mkdir(parents=True, exist_ok=True)
diff --git a/media/moss/follower_rest.webp b/media/moss/follower_rest.webp
new file mode 100644
index 00000000..f0dba18b
Binary files /dev/null and b/media/moss/follower_rest.webp differ
diff --git a/media/moss/follower_rotated.webp b/media/moss/follower_rotated.webp
new file mode 100644
index 00000000..23d5aa9c
Binary files /dev/null and b/media/moss/follower_rotated.webp differ
diff --git a/media/moss/follower_zero.webp b/media/moss/follower_zero.webp
new file mode 100644
index 00000000..10ef8370
Binary files /dev/null and b/media/moss/follower_zero.webp differ
diff --git a/media/so100/follower_rest.webp b/media/so100/follower_rest.webp
new file mode 100644
index 00000000..971fbc68
Binary files /dev/null and b/media/so100/follower_rest.webp differ
diff --git a/media/so100/follower_rotated.webp b/media/so100/follower_rotated.webp
new file mode 100644
index 00000000..b13d7d7d
Binary files /dev/null and b/media/so100/follower_rotated.webp differ
diff --git a/media/so100/follower_zero.webp b/media/so100/follower_zero.webp
new file mode 100644
index 00000000..411a5554
Binary files /dev/null and b/media/so100/follower_zero.webp differ