zhicao commited on
Commit
1b09a92
·
verified ·
1 Parent(s): 79e5aa7

Scheduled Commit

Browse files
Files changed (1) hide show
  1. docs/TREX_LEROBOT_V2_FORMAT.md +19 -0
docs/TREX_LEROBOT_V2_FORMAT.md CHANGED
@@ -94,3 +94,22 @@ chunk 规则:LeRobot 标准,`chunks_size=1000`,episode_index // 1000 决
94
  采集端交付本格式后,跑一遍 track 提取 + 重建即得
95
  `TrexTrackForceShardedDataset` 可直接训练的完整数据集
96
  (force_only / joint / deform 全部变体通用)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  采集端交付本格式后,跑一遍 track 提取 + 重建即得
95
  `TrexTrackForceShardedDataset` 可直接训练的完整数据集
96
  (force_only / joint / deform 全部变体通用)。
97
+
98
+ ## 7. 为 joint force-action refiner(full model)微调采集 teleop 数据的补充要求
99
+
100
+ 格式不变(§1–§5),但下列几点是 joint 模型专属的硬要求 / 强建议:
101
+
102
+ | 项 | 要求 | 原因 |
103
+ |---|---|---|
104
+ | `observation.tactile_force` 必须**连续、原始、逐帧** | 每个 30 Hz 视频帧行都写实际传感器值;不做阈值化、去抖、量化、平滑 | 模型把未来 F6 当**连续去噪目标**(τ_f: 1→0),并从原始历史窗学接触动态;任何离散化都直接毁掉监督信号 |
105
+ | 力传感器原生速率 ≥ 视频帧率 | 若传感器快于 30 Hz,行内存该帧时刻的最近样本;建议另存 sidecar `force_raw_{episode}.npz`(原生率 + 自身 timestamp) | loader 按 timestamp 最近邻取 5 Hz 刷新槽;sidecar 便于日后提高触觉率 |
106
+ | `action.eef62_absolute` = **指令目标**,`observation.state_eef62` = **测量值** | teleop 里 action 来自 Manus 重定向 + tracker IK 的下发目标,不是回读的关节 | joint refiner 精修的是"要执行的后缀",指令与测量混淆会把控制延迟学进动作里 |
107
+ | 力与动作时间对齐 | 力样本时间戳 = 该动作被执行时刻的传感器读数(不是下发时刻) | 未来力槽 s > o 的监督值必须是"执行了 action[o:] 之后测到的力" |
108
+ | episode 长度 ≥ 6 s(建议 8–15 s) | 因果窗口需要 3.2 s 动作 + 视频对齐余量,太短的 episode 有效 anchor 极少 | trex_small_force 的 5.3 s episode 每集只有 ~40 个 anchor |
109
+ | 语言标注每集一条 | `annotation.task` 描述具体操作与物体 | cross-attn 文本条件 |
110
+ | **可选**:deform 触觉视频 | 只有训练 deform 变体才需要;joint 模型本身不用 | 记录成本低,建议保留原始流 |
111
+
112
+ **采集端不需要产出**:track(后处理提取)、VQ 码(模型内部计算)、force 历史窗 / 未来槽(loader 按 timestamp 切)、delta-base 动作、任何归一化。
113
+
114
+ **微调建议**:用 `scripts/train/trex_fullmodel_full_training_wan22.sh`,并加
115
+ `action_head_cfg.config.force_future_loss_weight=0.5`(小规模消融验证:λ_f=0.5 手指速度误差 −46%、位置无偏差;λ_f=1.0 会引入手部姿态偏差)。