用途:为 Isaac Lab-Arena 编写或修改环境定义,覆盖场景、任务、完成谓词、放置约束与环境变体。原则是产出满足需求的最小环境定义,并沿用维护中的 Arena 示例;优先配置,其次组合,最后才做小扩展。
发现与复用:先用 rg --files 查 docs/pages/concepts/、isaaclab_arena_environments/、isaaclab_arena_examples/ 及第一方扩展。文档与示例不一致时以检出的源码为准;Arena API 仍在演进。可使用未被标记的类和注册表以外的 Python API;@agent_ready 只过滤内置环境生成器的提示目录,不限制编码代理。注册表应在 SimulationApp 启动后的受支持运行时加载,导入可能需要 USD。实现前先找可复用组件,检查构造函数与继承链;不要重复实现求解器、谓词、时序计数器、重置循环、进度跟踪或变体系统。
编写:Python 参考维护中的 Maple-table 工厂及工厂契约,复用 builder 的构建与重置配置,环境配置聚焦场景与任务。图 YAML 需核对 schema、任务转换与 robolab 示例;无法表达所需语义时选 Python,字段能解析不代表会被消费。资产与布局遵循示例的归属与场景组合,使用既有关系、放置池与校验流程,并检查资产标识、碰撞、可达性、物理支撑与重置要求。任务语义参阅任务组合、谓词与进度,处理有序里程碑、最终条件、同时为真、时序保持与上报,复用既有任务及其传感器和失败条件。变体需查阅变体概念与资产构造函数(含对象基类),核对名称、单位与采样时机。
实验与验证:实验遵循 Experiment 概念与变体示例,检查各 Run 的有效默认值与约束;变体默认关闭,相机非必要不加,执行设置与任务语义分离。运行时准备用 setup-arena,克隆运行时与宿主用户执行用 dev-container,pytest 用 run-tests;lint 与源码检查在宿主机进行。无就绪运行时则只做静态审查并说明限制,不要安装依赖或声称运行成功。检查 Python/YAML 语法、构造函数引用、注册、schema 转换、默认值与特性复用,避免在宿主机导入 Arena。在就绪运行时构建并重置环境,用有界直接步进检查;用既有聚焦测试验证成功逻辑、时序中断与并行环境重置隔离。仅解析或被动步进不能证明任务可解。变体检查走 run-experiment 的 --list_variations;用于交互检查前先看 Environment Runner 要求,勿假定支持无头验证。交付时说明参考示例、复用特性、扩展理由、定义/配置路径、实际运行的检查以及剩余仿真验证,无需额外设计文档。
限制:资料未说明具体收费标准、支持平台版本与性能数据。