Skip to content

仿真与数据生成 / Simulation and Data Generation

English contract

  • Objective: turn a fixed task contract into deterministic simulation episodes with synchronized observations, actions, rewards, termination flags, and provenance.
  • Inputs: robot/environment model, task reset distribution, observation/action schemas, controller or expert, seeds, and success definition.
  • Stages: contract → simulator → expert validation → episode collection → dataset QA → versioned artifact.
  • Acceptance: the expert reaches its declared threshold across fixed seeds; shapes, timestamps, ranges, resets, and split boundaries pass checks; rendering produces the documented observation.
  • Evidence: the local entry point is smoke-tested. It proves the data path runs, not that a learned policy succeeds. Apply the validation policy.

目标与边界

把一个机器人任务变成可重复的数据生成系统:任务定义明确、状态与动作可追踪、专家策略可复跑、失败轨迹不被静默丢弃。本仓库以二维 PushCube 教学环境验证接口;它不等同于高保真动力学或真实机器人数据。

前置知识与输入

Pipeline

阶段 关键动作 输出/检查
1. Task spec 定义 observation、action、reward、termination 维度、单位、坐标系、时间戳契约
2. Simulator 建立 reset/step/render 和确定性种子 相同 seed 可重放
3. Expert/teleop 生成成功与失败示范 行为分布和覆盖范围
4. Episode writer 保存 transition、metadata、版本 无越界值、无错位帧
5. Dataset QA 统计成功率、长度、缺失率、分布 数据卡与异常清单
6. Consumer test 用训练 dataloader 读取一个 batch shape、dtype、归一化一致

运行与产物

python scripts/run_pipeline.py --run simulation-data

入口:unified_pushcube_env.py。当前 smoke test 输出专家成功率、观测维度和 RGB 渲染形状。生产数据还应保存 episode_id、seed、环境/代码版本、校准参数、成功标签和终止原因。

验收门槛

  • 固定 seed 重跑得到相同初态和终止逻辑。
  • observation/action 的维度、单位和频率被记录并由断言保护。
  • 同时抽查成功、任务失败、超时与传感器异常轨迹。
  • 训练端能够无手工修补地读取数据;划分按场景或 episode,避免帧级泄漏。

常见失败:把渲染帧率当控制频率、相机和关节时间戳错位、只保存成功示范、重置后残留上一回合状态。