路径生成方法、装置、服务器及存储介质
未命名
10-18
阅读:99
评论:0
1.本技术属于计算机技术领域,尤其涉及路径生成方法、装置、服务器及存储介质。
背景技术:
2.目前,移动机器人被广泛应用于各个行业,如,服务家居行业、军事航天行业、建筑勘察行业等。在移动机器人的使用过程中,通常需要对移动机器人的路径进行规划,以控制移动机器人从所处场景中的起点移动到目标点。
3.相关技术中,通常是采用采样算法在场景地图上随机选取采样点,通过场景地图中的多个采样点找到从起点到目标点的行驶路径。这种通过采样算法得到行驶路径的方式,对移动机器人所处场景的探索完全是随机的,采样点正好落在目标点的概率较低,需要经过多次采样才能使得采样点正好落在目标点,导致行驶路径的生成效率较低。
技术实现要素:
4.本技术实施例提供了一种路径生成方法、装置、服务器及存储介质,可以解决相关技术中,行驶路径的生成效率低的问题。
5.本技术实施例的第一方面提供了一种路径生成方法,包括:
6.获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置;
7.将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置;
8.基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。
9.在一些实施例中,建图模型包括池化层和卷积层,建图模型对目标场景地图的处理包括:
10.采用池化层对目标场景地图进行池化操作,得到目标场景地图对应的障碍距离地图;
11.采用卷积层对障碍距离地图进行卷积操作,得到目标场景的维诺图。
12.在一些实施例中,池化操作包括:
13.对目标场景地图中的池化窗口处的图像区域进行距离偏移变换,以及将距离偏移变换后的图像区域中的最大值,确定为目标场景地图在池化窗口处的最大池化值。
14.在一些实施例中,方法还包括:
15.在池化层具有多层时,根据目标场景地图的尺寸信息确定池化层的层数。
16.在一些实施例中,建图模型对目标场景地图的处理包括:
17.根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离;
18.基于各像素点分别对应的间隔距离,生成障碍距离地图;
19.根据障碍距离地图,生成维诺图。
20.在一些实施例中,根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离,包括:
21.根据障碍物位置信息,确定障碍物在目标场景地图中的障碍物边界线,将由障碍物边界线向外扩张一个像素步长得到的封闭曲线记作目标基线,以及执行如下距离确定步骤:
22.将处于目标基线上的各像素点与障碍物位置之间的间隔距离,确定为目标基线与障碍物边界线之间的距离值;
23.将目标基线向外扩张一个像素步长,以及将目标基线切换为扩张后的目标基线,继续执行距离确定步骤,直至各像素点对应有间隔距离。
24.在一些实施例中,方法还包括:
25.根据障碍物位置信息确定目标场景地图中各障碍物位置之间的障碍物间距,将障碍物间距小于预设间距阈值的多个障碍物位置合并。
26.本技术实施例的第二方面提供了一种路径生成装置,包括:
27.图像获取单元,用于获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置;
28.图像处理单元,用于将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置;
29.路径生成单元,用于基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。
30.在一些实施例中,建图模型包括池化层和卷积层。
31.池化层,用于对目标场景地图进行池化操作,得到目标场景地图对应的障碍距离地图;
32.卷积层,用于对障碍距离地图进行卷积操作,得到目标场景的维诺图。
33.在一些实施例中,建图模型的池化层中,池化操作包括:对目标场景地图中的池化窗口处的图像区域进行距离偏移变换,以及将距离偏移变换后的图像区域中的最大值,确定为目标场景地图在池化窗口处的最大池化值。
34.在一些实施例中,建图模型中,在池化层具有多层时,池化操作还包括:根据目标场景地图的尺寸信息确定池化层的层数。
35.在一些实施例中,建图模型包括间隔确定模块、地图生成模块和图像生成模块。
36.间隔确定模块,用于根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离;
37.地图生成模块,用于基于各像素点分别对应的间隔距离,生成障碍距离地图;
38.图像生成模块,用于根据障碍距离地图,生成维诺图。
39.在一些实施例中,建图模型中的间隔确定模块具体用于:根据障碍物位置信息,确定障碍物在目标场景地图中的障碍物边界线,将由障碍物边界线向外扩张一个像素步长得到的封闭曲线记作目标基线,以及执行如下距离确定步骤:
40.将处于目标基线上的各像素点与障碍物位置之间的间隔距离,确定为目标基线与障碍物边界线之间的距离值;
41.将目标基线向外扩张一个像素步长,以及将目标基线切换为扩张后的目标基线,继续执行距离确定步骤,直至各像素点对应有间隔距离。
42.在一些实施例中,装置还包括位置合并单元,用于根据障碍物位置信息确定目标场景地图中各障碍物位置之间的障碍物间距,将障碍物间距小于预设间距阈值的多个障碍物位置合并。
43.本技术实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面提供的路径生成方法的各步骤。
44.本技术实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现第一方面提供的路径生成方法的各步骤。
45.实施本技术实施例提供的路径生成方法、装置、服务器及存储介质具有以下有益效果:首先,获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置。然后,将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置。最后,基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。在生成行驶路径的过程中,通过建图模型以目标场景中确定的障碍物位置作为基点生成维诺图,基于维诺图生成行驶路径,可以避免在目标场景中进行多次随机采样,提高生成行驶路径的效率。
46.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
47.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本技术一实施例提供的路径生成方法的实现流程图;
49.图2是本技术一实施例提供的建图模型对目标场景地图的处理的实现流程图;
50.图3是本技术一实施例提供的对目标场景地图进行池化操作的示意图;
51.图4是本技术另一实施例提供的对目标场景地图进行池化操作的示意图;
52.图5是本技术一实施例提供的对目标场景地图的处理得到维诺图的过程示意图;
53.图6是本技术一实施例提供的建图模型对目标场景地图的处理的实现流程图;
54.图7是本技术一实施例提供的距离确定步骤的实现流程图;
55.图8是本技术一实施例提供的路径生成装置的结构框图;
56.图9是本技术一实施例提供的服务器的结构框图。
具体实施方式
57.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具
体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
58.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
59.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0060]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0061]
为了说明本技术的技术方案,下面通过以下实施例来进行说明。
[0062]
请参阅图1,图1是本技术一实施例提供的路径生成方法的实现流程图,包括如下步骤101-步骤103。
[0063]
步骤101,获取目标机器人当前所处目标场景的目标场景地图。
[0064]
其中,上述目标机器人通常是需要进行行驶路径规划的机器人。
[0065]
其中,上述目标场景通常是目标机器人当前所处的场景。
[0066]
其中,上述目标场景地图通常是目标机器人当前所处的场景的地图。实践中,目标场景地图通常包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置。
[0067]
在本实施例中,上述路径生成方法的执行主体通常是服务器,如,用于生成供目标机器人移动的行驶路径的路径生成服务器。需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
[0068]
实践中,目标场景地图可以是二值地图,二值地图中对应像素值为1的像素点用于指示障碍物;二值地图中对应像素值为0的像素点用于指示可通行区域。
[0069]
实际应用中,上述执行主体可以通过相机采集目标机器人所处场景的原始场景地图,之后,可以将原始场景地图转换成二值图像,从而得到二值地图,以及可以将该二值地图作为上述目标场景地图。具体的,上述执行主体可以采用均值法、加权法、最大值法等图像灰度化处理方法对原始场景地图进行灰度化处理,将原始场景地图转换成灰度地图,通过预设灰度阈值和灰度地图中各像素点的灰度值,将灰度地图转换成二值地图。
[0070]
实践中,上述执行主体也可以采用激光雷达,采集目标机器人所处场景的障碍物信息,通过采集到的障碍物信息构建目标机器人所处场景的栅格地图,将栅格地图转换成
二值地图,以及将该二值地图作为上述目标场景地图。具体的,上述执行主体可以采用占据栅格算法构建目标机器人所处场景的栅格地图,通过预设灰度阈值和栅格地图中各栅格的灰度值,将栅格地图转换成二值地图。作为一个示例,上述执行主体可以设置预设灰度阈值为55,将栅格地图中灰度值大于或者等于55的栅格确定为二值图中的像素值为1的像素点,用于指示障碍物,将栅格地图中灰度值小于55的栅格确定为二值图中的像素值为0的像素点,用于指示可通行区域,将栅格地图转换成二值图。
[0071]
步骤102,将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图。
[0072]
其中,建图模型用于基于目标场景地图生成针对目标场景的维诺图。建图模型用于表征目标场景地图与针对目标场景的维诺图之间的对应关系。这里,建图模型可以是基于训练样本,利用机器学习,对初始模型(例如卷积神经网络(convolutional neural network,cnn)、深度神经网络(deep neural networks,dnn)等)进行训练后得到的模型。
[0073]
实践中,上述执行主体可以将目标场景地图输入预先构建的建图模型中,通过建图模型得到针对目标场景的维诺图。
[0074]
步骤103,基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。
[0075]
其中,上述行驶路径是从目标机器人的起点到目标点的路径。
[0076]
实践中,在得到维诺图后,上述执行主体可以将目标机器人的起点和目标点关联到与维诺图距离最近的边上,采用搜索算法,如,dijkstra算法生成一条从起点到目标点的行驶路径。
[0077]
本实施例提供的路径生成方法,首先,获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置。然后,将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置。最后,基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。在生成行驶路径的过程中,通过建图模型以目标场景中确定的障碍物位置作为基点生成维诺图,基于维诺图生成行驶路径,可以避免在目标场景中进行多次随机采样,提高生成行驶路径的效率。
[0078]
请参阅图2,图2是本技术一实施例提供的建图模型对目标场景地图的处理的实现流程图,包括如下步骤201-步骤202。
[0079]
步骤201,采用池化层对目标场景地图进行池化操作,得到目标场景地图对应的障碍距离地图。
[0080]
这里,建图模型可以包括池化层和卷积层。
[0081]
其中,障碍距离地图是各像素点到目标场景中离像素点最近的障碍物的距离组成的地图。
[0082]
实践中,上述执行主体可以采用预先设定的池化窗口和预先设定的池化窗口的移动步长,对目标场景地图进行池化操作。作为一个示例,上述执行主体可以采用预先设定的3x3的池化窗口,和1个像素长度的移动步长,对目标场景地图进行池化操作。
[0083]
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下第一步至第二步对目标场景地图进行池化操作。
[0084]
第一步,对目标场景地图中的池化窗口处的图像区域进行距离偏移变换。
[0085]
其中,上述距离偏移变换可以是通过预先设定的距离偏移算子,对图像区域进行距离偏移的操作。对图像区域进行距离偏移变换之后,图像区域中各像素点对应的取值可以指示像素点与障碍物之间的距离。
[0086]
实践中,上述执行主体可以通过预先设定的距离偏移算子,对图像区域进行距离偏移变换。作为一个示例,对于3x3的池化窗口,上述执行主体可以通过预先设定的距离偏移算子对图像区域进行距离偏移变换,其中,距离偏移变换后的图像区域x为:
[0087]
x=ax+b
[0088]
其中,x是距离偏移变换后的图像区域,a是恒等矩阵,x是距离偏移变换前的图像区域,b是偏移矩阵,b为:
[0089][0090]
第二步,将距离偏移变换后的图像区域中的最大值,确定为目标场景地图在池化窗口处的最大池化值。
[0091]
这里,池化操作中的池化为最大池化。最大池化是提取图像区域中的最大值的池化。
[0092]
实践中,上述执行主体可以对距离偏移变换后的图像区域进行最大池化,得到目标场景地图在池化窗口处的最大池化值。
[0093]
实践中,上述执行主体在通过池化窗口和移动步长,依次对池化窗口对应的图像区域距离偏移变换,以及对距离偏移变换后的图像区域进行最大池化之后,可以得到目标场景地图对应的障碍距离地图。这里,在障碍距离地图中,像素点到障碍物的距离是梯度式的。
[0094]
作为一个示例,请参阅图3,图3是本技术一实施例提供的对目标场景地图进行池化操作的示意图。如图3所示的,通过上述距离偏移算子对距离偏移变换前的图像区域x:进行距离偏移变换,可以得到距离偏移变换后的图像区域x:对图像区域x进行最大池化,可以得到目标场景地图在池化窗口处的最大池化值[9]。
[0095]
作为另一个示例,请参阅图4,图4是本技术另一实施例提供的对目标场景地图进行池化操作的示意图。如图4所示的,对于5x5的目标场景地图,采用3x3的池化窗口从目标场景地图中的左上角的3x3的图像区域开始池化操作,得到左上角的3x3的图像区域的最大池化值为通过移动步长将池化窗口在目标场景地图中依次向右和向下进行重叠池化,采用3x3的池化窗口遍历目标场景地图中的所有像素点,得到目标场
景地图对应的障碍距离地图。
[0096]
步骤202,采用卷积层对障碍距离地图进行卷积操作,得到目标场景的维诺图。
[0097]
其中,上述卷积操作是提取图像边缘特征的操作。
[0098]
实践中,障碍距离地图中像素点到障碍物的距离是梯度式的,障碍距离地图中的局部存在距离极值边缘,上述执行主体可以采用边缘检测算子,如,索贝尔(sobel)算子,罗伯茨(roberts)算子,拉普拉斯(laplace)算子作为卷积核,对障碍距离地图进行卷积操作。作为一个示例,上述执行主体可以采用拉普拉斯算子l作为卷积核对障碍距离地图进行卷积操作,其中,拉普拉斯算子l为:
[0099][0100]
实践中,上述执行主体可以通过卷积操作提取障碍距离地图的边缘特征,得到障碍距离地图的局部距离极值边缘。
[0101]
在得到障碍距离地图的局部距离极值边缘之后,上述执行主体可以将局部距离极值边缘作为维诺图的边,连接障碍距离地图中的多个局部距离极值边缘,得到目标场景的维诺图。
[0102]
本实施例提供的路径生成方法,通过预先训练的建图模型得到目标场景对应的维诺图,可以提高生成维诺图的效率,从而提高生成行驶路径的效率。同时,建图模型直接通过目标场景地图对应的障碍距离地图的局部距离极值边缘生成维诺图,可以避免由于目标场景不同而影响维诺图生成的效率,从而提高生成行驶路径的效率。
[0103]
举例来说,请参阅图5,图5是本技术一实施例提供的对目标场景地图的处理得到维诺图的过程示意图。如图5所示的,最左边为目标机器人当前所处目标场景的目标场景地图,通过池化层对目标场景地图进行池化操作,可以得到中间的障碍距离地图,通过卷积层对障碍距离地图进行卷积操作,可以得到最右边的维诺图。
[0104]
在一些实施例中,上述建图模型对目标场景地图的处理还可以包括:
[0105]
在池化层具有多层时,根据目标场景地图的尺寸信息确定池化层的层数。
[0106]
其中,上述目标场景地图的尺寸信息可以包括目标场景地图的长度和宽度。
[0107]
作为一个示例,上述执行主体可以直接将目标场景地图的长度值或宽度值作为池化层的层数。作为另一个示例,上述执行主体可以通过如下公式确定池化层的层数:
[0108][0109]
其中,n是池化层的层数,l
max
是目标场景地图的长度和宽度中的最大值。
[0110]
在得到池化层的层数之后,上述执行主体可以通过建图模型对目标场景地图进行多次池化操作,得到目标场景的维诺图。
[0111]
本实施例提供的路径生成方法,通过目标场景地图的尺寸信息确定池化层的层数,对目标场景地图进行多次池化操作,可以提高目标场景的维诺图的准确性,从而提高生成的行驶路径的准确性。
[0112]
请参阅图6,图6是本技术一实施例提供的建图模型对目标场景地图的处理的实现流程图,包括如下步骤601-步骤603。
[0113]
步骤601,根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离。
[0114]
其中,上述障碍物位置信息是目标场景地图中障碍物的位置信息。
[0115]
实践中,上述执行主体可以在目标场景地图中建立坐标系,障碍物位置信息可以是障碍物位置的坐标。针对目标场景地图中的每一个像素点,上述执行主体可以通过该像素点的坐标和障碍物位置的坐标,得到该像素点与障碍物位置之间的间隔距离。
[0116]
步骤602,基于各像素点分别对应的间隔距离,生成障碍距离地图。
[0117]
实践中,在得到目标场景地图中的每一个像素点与障碍物位置之间的间隔距离之后,上述执行主体可以通过预先设定的障碍距离地图模板,生成障碍距离地图。具体的,上述执行主体可以将各像素点对应的坐标和与障碍物位置之间的距离输入到预先设定的障碍距离地图模板,得到障碍距离地图。这里,障碍物距离地图中每一个像素的取值与该像素点在目标场景地图中与障碍物位置之间的距离对应。
[0118]
步骤603,根据障碍距离地图,生成维诺图。
[0119]
实践中,障碍距离地图中像素点到障碍物的距离是梯度式的,障碍距离地图中的局部存在距离极值边缘,上述执行主体可以采用边缘检测算子,如,索贝尔(sobel)算子,罗伯茨(roberts)算子,拉普拉斯(laplace)算子作为卷积核,对障碍距离地图进行卷积操作,提取障碍距离地图的边缘特征,得到障碍距离地图的局部距离极值边缘。
[0120]
在得到障碍距离地图的局部距离极值边缘之后,上述执行主体可以将局部距离极值边缘作为维诺图的边,连接障碍距离地图中的多个局部距离极值边缘,得到目标场景的维诺图。
[0121]
在一些实施例中,上述根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离,可以包括如下步骤一至步骤二。
[0122]
步骤一,根据障碍物位置信息,确定障碍物在目标场景地图中的障碍物边界线,将由障碍物边界线向外扩张一个像素步长得到的封闭曲线记作目标基线。
[0123]
实践中,上述执行主体可通过障碍物位置信息,得到障碍物边界线,从障碍物边界线开始,将障碍物边界线每次向目标场景地图中的可通行区域扩张一个像素步长,得到每次扩张的封闭曲线,将封闭曲线记作目标基线。具体的,上述执行主体可以基于障碍物边界线对应的各个像素点的坐标和向可通行区域扩张的坐标变换规则,得到障碍物边界线向可通行区域扩张一个像素步长后,对应的各像素点的坐标变换后的坐标,将各像素点的坐标变换后的坐标对应的封闭曲线作为目标基线。
[0124]
步骤二,对目标基线执行距离确定步骤。
[0125]
请参阅图7,图7是本技术一实施例提供的距离确定步骤的实现流程图,包括如下步骤701-步骤702。
[0126]
步骤701,将处于目标基线上的各像素点与障碍物位置之间的间隔距离,确定为目标基线与障碍物边界线之间的距离值。
[0127]
实践中,上述执行主体可以通过目标基线上的各像素点的坐标与障碍物位置信息得到目标基线上的各像素点与障碍物位置之间的间隔距离。
[0128]
实践中,目标基线上的各像素点与障碍物位置之间的间隔距离,和目标基线对应的扩张次数成正比,上述执行主体也可以通过目标基线对应的扩张次数和像素步长,计算
得到目标基线上的各像素点与障碍物位置之间的间隔距离。具体的,上述执行主体可以将扩张次数和像素步长的乘积作为目标基线上的各像素点与障碍物位置之间的间隔距离。
[0129]
步骤702,将目标基线向外扩张一个像素步长,以及将目标基线切换为扩张后的目标基线,继续执行距离确定步骤,直至各像素点对应有间隔距离。
[0130]
这里,各像素点对应有间隔距离是指确定了目标场景地图中的所有像素点到障碍物位置之间的距离。
[0131]
实践中,上述执行主体可以将目标基线每次向外扩张一个像素步长,将目标基线切换为扩张后的目标基线,将处于扩张后的目标基线上的各像素点与障碍物位置之间的间隔距离,作为扩张后的目标基线与障碍物边界线之间的距离值。在各像素点对应有间隔距离时,上述执行主体可以得到目标场景地图中的所有像素点到障碍物位置之间的距离,上述执行主体可以停止目标基线的向外扩张。
[0132]
在目标场景地图中存在多个障碍物时,上述执行主体可以基于每个障碍物边界线依次向外扩张一个像素步长,得到各像素点对应于每个障碍物位置之间的间隔距离。在所有障碍物边界线都停止扩张之后,针对每一个像素点,都可以得到针对每一个障碍物位置的间隔距离,上述执行主体可以从每一个像素点的、与多个障碍物的间隔距离值中,提取间隔距离值中的最小间隔距离作为该像素点对应的与障碍物位置之间的间隔距离。举例来说,目标场景地图中存在3个障碍物,分别将3个障碍物的障碍物边界线向外扩张,通过上述目标基线的扩张次数和像素步长,得到像素点p与3个障碍物位置之间的间隔距离值分别为1,2,3,上述执行主体可以提取间隔距离值中的最小间隔距离作为像素点p对应的与障碍物位置之间的间隔距离。
[0133]
本实施例提供的路径生成方法,通过将障碍物边界线向外扩张的方式,可以一次性确定目标基线处的多个像素点与障碍物位置之间的间隔距离,提高生成障碍距离地图的效率,从而提高生成维诺图的效率,进而提高生成行驶路径的效率。
[0134]
在一些实施例中,上述路径生成方法还可以包括:
[0135]
根据障碍物位置信息确定目标场景地图中各障碍物位置之间的障碍物间距,将障碍物间距小于预设间距阈值的多个障碍物位置合并。
[0136]
其中,上述预设间距阈值是预先设定的距离阈值,预设间距阈值可以和目标机器人的尺寸对应,如,预设间距阈值可以设置成与目标机器人的最大轮廓尺寸相同。
[0137]
在多个障碍物位置之间的障碍物间距小于预设间距阈值时,目标机器人无法在多个障碍物位置之间移动,上述执行主体可以将障碍物间距小于预设间距阈值的多个障碍物位置合并成一个障碍物位置。实践中,上述执行主体可以将障碍物间距小于预设间距阈值的多个障碍物位置之间的像素点的位置信息融合至障碍物位置信息中,将多个障碍物位置合并成一个障碍物位置。
[0138]
本实施例提供的路径生成方法,通过将障碍物间距小于预设间距阈值的多个障碍物位置合并,可以避免在障碍物间距小于预设间距阈值的多个障碍物位置之间生成维诺图,提高维诺图的准确性,从而提高生成的行驶路径的准确性。
[0139]
请参阅图8,图8是本技术一实施例提供的路径生成装置800的结构框图,包括:
[0140]
图像获取单元801,用于获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图
中的障碍物位置;
[0141]
图像处理单元802,用于将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置;
[0142]
路径生成单元803,用于基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。
[0143]
在一些实施例中,建图模型包括池化层和卷积层(图中未示出)。
[0144]
池化层,用于对目标场景地图进行池化操作,得到目标场景地图对应的障碍距离地图;
[0145]
卷积层,用于对障碍距离地图进行卷积操作,得到目标场景的维诺图。
[0146]
在一些实施例中,建图模型中的地图池化模块(图中未示出)具体用于:对目标场景地图中的池化窗口处的图像区域进行距离偏移变换,以及将距离偏移变换后的图像区域中的最大值,确定为目标场景地图在池化窗口处的最大池化值。
[0147]
在一些实施例中,在池化层具有多层时,建图模型中的地图池化模块(图中未示出)具体还用于:根据目标场景地图的尺寸信息确定池化层的层数。
[0148]
在一些实施例中,建图模型包括间隔确定模块、地图生成模块和图像生成模块(图中未示出)。
[0149]
间隔确定模块,用于根据障碍物位置信息确定目标场景地图中各像素点分别与障碍物位置之间的间隔距离;
[0150]
地图生成模块,用于基于各像素点分别对应的间隔距离,生成障碍距离地图;
[0151]
图像生成模块,用于根据障碍距离地图,生成维诺图。
[0152]
在一些实施例中,建图模型中的间隔确定模块(图中未示出)具体用于:根据障碍物位置信息,确定障碍物在目标场景地图中的障碍物边界线,将由障碍物边界线向外扩张一个像素步长得到的封闭曲线记作目标基线,以及执行如下距离确定步骤:
[0153]
将处于目标基线上的各像素点与障碍物位置之间的间隔距离,确定为目标基线与障碍物边界线之间的距离值;
[0154]
将目标基线向外扩张一个像素步长,以及将目标基线切换为扩张后的目标基线,继续执行距离确定步骤,直至各像素点对应有间隔距离。
[0155]
在一些实施例中,装置还包括位置合并单元(图中未示出),用于根据障碍物位置信息确定目标场景地图中各障碍物位置之间的障碍物间距,将障碍物间距小于预设间距阈值的多个障碍物位置合并。
[0156]
本实施例提供的装置,首先,获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置。然后,将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置。最后,基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。在生成行驶路径的过程中,通过建图模型以目标场景中确定的障碍物位置作为基点生成维诺图,基于维诺图生成行驶路径,可以避免在目标场景中进行多次随机采样,提高生成行驶路径的效率。
[0157]
应当理解的是,图8示出的路径生成装置800的结构框图中,各单元用于执行图1、图2、图6、图7对应的实施例中的各步骤,而对于图1、图2、图6、图7对应的实施例中的各步骤
已在上述实施例中进行详细解释,具体请参阅图1、图2、图6、图7以及图1、图2、图6、图7所对应的实施例中的相关描述,此处不再赘述。
[0158]
请参阅图9,图9是本技术一实施例提供的服务器900的结构框图,该实施例的服务器900包括:至少一个处理器901(图9中仅示出一个处理器)、存储器902以及存储在存储器902中并可在至少一个处理器901上运行的计算机程序903,例如路径生成程序。处理器901执行计算机程序903时实现上述各个路径生成方法的实施例中的步骤。处理器901执行计算机程序903时上述各装置实施例中各模块/单元的功能,例如,图8所示的图像获取单元801至路径生成单元803的功能。
[0159]
示例性的,计算机程序903可以被分割成一个或多个单元,一个或者多个单元被存储在存储器902中,并由处理器901执行,以完成本技术。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序903在服务器900中的执行过程。例如,计算机程序903可以被分割成图像获取单元,图像处理单元,路径生成单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。
[0160]
服务器900可以是服务器、台式电脑、平板电脑、云端服务器和移动终端等计算设备。服务器900可包括,但不仅限于,处理器901,存储器902。本领域技术人员可以理解,图9仅仅是服务器900的示例,并不构成对服务器900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
[0161]
所称处理器901可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0162]
存储器902可以是服务器900的内部存储单元,例如服务器900的硬盘或内存。存储器902也可以是服务器900的外部存储设备,例如服务器900上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。可选的,存储器902还可以既包括服务器900的内部存储单元也包括外部存储设备。存储器902用于存储计算机程序以及转台设备所需的其他程序和数据。存储器902还可以用于暂时地存储已经输出或者将要输出的数据。
[0163]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0164]
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程
序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0165]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0166]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种路径生成方法,其特征在于,所述方法包括:获取目标机器人当前所处目标场景的目标场景地图,其中,所述目标场景地图包括障碍物位置信息,所述障碍物位置信息用于指示障碍物在所述目标场景地图中的障碍物位置;将所述目标场景地图输入预先构建的建图模型中处理,得到针对所述目标场景的维诺图,其中,所述维诺图的基点为所述障碍物位置;基于所述维诺图,生成用于供所述目标机器人在所述目标场景中移动的行驶路径。2.根据权利要求1所述的路径生成方法,其特征在于,所述建图模型包括池化层和卷积层,所述建图模型对所述目标场景地图的处理包括:采用所述池化层对所述目标场景地图进行池化操作,得到所述目标场景地图对应的障碍距离地图;采用所述卷积层对所述障碍距离地图进行卷积操作,得到所述目标场景的维诺图。3.根据权利要求2所述的路径生成方法,其特征在于,所述池化操作包括:对所述目标场景地图中的池化窗口处的图像区域进行距离偏移变换,以及将距离偏移变换后的图像区域中的最大值,确定为所述目标场景地图在池化窗口处的最大池化值。4.根据权利要求2所述的路径生成方法,其特征在于,所述方法还包括:在所述池化层具有多层时,根据所述目标场景地图的尺寸信息确定所述池化层的层数。5.根据权利要求1所述的路径生成方法,其特征在于,所述建图模型对所述目标场景地图的处理包括:根据所述障碍物位置信息确定所述目标场景地图中各像素点分别与所述障碍物位置之间的间隔距离;基于各像素点分别对应的间隔距离,生成障碍距离地图;根据所述障碍距离地图,生成所述维诺图。6.根据权利要求5所述的路径生成方法,其特征在于,所述根据所述障碍物位置信息确定所述目标场景地图中各像素点分别与所述障碍物位置之间的间隔距离,包括:根据所述障碍物位置信息,确定所述障碍物在所述目标场景地图中的障碍物边界线,将由所述障碍物边界线向外扩张一个像素步长得到的封闭曲线记作目标基线,以及执行如下距离确定步骤:将处于所述目标基线上的各像素点与所述障碍物位置之间的间隔距离,确定为所述目标基线与所述障碍物边界线之间的距离值;将所述目标基线向外扩张一个像素步长,以及将所述目标基线切换为扩张后的目标基线,继续执行所述距离确定步骤,直至各像素点对应有间隔距离。7.根据权利要求1-6中任一项所述的路径生成方法,其特征在于,所述方法还包括:根据所述障碍物位置信息确定所述目标场景地图中各障碍物位置之间的障碍物间距,将障碍物间距小于预设间距阈值的多个障碍物位置合并。8.一种路径生成装置,其特征在于,包括:图像获取单元,用于获取目标机器人当前所处目标场景的目标场景地图,其中,所述目标场景地图包括障碍物位置信息,所述障碍物位置信息用于指示障碍物在所述目标场景地
图中的障碍物位置;图像处理单元,用于将所述目标场景地图输入预先构建的建图模型中处理,得到针对所述目标场景的维诺图,其中,所述维诺图的基点为所述障碍物位置,路径生成单元,用于基于所述维诺图,生成用于供所述目标机器人在所述目标场景中移动的行驶路径。9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的路径生成方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的路径生成方法。
技术总结
本申请适用于计算机技术领域,提供了一种路径生成方法、装置、服务器及存储介质,其中,方法包括:获取目标机器人当前所处目标场景的目标场景地图,其中,目标场景地图包括障碍物位置信息,障碍物位置信息用于指示障碍物在目标场景地图中的障碍物位置;将目标场景地图输入预先构建的建图模型中处理,得到针对目标场景的维诺图,其中,维诺图的基点为障碍物位置;基于维诺图,生成用于供目标机器人在目标场景中移动的行驶路径。本申请中,通过建图模型以目标场景中确定的障碍物位置作为基点生成维诺图,基于维诺图生成行驶路径,可以避免在目标场景中进行多次随机采样,提高生成行驶路径的效率。的效率。的效率。
技术研发人员:孟庆虎 王建坤 肖岸星
受保护的技术使用者:南方科技大学
技术研发日:2022.08.31
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
