28 lines
1.7 KiB
Bash
Executable File
28 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/block_white_box_common.sh"
|
|
if [[ "${RESUME:-false}" == true ]]; then
|
|
[[ -f "$DATASET_ROOT/meta/info.json" ]] || { echo "找不到可续录的数据:$DATASET_ROOT" >&2; exit 1; }
|
|
else
|
|
[[ ! -e "$DATASET_ROOT" ]] || { echo "目录已存在;续录请设置 RESUME=true,或指定新的 DATASET_ROOT / DATASET_ID。" >&2; exit 1; }
|
|
fi
|
|
check_task_devices
|
|
if [[ "${DRY_RUN:-0}" != 1 ]]; then
|
|
[[ -r "$LEADER_PORT" && -w "$LEADER_PORT" ]] || { echo "主臂未连接或缺少权限:$LEADER_PORT" >&2; exit 1; }
|
|
fi
|
|
printf '\n========== 积木放入白盒:准备采集 ==========\n'
|
|
echo "本次 ${NUM_EPISODES:-5} 条;每条最多 ${EPISODE_SECONDS:-30} 秒;复位最多 ${RESET_SECONDS:-30} 秒。"
|
|
echo "绿色横幅 = 正在录制;黄色横幅 = 复位 / 重录。"
|
|
echo "→ 完成当前阶段 ← 重录当前条 Esc 结束采集"
|
|
echo "请在此终端操作方向键,并留意阶段横幅。"
|
|
if [[ "${DRY_RUN:-0}" != 1 ]]; then
|
|
read -r -p "摆好积木、盒子和主从臂后,按 Enter 连接设备并开始录制:" _ready
|
|
fi
|
|
run_task python "$TASK_SCRIPT_DIR/record_with_prompts.py" "${ROBOT_ARGS[@]}" \
|
|
--teleop.type=so101_leader "--teleop.port=$LEADER_PORT" --teleop.id=zihao_leader_arm \
|
|
"--dataset.repo_id=$DATASET_ID" "--dataset.root=$DATASET_ROOT" \
|
|
"--dataset.single_task=$TASK_TEXT" --dataset.no_stamp=true \
|
|
--dataset.fps=25 "--dataset.num_episodes=${NUM_EPISODES:-5}" \
|
|
"--dataset.episode_time_s=${EPISODE_SECONDS:-30}" "--dataset.reset_time_s=${RESET_SECONDS:-30}" \
|
|
--dataset.push_to_hub=false --dataset.rgb_encoder.vcodec=h264 \
|
|
--display_data=true "--resume=${RESUME:-false}" "$@"
|