Skip to content

Commit 1ff8986

Browse files
authored
fix: add MockMotorBus to MockRobot (#2081)
1 parent f0aeded commit 1ff8986

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

tests/mocks/mock_robot.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
from typing import Any
2121

2222
from lerobot.cameras import CameraConfig, make_cameras_from_configs
23+
from lerobot.motors.motors_bus import Motor, MotorNormMode
2324
from lerobot.robots import Robot, RobotConfig
2425
from lerobot.utils.errors import DeviceAlreadyConnectedError, DeviceNotConnectedError
26+
from tests.mocks.mock_motors_bus import MockMotorsBus
2527

2628

2729
@RobotConfig.register_subclass("mock_robot")
@@ -58,9 +60,22 @@ def __init__(self, config: MockRobotConfig):
5860
self.config = config
5961
self._is_connected = False
6062
self._is_calibrated = config.calibrated
61-
self.motors = [f"motor_{i + 1}" for i in range(config.n_motors)]
6263
self.cameras = make_cameras_from_configs(config.cameras)
6364

65+
mock_motors = {}
66+
for i in range(config.n_motors):
67+
motor_name = f"motor_{i + 1}"
68+
mock_motors[motor_name] = Motor(
69+
id=i + 1,
70+
model="model_1", # Use model_1 which exists in MockMotorsBus tables
71+
norm_mode=MotorNormMode.RANGE_M100_100,
72+
)
73+
74+
self.bus = MockMotorsBus("/dev/dummy-port", mock_motors)
75+
76+
# NOTE(fracapuano): The .motors attribute was used from the previous interface
77+
self.motors = [f"motor_{i + 1}" for i in range(config.n_motors)]
78+
6479
@property
6580
def _motors_ft(self) -> dict[str, type]:
6681
return {f"{motor}.pos": float for motor in self.motors}

0 commit comments

Comments
 (0)