路径规划方法、装置、计算机设备和存储介质与流程

文档序号:29948776发布日期:2022-05-07 17:16阅读:107来源:国知局
路径规划方法、装置、计算机设备和存储介质与流程

1.本技术涉及路径规划技术领域,特别是涉及一种路径规划方法、装置、计算机设备和存储介质。


背景技术:

2.随着人工智能技术的发展,通过各种机器人来代替人工进行清洁、割草、扫雷等覆盖式作业。
3.相关技术中,机器人进行覆盖式作业时,可以是让机器人沿着墙壁的边界,逐步扩大搜索范围搜寻机器人周围的待清扫栅格。在清扫过程中,当机器人通过携带的传感器探测到前方存在障碍物或者墙壁时,进行转向,以避开障碍物或墙壁,最后机器人完成清洁工作会停在环境中心点。
4.然而,对于障碍物较多的环境,存在的死区会导致机器人无法前进,从而无法完成全覆盖清洁工作。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够减少机器人作业死区,有效规划作业路径的路径规划方法、装置、计算机设备和存储介质。
6.第一方面,本技术提供了一种路径规划方法,该方法包括:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;根据机器人的作业起点和路径点集合,构建机器人的作业路径。
7.在其中一个实施例中,对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值,包括:通过第一局部掩模和第二局部掩模对各目标像素点的像素值进行距离变换处理,得到各目标像素点的距离值。
8.在其中一个实施例中,通过第一局部掩模和第二局部掩模对各目标像素点的像素值进行距离变换处理,得到各目标像素点的距离值,包括:通过第一局部掩模,按照第一遍历路径,对各目标像素点的像素值进行更新,得到各目标像素点的第一更新值;通过第二局部掩模,按照第二遍历路径,对各目标像素点的第一更新值进行更新,得到各目标像素点的第二更新值;将各目标像素点的第二更新值作为各目标像素点的距离值;
其中,第一遍历路径和第二遍历路径互为斜对角对称。
9.在其中一个实施例中,若路径点集合为多个,且多个路径点集合表征机器人作业时的回型路径圈;根据各目标像素点的距离值,确定机器人作业时的路径点集合,包括:按照各目标像素点的距离值,对作业区域中的多个目标像素点进行分类,得到多个像素点集合;每个像素点集合中所包括的目标像素点的距离值相等;按照各像素点集合中所包括的目标像素点的距离值之间的大小关系,确定多个像素点集合的分布顺序,得到多个路径点集合。
10.在其中一个实施例中,回型路径圈中每个路径圈对应一个路径点集合,且多个路径点集合中所包括的目标像素点的距离值按照回型路径圈从外圈到里圈的方向递减。
11.在其中一个实施例中,根据机器人的作业起点和路径点集合,构建机器人的作业路径,包括:以机器人的作业起点开始,按照回型路径圈从最外圈到最里圈的顺序,对回型路径圈中每个路径圈执行移动路径构建步骤,得到机器人在回型路径圈中的作业路径;其中,移动路径构建步骤包括:确定当前路径圈的起点,并根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径;移动路径包括路径终点;根据当前路径圈的路径终点,确定机器人在下一路径圈中的起点;下一路径圈为回型路径圈中与当前路径圈相邻、且位于当前路径圈内侧的路径圈。
12.在其中一个实施例中,根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径,包括:根据当前路径圈对应的路径点集合,确定当前路径圈的移动路径对应的所有移动路径点,且所有移动路径点在移动路径上有序排列;根据预设规则,将所有移动路径点进行连接,得到移动路径。
13.在其中一个实施例中,将所有移动路径点进行连接,得到移动路径,包括:获取所有移动路径点中相邻移动路径点之间的单元距离;若单元距离与预设距离的关系满足预设关系,则通过直线连接方法将对应相邻移动路径点进行连接;若单元距离与预设距离的关系不满足预设关系,则通过预设的路径规划算法生成对应相邻移动路径点的连接路径;根据连接完成的所有移动路径点,得到移动路径。
14.在其中一个实施例中,该方法还包括:根据机器人当前所处位置,在回型路径圈的最外圈中确定机器人的作业起点。
15.第二方面,本技术还提供了一种路径规划装置,该装置包括:图像获取模块,用于获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;距离变换模块,从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;
路径点确定模块,用于根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;路径规划模块,用于根据机器人的作业起点和路径点集合,构建机器人的作业路径。
16.第三方面,本技术还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面中任一方法实施例的步骤。
17.第四方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一方法实施例的步骤。
18.第五方面,本技术还提供了一种计算机程序产品,该计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述第一方面中任一方法实施例的步骤。
19.上述路径规划方法、装置、计算机设备和存储介质,获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值。其中,距离值表征目标像素点与障碍物区域之间的距离。然后,根据各目标像素点的距离值,确定机器人作业时的路径点集合,路径点集合表征机器人作业时的路径圈,进而根据机器人的作业起点和路径点集合,构建机器人的作业路径。也即是,本技术预先从环境地图中划分出机器人的作业区域和障碍物区域,然后从机器人的作业区域中确定多个目标像素点,目标像素点即为机器人作业过程中移动的路径点。进一步地,根据各目标像素点的距离值,划分出机器人作业时路径圈对应的路径点集合,然后根据机器人的作业起点和路径点集合,构建机器人的作业路径。如此,筛选出的路径点全部位于机器人的作业区域内,使得机器人按照路径圈中的路径点移动作业时,不存在移动死区,保证机器人安全移动的同时,也可以实现工作区域内的全覆盖工作。另外,由于本技术预先规划了机器人在作业区域中的所有可移动路径点,因此,在移动过程中,无需重新探索或规划机器人下一步移动的安全路径点,避免了机器人作业过程中探索路径点的时间消耗,进而提高了机器人作业效率。
附图说明
20.图1为本技术实施例提供的一种路径规划方法的流程示意图;图2为本技术实施例提供的一种环境图像的示意图;图3为本技术实施例提供的一种局部掩模的结构示意图;图4为本技术实施例提供的另一种局部掩模的结构示意图;图5为本技术实施例提供的一种环境图像中路径点集合的分布示意图;图6为本技术实施例提供的一种移动路径构建步骤的流程示意图;图7为本技术实施例提供的一种移动路径确定方法的流程示意图;图8为本技术实施例提供的一种移动路径点确定方法的流程示意图;图9为本技术实施例提供的一种路径集合的四叉树结构示意图;图10为本技术实施例提供的一种全覆盖路径的示意图;图11为本技术实施例提供的另一种路径规划方法的流程示意图;
图12为本技术实施例提供的一种路径规划装置的结构示意图;图13为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.随着机器人在清洁、割草、扫雷等覆盖式工作领域的应用,自主移动的机器人在作业时需要基于所处环境规划自身的移动路径,以实现安全移动和全覆盖作业。
23.通常,覆盖式路径规划采用弓形策略和螺旋式策略。其中,螺旋式覆盖策略是让机器人沿着墙壁的边界,一圈一圈逐步扩大搜索范围,搜寻机器人周围是否有距离最近的待作业栅格,进而按照回字型路径,顺时针或逆时针方向移动。当机器人携带的传感器探测到前方有障碍物或者墙壁时,进行90
°
转向,以避开障碍物或墙壁,作业完成后,机器人会停在环境中心点。
24.虽然,回字型覆盖路径规划的模式算法简单,逻辑简单易行,但每次遇到不可行区域时,都需要机器人回溯到尚未覆盖区域,继续进行新路径的探索,导致覆盖方式不够灵活。而且,在障碍物较多的复杂环境中,当存在死区导致机器人无法前进时,需要花费大量的时间去回溯到尚未覆盖区域,存在未覆盖区域,且在回溯的过程中也产生了许多不必要的重复覆盖。
25.基于此,本技术提供了一种路径规划方法、装置、计算机设备和存储介质,在规划机器人的移动路径时,通过筛选目标像素点,并对目标像素点的像素值进行距离变换处理,以在机器人作业区域中确定可以安全移动的所有路径点,使得机器人在按照确定的路径点移动作业时,可以实现安全移动和全覆盖工作。
26.本技术提供的路径规划方法,可以应用于任一计算机设备中,以通过计算机设备中处理器调用存储在存储器中的计算机程序,执行计算机程序时实现本技术提供的路径规划方法。其中,该计算机设备可以为终端,也可以为服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
27.作为一个示例,终端可以但不限于是扫地机器人、割草机、扫雷设备、各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备等,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
28.接下来,将通过实施例并结合附图具体地对本技术实施例的技术方案,以及本技术实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本技术实施例提供的一种路径规划方法,其执行主体可以为计算机设备,也可以为全覆盖路径规划装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为处理器的部分或者全部。显然,所描述的实施例是本技术实施例一部分实施例,而不是全部的实施例。
29.在一个实施例中,如图1所示,提供了一种路径规划方法,以该方法应用于上述计算机设备进行举例说明,该方法包括以下步骤:步骤110:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障
碍物区域。
30.其中,环境图像可以是获取的原始图像,也可以是对原始图像进行预处理后得到的图像。作为一个示例,对环境图像的预处理可以为膨胀处理、腐蚀处理、二值化处理、平滑处理、图像增强等中的一种或多种图像处理方式,本实施例在此不做限制。
31.在一种可能的实现方式中,步骤110的实现过程可以为:控制机器人在距离作业环境中心点的预设范围内移动,通过机器人上搭载的环境采集装置采集周边环境的多帧环境图像,对多帧环境图像进行拼接处理,得到机器人作业环境的环境图像。
32.作为一个示例,环境采集装置可以为相机、rgbd相机、双目相机、雷达等任一种可以探测环境中障碍物分布情况的传感器。
33.进一步地,机器人作业环境的环境图像还可以是从其他设备中获取的。比如,当机器人需要清扫办公楼宇时,可以从办公楼宇对应的物业办获取待清扫办公楼宇的平面地图,将其作为环境图像。
34.步骤120:从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离。
35.其中,目标像素点可以基于预设的安全距离确定,即按照该安全距离遍历作业区域中的像素点,可以确定多个目标像素点。目标像素点之间的距离大于或等于该安全距离。机器人处于基于安全距离确定的目标像素点时,不会与周边障碍物发生碰撞,可以实现安全移动。
36.在一种可能的实现方式中,安全距离是根据机器人的几何信息确定的,机器人的几何信息可以反映机器人作业时的空间占用情况,几何信息至少包括机器人本体的中心点位置、长、宽、高等。
37.作为一个示例,安全距离可以通过下述公式(1)来实现。
38.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)式中,i(d)为安全距离,d为机器人的直径/宽度,map
min
为环境地图的最小分辨率(即图像分辨率,以每英寸的像素数来衡量),n为预设的像素个数,n≥1。比如,预设像素数n可以为1。
39.需要说明的是,在计算安全距离时,不仅充分考虑了机器人的几何信息,而且,为了保证机器人按照该安全距离移动作业时,可以实现作业区域的全覆盖,本技术在根据机器人的直径/宽度和环境地图的最小分辨率确定机器人本体的覆盖范围后再减去预设像素数,可以保证机器人每移动安全距离,均有n个像素点重复覆盖。
40.进一步地,在确定目标像素点后,基于各目标像素点在环境图像中原始的像素值,对作业区域中的目标像素点的像素值进行距离变换处理,对其原始像素值进行更新,得到各目标像素点的距离值。
41.其中,距离变换描述的是图像中像素点与目标区域之间的距离,像素点越靠近目标区域,其距离值越小;像素点离目标区域越远,其距离值越大。
42.步骤130:根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点
集合表征机器人作业时的路径圈。
43.当机器人的作业区域较小时,确定的路径点集合数可能为一,则机器人作业时的路径圈为一圈,即机器人按照路径点集合中的路径点进行移动,移动一圈后完成作业。
44.当机器人的作业区域较大时,确定的路径点集合数为多个,则多个路径点集合表征机器人作业时的回型路径圈,即机器人按照回型路径圈逐圈移动,移动完所有路径圈后完成作业。本实施例对路径点集合和路径圈的数目不做限制,可以为一个,也可以为多个。
45.需要说明的是,在回型路径圈中,每个路径圈对应一个路径点集合,各路径点集合中像素点的距离值按照回型路径圈从外圈到里圈的方向递减。
46.也即是,每个路径点集合包括多个目标像素点,在实际应用中,由于路径圈中的目标像素点为机器人移动时机器人本体中心点所在的位置,因此,也可以将路径点集合中的目标像素点,看作机器人按照该路径圈移动时逐次移动的路径点。
47.在一种可能的实现方式中,步骤130的实现过程可以为:根据各目标像素点的距离值,对作业区域中的多个目标像素点进行分类,得到多个像素点集合;每个像素点集合中所包括的目标像素点的距离值相等。进一步地,按照各像素点集合中所包括的目标像素点的距离值之间的大小关系,确定多个像素点集合的分布顺序,得到多个路径点集合。
48.应该理解的是,由于距离值表征作业区域中各像素点与障碍物区域之间的距离,因此,越靠近障碍物区域的目标像素点,其距离值越小;反之,越靠近作业区域中心点的目标像素点,其距离值越大。
49.作为一个示例,在确定作业区域中各目标像素点的距离值后,可以将距离值按照从小到大顺序进行排序,把距离值最小的所有像素点划分为一个像素点集合,作为回型路径圈中最外圈对应的路径点集合;将次小的距离值对应的所有像素点划分为一个像素点集合,作为回型路径圈中次外圈对应的路径点集合。依此类推,将距离值最大的所有像素点划分为一个像素点集合,作为回型路径圈中最里圈对应的路径点集合。
50.步骤140:根据机器人的作业起点和路径点集合,构建机器人的作业路径。
51.其中,机器人作业起点可以是机器人当前所处位置,在此情况下,作业起点的确定方式可以为:机器人结合自身的定位装置(比如位置传感器),确定的自身所处位置。另外,作业起点也可以是环境地图中机器人的工作区域中的任一位置,在此情况下,作业起点的确定方式可以为:通过计算机指令发送给机器人的起点位置信息来确定。本实施例对此不做限制。
52.在一种可能的实现方式中,若路径点集合为一个,该路径点集合表征机器人作业的路径圈,则步骤140的实现过程可以为:根据机器人的作业起点,从路径点集合中确定与作业起点距离最近的路径点,使得机器人从作业起点移动至该路径点,然后基于当前路径点和路径点集合中其他路径点之间的距离,确定出机器人下一个可以移动的路径点,以此内推,确定机器人在作业圈中的作业路径。
53.在另一种可能的实现方式中,若路径点集合为多个,多个路径圈表征机器人作业时的回型路径圈,则步骤140的实现过程可以为:根据机器人的作业起点,从多个路径点集合中确定与作业起点距离最近路径点,使得机器人从作业起点移动至该路径点,然后按照该路径点所属路径点集合中路径点的进行移动。进一步地,根据各路径点集合之间的距离关系,依次确定移动至下一个路径点集合中的路径点时,机器人跨圈移动路径,最终得到机
器人在回型路径圈中的作业路径。
54.在本技术实施例提供的路径规划方法中,通过获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值。其中,距离值表征目标像素点与障碍物区域之间的距离。然后,根据各目标像素点的距离值,确定机器人作业时的路径点集合,路径点集合表征机器人作业时的路径圈,进而根据机器人的作业起点和路径点集合,构建机器人的作业路径。也即是,本技术预先从环境地图中划分出机器人的作业区域和障碍物区域,然后从机器人的作业区域中确定多个目标像素点,目标像素点即为机器人作业过程中移动的路径点。进一步地,根据各目标像素点的距离值,划分出机器人作业时路径圈对应的路径点集合,然后根据机器人的作业起点和路径点集合,构建机器人的作业路径。如此,筛选出的路径点全部位于机器人的作业区域内,使得机器人按照路径圈中的路径点移动作业时,不存在移动死区,保证机器人安全移动的同时,也可以实现工作区域内的全覆盖工作。另外,由于本技术预先规划了机器人在作业区域中的所有可移动路径点,因此,在移动过程中,无需重新探索或规划机器人下一步移动的安全路径点,避免了机器人作业过程中探索路径点的时间消耗,进而提高了机器人作业效率。
55.基于上述实施例中的全覆盖路径规划方法,接下来,基于附图2-5,对距离变换处理过程进行详细说明。
56.为了便于说明,在获取到机器人作业环境的初始灰度图像后,可以对该灰度图像进行二值化处理,得到二值化图像,将二值化图像作为环境图像,从中确定多个路径点集合。
57.应该理解的是,二值化处理是将图像上的像素点的灰度值设置为0或255,换言之,每一个像素只有两种可能的取值或灰度等级状态,图像中的任何像素灰度值不是0就是255,再无其他过渡的灰度值。如此处理,可以将整个图像呈现出明显的黑白效果,使图像中数据量大为减少,从而能凸显出目标的轮廓。
58.可选地,为了减少后续路径点确定过程中的计算量,可以在二值化处理过程中,将像素点的值设置为0和1,以通过像素值为0或1来区分机器人作业环境中的作业区域和障碍物区域。
59.作为一个示例,图2为本技术提供的一种对环境图像进行二值化处理后得到的二值化图像。其中,像素值为0的所有像素点表征环境图像中的障碍物区域,像素值为1的所有像素点表征环境图像中机器人的作业区域。
60.基于图2所示的环境图像,在一个实施例中,针对上述步骤120中对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值,其实现过程可以为:通过第一局部掩模和第二局部掩模对各目标像素点的像素值进行距离变换处理,得到各目标像素点的距离值。
61.其中,距离值表征作业区域中各像素点与障碍物区域之间的距离。
62.需要说明的是,通过第一局部掩模和第二局部掩模对目标像素点的像素值进行距离变换处理,可以结合目标像素点周边8个像素点的距离值对目标像素点的像素值进行更新,使得距离值可以反映目标像素点与周边障碍物之间的精准距离。
63.在一种可能的实现方式中,距离变换处理的过程可以为:通过第一局部掩模,按照
第一遍历路径,对各目标像素点的像素值进行更新,得到各目标像素点的第一更新值;通过第二局部掩模,按照第二遍历路径,对各目标像素点的第一更新值进行更新,得到各目标像素点的第二更新值;将各目标像素点的第二更新值作为各目标像素点的距离值。
64.其中,第一遍历路径和第二遍历路径互为斜对角对称。比如,第一遍历路径可以为从环境图像的左上角开始,按照从左到右、从上到下的移动顺序遍历整个环境图像,第二遍历路径可以为从环境图像的右下角开始,按照从右到左、从下到上的移动顺序遍历整个环境图像。又比如,第一遍历路径可以为从环境图像的右下角开始,按照从右到左、从下到上的移动顺序遍历整个环境图像,第二遍历路径为从环境图像的左上角开始,按照从左到右、从上到下的移动顺序遍历整个环境图像。本实施例对此不做限制。
65.在一种可能的实现方式中,在使用局部掩模对各目标像素点进行距离变换,以更新其像素值可以通过下述公式(2)来实现。
66.ꢀꢀꢀꢀꢀ
(2)式中,i和j表示环境图像中像素点的行数和列数;k代表当前像素点(工作区域中的目标像素点),f(k)
ij
为工作区域中当前像素点的距离值;o为掩模中与当前像素点相邻的像素点,f(o)
ij
为当前像素点相邻像素点的距离值;d(k,o)
ij
表示当前像素点k到最近像素点o之间的欧式距离。
67.作为一个示例,图3给出了一种第一局部掩模(参见图3中a)和第二局部掩模(参见图3中b)的示意图。
68.在采用图3中a所示第一局部掩模对作业区域中各目标像素点的像素值进行更新时,从环境图像的左上角开始,按照从左到右、从上到下的遍历路径,以i(d)为移动间隔进行扫描,并将第一局部掩模覆盖区域内目标像素点的像素值按照下述公式(3)进行更新。
69.ꢀꢀꢀꢀꢀꢀ
(3)同理,在采用图3中b所示第二局部掩模对作业区域中各目标像素点的像素值进行更新时,从环境图像的右下角开始,按照从右到左、从下到上的遍历路径,以i(d)为移动间隔进行扫描,并将第二局部掩模覆盖区域内目标像素点的像素值按照下述公式(4)进行更新。
[0070] (4)需要说明的是,在上述公式(3)和(4)中,mask1表示第一局部掩模,mask2表示第二局部掩模,rows为环境图像中像素点的总行数,cols为环境图像中像素点的总列数。其他字母的含义可以参见上述公式(1)和(2),在此不再赘述。
[0071]
为了便于理解,作为另一个示例,采用公式(3)或(4)计算目标像素点的距离值的过程可以为:基于图4所示的局部掩模结构,该掩模结构覆盖了像素点d1、d2、d3、d4和k,且假设k为目标像素点,d1、d2、d3、d4和k在二值化图像中的像素值为1。则对k的像素值进行更新时,根据d1的像素值1,以及d1和k之间的欧式距离值,确定更新后d1的距离值为1+。同理,更新后d2的距离值为2,d3的距离值为1+,更新后d4的距离值为2。
[0072]
进一步地,根据k的像素值1和更新后d1、d2、d3、d4的距离值的大小关系,将数值最大的一个数值确定为k更新后的距离值。在此示例中,采用该局部掩模结构,通过k周边相邻的d1、d2、d3和d4的距离值对k的像素值进行更新,更新后k的距离值为1+。
[0073]
进一步地,采用图3所示的局部掩模以预设距离进行移动,以及上述公式(3)和(4)对图2所示的环境图像中作业区域中各目标像素点的像素值进行距离变换处理后,得到掩模结构中k区域覆盖目标像素点的距离值f(k)。参见如图5所示的路径点集合,f(k1)和f(k2)均表示距离变换处理后,作业区域中目标像素点的距离值。
[0074]
在本实施例中,通过第一局部掩模和第二局部掩模按照斜对角对称的方式对作业区域中各目标像素点的像素值进行距离变换,得到更新后的距离值。进一步地,由于距离值反映的是目标像素点与障碍物区域之间的距离,因此,根据距离值的大小,可以确定机器人作业圈对应的路径点集合。如此,不仅可以准确确定机器人作业过程中可以移动的安全路径点,保证机器人位于任一路径点时,均不会与障碍物发生碰撞,安全性较高。
[0075]
进一步地,基于上述实施例从环境图像中确定路径点集合后,每个路径点集合包括至少一个路径点(也即是环境图像中距离值为f(k)的目标像素点),该路径点集合中的路径点时零散分布的。然而,在根据路径点集合规划机器人的作业路径时,还需要考虑机器人作业起点和路径点集合之间的关系、路径点集合中多个路径点的连接顺序、以及各路径点集合之间的连接顺序等因素。接下来,结合附图6-10对根据路径点集合规划机器人的作业路径的过程进行详细说明。
[0076]
在一个实施例中,根据机器人的作业起点和路径点集合,构建机器人作业的全覆盖路径(即上述步骤140)的实现过程可以为:以机器人的作业起点开始,按照回型路径圈从最外圈到最里圈的顺序,对回型路径圈中每个路径圈执行移动路径构建步骤,得到机器人在回型路径圈中的作业路径。
[0077]
需要说明的是,对于一个路径点集合的路径圈,在执行移动路径构建时,实现过程与回型路径圈中任一路径圈的移动路径点构建方法类似,故此实施例中直接以多个路径点集合进行举例,说明机器人的作业路径构建过程。
[0078]
其中,机器人的作业起点可以为回型路径圈中任一路径圈的任一位置,本实施例对此不做限制。
[0079]
作为一个示例,确定机器人的作业起点的实现过程可以为:根据机器人当前所处位置,在回型路径圈的最外圈中确定机器人的作业起点。
[0080]
在实际应用时,可以将最外圈中距离机器人当前位置最近的路径点作为机器人的作业起点;也可以根据作业区域中移动平面的起伏程度和机器人当前位置,从最外圈中确定机器人所需移动时间最短的路径点作为机器人的作业起点;还可以在最外圈中随意指定一个路径点作为机器人的作业起点,本实施例对此不做限制。
[0081]
进一步地,在一种可能的实现方式中,如图6所示,移动路径构建步骤包括:步骤610:确定当前路径圈的起点,并根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径;当前路径圈的移动路径包括路径终点。
[0082]
也即是,在确定当前路径圈的起点后,从当前路径圈对应的路径点集合中依次确定下一路径点,直到确定当前路径圈的终点,从而将多个路径点进行连接即可得到当前路径圈对应的移动路径。
[0083]
参见图7,在一种可能的实现方式中,步骤610的实现过程可以进一步包括以下步骤:步骤611:根据当前路径圈对应的路径点集合,确定当前路径圈的移动路径对应的所有移动路径点,且所有移动路径点在移动路径上有序排列。
[0084]
作为一个示例,确定路径点的实现过程可以为:根据当前路径圈的起点,采用构建四叉树的方式对路径点集合中的路径点进行筛选,得到多个连续的移动路径点。多个连续的移动路径点通过下述步骤613进行连接之后,即可得到当前路径圈的移动路径。
[0085]
作为另一个示例,确定路径点的实现过程可以为:根据当前路径圈的起点,采用遍历路径点集合中所有路径点的方式,将与该起点之间距离最近的路径点作为下一移动路径点,以此类推,确定多个连续的移动路径点。多个连续的移动路径点通过下述步骤613进行连接之后,即可得到当前路径圈的移动路径。
[0086]
由于采用构建四叉树的方式确定下一移动路径点时,计算量小,确定速率快,因此,可以优先采用四叉树的方式确定多个连续的移动路径点。当然,也可以采用遍历路径点的方式确定多个连续的移动路径点,避免构建四叉树消耗时间。应该理解的是,本实施例旨在说明两种可能的实现方式,并不在于限制,也可以采用其他方式或算法来确定多个连续的移动路径点。
[0087]
作为一个示例,参见图8,以四叉树的方式从当前路径圈对应路径点集合中确定多个连续的移动路径点,具体实现过程包括以下步骤:步骤810:构建当前路径圈对应的路径点集合的四叉树;四叉树的根节点表征当前路径圈对应的路径点集合所在区域,四叉树的每个子节点中包括的路径点是基于所属父节点中路径点所在区域确定的。
[0088]
其中,四叉树是一种数据结构,具体是一种每个节点最多有四个子树的数据结构。
四叉树是在二维图片中定位像素的唯一适合的算法,这一算法通过不停地把要查找范围分成4部分来进行匹配查找,直到仅剩下一条记录为止。
[0089]
需要说明的是,在根据四叉树的根节点逐次划分子节点时,可以预先设定每个子节点的容量,当划分的子节点容量均不大于预设的容量阈值时,即完成四叉树索引区域划分,得到构建好的四叉树。
[0090]
其中,容量阈值优选1-2个点,容量阈值越小,四叉树的深度越深,在后续筛选移动路径点时需要遍历匹配的次数就越少。如此设置的目的是为了将每个子节点的小区域里包括的路径点划分到更小的区域中,便于索引。
[0091]
作为一个示例,根据当前路径圈对应的路径点集合中的多个路径点,构建的四叉树如图9所示。
[0092]
其中,四叉树中的根节点为图9所示的整个平面区域,子节点为每个不再进行四等份划分的小区域。
[0093]
进一步地,在进行划分的过程中,以o点为中心的四格区域(即由a、b、c和d组成的区域)为四叉树中一个父节点,逐层划分后得到多个子节点a、b、c和d。由于a、b、c和d中没有包括的路径点(即子节点中包含的路径点数目少于容量阈值),因此不再划分。
[0094]
步骤820:在四叉树中获取距离当前路径圈的起点最近的路径点作为新的移动路径点,并在去除当前路径圈的起点后的四叉树中,继续获取距离新的移动路径点最近的路径点,以此类推,直至四叉树中的路径点为空,得到移动路径的所有移动路径点。
[0095]
在一种可能的实现方式中,步骤820的实现过程可以为:确定当前路径圈的起点在四叉树中的适配子节点;获取适配子节点中所有路径点分别与当前路径圈的起点之间的距离信息;根据各距离信息,将距离当前路径圈的起点最近的路径点确定为新的移动路径点。
[0096]
其中,适配子节点包括当前路径圈的起点在四叉树的所属子节点,或者,适配子节点包括所属子节点和所属子节点的相邻子节点。距离信息可以为曼哈顿距离值,也可以为欧式距离值,还可以为直线距离值,本实施例对此不做限制。
[0097]
也即是,根据当前路径圈的起点,从四叉树的根节点开始搜索,找到四个节点区域中与查询点区域相交的子节点区域方向,进入该相交的子节点区域中进行递归搜索,直到抵达最小四等份区域的子节点为止,即到达距离当前路径圈的起点最近的索引区域。进一步地,在该索引区域中确定与当前路径圈的起点距离最近的路径点,作为新的路径点。以此类推,不再赘述。
[0098]
进一步地,为了减少遍历匹配次数,每确定一个移动路径点后,均需要将其从四叉树中删除。
[0099]
作为一个示例,如图9所示,若当前移动路径点为点3,在遍历匹配到图9中虚线框所示的区域时,由于点3所属的子节点中再无其他路径点,因此,需要从与其同所属同一子节点的三个相邻子节点中确定下一移动路径点。在此过程中,确定的适配子节点为点3所在区域对应的子节点,以及点1和点2所在区域对应的子节点。
[0100]
作为另一个示例,如图9所示,若当前移动路径点为点2,预设的容量阈值为2,则点1和点2所在区域不再进行四等份划分。则在遍历匹配到图9中虚线框所示的区域时,由于点2所属的子节点中还包括子节点1,因此,确定的适配子节点为点2所属子节点,也即是,点2所在区域对应的子节点。
[0101]
步骤613:根据预设规则,将所有移动路径点进行连接,得到移动路径。
[0102]
其中,预设规则为:根据移动路径点之间的距离,从多种连接方式中确定目标连接方式。采用目标连接方式连接后,移动路径较为平滑,可以较好地贴合机器人实际作业过程中的移动路径。
[0103]
在一种可能的实现方式中,步骤613的实现过程可以为:获取所有移动路径点中相邻移动路径点之间的单元距离;若单元距离与预设距离的关系满足预设关系,则通过直线连接方法将对应相邻移动路径点进行连接;若单元距离与预设距离的关系不满足预设关系,则通过预设的路径规划算法生成对应相邻移动路径点的连接路径;根据连接完成的所有移动路径点,得到移动路径。
[0104]
作为一个示例,l为相邻移动路径点之间的单元距离,预设关系如下述公式(5)所示。
[0105]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)作为一个示例,预设的路径规划算法可以为a*算法、d*算法、快速搜索随机树算法(rapidly-exploring random tree,rrt)、rrt*算法、b-rrt*、rrt*-smart算法或srrt*算法中的任一种。
[0106]
其中,a*算法和d*等算法虽然有各自的优势,但是难以考虑移动机器人非完整约束限制。而rrt算法可以有效地考虑到移动机器人的非完整约束限制并且可以有效地搜索整个解空间,从而快速得到移动路径。进一步地,rrt*与基本rrt算法的主要区别在于rrt*算法引入了对新生成节点相邻节点的搜索,目的是选择低代价的父节点,除此之外还有重新布线的过程进一步减小路径代价,是解决高维的最优路径规划问题的一种有效方法。
[0107]
基于上述步骤611和步骤613的中确定当前路径圈的移动路径的方式,作为一个示例,图10示出了一种全覆盖路径的效果图。其中,图10中a示出了多个路径点集合,每个路径点集合中包括多个路径点,即对应图中不同形状的图案。图10中b示出了连接多个路径点集合中的移动路径点后得到的移动路径,多个路径点集合的移动路径可以构成本技术中机器人的作业路径。
[0108]
步骤620:根据当前路径圈的路径终点,确定机器人在下一路径圈中的起点;下一路径圈为回型路径圈中与当前路径圈相邻、且位于当前路径圈内侧的路径圈。
[0109]
在一种可能的实现方式中,步骤620的实现过程可以为:根据与路径终点之间的距离,从当前路径圈的相邻里圈中确定至少一个候选移动路径点,进而从至少一个候选移动路径点中确定相邻里圈的起点。
[0110]
其中,候选移动路径点与当前路径点之间的距离值最小,当下一路径圈存在多个与当前路径圈的路径终点距离值相等的候选移动路径点时,可以随机指定一个候选移动路径点作为下一路径圈的起点,也可以基于一些算法或者规则选择下一路径圈的起点,本实施例对此不做限制。
[0111]
在本实施例中,以机器人的作业起点开始,按照回型路径圈从最外圈到最里圈的顺序,对回型路径圈中每个路径圈均构建对应的移动路径,进而得到机器人在回型路径圈中的作业路径。如此,基于确定的路径点集合,可以快速有效地确定机器人作业时的全覆盖路径,提高了路径规划效率。
[0112]
综合上述各方法实施例,如图11所示,本技术还提供了另一种路径规划方法,同样
以该方法应用于上述计算机设备进行举例说明,该方法包括以下步骤:步骤1101:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;步骤1103:基于预设的安全距离,从作业区域中确定多个目标像素点;步骤1105:通过第一局部掩模,按照第一遍历路径,对各目标像素点的像素值进行更新,得到各目标像素点的第一更新值;步骤1107:通过第二局部掩模,按照第二遍历路径,对各目标像素点的第一更新值进行更新,得到各目标像素点的第二更新值;第一遍历路径和第二遍历路径互为斜对角对称;步骤1109:将各目标像素点的第二更新值作为各目标像素点的距离值,距离值表征目标像素点与障碍物区域之间的距离;步骤1111:根据各目标像素点的距离值,对作业区域中的多个目标像素点进行分类,得到多个像素点集合;每个像素点集合中所包括的目标像素点的距离值相等;步骤1113:按照各像素点集合中所包括的目标像素点的距离值之间的大小关系,确定多个像素点集合的分布顺序,得到多个路径点集合,多个路径点集合表征机器人作业时的回型路径圈;步骤1115:以机器人的作业起点开始,按照回型路径圈从最外圈到最里圈的顺序,对回型路径圈中每个路径圈执行移动路径构建步骤,得到机器人在回型路径圈中的作业路径。
[0113]
其中,移动路径构建步骤包括:确定当前路径圈的起点,并根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径;移动路径包括路径终点;根据当前路径圈的路径终点,确定机器人在下一路径圈中的起点;下一路径圈为回型路径圈中与当前路径圈相邻、且位于当前路径圈内侧的路径圈。
[0114]
本实施例提供的计算机设备在实现以上路径规划方法的步骤时,其实现原理和技术效果可以参见上述任一实施例中的相关步骤,在此不再赘述。
[0115]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0116]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的路径规划方法的路径规划装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个路径规划装置实施例中的具体限定可以参见上文中对于路径规划方法的限定,在此不再赘述。
[0117]
在一个实施例中,如图12所示,提供了一种路径规划装置,包括:图像获取模块1210、距离变换模块1220、路径点确定模块1230和路径规划模块1240,其中:图像获取模块1210,用于获取机器人作业环境的环境图像,环境图像包括机器人
的作业区域和障碍物区域;距离变换模块1220,用于从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;路径点确定模块1230,用于根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;路径规划模块1240,用于根据机器人的作业起点和各路径点集合,构建机器人作业的全覆盖路径。
[0118]
在其中一个实施例中,距离变换模块1220,包括:距离变换单元,用于通过第一局部掩模和第二局部掩模对各目标像素点的像素值进行距离变换处理,得到各目标像素点的距离值。
[0119]
在其中一个实施例中,距离变换单元,包括:第一变换子单元,用于通过第一局部掩模,按照第一遍历路径,对各目标像素点的像素值进行更新,得到各目标像素点的第一更新值;第二变换子单元,用于通过第二局部掩模,按照第二遍历路径,对各目标像素点的第一更新值进行更新,得到各目标像素点的第二更新值;像素值更新子单元,用于将各目标像素点的第二更新值作为各目标像素点的距离值;其中,第一遍历路径和第二遍历路径互为斜对角对称。
[0120]
在其中一个实施例中,若路径点集合为多个,且多个路径点集合表征机器人作业时的回型路径圈;路径点确定模块1230,包括:分类单元,用于按照各目标像素点的距离值,对作业区域中的多个目标像素点进行分类,得到多个像素点集合;每个像素点集合中所包括的目标像素点的距离值相等;集合确定单元,用于按照各像素点集合中所包括的目标像素点的距离值之间的大小关系,确定多个像素点集合的分布顺序,得到多个路径点集合。
[0121]
在其中一个实施例中,回型路径圈中每个路径圈对应一个路径点集合,且多个路径点集合中所包括的目标像素点的距离值按照回型路径圈从外圈到里圈的方向递减。
[0122]
在其中一个实施例中,路径规划模块1240,包括:规划单元,用于以机器人的作业起点开始,按照回型路径圈从最外圈到最里圈的顺序,对回型路径圈中每个路径圈执行移动路径构建步骤,得到机器人在回型路径圈中的作业路径;其中,移动路径构建步骤包括:确定当前路径圈的起点,并根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径;移动路径包括路径终点;根据当前路径圈的路径终点,确定机器人在下一路径圈中的起点;下一路径圈为回型路径圈中与当前路径圈相邻、且位于当前路径圈内侧的路径圈。
[0123]
在其中一个实施例中,根据当前路径圈的起点和当前路径圈对应的路径点集合,确定当前路径圈的移动路径,包括:
根据当前路径圈对应的路径点集合,确定当前路径圈的移动路径对应的所有移动路径点,且所有移动路径点在移动路径上有序排列;根据预设规则,将所有移动路径点进行连接,得到移动路径。
[0124]
在其中一个实施例中,将所有移动路径点进行连接,得到移动路径,包括:获取所有移动路径点中相邻移动路径点之间的单元距离;若单元距离与预设距离的关系满足预设关系,则通过直线连接方法将对应相邻移动路径点进行连接;若单元距离与预设距离的关系不满足预设关系,则通过预设的路径规划算法生成对应相邻移动路径点的连接路径;根据连接完成的所有移动路径点,得到移动路径。
[0125]
在其中一个实施例中,该装置1200还包括:起点确定模块,用于根据机器人当前所处位置,在回型路径圈的最外圈中确定机器人的作业起点。
[0126]
上述路径规划装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0127]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是机器人,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种路径规划方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0128]
本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0129]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;根据机器人的作业起点和路径点集合,构建机器人的作业路径。
[0130]
本实施例提供的计算机设备在实现以上步骤时,其实现原理和技术效果与上述机
器人执行的方法实施例类似,在此不再赘述。
[0131]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;根据机器人的作业起点和路径点集合,构建机器人的作业路径。
[0132]
本实施例提供的计算机可读存储介质在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0133]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取机器人作业环境的环境图像,环境图像包括机器人的作业区域和障碍物区域;从作业区域中确定多个目标像素点,并对多个目标像素点的像素值进行距离变换处理,获取各目标像素点的距离值;距离值表征目标像素点与障碍物区域之间的距离;根据各目标像素点的距离值,确定机器人作业时的路径点集合;路径点集合表征机器人作业时的路径圈;根据机器人的作业起点和路径点集合,构建机器人的作业路径。
[0134]
本实施例提供的计算机程序产品在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0135]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0136]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0137]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1