CN115495833A - 一种基于车路协同的虚拟场景数据仿真方法及系统 - Google Patents
一种基于车路协同的虚拟场景数据仿真方法及系统 Download PDFInfo
- Publication number
- CN115495833A CN115495833A CN202110679754.4A CN202110679754A CN115495833A CN 115495833 A CN115495833 A CN 115495833A CN 202110679754 A CN202110679754 A CN 202110679754A CN 115495833 A CN115495833 A CN 115495833A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- virtual
- real
- simulation
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于智能驾驶仿真测试技术领域,涉及一种基于车路协同的虚拟场景数据仿真方法及系统,包括如下步骤:1)利用软件程序生成场景配置文件,包括虚拟道路信息、虚拟主车信息和虚拟远车信息;2)将场景配置文件导入仿真程序,仿真程序根据场景配置文件计算出虚拟主车的实时状态和对应虚拟远车的实时状态;3)仿真程序根据虚拟远车的实时状态生成对应的BSM消息,仿真程序输出虚拟远车的实时BSM消息和虚拟主车的实时状态到车路协同程序,用于对OBU设备或车路协同算法进行测试。本发明可在电脑上进行开发,无需实车测试,节约成本,消除了实车测试的危险,能够快速适配多种道路和车辆模型,并能不断积累场景形成场景库。
Description
技术领域
本发明涉及一种基于车路协同的虚拟场景数据仿真方法及系统,属于智能驾驶仿真测试技术领域。
背景技术
车路协同为采用V2X技术实现面向交通安全、面向交通效率以及面向信息服务应用的统称。V2X(Vehicle to Everything),即车连万物,是指在车辆上安装一种专用通信终端,可实现与其他车辆、道路、行人以及云端进行数据交互服务。车路协同应用对于提高车辆安全性,减少交通事故,实现智慧交通,支撑自动驾驶发展具有重要意义。
在车路协同仿真领域,目前并没有统一的仿真标准,各个厂商基于自身的理解进行仿真场景的搭建。目前市面上主流的仿真系统大都搭建比较复杂,虚拟的场景是否满足实际测试需求也无定论,车路协同仿真系统还处于早期的发展阶段。同时场景开发涉及到资源问题、实车环境安全保障问题、车型繁多等问题,如何在实验室全面有效模拟真实环境进行仿真测试一直是业界难题。
1)资源要求种类多且投入成本大,车路协同预警类场景测试需要司机、车辆和专门的场地才能进行测试,协调到所有的资源来满足调试开发需求,存在占用资源周期长,配置车辆特性困难和现场效率较低等困难。测试设备峰值参数时甚至需要数百台车辆去验证主车在大量背景车辆下的性能和指标情况,这种测试成本巨大难以承受。
2)实车安全保障问题,车路协同预警类场景开发的目的是为了避免各种路况下的交通事故,需要模拟各种复杂的场景来验证。采用实车测试的方式来验证,稍有不慎就会出现交通事故,有很大的安全隐患。
3)适配车辆类型繁多,实际道路上行驶的车辆种类繁多,那么在实验室测试时同样需要覆盖真实路况下的车辆,有三轮车、私家车、公共车、消防车、救护车等各种类型的车辆。
行业内车路协同应用仿真系统的特点是可视化、模型化和信息交互化,可实现对交通系统的仿真。在对交通系统仿真的基础上实现对车路协同应用场景的仿真,属于一体化的解决方案,虚拟场景下的每个元素,包括道路、车辆以及建筑物都是可视的,每个元素都是根据实际的场景进行建模。在信息交互方面,很多仿真场景支持信道接入和路由协议,支持多模式接入,例如Wi-Fi和5G等,非常方便各种外部设备的集成和扩展。
此类仿真系统采购专业仿真工具费用高且不适用,目前行业内有专门的仿真工具进行车路协同相关的场景仿真开发,但是成本昂贵,动辄百万以上,且存在对技术演进过程中定制化响应困难等问题,为开发带来巨大的成本压力。
发明内容
本发明的目的是提供一种基于车路协同的虚拟场景数据仿真方法及系统,用以解决现有技术中实车测试不安全和仿真程序开发成本高的问题。
为实现上述目的,本发明的方案包括:
本发明的一种基于车路协同的虚拟场景数据仿真方法,包括如下步骤:
1)利用软件程序生成场景配置文件,所述场景配置文件包括虚拟道路信息、虚拟主车信息、和虚拟远车信息;所述虚拟主车信息包括虚拟主车初始位置信息和虚拟主车的运行策略;所述虚拟远车信息包括虚拟远车初始位置信息和对应虚拟远车的运行策略;
2)将所述场景配置文件导入仿真程序中,仿真程序根据场景配置文件计算出虚拟主车的实时状态和对应虚拟远车的实时状态;
3)仿真程序根据虚拟远车的实时状态生成对应虚拟远车的BSM消息;仿真程序输出对应虚拟远车的BSM消息和虚拟主车的实时状态到车路协同程序,用于对OBU设备或车路协同算法进行测试。
本发明利用软件进行配置,模拟虚拟测试场景,生成场景配置文件。仿真程序导入场景配置文件后,根据虚拟场景生成实时仿真数据,基于实时仿真数据可以有效验证车路协同应用场景开发的准确性和可靠性。
利用计算机程序模拟出对人来说虚拟,但对于车路协同系统来说真实的道路交通场景,安全、低成本的进行车路协同算法的测试,也可以用于进行真实车路协同硬件(OBU)的在线测试。
进一步的,步骤1)中,所述虚拟道路信息包括车道数量、车道宽度和车道航向角。
进一步的,步骤1)中,所述虚拟主车初始位置信息包括虚拟主车所在的主车初始车道和虚拟主车的初始经纬度。
进一步的,步骤1)中,所述虚拟远车初始位置信息包括对应虚拟远车相对于主车初始车道的相对车道位置和对应虚拟远车与虚拟主车之间沿车道方向的距离。
虚拟道路模式下,车道仅是一个概念,所有元素(远车)的位置都可以根据虚拟主车的相对位置来计算,因此仅需定义主车经纬度信息。同时在标定好道路的车道数量、车道宽度和车道航向角以及主车所在车道,即可得到道路与主车位置关系;此时所有远车仅需标定对应远车与主车的车道相对位置关系和与主车沿车道方向的距离。方案在仿真中计算主车和远车位置时能够降低计算量,简化计算过程。
进一步的,步骤1)中,所述运行策略包括初始速度、匀速速度、加速度及不同速度状态下持续的时间。
进一步的,步骤2)中,虚拟主车或虚拟远车的实时状态包括对应虚拟车辆的实时经纬度信息、航向角、速度。
在标定好车道与主车位置关系后,所有在车道上运行的车辆的运行策略仅需关注车速变化,根据速度和时间的关系,得到一定时间后(例如对应采样间隔后)对应车辆行驶距离,再结合所在车道的航向角变化,即可得到该车辆在对应时间后的经纬度信息、航向角及速度等BSM信息。采集数据量小,计算简单,车辆运行策略设置简单可行,同时能够模拟多种道路交通情况。
进一步的,所述仿真程序和车路协同程序运行在同一终端,仿真程序和车路协同程序之间通过标准读取接口、共享内存或进程通信的方式进行交互。
通过同一计算机系统即可完成测试模拟,精简硬件设备,降低成本。
进一步的,计算虚拟主车实时状态的仿真程序和车路协同程序运行在主车终端,计算虚拟远车实时状态的仿真程序运行在一个或多个远车终端;所述主车终端和远车终端通过PC5接口通信。
采用独立的计算机系统批量构建虚拟远车,能够模拟出大量的背景元素,可以测试车路协同系统极限情况下的预警反应是否能够达到指标。
本发明的一种基于车路协同的虚拟场景数据仿真系统,包括处理器,所述处理器运行如上所述任一项基于车路协同的虚拟场景数据仿真方法中的仿真程序和车路协同程序。
进一步的,包括一个或多个运算终端,所述运算终端包括处理器;计算虚拟主车实时状态的仿真程序、计算虚拟远车实时状态的仿真程序和车路协同程序运行在同一运算终端;或者,计算虚拟主车实时状态的仿真程序和车路协同程序运行在同一运算终端,计算虚拟远车实时状态的仿真程序运行在其他运算终端。
本发明所述的一种基于车路协同的虚拟场景数据仿真系统,可在实验室中的电脑上进行开发,无需调动实车进行实地测试,节约开发成本,消除了实车测试的危险,同时能够快速适配多种道路和车辆模型,并能不断积累场景形成场景库。
本发明的一种基于车路协同的虚拟场景数据仿真方法,包括如下步骤:
1)生成场景配置文件,所述场景配置文件包括道路属性,所述道路属性为在实际道路上获得的实际道路宽度、实际车道数和车道中心点数据;车道中心点数据的获得方法为:在实际道路的每一条车道的车道中心线上按设定间隔采集经纬度信息;所述场景配置文件还包括虚拟主车信息和虚拟远车信息;所述虚拟主车信息包括虚拟主车初始位置信息和虚拟主车的运行策略;所述虚拟远车信息包括虚拟远车初始位置信息和对应虚拟远车的运行策略;所述虚拟主车初始位置信息为虚拟主车初始所在的车道中心点的经纬度,所述虚拟远车初始位置信息为虚拟远车初始所在的车道中心点的经纬度;
2)将所述场景配置文件导入仿真程序中,仿真程序根据场景配置文件计算出虚拟主车的实时状态和对应虚拟远车的实时状态;
3)仿真程序根据虚拟远车的实时状态生成对应虚拟远车的BSM消息;仿真程序输出对应虚拟远车的BSM消息和虚拟主车的实时状态到车路协同程序,用于对OBU设备或车路协同算法进行测试。
本发明采集真实道路信息,基于真实道路的车道宽度和车道数进行车路协同虚拟场景的仿真和车路协同程序的测试,同时通过车道中心点坐标用作车道、主车和远车的位置标定,实现仿真和测试所需的数据采集量和计算量降低,方案简单易行。
进一步的,步骤1)中,所述运行策略包括初始速度、匀速速度、加速度及不同速度状态下持续的时间。
进一步的,步骤2)中,虚拟主车或虚拟远车的实时状态包括对应虚拟车辆当前所在的车道中心点的经纬度、航向角、速度。
进一步的,所述仿真程序和车路协同程序运行在同一终端,仿真程序和车路协同程序之间通过标准读取接、共享内存或进程通信的方式进行交互。
进一步的,计算虚拟主车实时状态的仿真程序和车路协同程序运行在主车终端,计算虚拟远车实时状态的仿真程序运行在一个或多个远车终端,所述主车终端和远车终端通过PC5接口通信。
进一步的,包括处理器,所述处理器运行如权利要求11~16任一项基于车路协同的虚拟场景数据仿真方法中的仿真程序和车路协同程序。
进一步的,包括一个或多个运算终端,所述运算终端包括处理器;模拟虚拟主车实时状态的仿真程序、模拟虚拟远车实时状态的仿真程序和车路协同程序运行在同一运算终端;或者,模拟虚拟主车实时状态的仿真程序和车路协同程序运行在同一运算终端,模拟虚拟远车实时状态的仿真程序运行在其他运算终端。
附图说明
图1是车路协同中前向预警场景示意图;
图2是基于采集标定的方式进行仿真的流程示意图;
图3是本发明虚拟场景数据仿真中仿真程序示意图;
图4是本发明虚拟场景数据仿真中主车和远车模拟在同一终端时的软硬件示意图;
图5是本发明虚拟场景数据仿真中主车和远车模拟在不同终端时的软硬件示意图。
具体实施方式
车路协同应用场景开发的核心是主车实时接收周边远车或者路测设备数据并进行数据融合处理,然后根据数据处理的结果,为司机提供安全预警和信息服务。主车聚焦的是周边的车辆或者设备本身实时发送的数据,因此通过虚拟仿真场景下的车辆和设备实时生成数据,模拟实际环境的数据交互,解决车路协同应用场景验证问题。基于此构思,本方案首先根据实际应用场景设计并虚拟出所需车辆信息,并结合不同状态模拟出每辆车和每个设备的实时数据,提供给主车用于应用场景的开发。
本技术方案涉及以下概念:V2X、OBU、主车、远车、PC5、BSM,在此依次做出解释。
V2X是指车联万物,也是车路协同技术的代名词;
OBU是指安装在车辆上的可实现V2X通讯,支持V2X应用的硬件单元;
RSU是指安装在路侧,与车载单元OBU通信的路侧设备;
主车是指装有OBU车载单元且运行应用程序的目标车辆;
远车是指与主车配合能定时广播V2X消息的背景车辆;
PC5是指完成V2X通信的空口技术;
BSM是指车辆基本安全信息,用于车辆之间交换安全状态信息。
在实际道路中,远车和主车的关系如下:主车和远车都装有OBU,都可以广播BSM消息,主车接收远车的BSM消息,对其BSM消息进行解析从而判断是否需要触发相应的预警,例如前向碰撞预警、十字交叉路口碰撞预警等。如图1所示,其中主车(HV)运行目标程序,接收周边远车(RV)广播的BSM消息并进行判断是否需要预警。在实际道路上,主车周边可能存在一辆RV,也可能存在多辆RV,主车同时接收周边所有RV广播的BSM消息,实时进行处理判断。作为主车需要判断周边车辆对自身可能存在的多种危险情况,例如是否存在前向碰撞风险、后方是否有特种车辆需要让行、前方车辆是否存在急刹车、前方车辆是否处于异常低速状态、是否存在十字交叉路口碰撞风险等。
在开发车路协同应用场景时,需要验证在各种复杂路况下主车是否按照设计要求实时触发对应预警。路况越复杂越容易触发各种各样的预警,同时应用场景的开发验证也愈加困难。在开发阶段怎样验证复杂路况下主车预警结果是一个迫切的课题。为了验证主车的场景或者算法,需要模拟出各种复杂的路况信息。复杂的路况有不同的道路宽度,不同的车辆数量,不同的车辆速度,不同的车辆状态等。在开发调试阶段,搭建这样的实车测试环境成本高昂,只能通过模拟仿真的方式来实现。
本方案涉及的仿真其构思侧重于实时数据和车辆策略的仿真,专门针对车路协同应用场景开发,通过设置车辆的运行策略来模拟车辆的运动状态,通过实时的运动状态来更新车辆的实时状态,通过实时状态来模拟实时的数据。通过将所有车辆和设备的数据进行融合提供给主车处理,从而达到模拟仿真的目的。该方案的开发难度较小,方便易用,可以满足应用场景的快速开发。同时,本方案还能够通过场景配置的形成场景配置库,逐步形成全场景测试场景库。
构建虚拟仿真场景,首先需要描述道路属性,因为车辆是在道路上行驶,道路是表示车辆运动的重要位置属性,主要涉及车道宽度、车道方向和车道数量等。然后是在虚拟场景下虚拟出车辆,在该场景下虚拟出一辆主车作为待测车辆,其中该主车在虚拟道路上行驶。虚拟主车构建完毕,根据需要测试的应用场景或者算法,相应的在主车周围模拟出远车作为背景车辆。所有元素创建完毕后,虚拟场景下所有车辆按照预先的设置运行并实时生产数据,从而开发验证目标程序是否按照设计要求进行相应的预警。本方案的步骤首先根据待测试的场景生成相应的场景配置文件,然后将该配置文件导入仿真程序,仿真程序依据配置构建仿真场景,提供实时的场景数据,最终通过实时的场景数据完成场景的测试和算法验证。
1)设置道路属性信息。设置虚拟道路的车道数量,车道宽度、车道方向、相对距离和相对车道等信息。其中相对车道信息是针对虚拟远车而言,因为远车都是相对于主车来定义的,需要基于主车来描述远车的相对车道信息。相对车道可以分为同向车道、对向车道、交叉从左到右车道、交叉从右到左车道等,其中同向车道可以分为前方车道、后方车道,左相邻第一车道、左相邻第二车道、右相邻第一车道、右相邻第二车道,依次类推,一般根据实际路况,最多为双向16车道。因此远车的车道属性除本身所处的绝对车道外,还有其相对车道属性。以上元素为基本的场景元素,后续随着扩展场景的复杂程度,可以逐步增加新的元素,例如增加水坑、道路施工标志等。相对距离指的是远车在主车车道的垂直位移距离,例如远车在主车左同向车道后方1公里处,该位置用于仿真程序推算远车初始经纬度信息。
2)虚拟主车和远车,其中主车作为被测车辆,运行目标程序来进行场景和算法开发,远车来作为背景车辆,配合主车进行测试。每辆车在车路协同场景应用都在实时广播自身的BSM消息,因此构建出每辆车的BSM消息即可实现对应车辆的模拟。BSM消息包含两类信息,一类是需要实时更新的,例如有经纬度信息、速度信息、航向角信息和车身实时状态等;另一类是固定的信息,例如车辆VIN号,车辆体积,车辆类型等。在本方案中,固定属性的信息是通过软件配置,另外实时更新的信息是在仿真程序运行时通过算法实时生成。设置软件需要根据需要设置生成的方式,例如速度信息,可以设置速度在T秒内,以加速度g行驶,到达v1后保持匀速行驶等。例如车身状态,可以设置在运行T秒后,或者行驶x公里后模拟车辆出现急刹车、双闪等。
3)生成场景配置文件导入仿真程序。仿真程序根据场景配置文件生成对应的场景数据。仿真程序首先根据主车的初始经纬度信息确定出每辆远车的初始经纬度信息。然后根据每辆虚拟车辆的配置让车辆在虚拟场景下“运动”起来。其中速度的配置可以模拟远车在不同时刻的速度信息,然后根据速度和时间可以计算运行的距离,根据距离和航向角即可计算出当前时刻的位置信息。实时车身状态信息可以从配置文件设置的策略中计算出来,例如运行300米后车身需要出现急刹车状态。以上实时信息计算完毕后,再加上每辆车的固定属性信息,可以构建当前时刻的BSM信息。将该BSM消息构建发送给主车。同样,虚拟主车与虚拟远车类似,也需要实时的更新自身的位置信息和车身状态,用于场景预警和算法验证。
上述方案采用模拟的方式在仿真场景下产生虚拟车辆的实时经纬度为信息。但是为了模拟真实的路况,也支持导入标定的数据。可以首先将真实车辆的实时状态信息提前采集下来,然后将该信息导入到对应的虚拟远车中,终端仿真程序即可按照提前采集的轨迹运行。
具体的,可根据场景需要,在实际道路上通过实车采集真实路线上的相关信息,包括实时的车辆状态(BSM消息要求的车辆状态信息)、实时经纬度信息、速度信息、航向角信息等。采集完毕后,将标定数据导入到仿真场景中下对应虚拟远车中,生成配置文件。仿真程序在读取该配置文件后虚拟远车会按照采集的真实信息构建BSM信息,虚拟主车会按照该信息来更新自身的相关信息(经纬度、速度和航向角、车身状态信息)。该模式最大程度上模拟实际路况下的场景,验证算法是否满足设计需求,同时也降低了实车的测试风险,例如碰撞预警类的测试,两辆实车在高速场景下测试有发生事故风险,采用该种方案就可以提前将两辆车的轨迹信息录制好,然后在虚拟场景下分别让主车和远车同一时刻运行,同样可以验证在这种情况下是否存在碰撞风险,从而达到测试目的,如图2所示。
根据以上构思,本系统包括配置软件和仿真程序两部分。其中配置软件用于根据场景(包括主车远车在内的车辆)生成场景配置文件,仿真程序读取配置文件,构建虚拟仿真场景,并生成实时的数据。配置软件可以运行多种设备上,包括电脑、移动设备或者嵌入式设备。仿真程序同样可以运行在多种设备上,包括电脑,移动设备或者目标终端。
进一步的,在电脑上运行可以直接进行场景的开发,然后在目标设备上交叉编译,也可以直接在目标终端上运行。在目标终端上运行时,虚拟主车和虚拟远车可以自由组合,虚拟主车可以运行在一台终端上,虚拟远车运行在另外的终端上,其中虚拟远车也可以分布在不同的终端上。当虚拟主车和虚拟远车运行在不同的终端上时,虚拟车辆之间的交互是通过标准的PC5口进行交互。虚拟远车发送的BSM消息需要通过标准ASN库进行编码,然后通过PC5口发送出去,虚拟主车通过PC5口接收到BSM消息后进行解码,然后交给应用层进行场景仿真和算法验证。
当配置软件和仿真程序运行在不同终端时,可以通过有线或者无线的方式进行连接。配置文件生成后可以在线导入到仿真程序中。也可以在配置软件中生成,然后再导入到仿真软件中执行。场景测试的配置文件可以逐步积累,形成场景测试库。事实上虚拟场景不仅需要模拟正常需要测试的场景,更多是需要模拟测试各种复杂路况,最终实现各种场景全覆盖。那么测试过的每种场景都是可以保存下来形成场景库。通过该场景库可以验证该种场景需要包含的所有路况。例如测试前向碰撞预警,需要前车和后车不同的车速和距离下的预警情况。那么根据需求,可以将车速和距离都可以根据需要生成配置,然后将配置批量导入到仿真程序中,可以一次性完成各种速度条件、各种距离条件下的验证。
下面结合附图对本发明做进一步详细的说明。
实施例1:
一、场景仿真
首先是生成场景配置文件,配置文件主要是通过配置软件生成,也可通过其他移动端的软件工具生成。生成场景配置文件的步骤包括设置道路信息,添加虚拟主车和虚拟远车,生成配置文件并导入仿真程序三个步骤。
1.设置道路信息是指设置虚拟场景的车道数量,车道方向(按照道路的航向角来标定,目前实现为0、90、180、270),车道宽度和车道中心点等属性(对于OBU设备、算法来说,一条具有多车道的平直道路即可完成其响应和预警的测试验证)。如果后续进行扩展,可以基于实际的道路属性进行扩展,比方说增加施工、积水、深坑等属性信息。
本实施例中采用虚拟道路的设定方式。在这种模式下,车道只是一个概念,只需要标定车道宽度、车道航向角和车道数量即可,车道中心点不需要标定。在虚拟道路上,所有的元素都是相对于虚拟主车的相对位置来计算,因为虚拟场景下的所有的元素都是以主车作为参考系,然后结合主车的定位信息,通过坐标系转换,可以计算出每一个元素的位置信息,从而模拟真实的场景。例如,设置某辆远车在主车的前向车道正前方500米处,那么结合虚拟主车的定位信息,然后结合航向角和相对位置可以推算出此远车的经纬度信息。
2.添加虚拟主车和虚拟远车。本实施例中第一可以通过仿真方式添加。首先需要选择其所在的车道,当为虚拟道路模式时,虚拟主车选择主车道即可,然后再设定其初始的经纬度位置信息。虚拟远车需要选择相对主车道的车道,例如主车的前向车道、后向车道、相邻左一车道、相邻右一车道等,以及与主车沿车道方向的距离。车道选择好后,打开每辆车的设置界面,可以设置该车的固定属性信息,用于其BSM消息的构建。具体包括车辆类型、车辆体积、车辆VIN号等,这些属性是固定信息,不会随着车辆的运行而改变。
固定属性设置完毕后,需要设置车辆的运行策略,仿真程序根据运行策略,通过算法实时计算车辆的实时状态,从而模拟发送其实时的BSM消息,进而达到模拟该车的目的。运行策略支持多种模式。
i.运行策略首先设置车辆的起始速度、加速度,加速时间,最高速度等。通过这些策略可以模拟车辆的各种运动状态,加速,减速,匀速或者高速行驶等。车辆的运动是通过时间段进行划分,可以把车辆每个时间段的状态通过公式表示,例如(0-t1)(时间段)内车辆为匀加速,加速度为a1,(t1-t2)车辆保持匀速,(t2-t3)车辆匀减速,加速度为-a2等。该种模式事实上是通过分段,将真实车辆的状态通过公式来进行拟合,从而方便后续计算机的计算处理。车辆的速度也可以通过距离维度来描述,例如(0-x1)(距离)车辆速度为v1,(x1-x2)车辆速度为v2,依此类推。
ii.其次,关于运行策略还可以设置车辆的实时状态,车辆实时状态主要包括BSM消息中要求的各种状态信息。可以设置在某个触发条件下,车辆触发某个实时状态,例如当车速达到50km/s时,车辆触发急刹车,或者车辆运行10s后,触发报警双闪灯打开等,上述状态信息通过BSM消息发出。该策略支持扩展,用于模拟实际路况中车辆的各种突发状况模拟。
作为其他实施例,添加虚拟主车和虚拟远车还可以采用标定方式进行添加。为了支持真实场景下的模拟,可以提前采集好车辆的轨迹信息,然后将采集好的轨迹信息导入到对应的虚拟车辆。虚拟主车和虚拟远车都支持导入。采集时采集的状态信息包括车辆的实时经纬度信息、速度信息、航向角信息和实时车身状态信息,采集频率默认设置为10HZ,频率可根据实际情况调整。
标定方式对真实场景的模拟程度更高,也用于某些危险情况的测试。例如模拟两辆车高速下的预警情况,如果采用实车会存在一定的风险,但是如果提前将两辆车的轨迹录制好,然后在仿真环境下进行测试,可以有效的避免风险。主车和远车的信息可以依次采集好,然后导入到对应虚拟车辆中,通过仿真程序可以完美复现真实的测试场景。
添加远车时还可以选择车辆的类型,例如消防车、专用车、警车、救护车等多种车辆,用于测试特种车辆优先场景。实车中用特种车辆来进行测试,协调资源是一件非常困难的事情,但是通过虚拟仿真的方式可以轻松实现,设置时按照实际车辆的情况设置虚拟车辆的类型和体积即可。
3.添加完虚拟主车和虚拟远车,可以生成该场景的配置文件并导入到仿真程序中。仿真程序即可模拟生成该场景下实时数据,用于测试对应的场景或者算法验证。导入配置文件的方式有两种:
a)离线导入。当生成配置的软件和仿真程序不在同一个设备终端运行时,可以将配置软件生成的配置文件导入到仿真工具中运行;
b)在线导入。运行配置软件的设备和仿真工具通过有线或者无线的方式连接,那么可以将配置文件发送给仿真工具,从而实现场景的模拟。
场景配置文件导入后,仿真程序自动读取并进行解析。解析完毕后根据配置构建虚拟远车和虚拟主车,然后基于仿真场景产生实时的场景数据,供主车进行应用场景的开发和算法验证。提供的实时场景数据有以下几种:
a)虚拟主车的属性信息以及虚拟场景下的实时经纬度信息、航向角、速度和车身状态等;
b)虚拟场景下,在距离主车500米范围内(可调整)的远车实时BSM消息,包括实时位置信息、航向角、速度、车身状态等。
c)后续如果场景扩展,可以扩展RSU设备(路侧设备),可以设置距离RSU设备500米范围RSU广播的V2X消息,包括MAP(地图消息)、SPAT(交通灯相位与时序消息)、RSM(路侧安全消息)和RSI(路侧信息)消息等。
二、仿真程序
如图3所示,仿真程序可以分为场景配置文件读取(导入)模块、配置解析模块、虚拟远车构建模块、实时状态更新模块、远车BSM构建模块、远车BSM发送模块、主车实时状态发送模块、虚拟车辆管理模块和时间同步模块。
1.场景配置文件导入模块:导入场景配置文件,仿真程序运行后,会监听配置软件的连接请求,当建立连接后可以接收配置软件下发的场景配置文件。仿真程序也支持离线导入,支持一次性导入一个或者多个配置文件(批量导入)。也可以将配置文件放置在特定的目录下,当程序启动即可从该目录检测是否有配置文件,如果存在则进行导入。
2.配置解析模块:配置解析模块负责配置文件的解析,解析虚拟场景的道路信息,虚拟远车和虚拟主车信息。配置解析模块将场景下所有的元素都数据化,通过索引或者查询的方式,可以获取到虚拟场景下所有元素的信息,包括道路的车道数量,车道宽度、车道是虚拟模式还是实际道路仿真模式,虚拟主车的初始经纬度信息和运行策略,虚拟远车的数量、相对位置信息或者绝对位置、每辆远车的运行策略等。
3.时间同步模块:在实际路况中,所有的远车都是基于统一的GPS授时信息进行同步,那么在该仿真测试系统需要为测试场景中构建的虚拟车辆提供统一的时间基准和授时信息,以保证所有远车都是基于同样时间基准。另外在仿真场景下,BSM发送的间隔要求是均匀的,例如发送频率为10HZ,那么每一次发送的间隔都为100ms,因此时间同步模块也为各类有定时需求的任务提供高精度的定时服务。
4.虚拟车辆管理模块:虚拟车辆管理模块实时的记录所有虚拟车辆实时状态信息和轨迹信息,用于场景开发或者算法分析。虚拟车辆管理模块管理虚拟主车和虚拟远车从开始运行到结束全生命周期的状态信息。包括每辆虚拟车辆当前的状态,发送BSM消息的内容,发送BSM消息的时间,距离主车的距离等。
5.虚拟远车构建模块:虚拟远车模块为仿真场景下的每一辆虚拟远车创建一个对象,并根据配置文件设置其属性。创建完毕后,当仿真程序开始进行仿真时,每辆远车都会按照该车的配置策略运行,并按照固定频率(默认为10HZ,可调)发送自身的实时BSM消息。虚拟远车构建支持三种方式:
1)均匀构建:所有虚拟远车在一定时间内均匀进行构建。假设需要在100ms创建N辆虚拟远车,那么每辆虚拟远车的创建时间间隔为t=100×1000/N,单位为us。例如需要构建10辆远车,则从仿真模块运行开始,每10000us需构建一辆虚拟远车。均匀构建模式是一种理想状态的构建方式,因为虚拟远车一旦构建出来,就会按照一定频率(默认为10HZ)进行BSM的广播,因为构建的时刻不同,因此虚拟主车会在不同的时刻收取不同的远车BSM消息,相对来说处理的时间片也会比较宽裕,该种模式多用于算法方面的验证。
2)随机构建:在真实的路况中,收到远车的BSM时间是随机的,为了模拟这种情况,可以采用随机构建的方式进行。即每辆虚拟远车是在(0-t)ms内随机构建,默认t为100ms。在此种情况下,因为虚拟主车被创建的时刻是也是随机的,因此发送BSM的时刻也是随机的,这样虚拟主车收到的虚拟远车的BSM消息也是随机的,更加符合真实场景的测试情景。此种模式更加符合真实场景的路测。
3)批量构建:在仿真程序开始时,按照顺序依次完成所有虚拟远车的构建,在这种情况下,所有的虚拟远车几乎是在同一时刻发送BSM消息,那么主车接收这些BSM消息也几乎是在同一时刻。批量构建可以验证在极端条件内主车同时收到大量远车广播消息的情况下,其处理能力和响应速度是否满足。这种构建模式更多的是为了测试极端条件下主车的性能指标。
6.实时状态更新模块:实时状态更新模块是本方案的核心模块。虚拟车辆可以在仿真场景下运行起来并发送实时的BSM消息,都是依赖于实时状态更新模块提供的服务。实时状态更新模块首先根据虚拟车辆的策略来计算当前车辆的实时状态信息。实时状态更新的方式有以下两种:
1)模拟更新。模拟更新指的是道路在虚拟模式下,此时所有的远车和场景元素都是以主车为参考系在运行。首先根据虚拟远车与主车的相对位置来确定初始位置点。已知主车的起始经纬度信息为(x0,y0),车道宽度为h(单位:m),远车与主车沿车道方向的距离为w(单位米),根据地球的椭圆轨道可以确定远车的初始经纬度位置为(x1,y1)。当模拟车辆在仿真系统开始运行后,将以一定的频率更新位置信息,默认参数为10HZ。假设更新频率为10HZ,则每次更新时间间隔为100ms,更新次数为N,则该虚拟车辆的运行时长为N×100ms。然后根据该车的运行策略可以计算出当前行驶的距离。其中行驶策略是按照可以按照时间和距离等维度来划分,后续支持扩展。
当按照时间维度来划分时,可以按照时间段来划分。例如(0-t1)(时间段)车辆按照加速度a保持匀加速,(t1-t2)车辆保持匀速,(t2-t3)车辆按照加速度a进行匀减速等。通过每个时间段的运动策略,可以计算当前时刻当前运行的距离。结合该行驶车道的航向角,可以唯一确定该时刻的经纬度信息。如果为距离维度,则可以按照距离设置车辆的状态,例如(0-x1)(距离段)车辆保持匀速、(x1-x2)车辆按照加速度g保持匀减速,(>x3)车辆速度设置为0。
车身状态信息的更新是按照条件触发的。触发的时间也是基于时间或者距离来进行设置。例如运行10s后,车辆急刹车,或者行驶了300米,车辆双闪灯打开等。当满足对应的条件后,BSM消息对应的状态也会将该状态同步更新。
2)导入更新。导入车辆预先标定的数据,此时无论是主车还是远车,在仿真程序运行起来时依次读取预先标定的每一时刻对应的车辆行驶信息即可(此模式下不需要用到预设的车辆运行策略,或者说仿真中车辆的运行策略为驾驶车辆时采集的相关信息作为车辆的运行策略,主车和远车可分别采集)。因为在采集时,是按照规定的频率(例如设置10HZ)进行采集。采集的数据有实时的经纬度位置信息、速度信息、航向角信息和实时的车辆状态信息(BSM要求的车辆状态信息)。因此在采集时,按照采集的时间间隔进行回放采集的数据即可。
7.远车BSM消息构建模块:根据虚拟远车的配置和实时位置更新模块构建该车的BSM消息。其中BSM的固有属性信息由其配置导入,包括车辆的VIN号、车辆的体积信息,车辆的类型,车辆的模拟状态(报警灯打开、急刹车、ESP报警灯)等。其他实时更新的数据则由实时状态更新模块提供。
8.主车实时状态更新:主车的实时位置更新同远车的位置更新更新类似,该位置信息提供在测试场景下主车的实时位置点,从而将主车和远车在同样的虚拟场景下运行。主车的实时位置更新支持标准接口、进程通信或者其他进程通信的方式,为主车提供测试场景下的实时位置更新服务。事实上,在主车的视角下,其关心的主要是主车在实时场景下的实时经纬度信息、速度信息和航向角信息。
9.远车BSM发送模块:当虚拟远车在虚拟主车500米(距离可调)范围内,虚拟远车才会接收到BSM构建模块的数据,放在队列中依次发送给上层进行处理,队列采用先进先出的方式放置。远车BSM发送模块发送的方式有两种:
i.当主车和远车在同一个终端运行,则BSM消息不通过PC5接口直接发送给远车,发送的方式支持多种方式,例如标准读取接口、共享内存或者其他进程通信等方式。此种模式不需考虑PC5硬件的带宽,仅仅关注场景和算法的验证。具体如图4所示,仿真程序与车路协同场景程序运行在同一个硬件终端上。
ii.当主车和远车在不同的终端上运行,则双方通过PC5实际的硬件接口进行交互。考虑到硬件通信带宽的限制,每辆终端上模拟的远车数量建议在5到10,具体可根据实际情况确定。此种情况的框图如图5所示:
在此种模式下,每个终端独立运行虚拟仿真程序,所有的仿真程序基于同样的虚拟场景,每个终端可以模拟的车辆数量根据PC5实际的带宽来设计,一般设置为5-10辆车。那么在上述系统中,每个终端根据需求基于同样的虚拟场景导入对应的虚拟车辆配置文件即可。该种测试模式是通过标准的PC5接口来接收,所以每辆虚拟远车发送的消息是需要进行编码的,在主车的目标程序需要从PC5接口读取数据,然后按照标准的处理流程解码后再进行处理。
适应场景举例:
1)测试前向碰撞预警,可以虚拟出处于同向车道上的虚拟主车和虚拟远车,然后设置虚拟主车和虚拟远车的距离,和虚拟主车和虚拟远车的初始速度,仿真程序运行后,虚拟远车和虚拟主车在仿真环境下运动起来,可以测试该场景下下,主车是否触发预警;
2)测试V2V盲区预警,可以虚拟出主车和远车,两辆虚拟远车分别从主车后方超越主车,然后测试在盲区范围内,虚拟主车是否按照设计要求触发预警;
3)可以进行各种异常车辆提醒的测试。例如虚拟一辆远车,设置速度为0,然后虚拟主车从后面经过的时候,是否在安全范围内可以触发预警;或者前面的虚拟远车发生急刹车情况,后方虚拟主车在接近报警范围时是否及时触发预警;
4)支持混合场景的测试,可以模拟虚拟远车同时触发多种报警,这个时候虚拟主车需要按照预警的优先级进行提醒,可以测试预警的优先级是否和设计保持一致;
5)支持后续扩展,可以扩展RSU设备节点,在路口放置一个RSU设备节点,然后模拟播放MAP和SPAT消息,可以扩展V2I场景的仿真测试。
三、具体实例
前向碰撞预警为车路协同应用的典型场景,下面以前向碰撞预警为例,描述数据仿真系统的使用流程。
1.前向碰撞预警(FCW)是指,主车(HV)在车道上行驶,与在正前方同一车道的远车(RV)存在追尾碰撞危险时,FCW应用将对HV驾驶员进行预警。本应用适用于普通道路或高速公路等车辆追尾碰撞危险的预警。FCW应用辅助驾驶员避免或减轻前向碰撞,提高道路行驶安全。具体包括以下场景:
a)HV行驶,RV在HV同一车道正前方停止:
1)HV正常行驶,RV在位于HV同一车道的正前方停止;
2)HV和RV需具备短程无线通信能力;
3)HV行驶过程中在即将与RV发生碰撞时,FCW应用对HV驾驶员发出预警,提醒驾驶员与位于正前方的车辆RV存在碰撞危险;预警时机需确保HV驾驶员收到预警后,能有足够时间采取措施,避免与RV发生追尾碰撞。
b)HV行驶,RV在HV相邻车道前方停止:
1)HV正常行驶,RV在位于HV相邻车道的前方停止;
2)HV和RV需具备短程无线通信能力;
3)HV行驶过程中不会与RV发生碰撞,HV驾驶员不会收到FCW预警信息。
c)HV行驶,RV在HV同一车道正前方慢速或减速行驶:
1)HV正常行驶,RV位于HV同一车道的正前方慢速或减速行驶;
2)HV和RV需具备短程无线通信能力;
3)HV行驶过程中在即将与RV发生碰撞时,FCW应用对HV驾驶员发出预警,提醒驾驶员与位于正前方的车辆RV存在碰撞危险;预警时机需确保HV驾驶员收到预警后,能有足够时间采取措施,避免与RV发生追尾碰撞。
d)HV行驶,HV视线受阻,RV-1在HV同一车道正前方停止:
1)HV跟随RV-2正常行驶,RV-1在同一车道上RV-2的正前方停止,HV的视线被RV-2所遮挡;
2)HV和RV-1需具备短程无线通信能力,RV-2是否具备短程无线通信能力不影响应用场景的有效性;
3)RV-2为了避开RV-1进行变道行驶;
4)HV行驶过程中在即将与RV-1发生碰撞时,FCW应用对HV驾驶员发出预警,提醒驾驶员与位于正前方的RV-1存在碰撞危险;预警时机需确保HV驾驶员收到预警后,能有足够时间采取措施,避免与RV-1发生追尾碰撞。
2.场景仿真。以上述场景a)为例来说明仿真场景的搭建。该场景中因为主车和远车在同一车道,因此虚拟场景中道路需要设置一条车道,然后根据测试需求设置该车道相关属性,本场景主要为设置车道宽度。
该虚拟场景下有两辆虚拟车辆,一辆为主车,一辆为远车,其中远车在主车前面。首先根据需求设置主车的属性信息,包括车辆体积、车辆VID号码和车辆类型等BSM固定属性信息。然后设置该车的初始经纬度信息(Lon1,Lat1)。设置完属性信息后,再根据待测试情况设置主车的运行策略,例如在T0时刻,初始速度为V0,然后以加速度A1的加速度运行至T1时刻,然后以加速度A2运行至T2时刻,以此类推,在Tn时刻,加速度为An。以上采用时间来进行区分,也可以通过距离维度来进行设定(S0-S1速度为V0,S1-S2速度为V1,Sn-Sn+1速度为Vn)。运行策略支持距离和时间的自由组合。
另外一辆虚拟远车设置同虚拟主车类似,区别为需要设置其相对主车的方位(在主车前方还是后方)和相对距离。其中距离可表示为横向距离和纵向距离,横向距离Va=车道宽度*相隔车道数,纵向距离Vb需要设置。在该场景下,Va=0,Vb设置为R0;
3.根据以上场景配置完成后,可以生成配置文件导入到仿真系统中进行测试。
仿真程序运行后根据配置文件会生成实时的仿真数据,然后主车根据该实时数据可以进行算法验证。运行后虚拟主车按照设计的属性实时的进行播放,其中根据设置的运行策略可以实时计算其位置信息。计算方法如下:
在运行的任一Tn时刻,车辆运行的速度信息为Vtn,位移为Stn;
其中
Stn=1/2A1×T1×T1+1/2A2×T2×T2+…+1/2An×Tn×Tn+V0(T1+T2+…+Tn)+A1T1(T2+…+Tn)+A2T2(T3+…+Tn)+…+An-1Tn-1Tn;
另外Vtn=V0+A1T1+A2T2+…+AnTn;
然后根据Stn和起始位置(Lon1,Lat1),推算出Tn的经纬度信息(Lonn,Latn),其中公式是根据的地球的模型进行推导,具体公式为:
其中ARC为赤道圆的半径,为固定值6371.393(单位km),Stn为运行Tn时刻的移动距离。为远车相对主车的方位角。本场景中因为两车同向,可以取值为0。由于测试范围较小,该公式所产生的误差基本上可以忽略不计,对实验数据不造成影响。
那么在任一时刻Tn,该位置的经纬度信息(Lonn,Latn),实时速度信息Vtn以及航向角r(在该场景下可以不关心航向角)都已经确定下来,根据该车辆的其他固定属性信息可以进行实时BSM消息的广播。
其中虚拟远车的设置同虚拟主车类似,其中根据其相对主车的初始位置和距离R0可以确定初始的位置点信息,推导公式如下:
然后虚拟远车在仿真场景中运行后,其任一时刻Tn的位置信息同样可以根据其预先设定的运行策略进行推导,具体推导公式同虚拟主车。
仿真场景运行后,在该场景下,由于是单一场景的验证,因此两辆车同时开始运行并进行BSM消息的广播。广播的频率根据场景的要求设置为10HZ。如果虚拟主车的环境设置了大量的虚拟远车,那么虚拟远车的运行时刻可以按照固定间隔或者随机间隔进行配置,其BSM消息广播的频率可根据实际需求进行设定。
虚拟车辆产生的实时数据会实时融合,然后实时通知上层应用程序进行获取。该数据主要用于应用场景算法的开发、验证和测试。
4.仿真结果分析。数据仿真系统提供事件分析工具,可以设置关键事件。关键事件可以设置触发的条件,以及事件触发时需要记录的现场数据。事件分析工具的使用可以极大提升结果分析的效率,方便后续算法的优化。具体事件可以根据实际情况进行设置。例如前向碰撞预警场景在发生以下条件时会记录事件,如停止仿真的事件、碰撞事件、碰撞时间小于TTC(time to collision;预测值,本车会撞上前车时间)事件等。
1)停止仿真事件触发
i.发生碰撞事件,则停止虚拟仿真程序的运行;
ii.前车和候车的距离大于安全距离,且前车速度大于后车速度,则停止虚拟仿真程序的运行;
2)碰撞事件
i.当两辆车距离小于两车长度和的1/2时,则认为是碰撞了,记录当前车辆当前时刻经纬度信息,速度信息,航向角等信息;
3)碰撞时间小于TTC事件
i.当两辆车碰撞时间小于TTC时间时记录当前车辆的信息,运行时间,车辆状态等。
其他事件可以根据实际情况设置,用于仿真过程中关键过程的记录,用于后续场景算法的优化和分析。具体的事件可以设置形成事件列表,包括事件触发的条件以及需要记录的数据等。最终形成场景分析报告。根据该分析报告可以快速的分析场景和算法中的问题,减少分析的时间,支撑后续算法和场景快速优化迭代。
实施例2:
实施例2与实施例1的区别在于,场景配置文件生成中,虚拟道路的设定方式,远车和主车的添加方式,以及仿真过程中远车和主车的模拟方式。
1.本实施例中采用实际道路仿真的方式进行虚拟道路的设定。设置道路属性,在这种模式下,道路按照实际场景进行标定。车道数量设置为实际的车道数,车道宽度设置为实际宽度。车道中心点需要提前在车道上采集好。采集车道中心点是指沿着实际道路中每一条车道中心,以1米的间隔(距离可调)采集每一点的经纬度信息。在设置对应车道信息时,可以将该采集好的信息导入到该条车道中。在实际道路仿真时,如果是扩展其他元素,需要标定该元素的实际位置信息,每个元素可以被该围绕该元素的GPS轨迹点表示。每条车道中心点的采集是有方向的,按照车道的方向依次进行采集。
2.添加虚拟主车和虚拟远车。本实施例中第一可以通过仿真方式添加。首先需要选择虚拟主车和虚拟远车的具体位置点,具体位置点通过该车道的某个中心点来表示。例如虚拟主车在所在车道的某个位置点(采集的某个中心点),虚拟远车在另外一个车道的某个位置点。具体位置根据测试需求进行设定。车道选择好后,打开每辆车的设置界面,可以设置该车的固定属性信息,用于其BSM消息的构建。具体包括车辆类型、车辆体积、车辆VIN号等,这些属性是固定信息,不会随着车辆的运行而改变。固定属性设置完毕后,需要设置车辆的运行策略,仿真程序根据运行策略,通过算法实时计算车辆的实时状态,从而模拟发送其实时的BSM消息,进而达到模拟该车的目的。运行策略支持多种模式。
其他关于车辆的运行策略,其实施方式与实施例1相同,此处不再赘述。
作为其他实施例,添加虚拟主车和虚拟远车也可以采用标定方式进行添加。为了支持真实场景下的模拟,可以提前采集好车辆的轨迹信息,然后将采集好的轨迹信息导入到对应的虚拟车辆。虚拟主车和虚拟远车都支持导入。采集时采集的状态信息包括车辆的实时经纬度信息、速度信息、航向角信息和实时车身状态信息,采集频率默认设置为10HZ,频率可根据实际情况调整。
标定方式对真实场景的模拟程度更高,也用于某些危险情况的测试。例如模拟两辆车高速下的预警情况,如果采用实车会存在一定的风险,但是如果提前将两辆车的轨迹录制好,然后在仿真环境下进行测试,可以有效的避免风险。主车和远车的信息可以依次采集好,然后导入到对应虚拟车辆中,通过仿真程序可以完美复现真实的测试场景。
添加远车时需要选择车辆的类型,例如消防车、专用车、警车、救护车等多种车辆,用于测试特种车辆优先场景。实车中用特种车辆来进行测试,协调资源是一件非常困难的事情,但是通过虚拟仿真的方式可以轻松实现,设置时按照实际车辆的情况设置虚拟车辆的类型和体积即可。
3.添加完虚拟主车和虚拟远车,可以生成该场景的配置文件并导入到仿真程序中。仿真程序即可模拟生成该场景下实时数据,用于测试对应的场景或者算法验证。导入配置文件的方式有两种:
a)离线导入。当生成配置的软件和仿真程序不在同一个设备终端运行时,可以将配置软件生成的配置文件导入到仿真工具中运行;
b)在线导入。运行配置软件的设备和仿真工具通过有线或者无线的方式连接,那么可以将配置文件发送给仿真工具,从而实现场景的模拟。
场景配置文件导入后,仿真程序自动读取并进行解析。解析完毕后根据配置构建虚拟远车和虚拟主车,然后基于仿真场景产生实时的场景数据,供主车进行应用场景的开发和算法验证。提供的实时场景数据有以下几种:
a)虚拟主车的属性信息以及虚拟场景下的实时经纬度信息、航向角、速度和车身状态等;
b)虚拟场景下,在距离主车500米范围内(可调整)的远车实时BSM消息,包括实时位置信息、航向角、速度、车身状态等。
c)后续如果场景扩展,可以扩展RSU设备(路侧设备),可以设置距离RSU设备500米范围RSU广播的V2X消息,包括MAP(地图消息)、SPAT(交通灯相位与时序消息)、RSM(路侧安全消息)和RSI(路侧信息)消息等。
四、仿真程序
如图3所示,仿真程序可以分为场景配置文件读取(导入)模块、配置解析模块、虚拟远车构建模块、实时状态更新模块、远车BSM构建模块、远车BSM发送模块、主车实时状态发送模块、虚拟车辆管理模块和时间同步模块。
1.场景配置文件导入模块:导入场景配置文件,仿真程序运行后,会监听配置软件的连接请求,当建立连接后可以接收配置软件下发的场景配置文件。仿真程序也支持离线导入,支持一次性导入一个或者多个配置文件(批量导入)。也可以将配置文件放置在特定的目录下,当程序启动即可从该目录检测是否有配置文件,如果存在则进行导入。
2.配置解析模块:配置解析模块负责配置文件的解析,解析虚拟场景的道路信息,虚拟远车和虚拟主车信息。配置解析模块将场景下所有的元素都数据化,通过索引或者查询的方式,可以获取到虚拟场景下所有元素的信息,包括道路的车道数量,车道宽度、车道是虚拟模式还是实际道路仿真模式,虚拟主车的初始经纬度信息和运行策略,虚拟远车的数量、相对位置信息或者绝对位置、每辆远车的运行策略等。
3.时间同步模块:在实际路况中,所有的远车都是基于统一的GPS授时信息进行同步,那么在该仿真测试系统需要为测试场景中构建的虚拟车辆提供统一的时间基准和授时信息,以保证所有远车都是基于同样时间基准。另外在仿真场景下,BSM发送的间隔要求是均匀的,例如发送频率为10HZ,那么每一次发送的间隔都为100ms,因此时间同步模块也为各类有定时需求的任务提供高精度的定时服务。
4.虚拟车辆管理模块:虚拟车辆管理模块实时的记录所有虚拟车辆实时状态信息和轨迹信息,用于场景开发或者算法分析。虚拟车辆管理模块管理虚拟主车和虚拟远车从开始运行到结束全生命周期的状态信息。包括每辆虚拟车辆当前的状态,发送BSM消息的内容,发送BSM消息的时间,距离主车的距离等。
5.虚拟远车构建模块:虚拟远车模块为仿真场景下的每一辆虚拟远车创建一个对象,并根据配置文件设置其属性。创建完毕后,当仿真程序开始进行仿真时,每辆远车都会按照该车的配置策略运行,并按照固定频率(默认为10HZ,可调)发送自身的实时BSM消息。虚拟远车构建支持三种方式:
1)均匀构建:所有虚拟远车在一定时间内均匀进行构建。假设需要在100ms创建N辆虚拟远车,那么每辆虚拟远车的创建时间间隔为t=100*1000/N,单位为us。例如需要构建10辆远车,则从仿真模块运行开始,每10000us需构建一辆虚拟远车。均匀构建模式是一种理想状态的构建方式,因为虚拟远车一旦构建出来,就会按照一定频率(默认为10HZ)进行BSM的广播,因为构建的时刻不同,因此虚拟主车会在不同的时刻收取不同的远车BSM消息,相对来说处理的时间片也会比较宽裕,该种模式多用于算法方面的验证。
2)随机构建:在真实的路况中,收到远车的BSM时间是随机的,为了模拟这种情况,可以采用随机构建的方式进行。即每辆虚拟远车是在(0-t)ms内随机构建,默认t为100ms。在此种情况下,因为虚拟主车被创建的时刻是也是随机的,因此发送BSM的时刻也是随机的,这样虚拟主车收到的虚拟远车的BSM消息也是随机的,更加符合真实场景的测试情景。此种模式更加符合真实场景的路测。
3)批量构建:在仿真程序开始时,按照顺序依次完成所有虚拟远车的构建,在这种情况下,所有的虚拟远车几乎是在同一时刻发送BSM消息,那么主车接收这些BSM也几乎是在同一时刻。批量构建可以验证在极端条件内主车同时收到大量远车广播消息的情况下,其处理能力和响应速度是否满足。这种构建模式更多的是为了测试极端条件下主车的性能指标。
6.实时状态更新模块:实时状态更新模块是本方案的核心模块。虚拟车辆可以在仿真场景下运行起来并发送实时的BSM消息,都是依赖于实时状态更新模块提供的服务。实时状态更新模块首先根据虚拟车辆的策略来计算当前车辆的实时状态信息。本实施例中实时状态更新的方式如下:
第一种方式,首先根据运行策略计算车辆行驶距离,计算出当前处于车道上的哪两个位置点(采集的车道中心点)之间。假设在(N,N+1)之间,根据采集点的距离间隔(假设为x),则当前点的计算可以参考N点来计算,例如根据当前采用点落在(N,N+1)之间的1/3处,则根据N和N+1点的经纬度信息可以计算出距离N点1/3出的经纬度信息,该点即为当前时刻车辆的经纬度信息。车辆的航向角可以使用N到N+1点连线的矢量航向角来表示。
第二种则是导入车辆标定的数据,此时无论是主车还是远车,在仿真程序运行起来时依次读取预先标定的每一时刻对应的车辆行驶信息即可(此模式下不需要用到预设的车辆运行策略,或者说仿真中车辆的运行策略为驾驶车辆时采集的相关信息作为车辆的运行策略,主车和远车可分别采集)。因为在采集时,是按照规定的频率(例如设置10HZ)进行采集。采集的数据有实时的经纬度位置信息、速度信息、航向角信息和实时的车辆状态信息(BSM要求的车辆状态信息)。因此在采集时,按照采集的时间间隔进行回放采集的数据即可。
7.远车BSM消息构建模块:根据虚拟远车的配置和实时位置更新模块构建该车的BSM消息。其中BSM的固有属性信息由其配置导入,包括车辆的VIN号、车辆的体积信息,车辆的类型,车辆的模拟状态(报警灯打开、急刹车、ESP报警灯)等。其他实时更新的数据则由实时状态更新模块提供。
8.主车实时状态更新:主车的实时位置更新同远车的位置更新更新类似,该位置信息提供在测试场景下主车的实时位置点,从而将主车和远车在同样的虚拟场景下运行。主车的实时位置更新支持标准接口、进程通信或者其他进程通信的方式,为主车提供测试场景下的实时位置更新服务。事实上,在主车的视角下,其关心的主要是主车在实时场景下的实时经纬度信息、速度信息和航向角信息。
9.远车BSM发送模块:当虚拟远车在虚拟主车500米(距离可调)范围内,虚拟远车才会接收到BSM构建模块的数据,放在队列中依次发送给上层进行处理,队列采用先进先出的方式放置。远车BSM发送模块发送的方式有两种:
i.当主车和远车在同一个终端运行,则BSM消息不通过PC5接口直接发送给远车,发送的方式支持多种方式,例如标准读取接口、共享内存或者其他进程通信等方式。此种模式不需考虑PC5硬件的带宽,仅仅关注场景和算法的验证。具体如图4所示,仿真程序与车路协同场景程序运行在同一个硬件终端上。
ii.当主车和远车在不同的终端上运行,则双方通过PC5实际的硬件接口进行交互。考虑到硬件通信带宽的限制,每辆终端上模拟的远车数量建议在5到10,具体可根据实际情况确定。此种情况的框图如图5所示:
在此种模式下,每个终端独立运行虚拟仿真程序,所有的仿真程序基于同样的虚拟场景,每个终端可以模拟的车辆数量根据PC5实际的带宽来设计,一般设置为5-10辆车。那么在上述系统中,每个终端根据需求基于同样的虚拟场景导入对应的虚拟车辆配置文件即可。该种测试模式是通过标准的PC5接口来接收,所以每辆虚拟远车发送的消息是需要进行编码的,在主车的目标程序需要从PC5接口读取数据,然后按照标准的处理流程解码后再进行处理。
Claims (17)
1.一种基于车路协同的虚拟场景数据仿真方法,其特征在于,包括如下步骤:
1)利用软件程序生成场景配置文件,所述场景配置文件包括虚拟道路信息、虚拟主车信息和虚拟远车信息;所述虚拟主车信息包括虚拟主车初始位置信息和虚拟主车的运行策略;所述虚拟远车信息包括虚拟远车初始位置信息和对应虚拟远车的运行策略;
2)将所述场景配置文件导入仿真程序中,仿真程序根据场景配置文件计算出虚拟主车的实时状态和对应虚拟远车的实时状态;
3)仿真程序根据虚拟远车的实时状态生成对应虚拟远车的BSM消息;仿真程序输出对应虚拟远车的BSM消息和虚拟主车的实时状态到车路协同程序,用于对OBU设备或车路协同算法进行测试。
2.根据权利要求1所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤1)中,所述虚拟道路信息包括车道数量、车道宽度和车道航向角。
3.根据如权利要求2所述的基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤1)中,所述虚拟主车初始位置信息包括虚拟主车所在的主车初始车道和虚拟主车的初始经纬度。
4.根据权利要求3所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤1)中,所述虚拟远车初始位置信息包括对应虚拟远车相对于主车初始车道的相对车道位置和对应虚拟远车与虚拟主车之间沿车道方向的距离。
5.根据权利要求4所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤1)中,所述运行策略包括初始速度、匀速速度、加速度及不同速度状态下持续的时间。
6.根据权利要求5所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤2)中,虚拟主车或虚拟远车的实时状态包括对应虚拟车辆的实时经纬度信息、航向角、速度。
7.根据权利要求1所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,所述仿真程序和车路协同程序运行在同一终端,仿真程序和车路协同程序之间通过标准读取接口、共享内存或进程通信的方式进行交互。
8.根据权利要求1所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,计算虚拟主车实时状态的仿真程序和车路协同程序运行在主车终端,计算虚拟远车实时状态的仿真程序运行在一个或多个远车终端,所述主车终端和远车终端通过PC5接口通信。
9.一种基于车路协同的虚拟场景数据仿真系统,其特征在于,包括处理器,所述处理器运行如权利要求1~6任一项基于车路协同的虚拟场景数据仿真方法中的仿真程序和车路协同程序。
10.根据权利要求9所述的一种基于车路协同的虚拟场景数据仿真系统,其特征在于,包括一个或多个运算终端,所述运算终端包括处理器;计算虚拟主车实时状态的仿真程序、计算虚拟远车实时状态的仿真程序和车路协同程序运行在同一运算终端;或者,计算虚拟主车实时状态的仿真程序和车路协同程序运行在同一运算终端,计算虚拟远车实时状态的仿真程序运行在其他运算终端。
11.一种基于车路协同的虚拟场景数据仿真方法,其特征在于,包括如下步骤:
1)生成场景配置文件,所述场景配置文件包括道路属性,所述道路属性为在实际道路上获得的实际道路宽度、实际车道数和车道中心点数据;
车道中心点数据的获得方法为:在实际道路的每一条车道的车道中心线上按设定间隔采集经纬度信息;
所述场景配置文件还包括虚拟主车信息和虚拟远车信息;所述虚拟主车信息包括虚拟主车初始位置信息和虚拟主车的运行策略;所述虚拟远车信息包括虚拟远车初始位置信息和对应虚拟远车的运行策略;所述虚拟主车初始位置信息为虚拟主车初始所在的车道中心点的经纬度,所述虚拟远车初始位置信息为虚拟远车初始所在的车道中心点的经纬度;
2)将所述场景配置文件导入仿真程序中,仿真程序根据场景配置文件计算出虚拟主车的实时状态和对应虚拟远车的实时状态;
3)仿真程序根据虚拟远车的实时状态生成对应虚拟远车的BSM消息;仿真程序输出对应虚拟远车的BSM消息和虚拟主车的实时状态到车路协同程序,用于对OBU设备或车路协同算法进行测试。
12.根据权利要求11所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤1)中,所述运行策略包括初始速度、匀速速度、加速度及不同速度状态下持续的时间。
13.根据权利要求12所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,步骤2)中,虚拟主车或虚拟远车的实时状态包括对应虚拟车辆当前所在的车道中心点的经纬度、航向角、速度。
14.根据权利要求11所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,所述仿真程序和车路协同程序运行在同一终端,仿真程序和车路协同程序之间通过标准读取接口、共享内存或进程通信的方式进行交互。
15.根据权利要求11所述的一种基于车路协同的虚拟场景数据仿真方法,其特征在于,计算虚拟主车实时状态的仿真程序和车路协同程序运行在主车终端,计算虚拟远车实时状态的仿真程序运行在一个或多个远车终端,所述主车终端和远车终端通过PC5接口通信。
16.一种基于车路协同的虚拟场景数据仿真系统,其特征在于,包括处理器,所述处理器运行如权利要求11~13任一项基于车路协同的虚拟场景数据仿真方法中的仿真程序和车路协同程序。
17.根据权利要求16所述的一种基于车路协同的虚拟场景数据仿真系统,其特征在于,包括一个或多个运算终端,所述运算终端包括处理器;模拟虚拟主车实时状态的仿真程序、模拟虚拟远车实时状态的仿真程序和车路协同程序运行在同一运算终端;或者,模拟虚拟主车实时状态的仿真程序和车路协同程序运行在同一运算终端,模拟虚拟远车实时状态的仿真程序运行在其他运算终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679754.4A CN115495833A (zh) | 2021-06-18 | 2021-06-18 | 一种基于车路协同的虚拟场景数据仿真方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679754.4A CN115495833A (zh) | 2021-06-18 | 2021-06-18 | 一种基于车路协同的虚拟场景数据仿真方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495833A true CN115495833A (zh) | 2022-12-20 |
Family
ID=84464377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679754.4A Pending CN115495833A (zh) | 2021-06-18 | 2021-06-18 | 一种基于车路协同的虚拟场景数据仿真方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495833A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117094182A (zh) * | 2023-10-19 | 2023-11-21 | 中汽研(天津)汽车工程研究院有限公司 | V2v交通场景构建方法及v2x虚实融合测试系统 |
-
2021
- 2021-06-18 CN CN202110679754.4A patent/CN115495833A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117094182A (zh) * | 2023-10-19 | 2023-11-21 | 中汽研(天津)汽车工程研究院有限公司 | V2v交通场景构建方法及v2x虚实融合测试系统 |
CN117094182B (zh) * | 2023-10-19 | 2024-03-12 | 中汽研(天津)汽车工程研究院有限公司 | V2v交通场景构建方法及v2x虚实融合测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797475B (zh) | V2x测试方法及系统 | |
CN108495330B (zh) | 一种车-车信息交互通信的碰撞预警可靠性测试方法 | |
CN110248311B (zh) | 一种基于智能网联平台的v2i应用功能测试方法 | |
WO2020164238A1 (zh) | 用于驾驶控制的方法、装置、设备、介质和系统 | |
CN110544390A (zh) | 一种车车交互式的行人主动避撞方法与装置 | |
CN103465907A (zh) | 一种汽车避撞装置及方法 | |
CN110606070B (zh) | 一种智能驾驶车辆及其制动方法、车载设备和存储介质 | |
WO2015101291A1 (zh) | 一种交通控制方法、网络侧设备及终端 | |
CN111458154A (zh) | 基于自动驾驶整车在环人车冲突场景的测试系统和方法 | |
JP2021111329A (ja) | 地図生成システム | |
CN111681445A (zh) | 室内停车场管理系统、系统、v2x路侧设备及车载设备 | |
TW201800291A (zh) | 訊息的推送方法、裝置和設備 | |
CN113453263A (zh) | 一种车路协同v2i仿真测试系统及其方法 | |
CN113340615A (zh) | 一种汽车自动驾驶功能模拟测试系统及方法 | |
CN208819074U (zh) | 一种智能驾驶的网络控制系统 | |
CN110809233A (zh) | 基于dsrc的车辆定位方法及系统 | |
CN111417093B (zh) | V2x效率类应用的车基规范性能测试方法和装置 | |
CN111696385A (zh) | 一种行人预警系统及方法 | |
CN113763697A (zh) | 一种车联网的仿真方法及装置 | |
CN111417094A (zh) | V2x安全类应用的车基规范性能测试方法和装置 | |
CN115495833A (zh) | 一种基于车路协同的虚拟场景数据仿真方法及系统 | |
CN106080593A (zh) | 一种车辆智能防碰撞系统及防碰撞方法 | |
US20220343757A1 (en) | Information processing apparatus, information processing system, and information processing method | |
KR102635088B1 (ko) | 차량 통신 데이터의 패킷 필터링 방법 및 그를 수행하는 차량용 통신 단말 장치 | |
Du et al. | Impacts of vehicle-to-everything enabled applications: literature review of existing studies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |