V2X仿真测试轨迹数据生成方法研究

2022-12-28 03:16李明明王吟松盛鑫
时代汽车 2022年23期
关键词:点数单向分段

李明明 王吟松 盛鑫

星觅(上海)科技有限公司 上海市 201804

1 引言

V2X技术将“人、车、路、云”等交通参与要素有机地联系在一起,不仅可以支撑车辆获得比单车感知更多的信息,促进自动驾驶技术创新和应用;还有利于构建一个智慧的交通体系,促进汽车和交通服务的新模式新业态发展。在国家的发展战略[1]、各部委的建设指南[2-3]以及产业的发展[4]指导下,V2X的各项标准也逐步完善并发布,V2X行业得以蓬勃发展。

随之而来的V2X测试需求也越来越多,鉴于实车测试诸多问题,仿真测试的重要性日益凸显。有一些学者或研究机构,提出基于PreScan或CarMaker在Simulink中搭 建车辆模型的V2X硬件在环仿真测试系统方案,以及根据实际测试场景选择能够反映车辆移动特性的车辆移动模型来进行V2X的仿真测试。整体来说当前生成V2X仿真测试所需的数据对其他软件具有一定的依赖性,且操作复杂,所需技术门槛高,并忽略了道路的实际线形对车辆动力学的影响;或者具有一定的局限性,仅能模拟一些轨迹下的V2X数据信息。

本文在考虑实际道路线形规律的前提下,并结合车辆动力学特性,提出基于Bezier曲线的V2X仿真测试轨迹数据生成方法。在保证高效生成模拟车辆行驶轨迹数据的前提下,无依赖性、且符合车辆在真实环境下的运动状态及特点。最后,通过软件封装及界面设计,形成可视化且易操作的界面型V2X测试数据生成软件,大大降低操作复杂度及使用的门槛,有助于V2X仿真测试的快速开展,推动V2X的快速发展及大规模落地。

2 V2X仿真测试轨迹数据生成过程及应用

本V2X仿真测试轨迹数据生成方法是基于经纬度点信息以及道路线形的特点进行分段轨迹拟合,并在相邻两段连接处通过Bezier曲线的应用,使得整个曲线的拟合符合车辆的实际行驶特性。再根据所需仿真的场景并根据V2X的车辆基本安全消息(Basic Safety Message,BSM)内容进行车辆运行状态及车辆操作信息的设置,最终生成可用于仿真测试V2X场景的模拟数据。本V2X仿真测试轨迹数据生成方法流程如图1所示。

图1 V2X仿真测试轨迹数据生成方法流程图

本文的核心内容在于分段轨迹拟合、Bezier的应用确保分段轨迹连接处的平顺性以及基于车辆运动状态特性设计车辆行驶状态并输出车辆行驶状态数据。车辆行驶轨迹点的获取可通过采集实车的行驶轨迹或地图上拾取一系列点实现;经纬度坐标转平面坐标,是为降低算法的复杂度做准备;最终的平面坐标转经纬度坐标,为满足BSM消息中的坐标数据格式。

2.1 分段拟合轨迹

对整段轨迹进行拟合,会出现轨迹点与拟合曲线间存在较大偏差问题。本文采用分段拟合的方案解决此问题。

2.1.1 选取单次拟合点

从参与拟合的第一个点开始查找沿X和Y方向上的单向最大点数,如图2所示,具体实现如下:

图2 单向最大点数示意图

(1)散点A-L进行描述单向最大点数,如图2所示,单向点数算法如下:

若N_1_x(/y)≥N_2_x(/y),则计算 满 足N_i_x(/y)≥N_i+1_x(/y)的i最大值,i∈[2,n];

若N_1_x(/y)≤N_2_x(/y),则计算 满 足N_i_x(/y)≤N_i+1_x(/y)的i最大值,i∈[2,n];

x(/y)方向的单向最大点数max_direc_x(/y)=i+1。

(2)由图中散点的分布情况,可知散点坐标情况如下:

A_x<B_x<C_x<D_x<E_x<F_x<G_x<H_x<I_x<J_x>K_x>L_x;

A_y<B_y<C_y<D_y>E_y<F_y<G_y<H_y<I_y<J_y<K_y>L_y;

(3)在X方向上A->J 10个点的坐标值是单向变化的,故max_direc_x=10;同理,max_direc_y=4;故max_direc=max(max_direc_x,max_direc_y)=10。

2.1.2 单向最大点数的函数拟合

根据实际道路设计原理,设定拟合函数的阶次不超过4阶,选取出满足设定偏差且点数最多的拟合。如图3所示,具体实现如下:

图3 单向最大点数拟合示意图

(1)以2.1.1中求出的单向最大点数max_direc即A-J点进行拟合;

(2)逐个增加点数,进行1-4阶的轨迹拟合,如图3中灰色线、绿色线、橙色线和蓝色线分别为1、2、3和4阶拟合曲线;

(3)计算拟合点与拟合轨迹的差值,如图3的蓝虚线,并选取最大差值≤可接受的偏差值且参与拟合点数最多的拟合,如图3中橙色A-G点的3阶拟合。

2.1.3 完成分段拟合

从上次拟合轨迹最后一个点的下一个点开始,重复2.1.1和2.1.2中的步骤,直至所有点均参与了拟合。如图4所示,具体实现如下:

图4 轨迹拟合起点选取及结束拟合条件

(1)图4中G点为上段拟合结束点,其下一个点H作为本段拟合的起始点;

(2)循环小节2.1.1,即Y方向的单向最大点为H-L max_direc_y=5个点;故单向最大点数max_direc = max_direc_y=5,且自变量坐标为Y轴;

(3)循 环 小 节2.1.2,对H-L 5个 沿Y方向的单向变化点进行轨迹拟合;

(4)直至最后一个点L或倒数第二个点K已经参与拟合,则分段拟合完成。

2.2 Bezier曲线连接分段的拟合

应用三阶Bezier对相邻两段拟合轨迹的连接处进行连接,保障相邻两段拟合轨迹的连续可导性。如图5所示,具体实现如下:

图5 三阶Bezier曲线4个定点选取示意图

(1)选取前段拟合曲线L1的终点B作为Bezier曲线的第一个定点,后一段曲线L2的起点C作为Bezier曲线的第四个定点;

(2)做辅助射线BE和FJ,BE为与L1曲线相切于B点的射线,方向为轨迹的驶向;同理FJ为与L2曲线相切于C点的射线,方向为轨迹的驶向;

(3)自B点起在BE射线的方向上选取一点E作为Bezier的第二个定点;

(4)自C点起向FJ射线的反方向上选取一点F,作为Bezier的第三个定点;

(5)根据B点坐标(X_B,Y_B),E点坐标(X_E,Y_E),F点坐标(X_F,Y_F)以及C点坐标(X_C,Y_C),求得Bezier曲线的方程为:

其中,t∈[0,1]

(6)计算Bezier曲线的起点到终点的弦长Lchord(直线长度)和弧长Larc,并将(弧长-弦长)/弦长的值Real_rate与可接受偏差Accept_rate进行比较;

(7)若Real_rate小于Accept_rate,则接受此Bezier曲线作为前后两段轨迹的连接曲线。若Real_rate大于Accept_rate时,则调整Bezier第二点和第三点位置,调整方法为逐渐缩短第一点和第二点以及第三点和第四点之间的距离。

2.3 生成车辆行驶状态数据

根据设定的初始速度以及分段行驶状态,输出以设定频率的与实际行车数据相符的车辆坐标(平面坐标)、速度、加速度、航向角、横摆角速度等车辆行驶状态数据。如图6所示,具体实现如下:

图6 车辆行驶状态数据示意图

(1)计算车辆行驶轨迹点的坐标:S=V0*t+0.5*a*t2;V=V0+a*t;

其中:V0为车辆初速度;V为当前车速,a为车辆加速度,t为时间,S为车辆当前累计行驶路程。

根据曲线长度计算公式,求轨迹点的平面坐标(bx,by);

(2)如图6中假设点a(绿色点)为上一帧轨迹点的位置,b(红色点)为当前轨迹点的位置,则当前位置的行驶状态参数:

航向角为:γ(黄色虚线所示角度);横摆角速度为:φ=(β-α)/t;

α为过a点的切线与X轴的夹角,β为过b点的切线与X轴的夹角;

(3)计算所有轨迹点上的车辆行驶状态数据,包括但不限于以下内容:

点平面坐标 航向角 速度 加速度 横摆角速度 ……

将上表中数据的平面坐标转化为经纬度坐标,并结合其他车辆行驶状态数据经过编码生成用于仿真测试V2X场景的BSM模拟信息。

3 界面化设计

根据上述的V2X仿真测试轨迹数据生成方法实现车辆BSM数据制作,并按时序生成BSM数据文件,供V2X仿真测试使用。如图7所示,具体操作流程如下:

图7 V2X仿真测试轨迹数据生成系统流程图

(1)选择轨迹生成方式。即车辆行驶路径点,支持三种方式:选择现有样本轨迹数据、导入实车轨迹数据以及手动绘制行车轨迹。

(2)生成轨迹信息。此阶段包含两部分内容:显示轨迹点和拟合轨迹;因此此部分是核心算法的实现内容。图8为生成的轨迹信息示例。

图8 生成轨迹信息

(3)添加车辆信息。支持两种方式:从已有车辆库中直接选择,或新增车辆信息。新增车辆信息时,需编辑车辆的基本信息(车辆的属性-HV/RV、车辆ID、车辆匹配的轨迹、车辆类型、车辆尺寸、车辆上OBU天线的位置等信息)。

(4)编辑行车数据。首先,选定一个已经添加的车辆;其次,设计此车辆的分段行驶路段;最后,逐条编辑轨迹分段行车数据(上下游节点车速、下游节点持续静止时长、加减速状态、制动状态、车灯状态、特殊状态等)。

(5)导出行车轨迹数据。用户根据测试需求,选择“导出车辆”以及“数据频率”,即可导出目标车辆的行车轨迹数据。

4 总结与展望

本文提出一种基于Bezier曲线的V2X仿真测试轨迹数据生成方法,解决实车测试过程中存在操作复杂、危险性高、高成本、效率低以及难以复现等问题。该系统不依赖交通仿真软件,采用自研的车辆轨迹拟合算法,解决轨迹拟合过程中的偏差偏离较大、分段拟合不连续等问题,以及生成满足车辆行驶动力学的车辆行驶轨迹数据。

在本文研究的V2X仿真测试轨迹数据生成方法中,已经实现生成模拟的V2X BSM消息,后续还将继续实现生成V2X国标一阶段应用场景里面提到的RSM、RSI、SPAT、MAP等其他V2X消息类型,以及生成V2X国标二阶段应用场景里面提到的所有V2X消息类型。

猜你喜欢
点数单向分段
碳纤维/PPS热塑性单向预浸带进入市场
用“单向宫排除法”解四宫数独
一类连续和不连续分段线性系统的周期解研究
分段计算时间
从单向到双向的合作治理及实现路径
画点数
3米2分段大力士“大”在哪儿?
多核并行的大点数FFT、IFFT设计
单向度
巧猜骰子