Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

自动驾驶思考:仿真系统构建

$
0
0

如何构建自动驾驶仿真系统?

仿真最主要的目的是:通过模拟真实环境和构建汽车模型,找出自动驾驶过程中可能出现的问题

那么如何构建自动驾驶仿真系统呢?目前主流的实现方式是通过游戏引擎来模拟真实环境,通过 CarSim 等软件构建汽车的动力学模型来实现自动驾驶仿真。下面我们先看下自动驾驶仿真系统的整体结构。

我们需要自动驾驶仿真系统满足:

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

场景

首先我们关注仿真器本身,仿真器无非是模拟支持各种场景,其中场景分为:可以定义的场景和随机场景。可以定义的场景又分为:单元场景和真实场景。

下面我们分别介绍下这几种场景:

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

我们可以看到不管是哪个场景,都是"地图+车+行为"的模式,场景的需求复杂多变,因此能够灵活的加载地图,车和行为就成为仿真器易用性的关键。


Viewing all articles
Browse latest Browse all 1638

Latest Images

Trending Articles