用途:在已加载的 Isaac Sim 舞台上,通过 isaacsim.replicator.incident.core Python API 制造事故——把 prim 标记为 loose(可倾倒)、flammable(可燃)、leakable(可泄漏)、spillable_area(承接液体的地面),据此构建 topple、fire、spill 事件,并录制 incidents_report.json。可走配置文件,也可直接调用事件管理器。
前提:Isaac Sim 6 / Kit 110 运行并开启 Python server(isaacsim.code_editor.python_server,端口 8226);isaacsim.replicator.incident.core 可解析(启动 Action and Event Data Generation 应用,或加 --enable isaacsim.replicator.incident.core);已加载舞台;需倾倒的 NavMesh 项还要有可烘焙的 navmesh;遵循 isaac-sim-orchestrator 的 $ISAAC_SIM_DIR、$WORKSPACE_DIR 环境约定。
用法:脚本是 python_server 载荷,不是独立程序。用 run_script("scripts/run_incident_events.py", args=["action=preflight"]) 调用,或经 isaac-sim-remote 客户端发送。流程为 preflight(默认,只报告不修改)→ tag(打标签,tag_type 取 NavMesh/RandomDir/ClosestWaypoint、Box、Item、Floor)→ setup(读配置)或 add_event(逐个加事件)→ start_record → 播放时间线 → stop_record → 校验 JSON。事件目标在生成时对已打标签项解析,故须先打标签;触发器来自 TriggersManager,须播放时间线才触发。
限制:本仓库不构建该扩展,API 变更属上游;需要实时 Kit 会话,物理、pyro 求解器与 navmesh 无离线等价物;generate_*_event 失败返回 None 并只记 carb 日志,需查管理器注册表;不要读 GlobalValues.incident_manager,应经 get_instance().get_incident_manager();配置文件的 flammable_nearby_radius 无效,API 的 pyro_nearby_radius 有效;标签存于 USD 属性,须保存舞台才持久;报告时间 simulation_data 为帧、trigger_data 为秒。其余细节暂未提供。