掌桥专利:专业的专利平台
掌桥专利
首页

路径规划方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 13:26:15


路径规划方法、装置、计算机设备及存储介质

技术领域

本发明实施例涉及图像处理领域,尤其涉及一种路径规划方法、装置、计算机设备及存储介质。

背景技术

机器人使用过程中,一般先进行场景建图,利用传感器扫描场景特征,然后记录在一张地图图像上,地图图像的分辨率取决于传感器精度。机器人一般将整个场景建立到一张地图上,之后在整张地图上进行路径规划。如果在机场、商场、社区这样的大场景,或者是高精度需求的地图,地图大小可能达到几个GB大小甚至更大。在机器人导航阶段,机器人根据读入的地图进行全局路径规划,实现全局路径最短,然后根据传感器扫描的动态障碍物进行局部路径规划,实现局部避让功能。大地图会导致机器人开机时需要很长时间将地图读入内存中,同时需要有足够大的内存,这会导致机器人比较高的硬件成本。其次,在导航阶段,机器人需要在大地图中进行路径规划,这需要很大的CPU计算量和较长的计算时间,同样提高了机器人硬件成本。

发明内容

本发明实施例提供一种路径规划方法、装置、计算机设备及存储介质,可以降低地图加载的成本,提高地图加载的效率,提高路径规划的效率。

第一方面,本发明实施例提供了一种路径规划方法,包括:

获取地图图像,并提取图像特征;

根据所述图像特征,在所述地图图像中确定至少两个子区域;

根据所述地图图像中子区域,确定规划路径;

根据所述规划路径动态加载所述地图图像。

第二方面,本发明实施例还提供了一种路径规划装置,包括:

图像特征提取模块,用于获取地图图像,并提取图像特征;

子区域确定模块,用于根据所述图像特征,在所述地图图像中确定至少两个子区域;

规划路径确定模块,用于根据所述地图图像中子区域,确定规划路径;

地图动态加载模块,用于根据所述规划路径动态加载所述地图图像。

第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

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

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面提供的路径规划方法。

第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面提供的路径规划方法。

本发明实施例通过提取地图图像特征并在地图图像中确定子区域,基于子区域确定规划路径,并根据规划路径动态加载地图图像,可以避免加载完整的地图图像,解决了导航过程中加载整张地图,耗时长和占用内存大的问题,实现降低地图加载成本,提高地图加载效率和提高路径规划效率的效果。

附图说明

图1是本发明中的一种路径规划方法的流程图;

图2是本发明中的一种栅格地图的示意图;

图3是本发明中的一种卷积运算的示意图;

图4a是本发明中的一种路径端点卷积核的示意图;

图4b是本发明中的一种过道路径点卷积核的示意图;

图4c是本发明中的一种空旷区域卷积核的示意图;

图5是本发明中的一种子区域划分的示意图;

图6是本发明中的一种路径规划方法的流程图;

图7是本发明中的一种路径规划方法的流程图;

图8是本发明中的一种路径规划装置的结构示意图;

图9是本发明中的一种计算机设备的结构示意图。

具体实施方式

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

图1为本发明提供的一种路径规划方法的流程图,本实施例可适用于路径规划的情况,例如,商场、机场和小区等场景中机器人进行路径规划时的情况,该方法可以由路径规划装置来执行,该装置可以由软件和/或硬件来实现,具体包括如下步骤:

步骤110、获取地图图像,并提取图像特征。

本发明执行主体为需要导航的可移动计算机设备,示例性的,可以是机器人。地图图像是指可移动的计算机设备的移动区域的图像。图像特征用于描述地图图像中该可移动的计算机设备的可通行区域的信息。计算机设备可以从服务器或者自身存储器中获取地图图像,并对地图图像进行处理提取图像特征,提取图像特征是为了获得地图图像中各像素点的特征,以从中筛选出可移动计算机设备可通行的像素点,从而为之后的路径规划和子区域划分提供依据。图像特征提取方法可以包括尺度不变特征变换(Scale-invariantfeatures transform,SIFT)算法、加速稳健特征(Speeded Up Robust Features,SURF)算法、方向梯度直方图(Histogram of Oriented Gradient,HOG)算法或高斯函数的差分(Difference of Gaussian,DOG)算法等。此外,还可以采用其他算法实现,对此不做限制。

其中,地图图像可以包括栅格地图、或拓扑地图等。可选的,地图图像是栅格地图。栅格地图是一种栅格图像,也称光栅图像,是指在空间和亮度上都已经离散化了的图像。可以把一幅栅格图像作为一个矩阵,矩阵中的任一元素对应于图像中的一个点,而相应的值对应于该点的灰度值,数字矩阵中的元素叫做像素。对于具备一定宽度的可移动计算机设备,采用栅格地图作为导航地图,可以针对计算机设备的宽度,在栅格地图中确定计算机设备的移动宽度可以通行的导航路线,提高计算机设备的移动安全性和准确性。栅格地图示意图如图2所示,其中,白色区域是可行区域,黑色区域是不可行区域。可行区域是指计算机设备可通行的区域,如走廊区域,不可行区域是指计算机设备不可通行的区域,例如障碍物区域,和墙壁区域。其中,在地图图像中,可以采用不同数值区分可行区域和不可行区域,示例性的,可行区域包括的像素点的数值(也即像素值)为255,不可行区域像素点的数值为0。

在一个可选实施例中,提取图像特征,包括:采用卷积核对所述地图图像进行卷积运算,得到输出地图,输出地图为像素点集合。

卷积核是对图像中的像素点进行卷积运算的函数,卷积运算用于提取图像特征。地图图像中一定范围内的像素点经过卷积运算后得到用于表征原范围内像素点具有的特征的像素点,地图图像中的所有像素点经过卷积运算后得到的像素点集合形成输出地图。地图图像,可以理解为像素点矩阵,进行卷积运算后得到多个像素点,也是一个像素点矩阵,即像素点集合,像素点集合组成输出地图。图3为卷积运算示意图,其中虚线框11和虚线框12表示卷积核。

在一个可选实施例中,卷积核包括下述至少一项:路径端点卷积核、过道路径点卷积核和空旷区域卷积核。

通常地图图像上的像素点可以包括:路径端点、过道路径点或者空旷区域点,路径端点、过道路径点或者空旷区域点都是候选路径点。原始地图图像中包括可通行区域和不可通行区域,地图图像上的像素点根据其四个方向上可通行区域和不可通行区域的分布特征分为路径端点、过道路径点和空旷区域点。具体的,路径端点四个方向上可通行区域和不可通行区域的分布特征是:像素点三个方向的周围区域为不可通行区域,一个方向的周围区域为可通行区域;过道路径点四个方向上可通行区域和不可通行区域的分布特征是:像素点两个方向的周围区域为可通行区域,两个方向的周围区域为不可通行区域,空旷区域点四个方向上可通行区域和不可通行区域的分布特征是:像素点四个方向的周围区域均为可通行区域。不同的卷积核可以匹配像素点的不同特征,通过卷积核进行加权平均后,特征不匹配的像素点组成区域会得到低于预设阈值的像素值,匹配的像素点所在区域会得到高于预设阈值的像素值,分别通过三种卷积核对地图图像上的像素点区域进行匹配,根据匹配数值确定像素点类型,具体的,像素点类型为路径端点、过道路径点或者空旷区域点。其中,阈值指为区分不同区域的像素点设置的匹配数值。

实际上,路径端点的内部和某个方向的延伸区域为可行区域,另外三个方向的延伸区域为不可行区域。具体的,路径端点区域像素点经过路径端点卷积核的卷积运算后,如果像素值大于阈值,即认为是路径端点区域,示例性的,阈值可以根据区分准确率手动设置。过道路径点的两个方向的延伸区域为可行区域,另外两个方向的延伸区域为不可行区域。具体的,过道路径点区域像素点经过路径点卷积核的卷积运算后,如果像素值大于阈值,即认为是过道路径点区域。空旷区域点的四个方向的延伸区域均为可行区域,具体的,空旷区域像素点卷积结果为255或接近255,即都是白色像素点(255),加权平均后像素点数值仍为255,其中,可行区域包括的像素点的数值为255。

根据上述不同位置的点组成的区域的特征信息,可以对应配置相应的卷积核进行特征提取。示例性的,卷积核中的数值可以手动设置,也可以自动设置。具体的,手动设置数值后,对比不同区域匹配准确率进行调整;自动设置时,手动标记地图特征,并通过相应算法计算能够最大程度区分特征信息的卷积核。三个卷积核得到的候选拓扑节点都应用于通过聚类确定类中心节点。路径端点卷积核、过道路径点卷积核和空旷区域卷积核的区别在于,路径端点卷积核会对于三面障碍物有更高的权重,对中心区域障碍物有较大惩罚,过道路径点卷积核对两侧障碍物有较大权重,对中心和另外两侧障碍物有较大惩罚,空旷区域卷积核对中心障碍物惩罚很大,对边缘障碍物惩罚较小。

在一个具体的例子中,图4a为路径端点卷积核;图4b为过道路径点卷积核图;图4c为空旷区域卷积核。

在卷积运算中使用多个卷积核,可以解决单一卷积核与不同路段的匹配程度不一致导致的特征筛选效果不好的问题,通过基于多个卷积核提取图像特征,可以提高图像特征的代表性,从而准确确定可通行区域。

步骤120、根据所述图像特征,在所述地图图像中确定至少两个子区域。

子区域为地图图像的可行区域中部分区域,子区域的面积小于可行区域的面积。在地图图像中确定可行区域,并对可行区域进行划分,形成至少两个子区域。示例性的,子区域的划分可以是通过面积均分的方式,得到面积相同的多个子区域,或者通过特定形状的窗口在可行区域滑动的方式,得到多个子区域等,图5为子区域划分示意图,地图图像中的可行区域划分为A、B、C、D、E、F和G的7个子区域。

步骤130、根据所述地图图像中子区域,确定规划路径。

规划路径包括子区域路线,和子区域中的路线。其中子区域路线是指子区域之间的路径,即该子区域路线中仅包括子区域,示例性的,在图5中,当计算机设备从子区域A移动到子区域G时,子区域路线为A-B-D-G。子区域中的路线是指在子区域内部规划得到的路径,例如,在子区域A中,由A1点到A2点之间的路径。

步骤140、根据所述规划路径动态加载所述地图图像。

动态加载是指加载行进方向上需要经过的部分地图,并删除已加载但已经移动出的部分地图,其中部分地图可以根据具体需求灵活设置,具体的,部分地图可以为子区域中的部分区域、一个子区域或多个子区域。示例性的,在图5中,计算机设备从子区域A到子区域G的规划路径为A-B-D-G,以计算机设备加载两个子区域为例,动态加载为:计算机设备优先加载子区域A和子区域B,当计算机设备移动到子区域B,删除子区域A,加载子区域D,实现动态加载地图图像,以此类推。

通过动态加载地图,只保留移动方向上需要经过区域的部分地图,降低地图加载时间,降低对硬件要求,提高导航效率。

本发明实施例通过提取地图图像特征并在地图图像中确定子区域,基于子区域确定规划路径,并根据规划路径动态加载地图图像,可以避免加载完整的地图图像,解决了导航过程中加载整张地图,耗时长和占用内存大的问题,实现降低地图加载成本,提高地图加载效率和提高路径规划效率的效果。

图6为本发明提供的一种路径规划方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化,具体的,将根据所述规划路径动态加载所述地图图像细化为:根据所述规划路径,以及当前位置,确定加载区域,并加载;在移动过程中,更新所述当前位置和更新加载所述加载区域。该方法包括:

步骤210、获取地图图像,并提取图像特征。

本发明实施例未详尽的描述可以参考前述实施例的内容。

步骤220、根据所述图像特征,在所述地图图像中确定至少两个子区域。

步骤230、根据所述地图图像中子区域,确定规划路径。

步骤240、根据所述规划路径,以及当前位置,确定加载区域,并加载。

当前位置可以是根据定位系统确定计算机设备在地图图像中的所在位置。加载区域是指当前时刻计算机设备需要加载的地图图像中的部分区域。具体可以为:包括当前位置的预设范围的区域、当前子区域或当前子区域及要移动到的下一子区域。

在一个可选实施例中,所述根据所述规划路径,以及当前位置,确定加载区域,包括:获取当前位置所属的当前子区域;根据所述规划路径和所述当前子区域,确定所述当前子区域连通的下一子区域;将所述当前子区域和所述下一子区域确定为加载区域。

当前子区域是根据当前位置所在的子区域。子区域之间的连通关系是指:计算机设备可以经过两个子区域之间的边界在该两个子区域中移动,则该两个子区域之间的关系为连通关系。连通的下一子区域是指计算机设备可以从当前子区域直接移动(不经过其他子区域)到的下一子区域,连通是指两个子区域有公共的边界,且计算机设备可以通过该边界。

通过将当前子区域和所述下一子区域确定为加载区域,提前加载下一连通子区域,计算机设备在两个子区域内移动时可以无需加载,保证计算机设备在两个子区域内的稳定移动,减少导航的计算量,提高导航效率,而且,避免加载全部地图图像,降低计算机设备移动时地图图像占用的存储空间,减少存储资源损耗,提高资源利用率。

在一个可选实施例中,所述根据所述规划路径,以及当前位置,确定加载区域,包括:获取所述当前位置所属的当前子区域,并确定为加载区域。

将当前所属的当前子区域作为加载区域,可以仅加载小范围的区域,保证计算机设备在子区域内的稳定移动,进一步减少导航的计算量,提高导航效率,并且进一步降低计算机设备移动时地图图像占用的存储空间,减少存储资源损耗,提高资源利用率,而且不会受到其他子区域内障碍物影响,避免在当前子区域内规划路径时发生误判,提高路径规划效率。

在一个可选实施例中,所述根据所述规划路径,以及当前位置,确定加载区域,包括:根据移动环境,确定对应的距离范围;根据所述规划路径,确定对应的移动方向;根据所述当前位置、所述移动方向和所述对应的距离范围,确定加载区域。

移动环境是指计算机设备的移动应用场景,通常不同移动环境下对应不同的固定障碍物和移动障碍物。示例性的,固定障碍物可以是建筑物或货架等;移动障碍物可以为人或动物等。

距离范围用于确定加载区域的尺寸,与移动环境对应。示例性的,距离范围可以是圆形的半径、扇形的半径或矩形的边长等,具体数值为如6米。移动方向是计算机设备的前进方向。路径确定后,计算机设备可以边走边加载其一定距离以内的地图,示例性的,加载区域为以当前位置为圆心,半径为6米的圆形区域。距离范围的数值可以根据移动环境不同设定不同的数值。具体的,可以根据移动环境可行区域面积或人流量等设置距离范围数值,示例性的,酒店加载区域距离范围数值小于机场加载区域距离范围数值。实际上,在酒店环境中,行人密度大,且运动数据多变,区域较为狭窄,需要计算机设备实时根据障碍物调整规划路径,规划路径的更新频率高,可以配置小范围内的加载区域;而在机场环境中,行人密度小,区域较为空旷,计算机设备根据障碍物调整规划路径的实时性低,规划路径的更新频率低,可以配置大范围内的加载区域。

通过将一定范围内区域作为加载区域,可以灵活控制加载区域的范围,增加加载区域的多样性,丰富动态加载的应用场景,满足不同移动环境下的加载需求,可以实时检测其移动方向上出现的障碍物,及时停止移动或者更改路线,防止计算机设备与障碍物发生碰撞,提高移动的安全性。

步骤250、在移动过程中,更新所述当前位置和更新加载所述加载区域。

计算机设备在移动过程中实时更新当前位置,确定根据当前位置所属的当前子区域及步骤240确定的加载区域,实时更新加载区域并加载更新后的加载区域,同时删除已加载的但移动出的区域的地图。

通过实时更新当前位置,更新加载区域,实现计算机设备连续稳定移动。

在一个可选实施例中,所述在移动过程中,更新所述当前位置和更新加载所述加载区域,包括:在移动到所述当前子区域连通的下一子区域时,获取实时位置,并更新所述当前位置;在所述加载区域中删除所述当前子区域;根据所述规划路径和更新后的当前位置所属的子区域,确定与所述更新后的当前位置所属的子区域连通的下一新子区域;将所述新子区域添加到所述加载区域中,并加载。

以计算机设备加载区域为当前子区域和连通的下一子区域为例,当计算机设备在移动到当前子区域连通的下一子区域时,连通的下一子区域时作为新的当前子区域,删除已加载当前子区域地图,并确定与加载新的当前子区域连通的下一新子区域。下一新子区域与更新后的当前位置所属的子区域连通,且在子区域路线中,在更新后的当前位置所属的子区域移动方向上,下一子区域为下一新子区域。

通过实时更新加载区域并删除已经移动出的子区域,可以减少加载的地图占用的存储空间,降低对计算机设备的硬件要求,减低地图存储成本。

本实施例的技术方案,通过确定当前所在子区域,确定加载区域,并进行实时更新,实现动态加载地图,降低地图加载对硬件的依赖,提高地图加载效率。

图7为本发明提供的一种路径规划方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化,具体的,将提取图像特征细化为:采用卷积核对所述地图图像进行卷积运算,得到输出地图,输出地图为像素点集合;并将根据所述图像特征,在所述地图图像中确定至少两个子区域,细化为:在所述像素点集合中,根据预设像素值,筛选得到候选拓扑节点;对各所述拓扑节点进行聚类,确定类以及类中心节点;根据所述类中心节点,在所述地图图像中确定子区域。该方法包括:

步骤310、获取地图图像。

步骤320、采用卷积核对所述地图图像进行卷积运算,得到输出地图,输出地图为像素点集合。

步骤330、在所述像素点集合中,根据预设像素值,筛选得到候选拓扑节点。

卷积运算相当于按照卷积核中权重,对图像指定像素点周围的与卷积核尺寸相同的矩阵进行加权求和,得到像素点集合,并设定像素值阈值,将像素点集合中大于等于阈值的像素点作为候选拓扑节点。候选拓扑节点是计算机设备可移动到的位置点,例如,计算机设备在地图图像中可到达的路径点,更具体可以是地图图像中可行区域的中心点。

步骤340、对各所述候选拓扑节点进行聚类,确定类以及类中心节点。

聚类是将多个对象分成由类似的对象组成的多个类的过程,具体的,在本发明中聚类是将候选拓扑节点分成多个类的过程,将两个距离小于某个阈值的点算作一类点。在确定的类中,可以计算类中心点,并确定为类中心节点。

具体的,聚类方法一般通过最大化类间距或者最小化类内间距实现聚类目的,本发明通过设置最大类内间距,保证聚类中心距离在合适的范围,实现类中心节点分布均匀合理。

通过将候选拓扑点进行聚类得到类以及类中心节点,确定类中心节点,实现区域的初步划分,为子区域划分提供依据。

步骤350、根据所述类中心节点,在所述地图图像中确定子区域。

在一个可选实施例中,根据所述类中心节点,在所述地图图像中确定子区域,包括:以各所述类中心节点为中心,以特定像素宽度的增量向外扩散;在所述类中心节点扩散的像素点与其他类中心节点扩散得到的像素点重合的情况下,获取重合的像素点的扩散方向,并停止沿着所述扩散方向进行扩散;将扩散得到的区域范围内的像素点和所述类中心节点,形成子区域。

类中心节点扩散方式是全部类中心节点同时开始扩散,每次向外扩散特定像素宽度,向外扩散的方向可以是远离类中心节点的方向。特定像素宽度可以是一个像素,即一个栅格。

实际上,在扩散过程中,每次扩散,以每个类中心节点为中心确定一个新的扩散区域,新的扩散区域的面积通常比历史扩散区域的面积大,即实现向外增加新的区域,其中,扩散区域内的像素点属于该扩散区域。类中心节点扩散的像素点与其他类中心节点扩散得到的像素点重合,可以包括,在某一时刻,类中心节点确定的新扩散区域中新增区域内的像素点,属于其他类中心节点确定的历史扩散区域(历史扩散区域为该时刻之前的历史时刻确定的扩散区域);或者在某一时刻,类中心节点确定的新扩散区域中新增区域内的像素点,与其他类中心节点在该时刻确定的新扩散区域中新增区域内的像素点相同。需要说明的是,类中心节点确定的新扩散区域中新增区域内的像素点,与其他类中心节点在该时刻确定的新扩散区域中新增区域内的像素点相同,可以根据类中心节点之间预设的优先级,确定该相同的像素点的所属区域。示例性的,在类中心节点a的优先级高于类中心节点b的优先级的情况下,确定该像素点属于类中心节点a在当前时刻确定的扩散区域内。

重合的像素点的扩散方向,可以是指,重合像素点与类中心节点确定的直线上,远离类中心节点的直线方向。此外,在类中心节点扩散的像素点为障碍物像素点的情况下,获取障碍物的像素点的扩散方向,并停止沿着扩散方向进行扩散。

将扩散得到的区域范围内的像素点和类中心节点,形成子区域,可以是指不存在任意一个扩散方向时,将当前时刻确定的扩散区域内的像素点,以及类中心节点,组成子区域。

通过以类中心节点为中心向外扩散得到子区域,将可行区域划分为多个子区域,可以灵活控制子区域的范围,并且可以精准划分子区域,并为后续确定子区域之间的边界提供数据支持。

步骤360、根据所述地图图像中子区域,确定规划路径。

在一个可选实施例中,所述根据所述地图图像中子区域,确定规划路径,包括:获取边界相邻的两个子区域之间的接触边界线长度;根据所述接触边界线长度与计算机设备的移动宽度,检测边界相邻的两个子区域之间的连通关系;根据起始位置、目标位置、各所述子区域之间的连通关系和各所述子区域的类中心节点,确定规划路径,所述规划路径包括子区域路线,和在各所述子区域中的路线,子区域路线中移动次序相邻的两个子区域之间存在连通关系。

接触边界是指边界相邻的两个子区域之间的边界。接触边界线长度是指接触边界的长度,在地图图像为栅格地图的情况下,栅格地图的像素点为栅格,从而可以采用栅格的数量表示接触边界线长度。

移动宽度是指计算机设备在移动方向上的宽度。示例性的,移动宽度可以是指计算机设备在水平面内与移动方向垂直的方向上的长度。例如,计算机设备为机器人,该机器人为圆柱结构,移动宽度为机器人的圆柱直径。

当计算机设备移动宽度小于接触边界线长度时,计算机设备可以通过该边界,则两个边界相邻的两个子区域之间的关系为连通关系。反之,当计算机设备移动宽度大于接触边界线长度时,计算机设备不能通过该边界,则两个边界相邻的两个子区域之间的关系不是连通关系。其中,当计算机设备的移动宽度等于接触边界线长度时,确定计算机设备不能通过该边界,可以避免计算机设备极限通过,导致计算机设备的损伤。示例性的,计算机设备为机器人,两个相邻子区接触边界的长度为S,机器人直径为L,如果S大于L,则表示机器人可以通过此区域,表示两个相邻子区域连通;如果S小于等于L,则表示机器人不可以通过此区域,表示两个相邻子区域不连通。

其中,起始位置可以是指定标签位置或充电桩所在位置等,计算机设备完成移动任务返回的指定位置,充电桩一般固定在特定区域。通常指定标签位置和充电桩所在位置都是预先配置的,即根据指定标签位置或充电桩所在位置的所属子区域,确定为起始位置所属的子区域。如果起始位置未预先配置,则加载全部地图图像。

根据起始位置所属的子区域、目标位置所属的子区域和各子区域之间的连通关系,确定子区域路线,即子区域到子区域的规划路径。具体的,子区域路线中移动次序相邻的两个子区域之间存在连通关系。示例性的,子区域路线可以是从起始位置所属的子区域开始确定与其连通的子区域,再根据该子区域确定连通的子区域,以此类推,直到到达目标位置所在的子区域结束,完成子区域路线的规划。进一步的,根据动态加载范围,加载局部地图图像,在局部地图图像范围内进行局部路径规划。示例性的,以加载区域为两个子区域为例,在子区域路线每两个联通子区域内,根据起始位置所属的子区域、目标位置所属的子区域和子区域的类中心节点,确定子区域中的路线,即点到点的规划路径。具体的,从起始位置开始,确定与其所属子区域连通的子区域中的关键节点,再确定与该关键节点所属子区域连通的子区域中的下一关键节点,以此类推,直到到达目标位置结束,完成子区域中的路线的规划。其中,关键节点可以是子区域的类中心节点,还可以是连通的两个子区域之间的接触边界上的节点。计算机设备通过先规划子区域路线,再在子区域内进行局部路径规划,确定子区域中的路线,缩小了加载地图图像区域,提高地图加载效率,减少对硬件的依赖,减小地图加载成本。

通过比较计算机设备移动宽度和接触边界线长度判断两个边界相邻的两个子区域之间的连通关系,确保计算机设备移动时可以通过两个相邻的两个子区域的边界。

在一个可选实施例中,所述获取边界相邻的两个子区域之间的接触边界线长度,包括:在边界相邻的两个子区域中,在第一子区域中查询与第二子区域邻接的像素点;统计邻接的像素点的数量,确定为接触边界线长度。

第一子区域中与第二子区域邻接的像素点是指第一子区域的像素点与第二子区域的像素点相邻。在地图图像为栅格地图的情况下,第一子区域与第二子区域邻接的像素点是指第一子区域与第二子区域中栅格边缘重合的像素点。实际上,如果一个子区域A的像素点和另一个子区域B的像素点是相邻的,接触边界长度通过逐个像素点遍历和子区域B邻接的像素点,得到接触边界的像素点数,通过地图上尺寸比例换算得到实际长度。其中,边界线的两个端点具有如下的特征:子区域A像素邻接的像素不属于子区域B,而是非子区域B,如子区域C或者障碍物。

通过两个子区域中邻接的像素点的数量作为接触边界线长度,简化接触边界线长度的检测操作,易于实现,可以提高边界线长度的检测效率。

步骤370、根据所述规划路径动态加载所述地图图像。

本实施例的技术方案,通过聚类获得类中心节点,并通过以中心节点为中心,确定子区域,实现子区域的精确划分,为规划子区域路线提供数据基础,提高路径规划的准确率。

图8为本发明提供的一种路径规划装置的结构示意图,实施例四是实现本发明上述实施例提供的路径规划方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。路径规划装置包括:

图像特征提取模块410,用于获取地图图像,并提取图像特征;

子区域确定模块420,用于根据所述图像特征,在所述地图图像中确定至少两个子区域;

规划路径确定模块430,用于根据所述地图图像中子区域,确定规划路径;

地图动态加载模块440,用于根据所述规划路径动态加载所述地图图像。

本实施例的技术方案,通过图像特征提取模块提取地图图像特征,先确定地图图像中子区域再规划路径,这样导航移动中加载地图时只需要动态加载需要的子区域地图,解决加载整张地图的过程中,耗时长和占用内存大的问题,实现降低地图加载的成本,提高地图加载的效率,提高路径规划的效率的效果。

进一步的,所述地图动态加载模块440,具体用于:根据所述规划路径,以及当前位置,确定加载区域,并加载;在移动过程中,更新所述当前位置和更新加载所述加载区域。

进一步的,所述地图动态加载模块440,具体用于:获取当前位置所属的当前子区域;根据所述规划路径和所述当前子区域,确定所述当前子区域连通的下一子区域;将所述当前子区域和所述下一子区域确定为加载区域。

进一步的,所述地图动态加载模块440,具体用于:在移动到所述当前子区域连通的下一子区域时,获取实时位置,并更新所述当前位置;在所述加载区域中删除所述当前子区域;根据所述规划路径和更新后的当前位置所属的子区域,确定与所述更新后的当前位置所属的子区域连通的下一新子区域;将所述新子区域添加到所述加载区域中,并加载。

进一步的,所述地图动态加载模块440,具体用于:获取所述当前位置所属的当前子区域,并确定为加载区域。

进一步的,所述地图动态加载模块440,具体用于:根据移动环境,确定对应的距离范围;根据所述规划路径,确定对应的移动方向;根据所述当前位置、所述移动方向和所述对应的距离范围,确定加载区域。

进一步的,所述图像特征提取模块410,具体用于:采用卷积核对所述地图图像进行卷积运算,得到输出地图,输出地图为像素点集合。

进一步的,所述子区域确定模块420,具体用于:在所述像素点集合中,根据预设像素值,筛选得到候选拓扑节点;对各所述候选拓扑节点进行聚类,确定类以及类中心节点;根据所述类中心节点,在所述地图图像中确定子区域。

进一步的,所述卷积核,包括下述至少一项:路径端点卷积核、过道路径点卷积核和空旷区域卷积核。

进一步的,所述子区域确定模块420,具体用于:以各所述类中心节点为中心,以特定像素宽度的增量向外扩散;在所述类中心节点扩散的像素点与其他类中心节点扩散得到的像素点重合的情况下,获取重合的像素点的扩散方向,并停止沿着所述扩散方向进行扩散;将扩散得到的区域范围内的像素点和所述类中心节点,形成子区域。

进一步的,所述规划路径确定模块430,具体用于:获取边界相邻的两个子区域之间的接触边界线长度;根据所述接触边界线长度与计算机设备的移动宽度,检测边界相邻的两个子区域之间的连通关系;根据起始位置、目标位置、各所述子区域之间的连通关系和各所述子区域的类中心节点,确定规划路径,所述规划路径包括子区域路线,和在各所述子区域中的路线,子区域路线中移动次序相邻的两个子区域之间存在连通关系。

进一步的,所述规划路径确定模块430,具体用于:在边界相邻的两个子区域中,在第一子区域中查询与第二子区域邻接的像素点;统计邻接的像素点的数量,确定为接触边界线长度。

上述装置可执行本发明实施例所提供的路径规划方法,具备执行路径规划方法相应的功能模块和有益效果。

图9为本发明提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图9中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的路径规划方法对应的程序指令/模块(例如,路径规划装置中的图像特征提取模块410、子区域确定模块420、规划路径确定模块430和地图动态加载模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的路径规划方法。

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

输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

本发明还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种路径规划方法,该方法包括:获取地图图像,并提取图像特征;根据所述图像特征,在所述地图图像中确定至少两个子区域;根据所述地图图像中子区域,确定规划路径;根据所述规划路径动态加载所述地图图像。

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

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

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 路径规划方法、路径规划系统、电子设备及计算机存储介质
  • 设备作业路径规划方法、装置、计算机设备和存储介质
技术分类

06120113679027