持续学习和更新中,欢迎提问和错误指出,有想学习的内容也可在评论写出,我尽力添加
1.RoadRunner的可视化界面
RoadRunner界面分为Scene Editing和Scenario Editing
Scene Editing是静态场景编辑,静态的房屋,树木,添加/删减车道/草地等,交通标识/信号等
Scenario Editing是方案编辑,即添加/删除车辆,车辆轨迹可视化规划,车辆加减速,锚点等动态行为编辑
基础操作
alt+左键拖动是改变视角,alt+右键左右拖动是放大缩小视角,滚轮前后是放大缩小视角(精度低)
两种编辑通过点击右上浅蓝块切换
1.1 SceneEditing:
道路、车道和标记
红色是建立道路和调整道路(分段,翻转,坡度)等
黄色右上是车道属性调整(宽度,车道分离/增加等)
黄色左下是车道标志编辑
交叉口和交通信号
紫色是交通信号和交叉路段的设置
表面和地形
定义表面的视觉属性,对道路之间和周围的地形进行建模
导入外部场景数据
粉色是各种场景导入和建立工具
1.2 Scenario Editing:
1.2.1 添加车辆和相关设置
自左向右依次为 Scenario Edit Tool,Route Timing Tool,Anchor Tool,Simulation Tool
在点击Scenario Edit Tool后进行车辆相关动态行为的编辑
在Scenario Editing编辑模式下,可以从Library Browser的vehicle文件夹中使用鼠标左键直接将车辆拖进场景的车道中,RoadRunner会自动为你的车辆对齐车道
在点击Scenario Edit Tool后:
a. 车辆路径可视化设置:
左键点击一次选中要设置的车辆,后持续摁住鼠标右键并移动鼠标可开始为其规划路径,松开结束规划
b. 车辆行为设置:
包括变道/加减速/横向偏移/改变纵向距离等
左键点击一次选中要设置的车辆, 在左下(默认情况下)的2D Editor | Logic框中,该车所属的行为会变为灰色,此时便可找到该车对应的行为
左键点击你要编辑的行为,在右边的Attribute栏中会显示其可编辑的选项
其中Action Type选项是选择进行何种行为
如果发现没有attribute项,则需要在左上蓝色选项window中选择Attributes项调出, 如下图
Change Lane为车辆换道
Change Lateral Offset是车辆位置横向偏移
等,详细请见 官方文档 Action Phases
同时,在你点击行为之后,也可在此行为之前或之后或平行的添加行为,见图例
红色为在选中行为之后添加行为
绿色为再选中行为之前添加行为
蓝色为再选中行为平行的上添加行为
黄色为再选中行为平行的下添加行为
平行行为是并行发生
也可直接右键选中行为进行其他行为的添加
你可能会注意到,每一个动态行为后面都有一个空心圆,整个行为后面有一个钟表紫色填充图形
空心圆为每个行为的条件(conditions),在官方文档中,条件的定义解释如下:
The Logic editor represents conditions as circular nodes. Conditions are optional logic components that activate the next phase in a chain of scenario logic. For example, a Car
actor with a Simulation Time
condition after its initial action phase starts its next action phase after the specified amount of simulation time elapses. A Truck
actor with a Distance to Point
condition after its initial action phase starts its next action phase after it reaches a certain distance from a point.
译:逻辑编辑器将条件表示为循环节点。条件是可选的逻辑组件,用于激活场景逻辑链中的下一阶段。例如,在初始动作阶段之后具有“模拟时间”条件的“汽车”参与者在经过指定的模拟时间后开始其下一个动作阶段。在初始动作阶段后具有“到点距离”条件的“卡车”参与者在到达某个点的特定距离后开始下一个动作阶段。
我理解为,从此行为到达下一行为的条件
但我尚未使用过此条件,所以无法进行相关介绍,感兴趣的可通过官方文档-condition进行学习,目前仅知道,设置整个RoadRunner的模拟时间是通过左键点击默认存在的尾部的紫色填充钟表图标进行设置,附点击后其的attribute:其中的Simulation Time的Time即为整个模拟时间,Fail Condition指的是造成模拟失败并停下的条件。
2. RoadRunner和Simulink的联合仿真:
2.1 通过Behavior载入MATLAB脚本或者Simulink模型:
每个车辆都会存在一个叫做Behavior的属性,目前我的RoadRunner和Simulink的联合仿真都是通过此属性实现的。目前RoadRunner内置的Behavior都可以在Library Browser中的Assets/Behavior文件夹中找到,左键点击一个Behavior摁住拖动到车辆的Behavior框中即可让它载入这个Behavior。
当我们想让车辆载入一个我们写好的simulink时,只需在Library Browser中的Behavior文件夹中右键,依次选择New->Behavior
在为新的Behavior重命名(Rename)后,左键点击它,在它的attribute框中改变它的platform为MATLAB/Simulink,随后在File Name后填入其对应的脚本(.m)/Simulink模型(.slx)的路径即可。
注意:路径要带后缀,例如:CollisionCheck.slx/CollisionCheck.m
将此新建立的Behavior拖动到车辆的Behavior属性中即可让该车辆载入对应的MATLAB脚本或者Simulink模块。
一些联合仿真例子:
Simulate RoadRunner Scenarios with MATLAB and Simulink- MATLAB & Simulink- MathWorks 中国
Integrating RoadRunner with MATLAB-Simulink Video - MATLAB & Simulink
3.Simulink中的RoadRunner模块讲解
待补充
Start RoadRunner application using MATLAB - MATLAB- MathWorks 中国
4. 向RoadRunner中添加自己的车辆模型/货物模型
目前一种方法有,将.fbx后缀的模型文件拖入Library Browser里的Assets/vehicle文件夹里,右键该模型选择Default Type->Vehicle, 这样即可将fbx模型转为RoadRunner里的车辆模型。
RoadRunner中其他内容相关学习链接:
built-in-behavior-for-vehicles
MATLAB/Simulink 通信原理及仿真学习(二)_simulink输入函数模块-CSDN博客
Add sensors and access sensor data from scenario simulation - MATLAB- MathWorks 中国
What Is a RoadRunner Pose Matrix?- MATLAB & Simulink- MathWorks 中国
Generate Code for Path Planning Using Hybrid A Star- MATLAB & Simulink- MathWorks 中国
Access and modify runtime specifications of actor - MATLAB- MathWorks 中国
附:
1.Library Browser中,点击一个文件夹后,如果想向该文件夹中添加文件,直接将该文件通过鼠标左键移动进去即可,无需在资源管理器中翻找对应文件夹
2.Library Browser中,想知道一个文件对应的存储位置,只需右键选择Show In Explorer。
3.Library Browser中,Buildings里面存有一些内置建筑物,在创建RoadRunner项目时添加Add on会有更多。