From 64172756a7c9f9dfc4ae0199d316ed2caab55674 Mon Sep 17 00:00:00 2001 From: croissant Date: Mon, 17 Nov 2025 10:46:22 +0100 Subject: [PATCH] cam res --- examples/openarms/evaluate.py | 24 +++++++++---------- examples/openarms_web_interface/App.jsx | 15 ++++++++++++ .../web_record_server.py | 4 ++-- loop_datasets.py | 8 ++++--- 4 files changed, 34 insertions(+), 17 deletions(-) diff --git a/examples/openarms/evaluate.py b/examples/openarms/evaluate.py index f0a42df15..d036062bf 100644 --- a/examples/openarms/evaluate.py +++ b/examples/openarms/evaluate.py @@ -44,29 +44,29 @@ from lerobot.utils.utils import log_say from lerobot.utils.visualization_utils import init_rerun -HF_MODEL_ID = "lerobot-data-collection/two-folds-act" # TODO: Replace with your trained model -HF_EVAL_DATASET_ID = "lerobot-data-collection/eval-two-folds-act-50k-9" # TODO: Replace with your eval dataset name -TASK_DESCRIPTION = "two-folds-dataset" # TODO: Replace with your task, this should match!! +HF_MODEL_ID = "lerobot-data-collection/three-folds-pi0" # TODO: Replace with your trained model +HF_EVAL_DATASET_ID = "lerobot-data-collection/three-folds-pi0_eval7" # TODO: Replace with your eval dataset name +TASK_DESCRIPTION = "three-folds-dataset" # TODO: Replace with your task, this should match!! -NUM_EPISODES = 5 +NUM_EPISODES = 1 FPS = 30 -EPISODE_TIME_SEC = 120 +EPISODE_TIME_SEC = 300 RESET_TIME_SEC = 60 # Robot CAN interfaces -FOLLOWER_LEFT_PORT = "can2" -FOLLOWER_RIGHT_PORT = "can3" +FOLLOWER_LEFT_PORT = "can0" +FOLLOWER_RIGHT_PORT = "can1" # If enabled, you can manually reset the environment between evaluation episodes USE_LEADER_FOR_RESETS = True # Set to False if you don't want to use leader -LEADER_LEFT_PORT = "can0" -LEADER_RIGHT_PORT = "can1" +LEADER_LEFT_PORT = "can2" +LEADER_RIGHT_PORT = "can3" # Camera configuration CAMERA_CONFIG = { - "left_wrist": OpenCVCameraConfig(index_or_path="/dev/video0", width=640, height=480, fps=FPS), - "right_wrist": OpenCVCameraConfig(index_or_path="/dev/video4", width=640, height=480, fps=FPS), - "base": OpenCVCameraConfig(index_or_path="/dev/video7", width=640, height=480, fps=FPS), + "left_wrist": OpenCVCameraConfig(index_or_path="/dev/video5", width=640, height=480, fps=FPS), + "right_wrist": OpenCVCameraConfig(index_or_path="/dev/video1", width=640, height=480, fps=FPS), + "base": OpenCVCameraConfig(index_or_path="/dev/video3", width=640, height=480, fps=FPS), } def main(): diff --git a/examples/openarms_web_interface/App.jsx b/examples/openarms_web_interface/App.jsx index 656acb4ca..6342b5551 100644 --- a/examples/openarms_web_interface/App.jsx +++ b/examples/openarms_web_interface/App.jsx @@ -96,6 +96,21 @@ function App() { }; const setupRobots = async () => { + // Show warning to verify camera positions + const confirmed = window.confirm( + '⚠️ IMPORTANT: Before connecting robots, please verify:\n\n' + + '📹 Check that cameras are correctly positioned:\n' + + ' • LEFT wrist camera is actually on the LEFT arm\n' + + ' • RIGHT wrist camera is actually on the RIGHT arm\n' + + ' • BASE camera is actually the BASE/overhead camera\n\n' + + 'Incorrect camera positioning will result in invalid training data!\n\n' + + 'Click OK to continue with robot setup, or Cancel to review configuration.' + ); + + if (!confirmed) { + return; // User cancelled, don't proceed + } + setError(null); try { const response = await fetch(`${API_BASE}/robots/setup`, { diff --git a/examples/openarms_web_interface/web_record_server.py b/examples/openarms_web_interface/web_record_server.py index 27c338c10..f20e56df8 100644 --- a/examples/openarms_web_interface/web_record_server.py +++ b/examples/openarms_web_interface/web_record_server.py @@ -176,8 +176,8 @@ def initialize_robots_only(config: RobotSetupConfig): # Update status: Configuring cameras recording_state["status_message"] = "Configuring cameras..." camera_config = { - "left_wrist": OpenCVCameraConfig(index_or_path=config.left_wrist, width=640, height=480, fps=FPS), - "right_wrist": OpenCVCameraConfig(index_or_path=config.right_wrist, width=640, height=480, fps=FPS), + "left_wrist": OpenCVCameraConfig(index_or_path=config.left_wrist, width=1280, height=720, fps=FPS), + "right_wrist": OpenCVCameraConfig(index_or_path=config.right_wrist, width=1280, height=720, fps=FPS), "base": OpenCVCameraConfig(index_or_path=config.base, width=640, height=480, fps=FPS), } diff --git a/loop_datasets.py b/loop_datasets.py index 5e9eafb7c..718e1ef65 100644 --- a/loop_datasets.py +++ b/loop_datasets.py @@ -2,7 +2,9 @@ from huggingface_hub import HfApi, list_datasets api = HfApi() datasets = list_datasets(author="lerobot-data-collection") +print('"[', end="") +i=0 for dataset in datasets: - if "two-folds-dataset" in dataset.id: - print("'" + dataset.id + "',", end=" ") -print("\n") \ No newline at end of file + if "three-folds-dataset" in dataset.id: + print("'" + dataset.id + "',", end="") +print(']"',)