面向决策与规划的轻量化自动驾驶仿真环境 - ADPLANC


环境概述

现有的很多自动驾驶仿真环境(例如 Carla, Apollo)都很重,感知、预测、决策、规划、控制全都有,这对于只做决策、规划和控制的人来说,是没必要的。而且现在车企的上车方案一定是感知与规划解耦的。另外,现有的仿真环境大概分类两派:一派主张采用 learning 的方法,采集了大量的行车数据和地图数据,想通过监督学习得到很好的规划器,这一派建立的仿真环境中道路非常复杂,因为是采集的真实道路信息,但是对其他交通参与者的模拟就很简单,采用的是日志回放的方案;而另一派,则通过研究交通流实现了交通参与者的交互式仿真,但一般用的道路都比较简单。可以认为,前者的优势是复杂的道路,而后者的优势是交互式的仿真。为了结合这两类仿真环境的优点,我们构建了一个新的仿真环境 ADPLANC。这个环境的特点在于:只专注于自动驾驶中的决策、规划与控制,容易安装、非常轻量化;在复杂的道路中实现了交通参与者的交互式仿真;也支持日志回放的仿真;包含多个行车定向场景以及复杂泊车场景。

整个环境目前采用 Python 实现,并提供了 lattice planner, hybrid A-star 和一个基于模仿学习规划器。后续,我们考虑写一个 C++ 版本的仿真器,并提供 Python 接口,提高仿真性能。下面放一些仿真环境的效果,

交互式仿真环境

交互式仿真环境采用了 IDM 模型和一个换道模型实现的对交通参与者的仿真。效果如下所示:

日志回放仿真环境

日志回放环境就比较简单了,直接读数据库的数据就行了。

行车定向环境

除了上述两种环境外,还设计了定向场景环境,主要针对 5 类场景:狭窄道路通行、避让前方障碍物或静止车辆、避让前方低速车辆、普通行驶情况、换道加速超车。分别如下所示:

泊车环境

泊车环境就是一些静态的场景,自车需要规划路径停到目标车位中。一共有20多种场景,这里只放出 6 个。