一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区域全覆盖的路径规划方法、装置及清洁机器人与流程

2022-11-12 22:26:57 来源:中国专利 TAG:


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.图1是本发明基于区域全覆盖的路径规划方法的一个实施例的流程示意图;
48.图2是本发明基于区域全覆盖的路径规划方法中步骤101的子流程示意图;
49.图3是本发明基于区域全覆盖的路径规划方法中步骤102的子流程示意图;
50.图4是本发明基于区域全覆盖的路径规划方法的一个实施例的局部区域清扫路径示意图;
51.图5是本发明基于区域全覆盖的路径规划方法中步骤103的子流程示意图;
52.图6是本发明基于区域全覆盖的路径规划方法中步骤104的子流程示意图;
53.图7是本发明基于区域全覆盖的路径规划装置的一个实施例的结构示意图;
54.图8a是图7所示基于区域全覆盖的路径规划装置中获取模块的结构示意图;
55.图8b是图7所示基于区域全覆盖的路径规划装置中第一确定模块的结构示意图;
56.图9是本发明清洁机器人的一个实施例中的硬件结构示意图。
具体实施方式
57.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
59.需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
60.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领
域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
61.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
62.本发明实施例提供的基于区域全覆盖的路径规划方法和装置可以应用于清洁机器人。其中,清洁机器人可以自动清扫路上的垃圾,可以自动绕开障碍、自动驾驶、自动掉头、自动过红绿灯、自动停车等,并且,可以清扫的区域如公园路径、马路等。清洁机器人的底盘设计使用两轮差速底盘,可进行自身原地自转。清洁机器人体积一般较大,需要考虑其是否会与多边形区域的边界发生碰撞。为了实现全面覆盖,转弯直径必须小于等于清扫宽度,否则会产生清扫空隙,无法实现全覆盖。
63.请参阅图1,图1为本发明实施例提供的基于区域全覆盖的路径规划方法的流程示意图,如图1所示,所述方法应用于清洁机器人,所述方法包括:
64.步骤101,获取包含待清洁区域的地图以及所述清洁机器人的位置,并对所述地图进行预处理。
65.在清洁机器人清扫之前,需要先获得包含待清洁区域的地图,该地图为二维灰度图像。如图2所示,上述步骤101具体包括:
66.步骤1011,通过形态学操作去除所述地图中的噪点,并且在所述地图中障碍物之间形成安全空间。
67.形态学操作是根据图像形状进行的简单操作。一般情况下对二值化图像/灰度图像进行操作。它需要输入两个操作,一个是原始图像,另一个被称为结构化元素或核,它是用来决定操作的性质的。两个基本的形态学操作是腐蚀和膨胀,它们的变体构成了开运算、闭运算和梯度等。简言之,形态学操作其实就是改变物体的形状,比如腐蚀就是"变瘦",膨胀就是"变胖",注意腐蚀和膨胀是针对图片中的白色部分。通过腐蚀和膨胀等形态学操作,去除图像的噪点并且与障碍物之间形成安全空间,从而让清洁机器人在后续的处理中只需要在凸多边形内实现覆盖就能保证不会与障碍物发生接触。
68.步骤1012,从所述地图中提取轮廓线。
69.具体的,在本实施例中使用opencv库对地图提取轮廓信息,从而得到轮廓线。
70.步骤1013,使用图像处理算法对所述轮廓线进行扫描和提取,生成凸多边形,其中,所述凸多边形为所述待清洁区域的形状。
71.具体的,使用图像处理算法中的hough变换对上述轮廓线进行扫描和提取,生成凸多边形,并且进行保存。
72.可以理解的是,在其它一些实施例中还可以使用其它方法对上述轮廓线进行扫描和提取。
73.步骤102,根据所述地图中所述待清洁区域的形状建立坐标系,其中所述待清洁区域的形状为凸多边形。
74.如图3所示,步骤102具体包括:
75.步骤1021,计算所述凸多边形的几何中心。
76.步骤1022,以所述几何中心为原点建立坐标系。
77.计算所述凸多边形各边长的长度。建立坐标系时,以几何中心为原点,并使得横轴与最长边长平行。
78.步骤103,在所述地图中生成网格,其中所述网格单元的大小取决于所述清洁机器人的清扫宽度。
79.具体的,建立网格虽然需要额外的开销,但是能够定量地反应覆盖清洁的性能。
80.网格单元的大小取决于清洁机器人的清扫宽度。例如,清洁机器人的清扫宽度为0.6m,将网格单元设置成0.6m为边长的正方形,通过图4可知,转弯前后两条平行线之间没有清扫空隙,并且清洁机器人在行驶过程中沿着网格中心行驶时,无论是转弯还是直线行驶,都能基本覆盖整个网格单元。可以理解的是,在其它一些实施例中,上述网格单元的大小可以是清洁机器人的清扫宽度的一半。
81.如图5所示,步骤103具体包括:
82.步骤1031,根据所述清洁机器人的清扫宽度确定所述网格单元的大小。
83.步骤1032,根据所述坐标系和所述网格单元的大小,在所述地图中生成网格。
84.步骤104,根据所述网格单元的坐标和所述清洁机器人的位置,确定路径点。
85.在生成网格后,首先需要确定清扫的起点。清扫起点一般选择距离所述清洁机器人的位置最近的网格单元的中心。
86.具体而言,如图6所示,步骤104包括:
87.步骤1041,根据所述网格和所述清洁机器人的位置,确定所述清洁机器人的起点。
88.根据清洁机器人的位置坐标和所有网格单元的中心坐标,计算清洁机器人与所有网格单元的中心的距离,并将距离最小的网格单元的中心作为起点。
89.步骤1042,计算所述网格单元的中心。
90.步骤1043,根据所述几何中心,对所述网格单元的中心进行排序。
91.具体的,首先将所有网格单元组成数据库,并判断每个网格单元相邻的其它网格单元的数量;提取与其它网格单元相邻的数量小于四的网格单元(与该网格单元相邻的网格单元数量小于四,说明该网格单元位于网格的边缘),并将该网格单元标记为第一网格单元,并将边界网格单元从数据集中移除。然后从数据集中提取与两个以上第一网格单元相邻的网格单元,并将该部分网格单元标记为第二网格单元。将第一网格单元的中心(该第一网格单元的中心包括起点)和第二网格单元的中心合并为一个数据集,并且由上述起点开始,根据几何中心对数据集中的各个点(即,第一网格单元的中心和第二网格单元的中心)求极角逆时针排序。接下来,数据库中剩余的网格单元中有一部分变成了新的第一网格单元,提起该部分第一网格单元,并以此提取新的第二网格单元,将新的第一网格单元的中心(该第一网格单元的中心包括起点)和新的第二网格单元的中心合并为一个新的数据集,然后对新的数据集中的各点排序。依次循环,直至数据库中没有网格单元。根据前面的多次排序,对所有的网格单元中心进行排序。具体而言,上一个循环排序中的最后一个中心排在下一个循环排序中的第一个中心前面。
92.步骤1044,确定所述起点和排序后的所述网格单元的中心均为所述路径点。
93.基于上述方式,上述路径点构成的全覆盖路径不但确保清扫到每一个网格单元,还可以避免重复清扫同一个网格单元,在保证覆盖率的情况下,降低了重复覆盖率和路径重复率。
94.步骤105,依次连接所述路径点,得到对所述待清洁区域全覆盖的路径。
95.上述路径点本质上是地图上间隔较小的若干离散点,因每个路径点均具有顺序和方向,连接上述路径点就构成了能够对凸多边形全覆盖的路径。
96.本技术实施例,在对地图进行预处理后将地图中待清洁区域简化为凸多边形,根据凸多边形建立坐标系,然后在地图中生成网格,根据所述网格单元的坐标和所述清洁机器人的位置,确定路径点,最后依次连接所述路径点,得到对所述待清洁区域全覆盖的路径。通过上述方式得到的路径提高覆盖率从而使得清洁机器人规划的路径更为合理。
97.相应的,如图7所示,本发明实施例还提供了一种基于区域全覆盖的路径规划装置30,可以用于清洁机器人,基于区域全覆盖的路径规划装置30包括:
98.获取模块31,用于获取包含待清洁区域的地图以及所述清洁机器人的位置,并对所述地图进行预处理。
99.建立模块32,用于根据所述地图中所述待清洁区域的形状建立坐标系,其中所述待清洁区域的形状为凸多边形。
100.生成模块33,用于在所述地图中生成网格,其中所述网格单元的大小取决于所述清洁机器人的清扫宽度。
101.确定模块34,用于根据所述网格单元的坐标和所述清洁机器人的位置,确定路径点。
102.得到模块35,用于依次连接所述路径点,得到对所述待清洁区域全覆盖的路径。
103.本技术实施例,在对地图进行预处理后将地图中待清洁区域简化为凸多边形,根据凸多边形建立坐标系,然后在地图中生成网格,根据所述网格单元的坐标和所述清洁机器人的位置,确定路径点,最后依据路径点得到对所述待清洁区域全覆盖的路径。通过上述方式得到的路径既提高了覆盖率,从而使得清洁机器人规划的路径更为合理。
104.在一些实施例中,如图8a所示,上述获取模块31包括:
105.去除单元311,用于通过形态学操作去除所述地图中的噪点,并且在所述地图中障碍物之间形成安全空间,其中,所述地图为二维灰度图像;
106.第一提取单元312,用于从所述地图中提取轮廓线;
107.第一生成单元313,用于使用图像处理算法对所述轮廓线进行扫描和提取,生成凸多边形,其中,所述凸多边形为所述待清洁区域的形状。
108.在一些实施例中,上述确定模块32包括:
109.第一确定单元321,用于根据所述网格和所述清洁机器人的位置,确定所述清洁机器人的起点;
110.计算单元322,计算所述网格单元的中心;
111.排序单元323,根据所述几何中心,对所述网格单元的中心进行排序;
112.第二确定单元324,用于确定所述起点和排序后的所述网格单元的中心均为所述路径点。
113.需要说明的是,上述装置可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
114.图9为清洁机器人的一个实施例中的硬件结构示意图,如图9所示,清洁机器人13
包括:
115.一个或多个处理器131、存储器132。图9中以一个处理器131、一个存储器132为例。
116.处理器131、存储器132可以通过总线或者其他方式连接,图9中以通过总线连接为例。
117.存储器132作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的基于区域全覆盖的路径规划方法对应的程序指令/模块(例如,附图6-8所示的获取模块31、第一确定模块32、生成模块33、第二确定模块34、得到模块35)。处理器131通过运行存储在存储器132中的非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现上述方法实施例的基于区域全覆盖的路径规划方法。
118.存储器132可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于区域全覆盖的路径规划装置的使用所创建的数据等。此外,存储器132可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器132可选包括相对于处理器131远程设置的存储器,这些远程存储器可以通过网络连接至清洁机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
119.所述一个或者多个模块存储在所述存储器132中,当被所述一个或者多个处理器131执行时,执行上述任意方法实施例中的基于区域全覆盖的路径规划方法,例如,执行以上描述的图1中的方法步骤101至步骤105;实现图7中的模块31-35、图8a中的单元311-313、图8b中的单元321-324的功能。
120.上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
121.本技术实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图9中的一个处理器131,可使得上述一个或多个处理器可执行上述任意方法实施例中的基于区域全覆盖的路径规划方法,例如,执行以上描述的图1中的方法步骤101至步骤105;实现图7中的模块31-35、图8a中的单元311-313、图8b中的单元321-324的功能。
122.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
123.通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
124.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本
发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献