一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种交通仿真方法、装置、电子设备和存储介质与流程

2022-10-26 08:33:10 来源:中国专利 TAG:


1.本技术涉及交通技术领域,尤其涉及自动驾驶技术领域,提供一种交通仿真方法、装置、电子设备和存储介质。


背景技术:

2.交通仿真是一门使用仿真技术来研究交通行为的技术,通过建立交通运输系统在一定期间内实时运动的数学模型,来对交通运动随时间和空间的变化进行描述。根据交通仿真的细节描述程度可以将其划分为宏观交通仿真、中观交通仿真和微观交通仿真。
3.相关技术中,针对拖挂车辆的微观交通仿真,为了保证仿真效率,拖挂车辆中前面的牵引车和后面的挂车由长度为两车长度之和的一个长方形刚体来进行模拟,即后面的挂车和前面的牵引车运动完全一致,这样便无法描述后面挂车的运动特性,造成了真实性的缺失。
4.又或者,为了尽量保证仿真的真实性,使用车辆动力学模块来对车体的运动进行精细的建模,但对于包含较多车辆的大规模仿真,这种精细建模会频繁调用车辆动力学模型进行计算,造成运算效率的降低,影响仿真的实时性。
5.因而,如何兼顾真实性和仿真效率,成为了包含大量拖挂车的大规模仿真成功运行的关键。


技术实现要素:

6.本技术实施例提供一种交通仿真方法、装置、电子设备和存储介质,用以同时提升交通仿真的运行效率和真实性。
7.本技术实施例提供的一种交通仿真方法,包括:
8.确定待仿真的目标换道车辆,及所述目标换道车辆中牵引车的第一行驶数据,所述目标换道车辆还包括基于所述牵引车牵引的至少一个挂车;
9.分别基于所述至少一个挂车各自的换道时间区间,通过跑偏调整系数对所述第一行驶数据进行调整,获得所述至少一个挂车各自的第二行驶数据;所述跑偏调整系数为:在换道过程中,针对所述挂车相对于所述牵引车产生的跑偏现象使用的调整参数,所述换道时间区间为相应挂车自换道开始至换道结束所对应的时间区间;
10.分别基于各个第二行驶数据,更新所述各个挂车各自的换道轨迹。
11.本技术实施例提供的一种交通仿真装置,包括:
12.确定单元,用于确定待仿真的目标换道车辆,及所述目标换道车辆中牵引车的第一行驶数据,所述目标换道车辆还包括基于所述牵引车牵引的至少一个挂车;
13.调整单元,用于分别基于所述至少一个挂车各自的换道时间区间,通过跑偏调整系数对所述第一行驶数据进行调整,获得所述至少一个挂车各自的第二行驶数据;所述跑偏调整系数为:在换道过程中,针对所述挂车相对于所述牵引车产生的跑偏现象使用的调整参数,所述换道时间区间为相应挂车自换道开始至换道结束所对应的时间区间;
14.更新单元,用于分别基于各个第二行驶数据,更新所述各个挂车各自的换道轨迹。
15.可选的,所述第一行驶数据包括第一横向速度和第一纵向速度;所述第二行驶数据包括第二横向速度和第二纵向速度;
16.所述调整单元具体用于:
17.对于每个挂车,分别执行以下操作:
18.将一个挂车的第二纵向速度,调整为所述牵引车的第一纵向速度;
19.若所述一个挂车处于自身对应的换道时间区间,则通过所述跑偏调整系数对所述牵引车的第一横向速度进行调整,获得所述一个挂车的第二横向速度。
20.可选的,所述调整单元还用于:
21.若所述一个挂车不处于自身对应的换道时间区间,则确定所述一个挂车的第二横向速度为零。
22.可选的,所述换道时间区间包括:基于临界点划分得到的第一换道时间子区间和第二换道时间子区间;所述临界点为所述一个挂车达到最大横向速度的时间;
23.所述调整单元具体用于:
24.若所述一个挂车处于第一换道时间子区间,则基于所述跑偏调整系数对所述第一横向速度进行减速调整,获得所述一个挂车的第二横向速度;
25.若所述一个挂车处于第二换道时间子区间,则基于所述跑偏调整系数对所述第一横向速度进行增速调整,获得所述一个挂车的第二横向速度。
26.可选的,所述调整单元具体用于:
27.将预设参数与所述跑偏调整系数之差,作为减速系数;所述预设参数大于所述跑偏调整系数;
28.基于所述牵引车在t-td时刻的第一横向速度,与所述减速系数,确定所述一个挂车在t时刻的第二横向速度,其中,t为当前时刻,td为所述一个挂车对应的横向滞后时间;所述横向滞后时间为所述一个挂车相对于所述牵引车,产生横向速度的滞后时长。
29.可选的,所述调整单元具体用于:
30.将预设参数与所述跑偏调整系数之和,作为增速系数;所述预设参数大于所述跑偏调整系数;
31.基于所述牵引车在t-td时刻的第一横向速度,与所述增速系数,确定所述一个挂车在t时刻的第二横向速度,其中,t为当前时刻,td为所述一个挂车对应的横向滞后时间;所述横向滞后时间为所述一个挂车相对于所述牵引车,产生横向速度的滞后时长。
32.可选的,所述调整单元还用于通过下列方式确定每个挂车对应的换道时间区间:
33.获取所述牵引车对应的换道持续时间,以及换道开始时刻;
34.基于所述换道持续时间和所述换道开始时刻,确定相应的换道结束时刻;
35.基于一个挂车对应的横向滞后时间以及所述换道开始时刻,确定所述换道时间区间的左边界,及基于所述一个挂车对应的横向滞后时间以及所述换道结束时刻,确定所述换道时间区间的右边界;所述横向滞后时间为所述一个挂车相对于所述牵引车,产生横向速度的滞后时长。
36.可选的,所述横向滞后时间是基于所述目标换道车辆的车辆固有特征确定的;对于一个挂车,所述一个挂车的对应的横向滞后时间,与所述一个挂车与所述牵引车的距离
呈正相关。
37.可选的,所述第一行驶数据包括第一横向速度和第一纵向速度;
38.所述确定单元具体用于通过下列方式确定所述牵引车的第一行驶数据:
39.基于所述目标换道车辆在同向车道上前车的第三行驶数据,以及所述前车与所述目标换道车辆的车距,确定所述牵引车的第一纵向速度;所述同向车道为换道前的当前车道或换道后的目标车道;
40.基于换道持续时间及换道距离,确定所述牵引车的第一横向速度,所述换道距离为所述目标换道车辆由所述当前车道换行至所述目标车道的过程中,需要跨越的横向距离。
41.可选的,所述跑偏调整系数是通过如下任意一种方式确定的:
42.获取预先设置的所述跑偏调整系数;
43.基于所述目标换道车辆的车辆固有特征,确定所述跑偏调整系数。
44.可选的,所述第二行驶数据包括第二横向速度和第二纵向速度;
45.所述更新单元具体用于:
46.对于每个挂车分别执行以下操作:
47.对于一个挂车,将所述一个挂车的第二横向速度和第二纵向速度进行矢量合成,确定所述一个挂车的航向角;
48.基于所述航向角,对所述一个挂车的行驶姿态进行调整,并基于调整结果更新所述一个挂车的换道轨迹。
49.本技术实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种交通仿真方法的步骤。
50.本技术实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种交通仿真方法的步骤。
51.本技术实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种交通仿真方法的步骤。
52.本技术有益效果如下:
53.本技术实施例提供了一种交通仿真方法、装置、电子设备和存储介质。由于本技术通过将牵引车和挂车看作两个独立的物体进行定义,并对挂车的纵向和横向运动分别进行了描述,引入了跑偏调整系数对换道时挂车的跑偏进行了描述,且挂车跑偏的描述仅仅需要基于跑偏调整系数,对牵引车的行驶数据进行调整获得,无需构建精细的动力学模型,采用相对简单的方式描述牵引车和挂车的运动,很好的平衡了换道时轨迹的真实性和计算效率问题,在运算简单的同时使得拖挂车的仿真效果更加真实。
54.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
55.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
56.图1为本技术实施例中的一种应用场景的一个可选的示意图;
57.图2为本技术实施例中的一种交通仿真方法的流程示意图;
58.图3为本技术实施例中的一种半挂卡车的运动姿态的示意图;
59.图4为本技术实施例中的一种微观交通仿真的跟驰和换道的示意图;
60.图5为本技术实施例中的一种低速下跑偏现象的示意图;
61.图6为本技术实施例中的一种高速下跑偏现象的示意图;
62.图7为本技术实施例中的一种拖挂车的换道轨迹示意图;
63.图8为本技术实施例中的一种拖挂车的示意图;
64.图9为本技术实施例中的一种挂车部分航向角的示意图;
65.图10为本技术实施例中的一种挂车横向速度调整的示意图;
66.图11为本技术实施例中的一种挂车横向位置关系的示意图;
67.图12为本技术实施例中的一种拖挂车更新速度的流程图;
68.图13为本技术实施例中的一种交通仿真装置的组成结构示意图;
69.图14为应用本技术实施例的一种电子设备的一个硬件组成结构示意图;
70.图15为应用本技术实施例的一种计算装置的一个硬件组成结构示意图。
具体实施方式
71.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方案保护的范围。
72.下面对本技术实施例中涉及的部分概念进行介绍。
73.牵引车和挂车:拖挂车是组合一个或多个车体,用来运送货物的卡车。前面有驱动能力的车头叫牵引车(也称拖车),后面没有牵引驱动能力的车叫挂车,挂车是被牵引车拖着走的。牵引车和挂车的连接方式有两种:第一种是挂车的前面一半搭在牵引车后段上面的牵引鞍座上,牵引车后面的桥承受挂车的一部分重量,这就是半挂;第二种是挂车的前端连在牵引车的后端,牵引车只提供向前的拉力,拖着挂车走,但不承受挂车的向下的重量,这就是全挂。全挂和半挂最明显的区别就是,全挂可以独立支撑站稳,而半挂必须要靠前面的支腿才能站住。常见的集装箱卡车就是典型的半挂卡车,后面装载部分就是半挂车。
74.行驶数据:用于描述车辆行驶过程、行驶状态等的数据,如加速度、速度、位置、航向角等;在车辆并非按照直线行驶时(如换道或者转弯)时,还可将速度进一步分为:横向速度、纵向速度,其中,横向是指与车辆行驶方向垂直的方向,纵向则是指车辆行驶方向。
75.跑偏现象:指挂车相当于牵引车所产生的轨迹偏移的现象,牵引车的横摆角速度和侧向速度会随着铰接点的传递增加,表现为拖车的横向运动幅值可能会大于牵引车的幅值,同时拖挂车在发生横向速度变化(如换道)时会发生跑偏(off-tracking)现象,即牵引
车不是按直线行驶时(如换道或者转弯),挂车的轨迹与牵引车的轨迹有所不同。
76.跑偏调整系数:在换道过程中,针对挂车相对于牵引车产生的跑偏现象使用的调整参数;基于该跑偏调整系数,可以对挂车的横向位移进行跑偏调整,以保证在同一时间下,挂车的横向位置始终比牵引车更靠近换道前的原有位置。
77.横向滞后时间:指车辆发生换道时,挂车相对于牵引车而言,产生横向速度的滞后时长。由于是牵引车提供动力,所以前面的牵引车会先产生了一个横向速度,拖挂车没有自主动力,因此只有在牵引车产生横向速度之后的td秒,才开始产生横向速度,这里定义这个滞后时间td即为横向滞后时间。
78.换道持续时间:指车辆发生换道时,从换道开始时刻到换道完成时刻之间经过的时间,即横向速度不为0的时间段的时长,如由当前车道的中心线,换行至目标车道的中心线所需的时间。
79.换道时间区间:一个车辆从当前车道换行至目标车道的过程是一个持续的过程,该过程所对应的时间段即为一个时间区间,也即该车辆对应的换道时间区间。对于挂车而言,每个挂车对应的换道时间区间则是指:相应挂车自换道开始至换道结束所对应的时间区间,如一个挂车从t1时刻开始换道,至t2时刻结束换道,则该挂车对应的换道时间区间即为[t1,t2]。
[0080]
车辆固有特征:指车辆自身所具有的属性,如车型、车体重量、车辆型号、性能、车长等。对于拖挂车而言,拖挂车包含牵引车和挂车,因而,车型包括但不限于牵引车车型、挂车车型,车体重量包括但不限于牵引车重量、挂车重量、拖挂车总重量,车辆型号、性能、车长等也是类似的道理。此外,牵引车和挂车之间还存在铰接点,当拖挂车包含多个挂车时,挂车与挂车之间也可存在铰接点等,这些铰接点的相关特性,也属于车辆固有特征。
[0081]
跟驰理论:也称跟驰算法,是运用动力学方法,探究在无法超车的单一车道上车辆列队行驶时,后车跟随前车的行驶状态,并且借助数学模式表达并加以分析阐明的一种理论。
[0082]
人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0083]
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、智能视频服务等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0084]
其中,自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,有着广泛的应用前景。并且,自动驾驶系统的开发都需要从仿真到实车测试的过程,基于自动驾驶仿真系统的仿真实验作为一种零风险、快速迭代、可复现的测试方法,为自动驾驶上路奠定了坚实的基础。
[0085]
本技术实施例提供的交通仿真方法可适用于地图、导航、自动驾驶、智能车辆控制、车联网、智能交通以及云计算等领域,如可适用于交通领域中的智慧交通系统
(intelligent traffic system,its)以及智能车路协同系统(intelligent vehicle infrastructure cooperative systems,ivics)。
[0086]
其中,智能交通系统又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。基于本技术实施例提供的交通仿真方法,可高效准确的完成对拖挂车进行微观交通仿真。
[0087]
其中,智能车路协同系统简称车路协同系统,是智能交通系统(its)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。基于本技术实施例提供的交通仿真方法,可为交通安全、车路协同提供技术支持。
[0088]
下面对本技术实施例的设计思想进行简要介绍:
[0089]
仿真技术是应用仿真硬件和仿真软件通过仿真实验,借助某些数值计算和问题求解,反映系统行为或过程的仿真模型技术。
[0090]
道路交通仿真是研究复杂交通问题的重要工具,尤其是当一个系统过于复杂,无法用简单抽象的数学模型描述时,交通仿真的作用就更为突出。交通仿真的目的是对相关系统或未来系统的交通运行状况进行再现或预先把握,从而对复杂的交通现象进行解释、分析、找出问题的症结,最终对所研究的交通系统进行优化,以建立尽可能反映现实交通系统运行的实际状况,建立的模型要便于逼真地模拟出现实路网中的各种实际交通行为。例如,出行前的出行规划与决策,出行过程中车辆的跟驰行驶,车道变化,超车或交叉口信号延误导致的路径变换等。通过交通方针可以清晰的辅助分析预测交通堵塞的地段和原因,对城市规划、交通工程、和交通管理的有关方案进行比较和评价,在问题成为现实以前,尽量避免,或有所准备。
[0091]
微观交通仿真对交通系统的要素及行为的细节描述程度最高。例如,微观交通仿真模型对交通流的描述是以单个车辆为基本单元的,车辆在道路上的跟车、超车及车道变换等微观行为都能得到较真实的反映。
[0092]
相关微观交通仿真中,或者按同一个刚体描述牵引车和挂车从而损失了真实性,或者用车辆动力学模型来分别描述运动行为从而降低了运算效率。因而,如何兼顾真实性和仿真效率成为了包含大量拖挂车的大规模仿真成功运行的关键。
[0093]
有鉴于此,本技术实施例提出了一种交通仿真方法、装置、电子设备、存储介质。由于本技术通过将牵引车和挂车看作两个独立的物体进行定义,并对挂车的纵向和横向运动分别进行了描述,引入了跑偏调整系数对换道时挂车的跑偏进行了描述,且挂车跑偏的描述仅仅需要基于跑偏调整系数,对牵引车的行驶数据进行调整获得,无需构建精细的动力学模型,采用相对简单的方式描述牵引车和挂车的运动,很好的平衡了换道时轨迹的真实性和计算效率问题,在运算简单的同时使得拖挂车的仿真效果更加真实。
[0094]
以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的
优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0095]
如图1所示,其为本技术实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
[0096]
在本技术实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有交通仿真相关的客户端,该客户端可以是软件(例如浏览器、仿真软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行交通仿真的服务器,本技术不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0097]
需要说明的是,本技术各实施例中的交通仿真方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。比如由终端设备110单独执行时,该终端设备110上可以安装仿真软件,该仿真软件可以是一种微观交通仿真软件。其中,本技术中的交通仿真方法所涉及到的逻辑算法嵌入在该仿真软件中,以实现通过该仿真软件按照该逻辑算法控制目标换道车辆的交通仿真,并通过仿真结果展示窗口展示仿真结果,具体地,可以以文字的形式显示仿真结果(如换道轨迹),或者,也可以是以动画的形式模拟出仿真结果进行展示等。
[0098]
又或者,由服务器120单独执行时,可以由服务器120直接按照本技术中的交通仿真方法所涉及到的逻辑算法控制目标换道车辆的交通仿真,并获得最终的仿真结果。此外,服务器120还可将该仿真结果发送给终端设备110进行展示,等等。
[0099]
其中,上述安装在终端设备110的仿真软件可以是微观仿真软件tad sim,如将本技术中的交通仿真方法所涉及到的逻辑算法,嵌入微观仿真软件tad sim中,用于对带拖挂车的交通车辆行为进行仿真。在每一个仿真步长中,需要对拖挂车进行速度更新时,采用本技术中的方法对挂车的横向和纵向运动进行描述。
[0100]
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
[0101]
在一种可选的实施方式中,通信网络是有线网络或无线网络。
[0102]
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本技术实施例中不做具体限定。
[0103]
本技术实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本技术实施例所公开的交通仿真方法,其中所涉及的仿真数据可保存于区块链上,例如,行驶数据、跑偏调整系数等。
[0104]
此外,本技术实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
[0105]
下面结合上述描述的应用场景,参考附图来描述本技术示例性实施方式提供的交
通仿真方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
[0106]
参阅图2所示,为本技术实施例提供的一种交通仿真方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下(s21-s23):
[0107]
s21:服务器确定待仿真的目标换道车辆,及目标换道车辆中牵引车的第一行驶数据,目标换道车辆还包括基于牵引车牵引的至少一个挂车。
[0108]
考虑到相关技术中,微观交通仿真中一般把小型车辆的车体看成为一个刚体(如近似成长方体),在计算横向和纵向速度、加速度等时可以把它当成一个质点来考虑,即车体的任意部分运动姿态一致而且不会发生形变。但拖挂车中牵引车和挂车通过挂钩或者牵引销等部件相连接,当存在横向速度时(如换道时),它们的运动姿态存在差异,如图3所示,其为本技术实施例中的一种半挂卡车的运动姿态的示意图,很显然,在拐弯换道时,牵引车和挂车的运动姿态存在差异,此时再将牵引车和挂车看作一个刚体来进行描述,则会损失真实性。
[0109]
因此,本技术中将牵引车和挂车视为不同的刚体分别考虑,例如,对于仅一辆牵引车和一辆挂车组成的拖挂车,可以分别用包含牵引车和挂车外轮廓的两个长方体型刚体来表示。对于一辆牵引车和多辆挂车组成的拖挂车,可以分别用包含牵引车和各个挂车外轮廓的多个长方体型刚体来表示。此外,本技术中暂时不考虑由绳子进行牵引挂车(如非专业车辆用绳子拖曳故障车)的情况。
[0110]
其中,目标换道车辆由一个牵引车,以及至少一个挂车组成。由于本技术中将牵引车和挂车视为不同的刚体分别考虑,对于牵引车和挂车的行驶数据,为了方便描述,以下将牵引车的行驶数据称为第一行驶数据,而将挂车的行驶数据称为第二行驶数据。
[0111]
需要说明的是,本技术实施例中的行驶数据,为用于描述车辆行驶过程、行驶状态等的数据,包括但不限于车辆在行驶过程中的速度、加速度、位置、航向角等。
[0112]
下面主要从行驶数据包括速度为例进行详细说明,当行驶数据包含除速度外的其他数据时,本技术实施例中的交通方针方法同样适用,在此不再一一赘述。
[0113]
一种可选的实施方式为,第一行驶数据包括第一横向速度和第一纵向速度;其中横向速度指与目标换道车辆行驶方向垂直的方向,纵向速度指目标换道车辆行驶方向。
[0114]
可选的,对于目标换道车辆中的牵引车,可通过下列方式确定牵引车的第一纵向速度:
[0115]
基于目标换道车辆在同向车道上前车的第三行驶数据,以及前车与目标换道车辆的车距,确定牵引车的第一纵向速度;同向车道为换道前的当前车道或换道后的目标车道。
[0116]
如图4所示,其为本技术实施例中的一种微观交通仿真的跟驰和换道的示意图。
[0117]
在本技术中,牵引车的纵向微观驾驶行为可由跟驰算法决定,即在每个仿真步长内,牵引车根据同向车道上前车的速度,和前车与本车的车距,来更新本车的纵向加速度、速度、位置等。下文是以更新纵向速度为例说明的:
[0118]
在图4中,对于目标换道车辆e(包含牵引车和挂车,图4只是简单示例),该车辆需要从当前车道换行至目标车道,在当前车道上,其前车为p,当前车道前车p与本车(即目标换道车辆e)的车距为g
p
;在目标车道上,其前车为tp,目标车道前车tp与本车的车距为g
tp
,后车为tr,目标车道前车tr与本车的车距为g
tr

[0119]
需要说明的是,在目标换道车辆e有换道意愿的前提下,它与目标车道内前车的距离g
tp
和后车的距离g
tr
均应大于一定的预设安全距离。在安全条件满足的情况下,才可执行换道操作。
[0120]
在本技术实施例中,在根据同向车道上前车的速度,和前车与本车的车距,来更新本车的纵向速度时,考虑到换道过程中,目标换道车辆的同向车道会发生变化,为了简化该过程,可将整个换道过程进行等分,将整个换道过程的前1/2时间段划分为前半部分,后1/2时间段划分为后半部分,基于此,可通过下列方式确定同向车道:
[0121]
在目标换道车辆由当前车道换行至目标车道的前半部分,以当前车道作为同向车道,对应的前车为当前车道前车p,因而可基于前车p的速度v
p
和对应的车距g
p
,来确定目标换道车辆e的纵向速度ve;在目标换道车辆由当前车道换行至目标车道的后半部分,以目标车道作为同向车道,对应的前车为目标车道前车tp,因而可基于前车tp的速度v
tp
和对应的车距g
tp
,来确定目标换道车辆e的纵向速度ve。
[0122]
需要说明的是,上述对换道过程进行划分的方式只是简单说明,具体地划分方式也可根据实际情况而定,如以目标换道车辆e的牵引车越过当前车道与目标车道边界线的时间点作为划分节点,将整个换道过程划分为前半部分和后半部分,等等,本文不做具体限定。
[0123]
可选的,对于目标换道车辆中的牵引车,可通过下列方式确定牵引车的第一横向速度:
[0124]
基于换道持续时间及换道距离,确定牵引车的第一横向速度。
[0125]
其中,换道持续时间指目标换道车辆发生换道时,从换道开始时刻到换道完成时刻之间经过的时间,即横向速度不为0的时间段的时长,如由当前车道的中心线,换行至目标车道的中心线所需的时间。
[0126]
换道距离为目标换道车辆由当前车道换行至目标车道的过程中,需要跨越的横向距离。具体来说,是指从换道开始时刻到换道完成时刻,目标换道车辆需要跨越的横向距离,如由当前车道的中心线,换行至目标车道的中心线时,当前车道的中心线至目标车道的中心线的横向距离。
[0127]
具体地,在本技术实施例中可以结合高阶多项式进行横向速度的确定,如通过确定五次多项式的系数,进而确定换道过程中每一时刻的横向速度,加速度和位置等。
[0128]
假设,换道初始时刻ta=0,用(q
d0
,v
d0
,a
d0
)来描述t=0时刻的在横向上的位置、速度和加速度,换道持续时间为t,用(q
dt
,v
dt
,a
dt
)来描述t=t时刻的在横向上的位置、速度和加速度,用h(一般为车道宽度)代表原车道中心线到目标车道中心线的距离,相应的,v
d0
=v
dt
=0,a
d0
=a
dt
=0,q
d0
=0,q
dt
=h。
[0129]
这样共有六个边界条件,相应的,可以采用五次多项式来描述车辆在横向上任一时刻t的位置qd=a0 a1t a2t2 a3t3 a4t4 a5t5,基于v
d0
=v
dt
=0,a
d0
=a
dt
=0,q
d0
=0,q
dt
=h可以求解出多项式系数a0、a1、a2、a3、a4和a5。
[0130]
a0=q
d0

[0131]
a1=v
d0

[0132]
a2=0.5a0;
[0133]
a3=1/2t3[20h-(8v
dt
12v
d0
)t-(3a
0-a1)t2;
[0134]
a4=1/2t4[-30h-(14v
dt
16v
d0
)t (3a
0-2a1)t2;
[0135]
a5=1/2t5[12h-6(v
dt
v
d0
)t (a
1-a0)t2。
[0136]
在得到多项式系数a0、a1、a2、a3、a4和a5之后,可以确定每个时刻目标换道车辆的横向位置;进一步的,基于该换道过程中的横向位置以及初始横向行驶数据和预设结束横向行驶数据中的横向速度,可以确定换道过程中的每一时时刻的横向速度。
[0137]
需要说明的是,上述实施例中所列举的结合五次多项式进行牵引车横向速度确定的方式只是举例说明,任何一种结合高阶多项式的方式都适用于本技术实施例,本文不做具体限定。
[0138]
在本技术实施例中,在牵引车考虑基于规则的换道时,它将把挂车和自身牵引车的长度一起考虑进来(即总车长)对安全距离等换道条件进行判断,如果满足各项条件,它将开始换道过程,即按换道持续时间和换道跨过的距离计算五次多项式的系数,更新横向速度。
[0139]
在确定牵引车的行驶数据后,即可参考该行驶数据,来确定该牵引车所牵引的各个挂车的行驶数据。
[0140]
s22:服务器分别基于至少一个挂车各自的换道时间区间,通过跑偏调整系数对第一行驶数据进行调整,获得至少一个挂车各自的第二行驶数据。
[0141]
其中,跑偏调整系数为:在换道过程中,针对挂车相对于牵引车产生的跑偏现象使用的调整参数。且,该跑偏调整系数为非负数,即可以为0,或者大于0小于预设参数的参数。如预设参数为1,则跑偏调整系数大于等于0,小于1。又如预设参数为1.01,则跑偏调整系数大于等于0,小于1.01;又如预设参数为0.99,则跑偏调整系数大于等于0,小于0.99。需要注意的是,本技术实施例中的预设参数为1或者接近于1的参数。
[0142]
下面首先对上述提到的跑偏现象进行详细说明:
[0143]
具体地,研究发现牵引车的横摆角速度和侧向速度会随着铰接点的传递增加,表现为拖车的横向运动幅值可能会大于牵引车的幅值。同时挂车在发生横向速度变化(如换道)时会发生off-tracking现象,即牵引车不是按直线行驶时(如换道或者转弯),挂车的轨迹与牵引车的轨迹有所不同。
[0144]
参阅图5所示,其为本技术实施例中的一种低速下跑偏现象的示意图。其中,目标换道车辆为拖挂车,该拖挂车在速度较低时,如时速为8km/h,挂车的轨迹(虚线)在牵引车的轨迹(实线)的内侧。
[0145]
参阅图6所示,其为本技术实施例中的一种高速下跑偏现象的示意图。该拖挂车在速度较高时,如时速为100km/h,挂车的轨迹(虚线)在牵引车的轨迹(实线)的外侧。
[0146]
在本技术实施例中,跑偏调整系数可通过如下任意一种方式确定:
[0147]
方式一、获取预先设置的跑偏调整系数。
[0148]
例如,对所有挂车都采用一个由用户事先预设的统一系数,作为跑偏调整系数,如0.5。
[0149]
方式二、基于目标换道车辆的车辆固有特征,确定跑偏调整系数。
[0150]
其中,车辆固有特征指车辆自身所具有的属性,如车型、车体重量、车辆型号、性能、车长等。对于拖挂车而言,拖挂车包含牵引车和挂车,因而,车型包括但不限于牵引车车型、挂车车型,车体重量包括但不限于牵引车重量、挂车重量、拖挂车总重量,车辆型号、性
能、车长等也是类似的道理。此外,牵引车和挂车之间还存在铰接点,当拖挂车包含多个挂车时,挂车与挂车之间也可存在铰接点等,这些铰接点的相关特性,也属于车辆固有特征。
[0151]
例如,可以根据车辆型号,性能,重量等确定跑偏调整系数。如车辆重量越大,对应的跑偏调整系数越小,又或者车辆性能越好,对应的跑偏调整系数越小,等等。
[0152]
此外,当选择不考虑横向偏移调整时,则此系数可以取为0。也即,当跑偏调整系数为0时,表示不考虑跑偏现象,仅需基于挂车对应的换道时间区间(也可理解为对应的横向滞后时间),对牵引车对应的第一行驶数据进行调整,即可获得挂车对应的第二行驶数据。
[0153]
需要说明的是,上述基于车辆固有特征确定跑偏调整系数的方式只是举例说明,本文对跑偏调整系数的具体形式和计算不加限定,任何一种确定跑偏调整系数的方式都适用于本技术实施例。
[0154]
考虑图5和图6所示的跑偏现象,一般车辆在换道时的横向速度不会很高,因此可以只按低速时来考虑挂车横向移动的轨迹,即在低速时挂车横向移动的轨迹在牵引车的轨迹内部。为了考虑这种现象,本技术引入(0,1)之间的浮点数跑偏调整系数α,作用于拖车的横向速度上,以使得拖车的轨迹保持在牵引车轨迹的内部,同时保证横向移动的距离还是依然是目标车道和当前车道(也称原车道)中心线距离之差(如果车道宽度相同,则为车道宽度)。
[0155]
此外,本技术还考虑到,当车辆发生换道时,由于是牵引车提供动力,所以前面的牵引车会先产生一个横向速度v
x0
(即第一横向速度),挂车由于没有自主动力,因此只有在牵引车产生横向速度之后的td秒,才开始产生横向速度,在本技术中定义这个滞后时间td即为横向滞后时间,也即一个挂车相对于牵引车,产生横向速度的滞后时长。
[0156]
参阅图7所示,其为本技术实施例中的一种拖挂车的换道轨迹示意图。结合上述所提到的横向速度的滞后,由此可以得出拖挂车刚体质点的换道轨迹(“s”型曲线)如图7所示,即挂车的轨迹和牵引车的轨迹相同,但横向速度上比牵引车滞后td时间。
[0157]
可选的,该横向滞后时间也可基于目标换道车辆的车辆固有特征确定。如可以与车型,车体重量,铰接点等都有关系。其中,车型包括但不限于牵引车的车型、挂车的车型,车体重量包括但不限于牵引车的重量、挂车的重量、牵引车和挂车的总重量、多个挂车的总重量等,铰接点包括但不限于牵引车与挂车的铰接点、挂车与挂车的铰接点等。如挂车的重量越大,对应的横向滞后时间越大,又如挂车的长度越长,对应的横向滞后时间越大等等。
[0158]
此外,当目标换道车辆包含多个挂车时,每个挂车的对应的横向滞后时间,与该挂车与牵引车的距离呈正相关。也即一个挂车与用于牵引该挂车的牵引车之间的距离越远,则该挂车对应的横向滞后时间也就越大,距离越近,则该挂车对应的横向滞后时间也就越小。
[0159]
如一台牵引车后面依次在纵向上挂接有多部挂车,如图8所示,其为本技术实施例中的一种拖挂车的示意图,该拖挂车包括一台牵引车,以及该牵引车后依次纵向挂接的多部挂车。这些挂车各自对应的横向滞后时间则不相同,如第一辆挂车滞后1秒,第二辆挂车滞后1.6秒等。
[0160]
需要说明的是,上述所列举的横向滞后时间的确定只是举例说明,任何一种横向滞后时间的确定方式都适用于本技术实施例,在此不再一一赘述。
[0161]
在本技术实施例中,由于每个挂车都有各自相对于牵引车的横向滞后时间,基于
此,每个挂车开始换道的时间则不相同,相应结束换单的时间也不相同,因而,每个挂车都有各自对应的换道时间区间。具体的,每个挂车对应的换道时间区间指:相应挂车自换道开始至换道结束所对应的时间区间;如,一个挂车从t1时刻开始换道,至t2时刻结束换道,则该挂车对应的换道时间区间即为[t1,t2]。
[0162]
在一种可选的实施方式中,每个挂车对应的换道时间区间是通过下列方式确定:
[0163]
首先,获取牵引车对应的换道持续时间,以及换道开始时刻,如预配置的换道持续时间t及换道开始时刻ta;进而,基于换道持续时间和换道开始时刻,可确定相应的换道结束时刻tb(tb=ta t);此时确定的换道开始时刻和换道结束时刻是针对牵引车而言的,基于上述内容可知,每个挂车相对于牵引车而言,都会产生一定的横向滞后时间,因而,在确定一个挂车的换道时间区间时,则需要基于该挂车对应的横向滞后时间以及换道开始时刻,确定换道时间区间的左边界,即左边界为ta td,及基于该挂车对应的横向滞后时间以及换道结束时刻,确定换道时间区间的右边界,即右边界为tb td。
[0164]
对于目标换道车辆包含多个挂车时,不同的挂车对应的横向滞后时间td不同,基于此,各自对应的换道时间区间也不相同。
[0165]
s23:服务器分别基于各个第二行驶数据,更新各个挂车各自的换道轨迹。
[0166]
在本技术实施例中,基于上述方式获得各个挂车各自的行驶数据(即第二行驶数据)之后,即可对相应挂车的换道轨迹进行仿真。
[0167]
一种可选的实施方式为,在第二行驶数据包括第二横向速度和第二纵向速度的情况下,可基于这些速度数据进行下述处理,以更新换道轨迹。具体地,对于每个挂车分别执行以下操作:
[0168]
对于一个挂车,将该挂车的第二横向速度和第二纵向速度进行矢量合成,确定该挂车的航向角;进而,基于该航向角,对该挂车的行驶姿态进行调整,并基于调整结果更新该挂车的换道轨迹。
[0169]
由于本技术中,对于拖挂车的微观交通仿真,是将牵引车看作一个长方形刚体,将每个挂车各自看作一个长方形刚体,在挂车更新完纵向和横向速度之后,代表挂车的长方体刚体的朝向角(即挂车的航向角)根据纵向和横向速度进行矢量合成来共同确定。
[0170]
如图9所示,其为本技术实施例中的一种挂车部分航向角的示意图。在图9示例性说明了通过横向速度和纵向速度的矢量合成,来确定挂车航向角的过程,其中,该挂车的第二横向速度为v
x1
,第二纵向速度为v
y1
,图9中的长方形刚体即表示该挂车。
[0171]
在本技术实施例中,通过上述方式调整挂车的行驶姿态后,即可在此基础上继续更新该挂车的换道轨迹。
[0172]
需要说明的是,上述仅是以拖挂车包含一个挂车为例举例说明的,当存在多个挂车时,每个挂车都可单独看作一个刚体,具体更新方式同上述过程类似,重复之处不再赘述。
[0173]
此外,交通仿真过程可循环迭代,即每隔一定时长进行一次更新,每次循环迭代即可对应一个仿真步长。其中,仿真步长表示一次仿真迭代的时长。
[0174]
本技术实施例中的交通仿真方法还可表征一次循环迭代过程中的更新过程,如确定当前仿真步长下待仿真的目标换道车辆,及目标换道车辆中的牵引车在当前仿真步长下的第一行驶数据;进而,分别基于至少一个挂车各自的换道时间区间,通过跑偏调整系数对
第一行驶数据进行调整,获得至少一个挂车在当前仿真步长下各自的第二行驶数据;最后,分别基于各个第二行驶数据,更新当前仿真步长下,各个挂车各自的换道轨迹。
[0175]
在本技术实施例中,通过将牵引车和挂车看作两个独立的物体进行定义,并对挂车的纵向和横向运动分别进行了描述,引入了跑偏调整系数对换道时挂车的跑偏进行了描述,且挂车跑偏的描述仅仅需要基于跑偏调整系数,对牵引车的行驶数据进行调整获得,无需构建精细的动力学模型,采用相对简单的方式描述牵引车和挂车的运动,很好的平衡了换道时轨迹的真实性和计算效率问题,在运算简单的同时使得拖挂车的仿真效果更加真实。
[0176]
下面对基于牵引车对挂车进行速度更新的过程进行详细说明:
[0177]
考虑到挂车的具体运动轨迹一般和牵引车、拖车后轴距,牵引车质量等都有关,而且需要引入卡车动力学模型才能求解,频繁调用动力学模型会造成运算效率低下,不利于大规模交通仿真的高效运行。因此本技术中引入了一种比较容易实现的计算方法,可以在尽量不影响交通仿真所考虑的因素外,以较高的效率计算拖挂车的换道轨迹。
[0178]
下面主要以目标换道车辆包括一个牵引车和一个挂车为例:
[0179]
在交通仿真中,车辆在纵向运动上遵循某种跟驰(或者跟车)模型算法,即只对它前面车辆(路程时间(st)坐标系下)的纵向速度位置等进行反应,而不对在相邻车道侧向行驶的车进行反应,除非在进行换道判断。当车辆正常纵向行驶(沿车道中心线,未换道)在曲率不为零的道路上(如弯道)时,由于牵引车和挂车的车头始终保持在车道内(即假设不会出现挂车部分由于牵引车转弯而驶出本车道的现象,即车辆车体的所有部分一直处于本车道内),因此在车辆未换道的情况下,可以不考虑挂车在横向上的跑偏现象。即只考虑挂车在纵向上的速度始终与牵引车相同,而横向的速度始终比牵引车滞后一个td时间。在此种假设下,挂车在纵向上的速度与只受跟驰算法控制的牵引车保持一致,而挂车后面的车辆也只会对挂车和牵引车的纵向速度和位置进行反应,因此忽略跑偏的影响不会影响车辆在纵向上的跟驰。
[0180]
在牵引车和挂车一起换道的过程中,本技术实施例中假设车辆都是从本车道的中心线换至目标车道的中心线,所经过的时间为换道持续时间t。则两车的纵向速度始终保持一致,而横向运动所跨越的距离是同样的。如果牵引车从ta时刻开始换道,则它处于换道过程(即横向速度不为0的时间段)的时间为[ta,ta t],由于挂车比牵引车滞后td,所以对于的挂车来说,它处于换道过程的时间为[ta td,ta t td],定义此为挂车的换道时间区间。
[0181]
在一种可选的实施方式中,拖挂车和牵引车通过挂钩或者牵引销连接,所以本技术中认为拖挂车的纵向速度和牵引车始终保持一致,也即将各个挂车的第二纵向速度,均调整为牵引车的第一纵向速度一致。当一台牵引车后面依次在纵向上挂接有多部挂车时,这多部挂车的纵向速度均和牵引车保持一致。
[0182]
而对于横向速度,假设v
x0
(t)和v
x1
(t)分别是牵引车和挂车在t时刻的横向速度,具体可分为以下两种情况:
[0183]
在不考虑跑偏现象时,也即跑偏调整系数为0时,对于任意时刻t,挂车的横向速度v
x1
(t)=v
x0
(t-td),即挂车的横向速度需要跟随td之前的牵引车横向速度。
[0184]
在考虑图5中的跑偏现象时,一种可选的实施方式为,对于每个挂车,分别执行以下操作:
[0185]
对于一个挂车,在计算该挂车在某一时刻的速度时,首先需要判断该挂车是否处于自身对应的换道时间区间,基于判断结果分情况讨论,具体分为如下两种情况:
[0186]
情况一、若该挂车在当前时刻不处于自身对应的换道时间区间,则确定该挂车在当前时刻的第二横向速度为零。
[0187]
如挂车a对应的换道时间区间为[t1,t2],当前时刻为t3,t3《t1,即不处于该换道时间区间内,因而,在该时刻挂车a的横向速度(也称第二横向速度)可设置为0。
[0188]
情况二、若该挂车在当前时刻处于自身对应的换道时间区间,则通过跑偏调整系数对牵引车的第一横向速度进行调整,以获得该挂车在当前时刻的第二横向速度。
[0189]
仍以上述挂车a为例,若当前时刻为t4,t1《t4《t2,处于该换道时间区间内,因而,需要基于跑偏调整系数对牵引车的第一横向速度进行调整,以获得该时刻挂车a的横向速度(也称第二横向速度)。
[0190]
在上述实施方式中,通过换道时间区间的判断,即可简单区分该挂车是否产生横向速度,以确定不同的计算方式,简单便捷,可有效提高计算效率及仿真运行效率。
[0191]
可选的,考虑到挂车横向速度的产生相较于牵引车较晚,因而,在通过跑偏调整系数对牵引车的第一横向速度进行调整,以获得该挂车在当前时刻的第二横向速度时,具体过程如下:
[0192]
参阅图10所示,其为本技术实施例中的一种挂车横向速度调整的示意图。假设换道持续时间为t,对于牵引车而言,在五次多项式所定义的横向换道位置计算中,以换道开始时刻ta=0为例,在换道时间t=t/2时,横向速度达到最大值。例如,假设换道持续时间t=4秒,换道距离=车道宽度=4.5米,td=1秒,则牵引车换道时的横向速度如图10实线所示,在第2秒时,牵引车换道时的横向速度达到最大值。
[0193]
在该示例中,与牵引车的横向速度相比,挂车的横向速度除了在时间上有td的滞后之外,在幅度上也进行了分段调整(此处的t=0从挂车横向速度不为0开始计算,也即对于挂车而言,图10中的虚线是向左平移了td时间(即1秒)得到的)。
[0194]
基于上述分析,一种可选的实施方式为:
[0195]
基于临界点将挂车对应的换道时间划分为第一换道时间子区间和第二换道时间子区间;其中,该临界点为挂车达到最大横向速度的时间,相对于牵引车而言,该临界点也存在td时间的滞后。
[0196]
在此基础上,通过跑偏调整系数对牵引车的第一横向速度进行调整,获得该挂车的第二横向速度时,可分为如下两个过程:
[0197]
过程一、若一个挂车处于第一换道时间子区间,则基于跑偏调整系数对第一横向速度进行减速调整,获得一个挂车的第二横向速度。
[0198]
也即,基于该跑偏调整系数,将牵引车在t-td时刻的第一横向速度进行下调,以获得该挂车在t时刻的第二横向速度。
[0199]
可选的,可将预设参数与跑偏调整系数之差,作为减速系数;进而,基于牵引车在t-td时刻的第一横向速度,与减速系数,确定该挂车在t时刻的第二横向速度,其中,t为当前时刻,td为一个挂车对应的横向滞后时间。
[0200]
以跑偏调整系数记作α为例,假设α大于0小于1,预设参数为1,则一种第二横向速度的计算公式如下:
[0201]
在t∈[ta td,ta t/2 td]时,v
x1
(t)=(1-α)
·vx0
(t-td)。
[0202]
其中,ta为牵引车对应的换道开始时刻,t为相应的换道持续时间。
[0203]
过程二、若一个挂车处于第二换道时间子区间,则基于跑偏调整系数对第一横向速度进行增速调整,获得一个挂车的第二横向速度。
[0204]
也即,基于该跑偏调整系数,将牵引车在t-td时刻的第一横向速度进行上调,以获得该挂车在t时刻的第二横向速度。
[0205]
可选的,可将预设参数与跑偏调整系数之和,作为增速系数;进而,基于牵引车在t-td时刻的第一横向速度,与增速系数,确定一个挂车在t时刻的第二横向速度。
[0206]
仍以跑偏调整系数记作α为例,假设α大于0小于1,预设参数为1,则一种第二横向速度的计算公式如下:
[0207]
在t∈(ta t/2 td,ta t td]时,v
x1
(t)=(1 α)
·vx0
(t-td)。
[0208]
也即在到达最大横向速度前,对牵引车的第一横向速度的幅度进行相应的减小调整,在到达最大横向速度后,对其进行相应的增速调整。
[0209]
需要说明的是,为了清楚展示速度幅度调整的效果,图10为将时间坐标轴平移(将挂车的速度曲线向左平移td=1秒)之后,挂车横向速度调整示意图(假设换道持续时间t=4秒,车道宽度=4.5米,td=1秒),虚线为将原速度按时间轴平移之后的挂车横向虚拟速度,实线为在调整跑偏之前它需要跟上的牵引车速度。可见在2秒前,虚线在实线之下,代表挂车横向速度比牵引车对应时间的速度低,反之在2秒后,则变高。
[0210]
在此例子中,挂车和牵引车的横向的位置关系如图11所示,其为本技术实施例中的一种挂车横向位置关系的示意图。在图11中,纵坐标为从横向上看与当前车道中心线的距离(st坐标系下),实线为牵引车随时间变化的横向位置,细虚线为挂车的横向位置,两者之间在未进行跑偏调整前应只相差一个时间滞后td=1秒,为了清楚显示两者幅度的关系,将细虚线向左平移td=1秒后变为粗虚线与粗实线做对比,经过跑偏调整之后的粗虚线始终在粗实线之下,即在同一个“时间”下,挂车的横向位移始终比牵引车的横向位移小,即挂车的横向位置始终比牵引车更靠近换道前的原有位置,表明挂车的轨迹在换道的全过程中始终在牵引车轨迹之内,和低速情况下跑偏的情况相符。
[0211]
综上,本技术首先分别按不同的刚体来模拟牵引车和挂车,并对挂车的纵向和横向运动分别进行了描述,引入了跑偏调整系数对换道时挂车的横向跑偏进行了描述,采用相对简单的方式描述它们的运动,很好的平衡了换道时轨迹的真实性和计算效率问题,在保证计算效率的同时,保证了仿真车辆运动的真实性,从而同时提升了大规模仿真的运行效率和真实性。
[0212]
参阅图12所示,其为本技术实施例中的一种拖挂车更新速度的流程图。以对多个拖挂车进行交通仿真,每个拖挂车仅包括一个挂车为例,该方法的具体实施流程如下:
[0213]
s1201:准备更新拖挂车的速度;
[0214]
s1202:判断在当前仿真时刻是否已遍历所有拖挂车,如果是,则执行步骤s1211,否则,执行步骤s1203;
[0215]
s1203:选定一辆还未被下面流程遍历过的拖挂车,并更新牵引车的纵向和横向速度;
[0216]
s1204:更新挂车的纵向速度和它的牵引车保持一致;
[0217]
s1205:判断挂车是否处于换道时间区间内,如果是,则执行步骤s1206,否则,执行步骤s1207;
[0218]
s1206:判断是否处于换道时间区间的前t/2(即是否处于第一换道时间子区间),如果是,则执行步骤s1208,否则,执行步骤s1209;
[0219]
s1207:横向速度为0;
[0220]
s1208:通过跑偏调整系数进行减速调整;
[0221]
s1209:通过跑偏调整系数进行增速调整;
[0222]
s1210:根据横向和纵向速度更新挂车朝向角;
[0223]
s1211:继续其他仿真模块;
[0224]
s1212:判断仿真时间是否已到,如果是,则执行步骤s1213,否则,执行步骤s1214;
[0225]
s1213:仿真结束;
[0226]
s1214:仿真时钟继续推进。
[0227]
在交通仿真过程中,可基于交通仿真模型来实现,在交通仿真模型正式运行之前,需要对数据和出行者的计划进行初始化,之后进入循环迭代过程。每次循环迭代即可对应一个仿真步长。
[0228]
上述流程表示,在一个仿真步长中,在轮到此拖挂车更新时,首先在纵向上对牵引车应用跟驰模型,即根据它前车的速度位置等更新纵向速度,挂车的纵向速度也和牵引车保持一致。在牵引车考虑基于规则的换道时,它将把挂车和自身牵引车的长度一起考虑进来(即总车长)对安全距离等换道条件进行判断,如果满足各项条件,它将开始换道过程,即按换道持续时间和换道跨过的距离计算五次多项式的系数,更新横向速度。挂车则根据它自身是否处于换道时间区间,以及是否处于区间的前半段还是后半段,来相应的进行速度的调整。在纵向和横向速度都更新完之后,根据矢量合成的结果对挂车的姿态进行相应调整。
[0229]
当遍历完所有的挂车后,可以继续运行仿真的其他模块。对于仿真的其他模块,此处不加限定,例如更新车辆的位置等。在此步长内各模块更新完毕后,继续推进仿真时钟。
[0230]
当仿真运行时间结束时,可以终止整个模块,此处不加限定,只着重挂车速度的更新过程。
[0231]
基于相同的发明构思,本技术实施例还提供一种交通仿真装置。如图13所示,其为交通仿真装置1300的结构示意图,可以包括:
[0232]
确定单元1301,用于确定待仿真的目标换道车辆,及目标换道车辆中牵引车的第一行驶数据,目标换道车辆还包括基于牵引车牵引的至少一个挂车;
[0233]
调整单元1302,用于分别基于至少一个挂车各自的换道时间区间,通过跑偏调整系数对第一行驶数据进行调整,获得至少一个挂车各自的第二行驶数据;跑偏调整系数为:在换道过程中,针对挂车相对于牵引车产生的跑偏现象使用的调整参数,换道时间区间为相应挂车自换道开始至换道结束所对应的时间区间;
[0234]
更新单元1303,用于分别基于各个第二行驶数据,更新各个挂车各自的换道轨迹。
[0235]
可选的,第一行驶数据包括第一横向速度和第一纵向速度;第二行驶数据包括第二横向速度和第二纵向速度;
[0236]
调整单元1302具体用于:
[0237]
对于每个挂车,分别执行以下操作:
[0238]
将一个挂车的第二纵向速度,调整为牵引车的第一纵向速度;
[0239]
若一个挂车处于自身对应的换道时间区间,则通过跑偏调整系数对牵引车的第一横向速度进行调整,获得一个挂车的第二横向速度。
[0240]
可选的,调整单元1302还用于:
[0241]
若一个挂车不处于自身对应的换道时间区间,则确定一个挂车的第二横向速度为零。
[0242]
可选的,换道时间区间包括:基于临界点划分得到的第一换道时间子区间和第二换道时间子区间;临界点为一个挂车达到最大横向速度的时间;
[0243]
调整单元1302具体用于:
[0244]
若一个挂车处于第一换道时间子区间,则基于跑偏调整系数对第一横向速度进行减速调整,获得一个挂车的第二横向速度;
[0245]
若一个挂车处于第二换道时间子区间,则基于跑偏调整系数对第一横向速度进行增速调整,获得一个挂车的第二横向速度。
[0246]
可选的,调整单元1302具体用于:
[0247]
将预设参数与跑偏调整系数之差,作为减速系数;预设参数大于跑偏调整系数;
[0248]
基于牵引车在t-td时刻的第一横向速度,与减速系数,确定一个挂车在t时刻的第二横向速度,其中,t为当前时刻,td为一个挂车对应的横向滞后时间;横向滞后时间为一个挂车相对于牵引车,产生横向速度的滞后时长。
[0249]
可选的,调整单元1302具体用于:
[0250]
将预设参数与跑偏调整系数之和,作为增速系数;预设参数大于跑偏调整系数;
[0251]
基于牵引车在t-td时刻的第一横向速度,与增速系数,确定一个挂车在t时刻的第二横向速度,其中,t为当前时刻,td为一个挂车对应的横向滞后时间;横向滞后时间为一个挂车相对于牵引车,产生横向速度的滞后时长。
[0252]
可选的,调整单元1302还用于通过下列方式确定每个挂车对应的换道时间区间:
[0253]
获取牵引车对应的换道持续时间,以及换道开始时刻;
[0254]
基于换道持续时间和换道开始时刻,确定相应的换道结束时刻;
[0255]
基于一个挂车对应的横向滞后时间以及换道开始时刻,确定换道时间区间的左边界,及基于一个挂车对应的横向滞后时间以及换道结束时刻,确定换道时间区间的右边界;横向滞后时间为一个挂车相对于牵引车,产生横向速度的滞后时长。
[0256]
可选的,横向滞后时间是基于目标换道车辆的车辆固有特征确定的;对于一个挂车,一个挂车的对应的横向滞后时间,与一个挂车与牵引车的距离呈正相关。
[0257]
可选的,第一行驶数据包括第一横向速度和第一纵向速度;
[0258]
确定单元1301具体用于通过下列方式确定牵引车的第一行驶数据:
[0259]
基于目标换道车辆在同向车道上前车的第三行驶数据,以及前车与目标换道车辆的车距,确定牵引车的第一纵向速度;同向车道为换道前的当前车道或换道后的目标车道;
[0260]
基于换道持续时间及换道距离,确定牵引车的第一横向速度,换道距离为目标换道车辆由当前车道换行至目标车道的过程中,需要跨越的横向距离。
[0261]
可选的,跑偏调整系数是通过如下任意一种方式确定的:
[0262]
获取预先设置的跑偏调整系数;
[0263]
基于目标换道车辆的车辆固有特征,确定跑偏调整系数。
[0264]
可选的,第二行驶数据包括第二横向速度和第二纵向速度;
[0265]
更新单元1303具体用于:
[0266]
对于每个挂车分别执行以下操作:
[0267]
对于一个挂车,将一个挂车的第二横向速度和第二纵向速度进行矢量合成,确定一个挂车的航向角;
[0268]
基于航向角,对一个挂车的行驶姿态进行调整,并基于调整结果更新一个挂车的换道轨迹。
[0269]
由于本技术通过将牵引车和挂车看作两个独立的物体进行定义,并对挂车的纵向和横向运动分别进行了描述,引入了跑偏调整系数对换道时挂车的跑偏进行了描述,且挂车跑偏的描述仅仅需要基于跑偏调整系数,对牵引车的行驶数据进行调整获得,无需构建精细的动力学模型,采用相对简单的方式描述牵引车和挂车的运动,很好的平衡了换道时轨迹的真实性和计算效率问题,在运算简单的同时使得拖挂车的仿真效果更加真实。
[0270]
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0271]
在介绍了本技术示例性实施方式的交通仿真方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的电子设备。
[0272]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0273]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在该实施例中,电子设备的结构可以如图14所示,包括存储器1401,通讯模块1403以及一个或多个处理器1402。
[0274]
存储器1401,用于存储处理器1402执行的计算机程序。存储器1401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0275]
存储器1401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1401也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器1401是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1401可以是上述存储器的组合。
[0276]
处理器1402,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器1402,用于调用存储器1401中存储的计算机程序时实现上述交通仿真方法。
[0277]
通讯模块1403用于与终端设备和其他服务器进行通信。
[0278]
本技术实施例中不限定上述存储器1401、通讯模块1403和处理器1402之间的具体
连接介质。本技术实施例在图14中以存储器1401和处理器1402之间通过总线1404连接,总线1404在图14中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1404可以分为地址总线、数据总线、控制总线等。为便于描述,图14中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
[0279]
存储器1401中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的交通仿真方法。处理器1402用于执行上述的交通仿真方法,如图2所示。
[0280]
下面参照图15来描述根据本技术的这种实施方式的计算装置150。图15的计算装置150仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0281]
如图15,计算装置150以通用计算装置的形式表现。计算装置150的组件可以包括但不限于:上述至少一个处理单元151、上述至少一个存储单元152、连接不同系统组件(包括存储单元152和处理单元151)的总线153。
[0282]
总线153表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0283]
存储单元152可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1521和/或高速缓存存储单元1522,还可以进一步包括只读存储器(rom)1523。
[0284]
存储单元152还可以包括具有一组(至少一个)程序模块1524的程序/实用工具1525,这样的程序模块1524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0285]
计算装置150也可以与一个或多个外部设备154(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置150交互的设备通信,和/或与使得该计算装置150能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口155进行。并且,计算装置150还可以通过网络适配器156与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器156通过总线153与用于计算装置150的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置150使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0286]
在一些可能的实施方式中,本技术提供的交通仿真方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本技术各种示例性实施方式的交通仿真方法中的步骤,例如,电子设备可以执行如图2中所示的步骤。
[0287]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0288]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包
括计算机程序,并可以在电子设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0289]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0290]
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0291]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
[0292]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0293]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0294]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0295]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0296]
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命
令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0297]
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0298]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0299]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献