diff --git a/robosuite/devices/spacemouse.py b/robosuite/devices/spacemouse.py index d27fd5272a..82b49effd2 100644 --- a/robosuite/devices/spacemouse.py +++ b/robosuite/devices/spacemouse.py @@ -23,6 +23,8 @@ import numpy as np from pynput.keyboard import Controller, Key, Listener +from robosuite.utils.log_utils import ROBOSUITE_DEFAULT_LOGGER + try: import hid except ModuleNotFoundError as exc: @@ -128,7 +130,14 @@ def __init__( self.vendor_id = vendor_id self.product_id = product_id self.device = hid.device() - self.device.open(self.vendor_id, self.product_id) # SpaceMouse + try: + self.device.open(self.vendor_id, self.product_id) # SpaceMouse + except OSError as e: + ROBOSUITE_DEFAULT_LOGGER.warning( + "Failed to open SpaceMouse device" + "Consider killing other processes that may be using the device such as 3DconnexionHelper (killall 3DconnexionHelper)" + ) + raise self.pos_sensitivity = pos_sensitivity self.rot_sensitivity = rot_sensitivity