diff --git a/lerobot/common/robots/lekiwi/__init__.py b/lerobot/common/robots/lekiwi/__init__.py index 0567006d..e3d10c5c 100644 --- a/lerobot/common/robots/lekiwi/__init__.py +++ b/lerobot/common/robots/lekiwi/__init__.py @@ -1,4 +1,3 @@ -from .config_lekiwi import LeKiwiConfig -from .configuration_daemon_lekiwi import LeKiwiClientConfig +from .config_lekiwi import LeKiwiClientConfig, LeKiwiConfig from .lekiwi import LeKiwi from .lekiwi_client import LeKiwiClient diff --git a/lerobot/common/robots/lekiwi/config_lekiwi.py b/lerobot/common/robots/lekiwi/config_lekiwi.py index 7cb0190c..c74e683d 100644 --- a/lerobot/common/robots/lekiwi/config_lekiwi.py +++ b/lerobot/common/robots/lekiwi/config_lekiwi.py @@ -42,3 +42,29 @@ class LeKiwiConfig(RobotConfig): ), } ) + + +@RobotConfig.register_subclass("lekiwi_client") +@dataclass +class LeKiwiClientConfig(RobotConfig): + # Network Configuration + remote_ip: str = "172.18.133.90" + port_zmq_cmd: int = 5555 + port_zmq_observations: int = 5556 + + teleop_keys: dict[str, str] = field( + default_factory=lambda: { + # Movement + "forward": "w", + "backward": "s", + "left": "a", + "right": "d", + "rotate_left": "z", + "rotate_right": "x", + # Speed control + "speed_up": "r", + "speed_down": "f", + # quit teleop + "quit": "q", + } + ) diff --git a/lerobot/common/robots/lekiwi/configuration_daemon_lekiwi.py b/lerobot/common/robots/lekiwi/configuration_daemon_lekiwi.py deleted file mode 100644 index ad0c89f8..00000000 --- a/lerobot/common/robots/lekiwi/configuration_daemon_lekiwi.py +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2024 The HuggingFace Inc. team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from dataclasses import dataclass, field - -from ..config import RobotConfig - - -@RobotConfig.register_subclass("lekiwi_client") -@dataclass -class LeKiwiClientConfig(RobotConfig): - # Network Configuration - remote_ip: str = "172.18.133.90" - port_zmq_cmd: int = 5555 - port_zmq_observations: int = 5556 - - teleop_keys: dict[str, str] = field( - default_factory=lambda: { - # Movement - "forward": "w", - "backward": "s", - "left": "a", - "right": "d", - "rotate_left": "z", - "rotate_right": "x", - # Speed control - "speed_up": "r", - "speed_down": "f", - # quit teleop - "quit": "q", - } - ) diff --git a/lerobot/common/robots/lekiwi/lekiwi_client.py b/lerobot/common/robots/lekiwi/lekiwi_client.py index 5968c21d..0fb12456 100644 --- a/lerobot/common/robots/lekiwi/lekiwi_client.py +++ b/lerobot/common/robots/lekiwi/lekiwi_client.py @@ -26,7 +26,7 @@ from lerobot.common.errors import DeviceAlreadyConnectedError, DeviceNotConnecte from lerobot.common.robots.config import RobotMode from ..robot import Robot -from .configuration_daemon_lekiwi import LeKiwiClientConfig +from .config_lekiwi import LeKiwiClientConfig # TODO(Steven): This doesn't need to inherit from Robot diff --git a/lerobot/common/robots/lekiwi/lekiwi_client_app.py b/lerobot/common/robots/lekiwi/lekiwi_client_app.py index ff55421a..2489261f 100644 --- a/lerobot/common/robots/lekiwi/lekiwi_client_app.py +++ b/lerobot/common/robots/lekiwi/lekiwi_client_app.py @@ -21,7 +21,7 @@ from lerobot.common.robots.config import RobotMode from lerobot.common.teleoperators.keyboard import KeyboardTeleop, KeyboardTeleopConfig from lerobot.common.teleoperators.so100 import SO100Leader, SO100LeaderConfig -from .configuration_daemon_lekiwi import LeKiwiClientConfig +from .config_lekiwi import LeKiwiClientConfig from .lekiwi_client import LeKiwiClient DUMMY_FEATURES = {