# 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 Hz;23 个 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。