| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" |
| WORKSPACE_ROOT="${WORKSPACE_ROOT:-/workspace}" |
| RLBENCH_ENV="${WORKSPACE_ROOT}/envs/rlbench" |
| R3D_VENV="${WORKSPACE_ROOT}/venv_r3d" |
|
|
| echo "[setup] repo_root=${REPO_ROOT}" |
| echo "[setup] workspace_root=${WORKSPACE_ROOT}" |
|
|
| required_paths=( |
| "${WORKSPACE_ROOT}/assets/coppeliasim_v4_1_0" |
| "${WORKSPACE_ROOT}/system_shims/nvidia570" |
| "${WORKSPACE_ROOT}/models/openai_clip_vit_base_patch32" |
| "${WORKSPACE_ROOT}/third_party/RLBench_peract2_20260324" |
| "${WORKSPACE_ROOT}/third_party/PyRep_peract2_20260324" |
| "${WORKSPACE_ROOT}/third_party/YARR_peract2_20260324" |
| "${WORKSPACE_ROOT}/third_party/peract2_bimanual_probe_20260324" |
| ) |
|
|
| for path in "${required_paths[@]}"; do |
| if [[ ! -e "${path}" ]]; then |
| echo "[setup] missing required path: ${path}" >&2 |
| exit 1 |
| fi |
| done |
|
|
| if [[ ! -x /workspace/.tools/micromamba/bin/micromamba ]]; then |
| echo "[setup] missing micromamba at /workspace/.tools/micromamba/bin/micromamba" >&2 |
| exit 1 |
| fi |
|
|
| if [[ ! -d "${RLBENCH_ENV}" ]]; then |
| echo "[setup] creating RLBench env from explicit lock file" |
| /workspace/.tools/micromamba/bin/micromamba create -y -p "${RLBENCH_ENV}" --file "${REPO_ROOT}/environment/rlbench_env_explicit.txt" |
| else |
| echo "[setup] RLBench env already exists at ${RLBENCH_ENV}" |
| fi |
|
|
| if [[ ! -d "${R3D_VENV}" ]]; then |
| echo "[setup] creating ${R3D_VENV}" |
| python3 -m venv "${R3D_VENV}" |
| fi |
|
|
| "${R3D_VENV}/bin/pip" install --upgrade pip |
| "${R3D_VENV}/bin/pip" install -r "${REPO_ROOT}/environment/reveal_pip_freeze.txt" |
|
|
| ln -sfn "${REPO_ROOT}/code/reveal_vla_bimanual" "${WORKSPACE_ROOT}/reveal_vla_bimanual" |
|
|
| echo "[setup] source ${REPO_ROOT}/environment/runtime_env_vars.sh before RLBench commands" |
| echo "[setup] run ${REPO_ROOT}/environment/validate_same_machine.sh for validation" |
|
|