跳转至

PhysHSI General High-Level Task Plan

日期:2026-06-10

0. 文档定位

本文档只描述 PhysHSI 的最高层任务规划:系统最终要解决什么问题、整体流水线如何分层、每一层的输入输出是什么、阶段性目标如何验收。

它不绑定某一个 baseline、某一次实验、某个 prompt 或某条 one-off 脚本。具体实现细节和实验路线应继续放在独立文档中,例如 Kimodo pipeline、HOSIG、InteractMove、ProtoMotions bridge 等专项计划。

SUGAR / SUGAR Humanoid 启发的 policy-data pipeline 修订方案见 docs/sugar_inspired_physhsi_framework_plan_20260611.md。 Generated motion→physics refiner→state-based student 的完整方法族和实验矩阵见 docs/exp/generated_motion_to_physical_execution_strategy_20260724.md

1. 一句话目标

构建一个从 SAGE 室内场景出发,自动生成长程 Human-Scene Interaction / Human-Object Interaction 任务,并进一步产生可视化、可物理优化、可训练 policy、可评测、可打包为训练数据的通用流水线。

核心目标不是只生成一个好看的 demo,而是形成可复用的数据生成和评测闭环:

SAGE scene
  -> task plan
  -> geometry validation
  -> motion/reference generation
  -> kinematic prior dataset
  -> physics refinement
  -> refined executable trajectory
  -> full-reference teacher / command tracker
  -> goal-conditioned state-based policy distillation
  -> state-based RL post-training
  -> policy rollout
  -> task/quality metrics
  -> paired HSI dataset

这里有一个必须保持的训练/部署边界:

  • KIMODO motion、physics refiner和full-reference teacher可以在训练期读取完整 human/object/contact trajectory;
  • 最终student在部署时不能读取dense HOI reference,只读取current state和 sparse task goals;
  • dynamic pick–place首先使用object goal state;通用HSI/HOI再扩展为 TokenHSI-style task tokens、UniHSI-style contact chain或VLM-RMD-style relation goals。

InterPrior提供teacher→variational distillation→state-based RL post-training的 motor-prior训练模板;TokenHSI、UniHSI和VLM-RMD提供互补的goal interface。 它们都位于最终student阶段,不替代前面的KIMODO生成与physics refinement。

2. 总体原则

  1. SAGE 是场景与任务几何的 source of truth。
  2. 任务生成、运动生成、物体绑定、物理优化、teacher/student policy、评测必须分层,不把所有逻辑塞进一个脚本。
  3. 每个阶段都必须写出 manifest,记录输入、输出、参数、失败原因和可复现命令。
  4. Baseline 和外部方法通过 adapter 接入,不把上游仓库改成项目内部代码。
  5. 任何可展示结果都必须同时有结构化数据和可视化产物,不能只有视频。
  6. 先保证全局任务正确、路径正确、场景对齐正确,再逐步提升手物接触和动作细节。

3. 系统分层

层级 目标 主要输入 主要输出
Scene Layer 选择和解析可交互 SAGE 场景 layout_*.json, scene assets scene bank, scene context, affordance summary
Task Layer 生成可执行长程任务 scene context, topdown image, constraints task_plan.json, semantic plan
Validation Layer 校验任务几何可行性 task plan, occupancy map, humanoid params task_validation.json, A* paths, validated steps
Adapter Layer 转换给不同 baseline / generator validated plan baseline inputs, Kimodo constraints, native configs
Motion Layer 生成 human / object kinematic proposal constraints, text, keyframes, scene hints motion .npz, object tracks, contact hints
Physics Refinement Layer 将 kinematic proposal 修正为物理一致 reference motion proposal, scene proxy, contact/object constraints physics-refined motion, refined object tracks, quality labels
Teacher / Tracker Layer 用 refined reference 训练或驱动 privileged teacher 与 command tracker refined reference, simulator state, task signal teacher / tracker checkpoints, rollouts
Distillation Layer 从 teacher / tracker rollout 蒸馏 state-based high-level policy teacher rollouts, state observations, task labels state-based policy checkpoint
Evaluation Layer 统一评测任务完成和 policy 质量 canonical plan, rollout trace, metrics config validation report, metrics summary
Dataset Layer 打包可训练样本 plan, scene, motion, teacher/student rollout, metrics paired HSI sample directory

4. 任务抽象

任务应按多个层次表达,而不是只用自然语言描述。

4.1 Scene-Level

描述房间、物体、门、支撑面、可行走区域、障碍物和候选交互目标。

关键产物:

  • scene_context.json
  • affordance candidates
  • occupancy / navigation artifacts
  • topdown visualization

4.2 Semantic-Level

描述人要完成的高层子任务序列。

示例:

go to the table
pick up the book
carry it to the sideboard
place it on the sideboard
sit on the chair

关键要求:

  • 子任务顺序明确
  • 每个子任务绑定目标物体或目标区域
  • 不合并导航和交互动作
  • 任务长度、难度、动作类型可控

4.3 Primitive-Level

把语义动作拆成稳定 primitive。

当前核心 primitive:

类别 动作
HSI reach, sit, get_up, lie_down
HOI pick, place, carry, open, close, push, pull, kick

每个 primitive 必须能落到明确几何目标:

  • humanoid root target
  • standing point
  • interaction point
  • manipulated object id
  • object start / target pose
  • optional contact or keyframe hint

4.4 Motion-Level

把 primitive 转成可生成或可优化的 kinematic motion proposal。

这一层不应该重新决定任务目标,只能消费 Validation Layer 给出的权威几何信息。

最低要求:

  • human root path 与 A* path 一致
  • heading 合理连续
  • sit / lie / pick / place 等动作有明确时间段
  • active object trajectory 可导出
  • segment boundary 不出现明显跳变

4.5 Physics-Refinement-Level

把 kinematic proposal 放回物理环境中修正,使其更接近可执行 reference。

这一层的职责不是重新规划任务,而是修正 motion 的物理质量:

  • 减少穿模、脚滑、身体不稳定
  • 保持 human root / object goal 不偏离 validated task
  • 修正接触、支撑高度、物体轨迹连续性
  • 给每条 refined reference 产出质量标签

关键输出:

  • physics-refined human motion
  • refined object tracks
  • contact / collision report
  • refinement quality metrics

4.6 Teacher / Tracker-Level

基于 physics-refined reference 训练或驱动 privileged teacher / command tracker。Teacher 可以使用更强的 privileged 信息,例如完整 simulator state、reference motion phase、未来目标、object pose、contact hint 等;tracker 则学习执行短 horizon command chunk,把 refined reference 变成可闭环执行的底层能力。

这一层的目标是先把任务在物理环境中稳定做出来,而不是直接作为最终部署策略。

关键输出:

  • teacher policy checkpoint
  • command tracker checkpoint
  • teacher rollout trace
  • teacher success / failure report
  • teacher-generated state-action dataset

4.7 State-Based High-Level Policy-Level

从 teacher / tracker rollout 蒸馏或训练一个 state-based high-level policy。Student 的输入应更接近后续统一 policy 训练所需的状态表示,而不是依赖完整 privileged reference。

最低要求:

  • student 消费统一 state observation
  • student 保持 task-conditioned 或 primitive-conditioned 能力
  • student 可输出 command chunk 或 waypoint,再交给底层 tracker 执行
  • student rollout 能被同一套 task validator 和 metrics 评测
  • distillation 数据能追溯到 teacher、refined motion 和原始 SAGE task

关键输出:

  • state-based policy checkpoint
  • student rollout trace
  • student validation report
  • teacher-student gap metrics

4.8 Evaluation-Level

任务是否成功由结构化评测决定,而不是主观看视频。

最低评测维度:

  • completion rate
  • success rate
  • precision error
  • root path deviation
  • object final error
  • collision / fall / big force
  • hand-object contact quality
  • scene penetration / support height error

5. 阶段性路线

M0:Contract Lock

目标:稳定项目内部最小数据协议。

交付:

  • plan directory contract
  • canonical task plan contract
  • observation trace contract
  • motion/reference sample contract
  • manifest 字段规范

验收:

  • 任意阶段都能通过 manifest 找回上游输入和下游输出
  • 不依赖文件名猜参数

M1:Single-Scene End-to-End

目标:在一个固定 SAGE 场景上跑通完整闭环。

交付:

  • 一个 validated task
  • 一个 motion/reference
  • 一个 full-scene render
  • 一个 offline trace
  • 一个 validation report

验收:

  • scene、human、active object 坐标一致
  • 视频可人工检查
  • metrics 可自动复算

M2:Multi-Primitive Coverage

目标:覆盖主要 HSI / HOI primitive。

优先级:

  1. reach
  2. sit, get_up
  3. pick, carry, place
  4. push, pull, kick
  5. lie_down
  6. open, close

验收:

  • 每个 primitive 至少有一个可复现 smoke case
  • 每个 case 都有 task plan、motion、render、metrics

M3:Benchmark Batch

目标:从单例 demo 进入小规模 benchmark。

交付:

  • curated scene bank
  • fixed task set
  • batch runner
  • batch summary report

验收:

  • 至少 10 个 SAGE scene
  • 每个 scene 至少生成 1-3 个 validated task
  • 失败样本有明确失败原因分类

M4:Physics Refinement

目标:把 motion generation 得到的 kinematic proposal 修正为物理一致 reference。

交付:

  • MotionLib / SceneLib bridge 或等价物理接口
  • physics-refined motion/reference
  • refined object tracks
  • contact / collision / support-height report

验收:

  • refined reference 仍满足原始 task goal
  • 明显减少穿模、脚滑、跳变和不稳定接触
  • 每个失败样本有 refinement failure reason

M5:Teacher / Command Tracker

目标:基于 physics-refined reference 训练或驱动 privileged teacher,并蒸馏出能执行短 horizon command 的 command tracker。

交付:

  • teacher policy checkpoint
  • command tracker checkpoint
  • teacher rollout trace
  • tracker rollout trace
  • teacher state-action dataset
  • teacher validation report

验收:

  • teacher 在训练场景中高成功率完成任务
  • tracker 能稳定执行 refined command chunk
  • teacher rollout 可由统一 validator 复评
  • teacher failure 可映射回 task、motion 或 physics refinement 问题

M6:State-Based High-Level Policy Distillation

目标:把 teacher / tracker 的能力蒸馏到 scene-aware state-based high-level policy。

交付:

  • state-based policy checkpoint
  • distillation dataset
  • student rollout trace
  • teacher-student gap report

验收:

  • student 使用统一 state observation,而不是依赖完整 privileged reference
  • student 可基于 object state、local height map / occupancy、task goal 生成 command 或 waypoint
  • student success rate 接近 teacher 的可接受比例
  • student failure mode 被结构化记录

M7:Paired HSI Dataset

目标:形成可用于训练的 paired sample。

每个 sample 至少包含:

manifest.json
scene_context.json
task_plan.json
task_validation.json
motion_reference.npz
physics_refined_motion.npz
object_tracks.npz or json
teacher_rollout_trace.jsonl
tracker_rollout_trace.jsonl
observation_trace.jsonl
validation_report.json
metrics_summary.json
preview.mp4
final_frame.png

验收:

  • dataset 可被 loader 批量读取
  • 可按任务类型、primitive、scene、质量指标过滤
  • 可复现实验结果

6. 最小成功标准

一个样本进入可用集,至少满足:

  1. task plan 通过几何校验。
  2. human root 轨迹不明显偏离 validated path。
  3. active object 的最终状态符合任务目标。
  4. full-scene render 中 human、object、scene 坐标对齐。
  5. physics refinement 没有破坏原始 task goal。
  6. teacher rollout 能被 validator 复评。
  7. state-based student policy 有对应 teacher-student gap 记录。
  8. 失败或低质量原因被结构化记录。

7. 当前优先事项

短期应优先做这些事:

  1. 固化 plan / validation / trace / sample manifest 的最小字段。
  2. 把 Kimodo pipeline 从 one-off 实验脚本中抽离成稳定批处理入口。
  3. 为每个 primitive 建一个最小 smoke case。
  4. 定义 motion generation 到 physics refinement 的输入输出协议。
  5. 定义 physics-refined reference 到 teacher / command tracker 的训练接口。
  6. 定义 tracker rollout 到 state-based high-level policy dataset 的字段。
  7. 统一 full-scene render 和 representative frame 的输出规范。
  8. 打通 task validator 对 teacher / student rollout trace 的消费。
  9. 对 batch 失败做 taxonomy,而不是只保存报错日志。

8. 风险与缓解

风险 影响 缓解
VLM 输出不稳定 task plan 难复现 强化 schema、retry feedback、mock/response-file backend
IsaacSim capture 慢或挂起 batch 卡住 capture cache、timeout、scene preflight
手物接触质量差 HOI 数据不可用 先记录 object track 和 contact hint,再逐步加 keyframe/contact optimizer
physics refinement 失败 kinematic motion 不能进入 teacher 训练 分离 motion success 与 physics-refined success,做 repair/filter
teacher policy 过度依赖 privileged state student 难以蒸馏 明确定义 teacher-only fields 和 student observation fields
student policy gap 过大 state-based policy 无法复现 teacher 能力 记录 teacher-student gap,按 primitive 分解失败原因
外部 baseline 输入格式不统一 adapter 容易碎 只通过窄 adapter 消费 canonical plan
结果只可视化不可复算 无法形成数据集 每个视频必须对应结构化 trace 和 metrics

9. 判断标准

项目是否向前推进,不看单个 demo 是否“看起来不错”,而看以下问题是否能稳定回答:

  1. 这个任务来自哪个 SAGE scene?
  2. 目标物体、目标位置、路径是否可追溯?
  3. 运动是否遵守任务几何?
  4. 物体是否真的完成了目标状态变化?
  5. physics refinement 是否提升物理质量且不破坏任务?
  6. teacher policy 是否能稳定复现 refined reference 的任务能力?
  7. state-based student 是否能通过 distillation 接近 teacher?
  8. 结果能否被统一 validator 复评?
  9. 失败样本能否被分类、复现、改进?

只要这些问题的答案越来越结构化,PhysHSI 就会从 demo collection 逐步变成一个可扩展的数据生成系统。