自动驾驶路径点的处理方法、装置、设备及存储介质转让专利

申请号 : CN202011185700.4

文献号 : CN112415999B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张剑锋宇文志强张毅华

申请人 : 宁波吉利汽车研究开发有限公司浙江吉利控股集团有限公司浙江吉利汽车研究院有限公司

摘要 :

本申请涉及自动驾驶路径点的处理方法、装置、设备或存储介质,通过对获取待处理的路径点序列采取删除偏移路径点、平滑、降采样处理和/或插值处理、二次平滑处理的操作之后,得到待校验的路径点序列;向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。如此,可以提高自动驾驶中车辆控制的平顺性,可以提高乘客舒适性。

权利要求 :

1.一种自动驾驶路径点的处理方法,其特征在于,包括:获取待处理的路径点序列;

从所述路径点序列中确定出偏离路径点;

对删除所述偏离路径点后的路径点序列进行平滑处理;

对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;

对所述处理后的路径点序列进行平滑处理,得到待校验的路径点序列;

向路径跟随模块发送所述待校验的路径点序列,以使所述路径跟随模块基于所述待校验的路径点序列控制车辆行驶;

基于所述待校验的路径点序列获取对应的实际行驶路径;所述实际行驶路径包括多个实际转折路径点;

确定所述待校验的路径点序列与所述多个实际转折路径点的相似程度值,并向所述路径跟随模块发送所述相似程度值,以使所述路径跟随模块根据所述相似程度值调整行车参数。

2.根据权利要求1所述的方法,其特征在于,所述基于所述待校验的路径点序列获取对应的实际行驶路径之后,所述确定所述待校验的路径点序列与所述多个实际转折路径点的相似程度值之前,还包括:从所述待校验的路径点序列中确定出多个待校验转折路径点;

从所述实际行驶路径中确定出所述多个待校验转折路径点中每个待校验转折路径点对应的实际路径点,得到多个实际路径点;

从所述待校验的路径点序列中确定出所述多个实际转折路径点中每个实际转折路径点对应的待校验路径点,得到多个待校验路径点。

3.根据权利要求2所述的方法,其特征在于,所述多个待校验转折路径点包括每个待校验转折路径点的坐标;所述多个实际路径点包括每个实际路径点的坐标;所述多个实际转折路径点包括每个实际转折路径点的坐标;所述多个待校验路径点包括每个待校验路径点的坐标;

所述确定所述待校验的路径点序列与所述多个实际转折路径点的相似程度值,包括:基于所述每个待校验转折路径点的坐标和所述每个实际路径点的坐标,确定所述每个待校验转折路径点与对应的实际路径点之间的第一距离,得到第一距离集合;

基于所述每个实际转折路径点的坐标和所述每个待校验路径点的坐标,确定所述每个实际转折路径点与对应的待校验路径点之间的第二距离,得到第二距离集合;

根据所述第一距离集合和所述第二距离集合确定所述相似程度值。

4.根据权利要求1所述的方法,其特征在于,所述从所述路径点序列中确定出偏离路径点,包括:根据已训练的分类模型对所述路径点序列进行分类,得到所述路径点序列中每个路径点对应的类别;

将类别为预设类别的路径点确定为所述偏离路径点。

5.根据权利要求1所述的方法,其特征在于,所述路径点序列包括每个路径点的时间标识;

所述对平滑处理后的路径点序列进行降采样处理和/或插值处理,包括:基于所述每个路径点的时间标识,将拟合后的路径点序列划分为第一子序列和第二子序列;所述第一子序列中每个路径点的时间标识小于所述第二子序列中每个路径点的时间标识;

对所述第一子序列进行降采样处理,并对所述第二子序列进行插值处理。

6.根据权利要求1所述的方法,其特征在于,所述对所述处理后的路径点序列进行平滑处理,包括:获取预设尺寸的滑动窗口,并基于最小二乘法确定平滑系数;

基于所述平滑系数,对所述滑动窗口内的路径点做平均处理。

7.根据权利要求1所述的方法,其特征在于,所述对删除所述偏离路径点后的路径点序列进行平滑处理,包括:建立多项式函数;

基于所述删除所述偏离路径点后的路径点序列求解所述多项式函数;

将所述路径点序列中与所述多项式函数的偏差超过阈值的路径点删除,得到平滑处理后的路径点序列。

8.一种自动驾驶路径点的处理装置,其特征在于,包括:第一获取模块,用于获取待处理的路径点序列;

第一确定模块,用于从所述路径点序列中确定出偏离路径点;

第一处理模块,用于对删除所述偏离路径点后的路径点序列进行平滑处理;

第二处理模块,用于对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;

第三处理模块,用于对所述处理后的路径点序列进行平滑处理,得到待校验的路径点序列;

发送模块,用于向路径跟随模块发送所述待校验的路径点序列,以使所述路径跟随模块基于所述待校验的路径点序列控制车辆行驶;

第二获取模块,用于基于所述待校验的路径点序列获取对应的实际行驶路径;所述实际行驶路径包括多个实际转折路径点;

第二确定模块,用于确定所述待校验的路径点序列与所述多个实际转折路径点的相似程度值,并向所述路径跟随模块发送所述相似程度值,以使所述路径跟随模块根据所述相似程度值调整行车参数。

9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如权利要求1‑7任一项所述的自动驾驶路径点的处理方法。

10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1‑7任一项所述的自动驾驶路径点的处理方法。

说明书 :

自动驾驶路径点的处理方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及自动驾驶技术领域,特别涉及一种自动驾驶路径点的处理方法、装置、设备及存储介质。

背景技术

[0002] 路径点规划是自动驾驶的关键技术之一,主要解决在根据车辆本身传感器所获局部环境感知信息和全局路径规划下,引导车辆从所在地到目标地的路径。这些路径点需要达到车规级导航的标准,不仅要保证引导的安全性,同时需要足够平滑,保证车辆行驶过程中乘客的舒适性。
[0003] 但是,目前路径点的规划往往偏避障性和偏目标性,导致自动驾驶的路径不够平顺,容易产生方向盘角度控制急剧变化,造成车辆的驾驶性和乘客的舒适性较差。

发明内容

[0004] 本申请实施例提供了一种自动驾驶路径点的处理方法、装置、设备及存储介质,可以提高驾驶平顺性,可以提高乘客舒适性。
[0005] 一方面,本申请实施例提供了一种自动驾驶路径点的处理方法,包括:
[0006] 获取待处理的路径点序列;
[0007] 从路径点序列中确定出偏离路径点;
[0008] 对删除偏离路径点后的路径点序列进行平滑处理;
[0009] 对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;
[0010] 对处理后的路径点序列进行平滑处理,得到待校验的路径点序列;
[0011] 向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;
[0012] 基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;
[0013] 确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。
[0014] 可选的,基于待校验的路径点序列获取对应的实际行驶路径之后,确定待校验的路径点序列与多个实际转折路径点的相似程度值之前,还包括:
[0015] 从待校验的路径点序列中确定出多个待校验转折路径点;
[0016] 从实际行驶路径中确定出多个待校验转折路径点中每个待校验转折路径点对应的实际路径点,得到多个实际路径点;
[0017] 从待校验的路径点序列中确定出多个实际转折路径点中每个实际转折路径点对应的待校验路径点,得到多个待校验路径点。
[0018] 可选的,多个待校验转折路径点包括每个待校验转折路径点的坐标;多个实际路径点包括每个实际路径点的坐标;多个实际转折路径点包括每个实际转折路径点的坐标;多个待校验路径点包括每个待校验路径点的坐标;
[0019] 确定待校验的路径点序列与多个实际转折路径点的相似程度值,包括:
[0020] 基于每个待校验转折路径点的坐标和每个实际路径点的坐标,确定每个待校验转折路径点与对应的实际路径点之间的第一距离,得到第一距离集合;
[0021] 基于每个实际转折路径点的坐标和每个待校验路径点的坐标,确定每个实际转折路径点与对应的待校验路径点之间的第二距离,得到第二距离集合;
[0022] 根据第一距离集合和第二距离集合确定相似程度值。
[0023] 可选的,从路径点序列中确定出偏离路径点,包括:
[0024] 根据已训练的分类模型对路径点序列进行分类,得到路径点序列中每个路径点对应的类别;
[0025] 将类别为预设类别的路径点确定为偏离路径点。
[0026] 可选的,路径点序列包括每个路径点的时间标识;
[0027] 对平滑处理后的路径点序列进行降采样处理和/或插值处理,包括:
[0028] 基于每个路径点的时间标识,将拟合后的路径点序列划分为第一子序列和第二子序列;第一子序列中每个路径点的时间标识小于第二子序列中每个路径点的时间标识;
[0029] 对第一子序列进行降采样处理,并对第二子序列进行插值处理。
[0030] 可选的,对处理后的路径点序列进行平滑处理,包括:
[0031] 获取预设尺寸的滑动窗口,并基于最小二乘法确定平滑系数;
[0032] 基于平滑系数,对滑动窗口内的路径点做平均处理。
[0033] 可选的,对删除偏离路径点后的路径点序列进行平滑处理,包括:
[0034] 建立多项式函数;
[0035] 基于删除偏离路径点后的路径点序列求解多项式函数;
[0036] 将路径点序列中与多项式函数的偏差超过阈值的路径点删除,得到平滑处理后的路径点序列。
[0037] 另一方面,本申请实施例提供了一种自动驾驶路径点的处理装置,包括:
[0038] 第一获取模块,用于获取待处理的路径点序列;
[0039] 第一确定模块,用于从路径点序列中确定出偏离路径点;
[0040] 第一处理模块,用于对删除偏离路径点后的路径点序列进行平滑处理;
[0041] 第二处理模块,用于对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;
[0042] 第三处理模块,用于对处理后的路径点序列进行平滑处理,得到待校验的路径点序列;
[0043] 发送模块,用于向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;
[0044] 第二获取模块,用于基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;
[0045] 第二确定模块,用于确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。
[0046] 另一方面,本申请实施例提供了一种设备,设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行上述的自动驾驶路径点的处理方法。
[0047] 另一方面,本申请实施例提供了一种计算机存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述的自动驾驶路径点的处理方法。
[0048] 本申请实施例提供的自动驾驶路径点的处理方法、装置、设备及存储介质具有如下有益效果:
[0049] 通过获取待处理的路径点序列;从路径点序列中确定出偏离路径点;对删除偏离路径点后的路径点序列进行平滑处理;对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;对处理后的路径点序列进行平滑处理,得到待校验的路径点序列;向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。如此,可以提高自动驾驶中车辆控制的平顺性,可以提高乘客舒适性。

附图说明

[0050] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1是本申请实施例提供的一种智能驾驶车辆的架构示意图;
[0052] 图2是本申请实施例提供的一种自动驾驶路径点的处理方法的流程示意图;
[0053] 图3是本申请实施例提供的一种应用环境的示意图;
[0054] 图4是本申请实施例提供的一种进行多项式平滑拟合后的路径点序列的示意图;
[0055] 图5是本申请实施例提供的一种降采样处理的流程示意图;
[0056] 图6是本申请实施例提供的一种进行平滑处理后的路径点序列的示意图;
[0057] 图7是本申请实施例提供的一种数据进行平滑处理前后的效果对比示意图;
[0058] 图8是本申请实施例提供的一种自行车模型的示意图;
[0059] 图9是本申请实施例提供的一种待校验的路径与实际行驶路径的示意图;
[0060] 图10是本申请实施例提供的一种自动驾驶路径点的处理装置的结构示意图;
[0061] 图11是本申请实施例提供的一种自动驾驶路径点的处理方法的服务器的硬件结构框图。

具体实施方式

[0062] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0063] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0064] 如图1所示,在智能驾驶车辆中,感知传感器,例如摄像头和毫米波雷达,将采集的路况信息发送给智能感知处理器,智能感知处理器对所有的传感器数据进行处理,获得周边的障碍物信息和相对位置关系;然后智能感知处理器结合高精度地图,判定本车的绝对位置,并根据导航目的地,进行车道级的决策以及路径规划;智能感知处理器以路径点的形式将路径发送给整车控制器,整车控制器根据当前的动力学参数、车速、方向盘转角等信息,对车辆进行动力学控制,具体通过对油门、刹车以及方向盘的控制,使得车辆能够按照智能感知处理器规划的路径行驶。
[0065] 然而智能感知处理器对路径点的规划往往偏避障性和偏目标性,对驾驶的平顺性及舒适性相对薄弱,因此,本申请在整车控制器接收到目标路径点之后,结合当前的车速和路况信息,对路径点进行平滑、校验等处理之后,再进行动力学跟随。
[0066] 以下介绍本申请一种自动驾驶路径点的处理方法的具体实施例,图2是本申请实施例提供的一种自动驾驶路径点的处理方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
[0067] S201:获取待处理的路径点序列。
[0068] 本申请实施例中,待处理的路径点序列可以包括由智能感知处理器基于感知传感器采集的路口信息以及高精地图进行规划得到的按照时间标识或者按照位置标识有序排列的多个路径点;待处理的路径点序列中每个待处理路径点携带坐标信息;坐标信息可以是与车辆的相对坐标,也可以是基于世界坐标系中的坐标;智能感知处理器会按照预设计算周期规划并输出的一组待处理的路径点序列,获取智能感知处理器当前周期输出的待处理的路径点序列。
[0069] 一种可选的实施方式中,时间标识指的是车辆到达对应的路径点的时间,因此在按照时间标识有序排列的多个路径点中,时间标识越小的路径点与车辆的距离越近,而时间标识越大的路径点与车辆的距离越远;车辆近处的路径点相较于车辆远处的路径点更加密集,且任意相邻路径点的时间标识之差可以是固定值。
[0070] 一种可选的实施方式中,位置标识可以指该路径点在世界坐标系中的坐标信息,也可以指该路径点在自车坐标系中的坐标信息。
[0071] S203:从路径点序列中确定出偏离路径点。
[0072] 本申请实施例中,在路径点序列的众多路径点中,存在若干路径点,其与相邻的路径点之间的位置关系存在明显的不合理,显著偏离前后大部分路径点位置,下文将这些“离群”的路径点称为偏离路径点或者奇异点。奇异点严重影响路径点组成路径的质量,导致车辆行驶的舒适性和安全性下降,因此,在将路径点应用于车辆控制之前需要排除路径点中的奇异点。
[0073] 一种可选的从路径点序列中确定出偏离路径点的实施方式中,包括:根据已训练的分类模型对路径点序列进行分类,得到路径点序列中每个路径点对应的类别;将类别为预设类别的路径点确定为偏离路径点。
[0074] 具体的,首先,构建分类模型,分类模型中设置两层全连接层,并在全连接层之间加入dropout层,通过部分连接避免模型的过拟合,增强模型的泛化能力;其次,通过大量训练数据对分类模型进行训练,得到训练好的分类模型;其次,训练好的分类模型用于偏移路径点的判断,对按照时间排序的路径点序列提取位置信息等特征,逐一对路径点进行分类判断,得到路径点序列中每个路径点对应的类别;例如,偏移路径点类别为1,常规路径点类别为0,当路径点的类别为1时,即被判定为偏移路径点。
[0075] S205:对删除偏离路径点后的路径点序列进行平滑处理。
[0076] 本申请实施例中,从路径点序列中确定出偏离路径点之后,将偏离路径点删除,可以得到一条较准确的路径;但是,删除偏离路径点后的路径点序列的平顺性较差,因此,需要对其进行平滑处理。
[0077] 本申请实施例中,可以基于现有的数据点平滑处理算法,对路径点序列进行平滑处理,例如滑动平均平滑(Moving average),邻域内的数据点做平均代替邻域的中心点值,除了一般滑动平均,还有加权滑动平均和指数滑动平均;Savitzky‑Golay滤波器(SG滤波),以五点三次平滑为例,取相邻的5个数据点,可以拟合出一条3次曲线来,然后用3次曲线上相应的位置的数据值作为滤波后结果;样条(Spline)曲线平滑等,实际应用时根据需求选择合适的平滑方式。
[0078] 一种可选的对删除偏离路径点后的路径点序列进行平滑处理的实施方式中,包括:建立多项式函数;基于删除偏离路径点后的路径点序列求解多项式函数;将路径点序列中与多项式函数的偏差超过阈值的路径点删除,得到平滑处理后的路径点序列。利用多项式函数拟合路径点,将离散的路径点连接近似为一连续的方程。
[0079] 一种具体的建立和求解多项式函数的实施方式中,假设路径点序列包括n+1个路径点,坐标分别为(x0,y0),(x1,y1),(x2,y2)......(xn,yn);建立的多项式函数可以参考公式(1):
[0080] Si(x)=ai+bi(x‑xi)+ci(x‑xi)2+di(x‑xi)3#(1)
[0081] 其中,i=0,1,2......n;ai、bi、ci和di为多项式系数;
[0082] 其次,设路径点之间的间隔距离hi=xi+1‑xi,对公式(1)进行微分,得到一阶微分方程和二阶微分方程如下所示:
[0083] S′i(x)=bi+2ci(x‑xi)+3di(x‑xi)2
[0084] S″i(x)=2ci+6di(x‑xi)#(2)
[0085] 其次,设mi为x=xi处的二阶导数,则mi=2ci。
[0086] 其次,为使路径具有良好的平滑性,因此每个坐标处方程连续且可导,则可以得到公式(3):
[0087] S′i(xi+1)=S′i+1(xi+1)
[0088] S″i(xi+1)=S″i+1(xi+1)#(3)
[0089] 其次,将路径点坐标带入公式(3),最终可以解得:
[0090]
[0091] 下面通过附图3和图4展示上述步骤的效果。图3是本申请实施例提供的一种应用环境的示意图,该应用环境是通过车辆的摄像头传感器采集的路况图像,智能感知处理器基于该路况图像规划出一条路径,并输出一系列待处理的路径点序列,图4为对删除偏离路径点后的路径点序列进行多项式平滑拟合后的路径点序列的示意图。
[0092] S207:对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列。
[0093] 本申请实施例中,考虑到在自动驾驶技术中,路径点从起始地连接到目的地,数据量巨大。一方面,相比较于低速行驶,当车辆高速行驶时,车辆在单位时间内位移较大,车辆控制系统并不需要如此密集的路径点引导,因此,对路径点进行降低采样处理是必要的,这样能降低路径点的数据总量,节省存储空间;另一方面,路径点序列是智能感知处理器基于感知传感器获取的路况信息规划得到的,而感知传感器由于性能等因素,会导致路径点序列中靠近车辆的部分相较于远离车辆的部分更加密集、扎堆,而远离车辆的部分较为稀疏;因此,对近处的路径点进行降采样,同时对远处的路径点进行插值处理,可以获得一个较为均匀的路径点序列。
[0094] 一种可选的实施方式中,路径点序列包括每个路径点的时间标识;步骤S207可以包括:基于每个路径点的时间标识,将拟合后的路径点序列划分为第一子序列和第二子序列;第一子序列中每个路径点的时间标识小于第二子序列中每个路径点的时间标识;对第一子序列进行降采样处理,并对第二子序列进行插值处理。其中,第一子序列中每个路径点的时间标识小于第二子序列中每个路径点的时间标识的意思是,第一子序列中的路径点是智能感知处理器基于感知传感器采集的车辆前方较近距离处的路况信息规划得到的,第一子序列中的路径点相较于第二子序列中的路径点实际更加靠近车辆。
[0095] 一种具体的对第一子序列进行降采样处理的实施方式中,采用道格拉斯‑普克(Douglas‑Peukcer)算法,Douglas‑Peukcer算法由D.Douglas和T.Peueker于1973年提出,简称D‑P算法,是线状要素化简经典算法,用来对大量冗余的图形数据点进行压缩以提取必要的数据点;它的长处是具有平移和旋转不变性,给定曲线与阂值后,抽样结果一定。
[0096] 首先,设定最大偏移距离dmax;其次,连接起始点和终止点得到直线l1,求出每个路径点到l1的距离:l11,l12,l13......;将l11,l12,l13......与dmax比较,保留比dmax更的大距离中最大值点C;若存在C点,连接AC和CB两条直线,重复前述操作,反复迭代,直到不存在比dmax大的距离点存在,所得的点即为降低采样的路径点。
[0097] 下面结合图5进一步解释本申请中降采样处理的原理。如图5(a)所示,连接点1和8,由于点4到l18距离最大且l18大于dmax,因此如图5(b)所示,连接点1和4与点4和8;由于点1和4之间不存在点到l14的距离大于dmax,迭代结束;而在点4和8之间,点6到l48距离最大且l48大于dmax,连接点4和6与点6和8;如图5(c)所示,点4和6之间不存在点到l46的距离大于dmax,迭代结束;而点7到l68的距离大于dmax,且已无法继续迭代,所以如图5(d)所示,点1、4、6、7、8即为最终的路径点。
[0098] S209:对处理后的路径点序列进行平滑处理,得到待校验的路径点序列。
[0099] 本申请实施例中,考虑到路径点序列在经过降低采样和/或插值后,路径不平稳,局部会出现来回折线,这无疑降低了车辆行驶的稳定性,因此需要进一步对路径点序列进行平滑处理,平滑处理后的路径点序列即为车辆待跟随的路径点序列,也即待校验的路径点序列。
[0100] 一种可选的对处理后的路径点序列进行平滑处理的实施方式中,包括:获取预设尺寸的滑动窗口,并基于最小二乘法确定平滑系数;基于平滑系数,对滑动窗口内的路径点做平均处理。具体的,选取一个宽度固定的滑动窗口,考虑前后各两个路径点的值来对每个路径点进行平滑,建立公式(4):
[0101]
[0102] 其中,xk,s表示第k组平滑点变量x;为参数,表示平滑系数,平滑系数可基于最小二乘法求得;设定多项式最高次幂为2次,则可以建立公式(5):
[0103] y=a0+a1x+a2x2#(5)
[0104] 即方程组(6):
[0105]
[0106] 其中,m=2,k=3;
[0107] 其次,将方程组(6)用矩阵可以表示为公式(7):
[0108] Y(2m+1)*1=X(2m+1)*k·Ak*1x+E(2m+1)*1#(7)
[0109] A的最小二乘解可以表示为公式(8):
[0110]
[0111] Y的预测值可以表示为公式(9):
[0112]
[0113] 根据上述公式(4)‑(9),最终可以计算得到平滑系数;平滑处理后的效果可以参阅图6和图7,如图6所示,图6是基于上文例子进行平滑处理后的路径点序列;如图7所示,图7是一组数据进行平滑处理前后的效果对比。
[0114] S211:向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶。
[0115] 本申请实施例中,向路径跟随模块发送经上述步骤S201‑S209处理后的待校验的路径点序列,路径跟随模块基于待校验的路径点序列控制车辆行驶。
[0116] 无人驾驶智能车的控制主要包括横向控制和纵向控制两部分。其中横向控制主要指对车辆转向系统的控制。路径跟随是智能车横向控制的一个主要应用。路径跟随是指在已经得到一条期望路径的前提下,智能车根据大地坐标系中的位置信息,按照一定的控制策略,使智能车的实际行驶路径可以与规划路径达到一致。
[0117] 目前被广泛应用在无人驾驶智能车路径跟随的算法基本上都是通过调节实际路径与规划路径之间存在的偏差以实现对目标路径进行跟随,如方位误差、距离误差等。其中Pure Pursuit算法、斯坦利算法、环形预瞄算法是几类常见的路径跟随算法。例如,Pure Pursuit算法的原理为以规划路径上的某一个点为预瞄点,通过控制车辆转向角,使车辆可以沿着一条经过该预瞄点的圆弧行驶,最终实现路径跟随。
[0118] 一种可选的实施方式中,路径跟随模块可以基于Pure Pursuit算法,以车后轴为切点,车辆纵向车身为切线,通过控制前轮转角,使车辆可以沿着目标点组成的曲线行驶,请参阅图8,是本申请实施例提供的一种自行车模型的示意图;图8中(gx,gy)是车辆下一个要追踪的路径点,它位于车辆已经规划好的全局路径上,现在需要控制车辆的后轴经过该路点,ld表示车辆当前位置(即后轴位置)到目标路点的距离,α表示目前车身姿态和目标路点的夹角,由正弦定理可以推导出如下转换式(10):
[0119]
[0120]
[0121]
[0122] 其次,根据道路的曲率的公式: 公式(10)可以表示为:
[0123]
[0124] 其次,由于 可得公式(12):
[0125]
[0126] 其次,带入时间变量,得公式(13):
[0127]
[0128] 其次,通常来说,ld被认为是车速的函数,在不同的车速下需要选择不同的前视距离,一种最常见的调整前视距离的方法就是将前视距离表示成车辆纵向速度的线形函数,即,ld=kvx,则前轮的转角公式为(14):
[0129]
[0130] 由此,路径点追踪调整就变成了调整系数k,通常来说,越大的前视距离意味着行驶路径的追踪越平滑,小的前视距离会使得追踪更加精确(当然也会带来控制的震荡)。
[0131] S213:基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点。
[0132] 本申请实施例中,待校验的路径点序列对应的实际行驶路径指的是路径跟随模块基于待校验的路径点序列通过路径跟随算法行驶的实际路径,该实际路径包括多个实际转折路径点,实际转折路径点指的是,该路径点与上一个路径点的横向坐标相比,正向偏移超过预设值或者反向偏移,即路径方向发生变化。
[0133] 路径点跟随控制是通过调节车速和前轮转角,保证车辆行驶的准确度和舒适度。当车辆的实际行驶位置与对应的路径点序列中当前预瞄路径点位置之间误差较小,在短时间内跟踪路径逐渐收敛于预瞄路径点,则路径点跟随效果较好,当车辆的实际行驶位置与对应的路径点序列中当前预瞄路径点位置之间误差较大或紊乱,在短时间内跟踪路径不能逐渐收敛于预瞄路径点甚至呈发散趋势,则路径点跟随效果较差。
[0134] 因此,本申请实施例中,在路径跟随模块基于待校验的路径点序列进行动态跟随控制之后,还对当前周期的路径点序列的跟随效果进行评价,基于待校验的路径点序列获取对应的实际行驶路径,如此,在评价得到跟随效果较差的情况下,可以及时向路径跟随模块反馈,并对当前控制策略进行调整。
[0135] 一种可选的实施方式中,在基于待校验的路径点序列获取对应的实际行驶路径之后,步骤S215之前,还包括:从待校验的路径点序列中确定出多个待校验转折路径点;从实际行驶路径中确定出多个待校验转折路径点中每个待校验转折路径点对应的实际路径点,得到多个实际路径点;从待校验的路径点序列中确定出多个实际转折路径点中每个实际转折路径点对应的待校验路径点,得到多个待校验路径点。其中,待校验转折路径点的含义与实际转折路径点相似,指的是待校验的路径点序列中某待校验的路径点与上一个待校验的路径点的横向坐标相比,正向偏移超过预设值或者反向偏移,即待校验的路径方向发生变化。
[0136] 具体的,如图9(a)所示,待校验的路径为Trip A,Trip A包括待校验的路径点序列,路径跟随模块控制车辆进行动态跟随,形成的实际行驶路径为TripB;在Trip A的“转折”处(A1、A2、A3、A4、A5)取对应时刻TripB上的点(点B1、B2、B3、B4、B5),即,从Trip A的待校验的路径点序列中确定出的多个待校验转折路径点为点A1、A2、A3、A4、A5;按照每个待校验转折路径点的时间标识,从Trip B上获取对应的实际路径B1、B2、B3、B4、B5;如图9(b)所示,在Trip B的“转折”处(B6、B7、B8、B9)取对应时刻Trip A上的点(A6、A7、A8、A9),其中,B6、B7、B8、B9均为实际转折路径点,A6、A7、A8、A9为对应的待校验路径点;在一个计算周期内,Trip A和Trip B上所取点的个数相同。
[0137] S215:确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。
[0138] 本申请实施例中,相似程度值反应了路径跟随效果,通过确定待校验的路径点序列与多个实际转折路径点的相似程度值,来判断路径跟随效果的好坏,通过向路径跟随模块发送该相似程度值,在路径跟随效果较差的情况下,路径跟随模块可以根据相似程度值调整行车参数,行车参数主要包括方向盘转角等横向控制参数。例如,在路径跟随效果较差的情况下,可以增大方向盘转角的变化程度。
[0139] 一种可选的实施方式中,多个待校验转折路径点包括每个待校验转折路径点的坐标;多个实际路径点包括每个实际路径点的坐标;多个实际转折路径点包括每个实际转折路径点的坐标;多个待校验路径点包括每个待校验路径点的坐标;上述坐标均可以从智能感知处理器获取得到。
[0140] 对应的,一种可选的确定待校验的路径点序列与多个实际转折路径点的相似程度值的实施方式中,包括:基于每个待校验转折路径点的坐标和每个实际路径点的坐标,确定每个待校验转折路径点与对应的实际路径点之间的第一距离,得到第一距离集合;基于每个实际转折路径点的坐标和每个待校验路径点的坐标,确定每个实际转折路径点与对应的待校验路径点之间的第二距离,得到第二距离集合;根据第一距离集合和第二距离集合确定相似程度值。
[0141] 一种可选的根据第一距离集合和第二距离集合确定相似程度值的实施方式中,包括:根据第一距离集合确定第一相似程度值;根据第二距离集合确定第二相似程度值;对第一相似程度值和第二相似程度值求均值,或加权求均值。
[0142] 具体的,如图9(a)所示,基于每个待校验转折路径点(A1、A2、A3、A4、A5)的坐标和每个实际路径点(B1、B2、B3、B4、B5)的坐标,确定每个待校验转折路径点与对应的实际路径点之间的第一距离,得到第一距离集合{dA1B1,dA2B2,dA3B3,dA4B4,dA5B5},然后根据公式(15)计算第一相似程度值:
[0143]
[0144] 其中,D1(A,B)表示第一相似程度值;d(ai,bi)表示第一距离;
[0145] 该实施例中,第一相似程度值为:
[0146] D1(A,B)=1/5(dA1B1+dA2B2+dA3B3+dA4B4+dA5B5)
[0147] 同理,如图9(b)所示,基于每个实际转折路径点(B6、B7、B8、B9)的坐标和每个待校验路径点的坐标,确定每个实际转折路径点与对应的待校验路径点(A6、A7、A8、A9)之间的第二距离,得到第二距离集合{dB6A6,dB7A7,dB8A8,dB9A9},然后根据公式(16)计算第二相似程度值:
[0148]
[0149] 其中,D2(B,A)表示第二相似程度值;d(bi,ai)表示第二距离;
[0150] 该实施例中,第二相似程度值为:
[0151] D2(B,A)=1/4(dB6A6+dB7A7+dB8A8+dB9A9)
[0152] 其次,根据公式(17)对第一相似程度值和第二相似程度值求均值,将平均相似程度值作为路径跟随效果的判定分数:
[0153]
[0154] 其中,D表示平均相似程度值,即路径跟随效果的判定分数;平均相似程度值越大,表示待校验的路径点序列与多个实际转折路径点之间的距离越大,则路径跟随效果越差。
[0155] 最终判定分数可以返回给路径跟随模块,路径跟随模块具有自学习功能,当相似程度值较大,即路径跟随效果较差时,路径跟随模块根据判定分数设定新参数来调节控制。
[0156] 综上,本申请实施例提供的自动驾驶路径点的处理方法,能够使得路径点与实际行车路径更接近,可以提高自动驾驶中车辆控制的平顺性,可以降低车辆偏离预定路径的风险。
[0157] 本申请实施例还提供了一种自动驾驶路径点的处理装置,图10是本申请实施例提供的一种自动驾驶路径点的处理装置的结构示意图,如图10所示,该装置包括:
[0158] 第一获取模块1001,用于获取待处理的路径点序列;
[0159] 第一确定模块1002,用于从路径点序列中确定出偏离路径点;
[0160] 第一处理模块1003,用于对删除偏离路径点后的路径点序列进行平滑处理;
[0161] 第二处理模块1004,用于对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;
[0162] 第三处理模块1005,用于对处理后的路径点序列进行平滑处理,得到待校验的路径点序列;
[0163] 发送模块1006,用于向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;
[0164] 第二获取模块1007,用于基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;
[0165] 第二确定模块1008,用于确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。
[0166] 在一种可选的实施方式中,还包括第三确定模块;第三确定模块用于从待校验的路径点序列中确定出多个待校验转折路径点;从实际行驶路径中确定出多个待校验转折路径点中每个待校验转折路径点对应的实际路径点,得到多个实际路径点;从待校验的路径点序列中确定出多个实际转折路径点中每个实际转折路径点对应的待校验路径点,得到多个待校验路径点。
[0167] 在一种可选的实施方式中,多个待校验转折路径点包括每个待校验转折路径点的坐标;多个实际路径点包括每个实际路径点的坐标;多个实际转折路径点包括每个实际转折路径点的坐标;多个待校验路径点包括每个待校验路径点的坐标;第二确定模块1008具体用于:
[0168] 基于每个待校验转折路径点的坐标和每个实际路径点的坐标,确定每个待校验转折路径点与对应的实际路径点之间的第一距离,得到第一距离集合;基于每个实际转折路径点的坐标和每个待校验路径点的坐标,确定每个实际转折路径点与对应的待校验路径点之间的第二距离,得到第二距离集合;根据第一距离集合和第二距离集合确定相似程度值。
[0169] 在一种可选的实施方式中,第一确定模块1002具体用于:根据已训练的分类模型对路径点序列进行分类,得到路径点序列中每个路径点对应的类别;将类别为预设类别的路径点确定为偏离路径点。
[0170] 在一种可选的实施方式中,路径点序列包括每个路径点的时间标识;第二处理模块1004具体用于:
[0171] 基于每个路径点的时间标识,将拟合后的路径点序列划分为第一子序列和第二子序列;第一子序列中每个路径点的时间标识小于第二子序列中每个路径点的时间标识;对第一子序列进行降采样处理,并对第二子序列进行插值处理。
[0172] 在一种可选的实施方式中,第三处理模块1005具体用于:
[0173] 获取预设尺寸的滑动窗口,并基于最小二乘法确定平滑系数;基于平滑系数,对滑动窗口内的路径点做平均处理。
[0174] 在一种可选的实施方式中,第一处理模块1003具体用于:
[0175] 建立多项式函数;基于删除偏离路径点后的路径点序列求解多项式函数;将路径点序列中与多项式函数的偏差超过阈值的路径点删除,得到平滑处理后的路径点序列。
[0176] 本申请实施例中的装置与方法实施例基于同样地申请构思。
[0177] 本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图11是本申请实施例提供的一种自动驾驶路径点的处理方法的服务器的硬件结构框图。如图11所示,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1110(处理器1110可以包括但不限于微处理器NCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1130,一个或一个以上存储应用程序1123或数据1122的存储介质
1120(例如一个或一个以上海量存储设备)。其中,存储器1130和存储介质1120可以是短暂存储或持久存储。存储在存储介质1120的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1110可以设置为与存储介质1120通信,在服务器1100上执行存储介质1120中的一系列指令操作。服务器1100还可以包括一个或一个以上电源1160,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1140,和/或,一个或一个以上操作系统1121,例如Windows,Mac OS,Unix,Linux,FreeBSD等等。
[0178] 输入输出接口1140可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1100的通信供应商提供的无线网络。在一个实例中,输入输出接口1140包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1140可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0179] 本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1100还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
[0180] 本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种自动驾驶路径点的处理方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述自动驾驶路径点的处理方法。
[0181] 可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0182] 由上述本申请提供的自动驾驶路径点的处理方法、装置、设备或存储介质的实施例可见,本申请中通过获取待处理的路径点序列;从路径点序列中确定出偏离路径点;对删除偏离路径点后的路径点序列进行平滑处理;对平滑处理后的路径点序列进行降采样处理和/或插值处理,得到处理后的路径点序列;对处理后的路径点序列进行平滑处理,得到待校验的路径点序列;向路径跟随模块发送待校验的路径点序列,以使路径跟随模块基于待校验的路径点序列控制车辆行驶;基于待校验的路径点序列获取对应的实际行驶路径;实际行驶路径包括多个实际转折路径点;确定待校验的路径点序列与多个实际转折路径点的相似程度值,并向路径跟随模块发送相似程度值,以使路径跟随模块根据相似程度值调整行车参数。如此,可以提高自动驾驶中车辆控制的平顺性,可以提高乘客舒适性。
[0183] 需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0184] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0185] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0186] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。