一种车辆轨迹点确定方法、装置、车辆及存储介质与流程

文档序号:22630833发布日期:2020-10-23 19:57阅读:167来源:国知局
一种车辆轨迹点确定方法、装置、车辆及存储介质与流程

本发明实施例涉及自动驾驶控制技术,尤其涉及一种车辆轨迹点确定方法、装置、车辆及存储介质。



背景技术:

随着现代科学技术的发展,自动驾驶逐渐成为未来车辆发展的方向。自动驾驶是指通过计算机、传感器、互联网、物联网及移动通信等技术,实现无人驾驶的一种技术,在自动驾驶技术中轨迹跟踪尤为重要,而轨迹跟踪主要是通过对轨迹点进行拟合进而跟踪的过程。

现有技术中,自动驾驶车辆对轨迹点进行拟合采用的是移动平均滤波的方法,该方法是首先选取现有点中临近且连续的部分点,然后通过计算选中点的三维坐标的平均值作为拟合之后的点。

但是采用上述方法对轨迹点进行拟合时,在弯道处拟合的点与预设轨迹点之间的误差较大,进而导致在实际自动驾驶工况中,车辆轨迹偏移预设轨迹过多,容易发成车辆事故。



技术实现要素:

本发明实施例提供了一种车辆轨迹点确定方法、装置、车辆及存储介质,通过非均匀b样条方法确定车辆待行驶轨迹点,在弯道处误差偏小,更具有安全性、可靠性。

第一方面,本发明实施例提供了一种车辆轨迹点确定方法,该方法包括:

从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息;

根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点;

将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点。

第二方面,本发明实施例提供了一种车辆轨迹点确定装置,该装置包括:

信息确定模块,用于从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息;

轨迹点拟合模块,用于根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点;

轨迹点确定模块,用于将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点。

第三方面,本发明实施例提供了一种车辆,该车辆包括:

一个或多个控制器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个控制器执行,使得所述一个或多个控制器实现本发明任意实施例所述的车辆轨迹点确定方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被控制器执行时实现本发明任意实施例所述的车辆轨迹点确定方法。

本发明实施例提供了一种车辆轨迹点确定方法、装置、车辆及存储介质,首先从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息,然后根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点,最后将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点,通过非均匀b样条方法确定车辆待行驶轨迹点,在弯道处拟合误差较小,更具有安全性、可靠性,避免了在车辆轨迹偏移预先轨迹过多时,发成事故。

附图说明

图1a为本发明实施例一提供的一种车辆轨迹点确定方法的流程图;

图1b为本发明实施例一提供的方法中通过非均匀b样条拟合各候选轨迹点过程的流程图;

图2为本发明实施例二提供的一种车辆轨迹点确定装置的结构示意图;

图3为本发明实施例三提供的一种车辆的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种车辆轨迹点确定方法的流程图,本实施例可适用于对任一车辆的轨迹点进行确定的情况。本实施例提供的一种车辆轨迹点确定方法可以由本发明实施例提供的一种车辆轨迹点确定装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的车辆中,该车辆可以是自动驾驶车辆。

参考图1a,该方法包括但不限于如下步骤:

s110,从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息。

其中,候选轨迹点集合可以为需要拟合的车辆行驶过程中录制的轨迹点,本实施例中车辆会预先在目标车道中行驶一次,在这次行驶过程中可以通过车辆上配备的全球定位系统(globalpositioningsystem,简称gps)或者惯性测量仪(inertialmeasurementunit,简称imu)录制轨迹信息,该轨迹信息上包含了许多目标点,这些目标点就组成了候选轨迹点集合。

由于候选轨迹点集合中包含了各个候选轨迹点的点数据信息,例如坐标,那么根据gps或者imu录制的轨迹信息,可以得到候选轨迹点集合,从而根据预先给定的候选轨迹点集合可以获取到各候选轨迹点的点数据信息,便于后续对候选轨迹点进行拟合。

可选的,由于根据gps或者imu录制的轨迹信息可能会存在误差,此时可以通过卡尔曼滤波方法来降低轨迹信息的误差,之后再根据轨迹信息,确定候选轨迹点集合。

进一步的,在获取各候选轨迹点的点数据信息之后,还要判断轨迹点的点数据信息是否为空,若是,则提示轨迹点的点数据信息为空,无需进行后续的拟合操作;若否,则执行s120-s130。

本实施例中,在得到候选轨迹点集合之后,把各候选轨迹点存储在预先建立的point类中。

s120,根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点。

其中,非均匀b样条是用于产生和表示曲线及曲面的一种方法,为处理解析函数和模型形状提供了灵活性和精确性。非均匀是指曲线的控制点的控制力能够改变,因此曲线的变化可以有密有疏,变化自由灵活,b样条是指b样条曲线,b样条曲线由多段曲线首尾相接而成,能够给予控制更大自由。

在得到各候选轨迹点的点数据信息之后,为了确定车辆的待行驶轨迹点,此时首先需要对候选轨迹点进行拟合,本实施例主要是通过非均匀b样条方法根据各候选轨迹点的点数据信息来对各候选轨迹点进行拟合。采用非均匀b样条方法拟合的好处是:在弯道处拟合误差较小,避免出现车辆与路边障碍物碰撞的问题,提高了安全性,且整体曲线的贴合程度较高。

本实施例中,通过非均匀b样条拟合各候选轨迹点这一过程主要是在预先建立的bspline类中进行,此类是车辆轨迹点确定方法中的功能类。

进一步的,图1b为本发明实施例一提供的方法中通过非均匀b样条拟合各候选轨迹点过程的流程图,参考图1b,该过程包括但不限于如下步骤:

s1201,根据各所述点数据信息,确定与所述候选轨迹点数量相同的节点矢量,构成节点矢量序列。

其中,对于非均匀b样条方法,节点矢量可以为任意分布的,只要在数学上成立都可以选取。

在得到各候选轨迹点的点数据信息之后,根据各个候选轨迹点的点数据信息,可以得到与各个候选轨迹点相对应的节点矢量,此时节点矢量的个数与候选轨迹点的个数是相同的,将与各个候选轨迹点相对应的节点矢量按照各个候选点的位置连线顺序排列,就构成了节点矢量序列。

本实施例中,通过bspline类中的noaveragenodevector()函数来进行节点矢量的确定,noaveragenodevector()是采用非均匀的方式来确定节点矢量。

可选的,所述根据各所述点数据信息,确定与所述候选轨迹点数量相同的节点矢量,构成节点矢量序列,可以具体包括:

根据各所述点数据信息,确定相邻两候选轨迹点的位置距离,并确定各所述位置距离的距离和;从首个候选轨迹点作为当前轨迹点;将所述距离和作为分母,将所述当前轨迹点及之前各候选轨迹点的位置距离之和作为分子,将所述当前轨迹点及之前各候选轨迹点的位置距离之和与所述距离和的比值作为所述当前轨迹点对应的节点矢量,其中,所述当前轨迹点为首个候选轨迹点时,所述位置距离之和为0;按照各所述候选轨迹点的位置连线顺序选取候选轨迹点作为新的当前轨迹点,返回执行所对应节点矢量的确定操作,直至各候选轨迹点均被选取;基于确定的各节点矢量形成节点矢量序列。

首先从各个点数据信息中,可以知道各个候选轨迹点的坐标信息,从而可以计算出相邻两候选轨迹点的位置距离,将各相邻两候选轨迹点的位置距离相加,能够得到各位置距离的距离和,接着把首个候选轨迹点作为当前轨迹点,将各候选轨迹点的位置距离之和作为分母,将当前轨迹点及之前各候选轨迹点的位置距离之和作为分子,将当前轨迹点及之前各候选轨迹点的位置距离之和与各位置距离的距离和的比值作为当前轨迹点对应的节点矢量,其中,当前轨迹点为首个候选轨迹点时,由于在首个轨迹点之前没有其他的轨迹点,那么当前轨迹点及之前各候选轨迹点的位置距离之和就为0,因此首个候选轨迹点对应的节点矢量也为0,然后按照各候选轨迹点的位置连线顺序依次选取候选轨迹点作为新的当前轨迹点,返回执行所对应节点矢量的确定操作,直到各候选轨迹点均被选取,也就是说每一个候选轨迹点对应的节点矢量都确定了,最后把确定的各节点矢量按照各候选轨迹点的位置连线顺序排列,就能够得到节点矢量序列。

示例性的,假设候选轨迹点有四个,第一个轨迹点到第二个轨迹点的位置距离为s1,第二个轨迹点到第三个轨迹点的位置距离为s2,第三个轨迹点到第四个轨迹点的位置距离为s3,将各位置距离的距离和记为s,则s=s1+s2+s3。将第一个轨迹点作为当前轨迹点,则第一个轨迹点对应的节点矢量为0,以此类推,第二个轨迹点对应的节点矢量为第三个轨迹点对应的节点矢量为第二个轨迹点对应的节点矢量为1。

需要说明的是,采用本实施例中节点矢量计算方法得到的节点矢量是不相等的,所以节点矢量序列是非均匀的。

s1202,针对每个候选轨迹点,根据所述节点矢量序列及设定的基函数次数,结合给定的基函数计算公式,确定所述候选轨迹点在各递推层下对应的基函数,其中,所述递推层的最小取值为0,最大取值为所述基函数次数。

其中,基函数次数是人为设定的,一般取3或者4,递推层的层数是由基函数次数决定的。

在确定了节点矢量序列之后,为了对候选轨迹点进行拟合,还需要确定各候选轨迹点对应的基函数。对于每个候选轨迹点,根据节点矢量序列、预先设定的基函数次数,以及给定的基函数计算公式,就能够计算出每个候选轨迹点在各递推层下对应的基函数,递推层的最小取值为0,最大取值为基函数次数。

可选的,所述基函数计算公式可以表示为:

其中,ui为第i个节点矢量,ni,k(u)(i=0,1,…n)为第i个k次基函数,k为基函数次数,u为节点矢量的非递减参数,基函数是由节点矢量的非递减参数u的序列:u0≤u1≤…≤un所决定的k次分段多项式。

具体的,上述递推公式中k为递推层,最小取值为0,最大取值为基函数次数;是为了避免出现当分母为0时无意义的情况。在计算基函数时,只有在相邻节点矢量之间的基函数才有值,其他基函数的值都为0。

本实施例中,通过bspline类中的coxdeboor()函数以递推的方式实现基函数的计算。

s1203,针对每个节点矢量,根据各所述候选轨迹点的点数据信息及相应的基函数,结合设定的拟合点确定公式,确定所述节点矢量下对应的目标坐标点。

在确定了各候选轨迹点的点数据信息及相应的基函数之后,对于每一个节点矢量,根据各候选轨迹点的点数据信息、相应的基函数以及设定的拟合点确定公式,进行计算可以确定节点矢量下对应的拟合点,将得到的拟合点作为目标坐标点。

可选的,所述拟合点确定公式可以表示为:

其中,p(u)为拟合点坐标,u为节点矢量的非递减参数,di(i=0,1,…n)为候选轨迹点坐标,ni,k(u)(i=0,1,…n)为第i个k次基函数,k为基函数次数。

具体的,上述公式中的k取基函数的次数,是一个定值。

本实施例中,通过bspline类中的bsplinepoint()函数,将当前轨迹点对应的所有基函数与各候选轨迹点形成的坐标矩阵相乘,然后累加得到当前轨迹点的拟合点坐标,并将拟合点坐标作为目标坐标点的坐标。由于只对非0项基函数进行相应的拟合点的计算,因此可以节省计算时间。

本实施例中,在得到各候选轨迹点的拟合点坐标之后,把各拟合点坐标存储在预先建立的nodevector_struct类中。

s130,将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点。

对于每一个候选轨迹点都得到了对应的目标坐标点,那么将拟合后形成的目标坐标点作为车辆的待行驶轨迹点,根据待行驶轨迹点就能控制车辆行驶,由于通过非均匀b样条拟合得到的目标坐标点比较准确,因此可以避免车辆与路边障碍物碰撞,提高了车辆行驶过程中的安全性。

本实施例提供的技术方案,首先从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息,然后根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点,最后将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点,通过非均匀b样条方法确定车辆待行驶轨迹点,在弯道处误差偏小,更具有安全性、可靠性,避免了在车辆轨迹偏移预先轨迹过多时,发成事故。

实施例二

图2为本发明实施例二提供的一种车辆轨迹点确定装置的结构示意图。如图2所示,该装置可以包括:

信息确定模块210,用于从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息;

轨迹点拟合模块220,用于根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点;

轨迹点确定模块230,用于将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点。

本实施例提供的技术方案,首先从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息,然后根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点,最后将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点,通过非均匀b样条方法确定车辆待行驶轨迹点,在弯道处误差偏小,更具有安全性、可靠性,避免了在车辆轨迹偏移预先轨迹过多时,发成事故。

进一步的,上述车辆轨迹点确定装置,还可以包括:

矢量序列构成模块,用于根据各所述点数据信息,确定与所述候选轨迹点数量相同的节点矢量,构成节点矢量序列;

基函数确定模块,用于针对每个候选轨迹点,根据所述节点矢量序列及设定的基函数次数,结合给定的基函数计算公式,确定所述候选轨迹点在各递推层下对应的基函数,其中,所述递推层的最小取值为0,最大取值为所述基函数次数;

目标坐标点确定模块,用于针对每个节点矢量,根据各所述候选轨迹点的点数据信息及相应的基函数,结合设定的拟合点确定公式,确定所述节点矢量下对应的目标坐标点。

进一步的,上述矢量序列构成模块,可以具体用于:

根据各所述点数据信息,确定相邻两候选轨迹点的位置距离,并确定各所述位置距离的距离和;从首个候选轨迹点作为当前轨迹点;将所述距离和作为分母,将所述当前轨迹点及之前各候选轨迹点的位置距离之和作为分子,将所述当前轨迹点及之前各候选轨迹点的位置距离之和与所述距离和的比值作为所述当前轨迹点对应的节点矢量,其中,所述当前轨迹点为首个候选轨迹点时,所述位置距离之和为0;按照各所述候选轨迹点的位置连线顺序选取候选轨迹点作为新的当前轨迹点,返回执行所对应节点矢量的确定操作,直至各候选轨迹点均被选取;基于确定的各节点矢量形成节点矢量序列。

进一步的,所述基函数计算公式表示为:

其中,ui为第i个节点矢量,ni,k(u)(i=0,1,…n)为第i个k次基函数,k为基函数次数,u为节点矢量的非递减参数,基函数是由节点矢量的非递减参数u的序列:u0≤u1≤…≤un所决定的k次分段多项式。

进一步的,所述拟合点确定公式表示为:

其中,p(u)为拟合点坐标,u为节点矢量的非递减参数,di(i=0,1,…n)为候选轨迹点坐标,ni,k(u)(i=0,1,…n)为第i个k次基函数,k为基函数次数。

本实施例提供的车辆轨迹点确定装置可适用于上述任意实施例提供的车辆轨迹点确定方法,具备相应的功能和有益效果。

实施例三

图3为本发明实施例三提供的一种车辆的结构示意图,如图3所示,该车辆包括控制器310、存储装置320和通信装置330;车辆中控制器310的数量可以是一个或多个,图3中以一个控制器310为例;车辆中的控制器310、存储装置320和通信装置330可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储装置320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的车辆轨迹点确定方法对应的模块(例如,用于车辆轨迹点确定装置中的信息确定模块210、轨迹点拟合模块220和轨迹点确定模块230)。控制器310通过运行存储在存储装置320中的软件程序、指令以及模块,从而执行车辆的各种功能应用以及数据处理,即实现上述的车辆轨迹点确定方法。

存储装置320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置320可进一步包括相对于控制器310远程设置的存储器,这些远程存储器可以通过网络连接至车辆。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信装置330,用于实现服务器之间的网络连接或者移动数据连接。

本实施例提供的一种车辆可用于执行上述任意实施例提供的车辆轨迹点确定方法,具备相应的功能和有益效果。

实施例四

本发明实施例四还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被控制器执行时实现本发明任意实施中的车辆轨迹点确定方法,该方法具体包括:

从预先给定的候选轨迹点集合获取各所述候选轨迹点的点数据信息;

根据各所述候选轨迹点的点数据信息,通过非均匀b样条拟合各所述候选轨迹点;

将拟合后形成的目标坐标点确定为车辆的待行驶轨迹点。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的车辆轨迹点确定方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述车辆轨迹点确定装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1