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

清扫机器人控制方法、装置、计算机设备及存储介质与流程

2022-07-19 22:18:05 来源:中国专利 TAG:


1.本发明涉及机器人控制技术领域,尤其涉及一种清扫机器人控制方法、装置、计算机设备及存储介质。


背景技术:

2.随着清扫机器人室内导航技术的发展,清扫机器人可以在室内自行导航,完成清扫作业,从而减轻人们的劳动负荷。一般地,清扫机器人获取待清扫的环境信息,然后通过格栅地图构建算法构建环境的格栅地图,以基于格栅地图完成清扫机器人的规划清扫路径,最后按照清扫路径实施清扫作业。
3.然而,在使用格栅地图进行路径规划的过程中,需要对格栅地图进行遍历以确定未清扫的区域,当需要清扫的区域较大、地形比较复杂时,则清扫机器人需要遍历的格栅数量太大,导致计算量太大,路径规划速度较慢。


技术实现要素:

4.本发明提供一种清扫机器人控制方法、装置、计算机设备及存储介质,以解决现有技术中,使用格栅地图需要进行栅格遍历导致的计算量过大的问题。
5.一种清扫机器人控制方法,包括:
6.获取待清扫区域的环境地图,并根据所述环境地图确定所述待清扫区域的外边界和所述待清扫区域内的多个障碍物;
7.根据所述外边界和所述障碍物边缘绘制轮廓线,生成所述外边界的边界轮廓线和所述障碍物的障碍物轮廓线;
8.根据清扫机器人的清扫范围绘制多条在所述边界轮廓线内彼此不相交的目标线,所述清扫机器人的清扫范围为所述清扫机器人保持位置不变时能够清扫到的最大清扫面积;
9.确定所述目标线与所述边界轮廓线、所述障碍物轮廓线相交的多个交点;
10.根据所述多个交点、所述轮廓线、所述目标线规划所述清扫机器人的清扫路径,并控制所述清扫机器人按照所述清扫路径清扫所述待清扫区域。
11.进一步地,所述根据所述多个交点、所述轮廓线、所述目标线规划所述清扫机器人的清扫路径,包括:
12.确定所述交点的轮廓线相邻点和目标线对应点,所述目标线对应点为所述交点所在目标线另一端的交点,所述轮廓线相邻点为在所述轮廓线延伸方向上与所述交点相邻的两个交点;
13.根据所述清扫机器人的起始位置、所述交点的轮廓线相邻点和目标线对应点确定所述清扫路径的目标点序列;
14.根据所述目标点序列将所述轮廓线、所述目标线划分为多个子清扫路径;
15.控制所述清扫机器人沿所述多个子清扫路径清扫所述待清扫区域。
16.进一步地,所述根据所述清扫机器人的起始位置、所述交点的轮廓线相邻点和目标线对应点确定所述清扫路径的目标点序列,包括:
17.a.确定与所述清扫机器人之间距离最近的所述目标线,作为起始目标线;
18.b.确定所述起始目标线两端的交点中,与所述清扫机器人距离较近的交点作为所述清扫路径的初始目标点,并进行标记;
19.c.确定所述初始目标点的目标线对应点是否为被标记的交点;
20.d.若所述初始目标点的目标线对应点不是被标记的交点,将所述初始目标点的目标线对应点作为第一目标点并进行标记;
21.e.确定所述第一目标点的两所述轮廓线相邻点是否为被标记的交点;
22.f.若所述第一目标点的其中一个轮廓线相邻点为被标记的交点,则所述第一目标点另一未被标记的轮廓线相邻点作为第二目标点并进行标记;
23.g.将所述第二目标点作为所述初始目标点并循环c-g,直至所有交点均被标记过,以获得所述目标点序列。
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是本发明一实施例中绘制轮廓线和目标线后的一环境地图;
49.图3是本发明一实施例中绘制轮廓线和目标线后的另一环境地图;
50.图4是图1中步骤s50的一实现流程示意图;
51.图5是本发明一实施例中清扫机器人控制装置的一结构示意图;
52.图6是本发明一实施例中计算机设备的一结构示意图。
具体实施方式
53.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.本发明实施例提供的清扫机器人控制方法,可应用在清扫机器人中,清扫机器人控制装置可以是内置于清扫机器人的嵌入式设备,清扫机器人控制装置与清扫机器人通过总线连。其中,清扫机器人内有建图模块,该建图模块提供环境地图,然后清扫机器人控制装置根据环境地图进行清扫路径规划。建图模块可以是机器人身上的传感器,比如激光雷达。在一个新的使用环境中,需要控制清扫机器人沿待清扫区域及固定联物的边缘走,进行区域环境探索,然后激光雷达根据收集的环境信息建立环境地图。
55.清扫机器人通过获取清扫机器人控制装置发送的待清扫区域的环境地图,并根据环境地图确定待清扫区域的外边界和待清扫区域内的多个障碍物,根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线,根据清扫机器人的清扫范围绘制多条在边界轮廓线内彼此不相交的目标线,清扫机器人的清扫范围为清扫机器人静止工作时的清扫面积,确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点,根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径,并控制清扫机器人按照清扫路径清扫待清扫区域,通过目标线与边界轮廓线、障碍物轮廓线相交的多个交点即可快速规划清扫机器人的清扫路径,不需要进行栅格遍历,在可快速进行清扫路径规划的基础上,减少了计算量。
56.其中,在其他实施例中,清扫机器人和清扫机器人控制装置可以通过网络连接,清扫机器人控制装置可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
57.在一实施例中,如图1所示,提供一种清扫机器人控制方法,以该方法应用在图1中的清扫机器人控制装置为例进行说明,包括如下步骤:
58.s10:获取待清扫区域的环境地图,并根据环境地图确定待清扫区域的外边界和待清扫区域内的多个障碍物。
59.在需要清扫机器人执行清扫任务时,清扫机器人控制装置需要预先获取待清扫区域的环境地图,并根据环境地图确定待清扫区域的外边界和待清扫区域内的多个障碍物。其中,环境地图可用是灰白图,图中的灰度值表示该区域是否被占据,灰度值较高的区域,为障碍物区域和环境边界。
60.s20:根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线。
61.在根据环境地图确定待清扫区域的外边界和待清扫区域内的多个障碍物之后,需要根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线。
62.其中,沿待清扫区域的外边界绘制的轮廓线为边界轮廓线,沿待清扫区域的障碍物边缘绘制的轮廓线为障碍物轮廓线,如图2和图3所示,图2中较粗的外轮廓线条为待清扫区域的外边界,图2中较细的内轮廓线条为边界轮廓线,图2中a、b则为障碍物轮廓线;图3中较粗的外轮廓线条为待清扫区域的外边界,图3中较细的内轮廓线条为边界轮廓线;图中的
a、b、c、d则为障碍物,a、b、c、d中内侧粗曲线则为障碍物边缘,a、b、c、d中外侧细曲线则为障碍物轮廓线。
63.s30:根据清扫机器人的清扫范围绘制多条在边界轮廓线内彼此不相交的目标线,清扫机器人的清扫范围为清扫机器人保持位置不变时能够清扫到的最大清扫面积。
64.在生成外边界的边界轮廓线和障碍物的障碍物轮廓线之后,根据清扫机器人的清扫范围绘制多条在边界轮廓线内彼此不相交的目标线,其中,清扫机器人的清扫范围为清扫机器人保持位置不变时能够清扫到的最大清扫面积,目标线为在边界轮廓线内彼此不相交的直线,且相邻两目标线之间的最大距离小于或者等于清扫范围能够达到的最长距离,相邻两目标线之间的最小距离大于或者等于清扫范围能够达到的最长距离的一半。其中,目标线可以是平行线,本实施例中,以目标线为平行线为例进行说明。
65.例如,清扫机器人保持位置不变时能够清扫到的最大清扫面积为圆形区域,在边界轮廓线内绘制多条相互平行的目标线,直至完全覆盖边界轮廓线内的所有区域,如图2和3所示,图中边界轮廓线内的目标线条则为目标线,其中,则相邻两目标线的距离大于等于圆形区域的半径,且小于或者等于圆形区域的直径。
66.s40:确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点。
67.由于根据清扫机器人的清扫范围在边界轮廓线内绘制多条相互平行的目标线时,目标线会与边界轮廓线、障碍物轮廓线相交,产生交点,需要对所有的交点的位置进行记录,以便获取目标线与边界轮廓线、障碍物轮廓线相交的多个交点。
68.例如,在目标线与边界轮廓线、障碍物轮廓线相交之后,对相交获得的多个交点进行编号,如图3所示,获得编号1-98的多个交点,其中,编号1-66、的交点为目标线与边界轮廓线相交的交点,编号67-98的交点为目标线与障碍物轮廓线相交的交点,其中,每一交点周围具有三个相邻的交点,包括一个交点为目标线对应点(该交点在同一连续的目标线上的对应交点),和两个轮廓线相邻点(该交点在轮廓线上最近的两个交点)。如交点34的目标线对应点为交点31,交点34的轮廓线相邻点为交点33、交点35。
69.s50:根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径,并控制清扫机器人按照清扫路径清扫待清扫区域。
70.在确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点之后,根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径,并控制清扫机器人按照清扫路径清扫待清扫区域。
71.例如,在确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点之后,可以控制清扫机器人移动至边界轮廓线的边缘处,以确保所有目标线均在清扫机器人的一侧,将清扫机器人一侧的目标线与相邻两目标线之间的边界轮廓线、目标线与相邻两目标线之间的障碍物轮廓线进行编号,具体编号数值根据目标线与清扫机器人之间距离远近依次确定,与清扫机器人之间距离的越远编号越大,然后根据编号顺序,将各目标线、和相邻两平行之间的轮廓线(包括边界轮廓线和障碍物轮廓线)作为子清扫路径,遍历所有的编号,从而完成对待清扫环境进行清扫。
72.在其他实施例中,还可以确定机器人的起始位置,根据起始位置确定距离起始位置最近的交点,并将距离起始位置最近的交点作为初始的目标点,进而根据预设的规则确定每一目标点之后的下一目标点,直至遍历所有交点,形成目标点序列,然后根据目标点序
列进行清扫路径规划。其中,在目标点序列时,以目标线对应点优先,轮廓线相邻点其次的循环遍历原则确定下一目标点,即若当前目标点的目标线对应点未被标记为目标点,则将目标线对应点作为下一目标点,若当前目标点的目标线对应点被标记为目标点,则在轮廓线相邻点选择一个未被标记的交点作为下一目标点。
73.若遇到障碍物,即若遍历到目标点为障碍物轮廓线上的交点时,确定该目标点的下一目标点的方案包括两种,以图3为例进行说明:
74.方案1:目标线被障碍物c打断后,选择当前目标点所在的障碍物一侧,依旧按照目标线对应点优先,轮廓线相邻点其次的循环遍历原则,在当前目标点所在的障碍物一侧中确定下一目标点,直至循环遍历所有的交点形成目标点序列;如图3所示,在标记交点16为上一目标点并将交点85作为当前目标点时,将交点85的轮廓线相邻点86作为下一目标点,并将交点86的目标线对应点17作为下一目标点,然后将目标点17的轮廓线相邻点18作为目标点17的下一目标点。
75.方案2:目标线被障碍物c打断后,确定当前目标点的对应连线点,其中,同一目标线与同一障碍物轮廓线相交后会形成的两个交点,两个交点为彼此的对应连线点,在确定当前目标点的对应连线点之后,在该障碍物轮廓线上确定当前目标点与对应连线点之间的交点,并将障碍物轮廓线上当前目标点与对应连线点之间的交点、对应连线点依次作为下一目标点,直至循环遍历所有的交点形成目标点序列;如图3所示,在标记交点16为上一目标点并将交点85作为当前目标点时,确定交点85的对应连线点为90,并确定障碍物轮廓线上当前目标点85与对应连线点90之间的交点依次为交点86、87、88、89,则将交点86、87、88、89、90依次作为下一目标点,放入目标点序列中,然后确定当前目标点90的下一目标点为交点90的目标线对应点49,目标点49的下一目标点为交点49的轮廓线相邻点48,目标点48的下一目标点为交点48的目标线对应点89,确定当前目标点89的对应连线点为交点86,障碍物轮廓线上交点89与对应连线点86之间的交点依次为88、87,则将交点88、87、86依次作为下一目标点。
76.本实施例中,通过获取待清扫区域的环境地图,并根据环境地图确定待清扫区域的外边界和待清扫区域内的多个障碍物,根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线,根据清扫机器人的清扫范围在边界轮廓线内绘制多条相互平行的目标线,清扫机器人的清扫范围为清扫机器人静止工作时的清扫面积,确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点,根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径,并控制清扫机器人按照清扫路径清扫待清扫区域;本发明公开了一种不需要建立格栅的路径规划方法,通过目标线与边界轮廓线、障碍物轮廓线相交的多个交点即可快速规划清扫机器人的清扫路径,不需要进行栅格遍历,在可快速进行清扫路径规划的基础上,减少了计算量,提高了速度。
77.在一实施例中,步骤s20中,即根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线,具体包括如下步骤:
78.s21:根据清扫机器人的清扫范围确定预设距离,预设距离需满足清扫机器人在清扫过程的安全需求。
79.在根据外边界和障碍物边缘绘制轮廓线之前,需要预先设定一个轮廓线绘制距离,即预设距离,其中,预设距离需要根据清扫机器人的清扫范围确定,并需满足清扫机器
人在清扫过程的安全需求,以保证清扫机器人后续在将轮廓线作为清扫路径进行清扫时,能够清扫到轮廓线与待清扫环境的外边界之间的区域,和轮廓线与障碍物之间的区域,又能够不与待清扫环境的外边界或者障碍物发生碰撞。
80.例如,若清扫机器人的清扫范围为圆形,经实际测试获知清扫机器人与外边界或者障碍物不发生碰撞时的最小距离,将该最小距离作为安全距离,则预设距离为清扫范围的圆形半径与安全距离之和。
81.本实施例中,预设距离为清扫范围的圆形半径与安全距离之和仅为示例性说明书,在其他实施例中,预设距离还可以大于清扫范围的圆形半径与安全距离。
82.s22:沿外边界绘制边界轮廓线,边界轮廓线与外边界之间的距离为预设距离。
83.在确定预设距离之后,以预设距离为边界轮廓线与外边界之间的距离,沿沿外边界绘制与外边界形状相同的边界轮廓线。
84.s23:沿障碍物边缘绘制障碍物轮廓线,障碍物轮廓线与障碍物边缘之间的距离为预设距离。
85.在确定预设距离之后,以预设距离为障碍物轮廓线与障碍物边缘之间的距离,沿障碍物边缘绘制与障碍物形状相同的边界轮廓线。
86.本实施例中,根据清扫机器人的清扫范围确定预设距离,预设距离需满足清扫机器人在清扫过程的安全需求,沿外边界绘制边界轮廓线,边界轮廓线与外边界之间的距离为预设距离,沿障碍物边缘绘制障碍物轮廓线,细化了根据外边界和障碍物边缘绘制轮廓线,生成外边界的边界轮廓线和障碍物的障碍物轮廓线的具体过程,并明确了轮廓线与外边界、障碍物边缘之间的距离需满足清扫机器人安全需求,减少了清扫机器人产生碰撞的可能,提高了清扫机器人与待清扫环境的安全性。
87.在一实施例中,步骤s30中,即根据清扫机器人的清扫范围在边界轮廓线内绘制多条相互平行的目标线,具体包括如下步骤:
88.s31:确定边界轮廓线中的任一直线边,作为基准目标线。
89.s32:在边界轮廓线内绘制多条与基准目标线平行的目标线,直至覆盖边界轮廓线内的环境区域,相邻两目标线之间的距离小于或者等于清扫范围所能达到的最长距离。
90.在生成外边界的边界轮廓线和障碍物的障碍物轮廓线之后,确定边界轮廓线中的任一直线边,作为基准目标线,并在边界轮廓线内绘制多条与基准目标线延伸方向平行的目标线,直至覆盖边界轮廓线内的环境区域,在绘制目标线后,目标线与轮廓线会产生交点,将位于边界轮廓线外的目标线清除,并将位于障碍物轮廓线内的目标线清除。
91.在确定基准目标线之前,可以将边界轮廓线中最长的直线边作为基准目标线,也可以根据边界轮廓线的具体情况选择适中的直线作为基准目标线,例如,为减少目标线的长度,在各边界轮廓线中绘制不同方向的平行线,将边界轮廓线中最短的平行线作为基准目标线,也可以根据边界轮廓线的弯曲度确定,选择弯曲度较低且较短的边界轮廓线作为基准目标线,如图2所示,a、b、c、d为边界轮廓线中相邻两轮廓线的交点,选择弯曲度较低且较短的边界轮廓线bc作为基准目标线。
92.其中,相邻两目标线之间的距离小于或者等于清扫范围所能达到的最长距离,并大于或者等于清扫范围所能达到的最长距离的一半。
93.例如,若清扫机器人的清扫范围为圆形,清扫范围所能达到的最长距离即为该圆
形的半径,相邻两目标线之间的距离可以设置为圆形的直径,以便后续清扫机器人以目标线作为清扫路径时,能够均匀的清扫目标线的两侧,并在此基础上,减少目标线的数量,即减少机器人的清扫路径,提高清扫效率;或者,相邻两目标线之间的距离可以设置为小于圆形的直径且大于圆形的半径,以减少机器人路径误差导致出现的漏扫情况,提高清扫的清洁度。
94.本实施例中,通过确定边界轮廓线中的任一直线边,作为基准目标线,在边界轮廓线内绘制多条与基准目标线平行的目标线,直至覆盖边界轮廓线内的环境区域,相邻两目标线之间的距离小于或者等于清扫范围所能达到的最长距离,确保了后续清扫机器人以目标线作为清扫路径时,能够均匀的清扫目标线的两侧,保证了清扫效率、提高了清扫的清洁度。
95.在一实施例中,如图4所示,步骤s50中,即根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径,具体包括如下步骤:
96.s51:确定交点的轮廓线相邻点和目标线对应点,目标线对应点为交点所在目标线另一端的交点,轮廓线相邻点为在轮廓线延伸方向上与交点相邻的两个交点。
97.在确定目标线与边界轮廓线、障碍物轮廓线相交的多个交点之后,需要对各交点进行编号,然后确定交点的轮廓线相邻点和目标线对应点并进行记录,其中,目标线对应点为交点所在目标线另一端的交点,轮廓线相邻点为在轮廓线延伸方向上与交点相邻的两个交点。一般地,每一个交点会有两个轮廓线相邻点和一个目标线对应点。
98.例如,如图3所示,交点34的轮廓线相邻点为交点33和交点35,交点34的目标线对应点为交点31;交点35的轮廓线相邻点为交点34和交点36,交点35的目标线对应点为交点30。
99.s52:根据清扫机器人的起始位置、交点的轮廓线相邻点和目标线对应点确定清扫路径的目标点序列。
100.在确定交点的轮廓线相邻点和目标线对应点之后,根据清扫机器人的起始位置、交点的轮廓线相邻点和目标线对应点确定清扫路径的目标点序列。其中,目标点序列为将各交点作为目标点之后,根据各目标点先后顺序形成的点集序列。
101.例如,将与清扫机器人的起始位置之间距离最近的交点作为初始目标点p0,以清扫机器人的起始位置为界将待清扫环境的分为两个区域,并将p0点所在方向的一侧作为预先清扫的第一区域,然后以预设规则对第一区域的交点进行编号,其中,预设规则以目标线对应点优先的原则,对第一区域的交点进行依次编号,即将p0的目标线对应点作为p1,在p1的轮廓线相邻点中选择为标记为目标点的轮廓线相邻点作为p2,然后将p2的目标线对应点作为p4
……
直至遍历至第一区域所有的交点,然后选择第二区域中,与清扫机器人距离最远的交点作为第二区域的第一个目标点,依据目标线对应点优先的原则,依次遍历第二区域所有的交点得到由p0-p1-p4

pn所组成的目标点序列。
102.本实施例中,确定清扫路径的目标点序列的过程仅为示例性说明,在其他实施例中,还可以通过其他方式确定目标点序列,在此不再赘述。
103.s53:根据目标点序列将轮廓线、目标线划分为多个子清扫路径。
104.在传统方案中,在确定目标点序列之后,会根据目标点序列中目标点的顺序,依次对相邻两目标点之间的清扫路径进行规划(如选择相邻两目标点之间的最短路径或者用时
最少路径作为清扫路径),本实施例中,在确定清扫路径的目标点序列之后,直接根据目标点序列将轮廓线、目标线划分为多个子清扫路径,即以目标点序列中的各交点为目标点,以绘制的轮廓线、目标线作为清扫机器人的清扫路径。其中,由于交点为轮廓线与目标线的交点,即目标点为轮廓线与目标线,则目标点序列决定了多个子清扫路径的先后顺序,减少了重新规划相邻两目标点之间的路径所用的计算量。
105.例如,图3所示,若清扫机器人的起始位置为0处,则交点66距离清扫机器人的起始位置最近,交点66为p0,交点1为p1,交点2为p3,则第一子清扫路径中的起始点为0,第一子清扫路径的目标点为66,第二子清扫路径的起始点为66,第二子清扫路径的目标点为1,依次类推。
106.本实施例中,清扫机器人的起始位置为0仅为示例性说明,在其他实施例中,清扫机器人的起始位置还可以是其他位置,例如图3中的100处、99处等。
107.s54:控制清扫机器人沿多个子清扫路径清扫待清扫区域。
108.在根据目标点序列将轮廓线、目标线划分为多个子清扫路径之后,控制清扫机器人沿多个子清扫路径清扫待清扫区域。其中,为确保清扫机器人在子清扫路径均遍历完毕之后,能够覆盖所有待清扫区域,相邻目标线之间的距离需要小于或者等于清扫机器人的清扫范围所能达到的最长距离(如清扫机器人的清扫范围为圆形,则相邻目标线之间的距离需要小于或者等于该圆形的直径);轮廓线与待清扫环境的外边界之间的距离、轮廓线与障碍物边缘之间的距离,应大于或者等于清扫机器人的清扫范围所能达到的最长距离的一半(如清扫机器人的清扫范围为圆形,则轮廓线与外边界、障碍物边缘之间的距离,应大于或者等于该圆形的半径)。
109.本实施例中,通过确定交点的轮廓线相邻点和目标线对应点,目标线对应点为交点所在目标线另一端的交点,轮廓线相邻点为在轮廓线延伸方向上与交点相邻的两个交点,根据清扫机器人的起始位置、交点的轮廓线相邻点和目标线对应点确定清扫路径的目标点序列,根据目标点序列将轮廓线、目标线划分为多个子清扫路径,控制清扫机器人沿多个子清扫路径清扫待清扫区域,细化了根据多个交点、轮廓线、目标线规划清扫机器人的清扫路径的步骤,通过清扫机器人的起始位置对各交点进行排序,以获得目标点序列,可直接将交点作为各清扫阶段的目标点,从而明确清扫路径。
110.在一实施例中,步骤s52中,即根据清扫机器人的起始位置、交点的轮廓线相邻点和目标线对应点确定清扫路径的目标点序列,具体包括如下步骤:
111.a.确定与清扫机器人之间距离最近的目标线,作为起始目标线;
112.b.确定起始目标线两端的交点中,与清扫机器人距离较近的交点作为清扫路径的初始目标点,并进行标记;
113.c.确定初始目标点的目标线对应点是否为被标记的交点;
114.d.若初始目标点的目标线对应点不是被标记的交点,将初始目标点的目标线对应点作为第一目标点并进行标记;
115.e.确定第一目标点的两轮廓线相邻点是否为被标记的交点;
116.f.若第一目标点的其中一个轮廓线相邻点为被标记的交点,则第一目标点另一未被标记的轮廓线相邻点作为第二目标点并进行标记;
117.g.将第二目标点作为初始目标点并循环c-g,直至所有交点均被标记过,以获得目
标点序列。
118.在确定交点的轮廓线相邻点和目标线对应点之后,先根据机器人的起始位置确定清扫路径的初始目标点并进行标记,在确定初始目标点之后,以初始目标点的目标线对应点优先的原则,确定初始目标点的第一目标点和第二目标点,然后以第二目标点作为下一阶段的初始目标点对剩下的所有交点进行循环遍历,以确定每一阶段初始目标点的第一目标点和第二目标点,直至所有交点均被标记过,以获得目标点序列。在本实施例中,将整个清扫路径划分为多个子清扫路径,其中,每个子清扫路径包括需要经过三个交点:初始目标交点、第一目标交点和第二目标交点,即每个子清扫路径包括一条目标线(初始目标交点至第二目标交点的路径)和一条子轮廓线(第一目标交点至第二目标交点的路径)
119.例如,如图3所示,清扫机器人位于图中99处,确定与清扫机器人之间距离最近的目标线为两端点为32、33的目标线,则32-33目标线为起始目标线,其中,交点32与清扫机器人距离较近的交点,则32为清扫路径的初始目标点并进行标记,若初始目标点32的目标线对应点33未被标记,则第一目标点为33并进行标记,在确定第一目标点33后,确定第一目标点33的两个轮廓线相邻点34、32(32即为33的目标线对应点,也为33轮廓线相邻点),是否被标记,其中32被标记,则确定34为33的第二目标点并进行标记;在确定34的第二目标点之后,需要将34作为初始目标点进行循环,以确定34之后的第一目标点和34的第二目标点,循环确定,直至所有交点均被标记过,以获得目标点序列。
120.本实施例中,通过确定与清扫机器人之间距离最近的目标线,作为起始目标线,确定起始目标线两端的交点中,与清扫机器人距离较近的交点作为清扫路径的初始目标点,并进行标记,确定初始目标点的目标线对应点是否为被标记的交点;若初始目标点的目标线对应点不是被标记的交点,将初始目标点的目标线对应点作为第一目标点并进行标记,确定第一目标点的两轮廓线相邻点是否为被标记的交点,若第一目标点的其中一个轮廓线相邻点为被标记的交点,则第一目标点另一未被标记的轮廓线相邻点作为第二目标点并进行标记;将第二目标点作为初始目标点并循环c-g,直至所有交点均被标记过,以获得目标点序列,明确了根据清扫机器人的起始位置、交点的轮廓线相邻点和目标线对应点确定清扫路径的目标点序列,为目标点序列的确定提供了基础。
121.在一实施例中,步骤e中,即确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,所述方法具体还包括如下步骤:
122.e1.若第一目标点的两轮廓线相邻点均为未被标记的交点,则确定第一目标点所在目标线两侧的目标线数量。
123.e2.选择目标线数量较少一侧的第一目标点的轮廓线相邻点,作为第二目标点并进行标记。
124.在确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,若第一目标点的两轮廓线相邻点均为未被标记的交点,此时,需要两轮廓线相邻点中的一个作为第二目标点,为保证清扫机器人后续的判断过程,需要选择则确定第一目标点所在目标线两侧的目标线数量,选择目标线数量较少一侧的第一目标点的轮廓线相邻点,作为第二目标点并进行标记,从而减少清扫机器人的计算量。
125.例如,如图3所示,第一目标点为68,确定第一目标点68的两轮廓线相邻点67、69均为未被标记的交点,此时68两侧的目标线数量中,69所在一侧的目标线数量较多,此时则将
69所在一侧的交点作为持续遍历的交点,则将69作为68的第二目标点并进行标记,以便后续将69作为初始目标点进入循环以遍历所有交点。
126.本实施例中,第一目标点为68仅为示例性说明,在其他实施例中,第一目标点还可以是其他交点,在此不再赘述。
127.本实施例中,在确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,若第一目标点的两轮廓线相邻点均为未被标记的交点,则确定第一目标点所在目标线两侧的目标线数量,选择目标线数量较少一侧的第一目标点的轮廓线相邻点,作为第二目标点并进行标记,增加了确定第二目标点的判断场景,为后续遍历完所有的交点提供了基础,将目标线数量较多一侧的第一目标点的轮廓线相邻点,作为第二目标点并进行标记,进一步减少了后续循环过程的计算量,加快了路径规划速度。
128.在一实施例中,在确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,若第一目标点的两轮廓线相邻点均为未被标记的交点,还可以通过其他方式确定第二目标点。例如,在外边界轮廓线内绘制目标线后,获得n条目标线,以确定待清扫环境中靠近机器人初始位置一端的为始,对n条目标线进行依次编号,编号依次为1-n,在确定第一目标点之后,确定第一目标点对应的目标线编号为x,则确定x是否小于n/2,若x小于n/2,则选择位于目标线x-1上的第一目标点的轮廓线相邻点作为第二目标点并进行标记;若x大于n/2,则选择位于目标线x 1上的第一目标点的轮廓线相邻点作为第二目标点并进行标记,以减少计算清扫机器人目标线数量的过程,减少计算量。
129.在一实施例中,步骤e中,即确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,所述方法具体还包括如下步骤:
130.e3.若第一目标点的两轮廓线相邻点均为被标记的交点,且第一目标点的目标线对应点为被标记的交点,则确定所有未标记的交点;
131.e4.在所有未标记的交点中确定与清扫机器人距离最远的交点,作第为二目标点并进行标记。
132.在确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,若第一目标点的两轮廓线相邻点均为被标记的交点,且第一目标点的目标线对应点为被标记的交点,表示此时清扫机器人周围的交点均已作为目标点,无可遍历的交点,此时则确定所有未标记的交点,并在所有未标记的交点中确定与清扫机器人距离最远的交点,作为第二目标点并进行标记。传统做法是寻找最近未标记的交点重新遍历,而本实施例中,为减少后续重复遇到该类情况,需要确定所有未标记的交点,并在所有未标记的交点中确定与清扫机器人距离最远的交点,作为第二目标点并进行标记,以重新循环并遍历所有交点,减少了多次遇到清扫机器人周围的交点均已作为目标点的可能,减少重复判断的过程,减少了计算量。
133.例如,如图3所示,第一目标点为68,确定第一目标点68的两轮廓线相邻点67、69均为未被标记的交点,且第一目标点68的目标线对应点37也为未被标记的交点,此时确定所有未标记的交点中,并与清扫机器人距离最远的交点为64,则将交点64作为第二目标点并进行标记,以便后续将64作为初始目标点进入循环以遍历所有交点。这将减少后续多次遇到交点的两轮廓线相邻点、目标线对应点均被标记的情况,减少重复判断的计算量。
134.本实施例中,在确定第一目标点的两轮廓线相邻点是否为被标记的交点之后,若第一目标点的两轮廓线相邻点均为被标记的交点,且第一目标点的目标线对应点为被标记
的交点,则确定所有未标记的交点,在所有未标记的交点中确定与清扫机器人距离最远的交点,作为第二目标点并进行标记,增加了确定第二目标点的判断场景,为后续遍历完所有的交点提供了基础,将所有未标记的交点中确定与清扫机器人距离最远的交点,作为第二目标点并进行标记,进一步减少了后续循环过程的计算量,加快了路径规划速度。
135.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
136.在一实施例中,提供一种清扫机器人控制装置,该清扫机器人控制装置与上述实施例中清扫机器人控制方法一一对应。如图5所示,该清扫机器人控制装置包括获取模块501、第一绘制模块502、第二绘制模块503、确定模块504和规划模块505。各功能模块详细说明如下:
137.获取模块501,用于获取待清扫区域的环境地图,并根据所述环境地图确定所述待清扫区域的外边界和所述待清扫区域内的多个障碍物;
138.第一绘制模块502,用于根据所述外边界和所述障碍物边缘绘制轮廓线,生成所述外边界的边界轮廓线和所述障碍物的障碍物轮廓线;
139.第二绘制模块503,用于根据清扫机器人的清扫范围绘制多条在所述边界轮廓线内彼此不相交的目标线,所述清扫机器人的清扫范围为所述清扫机器人保持位置不变时能够清扫到的最大清扫面积;
140.确定模块504,用于确定所述目标线与所述边界轮廓线、所述障碍物轮廓线相交的多个交点;
141.规划模块505,用于根据所述多个交点、所述轮廓线、所述目标线规划所述清扫机器人的清扫路径,并控制所述清扫机器人按照所述清扫路径清扫所述待清扫区域。
142.进一步地,所述规划模块505具体用于:
143.确定所述交点的轮廓线相邻点和目标线对应点,所述目标线对应点为所述交点所在目标线另一端的交点,所述轮廓线相邻点为在所述轮廓线延伸方向上与所述交点相邻的两个交点;
144.根据所述清扫机器人的起始位置、所述交点的轮廓线相邻点和目标线对应点确定所述清扫路径的目标点序列;
145.根据所述目标点序列将所述轮廓线、所述目标线划分为多个子清扫路径;
146.控制所述清扫机器人沿所述多个子清扫路径清扫所述待清扫区域。
147.进一步地,所述规划模块505具体还用于:
148.a.确定与所述清扫机器人之间距离最近的所述目标线,作为起始目标线;
149.b.确定所述起始目标线两端的交点中,与所述清扫机器人距离较近的交点作为所述清扫路径的初始目标点,并进行标记;
150.c.确定所述初始目标点的目标线对应点是否为被标记的交点;
151.d.若所述初始目标点的目标线对应点不是被标记的交点,将所述初始目标点的目标线对应点作为第一目标点并进行标记;
152.e.确定所述第一目标点的两所述轮廓线相邻点是否为被标记的交点;
153.f.若所述第一目标点的其中一个轮廓线相邻点为被标记的交点,则所述第一目标
点另一未被标记的轮廓线相邻点作为第二目标点并进行标记;
154.g.将所述第二目标点作为所述初始目标点并循环c-g,直至所有交点均被标记过,以获得所述目标点序列。
155.进一步地,所述确定所述第一目标点的两所述轮廓线相邻点是否为被标记的交点之后,所述规划模块505具体还用于:
156.若所述第一目标点的两轮廓线相邻点均为未被标记的交点,则确定所述第一目标点所在目标线两侧的目标线数量;
157.选择所述目标线数量较少一侧的所述第一目标点的轮廓线相邻点,作为所述第二目标点并进行标记。
158.进一步地,所述确定所述第一目标点的两所述轮廓线相邻点是否为被标记的交点之后,所述规划模块505具体还用于:
159.若所述第一目标点的两轮廓线相邻点均为被标记的交点,且所述第一目标点的目标线对应点为被标记的交点,则确定所有未标记的交点;
160.在所述所有未标记的交点中确定与所述清扫机器人距离最远的交点,作为所述二目标点并进行标记。
161.进一步地,所述第一绘制模块502具体用于:
162.根据所述清扫机器人的清扫范围确定预设距离,所述预设距离需满足所述清扫机器人在清扫过程的安全需求;
163.沿所述外边界绘制所述边界轮廓线,所述边界轮廓线与所述外边界之间的距离为所述预设距离;
164.沿所述障碍物边缘绘制所述障碍物轮廓线,所述障碍物轮廓线与所述障碍物边缘之间的距离为所述预设距离。
165.进一步地,所述第二绘制模块503具体用于:
166.确定所述边界轮廓线中任一直线边,作为基准目标线;
167.在所述边界轮廓线内绘制多条与所述基准目标线平行的目标线,直至覆盖所述边界轮廓线内的环境区域,相邻两所述目标线之间的距离小于或者等于所述清扫范围所能达到的最长距离。
168.关于清扫机器人控制装置的具体限定可以参见上文中对于清扫机器人控制方法的限定,在此不再赘述。上述清扫机器人控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
169.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于环境地图、多个交点、轮廓线、目标线及清扫路径等。该计算机设备的网络接口用于与清扫机器人通过网络连接通信。该计算机程序被处理器执行时以实现一种
清扫机器人控制方法。
170.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
171.获取待清扫区域的环境地图,并根据所述环境地图确定所述待清扫区域的外边界和所述待清扫区域内的多个障碍物;
172.根据所述外边界和所述障碍物边缘绘制轮廓线,生成所述外边界的边界轮廓线和所述障碍物的障碍物轮廓线;
173.根据清扫机器人的清扫范围绘制多条在所述边界轮廓线内彼此不相交的目标线,所述清扫机器人的清扫范围为所述清扫机器人保持位置不变时能够清扫到的最大清扫面积;
174.确定所述目标线与所述边界轮廓线、所述障碍物轮廓线相交的多个交点;
175.根据所述多个交点、所述轮廓线、所述目标线规划所述清扫机器人的清扫路径,并控制所述清扫机器人按照所述清扫路径清扫所述待清扫区域。
176.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
177.获取待清扫区域的环境地图,并根据所述环境地图确定所述待清扫区域的外边界和所述待清扫区域内的多个障碍物;
178.根据所述外边界和所述障碍物边缘绘制轮廓线,生成所述外边界的边界轮廓线和所述障碍物的障碍物轮廓线;
179.根据清扫机器人的清扫范围绘制多条在所述边界轮廓线内彼此不相交的目标线,所述清扫机器人的清扫范围为所述清扫机器人保持位置不变时能够清扫到的最大清扫面积;
180.确定所述目标线与所述边界轮廓线、所述障碍物轮廓线相交的多个交点;
181.根据所述多个交点、所述轮廓线、所述目标线规划所述清扫机器人的清扫路径,并控制所述清扫机器人按照所述清扫路径清扫所述待清扫区域。
182.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
183.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
184.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献