天天看点

自动驾驶仿真相关调研自动驾驶仿真调研

自动驾驶仿真调研

一、自动驾驶技术栈都有哪些?

自动驾驶仿真相关调研自动驾驶仿真调研

二、为什么需要仿真?

  • 随着现在深度学习的兴起,仿真在自动驾驶领域有了新的用武之地。自动驾驶平台通过仿真采集数据,可以把训练时间大大提高,远远超出路测的时间,加快模型迭代速度。先利用集群训练模型,然后再到实际的路测中去检验,采用数据驱动的方式来进行自动驾驶研究。
  • 验证新的算法,仿真通过软件模拟来发现和复现问题,而不需要真实的环境和硬件,可以极大的节省成本和时间。

三、如何进行仿真?

  • 要模拟车所在的环境,就得把真实世界投影到虚拟世界,并且需要构造真实世界的物理规律。
  • 把自动驾驶中的场景复制到游戏世界,然后模拟自动驾驶中各种传感器采集游戏世界中的数据。

四、有哪些主流的仿真软件?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PBtnRYE8-1628497591862)(/Users/zengjiawei/Library/Application%20Support/typora-user-images/image-20210806154618399.png)]

五、仿真模拟的是自动驾驶的哪些部分?

  • 传感器数据
    • 摄像头深度信息
    • 摄像头场景分割
    • 摄像头长短焦
    • Lidar点云
    • Radar毫米波
    • Gps信息
  • 真实世界物理规律
    • 碰撞检测
    • 光线和天气变化
    • 汽车动力学模型
  • 真实世界地图
    • 地形地貌
    • 道路交通
    • 交通标志
    • 行人等各种因素

六、目前自动驾驶仿真基础实现是怎样的?

目前主流的实现方式是通过游戏引擎来模拟真实环境,通过CarSim等软件构建汽车的动力学模型来实现自动驾驶仿真。

自动驾驶仿真相关调研自动驾驶仿真调研

七、自动驾驶仿真软件需要满足什么条件?

  • 场景丰富
  • 接口灵活
  • 恢复快速
  • 部署方便

八、自动驾驶仿真中,场景应该如何分类?

  • 可定义的场景: 主要是针对驾驶过程中遇到的不同情况,比如会车,超车,红绿灯,变道等,这些场景一般都比较简单,类似于单元测试,主要是测试单个场景是否能够满足要求,拿超车的场景举例子,可以创建一辆NPC车辆在本车的前面,在不同的速度和距离条件下,测试本车超车是否成功。
  • 真实场景: 复现真实场景中遇到的问题,比如真实路测过程中遇到问题,需要复现当时的情况,并且验证问题是否已经解决,可以回放真实场景的数据来进行测试。
  • 随机场景: 这种场景类似于路测,模拟真实环境中的地图,并且随机生成NPC,天气,交通情况等,模拟汽车在虚拟的环境中进行路测,由于可以大规模部署,可以快速的发现问题。

九、自动驾驶仿真中,地图应该如何制作?

方案一 根据地图生成模型

​ 先生成高精度地图,即根据真实环境先绘制出高精度地图,然后再把高精度地图导入游戏引擎,动态的生成模型,这个方案的好处是地图100%是真实场景,而且不需要在游戏引擎中重新绘制高精度地图,坏处是建筑的模型无法生成。

方案二 常规方法地图模型制作

  • 单个模型制作,单个模型包括地图中的建筑物、道路、树木、信号灯、交通牌、以及其他的信息。这些信息如果是要完全模拟真实环境,需要大量的材质和贴图,一般是在maya和3d-max等软件中建模,然后再导入模型到游戏引擎中使用。
  • 地图布局,有了单个模型,当需要把单个模型组合成地图的时候,首先需要解决的是道路的位置信息,比如这个道路有多长,道路的曲率是多少?比较简单点的方法是直接导入2维地图(百度,高德,OSM),然后对照着2维地图放模型,最后生成整个地图的布局。而实际的问题是2维地图的精度往往达不到要求,国内的地图还加入了GPS偏置,所以生成的地图布局必定会不太准确。

十、仿真软件中,无人车的模型该如何考虑?

  • 车的动力学模型,这一部分是传统仿真软件的强项,由于应用已经非常成熟,游戏中的汽车动力学模型都比较简单,由于CarSim等软件没有开源,所以目前短期内一个比较好的解决方案是,仿真器提供API接口,调用CarSim和Simulink等软件的动力学模型,实现对汽车的模拟。
  • 传感器 ,传感器主要是GPS、IMU、LIDAR、RADAR、CAMERA等,涉及到传感器的位置,校准参数等。当然这一部分也可以仿真传感器视野范围(FOV),也可以仿真传感器的校准算法。

十一、除了模型以外,仿真软件还需要模拟哪些物体和行为?

NPC

npc包括行人和车辆。

  • 行人 - 目前主要是模拟行人过马路,以及在路边行走,以及更加复杂的场景,例如下雨天打伞的行人,对于这些异常场景,感知模块不一定能够正常识别。
  • 车辆 - 车辆的行为可以由一些简单的行为来模拟复杂的行为,例如停车,变道,加速,减速,来组合出超车,会车等复杂行为。也可以通过模拟真实情况的交通流数据,来模拟整个行为。前一种测试的行为比较成熟,后一种需要根据实际的情况提取出行为,再加入补全信息,才能够正常工作。

天气

天气主要是影响传感器的感知,最主要的就是摄像头。对LIDAR的影响由于目前没有阅读相关平台是否有加入噪声,这里就先不展开了。

  • 天气 - 雨、雪、雾、云层 调整不同的比率来模拟不同的天气情况对传感器的影响,云层主要是会影响光照变化,多云投射的阴影对车道线识别等会有影响。
  • 时间 - 白天和夜晚不同光照场景下对传感器的影响。

红绿灯

这一部分可以归纳为交通信号的行为,其中分为:

  • 有保护的红绿灯 - 各大城市是最普遍的,即有箭头的红绿灯,根据对应车道的红绿灯直行或者拐弯。
  • 无保护的红绿灯 - 即圆形的红绿灯,对面可以直线的同时,你可以拐弯,需要注意对面直行的车辆,选择让车之后再拐弯。
  • 无红绿灯 - 这种常见于郊区路口,需要判断有没有车辆经过而让行或者停止,然后再通过路口。

十二、自动驾驶仿真的几大挑战

  1. 仿真其实就是项目开发中验证测试的一环,如何说明你的仿真软件足够真实、可靠,你的测试结果足够有说服力?
  2. 仿真过程中传感器数据的真实程度,以及多个传感器时的数据处理能力,海量数据的存储。
  3. 车辆动力学模型的准确度还需要进一步提高。
  4. 驾驶行为的评估,驾驶行为的决策是否合理,很多事件(比如人的生命或者伦理无法做出一个总是对的决定)这一方面的评价目前还无法完全自动完成。

十三、自动驾驶仿真测试的意义(原因)

自动驾驶汽车在真正商业化应用前,需要经历大量的道路测试才能达到商用要求。但作为新兴事物,自动驾驶汽车仍面临着大量问题需要克服,如道路测试的时间成本、各国对于自动驾驶的法律法规容忍度、极端场景及危险工况的测试安全性、各国道路交通环境及习惯不同等问题,都给自动驾驶系统研发测试带来诸多困难。

需要进行仿真的意义主要体现在以下几个方面:

  • 自动驾驶汽车路测缺乏法律依据。目前在绝大部分公开道路,尤其是高速公路上测试自动驾驶汽车仍然缺乏法律依据,阻碍了测试的进度。
  • 自动驾驶路测车辆禁止载人载货,导致测试不全面。现行规定明确禁止测试过程中搭乘与测试无关的人员或货物,阻碍了测试主体开展更丰富的自动驾驶技术性测试。
  • 自动驾驶汽车事故责任划分缺乏法律依据。由于自动驾驶汽车的驾驶主体是自动驾驶系统或自动驾驶服务商,和现行人类驾驶员为主体的交通法规体系存在很大差别。《侵权责任法》、《道路交通安全法》等法规中有关机动车交通事故的责任体系将不再适合,导致目前自动驾驶汽车的相关法律纠纷出现无法可依的局面。
  • 自动驾驶汽车缺乏相应的保险理赔机制。自动驾驶汽车突破了有关机动车保险的规定,使得目前的自动驾驶汽车“无险可投”,增加了测试企业及其他交通参与者的风险。
  • 极端交通条件和危险场景复现困难,而且测试安全存在隐患。自动驾驶汽车在实际道路行驶过程中,极端交通条件和危险场景可遇不可求,且安全问题也是一大困扰。根据美国国家公路交通安全管理局(NHTSA)的统计数据,汽车平均行驶43.6 万英里(70 万公里)才会发生一起事故,平均行驶1 亿英里(1.6 亿公里)死亡大约1 人。此外,自动驾驶汽车测试行业依然没有就测试的安全性等标准达成一致,制约了自动驾驶的研发测试。
  • 形成全球认可的自动驾驶产业链体系比较困难。由于世界各国社会和经济环境千差万别,各地区的道路环境和交通习惯也大相径庭。中国的城市道路中快递、外卖、行人混行情况普遍存在,对于自动驾驶汽车的感知决策能力提出了更高的要求。而且中国的道路交通标志、标线设置不规范情况普遍存在,不同地区之间也有差别。国内与国外的交通标志标线颜色、文字说明等方面也存在差别,这些在短期内很难得到改变。

十四、自动驾驶仿真解决了自动驾驶的什么关键问题?

基于场景库的仿真测试成为自动驾驶研发的关键

目前基于场景库的仿真测试是解决自动驾驶路测数据匮乏的重要路线。仿真测试主要通过构建虚拟场景库,实现自动驾驶感知、决策规划、控制等算法的闭环仿真测试,满足自动驾驶测试的要求。场景库是自动驾驶仿真测试的基础,场景库对现实世界的覆盖率越高,仿真测试结果越真实。而且自动驾驶汽车研发的不同阶段对于场景库的要求也不同,需要场景库实现不同的测试功能。

十五、结合自动驾驶仿真的开发流程是怎样的?

在自动驾驶的开发流程中,纯模型仿真—软件在环仿真—半实物仿真—封闭场地道路测试—开放道路测试的开发流程是最经济、高效的开发流程。

十六、有没有脱离游戏引擎在做的自动驾驶仿真?

轻舟智航

是要把真实道路场景完全“搬”到电脑上吗?汪堃对此表示否认。在他看来,这种基于游戏引擎开发的仿真软件,场景的确非常真实,但实用性却不高。

一般而言,游戏引擎的图像渲染可以做到特别真实,但过程中会消耗大量额外计算资源,不利于大规模应用,且渲染效果与真实物体状况存在一定差别,对感知能力的提升有限。此外,由于这属于一种Re-build软件(基于第三方软件开发),与自动驾驶软件的开发相互独立,因而难以保证各个模块确定性,这可能导致整个仿真软件存在不确定性,最终影响可用性。

不同于此,轻舟智航自主研发的仿真软件摒弃了复杂的渲染工作,界面简单,**仅保留感知结果,包括3D Box和雷达点的叠加。**与此同时,该软件还能做到与车载系统基本一致,能在仿真中复现路上出现过的问题,以此进行修复,保证再次上路时不出现同样问题。

十八、仿真能为自动驾驶带来什么?

一、低成本

仿真的路测成本大约是实际路测成本的1%,甚至更少。在进行实际路测时,需要有硬件成本、传感器成本、司机成本以及系统工程师的成本,而且一天只能有效测试8到10个小时。而利用仿真路测,在要求不高时,只需要一台电脑和GPU,便能连续24小时进行测试。

二、灵活性

在实际路测中,遇到极端情况是很小概率的事件,而且不安全。而在仿真系统里,工程师可以通过手工编辑或自动生成来测试众多极端情况,保证在实际路测前有充分的验证。

三、可扩展性

仿真的扩展性比实际道路测试的扩展性大,仿真路测里程大概1000倍于实际路测里程。仿真系统所需要的硬件成本是很低的,而车队的硬件成本、人员成本以及运营成本是非常高的,随着云服务的发展,仿真的可扩展性将远大于车队的可扩展性。

四、可衡量性

在开发自动驾驶软件时,每一天都存在大量代码的更改以及算法的迭代,那如何知道这个月的软件和上个月的软件哪个表现更优?这种比较是难以通过实际路测进行的,因为在车辆有限的情况下,测试的场景以及里程数都有限,很难得到一个可靠的统计结果。但借助仿真,工程师能在大量场景库里并行地进行测试,在很短时间内便能对软件版本进行评估。未来,在评估软件是否达到量产水平时,仿真也是主要的测试评价技术。

继续阅读