发明内容
为解决或部分解决相关技术中存在的问题,本申请提供一种路径检测方法、装置及汽车,该路径检测方法,能够实现对规划路径的快速检测和筛选,满足自动驾驶的实时性需求。
本申请第一方面提供一种路径检测方法,包括:
获取规划路径和所述规划路径的边界条件,其中所述规划路径使用目标参考车道中心线作为参考线;
将所述规划路径的边界条件与检测触发阈值进行比较,根据所述规划路径的边界条件不满足所述检测触发阈值,确定所述规划路径未超出路径限制。
在一实施例中,所述方法还包括:
根据所述规划路径的边界条件满足所述检测触发阈值,且所述规划路径的曲线的极值点极值满足路径凸包限制条件,确定所述规划路径未超出路径限制。
在一实施例中,所述方法还包括:
根据所述规划路径的边界条件满足所述检测触发阈值,且所述规划路径的曲线的极值点极值不满足路径凸包限制条件,确定所述规划路径超出路径限制。
在一实施例中,所述获取规划路径和所述规划路径的边界条件,包括:
根据当前参考车道中心线和目标参考车道中心线得到所述规划路径;
根据所述规划路径,获取所述规划路径的边界条件,所述边界条件包括起点的航向和曲率。
在一实施例中,所述规划路径的边界条件不满足所述检测触发阈值,包括:
在获取所述规划路径的起点的航向和曲率后,如果所述航向的绝对值和所述曲率的绝对值小于设定阈值,则确定所述规划路径的边界条件不满足所述检测触发阈值;或,
所述规划路径的边界条件满足所述检测触发阈值,包括:
在获取所述规划路径的起点的航向和曲率后,如果所述航向的绝对值和所述曲率的绝对值大于或等于设定阈值,则确定所述规划路径的边界条件满足检测所述触发阈值。
在一实施例中,所述规划路径的曲线的极值点极值满足路径凸包限制条件,包括:
当获取所述曲线的极值点的初始位置纵坐标y0、二分之一目标参考车道宽度值D0、车辆越过目标参考车道中心线的极限阈值D1、所述曲线的第一极值点极值ymax、所述曲线的第二极值点极值ymin之后;
在所述y0大于0、ymax大于D0且ymin小于-D1时,确定所述规划路径的曲线的极值点极值满足路径凸包限制条件;或,
在所述y0小于或等于0、ymin小于-D0且ymax大于D1时,确定所述规划路径的曲线的极值点极值满足路径凸包限制条件;
其中所述ymax大于所述ymin。
在一实施例中,所述所述规划路径的曲线的极值点极值不满足路径凸包限制条件,包括:
当获取所述曲线的极值点的初始位置纵坐标y0、二分之一目标参考车道宽度值D0、车辆越过目标参考车道中心线的极限阈值D1、所述曲线的第一极值点极值ymax、所述曲线的第二极值点极值ymin,之后;
在所述y0小于或等于0且ymin大于或等于-D0时,确定所述规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在所述y0大于0且ymax小于或等于D0时,确定所述规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在所述y0大于0、ymax大于D0且ymin大于或等于-D1时,确定所述规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在所述y0小于或等于0、ymin小于-D0且ymax小于或等于D1时,确定所述规划路径的曲线的极值点极值不满足路径凸包限制条件;
其中所述ymax大于所述ymin。
在一实施例中,所述极值点极值按以下方式确定:
根据所述规划路径的曲线的参数方程,得到所述曲线的一阶导数的参数方程;
对所述曲线的一阶导数的参数方程进行求解运算,得到所述极值点极值。
本申请第二方面提供一种路径检测装置,包括:
路径获取模块,用于获取规划路径和所述规划路径的边界条件,其中所述规划路径使用目标参考车道中心线作为参考线;
路径检测模块,用于将所述规划路径的边界条件与检测触发阈值进行比较,根据所述路径获取模块获取的规划路径的边界条件不满足所述检测触发阈值,确定所述规划路径未超出路径限制。
在一实施例中,所述路径检测模块包括:
第一判断子模块,用于将所述规划路径的边界条件与检测触发阈值进行比较,判断所述规划路径的边界条件是否满足所述检测触发阈值;
第二判断子模块,用于判断所述规划路径的曲线的极值点极值是否满足路径凸包限制条件;
第一检测子模块,用于根据所述规划路径的边界条件不满足所述检测触发阈值,确定所述规划路径未超出路径限制;
第二检测子模块,根据所述规划路径的边界条件满足所述检测触发阈值,且所述规划路径的曲线的极值点极值满足路径凸包限制条件,确定所述规划路径未超出路径限制。
在一实施例中,所述路径检测模块还包括:
第三检测子模块,用于根据所述规划路径的边界条件满足所述检测触发阈值,且所述规划路径的曲线的极值点极值不满足所述路径凸包限制条件,确定所述规划路径超出路径限制。
本申请第三方面提供一种汽车,其包括上述任一实施例所述的路径检测装置。
本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请的路径检测方法,在获取规划路径和所述规划路径的边界条件后,是将所述规划路径的边界条件与检测触发阈值进行比较,根据所述规划路径的边界条件不满足所述检测触发阈值,确定所述规划路径未超出路径限制。这样的设计,不再需要在规划路径上采样然后分析采样点和路径限制的相对关系,而是确定路径的形状,根据路径的边界条件与检测触发阈值的比较进行判断,计算更简单,结果更精确,可以快速实现对规划路径的检测和筛选,满足自动驾驶实时性需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中的路径检测方法,都需要在规划路径上进行采样,然后分析采样点和路径限制的相对关系,计算量较大,检测速度慢,满足不了自动驾驶的实时性需求。
针对上述问题,本申请提供一种路径检测方法,能够实现对规划路径的快速检测和筛选,满足自动驾驶的实时性需求。
以下结合附图详细描述本申请实施例的技术方案。
参见图1,本实施例的路径检测方法,包括:
步骤S110,获取规划路径和规划路径的边界条件,其中规划路径使用目标参考车道中心线作为参考线。
汽车的自动驾驶过程,是汽车从道路的预设起点自动行驶到达预设终点的过程。在预设起点和预设终点之间,可以形成多条通行路径。
该步骤获取规划路径可以是根据当前参考车道中心线和目标参考车道中心线得到规划路径,其中规划路径使用目标参考车道中心线作为参考线;根据规划路径,获取规划路径的边界条件,该边界条件包括起点的航向和曲率。
步骤S120,将所述规划路径的边界条件与检测触发阈值进行比较,根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制。
该步骤可以在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值小于设定阈值,则确定规划路径的边界条件不满足检测触发阈值。然后,根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制。
另外,还可以根据规划路径的边界条件满足检测触发阈值,且规划路径的曲线的极值点极值满足路径凸包限制条件,确定规划路径未超出路径限制。其中,可以是在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值大于或等于设定阈值,则确定规划路径的边界条件满足检测触发阈值。
综上,本申请的路径检测方法,在获取规划路径和规划路径的边界条件后,是将规划路径的边界条件与检测触发阈值进行比较,根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制。这样的设计,不再需要在规划路径上采样然后分析采样点和路径限制的相对关系,而是确定路径的形状,根据路径的边界条件与检测触发阈值的比较进行判断,计算更简单,结果更精确,可以快速实现对规划路径的检测和筛选,满足自动驾驶实时性需求。
为了进一步理解本申请的方法,参见图2,本实施例的路径检测方法,包括:
步骤S210,获取规划路径和规划路径的边界条件,其中规划路径使用目标参考车道中心线作为参考线。
该步骤可以是根据当前参考车道中心线和目标参考车道中心线得到规划路径,根据规划路径,获取规划路径的边界条件。规划路径的边界条件可以包括规划路径的起点的航向和曲率。
其中,获取根据当前参考车道中心线A和目标参考车道中心线B规划的过渡路径C也即规划路径,其中,规划路径使用目标参考车道中心线B作为参考线。规划路径所规划的曲线为n次多项式曲线例如为5次多项式曲线,且曲线终点的航向和曲率均为0,即曲线终点的一阶导数(航向)和曲线终点的二阶导数(曲率)均为0。
规划路径的曲线的参数方程为y=f(x),y和x即为规划路径的曲线在以目标参考车道中心线B为基准建立的SL坐标系下的坐标,规划路径的示意图如图4所示。
本申请实施的方案,所规划的坐标系是以目标参考车道中心线为基准建立的SL坐标系,也即SL坐标系使用目标参考车道中心线作为参考线,其中S表示纵向距离(即沿着目标参考车道中心线方向的距离),L表示横向距离(即偏离目标参考车道中心线即参考线的距离)。
步骤S220,判断规划路径的边界条件是否满足检测触发阈值,如果满足检测触发阈值,进入步骤S230,如果不满足检测触发阈值,进入步骤S260。
其中,规划路径的边界条件不满足检测触发阈值,包括:在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值小于设定阈值,则确定规划路径的边界条件不满足检测触发阈值。
其中,规划路径的边界条件满足检测触发阈值,包括:在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值大于或等于设定阈值,则确定规划路径的边界条件满足检测触发阈值。
也就是说,获取规划路径的起点的航向和曲率,如果航向的绝对值和曲率的绝对值都是小于设定阈值(例如1e-4,即1x0.0001),则表示该规划路径的极值点接近路径起点,因此该规划路径无需做凸包检测,不满足检测触发阈值,进入步骤S260返回规划路径未超限的结果;否则,该规划路径需要进行凸包检测,满足检测触发阈值,进入步骤S230继续处理。
步骤S230,确定规划路径的曲线的极值点极值。
规划路径的曲线的极值点位置和极值点极值大小的计算方法可以采用以下方式:
(1)根据规划路径的曲线的参数方程y=f(x),运算得曲线的一阶导数的参数方程
(2)求解g(x)=0,得到y=f(x)的极值点,由于y=f(x)是5次多项式,因此其极值点有四个,记为xa,xb,xc,xd,其中它们分别为:
xa=b=S
xc=(0.2·S3·a0-0.2·A+0.4·S2·v0)·B
xd=(A+S3·ddy0+2·S2·dy0)·0.2·B
其中:
[y0,dy0,ddy0]为y=f(x)的初始条件,[y1,dy1,ddy1]为y=f(x)的终止条件,S是规划路径的曲线终点相对起点的S方向的距离,
A=(120·dy0·y0-120·dy0·y1+64·S·dy0·dy0+S3·ddy0·ddy0+14·S2·ddy0·dy0)·S3,
B=1/(ddy0·S2+6·dy0·S+12·y0-12·y1)。
(3)前两个极值点xa和xb都位于曲线终点,因此排除在外,只需要考虑xc和xd。通过xc和xd,可以求得其对应的极值点极值的大小分别为:
yc=f(xc)
yd=f(xd)
步骤S240,判断规划路径的曲线的极值点极值是否满足路径凸包限制条件,如果满足路径凸包限制条件,进入步骤S260,如果不满足路径凸包限制条件,进入步骤S250。
在步骤S240中,主要判断规划路径的曲线的极值点极值是否满足路径凸包限制条件,过程可以如下:判断极值点的位置xc和xd是否在曲线的起点到终点的长度范围内,若不在范围内,则将其对应的极值yc或yd置为0;选择yc和yd中的较大者设为ymax,较小者设为ymin;假设二分之一目标参考车道宽度为D0,车辆越过目标参考车道中心线的允许阈值为D1,则进行如下判断:若极值点初始位置的纵坐标y0大于0,则继续判断ymax是否大于D0,以及判断ymin是否小于-D1,如果二个判断条件中之一不满足,则确定不满足路径凸包限制条件,最终将返回路径超限的结果,否则确定满足路径凸包限制条件,最终将返回路径未超限的结果;若极值点初始位置的纵坐标y0小于或等于0(即不大于0),则继续判断ymin是否小于-D0,以及判断ymax是否大于D1,如果二个判断条件中之一不满足,则确定不满足路径凸包限制条件,最终将返回规划路径超限的结果,否则确定满足路径凸包限制条件,最终将返回路径未超限的结果。
步骤S250,确定规划路径超出路径限制。
该步骤最终返回规划路径超出路径限制的结果。
步骤S260,确定规划路径未超出路径限制。
该步骤最终返回规划路径未超出路径限制的结果。
进一步参见图3,是图2中步骤S240判断规划路径的曲线的极值点极值是否满足路径凸包限制条件的流程示意图。图3中的流程包括:
步骤S310,获取曲线的极值点的初始位置纵坐标y0、二分之一目标参考车道宽度值D0、车辆越过目标参考车道中心线的极限阈值D1、曲线的第一极值点极值ymax、曲线的第二极值点极值ymin,其中ymax大于ymin;
步骤S320,判断y0是否大于0,如果y0是大于0,进入步骤S330,否则,进入步骤S360;
步骤S330,判断ymax是否大于D0,如果ymax是大于D0,进入步骤S340,否则,进入步骤S380;
步骤S340,判断ymin是否小于-D1,如果ymin是小于-D1,进入步骤S350,否则,进入步骤S380;
步骤S350,确定规划路径的曲线的极值点极值满足路径凸包限制条件;
步骤S360,判断ymin是否小于-D0,如果ymin是小于-D0,进入步骤S370,否则,进入步骤S380;
步骤S370,判断ymax是否大于D1,如果ymax是大于D1,返回步骤S350,否则,进入步骤S380;
步骤S380,确定规划路径的曲线的极值点极值不满足路径凸包限制条件。
综上,本申请的路径检测方法,不再需要在规划路径上采样然后分析采样点和路径限制的相对关系,而是确定路径的形状,根据路径的边界条件与检测触发阈值的比较进行判断,及根据规划路径的曲线的极值点极值与路径凸包限制条件进行判断,计算更简单,结果更精确,可以快速实现对规划路径的检测和筛选,满足自动驾驶实时性需求。
与前述应用功能实现方法实施例相对应,本申请还提供了一种路径检测装置、汽车、非暂时性机器可读存储介质及相应的实施例。
参见图5,是本申请实施例示出的路径检测装置的结构示意图。
本申请提供一实施例的路径检测装置50,其包括:路径获取模块510、路径检测模块520。
路径获取模块510,用于获取规划路径和规划路径的边界条件,其中规划路径使用目标参考车道中心线作为参考线。路径获取模块510获取规划路径可以是根据当前参考车道中心线和目标参考车道中心线得到规划路径,其中规划路径使用目标参考车道中心线作为参考线;根据规划路径,获取规划路径的边界条件,该边界条件包括起点的航向和曲率。
路径检测模块520,用于将规划路径的边界条件与检测触发阈值进行比较,根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制。
在一实施例中,路径检测模块520可以包括:第一判断子模块5201、第二判断子模块5202、第一检测子模块5203、第二检测子模块5204、第三检测子模块5205。
第一判断子模块5201,用于将规划路径的边界条件与检测触发阈值进行比较,判断规划路径的边界条件是否满足检测触发阈值;
第二判断子模块5202,用于判断规划路径的曲线的极值点极值是否满足路径凸包限制条件;
第一检测子模块5203,用于根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制;
第二检测子模块5204,根据规划路径的边界条件满足检测触发阈值,且规划路径的曲线的极值点极值满足路径凸包限制条件,确定规划路径未超出路径限制;
第三检测子模块5205,用于根据规划路径的边界条件满足检测触发阈值,且规划路径的曲线的极值点极值不满足路径凸包限制条件,确定规划路径超出路径限制。
其中,第一检测子模块5203可以在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值小于设定阈值,则确定规划路径的边界条件不满足检测触发阈值。
第二检测子模块5204可以是在获取规划路径的起点的航向和曲率后,如果航向的绝对值和曲率的绝对值大于或等于设定阈值,则确定规划路径的边界条件满足检测触发阈值。
第二检测子模块5204确定规划路径的曲线的极值点极值满足路径凸包限制条件的过程可以包括:
当获取曲线的极值点的初始位置纵坐标y0、二分之一目标参考车道宽度值D0、车辆越过目标参考车道中心线的极限阈值D1、曲线的第一极值点极值ymax、曲线的第二极值点极值ymin之后;
在y0大于0、ymax大于D0且ymin小于-D1时,确定规划路径的曲线的极值点极值满足路径凸包限制条件;或,
在y0小于或等于0、ymin小于-D0且ymax大于D1时,确定规划路径的曲线的极值点极值满足路径凸包限制条件;
其中ymax大于ymin。
第三检测子模块5205确定规划路径的曲线的极值点极值不满足路径凸包限制条件的过程可以包括:
当获取曲线的极值点的初始位置纵坐标y0、二分之一目标参考车道宽度值D0、车辆越过目标参考车道中心线的极限阈值D1、曲线的第一极值点极值ymax、曲线的第二极值点极值ymin之后;
在y0小于或等于0且ymin大于或等于-D0时,确定规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在y0大于0且ymax小于或等于D0时,确定规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在y0大于0、ymax大于D0且ymin大于或等于-D1时,确定规划路径的曲线的极值点极值不满足路径凸包限制条件;或,
在y0小于或等于0、ymin小于-D0且ymax小于或等于D1时,确定规划路径的曲线的极值点极值不满足路径凸包限制条件;
其中ymax大于ymin。
其中,上述极值点极值可以按以下方式确定:根据规划路径的曲线的参数方程,得到曲线的一阶导数的参数方程;对曲线的一阶导数的参数方程进行求解运算,得到极值点极值。
综上,本申请的路径检测装置,在获取规划路径后,是根据规划路径的边界条件不满足检测触发阈值,确定规划路径未超出路径限制。这样的设计,不再需要在规划路径上采样然后分析采样点和路径限制的相对关系,而是确定路径的形状,根据路径的边界条件与检测触发阈值的比较进行判断,计算更简单,结果更精确,可以快速实现对规划路径的检测和筛选,满足自动驾驶实时性需求。
本申请还提供一种汽车,本申请的汽车包括上述任一实施例的路径检测装置。该路径检测装置的功能和结构可以参见图5中的描述,此处不再赘述。
参见图6,本申请还提供一种电子设备600,电子设备600包括存储器610和处理器620。存储器610上存储有可执行代码,当所述可执行代码被所述处理器620执行时,使所述处理器620执行上述任一实施例中所述的路径检测方法。
其中,处理器620可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器620、数字信号处理器620(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器620可以是微处理器620或者该处理器620也可以是任何常规的处理器620等。
存储器610可以包括各种类型的存储单元,例如***内存、只读存储器610(ROM),和永久存储***。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储***可以是可读写的存储***。永久存储***可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储***采用大容量存储***(例如磁或光盘、闪存)作为永久存储***。另外一些实施方式中,永久性存储***可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器620在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器610),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的方法中的部分或全部。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。