自动驾驶仿真 | 交通流仿真框架

在开车过程中,驾驶员必须与不同的车辆系统进行交互,例如智能交通系统、高级驾驶员辅助系统(ADAS)和车内信息系统。这些系统影响司机的行为和他们处理交通状况的能力。网络化交通流模拟可以用于未来的研究和开发领域,这些领域可服务于汽车应用,典型例子包括:智能网联车辆系统的开发、驾驶员联合培训和驾驶员合作行为调查。

研究意义

在驾驶模拟器中模拟周围车辆对驾驶员体验真实的交通状况至关重要。然而,模拟驾驶模拟器车辆前方或后方几英里处的交通状况是比较低效率的。本文提出了一种面向网络化驾驶模拟器环境的交通仿真框架的概念和结构。该框架使用户能够选择目标模拟器车辆,并仅在其附近生成其他交通参与者

相关工作

根据文献综述,在驾驶模拟器的交通仿真领域有很多研究工作。

学术界工作
  1. Espie and Auberlet(2007)中提出了交通仿真的符号视觉模型。该模型允许每辆交通车辆观察其周围环境的各种要素,如其他交通车辆、路标、车道标志等。因此,每个交通对象都可以根据交通状况以及感知到的道路环境来调整自己的行为。
  2. Bonakdarian等人(1998)提出了一种使用分层并发状态机(HCSM)的方法。该模型允许每辆交通车辆检查情况,从而在不同的决策之间自动切换,如车道跟踪或改变、目标跟踪、交通避碰、静态目标避碰等。
  3. (Wright et al.(2002))提出了一种利用模糊逻辑方法进行交通仿真的模型。通过引入一定程度的不确定性,该模型模拟了典型人类驾驶员的行为。
  4. 为了减少计算量,在(Olstam(2003))中引入了交通车辆在指定候选区域仿真的概念。
  5. Olstam (2005a))对过往交通模拟方法进行了一个比较全面的综述。
    产业界相关工作
  6. 来自DLR的SUMO是一个开放和灵活的套件,用于模拟包括道路车辆和行人在内的交通系统(Behrisch et al.(2011))。
  7. 来自dSPACE的ASM交通是一个由Simulink模型组成的框架来模拟道路交通(Amelunxen(2015))。该模型模拟了一辆试验车和多达15辆独立交通车辆,可用于交互式驾驶仿真。
  8. IPG Automotive的IPGTraffic为驾驶模拟器提供模型来表示交通车辆之间的交互作用(Miquet et al.(2010))。可以创建无限数量的流量对象,其中可以为每个流量对象分别分配操作。
  9. 一些商业解决方案在驾驶模拟器车辆周围定义了一个模拟区域,在那里生成交通对象。VIRES Simulation Technology的v-TRAFFIC是一个交通和场景仿真引擎,可以与驾驶模拟器一起模拟周围的交通对象(Neumann-Cosel et al., 2009)。基本上,可以创建的流量对象的数量没有限制。此外,v-TRAFFIC利用模拟区域/窗口概念来减少计算量
  10. 大多数商业解决方案的一个问题是,它们模拟整个地理区域。对于较宽的区域或较长的道路,许多交通车辆都必须进行仿真,尤其是在进行长时间驾驶模拟器实验时。这对算力的要求太高了。

交通流仿真框架总览

与传统交通流仿真的区别在于,该框架中车辆对象中其中一辆或多辆是由人控制的,也就是说,交通车辆不仅要对彼此做出反应,还的对人工车辆做出反应。

交通仿真框架接收每个参与驾驶模拟器的位置、方向和速度信息,输出仿真交通车辆的位置和方向。这些工作由模拟管理站处理,由它来管理交通参与者之间的数据转发和同步。交通仿真框架的输出也被转发到相关的驾驶模拟器。

仿真框架功能单元和数据接口

整个仿真框架使用matlab/simulink开发,以下介绍了各个子模块输出,以及它们的关系.

初始化模块

初始化功能表示用户和交通仿真框架之间的接口。框架用户可以在仿真会话开始和仿真运行时设置一些参数,如驾驶员的视线距离、交通密度等级等。下图显示了交通初始化功能及其输出

动态窗口生成模块

为了减少运算成本,该框架不是模拟整个地理区域,而是开发了模型和方法来仅在模拟车辆的最近邻近区域生成交通车(Olstam(2005b))。在本工作中,我们考虑了一个多驱动模拟器的环境。交通车辆只会在选定的模拟车辆的邻近范围内进行模拟,即目标模拟器车辆。该邻域以目标模拟器车辆为中心,其运动速度相同;它被称为仿真窗口。为了避免交通车辆的突然出现和消失,仿真窗口的设计要求至少与目标仿真车辆前后的视线距离一样长

一般来说,道路设计中的视线距离被定义为驾驶员可以看到的道路长度(Hang et al.(2008))。与现实生活中的情况一样,三维环境中的道路几何形状是影响仿真驾驶员视程可用性的因素之一。为了简单起见,我们选择了一条没有十字路口和坡道的道路;这是一条在每个方向上都有两条车道的直线。动态窗口生成功能接收所有参与模拟器车辆的位置,一个指示目标模拟器车辆的信号,以及设定的视距。后两个信号从流量初始化函数接收。该功能不仅为目标模拟器车辆定义了邻域,而且还为每个参与模拟器车辆定义了邻域。在这种情况下,邻近区域称为移动窗口,下图为动态窗口生成函数的主要输入/输出信号

交通车辆只在仿真车辆所在的仿真窗口生成。考虑到不能使司机经历不切实际的交通行为。将目标仿真车与其他参与仿真车之间的距离与设定的视距进行连续比较。当仿真车的移动窗口开始与目标仿真车的仿真窗口重叠时,将目标仿真车的仿真窗口调整为将两辆仿真车包围起来,从而将两辆仿真车在所谓的整体仿真窗口内进行仿真。

但是,如果模拟器车辆驶离目标模拟器车辆,则会重置整个仿真窗口。在这种情况下,整个仿真窗口将与目标模拟器车辆的仿真窗口完全相同。也就是说,在只考虑目标模拟器车辆的情况下生成交通车辆。虽然只考虑了一个目标模拟器驾驶员进行交通仿真,但仿真窗口的动态调整使其他模拟器驾驶员都能体验到真实流畅的交通行为。然而,通过动态调整仿真窗口可能会出现一些关键情况。这些可能导致不切实际的交通行为,例如,交通车辆突然消失在模拟车辆附近。因此,需要一个观察者来检测。

交通观察者模块

交通观察者检测关键情况,以防止生成不真实的交通行为。下图为交通观察者功能的主要输入/输出信号。

该函数接收目标仿真车的信息,所有仿真车的运动窗口,交通车辆的位置,以及交通车辆的最大长度。该功能的主要任务是连续监测哪些交通车辆位于哪个移动窗口。针对不同的情况,将使用不同值的标志。
例如,考虑下图所示的情况,其中目标模拟器车辆正在加速,整个仿真窗口正在重置。如果交通车辆偶然停留在非目标模拟器车辆的移动窗口内,这些车辆不得丢弃。

如果目标模拟器车辆停止,则升起旗子,表示前方不应生成任何交通车辆,除非迎面驶来的交通车辆。同样,如果目标车辆的行驶速度超过了预先定义的最高速度,则会升起标志,表示不应该从后面生成任何交通车辆。
在所有情况下,交通观测器的标志都被转发给车辆生成/丢弃功能(稍后讨论),以便它采取适当的行动防止不切实际的交通行为。

交通速度、密度控制模块

该功能根据交通初始化功能那个提供的相应特征来调整交通速度和/或密度(见图9)。每个交通特征定义了三个层次:低、中、高。

根据所需的速度和密度水平,该功能调整交通车辆的偏移速度和/或目标模拟器车辆前后每视距的交通车辆数量。此信息被转发到下面小节讨论的车辆生成/丢弃功能。

交通生成、舍弃模块

车辆生成/丢弃功能的目标是让交通车辆只存在于仿真窗口内。该功能接收关于仿真窗口、所需的交通特性、当前交通车辆位置和最终关键情况的信息。下图为车辆产生/丢弃功能的输入/输出信号

一般来说,后面生成的交通车辆要比目标模拟器车辆快,而前面生成的比较慢。具体地说,生成的交通车辆的速度等于目标模拟器车辆的速度+/-设置偏移速度。为了避免不真实的交通队列,该函数观察模拟交通车辆的当前位置,使其能够合理地分布在道路车道之间。另一方面,在同一方向上行驶速度比仿真车慢或快的交通车辆最终会走出仿真窗口。同样,当迎面而来的车辆通过模拟器车辆后面的可视距离时,在仿真窗口中就不存在迎面而来的车辆。在考虑前面讨论的交通观察者的最终紧急情况标志时,交通车辆一离开仿真窗口就被丢弃,

驾驶员模块

驾驶员模型根据感知到的交通状况来控制交通车辆的行为。交通仿真有几种行为模型,如:车辆跟随、速度适应、变道、超车、从旁经过(passing)和迎面避让(Yu et al.(2013))。在这项工作中,驾驶员模型是通过汽车跟随行为模式实现的.

车辆跟随模型控制交通车辆相对于同一车道上前面车辆的行为(Wenga和Wu(2001))。当一辆交通车辆前面有一辆车辆在同一车道上行驶,以期望的或当前的速度行驶会导致碰撞时,交通车辆被认为是跟在后面的。文献中有各种各样的追车模型;他们使用不同的逻辑,可能做出不同的假设。例如,Gazis-Herman-Rothery模型表明,后面车辆的加速度与前面车辆的速度、速度差和空间车头时距成正比(Bevrani et al.(2012))。心理-物理的汽车跟踪模型使用阈值来表示跟随车辆和前面车辆之间的最小感知速度差异(Schulze和Fliess(1997))。安全-距离模型基于如下假设:从动车辆与前面车辆保持安全距离(Luo et al.(2011))。(Aycin and Benekohal(2014))对不同的汽车跟随模型进行了比较。为了简便起见,本文考虑了安全距离法。下图为采用汽车跟随行为模型的驾驶员模型的主要输入/输出信号。

驾驶员模型接收所有仿真交通车辆的当前位置和速度,以及仿真车辆的当前位置和速度。将车辆之间的距离与所需的安全距离进行比较。根据距离比较,交通车辆将处于两种状态之一:自由驾驶或跟随。在自由驾驶状态下的交通车辆是不受约束的。因此,驱动程序模型转发设置的速度。对于处于下一状态的交通车辆,驾驶员模型将车速调整为与前一辆车相等,以保持安全距离。虽然在本研究中实现了一个具有车辆跟随行为的驾驶员模型,但所开发的交通仿真框架可以扩展到其他行为模型,例如变道模型。下一节描述交通车辆模型。

交通模块

交通车辆模型的研究主要有两种方法:宏观模型和微观模型。宏观模型从总体或平均的角度处理交通。它们需要相对简单的计算。然而,交通车辆的特性不能单独控制(Nakrachi和Popescu(2010))。相反,微观模型考虑单个车辆的行为。然而,每个模拟车辆都需要一个单独的模型(Jaworski et al.(2012))。这增加了计算工作量,特别是在需要大量车辆的情况下。

本文选择了微观模型。一方面,由于只在有限的区域内进行交通模拟,所以只需要少量的车辆就可以达到合理的交通密度。一方面,人类驾驶员参与模拟,他们通常会改变他们的行为。因此,有必要根据仿真车的位置和速度对每辆交通车辆进行单独的控制。用一个简单的一阶滞后因子和PI、PID控制器对每辆交通车辆进行建模。该模型基本上可以根据所需的车辆数量和可用的计算能力任意复制。

如果驾驶员模型没有检测到前面的车辆,则交通车辆模型接收设置的速度,并激活PIcontroller来保持该速度。
如果前面的车辆被驾驶员模型检测到,则交通车辆模型接收被检测车辆的当前位置,并激活附加的pid控制器以保持安全距离。在这两种情况下,交通车辆模型都类似于一个典型的延迟速度行为,该行为被集成在一起来推断交通车辆的位置。通过适当的模型和控制器参数化,实现了流量控制。

未来工作

  1. 进一步发展交通模拟架构,以模拟每辆模拟车辆邻近的交通车辆。
  2. 其他驾驶模式,如换道将被添加。
  3. 将考虑到更为复杂的道路网。
  4. 所开发的交通仿真框架将集成在网络化驾驶仿真器环境中。因此,可以使用测试人员(即、交互式仿真。
  5. 比较采用或不采用该方法维持一定的交通密度时的计算量。
  6. 结合微观和宏观交通仿真的优势,(Ma et al.(2011))。
0%