确定沿边路径的方法、移动设备及计算机存储介质转让专利

申请号 : CN202210533083.5

文献号 : CN114663316B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 闫瑞君李宣政

申请人 : 深圳市普渡科技有限公司

摘要 :

本申请提供一种确定沿边路径的方法、移动设备及计算机存储介质,涉及路径规划技术领域。其中,该方法包括获取清扫区域对应的第一图像,第一图像包括与清扫区域中障碍物区对应的边界区域以及与清扫区域中清扫区对应的通行区域,边界区域包围通行区域,获取通行区域和边界区域的初始的边界点;基于初始的边界点得到M个新增的边界点;依次连接初始的边界点和M个新增的边界点得到第一沿边路径。本申请在确定初始的边界点和新增的边界点的过程中,可以借助待清扫的清扫区域对应的第一图像,无需在移动设备上安装超声波传感器,可以节省经济成本。

权利要求 :

1.一种确定沿边路径的方法,其特征在于,所述方法应用于移动设备,包括:获取清扫区域对应的第一图像,所述第一图像包括与所述清扫区域中障碍物区对应的边界区域以及与所述清扫区域中清扫区对应的通行区域,所述边界区域包围所述通行区域;

获取所述通行区域和所述边界区域的初始的边界点;

基于所述初始的边界点得到M个新增的边界点;

依次连接所述初始的边界点和所述M个新增的边界点得到第一沿边路径;

其中,所述初始的边界点为所述M个新增的边界点中第一个边界点的前一边界点,所述M个新增的边界点中的每一边界点通过以前一相邻的边界点作为中心点,并将所述中心点作为预设像素窗口的中心后,在所述预设像素窗口内确定所述通行区域与所述边界区域的边界点而生成;

所述将所述中心点作为预设像素窗口的中心后,在所述预设像素窗口内确定所述通行区域与所述边界区域的边界点,包括:以所述中心点作为所述预设像素窗口的中心,按照预设搜索顺序搜索预设像素窗口内除了所述中心点之外的像素点;

将在所述预设像素窗口内除了所述中心点之外的像素点中首次搜索到的像素值处于第一预设范围的像素点,确定为第二像素点;

若在以所述第二像素点为中心的预设像素窗口内至少存在一个与所述第二像素点相邻的像素点的像素值处于第二预设范围,且所述第二像素点不在边界点集合中,则确定所述第二像素点为边界点,所述边界点集合包括所述初始的边界点;

将所述边界点添加至所述边界点集合中。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一图像中的第一像素点的像素值处于第一预设范围,且在以所述第一像素点为中心的预设像素窗口内至少存在一个与所述第一像素点相邻的像素点的像素值处于第二预设范围,确定所述第一像素点为所述初始的边界点;

其中,所述第一预设范围与所述通行区域对应,所述第二预设范围与所述边界区域对应,所述第一预设范围与所述第二预设范围的交集为空。

3.如权利要求1所述的方法,其特征在于,所述预设像素窗口为N*N大小的窗口,所述N=

3。

4.如权利要求1所述的方法,其特征在于,所述预设搜索顺序为以所述预设像素窗口中左上角的像素点为起始点,以逆时针的顺序搜索所述预设像素窗口;或所述预设搜索顺序为以所述预设像素窗口中右下角的像素点为起始点,以顺时针的顺序搜索所述预设像素窗口。

5.如权利要求1所述的方法,其特征在于,所述获取清扫区域对应的第一图像,包括:获取所述清扫区域对应的深度图像;

对所述清扫区域对应的所述深度图像进行二值化处理得到第一二值化图像;

将所述第一二值化图像中的不可通行区域进行膨胀处理得到所述第一图像。

6.如权利要求1所述的方法,其特征在于,所述方法还包括:利用三次样条曲线法对所述第一沿边路径进行平滑处理,得到第二沿边路径。

7.如权利要求1所述的方法,其特征在于,所述M个新增的边界点中的最后一个边界点与所述初始的边界点重合。

8.如权利要求1所述的方法,其特征在于,所述M为大于或等于1的正整数。

9.一种移动设备,其特征在于,所述移动设备包括存储器和处理器;所述存储器存储有计算机程序可执行程序代码;与所述存储器耦合的所述处理器用于执行所述计算机程序以实现权利要求1‑8中任一项所述的方法。

10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时,以实现如权利要求1‑8中任一项所述的方法。

说明书 :

确定沿边路径的方法、移动设备及计算机存储介质

技术领域

[0001] 本申请属于路径规划技术领域,尤其涉及确定沿边路径的方法、移动设备及计算机存储介质。

背景技术

[0002] 目前,移动设备被广泛应用于人类的日常生活中,例如移动机器人被用来清扫待清扫的区域。相关技术中,一般采用安装在移动机器人上的超声波传感器进行实时测距的方法,来获取边界点,以使移动机器人根据边界点获取沿边移动路径,使移动机器人较好地平稳运行,帮助完成清扫工作。
[0003] 为了获取边界点,相关技术中,采用超声波传感器进行实时测距以获取边界点,但是,这种方式需要在移动机器人上安装超声波传感器,增加了经济成本。

发明内容

[0004] 本申请实施例提供了确定沿边路径的方法、移动设备及计算机存储介质,可以节省经济成本。
[0005] 为了实现上述目的,第一方面,本申请提供一种确定沿边路径的方法,其特征在于,所述方法应用于移动设备,包括:
[0006] 获取清扫区域对应的第一图像,所述第一图像包括与所述清扫区域中障碍物区对应的边界区域以及与所述清扫区域中清扫区对应的通行区域,所述边界区域包围所述通行区域;
[0007] 获取所述通行区域和所述边界区域的初始的边界点;
[0008] 基于所述初始的边界点得到M个新增的边界点;
[0009] 依次连接初始的边界点和所述M个新增的边界点得到所述第一沿边路径;
[0010] 其中,所述初始的边界点为所述M个新增的边界点中第一个边界点的前一边界点,所述M个新增的边界点中的每一边界点通过以前一相邻的边界点作为中心点,并将所述中心点作为预设像素窗口的中心后,在所述预设像素窗口内确定所述通行区域与所述边界区域的边界点而生成。
[0011] 上述方案中,基于获取到的清扫区域对应的第一图像,在第一图像中,以初始的边界点作为预设像素窗口的中心,在预设像素窗口内搜索边界点,这样可以依次得到初始的边界点和新增的边界点,再得到沿边路径,也就是说,移动设备在确定沿边路径的过程中可以借助待清扫的清扫区域对应的第一图像,无需安装超声波传感器,可以节省经济成本。
[0012] 可选地,该方法还包括:若第一图像中的第一像素点的像素值处于第一预设范围,且在以第一像素点为中心的预设像素窗口内至少存在一个与第一像素点相邻的像素点的像素值处于第二预设范围,确定第一像素点为初始的边界点;
[0013] 其中,第一预设范围与通行区域对应,第二预设范围与边界区域对应,第一预设范围与第二预设范围的交集为空。
[0014] 上述方案中,若在第一像素点不是边界点的情况下,第一像素点可能是第一图像中的任意一个像素点,也就是说,若以第一图像中的任意一个像素点为预设像素窗口的中心规划路径的过程中,可能会增加搜索的复杂度。若第一像素点的像素值处于第一预设范围,且在以第一像素点为中心的预设像素窗口内至少存在一个与第一像素点相邻的像素点的像素值处于第二预设范围,则确定该第一像素点为初始的边界点,移动设备可以以作为初始的边界点的第一像素点为预设像素窗口的中心确定边界点,从而可以规划出第一沿边路径,能够降低复杂度。
[0015] 可选地,所述将所述中心点作为预设像素窗口的中心后,在所述预设像素窗口内确定所述通行区域与所述边界区域的边界点,包括:
[0016] 以所述中心点作为所述预设像素窗口的中心,按照预设搜索顺序搜索预设像素窗口内除了所述中心点之外的像素点;
[0017] 将在所述预设像素窗口内除了所述中心点之外的像素点中首次搜索到的像素值处于第一预设范围的像素点,确定为第二像素点;
[0018] 若在以所述第二像素点为中心的预设像素窗口内至少存在一个与所述第二像素点相邻的像素点的像素值处于第二预设范围,且所述第二像素点不在边界点集合中,则确定所述第二像素点为边界点,所述边界点集合包括所述初始的边界点;
[0019] 将所述边界点添加至所述边界点集合中。
[0020] 上述方案中,在以初始的边界点作为中心点,在以中心点作为预设像素窗口的中心,按照预设搜索顺序确定边界点的过程中,按照预设搜索顺序可以避免盲目确定边界点造成确定的第一沿边路径存在路径相交或路经多次拐弯的问题;首次搜索到的像素值处于第一预设范围的第二像素点为边界点,这样由多个边界点得到的第一沿边路径可以是待清扫区域的边界路径,移动设备以边界路径清扫时,清扫的覆盖率大。
[0021] 可选地,预设像素窗口为N*N大小的窗口,N=3。
[0022] 上述方案中,如果按照N >3,例如,按照5*5大小的预设像素窗口搜索像素点进行边界点确定时,可能需要预设像素窗口中搜索很多次,才能确定边界点;而如果N=3,按照3*3大小的预设像素窗口进行搜索像素点进行边界点确定时,搜索的次数会大幅减少,相比较于N>3的方案,N=3的方案更加简单。
[0023] 可选地,预设搜索顺序为以预设像素窗口中左上角的像素点为起始点,以逆时针的顺序搜索预设像素窗口;或,
[0024] 预设搜索顺序为以预设像素窗口中右下角的像素点为起始点,以顺时针的顺序搜索预设像素窗口。
[0025] 上述方案中,每次都按上述的预设搜索顺序搜索,可以避免盲目搜索边界点,造成确定的第一沿边路径存在路径相交或路径多次拐弯的问题。
[0026] 可选地,获取清扫区域对应的第一图像,包括:
[0027] 获取清扫区域对应的深度图像;
[0028] 对清扫区域对应的深度图像进行二值化处理得到第一二值化图像;
[0029] 将第一二值化图像中的不可通行区域进行膨胀处理得到第一图像。
[0030] 上述方案中,对清扫区域对应的深度图像进行二值化处理,可以使深度图像中像素点的像素值只有两种值,使深度图像呈现出黑白效果。这样,在清扫区域中,待清扫的通行区域对应的深度图像更加突出。对第一二值化图像中对应的不可通行区域进行膨胀处理后,原来不可通行区域的范围变大。这样,移动设备在待清扫区域中运行时,可以避免碰撞到不可通行区域中的物体,避免损坏物体。
[0031] 可选地,该方法还包括:利用三次样条曲线法对第一沿边路径进行平滑处理,得到第二沿边路径。
[0032] 上述方案中,利用三次样条曲线法对第一沿边路径进行平滑处理,得到第二沿边路径,可以使得到的第二沿边路径,更加平滑,减少移动设备的拐弯次数,减少移动设备的功耗。
[0033] 可选地,多个边界点中的最后一个边界点与初始的边界点重合。
[0034] 上述方案中,多个边界点中的最后一个边界点与初始的边界点重合的方案,可以确保得到的第一沿边路径是一条闭合的沿边路径。
[0035] 可选地,M为大于或等于1的正整数。
[0036] 第二方面,本申请实施例提供了一种移动设备,移动设备包括存储器和处理器;存储器存储有计算机程序可执行程序代码;与存储器耦合的处理器用于执行计算机程序以实现上述第一方面或第一方面的任一实施方式的方法。
[0037] 第三方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序,计算机程序被处理器执行时,上述第一方面或第一方面的任一实施方式的方法。
[0038] 本申请实施例与现有技术相比存在的有益效果是:由于本申请是基于获取到的清扫区域对应的第一图像,在第一图像中,以初始的边界点作为预设像素窗口的中心,在预设像素窗口内搜索边界点,这样可以依次得到初始的边界点和新增的边界点,再得到沿边路径,即,移动设备在确定初始的边界点和边界点的过程中可以借助待清扫的清扫区域对应的第一图像,无需安装超声波传感器,可以节省经济成本。

附图说明

[0039] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040] 图1是现有技术中超声波传感器测距确定沿边路径的原理图;
[0041] 图2是本申请实施例一提供的一种确定沿边路径的方法的流程示意图;
[0042] 图3是本申请实施例一提供的一种第一图像具体为深度图像的示意图;
[0043] 图4是本申请实施例一提供的一种对第一图像进行二值化后的图像;
[0044] 图5是本申请实施例一提供的一种对第一二值化图像膨胀化后的图像;
[0045] 图6是本申请实施例一提供的一种确定初始的边界点的示意图;
[0046] 图7是本申请实施例一提供的另一种确定初始的边界点的示意图;
[0047] 图8是本申请实施例一提供的一种预设搜索顺序示意图;
[0048] 图9是本申请实施例提供的一种从初始的边界点确定边界点的示意图;
[0049] 图10是本申请的又一实施例提供的一种确定沿边路径的方法的流程示意图;
[0050] 图11是本申请的另一实施例提供的多个边界点的示意图;
[0051] 图12是本申请的另一实施例提供的一种封闭的第一沿边路径的示意图;
[0052] 图13是本申请的另一实施例提供的一种平滑沿边路径的示意图;
[0053] 图14是本申请的一实施例提供的一种确定沿边路径的装置的结构示意图;
[0054] 图15是本申请的另一实施例提供的一种确定沿边路径的装置的结构示意图;
[0055] 图16是本申请的实施例提供的一种移动设备的结构示意图。

具体实施方式

[0056] 下面将结合本申请实施例中的,对本申请实施例中的技术方案进行详细说明。
[0057] 应当理解,本申请实施例中的方式、情况、类别以及实施例的划分只是为了方便描述,不对本申请构成任何限定,各种方式、类别、情况以及实施例中的特征在不相矛盾的情况下可以相互结合。
[0058] 还应当理解,本申请实施例中的“第一”以及“第二”仅是为了区分,不对本申请构成任何限定。还应当理解,在本申请的各个实施例中,各个过程中的序号大小并不意味着步骤的执行顺序,其步骤的执行顺序由其内在逻辑确定,而不对本申请实施例的执行过程构成任何限定。
[0059] 目前,移动设备被广泛应用于人类的日常生活中,例如移动机器人被用来清扫待清扫的区域。图1为本申请实施例提供的现有技术中超声波传感器进行测距确定沿边路径的示意图。现有技术中,利用如图1所示的超声波传感器的声波测距原理,实时获取与环境中的障碍物的距离,从而确定边界点,例如图1中的边界点a、b,以使移动机器人根据确定的边界点得到沿边路径,使移动机器人较好地平稳运行,帮助完成清扫工作。
[0060] 但是,现有技术中,这种采用超声波传感器实时测距确定沿边路径的方法,需要在移动机器人上安装超声波传感器,这样增加经济成本。
[0061] 基于相关技术中的问题,本申请提出了一种确定沿边路径的方法、移动设备及计算机存储介质,方法包括:获取清扫区域对应的第一图像;以通行区域与边界区域的初始的边界点作为预设像素窗口的中心,在第一图像中的预设像素窗口内搜索通行区域与边界区域的边界点,以使得边界点与初始的边界点作为第一沿边路径的连接节点。这样移动设备在确定第一沿边路径的过程中,可以借助待清扫的清扫区域对应的第一图像,无需安装超声波传感器,可以节省经济成本。
[0062] 下面以具体地实施例对本申请的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0063] 图2为本申请实施例一提供的一种确定沿边路径的方法的流程示意图,如图2所示,该方法应用于移动设备,该方法包括如下步骤:
[0064] S210,移动设备获取清扫区域对应的第一图像,第一图像包括与清扫区域中障碍物区对应的边界区域以及与清扫区域中清扫区对应的通行区域,边界区域包围通行区域。
[0065] 可选地,S210中的移动设备具体可以是清洁机器人等,这里不做限定。
[0066] 可选地,S210中的移动设备执行如下S211步骤:搜索一个像素值处于第一预设范围的第三像素点,再以第三像素点为中心,按照第一搜索规则搜索像素值处于第一预设范围的第四像素点,根据第三像素点和第四像素点得到的图像作为待清扫的通行区域对应的图像;移动设备按照重复步骤S211,搜索到多个待清扫的第一区域,再比较多个待清扫的第一区域对应的多个图像的像素点数,将像素点数最多的图像对应的待清扫的第一区域确定为通行区域。
[0067] 可选地,S210中的边界区域可以为障碍物区域,也就是说移动设备在清扫的过程中需要避开的区域。
[0068] 在其他实施例中,边界区域也可以为未探测区域或者禁行区域,即不可以通行或者不允许通行的区域。
[0069] 可选地,S210包括:获取清扫区域对应的深度图像;对清扫区域对应的深度图像进行二值化处理得到第一二值化图像;将第一二值化图像中的不可通行区域进行膨胀处理得到第一图像。
[0070] 一种可实现的方式,以大于移动设备的半径距离,对不可通行区域进行膨胀,得到第一图像。
[0071] 例如,将图3所示的深度图像进行二值化后,得到图4所示的第一二值化图像,再将第一二值化图像中的不可通行区域进行膨胀,得到图5所示的膨胀后的图像。
[0072] 上述方案中,对清扫区域对应的深度图像进行二值化处理,可以使深度图像中像素点的像素值只有两种值,使深度图像呈现出黑白效果。这样,在清扫区域中,待清扫的通行区域对应的深度图像更加突出。对第一二值化图像中对应的不可通行区域膨胀大于移动设备的半径距离后,原来不可通行区域的范围至少变大原来的两倍。这样,移动设备在待清扫区域中运行时,可以避免碰撞到不可通行区域中的物体,避免损坏物体。
[0073] 应理解地,移动设备是具有一定轮廓的实体,即它的几何中心和边界是具有一定距离的,移动设备在进行定位时,一般是基于几何中心的坐标作为自身的坐标,因此通过进行膨胀处理,可以使得障碍物等的边界向外扩张,并大于或等于移动设备中几何中心到边界的距离,从而使得移动设备在后续的路径规划中,不会碰到障碍物等。
[0074] 可选地,S210包括:移动设备利用开放计算机视觉库(Open Source Compputer Vision Library,OpenCV)算法计算清扫区域的大小,移动设备再利用安装在移动设备上的激光雷达传感器的激光同步定位与建图(SLAM,Simultaneous Localization and Mapping)获取清扫区域对应的点云图像;再转换为深度图像;对深度图像进行二值化处理得到二值化图像;将二值化图像中的不可通行区域进行膨胀处理得到清扫区域对应的第一图像。其中,深度图像可以具体是深度栅格图像,也就是深度像素图像,例如,如图3所示为得到的深度图像,图5为得到的第一图像。
[0075] 其中,S210中的清扫区域中清扫区对应的通行区域的一种可实现的方式如下。
[0076] 可选地,移动设备可以先搜索到一个像素值处于第一预设范围的第三像素点,再以第三像素点为中心,按照第一搜索规则搜索像素值处于第一预设范围的第四像素点,根据第三像素点和第四像素点得到的图像作为待清扫的通行区域对应的图像。
[0077] 可选地,第一搜索规则可以是以第三像素点为中心的4邻域搜索规则,也可以是以第三像素点为中心的8邻域搜索规则。具体为,以第三像素点为中心的4邻域搜索规则是以第三像素点为中心,在第三像素点的第一外围领域中,只搜索第三像素点的左相邻像素点、下相邻像素点、右相邻像素点和上相邻像素点。以第三像素点为中心的8邻域搜索规则是以第三像素点为中心,搜索第三像素点的相邻的8个像素点。
[0078] 可选地,S210包括:移动设备先获取到通行区域对应的图像,再获取边界区域对应的图像,根据通行区域对应的图像和边界区域对应的图像得到清扫区域对应的第一图像。
[0079] 可选地,安装在移动设备上的激光雷达传感器先获取到待清扫的通行区域,通行区域对应的图像的像素值处于第一预设范围,移动设备以通行区域为中心向外围扩展边界区域,其中边界区域对应的图像的像素值处于第二预设范围,从而得到清扫区域对应的第一图像。其中第一预设范围与第二预设范围的交集为空。
[0080] 在可选实施例中,本申请中的通行区域为一个环状区域,周围被所述边界区域所包围。
[0081] 在具体场景中,通行区域具体可以为整个清扫区域中最大的环状区域(包括第一预设范围的像素值的像素最多的区域或者面积最大的区域)。
[0082] 可选地,将深度图像中像素值大于K的像素点的像素值设置成B,将小于或等于K的像素点的像素值设置成A。例如,深度图像是RGB深度图像,则M =127,A = 0,B = 254。这样,深度图像的像素值只有0或254,深度图像呈现成黑白效果。
[0083] S220,移动设备以通行区域与边界区域的初始的边界点作为中心点,将中心点作为预设像素窗口的中心,在第一图像的预设像素窗口内确定通行区域与边界区域的边界点,以使得边界点与初始的边界点可以作为第一沿边路径的连接节点。
[0084] 其中,初始的边界点的一种可实现的方式如下。
[0085] 可选地,若第一图像中的第一像素点的像素值处于第一预设范围,且在以第一像素点为中心的预设像素窗口内至少存在一个与第一像素点相邻的像素点的像素值处于第二预设范围,确定第一像素点为初始的边界点;
[0086] 其中,第一预设范围与通行区域对应,第二预设范围与边界区域对应,第一预设范围与第二预设范围的交集为空。
[0087] 上述方案中,若在第一像素点不是边界点的情况下,第一像素点可能是第一图像中的任意一个像素点,也就是说,若以第一图像中的任意一个像素点为预设像素窗口的中心规划路径的过程中,可能会增加搜索的复杂度。若第一像素点的像素值处于第一预设范围,且在以第一像素点为中心的预设像素窗口内至少存在一个与所述第一像素点相邻的像素点的像素值处于第二预设范围的,则可以确定该第一像素点为初始的边界点,移动设备可以以作为初始的边界点的第一像素点为预设像素窗口的中心确定边界点,从而可以规划出第一沿边路径,能够降低复杂度。即可选地,无论是边界点还是所述初始的边界点均可以作为第一沿边路径的连接节点。
[0088] 例如,图6的(a)和图6的(b)是本申请实施例一提供的一种确定初始的边界点的示意图。图中一个栅格表示一个像素点,栅格中的数值指像素点的像素值,像素点的位置信息用坐标表示,图中只给出了像素值在第一预设范围的像素点的具体像素值,这里是在第一预设范围下给出了各个像素点的具体像素值,如果第一图像是二值化后的图像,则这里的处于第一预设范围的像素值均为0,空白栅格位置中均为254。如下在确定沿边路径的过程中所基于的第一图像是未二值化的深度图像,第一预设范围为0 127,第二预设范围为128~ ~255。如图6的(a)所示,为预设像素窗口的示意图,其中,O为窗口的中心,除中心O以外的位置标记为1、2、3、4、5、6、7和8,指的是利用预设像素窗口进行边界点搜索时的顺序,具体是在预设像素窗口内搜索边界点时,先搜索1位置的像素点,对该像素点进行判断,再是搜索2位置的像素点,以此类推。例如,如图6的(b)所示,该第一像素点a1不是边界点,以该第一像素点为中心,在预设像素窗口中确定边界点,那么在以该第一像素点为中心,在预设像素窗口内无法确定边界点,此时需要重新确定第一像素点,再以a2作为预设像素窗口的中心,在预设像素窗口内确定边界点,发现没有满足是边界点的像素点,继续确定第一像素点,如以a3作为预设像素窗口的中心,在预设像素窗口内确定边界点,则得到像素点(8,4)作为边界点。因此,如果第一像素点不是边界点会增加搜索边界点的复杂度;如果是以作为边界点的第一像素点b作为预设像素窗口的中心,在预设像素窗口内,搜索边界点时,搜索到的像素点很容易满足是边界点的方案,这样降低复杂度。
[0089] 可选地,第一预设范围为大于或等于0,小于或等于127。
[0090] 可选地,第二预设范围为大于127,小于255。
[0091] 例如,图7为本申请实施例一提供的一种确定初始的边界点的示意图,图中一个栅格表示一个像素点,像素点的位置信息用坐标表示,若第一像素点的像素值为101,第一像素点相邻的一个像素点的像素值为180,则第一像素点(1,3)可确定为初始的边界点。
[0092] 若第一像素点的像素值为100,第一像素点相邻的所有像素点的像素值均大于127,则第一像素点(11,2)可确定为初始的边界点。
[0093] 可选地,S220中的预设像素窗口为N*N大小的窗口,N=3。
[0094] 上述方案中,如果按照N > 3,例如,按照5*5大小的预设像素窗口搜索像素点进行边界点确定时,可能需要在预设像素窗口中搜索很多次,才能确定边界点,而如果N=3,按照3*3大小的预设像素窗口进行搜索像素点进行边界点确定时,搜索的次数会大幅减少,相比较于N大于3的方案更加简单。
[0095] 可选地,S220中的预设搜索顺序为以预设像素窗口中左上角的像素点为起始点,以逆时针的顺序搜索预设像素窗口;或,
[0096] 预设搜索顺序为以预设像素窗口中右下角的像素点为起始点,以顺时针的顺序搜索预设像素窗口。
[0097] 上述方案中,每次都按上述的预设搜索顺序搜索,可以避免盲目搜索边界点,造成确定的第一沿边路径存在路径相交或路径多次拐弯的问题。
[0098] 为了更好地理解本申请的技术方案,如下给出了预设搜索顺序的举例描述。
[0099] 例如,图8的(a)给出了以预设像素窗口中左上角的像素点为起始点,以逆时针的顺序搜索预设像素窗口的预设搜索顺序;图8的(b)给出了以预设像素窗口中右下角的像素点为起始点,以顺时针的顺序搜索预设像素窗口的预设搜索顺序。
[0100] 可选地,S220包括:将中心点作为预设像素窗口的中心,按照预设搜索顺序搜索预设像素窗口内除了中心点之外的像素点;将在预设像素窗口内除了中心点之外的像素点中首次搜索到的像素值处于第一预设范围的像素点,确定为第二像素点;若在以第二像素点为中心的预设像素窗口内至少存在一个与第二像素点相邻的像素点的像素值处于第二预设范围,且第二像素点不在边界点集合中,则确定第二像素点为边界点,边界点集合包括初始的边界点;将边界点添加至边界点集合中,即边界点集合还进一步可以包括边界点;其中,第一预设范围与通行区域对应,第二预设范围与边界区域对应,第一预设范围与第二预设范围的交集为空。
[0101] 上述方案中,在以中心点作为预设像素窗口的中心,按照预设搜索顺序确定边界点的过程中,按照预设搜索顺序可以避免盲目确定边界点造成确定的第一沿边路径存在路径相交或路经多次拐弯的问题;首次搜索到的像素值处于第一预设范围的第二像素点为边界点,这样由多个边界点得到的沿边路径可以是待清扫区域的边界路径,移动设备以边界路径清扫时,清扫的覆盖率大。
[0102] 为了更好地理解本申请的技术方案,如下给出了利用初始的边界点确定边界点的举例描述。
[0103] 预设像素窗口的大小为3*3。图9的(a)和图9的(b)为本申请实施例提供的一种确定沿边路径的示意图,图中一个栅格表示一个像素点,栅格中的数值指像素点的像素值,像素点的位置信息用坐标表示,为使图9的(a)和图9的(b)中的待清扫区域看起来更加直观,图中只给出了像素值在第一预设范围的像素点的具体像素值,这里是在第一预设范围下给出了各个像素点的具体像素值,如果第一图像是二值化后的图像,则这里的处于第一预设范围的像素值均为0,空白栅格位置中均为254。如下以第一图像为深度图像,初始的边界点为像素点(4,3)举例。以预设像素窗口的大小为3*3为例,图9的(a)给出了预设像素窗口的示意图,窗口的中心为O,除中心O以外的位置标记为1、2、3、4、5、6、7和8,指的是利用预设像素窗口进行边界点搜索时的顺序,如图9的(b),在以O为中心进行边界点搜索时,先搜索1位置的像素点,再搜索2位置的像素点,依次类推。以初始的边界点(4,3)作为预设像素窗口的中心O,按照如图9的(a)所示的搜索顺序,在预设像素窗口内搜索除了初始的边界点(4,3)之外的像素点,发现位置1的像素点的像素值处于第二预设范围,不满足边界点的条件,再继续搜索,发现位置2的像素点的像素值处于第一预设范围、该位置2的相邻像素点的像素值处于第二预设范围、该位置2的像素点是首次搜索到的像素点,因此,该位置2的像素点,即第二像素点(3,4)可以作为边界点,最终可以得到图9的(b)初始的边界点(4,3)和边界点(3,4)。
[0104] 基于相关技术中的问题,本申请提出了一种确定沿边路径的方法、移动设备及计算机存储介质,该方法包括确定沿边路径的方法中的任意一种方法,该方法还包括基于边界点,利用预设规则依次得到多个边界点;依次连接相邻的初始的边界点和多个边界点确定第一沿边路径。这样不断根据预设像素窗口的移动在第一图像中的预设像素窗口内确定第一沿边路径上的边界点,即,移动设备在确定第一沿边路径的过程中,可以借助待清扫的清扫区域对应的第一图像规划第一沿边路径,无需安装超声波传感器,可以节省经济成本。
[0105] 下面以具体地实施例对本申请的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0106] 图10为本申请的又一实施例提供的一种确定沿边路径的方法的流程示意图,如图10所示,该方法应用于移动设备,该方法包括如下步骤:
[0107] 应理解地,确定沿边路径的方法包括确定沿边路径的方法中的任一方法,因此如下中的例举描述只列举与确定沿边路径相关的例子。
[0108] S100,与S210相同。
[0109] S101,获取通行区域和边界区域的初始的边界点。
[0110] 关于如何获取初始的边界点,上述实施例中已经进行了详细的阐述,这里不再赘述。
[0111] S102,基于初始的边界点依次得到M个新增的边界点。
[0112] 在可选实施例中,M可以是大于或等于1的正整数,如1、2、50等等,这里不做限定。
[0113] 其中,初始的边界点为M个新增的边界点中第一个边界点的前一边界点。即可以初始的边界点作为M个新增的边界点中第一个边界点的前一边界点。
[0114] 可选地,S102中的M个新增的边界点中的每一边界点通过以该边界点的前一相邻边界点作为中心点,并将中心点作为预设像素窗口的中心后,在预设像素窗口内确定通行区域与所述边界区域的边界点而生成。其具体和图2步骤S220比较相似,均是通过如下步骤实现:
[0115] 以中心点作为预设像素窗口的中心,按照预设搜索顺序搜索预设像素窗口内除了中心点之外的像素点;
[0116] 将在预设像素窗口内除了中心点之外的像素点中首次搜索到的像素值处于第一预设范围的像素点,确定为第二像素点;
[0117] 若在以第二像素点为中心的预设像素窗口内至少存在一个与所述第二像素点相邻的像素点的像素值处于第二预设范围,且所述第二像素点不在边界点集合中,则确定所述第二像素点为边界点。
[0118] 即M个新增的边界点中的第一个边界点是通过以其前一相邻的边界点(即初始的边界点)为中心点,并将中心点作为预设像素窗口的中心后,在预设像素窗口内确定通行区域与所述边界区域的边界点而生成。M个新增的边界点中的第二个边界点则是以该M个新增的边界点中的第一边界点为中心点,并将中心点作为预设像素窗口的中心后,在预设像素窗口内确定通行区域与所述边界区域的边界点而生成。通过多次迭代计算,每得到一个新增的边界点,则将该边界点作为中心点,并将中心点作为预设像素窗口的中心后,在预设像素窗口内确定通行区域与所述边界区域的边界点,从而得到下一个相邻的新增的边界点,通过多次迭代,从而可以得到M个新增的边界点。其具体利用预设窗口查询边界点的生成步骤在S220有阐述,这里不再赘述。
[0119] 其中,得到的M个新增的边界点中的第一个或者首个边界点即为上述实施例图2所示实施例得到的边界点。即可选地,通过迭代对边界点进行计算,对于每一个边界点而言,其均是通过前面的边界点进行迭代计算得到来,并进一步进行迭代计算得到后续的边界点。
[0120] 可选地,对于边界点而言,可以将该边界点作为中心点,并将中心点作为预设像素窗口的中心后,随后在预设像素窗口内确定通行区域与所述边界区域的边界点,可以得到下一个边界点,通过多次迭代计算,从而依次可以得到M个新增的边界点。
[0121] 为了更好地理解本申请的技术方案,如下给出了一种得到M个新增的边界点的举例描述。
[0122] 预设像素窗口的大小为3*3。图11的(a)和图11的(b)为本申请的又一实施例提供的一种确定M个新增的边界点的示意图,图中一个栅格表示一个像素点,栅格中的数值指像素点的像素值,像素点的位置信息用坐标表示,为使图11的(a)和图11的(b)的待清扫区域看起来更加直观,图中只给出了像素值在第一预设范围的像素点的具体像素值,这里是在第一预设范围下给出了各个像素点的具体像素值,如果第一图像是二值化后的图像,则这里的处于第一预设范围的像素值均为0,空白栅格位置中均为254。如下以第一图像为深度图像,初始的边界点为像素点(4,3)为例。图11的(a)给出了预设像素窗口的示意图,窗口的中心为O,除中心O以外的位置标记为1、2、3、4、5、6、7和8,指的是利用预设像素窗口进行边界点搜索时的顺序,如图11的(b),在以O为中心进行边界点搜索时,先搜索1位置的像素点,再搜索2位置的像素点,依次类推。以初始的边界点(4,3)作为预设像素窗口的中心O,按照如图11的(a)所示的搜索顺序,在预设像素窗口内搜索除了初始的边界点(4,3)之外的像素点,发现位置1的像素点的像素值处于第二预设范围,不满足边界点的条件,再继续搜索,发现位置2的像素点的像素值处于第一预设范围、该位置2的相邻像素点的像素值处于第二预设范围、该位置2的像素点是首次搜索到的像素点且该位置2的像素点没有在边界点集合中,因此,该位置2的像素点,即第二像素点(3,4)可以作为边界点;
[0123] 可选地,每得到一个边界点,则可以将该边界点添加到边界点集合中,从而使得边界点集合可以包括初始的边界点以及之前所获取到的所有的边界点。
[0124] 可以继续以边界点(3,4)作为预设像素窗口的中心O,在预设像素窗口内,按照如图11的(a)所示的搜索顺序,将搜索到的像素点(2,5)作为第一沿边路径上的下一个边界点;继续以像素点(2,5)作为预设像素窗口的中心O,继续进行搜索,依次类推,可以将找到的满足上述方案的像素点,将其作为M个新增的边界点中的又一个边界点继续搜索,可以得到M个新增的边界点;利用上述方案,如果一直搜索下去,可以得到如下边界点:边界点(1,5)、边界点(2,6)、边界点(3,6)、边界点(4,7)、边界点(3,8)、边界点(4,9)、边界点(5,9)、边界点(6,9)、边界点(7,9)、边界点(8,9)、边界点(9,9)、边界点(10,8)、边界点(9,8)、边界点(10,7)、边界点(9,7)、边界点(9,6)、边界点(10,5)、边界点(9,5)、边界点(10,4)、边界点(9,4)、边界点(8,3)、边界点(9,2)、边界点(8,2)、边界点(9,1)、边界点(8,1)、边界点(7,
1)、边界点(6,1)、边界点(5,2)和边界点(4,2)。
[0125] S103,移动设备依次连接相邻的初始的边界点和M个新增的边界点确定第一沿边路径。
[0126] 可选地,S920中的初始的边界点的获取过程与S220相同。
[0127] 一种可实现的方式,将S910的举例描述中的M个新增的边界点和初始的边界点依次连接起来,可以得到如图12所示的一条闭合的第一沿边路径。
[0128] 可选地,在S920之后:移动设备利用三次样条曲线法对第一沿边路径进行平滑处理,得到第二沿边路径。
[0129] 上述方案中,利用三次样条曲线法对第一沿边路径进行平滑处理,得到第二沿边路径,可以使得到的第二沿边路径,更加平滑,减少移动设备的拐弯次数,减少移动设备的功耗。
[0130] 一种可实现的方式,若由上述确定沿边路径的方法确定的第一沿边路径如图13的(a)所示,则利用三次样条曲线法对第一沿边路径进行平滑处理后,可以得到如图13的(b)所示的第二沿边路径。
[0131] 图14为本申请实施例提供的确定沿边路径的装置的结构示意图,如图14所示,该装置包括:
[0132] 获取单元410,用于获取清扫区域对应的第一图像,第一图像包括与清扫区域中障碍物区对应的边界区域以及与清扫区域中清扫区对应的通行区域,边界区域包围通行区域;
[0133] 确定单元420,以通行区域与边界区域的初始的边界点作为中心点,将中心点作为预设像素窗口的中心,在第一图像的预设像素窗口内确定通行区域与边界区域的边界点,以使得边界点与初始的边界点可以作为第一沿边路径的连接节点。
[0134] 图15为本申请实施例提供的确定沿边路径的装置的结构示意图,如图15所示,该装置包括:
[0135] 获取单元510,获取清扫区域对应的第一图像,第一图像包括与清扫区域中障碍物区对应的边界区域以及与清扫区域中清扫区对应的通行区域,边界区域包围所述通行区域;
[0136] 所述获取单元,还用于获取通行区域和边界区域的初始的边界点;
[0137] 处理单元520,用于基于初始的边界点得到M个新增的边界点;
[0138] 连接单元530,用于依次连接初始的边界点和M个新增的边界点得到第一沿边路径;
[0139] 其中,初始的边界点为M个新增的边界点中第一个边界点的前一边界点,M个新增的边界点中的每一边界点通过以前一相邻的边界点作为中心点,并将中心点作为预设像素窗口的中心后,在预设像素窗口内确定通行区域与边界区域的边界点而生成。
[0140] 可选地,所述确定单元,还用于若第一图像中的第一像素点的像素值处于第一预设范围,且在以第一像素点为中心的预设像素窗口内至少存在一个与第一像素点相邻的像素点的像素值处于第二预设范围,确定第一像素点为初始的边界点;
[0141] 其中,第一预设范围与通行区域对应,第二预设范围与边界区域对应,第一预设范围与第二预设范围的交集为空。
[0142] 可选地,所述确定单元,具体用于以中心点作为所述预设像素窗口的中心,按照预设搜索顺序搜索预设像素窗口内除了中心点之外的像素点;
[0143] 将在预设像素窗口内除了中心点之外的像素点中首次搜索到的像素值处于第一预设范围的像素点,确定为第二像素点;
[0144] 若在以第二像素点为中心的预设像素窗口内至少存在一个与第二像素点相邻的像素点的像素值处于第二预设范围,且第二像素点不在边界点集合中,则确定第二像素点为边界点,边界点集合包括初始的边界点;
[0145] 将边界点添加至边界点集合中。
[0146] 可选地,预设像素窗口为N*N大小的窗口,N=3。
[0147] 可选地,预设搜索顺序为以预设像素窗口中左上角的像素点为起始点,以逆时针的顺序搜索预设像素窗口;或
[0148] 预设搜索顺序为以预设像素窗口中右下角的像素点为起始点,以顺时针的顺序搜索预设像素窗口。
[0149] 可选地,所述获取单元,具体用于获取清扫区域对应的深度图像;
[0150] 对清扫区域对应的深度图像进行二值化处理得到第一二值化图像;
[0151] 将第一二值化图像中的不可通行区域进行膨胀处理得到第一图像。
[0152] 可选地,所述处理单元,还用于利用三次样条曲线法对第一沿边路径进行平滑处理,得到第二沿边路径。
[0153] 可选地,M个新增的边界点中的最后一个边界点与初始的边界点重合。
[0154] 可选地,M为大于或等于1的正整数。
[0155] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0156] 基于同一发明构思,本申请实施例提供了如图16所示一种移动设备,移动设备包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令时,以实现上述第一方面或第一方面的任一实施方式的方法。
[0157] 基于同一发明构思,本申请实施例提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序,计算机程序被处理器执行时,以实现上述第一方面或第一方面的任一实施方式的方法。
[0158] 在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0159] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0160] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0161] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。