feat: add SO101 recording and ACT workflow with progress tracking

This commit is contained in:
ylhan
2026-09-10 16:46:58 +08:00
parent 2e33355a9c
commit cbf51facff
16 changed files with 604 additions and 7 deletions
Vendored Executable
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# Source this file to activate the project's LeRobot environment.
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
echo "This script must be sourced so it can update the current shell:" >&2
echo " source env/activate_lerobot.sh" >&2
exit 1
fi
LEROBOT_PROJECT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
LEROBOT_VENV="${ROBOT_WORKDIR:-${HOME}/robot}/.venv-lerobot-0.6.1"
if [[ ! -f "$LEROBOT_VENV/bin/activate" ]]; then
echo "LeRobot environment not found: $LEROBOT_VENV" >&2
echo "Install it first with: bash $LEROBOT_PROJECT_DIR/env/setup_lerobot.sh" >&2
return 1
fi
# shellcheck disable=SC1091
source "$LEROBOT_VENV/bin/activate"
export LEROBOT_PROJECT_DIR
export FOLLOWER_PORT="/dev/serial/by-id/usb-1a86_USB_Single_Serial_5B91044223-if00"
export LEADER_PORT="/dev/serial/by-id/usb-1a86_USB_Single_Serial_5B8E115693-if00"
cd "$LEROBOT_PROJECT_DIR" || return 1
show_lerobot_port() {
local role="$1"
local stable_path="$2"
local current_device
if [[ -e "$stable_path" ]]; then
current_device="$(readlink -f -- "$stable_path")"
echo "$role: $stable_path -> $current_device"
else
echo "$role: $stable_path (not connected)"
fi
}
echo "LeRobot environment activated: $VIRTUAL_ENV"
echo "Project: $LEROBOT_PROJECT_DIR"
show_lerobot_port "Follower" "$FOLLOWER_PORT"
show_lerobot_port "Leader " "$LEADER_PORT"
unset -f show_lerobot_port
+5 -1
View File
@@ -1,6 +1,6 @@
# GPU 环境与机器记录
基线:LeRobot 0.6.1 / Python 3.12。脚本适用 Ubuntu x86_64 GPU 主机;不用于 Windows 或 RPi。3080 的 CUDA、视频和合成 ACT 短训练已验收,详见 [记录](../docs/p0-3080-20260908.md);3090 与真实任务未验收。
基线:LeRobot 0.6.1 / Python 3.12。脚本适用 Ubuntu x86_64 GPU 主机;不用于 Windows 或 RPi。3080 的 CUDA、视频和合成 ACT 短训练已验收,详见 [记录](../docs/p0-3080-20260908.md);3090 未验收;真实任务采集和 ACT 短训练已通过,正式训练进行中,见 [进度追踪](../docs/progress.md)。
## 分工与路径
@@ -60,3 +60,7 @@ rsync -avP USER@TRAIN_HOST:~/robot/outputs/ ~/robot/outputs/
脚本失败即非零退出,不把 MISS 当通过;输出完整日志、包列表、Python/FFmpeg 版本、CLI 帮助与锁哈希。脚本验证 CUDA 矩阵运算、实际策略模块和视频库导入,不连接电机,也不下载模型权重。
后续必须记录:录制/解码结果、训练步耗时、训练和推理峰值显存、单次推理 P50/P95/P99,以及 20 次真机评测。不要将包可导入或显存参考值当作任务能力证据。
## 2026-09-10 本机更新
内核 `7.0.0-31-generic`,NVIDIA 驱动 `580.173.02`,CUDA 实际训练已通过。上表 550 驱动为首次验收的历史配置。当前项目路径 `~/lerobot_learn`,任务数据在项目 `data/`,模型与日志在项目 `outputs/train/`;环境仍为 `~/robot/.venv-lerobot-0.6.1`。本次 ACT 基线在 3080 训练,不依赖 3090。