一种路径数据的处理方法、装置、车辆、可读介质
技术领域
本发明涉及数据处理领域,特别是涉及一种路径数据的处理方法和一种路径数据的处理装置、车辆、可读介质。
背景技术
随着科技的不断发展,无人驾驶越来越受到人们的青睐,许多车辆也配置了无人驾驶功能。而在车辆进行无人驾驶的时候,需要对车辆行驶的路径进行轨迹平滑,从而使得车辆在行驶过程中保持平稳,带给用户最舒适的乘坐体验,而现有的无人驾驶轨迹平滑方法,一般需要大量的算力,且计算效率较低,难以满足无人驾驶路径规划的实时性需求。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种路径数据的处理方法和相应的一种路径数据的处理装置。
为了解决上述问题,本发明实施例公开了一种路径数据的处理方法,所述方法包括:
获取车辆的预行驶路径以及多个曲线阶数;
按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合;
根据所述采样点集合生成拟合轨迹;
确定所述拟合轨迹对于所述预行驶路径的覆盖率;
确定最大的覆盖率所对应的曲线阶数为目标曲线阶数;
采用所述目标曲线阶数对所述预行驶路径进行优化,生成目标行驶路径。
可选地,所述获取车辆的预行驶路径的步骤,包括:
获取道路信息,以及车辆的实时行驶数据;
根据所述道路信息以及所述实时行驶数据,生成预行驶路径。
可选地,所述按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合的步骤,包括:
基于当前的所述曲线阶数,将所述预行驶路径分成多个路段;
在每个路段上随机生成采样点;
基于所述每个路段上的所述采样点,确定采样点集合。
可选地,所述根据所述采样点集合生成拟合轨迹的步骤,包括:
对所述采样点集合采用最小二乘法进行拟合,生成拟合轨迹。
可选地,所述确定所述拟合轨迹对于所述预行驶路径的覆盖率的步骤,包括:
以所述拟合轨迹为中心,在所述拟合轨迹的两侧分别设置冗余带宽;所述冗余带宽具有预设宽度;
获取位于所述冗余带宽之间的所述预行驶路径的目标长度;
采用所述目标长度和所述预行驶路径的长度,生成所述拟合轨迹对于所述预行驶路径的覆盖率。
可选地,所述多个曲线阶数通过以下方法获取:
基于所述预行驶路径,设置对应的曲线阶数范围;
获取位于所述曲线阶数范围内的多个曲线阶数。
可选地,所述采用所述目标曲线阶数对所述预行驶路径进行优化,生成目标行驶路径的步骤,包括:
采用最小二乘法以所述目标曲线阶数对所述预行驶路径进行拟合,生成目标行驶路径。
本发明实施例还公开了一种路径数据的处理装置,所述装置包括:
路径信息获取模块,用于获取车辆的预行驶路径以及多个曲线阶数;
采样点确定模块,用于按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合;
拟合轨迹生成模块,用于根据所述采样点集合生成拟合轨迹;
覆盖率确定模块,用于确定所述拟合轨迹对于所述预行驶路径的覆盖率;
目标曲线阶数确定模块,用于确定最大的覆盖率所对应的曲线阶数为目标曲线阶数;
优化模块,用于采用所述目标曲线阶数对所述预行驶路径进行优化,生成目标行驶路径。
本发明实施例还公开了一种车辆,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述车辆执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
本发明实施例中,获取车辆的预行驶路径以及多个曲线阶数,按照曲线阶数,确定与预行驶路径匹配的采样点集合,根据采样点集合生成拟合轨迹,确定拟合轨迹对于预行驶路径的覆盖率,确定最大的覆盖率所对应的曲线阶数为目标曲线阶数,采用目标曲线阶数对预行驶路径进行优化,生成目标行驶路径,该目标行驶路径的生成过程无需复杂的计算,实现简单,可以部署在算力较低的底层控制器中,且计算效率较高,可以快速实现对预行驶路径的平滑处理,满足无人驾驶路径规划的实时性需求。
附图说明
图1是本发明的一种路径数据的处理方法实施例的步骤流程图;
图2是本发明的另一种路径数据的处理方法实施例的步骤流程图;
图3是本发明的一种将预行驶路径分成多个路段的示意图;
图4是本发明的一种在预行驶路径上生成采样点的示意图;
图5是本发明的一种采用最小二乘法对采集点集合进行拟合的示意图;
图6是本发明的一种以拟合轨迹为中心设置冗余区域的示意图;
图7是本发明的一种确定覆盖率的示意图;
图8是本发明的一种生成目标行驶路径的示意图;
图9是本发明的一种路径数据的处理过程的步骤流程图;
图10是本发明的一种路径数据的处理装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,获取车辆在行驶道路上的预行驶路径,以及与预行驶路径对应的多个曲线阶数,按照曲线阶数在预行驶路径上生成多个采样点,根据多个采样点所生成的采样点集合生成拟合轨迹,确定拟合轨迹对于预行驶路径的覆盖率,从而选择覆盖率最大的曲线阶数为目标曲线阶数,采用目标曲线阶数对预行驶路径进行优化,生成目标行驶路径,生成过程无需复杂的计算,实现简单且计算效率较高,可以快速实现对预行驶路径的平滑处理,满足无人驾驶路径规划的实时性需求。
参照图1,示出了本发明的一种路径数据的处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取车辆的预行驶路径以及多个曲线阶数;
本发明实施例中,车辆的预行驶路径指车辆在行驶过程中,根据即将行驶的前方道路所生成的路径,通常为曲线,而曲线阶数则与定义一条曲线的最少使用的点有关,例如,从数学意义上画一条直线最少用两个点定义,画一条抛物线或圆弧最少需要三个点定义,k次曲线需要由k+1个点来定义,即点的数量大于或等于曲线阶数加一,当曲线阶数越大,则用于定义该曲线的点的数量则越多,曲线的连续性和光滑性也越好。
获取车辆的预行驶路径,以及与预行驶路径对应的多个曲线阶数。
步骤102,按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合;
在获取了车辆的预行驶路径和多个曲线阶数后,遍历所有的曲线阶数,分别按照每个曲线阶数,在预行驶路径上生成多个采样点,多个采样点构成采样点集合。
步骤103,根据所述采样点集合生成拟合轨迹;
对采样点集合中的多个采样点进行曲线拟合,生成拟合轨迹。
步骤104,确定所述拟合轨迹对于所述预行驶路径的覆盖率;
基于生成的拟合轨迹和预行驶路径,计算拟合轨迹对于预行驶路径的覆盖率,具体的,可以沿着拟合轨迹生成带状区域,通过计算预行驶路径在带状区域内的长度,以及预行驶路径总的长度的占比,即可获取该拟合轨迹对于预行驶路径的覆盖率。
步骤105,确定最大的覆盖率所对应的曲线阶数为目标曲线阶数;
由于每个曲线阶数均可生成一条拟合轨迹,且每条拟合轨迹均具有对于预行驶路径的覆盖率,因此从与多个曲线阶数分别对应的拟合轨迹的覆盖率中,将覆盖率最大的曲线阶数确定为最优曲线阶数,即目标曲线阶数。
步骤106,采用所述目标曲线阶数对所述预行驶路径进行优化,生成目标行驶路径。
在确定了目标曲线阶数之后,采用目标曲线阶数对预行驶路径进行曲线拟合,优化预行驶路径,生成目标行驶路径,车辆即可根据目标行驶路径行驶。
在本发明实施例中,通过获取车辆的预行驶路径以及多个曲线阶数,按照曲线阶数,确定与预行驶路径匹配的采样点集合,根据采样点集合生成拟合轨迹,确定拟合轨迹对于预行驶路径的覆盖率,确定最大的覆盖率所对应的曲线阶数为目标曲线阶数,采用目标曲线阶数对预行驶路径进行优化,生成目标行驶路径,该目标行驶路径的生成过程无需复杂的计算,可以部署在算力较低的底层控制器中,且计算效率较高,可以快速实现对预行驶路径的平滑处理,满足无人驾驶路径规划的实时性需求。
参考图2,示出了本发明的另一种路径数据的处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,获取车辆的预行驶路径以及多个曲线阶数;
在本发明一种可选实施例中,所述步骤201还包括如下子步骤:
获取道路信息,以及车辆的实时行驶数据;
根据所述道路信息以及所述实时行驶数据,生成预行驶路径。
具体的,在车辆行驶的过程中,可以通过互联网下载当前所在区域的高清地图,从而获取当前所行驶的道路的道路信息,而通过车辆上装载的传感器则可以获取车辆的实时行驶数据,例如当前车速、加速度等,将道路信息与实时行驶数据结合即可生成车辆在行驶道路上的预行驶路径。
在本发明的另一种可选实施例中,所述多个曲线阶数通过以下方法获取:
基于所述预行驶路径,设置对应的曲线阶数范围;
获取位于所述曲线阶数范围内的多个曲线阶数。
在获取预行驶路径之后,可以对预行驶路径设置曲线阶数范围,例如,可设置曲线阶数范围为2-4,则表示预行驶路径的曲线阶数可以取2阶、3阶和4阶,通常情况下,曲线阶数范围设置为2阶至5阶。
步骤202,按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合;
在本发明一种可选实施例中,所述步骤202还包括如下子步骤:
基于当前的所述曲线阶数,将所述预行驶路径分成多个路段;
在每个路段上随机生成采样点;
基于所述每个路段上的所述采样点,确定采样点集合。
遍历所获取的多个曲线阶数,针对当前的曲线阶数,可以将预行驶路径分成多个长度相等的路段,具体的,路段的数目可以为阶数加一,如图3所示,例如当前的曲线阶数为2阶,则将预行驶路径301分成3段。在将预行驶路径分段后,再在每个路段上随机生成一个采样点,如图4所示,401、402以及403为随机生成的采样点,将这三个点确定为当前曲线阶数对应的采集点集合。
步骤203,根据所述采样点集合生成拟合轨迹;
在本发明一种可选实施例中,所述根据所述行驶模式以及所述行驶速度,生成场景信息的步骤,还包括如下子步骤:
对所述采样点集合采用最小二乘法进行拟合,生成拟合轨迹。
最小二乘法是一种数学优化技术,又被称为最小平方法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。如图5所示,对包括三个采样点的采样点集合采用最小二乘法进行拟合,得到拟合轨迹501。
步骤204,确定所述拟合轨迹对于所述预行驶路径的覆盖率;
在本发明一种可选实施例中,所述步骤204,还包括如下子步骤:
以所述拟合轨迹为中心,在所述拟合轨迹的两侧分别设置冗余带宽;所述冗余带宽具有预设宽度;
获取位于所述冗余带宽之间的所述预行驶路径的目标长度;
采用所述目标长度和所述预行驶路径的长度,生成所述拟合轨迹对于所述预行驶路径的覆盖率。
具体的,如图6所示,以拟合轨迹601为中心,可以在拟合轨迹601的两侧分别设置一个冗余带宽区域,602和603分别为冗余带宽区域的两条边界线,两条边界线与拟合轨迹之间的距离相等,为预设宽度。在设置了冗余带宽之后,如图7所示,获取落入冗余带宽区域内的预行驶路径的长度,为701、702以及703三段,即目标长度,目标长度之和与预行驶路径的总长度之比,即为拟合轨迹对预行驶路径的覆盖率。
步骤205,确定最大的覆盖率所对应的曲线阶数为目标曲线阶数;
在遍历了所有的曲线阶数,为每个曲线阶数生成对应的覆盖率之后,可以从多个覆盖率之中确定最大的覆盖率,该覆盖率所对应的曲线阶数即为用于进行曲线拟合的最优曲线阶数,即目标曲线阶数。
步骤206,采用最小二乘法以所述目标曲线阶数对所述预行驶路径进行拟合,生成目标行驶路径。
具体的,可以采用最小二乘法以目标曲线阶数对预行驶路径进行曲线拟合,如图8所示,生成目标行驶路径801。在生成目标行驶路径之后,车辆可根据目标行驶路径沿道路行驶。
在本发明实施例中,获取道路信息,以及车辆的实时行驶数据,生成预行驶路径,基于预行驶路径,设置对应的曲线阶数范围,获取位于所述曲线阶数范围内的多个曲线阶数,按照曲线阶数,确定与预行驶路径匹配的采样点集合,对采样点集合采用最小二乘法进行拟合,生成拟合轨迹,以拟合轨迹为中心,在拟合轨迹的两侧分别设置冗余带宽,获取位于冗余带宽之间的预行驶路径的目标长度,采用目标长度和预行驶路径的长度,生成拟合轨迹对于预行驶路径的覆盖率,确定最大的覆盖率所对应的曲线阶数为目标曲线阶数,采用最小二乘法以目标曲线阶数对预行驶路径进行拟合,生成目标行驶路径,该目标行驶路径的生成过程采用了最小二乘法对预行驶路径进行曲线拟合,计算方法简单且便于实现,效率较高,可快速完成对预行驶路径的平滑处理,提高了无人驾驶过程中路径规划的效率。
为方便本领域技术人员理解本发明,下面将举例进行描述,如图9所示,为本发明的一种步骤流程图,具体如下:
车辆行驶过程中,当用户选择了无人驾驶功能后,车载系统根据行驶道路的道路信息以及车辆当前的行驶速度和加速度等,生成了预行驶路径后,设定预行驶路径的曲线阶数范围为2-4阶,然后从曲线阶数2阶开始对预行驶路径进行均匀分段,段数为对应的阶数加一。因此当曲线阶数为2时,将预行驶路径均匀分成3段,在每个路段上随机采样一个点,将所有生成的采样点确定为采样点集合,使用最小二乘法对采样点集合进行拟合,得到拟合轨迹,以拟合轨迹为中心设置冗余宽带,冗余带宽的边界与拟合轨迹之间具有预设宽度,将落入冗余带宽之中的预设路径的长度之和与预设路径的总长度之和的比值作为覆盖率。确定了曲线阶数为2阶的覆盖率后,依次确定将曲线阶数设置为3阶以及4阶时的覆盖率,然后从3个对应不同曲线阶数的覆盖率之中选择覆盖率最大的曲线阶数作为最优曲线阶数,通过最小二乘法以最优曲线阶数拟合预行驶路径,得到经过优化之后的目标行驶路径,车辆根据该目标行驶路径进行无人驾驶,该优化方式计算简便,速度快,带给用户舒适的乘坐体验。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明的一种路径数据的处理装置实施例的结构框图,具体可以包括如下模块:
路径信息获取模块901,用于获取车辆的预行驶路径以及多个曲线阶数;
采样点确定模块902,用于按照所述曲线阶数,确定与所述预行驶路径匹配的采样点集合;
拟合轨迹生成模块903,用于根据所述采样点集合生成拟合轨迹;
覆盖率确定模块904,用于确定所述拟合轨迹对于所述预行驶路径的覆盖率;
目标曲线阶数确定模块905,用于确定最大的覆盖率所对应的曲线阶数为目标曲线阶数;
优化模块906,用于采用所述目标曲线阶数对所述预行驶路径进行优化,生成目标行驶路径。
在本发明一实施例中,所述路径信息获取模块901包括:
信息获取子模块,用于获取道路信息,以及车辆的实时行驶数据;
预行驶路径生成子模块,用于根据所述道路信息以及所述实时行驶数据,生成预行驶路径。
在本发明一实施例中,所述采样点确定模块902包括:
路段子模块,用于基于当前的所述曲线阶数,将所述预行驶路径分成多个路段;
采样点生成子模块,用于在每个路段上随机生成采样点;
采样点集合确定子模块,用于基于所述每个路段上的所述采样点,确定采样点集合。
在本发明一实施例中,所述拟合轨迹生成模块903,还包括:
拟合子模块,用于对所述采样点集合采用最小二乘法进行拟合,生成拟合轨迹。
在本发明一实施例中,所述覆盖率确定模块904,还包括:
冗余带宽子模块,用于以所述拟合轨迹为中心,在所述拟合轨迹的两侧分别设置冗余带宽;所述冗余带宽具有预设宽度;
目标长度获取子模块,用于获取位于所述冗余带宽之间的所述预行驶路径的目标长度;
覆盖率生成子模块,用于采用所述目标长度和所述预行驶路径的长度,生成所述拟合轨迹对于所述预行驶路径的覆盖率。
在本发明一实施例中,所述路径信息获取模块901,还包括:
阶数范围设置子模块,用于基于所述预行驶路径,设置对应的曲线阶数范围;
曲线阶数获取模块,用于获取位于所述曲线阶数范围内的多个曲线阶数。
在本发明一实施例中,所述优化模块906,还包括:
预行驶路径拟合子模块,用于采用最小二乘法以所述目标曲线阶数对所述预行驶路径进行拟合,生成目标行驶路径。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还公开了一种车辆,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述车辆执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种路径数据的处理方法和一种路径数据的处理装置、车辆和可读介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。