Files
dex_workbench/PROGRESS_v0.1.3.md
chenlin f5d84e26f6 feat(tracking): 汇总 v0.1.3 回放与 ACT 准备进度
新增专家轨迹诊断、原视频估计相机入口和状态参考ACT数据门禁/训练链路;更新版本与进度文档。

验证:120项CPU/USD回归和4步synthetic CPU smoke通过;1333帧默认GUI历史回放PASS。原视频相机完整回放超时124,策略GPU E2E未执行,完整pre-commit工具缺失。

兼容性:HDF5、Cartpole、USD和控制阈值保持不变。本提交为实验进度快照,不宣称完整发布验收通过;数据、视频和权重不纳入。
2026-09-15 16:29:17 +08:00

70 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# v0.1.3 进度快照(2026-09-15
本版汇总 L20 参考回放、相机对齐入口及状态输入 ACT 准备。**不是完整发布门禁通过、抓取任务完成或 Sim2Real 验收。**
版本唯一来源为 `source/dex_workbench/config/extension.toml`Cartpole 任务 ID、HDF5 schema、USD 和控制增益/动态误差阈值不变。
## 已实现与验证
| 工作 | 结果及边界 |
| --- | --- |
| L20 左/右模型与受限参考跟踪 | 延续 v0.1.2;右手 21 状态关节、16 模型独立目标、5 组联动,不代表硬件电机数 |
| 专家参考 CPU 诊断 | 速度、限位、联动、工作半径及慢放下界;旧 51 帧参考的 75 倍回放历史 PASS 见 `L20_REFERENCE_DIAGNOSTIC.md` |
| 新 1333 帧参考 | 原始 44.4 s / 30 Hz23 个 URDF/网格文件哈希、关节顺序/限位/联动核验通过;仅仓库外绑定副本和时间拉伸 |
| 3 倍慢放默认展示相机 GUI | **PASS**0.4 m 半径、240 Hz、单环境 seed42,两轮各31968步,完整133.2 s/轮,退出0,约531秒关闭 |
| 原视频相机数据 | 包内全部SHA校验通过;与上述HDF5字节一致;1333帧相机/时间映射齐全,矩阵互逆误差约4.4e-16 |
| 原视频相机接入 | 已实现轴转换、1280×720中心内参、逐源帧保持、显式慢放同步;相机姿态是估计值,不是实测标定 |
| 原视频相机完整 GUI | **FAIL(超时)**:到达GUI_READY,600秒外部终止、退出124;没有两轮PASS或可靠完成步数,不推断具体完成比例;退出后无残留GPU计算进程 |
| 状态输入ACT | 数据审查/来源分组门禁、Adapter、CVAE Transformer、训练/保存/加载/留出离线评估及可选策略回放分支;不是视觉ACT或完整抓取策略 |
| 本轮CPU/USD回归 | **PASS**:120项,无跳过;包含2项相机CPU回归 |
| 本轮ACT synthetic smoke | **PASS**:4次真实CPU更新、有限loss、保存/重载预测最大差0、独立test预测有限;不证明策略质量 |
新参考默认展示相机两轮最大误差一致:腕位置 **0.003582456 m**、腕姿态 **0.017285813 rad**、关节 **0.009641975 rad**、联动残差 **0.000128251 rad**
这些结果属于相机改动前的实际运行;不将历史默认回放PASS算作相机分支PASS。
## 复现入口与证据
以下命令在仓库根目录执行,Isaac Python 启动器由本机环境提供。数据、USD及实验制品不随本次代码提交分发。
```bash
export PYTHONPATH="$PWD/source/dex_workbench${PYTHONPATH:+:$PYTHONPATH}"
~/isaacsim/python.sh -m unittest discover -s source/dex_workbench/tests -p 'test_*.py' -v
bash scripts/imitation.sh doctor
# OUT为新的仓库外目录;本轮实际执行了下面的CPU smoke。
timeout 120s bash scripts/imitation.sh smoke \
--manifest assets/robots/dex_hand/linkerhand_g20_right/tracking_manifest.json --output "$OUT"
git diff --check
```
相机运行的关键参数(实际完整命令在证据目录 `run.sh` 中):
```bash
# SLOW3必须是独立核验模型绑定后的副本,不能直接替换原始资产hash。
# 本命令历史结果为超时;再次运行需另行确认GPU预算,不自动重试。
timeout --signal=TERM --kill-after=20s 600s ~/isaacsim/python.sh scripts/tracking/track_l20.py \
assets/robots/dex_hand/linkerhand_g20_right/tracking.usda \
--manifest assets/robots/dex_hand/linkerhand_g20_right/tracking_manifest.json \
--hdf5 "$SLOW3" --episode demo_000000 --full-episode --steps 31968 \
--workspace-radius 0.4 --execute-experimental --gui \
--source-camera Data/camera_delivery_1333/source_camera.npz --camera-time-factor 3
```
本机工作区外制品目录名(供负责人定位,不是可移植依赖):
- `replay-evidence/right1333-RnTtzC/`:绑定脚本/哈希、默认展示相机命令、退出码0、`replay-metrics.json`
- `replay-evidence/right1333-source-camera/`:相机命令、`replay.log`、退出码124。
- `replay-evidence/v0.1.3/`:本轮120项测试日志和ACT smoke。
原始HDF5 SHA256`41abdcfd6bf0512ebbab4f09f5e7353ad2ca56dd8138bb939d109ddb7133acef`
3倍派生HDF5 SHA256`991fc634feb4e68e947ee1ed784afb3435f358f3fab571a39d1dc05e5ab92994`
本輪CPU环境:Python3.12.13 / PyTorch2.10.0+cu128 / NumPy2.5.1;历史GUI为Isaac Sim6 / PhysX110.1.13 / RTX5080。
## 未完成与下一步
1. 相机完整E2E未通过;先加可追踪进度和检查渲染耗时,在新预算内完成有限回放。不能通过扩大控制阈值或把超时算成功来验收。
2. 摄像机投影还需截图/像素几何验证;实际动态渲染帧、画幅和原视频并排对照尚未验收。当前相机按源帧保持,不是插值相机;1280×720中心内参是本交付专用约束。
3. 新相机包虽然包含瓶子场景/物体轨迹,但尚未接入Isaac;本次手部回放无物体接触,不证明抓瓶成功。
4. 原视频相机/米制尺度是上游估计,逐帧接触修正改变手部动作;缺可信畸变参数,不保证像素级重合或实测正确性。
5. 1333帧与旧短片同属视频2047635068,不能自动当作独立训练/验证采集组。真实训练仍需独立来源、数据审查和预算;ACT策略GPU E2E、PPO及硬件均NOT_RUN。
6. 完整pre-commit **BLOCKED**:本机缺工具且许可证hook引用文件缺失;不关闭hook或使用`--no-verify`。数据/视频/USD再分发和LFS许可未闭合,干净克隆不保证可运行仿真。
本次提交范围为以上功能源码、配置、测试、进度文档与版本。原有`.gitignore`、README中的治理/资产说明、未授权资产及其他脚本改动保持原样,不顺带提交。Git提交/推送结果由实际操作后交付说明,本文不预先声称已发布Release。