diff --git a/lerobot/common/robot_devices/cameras/reachy2.py b/lerobot/common/robot_devices/cameras/reachy2.py index f7b4f11c..1f547b3b 100644 --- a/lerobot/common/robot_devices/cameras/reachy2.py +++ b/lerobot/common/robot_devices/cameras/reachy2.py @@ -39,39 +39,48 @@ class ReachyCameraConfig: class ReachyCamera: - def __init__(self, host: str, port: int,name: str, image_type: str, config: ReachyCameraConfig | None = None, **kwargs): - self.host=host - self.port=port + def __init__( + self, + host: str, + port: int, + name: str, + image_type: str, + config: ReachyCameraConfig | None = None, + **kwargs + ): + self.host = host + self.port = port self.image_type = image_type self.name = name self.config = config - self.cam_manager=None + self.cam_manager = None self.is_connected = False self.logs = {} def connect(self): if not self.is_connected: - self.cam_manager=CameraManager(host=self.host, port=self.port) - self.cam_manager.initialize_cameras()#FIXME: maybe we should not re-initialize - self.is_connected=True + self.cam_manager = CameraManager(host=self.host, port=self.port) + self.cam_manager.initialize_cameras() # FIXME: maybe we should not re-initialize + self.is_connected = True def read(self) -> np.ndarray: if not self.is_connected: self.connect() - if self.name=='teleop' and hasattr(self.cam_manager,'teleop'): - if self.image_type=='left': - return self.cam_manager.teleop.get_frame(CameraView.LEFT) - elif self.image_type=='right': - return self.cam_manager.teleop.get_frame(CameraView.RIGHT) + if self.name == "teleop" and hasattr(self.cam_manager, "teleop"): + if self.image_type == "left": + return self.cam_manager.teleop.get_compressed_frame(CameraView.LEFT) + elif self.image_type == "right": + return self.cam_manager.teleop.get_compressed_frame(CameraView.RIGHT) else: return None - elif self.name=='depth' and hasattr(self.cam_manager,'depth'): + elif self.name == "depth" and hasattr(self.cam_manager, "depth"): - if self.image_type=='depth': + if self.image_type == "depth": return self.cam_manager.depth.get_depth_frame() - elif self.image_type=='rgb': - return self.cam_manager.depth.get_frame() + elif self.image_type == "rgb": + return self.cam_manager.depth.get_compressed_frame() else: return None + return None