位置确定方法、清洁机器人、清洁系统及存储介质与流程

未命名 09-22 阅读:117 评论: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.在所述清洁机器人的几何中心与所述基站的底边中心的距离不大于预设阈值的情况下,确定所述清洁机器人位于所述基站内部;
49.在某些实施方式中,获取所述清洁机器人的姿态信息;
50.根据所述姿态信息,对所述确定所述清洁机器人位于所述基站内部进行二次确认。
51.如此,可根据清洁机器人相对于基站的位置信息和姿态信息,确定清洁机器人是否位于基站的内部,在一定程度上减少了位置确定时的错误,防止清洁机器人损坏,提升清洁机器人的工作效率。
52.在某些实施方式中,所述根据所述姿态信息,对所述确定所述清洁机器人位于所述基站内部进行二次确认,包括:
53.在所述清洁机器人的倾角满足预设弧度的情况下,二次确认所述清洁机器人位于所述基站内部。
54.如此,可根据清洁机器人的倾角,二次确认清洁机器人与基站的位置关系,在一定程度上减少了位置确定时的错误。
55.本技术的清洁机器人,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述房间类别的识别方法。
56.本技术的清洁系统,包括基站以及所述清洁机器人。
57.本技术的计算机可读存储介质,存储有计算机程序,当所述计算机程序被一个或多个处理器执行时,实现上述房间分类模型的构建方法以及房间类别的识别方法。
58.本技术的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实施方式的实践了解到。
附图说明
59.本技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
60.图1是本技术清洁机器人的位置确定方法的流程示意图;
61.图2是本技术清洁机器人的位置确定方法的场景示意图;
62.图3是本技术清洁机器人的位置确定方法的流程示意图;
63.图4是本技术清洁机器人的位置确定方法的流程示意图;
64.图5是本技术清洁机器人的位置确定方法的流程示意图;
65.图6是本技术清洁机器人的位置确定方法的场景示意图;
66.图7是本技术清洁机器人的位置确定方法的流程示意图;
67.图8是本技术清洁机器人的位置确定方法的数据结构示意图;
68.图9是本技术清洁机器人的位置确定方法的场景示意图;
69.图10是本技术清洁机器人的位置确定方法的场景示意图;
70.图11是本技术清洁机器人的位置确定方法的流程示意图;
71.图12是本技术清洁机器人的位置确定方法的场景示意图;
72.图13是本技术清洁机器人的位置确定方法的流程示意图;
73.图14是本技术清洁机器人的位置确定方法的场景示意图
74.图15是本技术清洁机器人的位置确定方法的流程示意图;
75.图16是本技术清洁机器人的位置确定方法的场景示意图;
76.图17是本技术清洁机器人的位置确定方法的流程示意图;
77.图18是本技术清洁机器人的位置确定方法的流程示意图;
78.图19是本技术清洁机器人的位置确定方法的流程示意图;
79.图20是本技术清洁机器人的位置确定方法的场景示意图。
具体实施方式
80.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本技术的实施方式,而不能理解为对本技术的实施方式的限制。
81.人工智能技术推动了智能家居领域的发展,选择使用清洁机器人的家庭越来越多,对清洁机器人在不同户型中的适应性提出了更高的要求。目前,清洁机器人在开始清洁任务前,一般需要确认自身是否在基站内,从而执行不同的动作。相关技术中,主要根据清洁机器人充电片的连接情况判断清洁机器人是否在基站内。若清洁机器人在基站内但并未连接到充电片,则会误判机器人在基站外,导致清洁机器人在基站内直接开始任务的执行流程,可能伴随旋转、移动等动作。因此,可能造成清洁机器人的轮子卡入基站的清洗结构中而造成损坏。此外,充电片的连接情况还受用户移动清洁机器人动作的影响,若用户移动清洁机器人导致无法充电,可能影响此后的清洁效率。
82.基于上述可能遇到的问题,请参阅图1,本技术实施方式提供了一种清洁机器人的位置确定方法,方法包括:
83.01:获取清洁机器人的环境图像;
84.02:根据环境图像进行基站拟合,以匹配得到拟合基站;
85.03:根据拟合基站,确定清洁机器人相对于基站的位置。
86.本技术实施方式提供了一种清洁机器人的位置确定装置。本技术实施方式的清洁机器人的位置确定方法可以由本技术实施方式的清洁机器人的位置确定装置实现。具体地,位置确定装置包括获取模块、处理模块和确定模块。其中,获取模块用于获取清洁机器人的环境图像。处理模块用于根据环境图像进行基站拟合,以匹配得到拟合基站。确定模块用于根据拟合基站,确定清洁机器人相对于基站的位置。
87.本技术实施方式还提供了一种清洁机器人,清洁机器人包括存储器和处理器。本技术实施方式的清洁机器人的位置确定方法可以由本技术实施方式的清洁机器人实现。具体地,存储器中存储有计算机程序,处理器用于获取清洁机器人的环境图像,以及根据环境图像进行基站拟合,以匹配得到拟合基站,以及根据拟合基站,确定清洁机器人相对于基站的位置。
88.本技术实施方式还提供了一种清洁系统,包括基站以及本技术实施方式的清洁机器人。
89.具体地,清洁机器人可用于对地面进行自动清洁,应用场景可以包括家庭室内清洁、大型场所清洁等。清洁机器人的类型可包括有扫地机器人、拖地机器人、扫拖一体机器人等。一般地,在清洁机器人上,设有清洁组件和驱动装置。在驱动装置的驱动下,清洁机器人沿设定的清洁路径进行自移动,并通过清洁组件清洁地面。
90.本技术清洁机器人的位置确定方法,首先需获取清洁机器人的环境图像,环境图像可以通过清洁机器人上的传感器获取。在一个示例中,环境图像可以是雷达采集到的点云图像。雷达可以为激光雷达,激光雷达设置在清洁机器人主体的顶部。在工作时,激光雷达转动对周围环境进行扫描,通过发射器发射激光信号,激光信号被障碍物反射,通过接收器接收。进一步,通过对接收到的由障碍物反射的激光信号进行分析,可得到周围的环境信息,例如障碍物相对于激光雷达或者说清洁机器人的距离和角度等。此外,在其他示例中,也可用摄像头替代激光雷达,通过对摄像头拍摄的图像进行分析,也可得到障碍物相对于清洁机器人的距离、角度等,本技术对所用传感器的种类不作限制。如图2所示,为清洁机器人的环境图像,其中白色圆形部分示意清洁机器人,周边点状线即获取到的点云数据。
91.进一步地,对环境图像中的环境数据进行拟合处理,如环境图像是激光雷达采集到的点云图像时,环境数据即为点云图像中各点的数据,包括三维坐标信息等。将环境图像中的环境数据进行基站拟合,基站拟合的结果需要与基站轮廓的实际数据进行匹配,得到虚拟基站轮廓的图像,即拟合基站。拟合基站可用于标记环境图像中的基站的轮廓。
92.得到拟合基站后,可根据拟合后的环境图像中清洁机器人图像与拟合基站的图像之间的相对位置关系,推断在实际场景中清洁机器人相对于基站的位置。
93.综上,本技术实施方式的位置确定方法、位置确定装置、清洁机器人及清洁系统中,根据获取到的清洁机器人的环境数据来拟合出虚拟基站区域,从而根据虚拟基站与清洁机器人的位置关系来确认在实际环境中清洁机器人的位置,从而确认清洁机器人是否位于基站内,相较于相关技术中,通过清洁机器人与充电片的连接状态来确认清洁机器人是否位于基站内的方式,位置判断更加准确,为后续的清洁任务提供基础。
94.在某些实施方式中,请参阅图3,步骤01包括:
95.011:通过清洁机器人的传感器在当前位置处环绕扫描获取多帧点云数据;和/或
96.步骤01之后还包括:
97.012:将多帧点云数据转为清洁机器人坐标系下的点数组。
98.在某些实施方式中,获取模块用于通过清洁机器人的传感器在当前位置处环绕扫描获取多帧点云数据,和/或将多帧点云数据转为清洁机器人坐标系下的点数组。
99.在某些实施方式中,处理器用于通过清洁机器人的传感器在当前位置处环绕扫描获取多帧点云数据,和/或将多帧点云数据转为清洁机器人坐标系下的点数组。
100.具体地,清洁机器人的传感器包括信号发射器和信号接收器,如包含激光信号发射器和激光信号接收器的激光雷达。清洁机器人上的激光雷达通过旋转的方式,环绕扫描当前清洁机器人所处的环境。例如,激光雷达在360
°
范围内,每旋转一定角度即可获取一帧点云数据。在某些实施方式中,若获取点云数据时旋转角度的梯度是1
°
,则在激光雷达进行360
°
环绕扫描后,最终可得到包含360帧的多帧点云数据。其中,清洁机器人的传感器发射两次信号获取点云数据之间的旋转角度可根据实际场景需要确定,具体取值在此不作限定。
101.在获取到0-360
°
范围内的多帧点云数据后,需以清洁机器人为原点建立清洁机器人坐标系。根据点云数据的数值,如以清洁机器人传感器为中心的三维坐标值,将多帧点云数据转化为清洁机器人坐标系下的点数组。
102.如此,可将通过清洁机器人的传感器得到的多帧点云数据转化为清洁机器人坐标系下的点数组,以便后续对点云数据的拟合处理过程。
103.在某些实施方式中,请参阅图4,步骤02包括:
104.021:遍历多帧点云数据,对多帧点云数据进行筛选处理,得到筛选点集;
105.022:对筛选点集进行线段拟合处理,得到多条拟合线段;
106.023:根据多条拟合线段进行基站拟合,以匹配得到拟合基站。
107.在某些实施方式中,处理模块用于遍历多帧点云数据,对多帧点云数据进行筛选处理,得到筛选点集以及对筛选点集进行线段拟合处理,得到多条拟合线段,以及根据多条拟合线段进行基站拟合,以匹配得到拟合基站。
108.在某些实施方式中,处理器用于遍历多帧点云数据,对多帧点云数据进行筛选处理,得到筛选点集以及对筛选点集进行线段拟合处理,得到多条拟合线段,以及根据多条拟合线段进行基站拟合,以匹配得到拟合基站。
109.具体地,获取到由多帧点云数据构成的清洁机器人的环境图像后,需要对多帧点云数据进行筛选处理。在一些示例中,筛选机制可以是,遍历多帧点云数据中的每一个点,将点云中与其余各点距离较大的点舍去,留下的点即可构成筛选点集,也即去除相对离散的点。
110.对多帧点云数据进行筛选得到筛选点集后,需要对筛选点集上的点进行拟合处理。拟合处理过程可以理解为,将距离相近且大约处于一条直线上的点用一个拟合线段表示。
111.在实际场景中,清洁机器人的传感器周围可能存在用于固定的不透明结构,如支架等,也可能由于激光发射器和接收器位置差异,导致部分区域不存在点云数据。则对筛选
点集进行线段拟合处理后,得到的结果是多条中间不连续的拟合线段。
112.得到多条拟合线段后,将拟合线段与实际场景下基站的轮廓进行对比,并将根据匹配程度选取至少部分拟合线段构成拟合基站,以便判断清洁机器人与拟合基站的相对位置关系。
113.如此,可对点云数据进行拟合处理,并将得到的拟合线段与基站进行匹配,得到拟合基站,以便通过清洁机器人与拟合基站的相对位置关系,判断清洁机器人相对于基站的位置。
114.在某些实施方式中,请参阅图5,步骤021包括:
115.0211:筛选多帧点云数据中与清洁机器人的几何中心的距离不大于预设距离的点列入筛选点集。
116.在某些实施方式中,处理模块用于筛选多帧点云数据中与清洁机器人的几何中心的距离不大于预设距离的点列入筛选点集。
117.在某些实施方式中,处理器用于筛选多帧点云数据中与清洁机器人的几何中心的距离不大于预设距离的点列入筛选点集。
118.具体地,获取到由多帧点云数据构成的清洁机器人的环境图像后,遍历多帧点云数据中的每一个点。将与清洁机器人几何中心的距离不大于预设距离的点列入筛选点集,与清洁机器人几何中心的距离大于预设距离的点作为噪点去除,且不参与后续线段拟合处理过程。其中,预设距离一般取与基站实际长度相差不大的值,例如,若基站长度尺寸为0.4米时,可选取预设距离约为0.6米。如图2所示,在图中边缘距离清洁机器人较远的点将作为噪点去除,最终得到如图6所示的仅包含筛选点集的图像。
119.在对多帧点云数据进行筛选得到筛选点集的过程中,当点与清洁机器人几何中心的距离大于一定阈值时,可以认为被扫描物体可能不是基站,或距离清洁机器人太远。为了避免参与后续的线段拟合处理过程而导致拟合结果不佳,当前点不能作为有效点列入筛选点集。
120.如此,在进行拟合处理前,需要对多帧点云数据进行筛选,并将满足距离要求的点列入筛选点集中,以便进行线段拟合过程。
121.在某些实施方式中,请参阅图7,步骤022包括:
122.0221:设置预设队列;
123.0222:确定预设初始方向,将筛选点集的第一个点置入预设队列;
124.0223:开始遍历筛选点集,计算当前点与已置入预设队列的最后一点的间距;
125.0224:在间距小于或等于预设距离阈值的情况下,将当前点置入预设队列,继续遍历筛选点集;
126.0225:在间距大于预设距离阈值的情况下,根据预设拟合算法对预设队列中的点进行拟合处理,得到拟合线段并对拟合线段进行缓存,清空预设队列,并将间距大于预设距离阈值的点置入预设队列,继续遍历筛选点集;
127.0226:直至遍历完成筛选点集,得到多条拟合线段。
128.在某些实施方式中,处理模块用于设置预设队列,以及确定预设初始方向,将筛选点集的第一个点置入预设队列,以及开始遍历筛选点集,计算当前点与已置入预设队列的最后一点的间距,以及在间距小于或等于预设距离阈值的情况下,将当前点置入预设队列,
继续遍历筛选点集,以及在间距大于预设距离阈值的情况下,根据预设拟合算法对预设队列中的点进行拟合处理,得到拟合线段并对拟合线段进行缓存,清空预设队列,并将间距大于预设距离阈值的点置入预设队列,继续遍历筛选点集,以及直至遍历完成筛选点集,得到多条拟合线段。
129.在某些实施方式中,处理器用于设置预设队列,以及确定预设初始方向,将筛选点集的第一个点置入预设队列,以及开始遍历筛选点集,计算当前点与已置入预设队列的最后一点的间距,以及在间距小于或等于预设距离阈值的情况下,将当前点置入预设队列,继续遍历筛选点集,以及在间距大于预设距离阈值的情况下,根据预设拟合算法对预设队列中的点进行拟合处理,得到拟合线段并对拟合线段进行缓存,清空预设队列,并将间距大于预设距离阈值的点置入预设队列,继续遍历筛选点集,以及直至遍历完成筛选点集,得到多条拟合线段。
130.具体地,对筛选点集进行线段拟合处理,首先需要设置一个预设队列,并将该预设队列的所有元素进行初始化,得到空队列。如图8中,展示了一个拥有n个元素的空队列。
131.对于预设的空队列,需确定该队列的初始方向,以便后续过程中各点的置入和移除。如图8所示的空队列中,可用"front"标定空队列起始点,用"rear"标定空队列的终点,以确定初始方向,即图中用箭头表示。队列的数据结构特征在于,需从队列尾部置入点,移除点时需要从队列头部进行移除。
132.确定队列方向后,开始遍历筛选点集。遍历图6中的各点进行筛选点集过程中,可将遍历到的当前点置入空队列的队尾处,并计算当前点与已置入预设队列的最后一点之间的距离。
133.若计算得到两点之间的距离小于或等于一定阈值,则当前遍历的点置入队列中,并继续上述对点云的遍历过程。其中,阈值一般选取较小的值,如1厘米或更小的数值。距离较大的两点可能不属于同一物体。并且,当两个点之间的距离较大却仍被筛选置入同一队列中时,可能导致后续拟合过程不准确。
134.若计算得到两点之间的距离大于一定阈值,则可根据预设拟合算法,对当前已经置入预设对列中的点进行拟合处理,并缓存拟合处理得到的拟合线段。其中,预设拟合算法可包括最小二乘法,具体拟合算法在此不作限定。如图9中的左侧,得到一条拟合线段并缓存。
135.在得到一条拟合线段后,需清空预设队列,以便后续将计算得到间距大于阈值的点置入清空后的队列中,作为拟合形成新的拟合线段的第一个依据点,并继续上述对点云的遍历过程。
136.特别地,对于拟合线段过程中使用的预设队列,本实施方式中,在得到拟合线段后将预设队列中的数据清除,以便该队列存储下一个线段拟合过程的点云数据。此外,在某些示例中,可以采用重新预设新的空队列的方式,存储点云数据,具体存储方式可根据清洁机器人处理器的运行能力确定,在此不作限定。
137.最后,当对点云中所有点的遍历结束,如图10所示,可得到多条拟合线段。也即是,当遍历过程遇到与前一遍历点的距离大于阈值的点时,该点不会加入前一个遍历点所在的拟合线段中,而是脱离上一条拟合线段,作为新的拟合线段的第一个点。因此,在线段拟合处理过程中,一般情况下会出现多条不连续的线段。
138.如此,可通过遍历点云中所有点的方法,将距离小于一定值的点拟合成线段,最终生成多条不连续的线段,以便根据线段得到拟合基站。
139.在某些实施方式中,请参阅图11,步骤023包括:
140.0231:对多条拟合线段进行合并处理,得到多条合并线段;
141.0232:根据多条合并线段进行基站拟合,以匹配得到拟合基站。
142.在某些实施方式中,处理模块用于对多条拟合线段进行合并处理,得到多条合并线段,以及根据多条合并线段进行基站拟合,以匹配得到拟合基站
143.在某些实施方式中,处理器用于对多条拟合线段进行合并处理,得到多条合并线段,以及根据多条合并线段进行基站拟合,以匹配得到拟合基站。
144.具体地,在对多帧点云数据完成线段拟合后,可得到多条拟合线段。如图9所示,可能存在两条及以上的线段近似处在同一直线上。由于在前序步骤筛选多帧点云数据得到筛选点集的过程中,已经对点与清洁机器人几何中心之间的距离进行了限制,则在完成线段拟合后,近似处在同一条直线上的多条线段可以被推测为共同属于基站。可将图10中多条近似处在同一条直线上的多条线段进行合并处理,最终可得到如图12所多条合并线段。
145.对多条拟合线段合并处理得到的每一条合并线段,均可能代表基站的一部分轮廓。可将多条合并线段进行基站拟合。基站拟合即是将合并线段与实际场景下基站的长宽数据进行拟合的过程。最终可匹配得到拟合基站。
146.如此,可对拟合线段进行合并处理,并根据合并处理得到的多条合并线段进行拟合,匹配得到拟合基站,以便判断清洁机器人与拟合基站的相对位置关系,最终确定清洁机器人相对基站的位置。
147.请参阅图13,步骤0231包括:
148.02311:对多条拟合线段中满足斜率预设条件且位置相邻的拟合线段分别进行累计合并处理,得到多条预合并线段;
149.02312:根据基站的尺寸信息,将多条预合并线段中满足长度预设条件的预合并线段确定为合并线段,以得到多条合并线段。
150.在某些实施方式中,处理模块用于对多条拟合线段中斜率满足预设条件且位置相邻的拟合线段分别进行累计合并处理,得到多条预合并线段,以及根据基站的尺寸信息,将多条预合并线段中长度满足预设条件的预合并线段确定为合并线段,以得到多条合并线段。
151.在某些实施方式中,处理器用于对多条拟合线段中斜率满足预设条件且位置相邻的拟合线段分别进行累计合并处理,得到多条预合并线段,以及根据基站的尺寸信息,将多条预合并线段中长度满足预设条件的预合并线段确定为合并线段,以得到多条合并线段。
152.具体地,在对多条拟合线段进行合并处理之前,需对线段的各项属性进行判断。首先,判断多条拟合线段所处直线的方向是否满足要求。当多条拟合线段的斜率满足斜率预设条件,则可以判断为处在同一直线上。其中,斜率预设条件可以是在清洁机器人坐标下,存在两条或两条以上的拟合线段的斜率相近,且斜率误差微小,在一定区间内。并且,在所处直线方向上,两条拟合线段的位置相邻。如图14所示,展示的是图10左侧部分图像,其中线段l1和线段l2的斜率相近,且在所处直线方向上,线段l1的下端点与线段l2的上端点之间不存在其他线段,即位置相邻。
153.进一步地,可将满足上述预设条件的多条拟合线段进行累积合并处理。例如,当存在满足预设条件的线段l1、线段l2和线段l3,累积合并处理则表示,需将合并处理线段l1、线段l2得到的较长的线段与线段l3进行进一步合并。当所有满足预设条件的线段进行累积合并处理后,可得到多条预合并线段。
154.可以理解地,当清洁机器人所处环境较为复杂时,可得到多条预合并线段,但并不是所有的预合并线段都能够代表基站。此时需要根据清洁机器人存储的基站尺寸信息,最终确定合并线段。其中,长度预设条件可以是预合并线段与清洁机器人存储的基站长度或宽度相差不大。则满足长度预设条件的预合并线段可确定为合并线段,得到多条合并线段。
155.如此,可对满足斜率预设条件的拟合线段进行合并处理,并将合并处理得到的预合并线段中满足长度预设条件的确定为合并线段,以便通过基站拟合得到拟合基站。
156.在某些实施方式中,请参阅图15,步骤0232包括:
157.02321:根据基站的尺寸信息,在多条合并线段中确定一线段对,以匹配基站的两侧边;
158.02322:根据线段对,在多条合并线段中确定与线段对满足预设关系的第一线段,以匹配基站的底边;
159.02323:计算可包围线段对及第一线段的最小包围区域,并确定最小矩形包围区域的开口方向,以得到拟合基站。
160.在某些实施方式中,处理模块用于根据基站的尺寸信息,在多条合并线段中确定一线段对,以匹配基站的两侧边,以及根据线段对,在多条合并线段中确定与线段对满足预设关系的第一线段,以匹配基站的底边,以及计算可包围线段对及第一线段的最小包围区域,并确定最小矩形包围区域的开口方向,以得到拟合基站。
161.在某些实施方式中,处理器用于根据基站的尺寸信息,在多条合并线段中确定一线段对,以匹配基站的两侧边,以及根据线段对,在多条合并线段中确定与线段对满足预设关系的第一线段,以匹配基站的底边,以及计算可包围线段对及第一线段的最小包围区域,并确定最小矩形包围区域的开口方向,以得到拟合基站。
162.具体地,可根据清洁机器人存储的基站尺寸信息,将斜率相近,且中心点之间的距离与基站宽度相近的两条线段,确定为匹配基站两侧边的线段对。在某些示例中,斜率相近的两条线段的斜率差阈值一般不大于0.1,距离与基站的宽度差值一般不大于实际宽度值的十分之一,具体斜率差和宽度差的值在此不作限定。
163.进一步地,在确定匹配到基站侧边的线段对后,可在多条合并线段中,将满足预设关系的线段确定为第一线段。第一线段可与基站的底边匹配。第一线段需满足的预设关系为,与基站侧边对应的线段对近似垂直,如图12所示,顶部水平的线段即为第一线段。判断标准可以是,当前合并线段的斜率与垂直于对应基站的两侧边的线段对的方向的斜率差值较小,如斜率差值不大于0.1等。斜率差的具体阈值在此不作限定。
164.在确定与基站的两侧边相匹配的线段对,以及与线段对近似垂直且与基站底边相匹配的第一线段后,可计算包围上述线段对和第一线段的最小包围区域。其中,最小包围区域设置为矩形。如图16所示,图中矩形框即为最小矩形包围区域,图中右下角的线段无法满足基站侧边线段对或第一线段的具体要求,故不参与最小矩形包围区域的计算。
165.可以理解地,在上述计算得到的最小矩形包围区域中,第一线段指向其对边的方
向为开口方向,可对应基站的开口方向。最终,可将确定了开口方向的最小矩形包围区域确定为拟合基站。
166.如此,可根据基站的尺寸信息,匹配得到与基站三条边对应的合并线段,最终可将得到的开口方向确定的矩形区域确定为拟合基站,以便判断清洁机器人与拟合基站的相对位置关系。
167.在某些实施方式中,请参阅图17,步骤03包括:
168.031:根据拟合基站或清洁机器人构建坐标系;
169.032:计算清洁机器人在坐标系中相对于拟合基站的位姿,以确定清洁机器人相对于基站的位置。
170.在某些实施方式中,确定模块用于根据拟合基站或清洁机器人构建坐标系,以及计算清洁机器人在坐标系中相对于拟合基站的位姿,以确定清洁机器人相对于基站的位置。
171.在某些实施方式中,处理器用于根据拟合基站或清洁机器人构建坐标系,以及计算清洁机器人在坐标系中相对于拟合基站的位姿,以确定清洁机器人相对于基站的位置。
172.具体地,在确定拟合基站后,可根据拟合基站或清洁机器人构建坐标系。为了方便确定清洁机器人与基站的位置关系,如图16所示,构建坐标系的方法可以是,以拟合基站的底边,即第一线段的中点为原点,在水平面上,以与拟合基站的底边垂直的直线的方向为坐标系x轴,以拟合基站的底边所在直线作为坐标系y轴。相类似地,还可将清洁机器人作为建立坐标系的依据,如以清洁机器人的几何中心作为坐标原点构建坐标系。构建坐标系坐标原点和坐标系的选取方式在此不作限定。
173.在确立坐标系后,可根据清洁机器人和拟合基站的坐标,计算清洁机器人在构建的坐标系中相对于拟合基站的位姿。其中,位姿包括相对位置关系和清洁机器人的姿态信息。最终,可根据位姿信息确定清洁机器人相对于基站的位置,即判断清洁机器人是否位于基站内部。
174.如此,可通过建立坐标系,计算拟合基站和清洁机器人的坐标关系,确定清洁机器人相对于基站的位置,以便清洁机器人能够根据与基站的位置关系进行合适的工作。
175.请参阅图18,在某些实施方式中,方法还包括:
176.04:根据清洁机器人相对于基站的位置,计算清洁机器人的几何中心与基站的底边中心的距离;
177.05:在清洁机器人的几何中心与基站的底边中心的距离不大于预设阈值的情况下,确定清洁机器人位于基站内部;
178.06:获取清洁机器人的姿态信息;
179.07:根据姿态信息,对确定清洁机器人位于基站内部进行二次确认。
180.本技术实施方式的清洁机器人的位置确定装置还包括计算模块和确认模块。包括上述清洁机器人的位置确定装置的确定模块和获取模块,其中,计算模块用于根据清洁机器人相对于基站的位置,计算清洁机器人的几何中心与基站的底边中心的距离。确定模块用于在清洁机器人的几何中心与基站的底边中心的距离不大于预设阈值的情况下,确定清洁机器人位于基站内部。获取模块用于获取清洁机器人的姿态信息。确认模块用于根据姿态信息,对确定清洁机器人位于基站内部进行二次确认。
181.在某些实施方式中,处理器用于根据清洁机器人相对于基站的位置,计算清洁机器人的几何中心与基站的底边中心的距离,以及在清洁机器人的几何中心与基站的底边中心的距离不大于预设阈值的情况下,确定清洁机器人位于基站内部,以及获取清洁机器人的姿态信息,以及根据姿态信息,对确定清洁机器人位于基站内部进行二次确认。
182.具体地,在建立坐标系后,首先可根据清洁机器人与拟合基站的坐标,计算清洁机器人的几何中心与基站的底边中心的距离。当计算得到的距离数值不大于预设阈值的情况下,可初步确定清洁机器人位于基站内部。用于判断清洁机器人是否在基站内部的预设阈值一般设置为比基站两侧边长度一半左右的数值,例如基站两侧边的长度为50厘米时,可将预设阈值设为25厘米,具体预设阈值在此不作限定。
183.特别地,前述步骤中确认为拟合基站的矩形包围区域还存在无法与基站匹配的可能性,例如,在实际场景中,当清洁机器人几何中心与拟合基站的底边之间的距离小于预设阈值时,拟合基站可能对应一个类似于基站结构的洞口,而不对应基站,则需要判断清洁机器人实际位于基站外部。
184.在某些示例中,清洁机器人在基站内固定时,机体一般与基站底面存在一定夹角。可获取清洁机器人相对于拟合基站的姿态信息,确定清洁机器人与基站底面的夹角是否满足在基站内(例如:固定充电时)的姿态,据此对清洁机器人是否位于基站内部进行二次确认,一定程度上减少了位置确定时的错误。
185.如此,可根据清洁机器人相对于基站的位置信息和姿态信息,确定清洁机器人是否位于基站的内部,在一定程度上减少了位置确定时的错误,防止清洁机器人损坏,提升清洁机器人的工作效率。
186.请参阅图19,在某些实施方式中,步骤07包括:
187.071:在清洁机器人的倾角满足预设弧度的情况下,二次确认清洁机器人位于基站内部。
188.在某些实施方式中,确认模块用于在清洁机器人的倾角满足预设弧度的情况下,二次确认清洁机器人位于基站内部。
189.在某些实施方式中,处理器用于在清洁机器人的倾角满足预设弧度的情况下,二次确认清洁机器人位于基站内部。
190.具体地,在对清洁机器人是否位于基站内部进行二次确认的过程中,需确认清洁机器人的倾角是否满足预设弧度。预设弧度指清洁机器人在基站内固定的情况下相对于基站底面的倾角,一般设置为较小的弧度范围,如图20所示。在某些示例中,预设弧度可设为0.07~0.2弧度,倾角弧度范围边界的具体值在此不作限定。
191.对清洁机器人倾角的测量可使用惯性测量单元(imu)等结构,惯性测量单元可测量物体三轴姿态角。
192.当清洁机器人的倾角满足预设弧度的情况下,二次确认的结果为,清洁机器人位于基站内部。反之,当清洁机器人的倾角不满足预设弧度,即小于弧度范围的最小值或大于弧度范围的最大值时,根据位置关系判断清洁机器人位于基站内部属于误判断,二次确认的结果为,清洁机器人位于基站外部。
193.如此,可根据清洁机器人的倾角,二次确认清洁机器人与基站的位置关系,在一定程度上减少了位置确定时的错误。
194.本技术还提供了一种计算机可读存储介质,存储有计算机程序,当计算机程序被一个或多个处理器执行时,实现上述以及清洁机器人的位置确定制的方法。
195.在本说明书的描述中,参考术语“具体地”、“进一步地”、“特别地”、“可以理解地”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不预定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
196.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
197.尽管上面已经示出和描述了本技术的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施方式进行变化、修改、替换和变型。

技术特征:
1.一种清洁机器人的位置确定方法,其特征在于,包括:获取所述清洁机器人的环境图像;根据所述环境图像进行基站拟合,以匹配得到拟合基站,其中所述拟合基站用于标记所述环境图像中的基站的轮廓;根据所述拟合基站,确定所述清洁机器人相对于基站的位置。2.根据权利要求1所述的方法,其特征在于,所述获取所述清洁机器人的环境图像,包括:通过所述清洁机器人的传感器在当前位置处环绕扫描获取多帧点云数据;和/或,所述获取所述清洁机器人的环境图像,之后还包括:将多帧所述点云数据转为所述清洁机器人坐标系下的点数组。3.根据权利要求2所述的方法,其特征在于,所述根据所述环境图像进行基站拟合,以匹配得到拟合基站,包括:遍历多帧所述点云数据,对多帧所述点云数据进行筛选处理,得到筛选点集;对所述筛选点集进行线段拟合处理,得到多条拟合线段;根据多条所述拟合线段进行基站拟合,以匹配得到所述拟合基站。4.根据权利要求3所述的方法,其特征在于,所述遍历多帧所述点云数据,对多帧所述点云数据进行筛选处理,得到筛选点集,包括:筛选多帧所述点云数据中与所述清洁机器人的几何中心的距离不大于预设距离的点列入所述筛选点集。5.根据权利要求3所述的方法,其特征在于,对所述筛选点集进行线段拟合处理,得到多条拟合线段,包括:设置预设队列;确定预设初始方向,将所述筛选点集的第一个点置入所述预设队列;开始遍历所述筛选点集,计算当前点与已置入所述预设队列的最后一点的间距;在所述间距小于或等于预设距离阈值的情况下,将所述当前点置入所述预设队列,继续遍历所述筛选点集;在所述间距大于所述预设距离阈值的情况下,根据预设拟合算法对所述预设队列中的点进行拟合处理,得到所述拟合线段并对所述拟合线段进行缓存,清空所述预设队列,并将所述间距大于所述预设距离阈值的点置入所述预设队列,继续遍历所述筛选点集;直至遍历完成所述筛选点集,得到多条所述拟合线段。6.根据权利要求3所述的方法,其特征在于,所述根据多条所述拟合线段进行基站拟合,得到所述拟合基站,包括:对多条所述拟合线段进行合并处理,得到多条合并线段;根据多条所述合并线段进行基站拟合,以匹配得到所述拟合基站。7.根据权利要求6所述的方法,其特征在于,所述对多条所述拟合线段进行合并处理,得到多条合并线段,包括:对多条所述拟合线段中满足斜率预设条件且位置相邻的所述拟合线段分别进行累计合并处理,得到多条预合并线段;根据所述基站的尺寸信息,将多条所述预合并线段中满足长度预设条件的所述预合并
线段确定为所述合并线段,以得到多条所述合并线段。8.根据权利要求7所述的方法,其特征在于,所述根据所述多条合并线段进行基站拟合,以匹配得到所述拟合基站,包括:根据所述基站的尺寸信息,在多条所述合并线段中确定一线段对,以匹配所述基站的两侧边;根据所述线段对,在多条所述合并线段中确定与所述线段对满足预设关系的第一线段,以匹配所述基站的底边;计算可包围所述线段对及所述第一线段的最小包围区域,并确定所述最小矩形包围区域的开口方向,以得到所述拟合基站。9.根据权利要求8所述的方法,其特征在于,所述根据所述拟合基站,确定所述清洁机器人相对于基站的位置,包括:根据所述拟合基站或清洁机器人构建坐标系;计算所述清洁机器人在所述坐标系中相对于所述拟合基站的位姿,以确定所述清洁机器人相对于基站的位置。10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:根据所述清洁机器人相对于所述基站的位置,计算所述清洁机器人的几何中心与所述基站的底边中心的距离;在所述清洁机器人的几何中心与所述基站的底边中心的距离不大于预设阈值的情况下,确定所述清洁机器人位于所述基站内部;获取所述清洁机器人的姿态信息;根据所述姿态信息,对所述确定所述清洁机器人位于所述基站内部进行二次确认。11.根据权利要求10所述的方法,其特征在于,所述根据所述姿态信息,对所述确定所述清洁机器人位于所述基站内部进行二次确认,包括:在所述清洁机器人的倾角满足预设弧度的情况下,二次确认所述清洁机器人位于所述基站内部。12.一种清洁机器人,其特征在于,所述清洁机器人包括存储器与处理器,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-11任一项所述的方法。13.一种清洁系统,其特征在于,包括基站以及如权利要求12所述的清洁机器人。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被一个或多个处理器执行时,实现如权利要求1-11任一项所述的方法。

技术总结
本申请公开了一种清洁机器人的位置确定方法,包括:获取清洁机器人的环境图像;根据环境图像进行基站拟合,以匹配得到拟合基站;根据拟合基站,确定清洁机器人相对于基站的位置。本申请实施方式的位置确定方法,根据获取到的清洁机器人的环境数据来拟合出虚拟基站区域,从而根据虚拟基站与清洁机器人的位置关系来确认在实际环境中清洁机器人的位置,从而确认清洁机器人是否位于基站内,相较于相关技术中,通过清洁机器人与充电片的连接状态来确认清洁机器人是否位于基站内的方式,位置判断更加准确,为后续的清洁任务提供基础。为后续的清洁任务提供基础。为后续的清洁任务提供基础。


技术研发人员:陈依然
受保护的技术使用者:云鲸智能创新(深圳)有限公司
技术研发日:2023.05.16
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐