From 58c535a4544ab03d41bc87d0206c4c2481bbba95 Mon Sep 17 00:00:00 2001 From: kew6688 Date: Mon, 22 Sep 2025 03:58:06 +0000 Subject: [PATCH] fix camera setting --- challenge/README.md | 2 ++ scripts/eval/eval_iros.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/challenge/README.md b/challenge/README.md index 79337d25..e2e0cd8b 100644 --- a/challenge/README.md +++ b/challenge/README.md @@ -180,6 +180,8 @@ For fair comparison in this IROS challenge, the USD file, controller, and observ - **Observation space**: Ego-centric monocular RGB-D input. - **Technical**: All publicly available datasets and pretrained weights are allowed. The use of large-scale model APIs (e.g., GPT, Claude, Gemini, etc.) is **not** permitted. **Note**: the test server for this challenge has no internet access. +**Note**: Please use our provided camera usd `camera_prim_path='torso_link/h1_pano_camera_0'` as the RGB-D camera, the resolution can be `[640, 480]` or `[256, 256]`. + ### Development Overview The main architecture of the evaluation code adopts a client-server model. In the client, we specify the corresponding configuration (*.cfg), which includes settings such as the scenarios to be evaluated, robots, models, and parallelization parameters. The client sends requests to the server, which then make model to predict and response to the client. diff --git a/scripts/eval/eval_iros.py b/scripts/eval/eval_iros.py index a95a95d0..83c479d5 100644 --- a/scripts/eval/eval_iros.py +++ b/scripts/eval/eval_iros.py @@ -22,7 +22,7 @@ def parse_args(): parser.add_argument( "--default_config", type=str, - default='scripts/eval/configs/h1_cma_cfg.py', + default='scripts/eval/configs/challenge_mp3d_cfg.py', help='eval config file path, e.g. scripts/eval/configs/h1_cma_cfg.py', ) parser.add_argument( @@ -45,10 +45,23 @@ def load_eval_cfg(config_path, attr_name='eval_cfg'): def replace_cfg(evaluator_cfg, default_cfg, split): + # agent and model settings default_cfg.agent = evaluator_cfg.agent + + # split setting if split: default_cfg.dataset.dataset_settings['split_data_types'] = [split] + # camera settings + if ( + evaluator_cfg.task.camera_resolution not in [[256, 256], [640, 480]] + or evaluator_cfg.task.camera_prim_path != default_cfg.task.camera_prim_path + ): + raise ValueError( + "Please use our provided camera usd `camera_prim_path='torso_link/h1_pano_camera_0'` as the RGB-D camera, the resolution can be `[640, 480]` or `[256, 256]`." + ) + default_cfg.task.camera_resolution = evaluator_cfg.task.camera_resolution + def main(): args = parse_args()