matlab制作以太网数据接收上位机_MATLAB新杀器 RoadRunner实战篇 | 基于MATLAB、RoadRunner、虚幻引擎和Speedgoat的驾驶员在环系统...

c88f9a3a-5b12-eb11-8da9-e4434bdf6706.png

近期,MathWorks新发布了一个自动驾驶场景构建工具——RoadRunner,该工具操作简便、功能强大、素材丰富,极大地提升了场景构建的效率和质量。RoadRunner的推出使得MathWorks在自动驾驶仿真测试领域如虎添翼,让用户在搭建驾驶员在环系统时更加游刃有余。本文将介绍,如何基于MATLAB(MathWorks)、RoadRunner(MathWorks)、UE4(虚幻引擎,Epic Games)和Speedgoat(Speedgoat)打造一个专业的、高性价比的驾驶员在环系统。

1. 综述

从感知、融合、规划到控制,不同用户专注的算法并不一样,因此仿真测试的需求也因人而异,用户可基于本文打造满足对应需求的驾驶员在环系统。以测试融合、规划和控制算法为例,我们来详细说明借助上述的四个工具如何搭建驾驶员在环系统。

c98f9a3a-5b12-eb11-8da9-e4434bdf6706.png

系统组成如上图,硬件主要包括:

  • 上位机电脑,运行场景和传感器模型。接收车辆模型计算出来的车辆位置和姿态,根据位姿将车辆渲染在UE4场景中。并将传感器模型结果发送给量产控制器或Speedgoat原型控制器。
  • 驾驶操纵平台,模拟驾驶员对车辆的操纵。
  • 量产控制器或Speedgoat原型控制器,运行融合、决策、控制算法。基于传感器检测结果、驾驶员操作信号、车辆状态信息等,计算得到车辆控制信号,通过CAN发送给Speedgoat实时仿真平台。
  • Speedgoat实时仿真平台,运行车辆模型。基于车辆控制信号、地形路面信息等,计算得到车辆位置和姿态,并发送给上位机电脑。

软件主要包括:

  • MATLAB R2020a,主要相关的工具箱如下表

cd8f9a3a-5b12-eb11-8da9-e4434bdf6706.png
  • RoadRunner,用以构建驾驶场景
  • UE4(Unreal Engine 4.23),加载RoadRunner构建的场景文件,运行及渲染场景,与Simulink交互
  • Speedgoat驱动库,以Simulink工具箱的形式呈现,提供IO、CAN、UDP等的Simulink驱动模块

以上硬件及软件如何使用,下文将逐一介绍。

2. 车辆模型及Speedgoat实时仿真平台

2.1 车辆模型

在车辆建模方面,MathWorks提供了Powertrain Blockset和Vehicle Dynamics Blockset。两个工具箱都提供了丰富的模块,以Vehicle Dynamics Blockset为例,它包含了动力总成(PowerTrain)、传感器(Sensors)、转向系(Steering)、悬架(Suspension)、车身(Vehicle Body)、场景(Vehicle Scenarios)、轮系(Wheels and Tires)等。

cf8f9a3a-5b12-eb11-8da9-e4434bdf6706.png

对于自动驾驶仿真测试而言,车辆动力学是车辆模型中非常重要的一部分。MathWorks提供了3自由度、7自由度和14自由度的车辆动力学参考模型,用户可以参考使用。

d38f9a3a-5b12-eb11-8da9-e4434bdf6706.png

基于Powertrain Blockset和Vehicle Dynamics Blockset,用户可以灵活构建整车模型。除此之外,MathWorks也提供了一些可供用户参考使用的整车模型。用户可以在MathWorks整车模型的基础上进行参数化,从而快速得到一个接近真实车辆的驾驶员在环整车模型。

d68f9a3a-5b12-eb11-8da9-e4434bdf6706.png

2.2 Speedgoat实时仿真平台

用于自动驾驶仿真测试的车辆模型往往比较复杂,需要强有力的仿真平台来支持实时运行。本系统中运行车辆模型的是来自Speedgoat公司的高性能实时仿真平台——Performance Real-Time Target Machine。Simulink车辆模型可一键编译、下载、运行到Speedgoat实时仿真平台。

da8f9a3a-5b12-eb11-8da9-e4434bdf6706.png

Speedgoat是MathWorks的联营公司,由MathWorks前员工创立,致力于提供专门针对Simulink环境的实时系统。Speedgoat实时系统基于MathWorks的Simulink Real-Time工具箱,实现与MATLAB/Simulink无缝衔接。

Performance Real-Time Target Machine是一款高性能的实时仿真平台,规格参数如下。

de8f9a3a-5b12-eb11-8da9-e4434bdf6706.png

3. 自动驾驶算法及Speedgoat原型控制器

自动驾驶算法是驾驶员在环系统的被测对象,本文不做深入探讨。值得一提的是,MathWorks近年来新开发的工具箱——Sensor Fusion and Tracking Toolbox,为用户提供了丰富的传感器融合与目标追踪算法。

e28f9a3a-5b12-eb11-8da9-e4434bdf6706.png

本系统中,运行自动驾驶算法的原型控制器是Speedgoat的Baseline Real-Time Target Machine.

e78f9a3a-5b12-eb11-8da9-e4434bdf6706.png

4. 驾驶操纵平台

驾驶操纵平台可供驾驶员进行驾驶操作,输出转向、油门、刹车等信号。驾驶操纵平台主要可以分为两类:1、实车的转向油门刹车系统;2、罗技等公司提供的简化操纵平台。对于前者,操纵信号通过IO或者CAN进行传输,只要控制器中有对应接口即可直接接收这些信号。对于后者,这些简化操纵平台的接口一般是USB口,需要先用Simulink的相关驱动模块接收USB信号。我们以罗技G29为例,介绍驾驶操纵信号如何进入Simulink模型。

ec8f9a3a-5b12-eb11-8da9-e4434bdf6706.png

Simulink 3D Animation工具箱的Joystick Input模块支持接收罗技G29的USB信号。Joystick Input的输出Axes和Buttons包含了很多个信号,需要预先标定下方向盘、油门、刹车和这些信号的对应关系。标定方式很简单,将罗技USB插到电脑上,把Joystick Input拖到Simulink模型中,进行驾驶操作,看Joystick Input的哪个输出信号有变化,即可确认对应关系。

f08f9a3a-5b12-eb11-8da9-e4434bdf6706.png

5. 驾驶场景

驾驶场景构建和模拟是自动驾驶仿真测试中的重要环节,也很大程度上影响着仿真测试的效果。针对不同的仿真测试需求,MathWorks提供了两套方案。两套方案的具体情况,请见下图。

f58f9a3a-5b12-eb11-8da9-e4434bdf6706.png

第一套方案采用的场景表达工具是MathWorks自己开发的Driving Scenario Designer,可以构建“方块式”驾驶场景,适用于对融合、规划和控制算法的测试。第二套方案采用的场景表达工具是Epic Games开发的虚幻引擎UE4(Unreal Engine 4.23),也适用于对感知算法进行测试。RoadRunner构建的场景,既可以导出到Driving Scenario Designer,又可以导出到UE4。

fa8f9a3a-5b12-eb11-8da9-e4434bdf6706.png

考虑到驾驶员在环对驾驶体验有一定要求,所以在驾驶员在环系统中采用的场景表达工具是UE4。

5.1 RoadRunner

RoadRunner 是一个交互式编辑器,可用于针对自动驾驶系统仿真和测试设计三维场景。您可以创建区域特定的道路标志和标记以自定义道路场景。您可以插入标志、信号、护栏和道路损坏,以及绿化、建筑物和其他三维模型。RoadRunner 还提供工具,用于设置和配置交叉路口处的交通信号配时、相位和行车路径。

01909a3a-5b12-eb11-8da9-e4434bdf6706.png

RoadRunner 支持激光雷达点云、航拍图像和 GIS 数据的可视化。您可以使用 OpenDRIVE 导入和导出道路网络。使用 RoadRunner 构建的三维场景可导出为 FBX、glTF、OpenFlight、OpenSceneGraph、OBJ 和 USD 格式。导出的场景可在自动驾驶仿真器和游戏引擎中使用,包括 CARLA、Vires VTD、NVIDIA DRIVE Sim、LGSVL、百度 Apollo、Unity 和虚幻引擎 (Unreal Engine)。

知乎视频​www.zhihu.com

5.2 UE4

RoadRunner构建的场景可以导出成FBX文件,Unreal Engine加载该文件,复现场景并做逼真的渲染。RoadRunner与UE4结合,既实现了方便快捷地构建场景,又实现了对场景的高保真度模拟。同时,Simulink的自动驾驶工具箱Automated Driving Toolbox提供了与Unreal Engine场景交互的摄像头、激光雷达、毫米波雷达等传感器模型。

02909a3a-5b12-eb11-8da9-e4434bdf6706.png

5.3 UE4与Simulink联合仿真

UE4与Simulink的联合仿真,主要借助于自动驾驶工具箱Automated Driving Toolbox的Simulation 3D Scene Configuration模块。

05909a3a-5b12-eb11-8da9-e4434bdf6706.png

该模块对于场景来源(Scene source)有三个选项:Default Scenes,Unreal Executable和Unreal Editor。前者使用的是MathWorks提供的自带参考场景,后两者可使用用户自定义的场景。Unreal Editor和Unreal Executable正好对应使用自定义场景进行联合仿真的两种模式。

1) Unreal Editor。这种模式下,Unreal Editor加载RoadRunner构建的场景后,直接与Simulink联合仿真。在联合仿真的过程中,Unreal Editor一直是开启并运行状态。在测试早期,用户可能需要根据测试需求不断调整场景设置,那么便适用于这种模式。

2) Unreal Executable。当测试场景基本固定之后,用户可以在Unreal Editor中将场景打包成一个可执行的文件,并在Simulation 3D Scene Configuration模块中加载该文件,实现与Simulink的联合仿真。这种模式下,联合仿真过程中不再需要打开Unreal Editor,场景是以一个独立窗口的形式来呈现及运行的,可以减少对电脑资源的消耗。

6. 驾驶员在环系统示例

就如之前所述,根据不同的仿真测试需求,驾驶员在环系统呈现的形式是多种多样的。本节展示简单系统和复杂系统两个示例。

6.1 简单驾驶员在环系统

该系统中不带自动驾驶功能,驾驶员操控一个非智能轿车模型。

知乎视频​www.zhihu.com

6.2 自动紧急制动(AEB)的仿真测试平台

该系统中,Speedgoat Baseline Real-Time Target Machine运行AEB算法(算法参考自MATLAB的AEB demo),Speedgoat Performance Real-Time Target Machine运行车辆模型(模型参考MATLAB的示例模型)。

09909a3a-5b12-eb11-8da9-e4434bdf6706.png

该系统运行视频如下。

知乎视频​www.zhihu.com
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Virace GPS Simulator V0.3.1 自述文件 2009.6.7 ====================================================================== Virace GPS Simulator是什么? ====================================================================== Virace GPS Simulator(以下简称为Virace)用软件模拟GPS接收器输出的GPS语 句,通过串行口输出到GPS应用软件。用鼠标或键盘控制Virace而模拟实际GPS接 收器的运动,或者重播已有的GPS航迹文件,从而在室内测试GPS导航软件等。 Virace具有手动实时控制及航迹重播两种方式。为了控制灵活方便,Virace定义 了许多鼠标及键盘动作。经过少许试用,就可以对照一个大比例尺的导航地图以 超过正常驾车速度行驶在市区及郊区路上。 ====================================================================== Virace运行在什么操作系统下? ====================================================================== Windows ====================================================================== Virace运行的方式 ====================================================================== 1. Windows下的GPS软件可通过Virace的虚拟串口直接测试。 2. Windows下有微软的Device Emulator,因此部分与Device Emulator兼容的 PPC、CE、SP软件可以在Device Emulator中模拟测试,由Virace提供GPS信号。 3. 可以将Virace输出到蓝牙的输出COM口,测试使用蓝牙GPS模块的PPC、SP及 Symbian S60等GPS软件。 4. Virace输出到PC的物理COM口,测试任何与PC物理串口连接的GPS设备 5. 用Virace将plt、gpx、kml、gpssim、trk格式的航迹文件,转为带速度、方 位角,及卫星状态的nmea文件,再在GpsGate内播放。 ====================================================================== Virace的特点 ====================================================================== 四种模式:自由驾驶模式 + 三种航迹重播模式(逐点重放航迹模式,手控速度 航迹模式,比例速度航迹模式)。运行中根据需要可在四种模式间无缝自由切换。 航迹文件支持plt、gpx(含gpx航迹及Garmin详细航线)、kml、gpssim、trk。 可将航迹文件另存为带速度、方位角,及卫星状态的nmea文件。 航迹重播时具有丰富的控制项,可快进、快退,选择某个段,反序,循,亦可 人为加入左右偏移。 载入航迹时可选过滤掉点数少或距离小的段。 可选与PC版OziExplorer交互运行。通过Ozi API,在Ozi中双击地图上的某点, Virace就立即跳跃至该点(自由驾驶模式),或跳至离该点最近的航迹(航迹 重播模式);单击地图上的某点,则以当前速度向该点行驶(自由驾驶模式)。 最多3路COM口输出,加1路Ozi输出。每路的参数是独立选择的,且可以独立启停。 支持虚拟串口。与Eltima Virtual Serial Port ActiveX Control V2.5及对应的 Eltima Virtual Serial Port Driver兼容。注:Eltima Virtual Serial Port 是共享软件,一切权利归其所有人。Virace的发行包内不包括该虚拟串口驱动及 控件,请自行购买或下载试用版。 多种转向方式。鼠标滚轮,Ozi中单击,键盘左右箭头等。另有键盘45度及10度转 向键。键盘左右箭头及鼠标滚轮的转向灵敏度可自定义。 多个预设的速度键及上下箭头加减速,另外可随时暂停(速度为0,但依然输出GPS 信号)。 在退出时自动保存当前位置(经纬度、速度、方位角等)及所有
VTD(Virtual Target Definition)和RoadRunner是汇编语言调试器中常见的工具和框架。 VTD是一种用于处理虚拟目标描述的工具。在调试过程中,程序员需要对目标体系结构进行深入了解,以便正确地调试代码。然而,由于不同体系结构的复杂性和差异性,调试过程往往会变得非常困难。VTD的作用就是将目标体系结构的细节和特征抽象化,使得程序员可以在虚拟境中进行调试,而不需要真正的目标硬件。这样,调试过程就变得更加高效和便捷,同时也降低了调试工作的难度。 而RoadRunner是一个轻量级的汇编语言调试框架。它提供了一种简单而直观的方式来调试汇编语言代码。RoadRunner具有图形界面,可以实时监视和调试正在执行的程序代码。它可以跟踪程序的执行流程,查看并修改寄存器和内存的值,以及设置断点和条件来控制程序的执行。RoadRunner还支持多线程调试,可以同时调试多个线程的代码。此外,RoadRunner还提供了一些额外的功能,如反汇编代码、查看程序的调用栈等,以便更好地理解和调试程序。 总的来说,VTD和RoadRunner都是为汇编语言程序员提供的强大工具。VTD可以帮助程序员在虚拟境下进行目标体系结构的调试,而RoadRunner则提供了一个直观且功能丰富的调试框架,使程序员能够更方便地监视、分析和修改汇编代码。它们的使用可以大大简化汇编语言程序的调试过程,提高程序员的工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值