RoadRunner教程/RoadRunner入门/轨迹规划/可视化/RoadRunner和simulink联合仿真

持续学习和更新中,欢迎提问和错误指出,有想学习的内容也可在评论写出,我尽力添加

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 ToolRoute Timing ToolAnchor ToolSimulation 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 中国

Return scenario simulations or actors in current MATLAB session - MATLAB Simulink.ScenarioSimulation.find- 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会有更多。

VTD(Virtual Target Definition)和RoadRunner是汇编语言调试器中常见的工具和框架。 VTD是一种用于处理虚拟目标描述的工具。在调试过程中,程序员需要对目标体系结构进行深入了解,以便正确地调试代码。然而,由于不同体系结构的复杂性和差异性,调试过程往往会变得非常困难。VTD的作用就是将目标体系结构的细节和特征抽象化,使得程序员可以在虚拟环境中进行调试,而不需要真正的目标硬件。这样,调试过程就变得更加高效和便捷,同时也降低了调试工作的难度。 而RoadRunner是一个轻量级的汇编语言调试框架。它提供了一种简单而直观的方式来调试汇编语言代码。RoadRunner具有图形界面,可以实时监视和调试正在执行的程序代码。它可以跟踪程序的执行流程,查看并修改寄存器和内存的值,以及设置断点和条件来控制程序的执行。RoadRunner还支持多线程调试,可以同时调试多个线程的代码。此外,RoadRunner还提供了一些额外的功能,如反汇编代码、查看程序的调用栈等,以便更好地理解和调试程序。 总的来说,VTD和RoadRunner都是为汇编语言程序员提供的强大工具。VTD可以帮助程序员在虚拟环境下进行目标体系结构的调试,而RoadRunner则提供了一个直观且功能丰富的调试框架,使程序员能够更方便地监视、分析和修改汇编代码。它们的使用可以大大简化汇编语言程序的调试过程,提高程序员的工作效率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值