简介
文章介绍了上海人工智能实验室团队开发的一套车辆行驶仿真系统,并分析展示了其性能。该系统支持多场景仿真、多源交通流生成、多车联合决策规划以及多维度场景评价。
1 Introduction
limsim的提出是为了克服基于车流的仿真器没有考虑多车的相互作用和运动学约束,以及克服基于车辆的仿真器无法自动生成车流的问题,limsim相当于结合了二者的优势。limsim具有一些特点:1)长期性:可以长时间的做仿真,不断产生车流;2)多样性:考虑了车辆的社会价值取向和驾驶风格,支持跟车、变道、合并等5种驾驶行为;3)交互性:不仅考虑他车对自车的影响,还要考虑车流中相邻车辆之间的影响;4)多场景:仿真器提供多种道路结构,如直道,环行路等。
2 Approach
limsim的核心是实现四个功能:多情景路网建设、多源通信流量生成、多车联合决策与规划和多维场景分析。
2.1 Multi-vehicle joint decision-making and planning
1)决策过程
limsim多车交互决策是基于蒙特卡罗树状搜索(MCTS)算法实现的,如下图2所示,实现过程包括四个阶段:选择、扩展、仿真和反向传播。在计算过程中,仿真器将多辆车分成不同的组,只有组内的车辆才考虑相互影响。
仿真器为每个车辆定义了五种可执行的动作:维持速度、加速、减速、向左变道和向右变道。
选择阶段中子节点𝑗的UCT值的计算方法为
其中,𝑋𝑗是节点𝑗的平均奖励,𝑛是𝑗的父节点被访问的次数,𝑛𝑗是子j被访问的次数,𝐶𝑝>0是平衡探索和开发的常数。每个节点的奖励分配应该在0到1之间。
反向转播中为了使车辆表现出不同的社会行为,定义了不同奖励
𝛾∈[0,1]为合作因素。𝛾接近0表示车辆利己,𝛾接近1表示大度。
2)轨迹规划
车辆运动满足笛卡尔坐标系下的方程:
同时定义了cost以便规划更优的路径:
总的代价函数为
不同的司机在交通流中可能会根据驾驶习惯选择不同的行驶轨迹。例如,一些司机可能更关心驾驶的舒适性,而另一些司机则更喜欢与其他车辆保持更长的安全距离。因此,根据驾驶员的驾驶习惯,定义了一个包含𝑀权重向量的轨迹权重集W,1-M个权重代表M种不同的驾驶风格。
有了车辆动力学和优化函数,就可以为车辆规划出路径,这是控制问题,可以用一些最优控制算法求解。
2.2 Multi-source traffic flow generation
仿真器中车流的产生同样是基于蒙特卡罗树状搜索算法考虑多车之间的交互,cost函数计算方法与2.1的相同,车流产生的方法应该是借鉴了多车交互决策算法,直接搬过来用就可以产生车流。
2.3 Multi-scenario road network construction
这一部分文章只给了几种场景的描述:如十字路口、环形路和坡道。用户可以使用SUMO等工具构建路网,也可以直接从传感器数据和专家知识生成路网。
2.4 Multi-dimensional scenario analysis
这一部分作者没有在文章中体现,但是官网上有描述,它包括五个评估维度:
1)能耗
2)方向偏差
3)不舒适度
4)中心线偏移
5)安全性
时间t(t为TTC计算得到)
TTC(Time-to-collision)的定义是:如果两辆车继续以目前的速度和在同一道路上行驶,则它们相撞所需的时间为t。
3 Experiments
1)多车交互决策
实验了在四车道高速公路场景,可控制的车量数分别设置为2、3和4。每种方法在相同的实验设置下重复10次。测量了每种方法的成功率,MCTS中扩展节点的平均数,时间以及最小车距。
实验结果表明,文章提出的方法规划成功率最高,扩展节点最少,最小车距最大,综合性能最优,感觉还是比较有可信度。
2)车流的产生
实验基于CitySim 的高速公路B数据集进行了仿真,并分析了仿真结果的速度分布和跟随距离分布。
统计了仿真器产生的东西方向两条路线交通流,并与真实的数据集做对比。由图可见,速度和车距的数据分布形式统一,且值相差不大,产生的交通流感觉还是可信的。
3)多维度场景评价
不足的是,文章并没有给出能证明场景分析准确性的实验,只能通过仿真和源码分析,仿真器将五个维度的计算值都分别保存在数据库中,类似下图的可视化。个人认为场景评价部分不够准确,就舒适度和安全性而言,只定义了很简单的公式,无法准确表示实际情况(依托勾石)。