天源安卓网

模拟汽车与gta5 开源驾驶仿真平台性能测试报告

来源:天源安卓网

  模拟汽车与gta5,最近一项关于模拟汽车驾驶的开源平台,引起了广泛的关注和讨论。这一平台允许用户在虚拟环境中体验真实的驾驶感受,甚至可以与全球的玩家实时对战。而与之相比,知名游戏GTA5的驾驶模拟也备受追捧。但这两种仿真体验的性能如何?近日针对这个问题,一份详尽的性能测试报告发布了出来。该报告详细评估了这两种模拟场景在处理实时数据、网络连接和图形渲染等方面的表现,并对其进行了综合分析。让我们一起来看看这份报告带来了哪些有趣的发现。

开源驾驶仿真平台性能测试报告

作为一个贫穷的研究人员,我心目中理想的驾驶仿真器是这样的(优先度排列):

免费,容易获得;能在Linux系统下运行;持续更新:一个驾驶仿真器少说也有几十GB,安装不易,自然不想天天换来换去,最好能在三到五年内不被淘汰;用户友好的交互接口;提供绝大多数主流的数据模态;用户基数大:报错了有成熟的社区一起解决问题;环境配置的要求不要太变态,或者有对应的docker;软件稳定,不会轻易崩溃;画面美观:做论文demo效果会比较好;

描绘出理想的模样,就该开始找候选人了。《2020年自动驾驶仿真蓝皮书》基本把现有的驾驶仿真器都列举了一遍,经过快速的检查,首先排除以下商业仿真平台:

CarSim, CarMaker, Cognata, rFpro, VTD, AAI, TAD Sim (腾讯,未找到开放网址), Metamotor (2020年被收购), GaiA, 51Sim-One, PanoSim, Parallel Domain (这个的demo是真的好看), CarCraft (Waymo内部使用,不对外开放), VI-WorldSim, PTV Vissim

许愿一个大佬测评以上软件,如果大家众筹让我测评也不是不可以(手动狗头)。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告车企利用自动驾驶仿真软件情况 - 《2020年自动驾驶仿真蓝皮书》

顺带一体,所有基于GTA V的仿真器似乎在几年前已经被R星叫停了,考虑到版权因素,应该在有发表需求的研究里是不能用了(但私底下谁不想拿它玩一玩呢)。

在剔除了海量精美的付费软件之后,清单上剩余的免费/开源仿真器就屈指可数了。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告2021年免费/开源仿真器一览

接下来,将从应用场景,用户体验,安装难易度等方面对这些软件进行测评,部分仿真器提供视频展示(流量预警)

测试环境:Ubuntu 18.04 + CUDA 11.2 + NVIDIA Driver 470.57.02

硬件配置:i9-10900X CPU + 64GB RAM + RTX 2080 Super GPU (8GB)

警告个人精力有限,测评不可避免存在疏漏和主观意见。欢迎交流讨论。不推荐复现此次测评。因为几款仿真器使用的虚幻引擎版本均不同且不互相兼容,而低版本的虚幻引擎在环境配置时单纯刷新source ~/.bashrc 会出现问题。文中会提及安装软件时的一些注意点,但具体流程还请以官方为主。CARLA

仿真器简介:Carla是一个开源的驾驶仿真器,由C++ 和虚幻引擎构成。通常适用于驾驶决策仿真任务。可输出的数据模态包括图像,激光雷达,雷达,语义,GPS,IMU等,可自由配置。

安装指南:CARLA Simulator

Carla官方的安装文档已经非常成熟了,如果只是运行仿真器,下载可运行程序就够了。想自己折腾的就从源码开始编译,我写文章的时候0.9.12还不够稳定,推荐0.9.11,无脑跟教程走只会遇到一个bug。就是make build的时候libboost目前调用的是1.72.0版本:

首先,你需要手动下载boost-1.72.0的压缩包;其次,如果你在编译过程中遇到了什么字符相关的库找不到的报错,可能是因为boost-1.72.0某些版本中这个悲伤的bug导致的,就是自定义的函数命名和默认C语言库起了冲突(大致是这个原理,具体细节还请放过一个三年没写C的孩子)。处理方法要参考这里,解压boost-1.72.0,将自定义的string.h 和调用这个库的所有地方改成其他名字,然后再打包,扔到<carla path>/Build 下面;最后,记得在<carla path>/Util/BuildTools/setup.sh 的对应行进行修改,以防build过程中自动删了你改过的包。

如果是走Linux Build路线又想要可直接运行的./CarlaUE4.sh,在make launch成功后跑一下make package就行了。这一个细节不知道为什么官方文档上写得不是特别清楚,可能是他们觉得太简单,我们可以自行领悟吧。

用户体验:

在体验完一圈驾驶仿真器之后,看到CARLA我真是感动得泪流满面,简直是出走后四处碰壁的游子回到了温暖的家。经典果然还是经典,CARLA的动力学仿真确实是所有仿真器中最正常的,天气系统和NPC的行为也非常正常,应该是一直在优化的。基本上驾驶决策常用的数据模态都有提供(事件相机和红外相机没有,这是AirSim的独门绝技),获取也很方便,总之一句话,赞美CARLA。

仿真器展示:

# 因为是自己编译的./CarlaUE4.sh,先进入./Dist找到文件
./CarlaUE4.sh # 启动服务器端
# 然后因为懒,就跑跑<carla path>/PythonAPI/examples 吧,以下每条指令单独开一个窗口。
python3 ./dynamic_weather.py
python3 ./spawn_npc.py
python3 ./synchronous_mode.py
python3 ./open3d_lidar.py
模拟汽车与gta5 开源驾驶仿真平台性能测试报告CARLA仿真器展示https://www.zhihu.com/video/1414562033115754496SUMO

仿真器简介:SUMO 全称 Simulation of Urban MObility,是一个开源的驾驶仿真器,主要用于交通流仿真,也可用于车间通讯仿真、验证交通模型等任务。

安装指南:sudo apt-get install sumo sumo-doc sumo-tools

仿真器部分功能展示:

最开始,看到这个软件简陋的界面时,我以为大概没什么好说的,然而,很快,我看到了前人的SUMO使用心得。对不起,是我头抬得太高了。

【SUMO仿真文档】_妈妈说不要造轮子-CSDN博客

【SUMO使用技巧】_妈妈说不要造轮子-CSDN博客

由于SUMO的仿真任务和我没有太大关联,而且仿真大程度上依赖于用户自己导入的数据。而我手头暂时没有,所以就放一张从OpenStreetMap导入到SUMO的地图吧~

模拟汽车与gta5 开源驾驶仿真平台性能测试报告SUMO - 从OpenStreetMap导入的地图网络

看起来很简陋?放大地图后,每个路口的细节都标注得一清二楚。我开始心动了。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告

而从2020年开始,CARLA开始支持和SUMMO,VISSIM 联合仿真。我觉得自己好了,自己行了,下一期测评就它吧(如果没有教程的话可以考虑写一版了)。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告MATLAB - 自动驾驶工具包 & RoadRunner

码着,过两周有空再写。计划要用RoadRunner和CARLA快乐联动,不过好像地图太大会导入事故,反正卫星先放着。

LGSVL

仿真器简介:这是由LG公司基于Unity开发的驾驶仿真器。适用于驾驶决策任务。输出的数据模态包括图像,激光雷达,雷达,语义,GPS,IMU等,可以通过json文件自由配置。

安装指南:Installation procedure - SVL Simulator

确认配置符合要求之后,直接下载即可。Linux下记得右键性质,允许程序运行。

用户体验:

从可视化交互界面的角度来说,LGSVL是做的最好的。一键变天,一键加传感器,包括上传代码,全部可以在网页界面完成。但是呢,车的动力学着实有点迷惑,您的车是完全没有摩擦力的吗?按下前进键之后,即使松开,地面也仿佛没有摩擦力一般,车辆会一直保持匀速前进。但是如果想用这个仿真器来做模仿学习,录入数据大概会很痛苦。点云的仿真很有问题,肉眼可见的有误差。npc也是非常迷惑,比如,骑自行车的人比开车的还快;过马路的时候只要绿灯了,npc车辆就直接从npc附近碾过去。而目前还没有提供改npc的接口。此外,目前提供的地图还太少了。如果再过几年,可能会成长成一个厉害的仿真平台,目前只能持观望态度了。

仿真器展示:

模拟汽车与gta5 开源驾驶仿真平台性能测试报告LGSVL仿真器展示https://www.zhihu.com/video/1414300505657372672Apollo

仿真器简介:由百度-阿波罗开发的驾驶仿真平台。少数既可以在线仿真,也可以自己电脑安装运行的仿真器。适用于驾驶规划仿真,路径预测等任务。

安装流程:

在线的跟着用户指南走就好了。电脑安装的流程参考官方文档(文档放Github路径里也是够难翻)。需要注意的是,因为必须通过docker安装,为了防止各种奇奇怪怪的报错,最好还是把docker运行权限改一下。不加 sudo 执行 Docker 命令

用户体验:

革命尚未成功,同志仍需努力。离成为一款成熟的仿真器,Apollo还有很长时间要走。官方提供的场景比较少,大型地图屈指可数,文档支持也不够完善。封装得比较严实,不过改地图,放npc的自由设置空间还是有的。再过几年,还是有潜力成长成一个优秀的仿真器的。

仿真器展示:

LGSVL x Apollo 联合仿真

适用任务:驾驶决策规划仿真

听起来还不错,这俩一个规划仿真一个决策仿真,说不定能互补。但是,对电脑配置要求很高!官方说8GB的显存能带得动,但实际操作下来,我觉得这个体验报告还是请显存10GB以上的兄弟们去做吧。

此外,虽然据说Apollo官方在6.0版本中已经修好了桥接的脚本,但我不知为何还是跑不起来。要和Apollo 5.0以下的版本联动,需要下载LGSVL魔改版的Apollo。虽然我的桥接根据运行log证明是跑起来了,但实际上又动不起来,一言以蔽之,这个功能还在开发中,容易出错,最好再观察几年,贸然跳坑容易踩雷。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告虽然桥接状态显示连上了,但实际上没有反应,十分迷惑,希望官方文档以后能更详细一点。AirSim

仿真器简介:由微软开发的仿真器,基于虚幻引擎。主要面向无人机仿真,也提供了驾驶仿真的接口。适用于驾驶决策仿真任务。输出的数据模态包括GPS,IMU,RGB图像,深度图,语义分割,红外相机,事件相机,点云(需要额外配置)。

安装指南:Welcome to AirSim

用户体验:

安装流程非常简单,直接跟着官网教程走就好了。下载封装好的包,Linux用户还可以选择源码编译(注意UE4版本一定要和官网要求的一致!)延续了微软一向的风格,封装过于严密,自定义地图,NPC,天气都不可行。接口调用比较简单,容易上手。

这款仿真器更适合Windows系统用户。Github上提供的地图适用于驾驶仿真的寥寥无几,而虽然AirSim可以从Unreal Engine Market中获取更多可用于自动驾驶的地图,其中绝大多数都只兼容Windows,最终导致在Linux中适用于自动驾驶任务的只有一款非洲大草原。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告Unreal Engine Market Place中一些可下载的地图场景

仿真器展示启动任意地图都会加载setting.json 文件的配置,子窗口的内容需要按0 才会显示。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告AirSim仿真-非洲大草原实录https://www.zhihu.com/video/1413214968158744576

展示视频对应的配置文件如下,三个子窗口分别对应深度图,语义分割图,和视差图。

{
    "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
    "SettingsVersion": 1.2,
    "SimMode": "Car",
    "OriginGeopoint": {
        "Latitude": 47.641468,
        "Longitude": -122.140165,
        "Altitude": 122
    },
    "TimeOfDay": {
        "Enabled": false,
        "StartDateTime": "",
        "CelestialClockSpeed": 1,
        "StartDateTimeDst": false,
        "UpdateIntervalSecs": 60
    },
    "SubWindows": [
        {"WindowID": 0, "CameraName": "0", "ImageType": 3, "VehicleName": "", "Visible": false, "External": false},
        {"WindowID": 1, "CameraName": "0", "ImageType": 5, "VehicleName": "", "Visible": false, "External": false},
        {"WindowID": 2, "CameraName": "0", "ImageType": 6, "VehicleName": "", "Visible": false, "External": false}
    ],
    "SegmentationSettings": {
        "InitMethod": "",
        "MeshNamingMethod": "",
        "OverrideExisting": true
      },
    "DefaultSensors": {
        "Lidar1": {
            "SensorType": 6,
            "Enabled" : true,
            "NumberOfChannels": 4
       },
       "Distance": {
            "SensorType": 5,
            "Enabled" : true,
            "Yaw": 0, "Pitch": -90, "Roll": 0
        },
        "Imu": {
            "SensorType": 2,
            "Enabled" : true
        }
    }
}
SUMMIT

论文:SUMMIT: A Simulator for Urban Driving in Massive Mixed Traffic

适用任务:驾驶决策仿真

输出数据:RGB图像,点云,深度图,语义分割,碰撞判定等,CARLA有的它都有。

安装指南:Ubuntu 20.04安装基于CARLA的SUMMIT无人驾驶仿真平台

不建议在20.04上安装,可能会因为clang版本出现大问题。Ubuntu 18.04/16.04挺好的。

用户体验:

模拟汽车与gta5 开源驾驶仿真平台性能测试报告

在测评开始之前,我期望值最高的一款仿真器就是SUMMIT,按照论文所宣称的,这是“CARLA的改进版“,”能够模拟更为复杂的交通情况“,”利用SUMO轻松导入世界地图“。而实际情况呢?这款软件很大程度上照搬了CARLA 0.9.8,对应了两年前的UE4.22,这一前置条件已然导致了虚幻引擎在现有的Ubuntu上闪退概率更高。而在我千辛万苦装上之后,原创的demo程序一个也跑不起来,根据写得奇烂无比的官方文档——我第一次看到民间教程能比官方写得更详细靠谱的,只能模模糊糊猜它的地图导入方法——依旧繁琐复杂。最终,不祥的预感在我查到了论文的发表时间时达到了顶峰,2020年ICRA accept,大概从投稿之后,作者就没有再积极地维护过整个路径,最新的更新(2021.01)只是改了改依赖的SUMO版本和PythonAPI中的小细节。可以看出,作者根本没有随着引擎更新和CARLA更新进度改进仿真器的动力。对于任何试图长期使用这款仿真器的人来说,这都是一个危险的信号。

仿真器展示:在导入地图方面不如预计的方便,所以就用默认地图随便展示一下。关于这款仿真器真的没什么好说的,总之完全不推荐,无论你的任务是什么都不推荐,除非以后SUMMIT的作者还有更新的诚意,或者有可爱的学弟学妹求我,否则我绝对不会再浪费任何时间来讨论SUMMIT。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告Udacity

Term 1 - 车道保持;Term 2 - 轨迹定位 & 追踪;Term 3 - 高速场景下的轨迹规划。

适用任务:驾驶决策任务体验与教学

安装指南:

安装Unity Hub;从Github上按需求下载Term 1, 2, 3;[Ubuntu] 解压文件,进入文件夹,右键将**.x86_64 的权限改为允许运行;双击**.x86_64运行。

如果顺利的话,会看到这样的界面,选择分辨率和画质,然后就能开始仿真了。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告

用户体验:

作为一款和在线课程绑定的驾驶仿真平台,Udacity的优点和缺点都很明显:安装最为方便快捷,几乎对电脑配置没有要求。另一方面,场景少得可怜,动力学模拟差到悲伤。只适合用于了解自动驾驶决策模型的设计原理和流程,无法实际应用。

此外,Udacity有一个致命问题,它在Ubuntu下并不稳定。我是并行安装所有平台的,结果刚打开最先安装好的Udacity,它就快乐地崩了,电脑重启,我10+GB的内容全部得重新下载(╯-_-)╯╧╧

仿真器展示

三个Term对应着不同的课程任务。

Term 1 是车道保持任务,支持键盘和程序两种控制模式,一共有两张地图。车辆可前进、左右转和倒车,前进最高限速30MPH。手动控制手感不是很好,容易翻车——如视频展示,我目前为止没能在第二张地图里成功跑完过一圈。

模拟汽车与gta5 开源驾驶仿真平台性能测试报告Term 1-车道保持任务 翻车现场https://www.zhihu.com/video/1403840405205581824

Term 2 好像是轨迹定位/追踪?没有找到控制方法,好像只是单纯的数据输出。仿真器只有输出激光雷达和雷达数据的过程。基础任务的运行如视频所示。进阶任务是追赶前方车辆。你追,它逃,大家插翅难飞~

模拟汽车与gta5 开源驾驶仿真平台性能测试报告Term 2-传感融合的轨迹追踪https://www.zhihu.com/video/1403850265896775680

Term 3 是轨迹规划任务。手动控制方法和Term 1一样,也有程序控制接口。给大家展示一下看起来不太聪明的NPC们:只要我不动,它们就会自动乱成一团。

TORCS

适用任务:驾驶决策任务体验与教学

仿真器简介:TORCS本职是一款游戏,但是优秀的前辈们通过各种蛇皮操作,让它同样可以应用于驾驶仿真中。最开始,我对TORCS非常嫌弃,这都1202年了,怎么还有人会用这种分辨率的软件。但是,考虑到现实中,很多本科生是买不起显卡的,而这是为数不多不需要显卡就能跑的仿真器,还拥有过相当大的用户基数和多样的地图库,所以,对于特定人群来说,这个仿真器恐怕还是无可替代的。

安装流程:Ubuntu18.04搭建 TORCS无人驾驶训练 开发环境

gcc版本如果太高会编译失败,我用gcc-5过了,注意,Ubuntu 20.04不支持低于gcc-7的版本。

仿真器展示:

模拟汽车与gta5 开源驾驶仿真平台性能测试报告Gym_TORCS仿真展示https://www.zhihu.com/video/1414619430869024768推荐阅读现有的自动驾驶仿真软件现状总结(2020)- 周熙钦自动驾驶仿真平台(2020)- 王方浩,介绍了自动驾驶仿真平台的意义和架构

  经过多次测试,我们的模拟汽车与gta5 开源驾驶仿真平台表现出色,不仅能够在不同环境下顺畅地运行,还拥有极高的精度和稳定性。我们将继续不断优化和完善,让更多使用者能够享受到这款出色的仿真平台带来的便利和乐趣。

相关文章

猜你喜欢