SuperAPI AI 工具集

roadrunner-scenario-simulating

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:在 MATLAB 与 Simulink 中仿真 RoadRunner Scenario,包括运行到结束、逐帧步进、外部参与者控制(联合仿真)、只读监控、挂载传感器读取目标位姿与车道边界、程序化获取仿真日志、读写场景变量。注意其 API 与 Automated Driving Toolbox 的 drivingScenario 完全不同,不可混用。

主要能力与用法:简单仿真用 openScenario 后调用 simulateScenario(rrApp, EnableLogging=true);需要步进或日志时,必须先 createSimulation(rrApp) 再用 simulateScenario(rrApp, IsSteppingStart=true, IsBlocking=false, EnableLogging=true),通过 set(rrSim, SimulationCommand="Step") 推进,且每步后需 pause(stepSize),不可用点方法语法。参与者运行时状态用 getAttribute(actorSim, "Pose") 等读取,静态属性经 ActorModel 获取,ActorID 须为 uint64。MATLAB 联合仿真需编写 matlab.System 对象,用 Simulink.ScenarioSimulation.find 定位参与者。Simulink 联合仿真需在模型根级放置 RoadRunner Scenario 块,用 set_param(..., SimulationCommand="start") 启动,行为经 Simulink.publish.publishActorBehavior 发布。观测器只读,通过 addObserver 注册且须在仿真开始前添加。传感器经 get(rrSim, "SensorSimulation") 获取,可挂载 visionDetectionGenerator 等,并用 targetPoses、laneBoundaries 读取数据。日志通过 get(rrSim, "SimulationLog") 获取并查询 Pose 历史。

适用场景:运行与步进场景、外部行为控制、状态监控、传感器仿真、日志与变量操作、Simulink 联合仿真。

限制:一次仅一个 MATLAB 实例连接一个 RoadRunner 联合仿真;仿真运行或暂停时 Scenario Server 拒绝新连接,createSimulation 须先于 simulateScenario;参与者仅在 Running 或 Paused 时可查询;Behavior 的程序化分配需 R2025a+,R2024a 仅限编辑器 UI。其余版本与平台支持细节资料未提供。