#!/usr/bin/env bash set -euo pipefail repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "${repo_root}" run_analysis="${RUN_ANALYSIS:-1}" case_filter="${CASE_FILTER:-}" case_scripts=( "unitree_z1_stackbox/case1/run_world_model_interaction.sh" "unitree_z1_stackbox/case2/run_world_model_interaction.sh" "unitree_z1_stackbox/case3/run_world_model_interaction.sh" "unitree_z1_stackbox/case4/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox/case1/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox/case2/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox/case3/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox/case4/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox_v2/case1/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox_v2/case2/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox_v2/case3/run_world_model_interaction.sh" "unitree_z1_dual_arm_stackbox_v2/case4/run_world_model_interaction.sh" "unitree_z1_dual_arm_cleanup_pencils/case1/run_world_model_interaction.sh" "unitree_z1_dual_arm_cleanup_pencils/case2/run_world_model_interaction.sh" "unitree_z1_dual_arm_cleanup_pencils/case3/run_world_model_interaction.sh" "unitree_z1_dual_arm_cleanup_pencils/case4/run_world_model_interaction.sh" "unitree_g1_pack_camera/case1/run_world_model_interaction.sh" "unitree_g1_pack_camera/case2/run_world_model_interaction.sh" "unitree_g1_pack_camera/case3/run_world_model_interaction.sh" "unitree_g1_pack_camera/case4/run_world_model_interaction.sh" ) for case_script in "${case_scripts[@]}"; do if [[ -n "${case_filter}" ]] && [[ "${case_script}" != *"${case_filter}"* ]]; then continue fi case_dir="$(dirname "${case_script}")" inference_dir="${repo_root}/${case_dir}/output/inference" echo "============================================================" echo "Running ${case_script}" echo "============================================================" bash "${repo_root}/${case_script}" if [[ "${run_analysis}" == "1" ]]; then if [[ -f "${inference_dir}/stepwise_log.csv" ]] && \ [[ -f "${inference_dir}/sample_summary.csv" ]] && \ [[ -f "${inference_dir}/round_summary.csv" ]]; then echo "Analyzing ${case_dir}" python3 "${repo_root}/scripts/evaluation/analyze_metrics.py" \ --input_dir "${inference_dir}" else echo "Skipping analysis for ${case_dir}: missing analysis CSVs." fi fi done