路径规划方法及装置、存储介质与流程

文档序号:20782281发布日期:2020-05-19 21:21阅读:146来源:国知局
路径规划方法及装置、存储介质与流程

本公开涉及无人驾驶领域,尤其涉及路径规划方法及装置、存储介质。



背景技术:

在无人驾驶领域,规划的路径需要满足连续、平滑和曲率约束等多个条件。如果待规划的路径中所需要经过的基准点较多,手动确定分段数目或不分段,最终对路径进行规划后得到的曲线无法满足平滑条件。



技术实现要素:

本公开提供了一种路径规划方法及装置、存储介质。

根据本公开实施例的第一方面,提供一种路径规划方法,所述方法包括:获取待规划的所述路径所包括的多个基准点的信息;根据所述多个基准点的信息,对所述路径进行分段,得到分段结果;根据所述分段结果,确定规划后的目标路径。

在一些可选实施例中,所述多个基准点的信息包括:所述路径的起点的位置信息、所述起点的方向信息、所述路径的终点的位置信息、所述终点的方向信息、所述起点和所述终点之间经过的点的位置信息。

在一些可选实施例中,所述根据所述多个基准点的信息,对所述路径进行分段,得到分段结果,包括:针对所述路径,执行第一处理过程;其中,所述第一处理过程包括:根据所述路径的多个基准点的信息,拟合得到第一曲线;若所述多个基准点中存在符合设定条件的参考点,则根据所述参考点,将所述路径划分为两个分段;将本次确定出的两个分段分别作为新的路径,重复执行所述第一处理过程,直至最终确定出的每个分段所包括的多个基准点中均不存在符合所述设定条件的参考点,获得所述分段结果。

在一些可选实施例中,所述根据所述多个基准点的信息,对所述路径进行分段,得到分段结果,包括:针对所述路径,执行第二处理过程;其中,所述第二处理过程包括:根据所述路径的多个基准点的信息,拟合得到第一曲线;若所述多个基准点中不存在符合设定条件的参考点,则确定所述分段结果为所述路径包括的所述多个基准点属于同一分段。

在一些可选实施例中,所述方法还包括:确定所述多个基准点分别到所述第一曲线的第一距离值;判断所述多个基准点中是否存在所述第一距离值满足预设距离条件的基准点;若是,则确定所述多个基准点中存在符合所述设定条件的参考点;若否,则确定所述多个基准点中不存在符合所述设定条件的参考点。

在一些可选实施例中,所述判断所述多个基准点中是否存在所述第一距离值满足预设距离条件的基准点,包括:在所述多个基准点中,确定是否存在所述第一距离值大于预设阈值的基准点;如果不存在所述第一距离值大于所述预设阈值的基准点,则确定所述多个基准点中不存在所述第一距离值满足所述预设距离条件的所述基准点;如果存在所述第一距离值大于所述预设阈值的基准点,将所述第一距离值的最大值对应的基准点作为满足所述预设距离条件的所述基准点。

在一些可选实施例中,所述根据所述参考点,将所述路径划分为两个分段,包括:将所述路径的起点、所述参考点、以及所述起点和所述参考点之间经过的基准点划分为其中一个分段,将所述参考点、所述路径的终点、以及所述参考点和所述终点之间经过的基准点划分为另一个分段。

在一些可选实施例中,所述根据所述分段结果,确定规划后的目标路径,包括:确定所述分段结果中包括的每个分段所对应的目标曲线函数;根据所述目标曲线函数,确定规划后的所述目标路径。

在一些可选实施例中,所述确定所述分段结果中包括的每个分段所对应的目标曲线函数,包括:将所述分段结果输入预先训练好的曲线函数模型,获得曲线函数模型输出的与所述分段结果所包括的每个分段对应的目标曲线函数。

在一些可选实施例中,采用以下方式训练所述曲线函数模型:根据分段样本结果,初始化预设曲线函数中的系数,得到所述分段样本结果所包括的每个分段对应的备选曲线函数;确定所述分段样本结果所包括的每个分段所对应的曲线损失函数;根据所述每个分段对应的所述曲线损失函数,对所述分段样本结果所包括的每个分段对应的所述备选曲线函数中的系数进行迭代更新,并响应于满足停止迭代更新条件,得到训练好的曲线函数模型。

在一些可选实施例中,所述预设曲线函数采用m阶样条函数,其中,m为大于或等于5的正整数。

在一些可选实施例中,所述根据分段样本结果,初始化预设曲线函数中的系数,得到所述分段样本结果所包括的每个分段对应的备选曲线函数,包括:根据所述分段样本结果所包括的每个分段中的多个基准点,初始化预设曲线函数中的至少一个第一系数;对所述预设曲线函数中除了所述第一系数外的第二系数进行随机初始化,得到所述分段样本结果所包括的每个分段对应的备选曲线函数。

在一些可选实施例中,所述曲线损失函数至少包括距离损失函数和曲率损失函数。

在一些可选实施例中,确定所述分段样本结果所包括的每个分段所对应的所述距离损失函数,包括:在所述分段样本结果所包括的每个分段对应的所述备选曲线函数所生成的曲线上,为所述分段样本结果所包括的每个分段中的多个基准点分别确定距离最小的一个映射点;将所述分段样本结果所包括的每个分段中的基准点与各自对应的所述映射点之间的距离的和值,作为所述分段样本结果所包括的每个分段所对应的所述距离损失函数。

在一些可选实施例中,确定所述分段样本结果所包括的每个分段所对应的所述曲率损失函数,包括:在所述分段样本结果所包括的每个分段所对应的所述备选曲线函数所生成的曲线上进行相同间距的采样,获得多个采样点;确定所述多个采样点在所述曲线上分别对应的曲率值;根据所述分段样本结果所包括的每个分段中的所述多个采样点分别对应的所述曲率值,确定所述分段样本结果所包括的每个分段所对应的所述曲率损失函数。

在一些可选实施例中,所述根据所述分段样本结果所包括的每个分段中的所述多个采样点分别对应的所述曲率值,确定所述分段样本结果所包括的每个分段所对应的所述曲率损失函数,包括:确定任意相邻的第二采样点和第一采样点的曲率值之间的差值,得到多个第一差值;确定所述多个第一差值的第一和值与预设的第一权重值之间的第一乘积值;确定与所述第二采样点相邻的第三采样点与所述第二采样点的曲率值之间的差值,得到多个第二差值;确定所述多个第二差值与对应的所述多个第一差值之间的差值,得到多个第三差值;确定所述多个第三差值的第二和值与预设的第二权重值之间的第二乘积值;将所述第一乘积值和所述第二乘积值的和值作为所述分段样本结果所包括的每个分段对应的所述曲率损失函数。

根据本公开实施例的第二方面,提供一种路径规划装置,所述装置包括:获取模块,用于获取待规划的所述路径所包括的多个基准点的信息;分段模块,用于根据所述多个基准点的信息,对所述路径进行分段,得到分段结果;路径规划模块,用于根据所述分段结果,确定规划后的目标路径。

在一些可选实施例中,所述多个基准点的信息包括:所述路径的起点的位置信息、所述起点的方向信息、所述路径的终点的位置信息、所述终点的方向信息、所述起点和所述终点之间经过的点的位置信息。

在一些可选实施例中,所述分段模块包括:第一执行子模块,用于针对所述路径,执行第一处理过程;其中,所述第一处理过程包括:根据所述多个基准点的信息,拟合得到第一曲线;第一确定子模块,用于若所述多个基准点中存在符合设定条件的参考点,则根据所述参考点,将所述路径划分为两个分段;第二确定子模块,用于将本次确定出的两个分段分别作为新的路径,重复执行所述第一处理过程,直至最终确定出的每个分段所包括的多个基准点中均不存在符合所述设定条件的参考点,获得所述分段结果。

在一些可选实施例中,所述分段模块包括:第二执行子模块,用于针对所述路径,执行第二处理过程;其中,所述第二处理过程包括:根据所述路径的多个基准点的信息,拟合得到第一曲线;第三确定子模块,用于若所述多个基准点中不存在符合设定条件的参考点,则确定所述分段结果为所述路径包括的所述多个基准点属于同一分段。

在一些可选实施例中,所述装置还包括:距离值确定模块,用于确定所述多个基准点分别到所述第一曲线的第一距离值;判断模块,用于判断所述多个基准点中是否存在所述第一距离值满足预设距离条件的基准点;第一确定模块,用于若是,则确定所述多个基准点中存在符合所述设定条件的参考点;第二确定模块,用于若否,则确定所述多个基准点中不存在符合所述设定条件的参考点。

在一些可选实施例中,所述判断模块包括:第四确定子模块,用于在所述多个基准点中,确定是否存在所述第一距离值大于预设阈值的基准点;第五确定子模块,用于如果不存在所述第一距离值大于所述预设阈值的基准点,则确定所述多个基准点中不存在所述第一距离值满足所述预设距离条件的所述基准点;第六确定子模块,用于如果存在所述第一距离值大于所述预设阈值的基准点,将所述第一距离值的最大值对应的基准点作为满足所述预设距离条件的所述基准点。

在一些可选实施例中,所述第一确定子模块包括:将所述路径的起点、所述参考点、以及所述起点和所述参考点之间经过的基准点划分为其中一个分段,将所述参考点、所述路径的终点、以及所述参考点和所述终点之间经过的基准点划分为另一个分段。

在一些可选实施例中,所述路径规划模块包括:函数确定子模块,用于确定所述分段结果中包括的每个分段所对应的目标曲线函数;路径规划子模块,用于根据所述目标曲线函数,确定规划后的所述目标路径。

在一些可选实施例中,所述函数确定子模块包括:将所述分段结果输入预先训练好的曲线函数模型,获得曲线函数模型输出的与所述分段结果所包括的每个分段对应的目标曲线函数。

在一些可选实施例中,所述装置还包括:初始化模块,用于根据分段样本结果,初始化预设曲线函数中的系数,得到所述分段样本结果所包括的每个分段对应的备选曲线函数;损失函数确定模块,用于确定所述分段样本结果所包括的每个分段所对应的曲线损失函数;训练模块,用于根据所述每个分段对应的所述曲线损失函数,对所述分段样本结果所包括的每个分段对应的所述备选曲线函数中的系数进行迭代更新,并响应于满足停止迭代更新条件,得到训练好的曲线函数模型。

在一些可选实施例中,所述预设曲线函数采用m阶样条函数,其中,m为大于或等于5的正整数。

在一些可选实施例中,所述初始化模块包括:第一初始化子模块,用于根据所述分段样本结果所包括的每个分段中的多个基准点,初始化预设曲线函数中的至少一个第一系数;第二初始化子模块,用于对所述预设曲线函数中除了所述第一系数外的第二系数进行随机初始化,得到所述分段样本结果所包括的每个分段对应的备选曲线函数。

在一些可选实施例中,所述曲线损失函数至少包括距离损失函数和曲率损失函数。

在一些可选实施例中,所述损失函数确定模块包括:映射点确定子模块,用于在所述分段样本结果所包括的每个分段对应的所述备选曲线函数所生成的曲线上,为所述分段样本结果所包括的每个分段中的多个基准点分别确定距离最小的一个映射点;第一损失函数确定子模块,用于将所述分段样本结果所包括的每个分段中的基准点与各自对应的所述映射点之间的距离的和值,作为所述分段样本结果所包括的每个分段所对应的所述距离损失函数。

在一些可选实施例中,所述损失函数确定模块包括:采样子模块,用于在所述分段样本结果所包括的每个分段所对应的所述备选曲线函数所生成的曲线上进行相同间距的采样,获得多个采样点;曲率值确定子模块,用于确定所述多个采样点在所述曲线上分别对应的曲率值;第二损失函数确定子模块,用于根据所述分段样本结果所包括的每个分段中的所述多个采样点分别对应的所述曲率值,确定所述分段样本结果所包括的每个分段所对应的所述曲率损失函数。

在一些可选实施例中,所述第二损失函数确定子模块包括:确定任意相邻的第二采样点和第一采样点的曲率值之间的差值,得到多个第一差值;确定所述多个第一差值的第一和值与预设的第一权重值之间的第一乘积值;确定与所述第二采样点相邻的第三采样点与所述第二采样点的曲率值之间的差值,得到多个第二差值;确定所述多个第二差值与对应的所述多个第一差值之间的差值,得到多个第三差值;确定所述多个第三差值的第二和值与预设的第二权重值之间的第二乘积值;将所述第一乘积值和所述第二乘积值的和值作为所述分段样本结果所包括的每个分段对应的所述曲率损失函数。

根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面任一所述的路径规划方法。

根据本公开实施例的第四方面,提供一种路径规划装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现上述第一方面任一项所述的路径规划方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,可以根据待规划的路径所包括的多个基准点的信息,对路径进行自动分段,得到分段结果。再根据分段结果,确定规划后的目标路径。通过上述过程,无需预先指定分段的数目,可以根据路径所包括的多个基准点的信息,自动进行分段,提高了规划后的目标路径的曲线平滑性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开根据一示例性实施例示出的一种路径规划方法流程图;

图2是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图3是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图4是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图5是本公开根据一示例性实施例示出的一种确定参考点的场景示意图;

图6是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图7是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图8是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图9是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图10是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图11是本公开根据一示例性实施例示出的一种基准点与映射点的对应关系示意图;

图12是本公开根据一示例性实施例示出的另一种路径规划方法流程图;

图13是本公开根据一示例性实施例示出的一种路径规划装置框图;

图14是本公开根据一示例性实施例示出的一种用于路径规划装置的一结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开运行的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所运行的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中运行的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所运行的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本公开实施例提供了一种路径规划方法,可以在自动驾驶领域的结构化道路或非结构化道路条件下,用于规划无人车、无人机等无人驾驶设备的路径,规划出的路径对应的曲线更加平滑。其中,结构化道路可以包括但不限于高速公路、城市干道等结构化较好的公路,具有清晰的道路标志线,道路的背景环境比较单一,道路的几何特征也比较明显。非结构化道路是指城市非主干道、乡村街道等结构化程度较低的道路,这类道路没有车道线和清晰的道路边界,道路区域和非道路区域较难区分。

在一些可选实施例中,本公开提供的路径规划方法还可以用于对地图进行标注时,确保标注曲线的平滑。

以上仅为本公开示例性的应用场景,其他可以用到本公开的路径规划方法的场景均属于本公开的保护范围。

如图1所示,图1是根据一示例性实施例示出的一种路径规划方法,包括以下步骤:

在步骤101中,获取待规划的所述路径所包括的多个基准点的信息。

在本公开实施例中,基准点是待规划的路径中需要经过的点,例如路径的起点、终点以及在起点和终点之间经过的点。基准点的信息可以包括但不限于路径的起点的位置信息、所述起点的方向信息、所述路径的终点的位置信息、所述终点的方向信息、所述起点和所述终点之间经过的点的位置信息。

在步骤102中,根据所述多个基准点的信息,对所述路径进行分段,得到分段结果。

在一种可能地实现方式中,可以使用拉默-道格拉斯-普克(ramer–douglas–peuckeralgorithm,rdp)算法自动根据多个基准点的信息,对路径进行分段,得到的分段结果中可以包括分段数目和每段中包括的基准点的信息。

在步骤103中,根据所述分段结果,确定规划后的目标路径。

在本公开实施例中,可以在每个分段中,根据该分段所包括的基准点的信息,确定规划后的该分段对应的路径,最终规划后的所有分段对应的路径就构成了目标路径。

上述实施例中,可以根据待规划路径所包括的多个基准点的信息,自动进行路径规划,避免由于手动分段或不分段所造成的路径曲线平滑性较差的问题。

在一些可选实施例中,例如图2所示,步骤102可以包括:

在步骤102-11中,针对所述路径,执行第一处理过程。

在本公开实施例中,第一处理过程包括根据多个基准点的信息,拟合得到第一曲线的过程。根据获取到的多个基准点的信息,可以将多个基准点作为离散点,对离散点进行插值、逼近,通过最小二乘法得到第一曲线。例如,可以采用多个基准点相邻两点之间连接的直线作为第一曲线。

在步骤102-12中,若所述多个基准点中存在符合设定条件的参考点,则根据所述参考点,将所述路径划分为两个分段。

在本公开实施例中,设定条件可以是基准点距离第一曲线的第一距离值满足预设距离条件,该路径的多个基准点中符合该设定条件的基准点可以作为参考点,从而将路径划分为两个分段。

其中,所述路径的起点、所述参考点、以及所述起点和所述参考点之间经过的基准点划分为其中一个分段,所述参考点、所述路径的终点、以及所述参考点和所述终点之间经过的基准点划分为另一个分段。

在步骤102-13中,将本次确定出的两个分段分别作为新的路径,重复执行所述第一处理过程,直至最终确定出的每个分段所包括的多个基准点中均不存在符合所述设定条件的参考点,获得所述分段结果。

在本公开实施例中,上述步骤得到的两个分段可以分别作为新的路径,重复执行上述步骤102-1中的第一处理过程,直到针对该路径的每个分段所包括的多个基准点中均不存在符合所述设定条件的参考点,此时获得分段结果。分段结果中可以包括分段数目和每个分段中所包括的基准点的信息。

上述实施例中,可以针对该路径,执行第一处理过程,若多个基准点中存在符合设定条件的参考点,则将路径划分为两个分段,将两个分段分别作为新的路径,重复执行第一处理过程,直到获得最终的分段结果。实现了自动进行分段的目的,减少了因预先指定的分段数目不合适而造成的曲线拟合效果较差的问题,以便提高规划后的目标路径所对应的曲线平滑性。

在一些可选实施例中,例如图3所示,步骤102可以包括:

在步骤102-21中,针对所述路径,执行第二处理过程。

在本公开实施例中,所述第二处理过程包括根据所述路径的多个基准点的信息,拟合得到第一曲线。拟合过程与上述第一处理过程相同,在此不再赘述。

在步骤102-22中,若所述多个基准点中不存在符合设定条件的参考点,则确定所述分段结果为所述路径包括的所述多个基准点属于同一分段。

如果确定了多个基准点中不存在参考点,那么直接确定分段结果为分段数目为1,且该分段中包括所有的基准点,即该路径包括的多个基准点均属于同一分段。

上述实施例中,实现了自动进行分段的目的,减少了因预先指定的分段数目不合适而造成的曲线拟合效果较差的问题,以便提高规划后的目标路径所对应的曲线平滑性。

在一些可选实施例中,例如图4所示,上述方法还可以包括:

在步骤105中,确定所述多个基准点分别到所述第一曲线的第一距离值。

在本公开实施例中,在拟合得到第一曲线之后,例如图5所示,可以分别计算每个基准点到第一曲线的第一距离值。

在步骤106中,判断所述多个基准点中是否存在所述第一距离值满足预设距离条件的基准点。

在本公开实施例中,预设距离条件可以包括第一距离值是否大于预设阈值、且是否属于多个第一距离值中的最大值。如果存在第一距离值满足预设距离条件的基准点,则执行步骤107,否则执行步骤108。

在步骤107中,确定所述多个基准点中存在符合所述设定条件的参考点。

在步骤108中,确定所述多个基准点中不存在符合所述设定条件的参考点。

上述实施例中,可以根据多个基准点分别到第一曲线的第一距离值,判断多个基准点中是否存在第一距离值满足预设距离条件的基准点,从而确定多个基准点中是否存在符合设定条件的参考点,实现简便,可用性高。

在一些可选实施例中,例如图6所示,步骤106可以包括:

在步骤106-1中,在所述多个基准点中,确定是否存在所述第一距离值大于预设阈值的基准点。

在本公开实施例中,如果多个基准点中不存在第一距离值大于预设阈值的基准点,则执行步骤106-2,否则执行步骤106-3。

在步骤106-2中,确定所述多个基准点中不存在所述第一距离值满足所述预设距离条件的所述参考点。

在步骤106-3中,将所述第一距离值的最大值对应的基准点作为满足所述预设距离条件的所述基准点。

上述实施例中,可以在多个基准点中,根据第一距离值来确定是否存在第一距离值满足预设距离条件的基准点,以便后续根据第一距离值满足预设距离条件的基准点确定参考点,再根据参考点进行分段,分段过程更加合理,智能化程度更高。

在一些可选实施例中,例如图7所示,步骤103可以包括:

在步骤103-1中,确定所述分段结果中包括的每个分段所对应的目标曲线函数。

在本公开实施例中,可以将分段结果属于预先训练好的曲线函数模型,获得该曲线函数模型输出的针对每个分段分别确定对应的目标曲线函数。

在步骤103-2中,根据所述目标曲线函数,确定规划后的所述目标路径。

每个分段对应的目标曲线函数就对应了该分段规划后的路径,所有分段规划后的路径就构成了目标路径。

上述实施例中,可以针对每个分段分别确定对应的目标曲线函数,从而确定规划后的目标路径,可用性高。

在一些可选实施例中,例如图8所示,曲线函数模型的训练过程可以包括:

在步骤201中,根据分段样本结果,初始化预设曲线函数中的系数,得到所述分段样本结果所包括的每个分段对应的备选曲线函数。

在本公开实施例中,为了减少规划时初始状态与无人驾驶设备实际情况的差异,需要对路径的起点的位置信息和方向信息进行考虑,可以采用m阶样条函数作为预设曲线函数。其中,为了确保预设曲线函数二阶导数连续,从而确保最终规划的路径的平滑性,m可以采用大于或等于5的正整数。

在步骤202中,确定所述分段样本结果所包括的每个分段对应的曲线损失函数。

在本公开实施例中,曲线损失函数可以包括距离损失函数和曲率损失函数。其中,距离损失函数用于衡量多个基准点到路径对应的曲线的距离,曲率损失函数用于衡量该路径对应的曲线的曲率值的变化。

在步骤203中,根据所述每个分段对应的所述曲线损失函数,对所述分段样本结果所包括的每个分段对应的所述备选曲线函数中的系数进行迭代更新,并响应于满足停止迭代更新条件,得到对所述路径规划后的所述每个分段对应的目标曲线函数。

在本公开实施例中,将分段过程与对备选曲线函数中的系数的迭代更新过程分别进行,在一种可能地实现方式中,可以根据已经确定的曲线损失函数,采用随机梯度下降算法(stochasticgradientdescent,sgd)或者可以替代sgd算法的一阶优化算法适应性矩估计((adaptivemomentestimation,adam)算法,更新上述距离损失函数和曲率损失函数,从而对每个分段对应的所述备选曲线函数中的系数进行迭代更新。

如果迭代更新次数达到预设次数,和/或迭代更新后的所述曲线损失函数的函数值小于或等于预设损失函数值,那么停止迭代更新,得到训练好的曲线函数模型。

上述实施例中,根据分段样本结果,初始化预设曲线函数中的系数,为分段样本结果所包括的每个分段确定备选曲线函数。再根据分段样本结果所包括的每个分段对应的曲线损失函数,对每个分段对应的备选曲线函数中的系数进行迭代更新,响应于满足停止迭代更新条件,得到最终的曲线函数模型。实现简便,可用性高。

在一些可选实施例中,例如图9所示,步骤201可以包括:

在步骤201-1中,根据所述分段样本结果所包括的每个分段中的多个基准点,初始化预设曲线函数中的至少一个第一系数。

预设曲线函数可以是m阶样条函数,其中,m为大于或等于5的正整数。在本公开实施例中,以5阶样条函数为例进行说明。每个分段所对应的5阶样条函数如公式1所示:

s(t)=(1-t)5p0+5(1-t)4tp1+10(1-t)3t2p2+10(1-t)2t3p3+5(1-t)t4p4+t5p5公式1

其中,t是当前分段中的变量值,取值范围可以是0≤t≤1,t为0时对应当前分段的起点,t为1时对应当前分段的终点,p0、p1、p2、p3、p4、p5是需要初始化的系数。

在t的取值分别为0和1时,可以得出5阶样条函数的一阶导数和二阶导数:

s'(0)=5(p1-p0)公式2

s'(1)=5(p1-p0)公式3

s″(0)=20(p0-2p1+p2)公式4

s″(1)=20(p3-2p4+p5)公式5

在本公开实施例中,可以用ts来表示s'(0),te来表示s'(1),as来表示s″(0),ae来表示s″(1),对上述公式2至公式5整理后得到以下公式:

ts表示的是当前分段的起点的方向,te是当前分段的终点的方向,as表示的是当前分段的起点的加速度,ae是当前分段的终点的加速度。如果当前分段中的起点为路径的起点,那么路径起点的方向信息是已知的,就可以确定出ts,如果当前分段中的起点不是路径的起点,那么ts是未知的。同样地,如果当前分段的终点是路径的终端,那么路径的终端的方向信息是已知的,可以确定出te,否则te是未知的。

另外,根据当前分段所包括的多个基准点各自的位置信息,基于公式6至公式9可以确定出至少一个第一系数,例如p0、p1、p4和p5中至少一个的值。

在步骤201-2中,对所述预设曲线函数中除了所述第一系数外的第二系数进行随机初始化,得到所述分段样本结果所包括的每个分段对应的备选曲线函数。

在本公开实施例中,在所述分段样本结果所包括的每个分段对应的预设曲线函数中,除了第一系数之外,其他的第二系数可以随机初始化,例如可以为p2和p3随机分配数值,从而得到每个分段对应的备选曲线函数。

上述实施例中,可以采用m阶样条函数作为预设曲线函数,m大于或等于5,确保最终得到的样本分段结果所包括的每个分段对应的备选曲线函数的二阶导数连续,从而确保该曲线函数模型输出的目标曲线函数更加合理,提高规划后的目标路径对应的曲线平滑性。

在一些可选实施例中,曲线损失函数至少包括距离损失函数和曲率损失函数。

例如图10所示,步骤202中确定所述分段样本结果所包括的每个分段对应的所述距离损失函数的过程可以包括:

在步骤202-11中,在所述分段样本结果所包括的每个分段对应的所述备选曲线函数所生成的曲线上,为所述分段样本结果所包括的每个分段中的多个基准点分别确定距离最小的一个映射点。

在本公开实施例中,针对分段样本结果所包括的每个分段,假设当前分段中包括n+1个基准点pk,当前分段对应的备选曲线函数所生成的曲线上,与第一个基准点距离最小的一个映射点为s(0),与最后一个基准点距离最小的一个映射点为s(1),与中间第i个基准点距离最小的一个映射点为s(ti),即在当前分段对应的曲线上,为当前分段所包括的多个基准点分别确定一个与之对应的映射点,例如图11所示。

其中,d(pk-1,pk)是基准点pk-1与pk之间的距离值。

在步骤202-12中,将所述分段样本结果所包括的每个分段中的基准点与各自对应的所述映射点之间的距离的和值,作为所述分段样本结果所包括的每个分段对应的所述距离损失函数。

第j个分段所对应的距离损失函数可以用以下公式表示:

在本公开实施例中,确定了每个分段对应的距离损失函数之后,可以得到整个路径对应的曲线的距离损失函数:

其中m是分段数目。

上述实施例中,可以分别为分段样本结果所包括的每个分段确定对应的距离损失函数,以便后续对备选曲线函数的系数进行迭代更新,可用性高。

例如图12所示,步骤202中确定所述分段样本结果所包括的每个分段对应的所述曲率损失函数的过程可以包括:

在步骤202-21中,在所述分段样本结果所包括的每个分段对应的所述备选曲线函数所生成的曲线上进行相同间距的采样,获得多个采样点。

在本公开实施例中,可以通过采样点的曲率来尽可能拟合每个分段对应的所述备选曲线函数所生成的曲线的曲率,因此,采样点的数目可以较大,例如可以采用大于50的正整数。在一种可能地实现方式中,可以进行等间距采样,例如将[0,1]范围平均划分为50等份,从而得到多个采样点。

在步骤202-22中,分别确定所述多个采样点在所述曲线上分别对应的曲率值。

在本公开实施例中,在确定了每个分段对应的曲线和不同的采样点后,可以直接计算每个采样点对应的曲率值。

在步骤202-23中,根据所述每个分段所包括的所述多个采样点分别对应的所述曲率值,确定所述每个分段对应的所述曲率损失函数。

在本公开实施例中,每个分段对应的曲率损失函数可以通过以下公式表示:

其中,sj是指在第j个分段对应的备选曲线函数所生成的曲线,sj(li)点的曲率为c(sj(li)),w1和w2分别为预设的第一权重值和第二权重值。

在本公开实施例中,确定了分段样本结果所包括的每个分段对应的曲率损失函数之后,可以得到整个路径对应的曲线的曲率损失函数:

其中m是分段数目。

上述实施例中,可以对备选曲线函数所生成的曲线进行采样,得到多个采样点,通过不同采样点各自的曲率值来确定当前分段对应的曲线的曲率值,可用性高。

上述实施例中,可以分别得到曲线函数模型中的距离损失函数和曲率损失函数,在将分段结果输入该曲线函数模型后可以得到分段结果所包括的每个分段对应的目标曲线函数,该目标曲线函数对应的曲线是首尾相连的,平滑性较好。

与前述方法实施例相对应,本公开还提供了装置的实施例。

如图13所示,图13是本公开根据一示例性实施例示出的一种路径规划装置框图,装置包括:获取模块310,用于获取待规划的所述路径所包括的多个基准点的信息;分段模块320,用于根据所述多个基准点的信息,对所述路径进行分段,得到分段结果;路径规划模块330,用于根据所述分段结果,确定规划后的目标路径。

在一些可选实施例中,所述多个基准点的信息包括:所述路径的起点的位置信息、所述起点的方向信息、所述路径的终点的位置信息、所述终点的方向信息、所述起点和所述终点之间经过的点的位置信息。

在一些可选实施例中,所述分段模块包括:第一执行子模块,用于针对所述路径,执行第一处理过程;其中,所述第一处理过程包括:根据所述多个基准点的信息,拟合得到第一曲线;第一确定子模块,用于若所述多个基准点中存在符合设定条件的参考点,则根据所述参考点,将所述路径划分为两个分段;第二确定子模块,用于将本次确定出的两个分段分别作为新的路径,重复执行所述第一处理过程,直至最终确定出的每个分段所包括的多个基准点中均不存在符合所述设定条件的参考点,获得所述分段结果。在一些可选实施例中,所述分段模块包括:第二执行子模块,用于针对所述路径,执行第二处理过程;其中,所述第二处理过程包括:根据所述路径的多个基准点的信息,拟合得到第一曲线;第三确定子模块,用于若所述多个基准点中不存在符合设定条件的参考点,则确定所述分段结果为所述路径包括的所述多个基准点属于同一分段。

在一些可选实施例中,所述装置还包括:距离值确定模块,用于确定所述多个基准点分别到所述第一曲线的第一距离值;判断模块,用于判断所述多个基准点中是否存在所述第一距离值满足预设距离条件的基准点;第一确定模块,用于若是,则确定所述多个基准点中存在符合所述设定条件的参考点;第二确定模块,用于若否,则确定所述多个基准点中不存在符合所述设定条件的参考点。

在一些可选实施例中,所述判断模块包括:第四确定子模块,用于在所述多个基准点中,确定是否存在所述第一距离值大于预设阈值的基准点;第五确定子模块,用于如果不存在所述第一距离值大于所述预设阈值的基准点,则确定所述多个基准点中不存在所述第一距离值满足所述预设距离条件的所述基准点;第六确定子模块,用于如果存在所述第一距离值大于所述预设阈值的基准点,将所述第一距离值的最大值对应的基准点作为满足所述预设距离条件的所述基准。

在一些可选实施例中,所述第一确定子模块包括:将所述路径的起点、所述参考点、以及所述起点和所述参考点之间经过的基准点划分为其中一个分段,将所述参考点、所述路径的终点、以及所述参考点和所述终点之间经过的基准点划分为另一个分段。

在一些可选实施例中,所述路径规划模块包括:函数确定子模块,用于确定所述分段结果中包括的每个分段所对应的目标曲线函数;路径规划子模块,用于根据所述目标曲线函数,确定规划后的所述目标路径。

在一些可选实施例中,所述函数确定子模块包括:将所述分段结果输入预先训练好的曲线函数模型,获得曲线函数模型输出的与所述分段结果所包括的每个分段对应的目标曲线函数。

在一些可选实施例中,所述装置还包括:初始化模块,用于根据分段样本结果,初始化预设曲线函数中的系数,得到所述分段样本结果所包括的每个分段对应的备选曲线函数;损失函数确定模块,用于确定所述分段样本结果所包括的每个分段所对应的曲线损失函数;训练模块,用于根据所述每个分段对应的所述曲线损失函数,对所述分段样本结果所包括的每个分段对应的所述备选曲线函数中的系数进行迭代更新,并响应于满足停止迭代更新条件,得到训练好的曲线函数模型。

在一些可选实施例中,所述预设曲线函数采用m阶样条函数,其中,m为大于或等于5的正整数。

在一些可选实施例中,所述初始化模块包括:第一初始化子模块,用于根据所述分段样本结果所包括的每个分段中的多个基准点,初始化预设曲线函数中的至少一个第一系数;第二初始化子模块,用于对所述预设曲线函数中除了所述第一系数外的第二系数进行随机初始化,得到所述分段样本结果所包括的每个分段对应的备选曲线函数。

在一些可选实施例中,所述曲线损失函数至少包括距离损失函数和曲率损失函数。

在一些可选实施例中,所述损失函数确定模块包括:映射点确定子模块,用于在所述分段样本结果所包括的每个分段对应的所述备选曲线函数所生成的曲线上,为所述分段样本结果所包括的每个分段中的多个基准点分别确定距离最小的一个映射点;第一损失函数确定子模块,用于将所述分段样本结果所包括的每个分段中的基准点与各自对应的所述映射点之间的距离的和值,作为所述分段样本结果所包括的每个分段所对应的所述距离损失函数。

在一些可选实施例中,所述损失函数确定模块包括:采样子模块,用于在所述分段样本结果所包括的每个分段所对应的所述备选曲线函数所生成的曲线上进行相同间距的采样,获得多个采样点;曲率值确定子模块,用于确定所述多个采样点在所述曲线上分别对应的曲率值;第二损失函数确定子模块,用于根据所述分段样本结果所包括的每个分段中的所述多个采样点分别对应的所述曲率值,确定所述分段样本结果所包括的每个分段所对应的所述曲率损失函数。

在一些可选实施例中,所述第二损失函数确定子模块包括:确定任意相邻的第二采样点和第一采样点的曲率值之间的差值,得到多个第一差值;确定所述多个第一差值的第一和值与预设的第一权重值之间的第一乘积值;确定与所述第二采样点相邻的第三采样点与所述第二采样点的曲率值之间的差值,得到多个第二差值;确定所述多个第二差值与对应的所述多个第一差值之间的差值,得到多个第三差值;确定所述多个第三差值的第二和值与预设的第二权重值之间的第二乘积值;将所述第一乘积值和所述第二乘积值的和值作为所述分段样本结果所包括的每个分段对应的所述曲率损失函数。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本公开实施例还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序用于执行上述任一项所述的路径规划方法。

在一些可选实施例中,本公开实施例提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的路径规划方法的指令。

在一些可选实施例中,本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的路径规划方法的操作。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

本公开实施例还提供了一种路径规划装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为调用所述存储器中存储的可执行指令,实现上述任一项所述的路径规划方法。

图14为本申请实施例提供的一种路径规划装置的硬件结构示意图。该路径规划装置410包括处理器411,还可以包括输入装置412、输出装置413和存储器414。该输入装置412、输出装置413、存储器414和处理器411之间通过总线相互连接。

存储器包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器用于相关指令及数据。

输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。

处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessingunit,cpu),在处理器是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

存储器用于存储网络设备的程序代码和数据。

处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。

可以理解的是,图14仅仅示出了一种路径规划装置的简化设计。在实际应用中,路径规划装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本申请实施例的路径规划装置都在本申请的保护范围之内。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或者惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

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