diff --git a/lerobot/scripts/control_robot.py b/lerobot/scripts/control_robot.py index 8337ee4b4..a7ecc28ee 100644 --- a/lerobot/scripts/control_robot.py +++ b/lerobot/scripts/control_robot.py @@ -240,6 +240,22 @@ def is_headless(): return True +def has_method(_object: object, method_name: str): + return hasattr(_object, method_name) and callable(getattr(_object, method_name)) + + +def get_available_arms(robot): + # TODO(rcadene): moves this function in manipulator class? + available_arms = [] + for name in robot.follower_arms: + arm_id = get_arm_id(name, "follower") + available_arms.append(arm_id) + for name in robot.leader_arms: + arm_id = get_arm_id(name, "leader") + available_arms.append(arm_id) + return available_arms + + ######################################################################################## # Asynchrounous saving of images on disk ######################################################################################## @@ -365,22 +381,6 @@ def stop_image_writer(image_writer, timeout): stop_processes(processes_pool, image_queue, timeout=timeout) -def has_method(_object: object, method_name: str): - return hasattr(_object, method_name) and callable(getattr(_object, method_name)) - - -def get_available_arms(robot): - # TODO(rcadene): moves this function in manipulator class? - available_arms = [] - for name in robot.follower_arms: - arm_id = get_arm_id(name, "follower") - available_arms.append(arm_id) - for name in robot.leader_arms: - arm_id = get_arm_id(name, "leader") - available_arms.append(arm_id) - return available_arms - - ######################################################################################## # Control modes ########################################################################################