机器人的定位方法及装置、电子设备、存储介质与流程

文档序号:31051999发布日期:2022-08-06 07:50阅读:92来源:国知局
机器人的定位方法及装置、电子设备、存储介质与流程
机器人的定位方法及装置、电子设备、存储介质
1.本技术为申请号为201811268293.6的分案申请,原申请日为2018年10月29日,发明创造名称为:机器人的定位方法及装置、电子设备、存储介质。
技术领域
2.本公开涉及机器人技术领域,尤其涉及一种机器人的定位方法及装置、电子设备、存储介质。


背景技术:

3.随着技术的发展,出现了多种多样的具有自主移动功能的机器人,比如自动扫地机器人、自动拖地机器人等自动清洁设备。自动清洁设备可通过主动感知周边环境来自动地执行清洁操作。例如,相关技术中通过slam(simultaneous location and mapping,即时定位与地图构建)来构建当前需进行清洁的环境的地图,并根据构建出的地图执行清洁操作。
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.获取子单元,获取三维环境构图,所述三维环境构图由所述历史图像数据与所述
历史位姿信息构建得到;
61.第二确定子单元,基于所述三维环境构图确定对应于所述当前图像数据的位姿信息;
62.第三定位子单元,根据确定出的位姿信息对所述机器人在环境地图中的当前位置进行定位。
63.可选的,所述三维环境构图为预先根据采集到的所述历史图像数据与所述历史位姿信息而构建得到;或者,所述三维环境构图为在确定出匹配于所述当前图像数据的历史图像数据后,基于所述历史图像数据与所述历史位姿信息而构建得到。
64.可选的,还包括:
65.判定单元,判定所述当前位姿信息是否存在错误;
66.修正单元,当判定所述当前位姿信息存在错误时,利用所述历史位姿信息对所述当前位姿信息进行修正。
67.可选的,所述判定单元包括:
68.第一判定子单元,当当前所述测距单元被遮挡或所述机器人打滑时,判定所述当前位姿信息存在错误。
69.可选的,所述判定单元包括:
70.第二判定子单元,当所述当前位姿信息与所述历史位姿信息中的任一均不相匹配时,判定所述当前位姿信息存在错误。
71.可选的,还包括:
72.统计单元,在所述机器人执行特定操作的移动过程中,查找与所述图像采集单元采集到的图像数据相匹配的历史图像数据,并统计相应的匹配次数;
73.删除单元,当任一历史图像数据的匹配次数与执行所述特定操作的次数的比例小于预设阈值时,删除所述任一历史图像数据以及所述机器人在所述任一历史图像数据被采集时所对应的位姿信息。
74.可选的,所有历史图像数据与历史位姿信息存储于预设数据库中;所述装置还包括:空旷区域确定单元,当接收到针对所述预设数据库的更新指令时,根据所述机器人在移动过程中构建出的地图确定空旷区域;
75.更新单元,在所述空旷区域内通过所述图像采集单元采集图像数据以及相应的位姿信息,以更新所述预设数据库。
76.可选的,所述机器人针对不同的场景类型配置有对应的清洁策略;所述装置还包括:
77.策略调整单元,在所述机器人执行清洁操作的过程中,根据针对所述图像采集单元采集到的图像数据的场景识别结果,采取相应的清洁策略进行清洁。
78.可选的,所述图像数据确定单元包括:
79.第一图像数据确定子单元,当所述当前图像数据与所述历史图像数据之间的相似度超过预设阈值时,确定所述历史图像数据与所述当前图像数据相匹配。
80.可选的,所述图像数据确定单元包括:
81.第二图像数据确定子单元,当所述当前图像数据与所述历史图像数据中均包含一个或多个同一被采集对象时,确定所述历史图像数据与所述当前图像数据相匹配。
82.可选的,所述历史位姿信息与所述历史图像数据具有映射关系。
83.可选的,所述映射关系在所述机器人构建环境地图的过程中形成。
84.可选的,确定所述历史位姿信息中与所述当前位姿信息相匹配的目标历史位姿信息包括:将历史位姿信息与当前位姿信息逐一进行比较,将与当前位姿信息接近或相同的历史位姿信息作为所述目标历史位姿信息。
85.可选的,所述接近包括历史位姿信息中的距离与当前位姿信息中包含的距离的差值在预设距离阈值内。
86.可选的,所述接近包括历史位姿信息中的角度与当前位姿信息中包含的角度的差值在预设角度阈值内。
87.根据本公开实施例的第三方面,提供一种机器人,所述机器人配置有图像采集单元和测距单元;所述机器人还包括:
88.处理器;
89.用于存储处理器可执行指令的存储器;
90.其中,所述处理器通过运行所述可执行指令以实现如上任一项所述的方法。
91.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上任一项所述方法的步骤。
92.本公开的实施例提供的技术方案可以包括以下有益效果:
93.由上述实施例可知,本公开通过在带有测距单元的机器人上配置图像采集单元,使得机器人在移动过程中可采集图像数据,并与采集图像数据时的位姿信息建立映射关系。那么在后续的移动过程中,可将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,并与通过测距单元确定出的当前位姿信息共同作为依据,对机器人的当前位置进行定位,从而提高机器人自身定位的准确度,进一步提升机器人的工作效率。
94.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
95.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
96.图1是根据一示例性实施例示出的一种机器人发生劫持事件的示意图。
97.图2是一示例性实施例示出的一种机器人的定位方法的流程图。
98.图3-4是一示例性实施例示出的另一种机器人的定位方法的流程图。
99.图5是一示例性实施例示出的一种机器人的重定位方法的流程图。
100.图6是一示例性实施例示出的另一种机器人的重定位方法的流程图。
101.图7是一示例性实施例示出的一种校验当前位姿信息的流程图。
102.图8是根据一示例性实施例示出的一种自动清洁设备执行清洁操作的流程图。
103.图9是根据一示例性实施例示出的一种机器人的定位装置的框图。
104.图10-21是根据一示例性实施例示出的另一种机器人的定位装置的框图。
105.图22是根据一示例性实施例示出的一种用于机器人的定位装置的结构示意图。
具体实施方式
106.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
107.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
108.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
109.在相关技术中,以扫地机器人为例:通常在扫地机器人上配置lds(laser distance sensor,激光测距传感器)并利用slam算法在清洁过程中进行定位。然而,通过lds进行定位,一方面定位的准确度较低;另一方面当扫地机器人被劫持时可能存在利用lds并不能够检测出劫持事件的情况。下面结合图1进行说明。
110.请参见图1,图1是根据一示例性实施例示出的一种扫地机器人发生劫持事件的示意图。如图1所示,当扫地机器人100在方形的环境10中执行清洁操作时,若将扫地机器人100从位置a搬移至位置b(即扫地机器人100发生了劫持事件),则扫地机器人100根据lds并不能够确定出自身发生了劫持事件(由于位置a与位置b在距离方面的数据类似)。实际上,由于扫地机器人100根据lds并不能够确定出自身发生了劫持事件,反而判定当前仍处于位置a(实际处于位置b,即重定位错误),仍继续按照自身处于位置a的清洁策略(例如,采用的清洁路线不变)执行清洁操作,导致降低了清洁效率。
111.因此,本公开通过对具有自主移动功能的机器人的定位方式予以改进,以解决相关技术中存在的上述技术问题。下面结合实施例进行详细说明。
112.本公开提供的机器人100可以(但不限于)为扫地机器人、拖地机器人或扫拖一体式机器人等自动清洁设备,该机器人100可以包含机器主体、感知系统、控制系统、驱动系统、清洁系统、能源系统和人机交互系统。
113.其中:
114.机器主体包括前向部分和后向部分,具有近似圆形形状(前后都为圆形),也可具有其他形状,包括但不限于前方后圆的近似d形形状。
115.感知系统包括位于机器主体上方的位置确定装置、位于机器主体的前向部分的缓冲器、悬崖传感器和超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等传感装置,向控制系统提供机器的各种位置信息和运动状态信息。位置确定装置包括但不限于摄像头、激光测距装置(lds)。下面以三角测距法的激光测距装置为例说明如何进行位置确定。三角测距法的基本原理基于相似三角形的等比关系,在此不做赘述。
116.激光测距装置包括发光单元和受光单元。发光单元可以包括发射光的光源,光源
可以包括发光元件,例如发射红外光线或可见光线的红外或可见光线发光二极管(led)。优选地,光源可以是发射激光束的发光元件。在本实施例中,将激光二极管(ld)作为光源的例子。具体地,由于激光束的单色、定向和准直特性,使用激光束的光源可以使得测量相比于其它光更为准确。例如,相比于激光束,发光二极管(led)发射的红外光线或可见光线受周围环境因素影响(例如对象的颜色或纹理),而在测量准确性上可能有所降低。激光二极管(ld)可以是点激光,测量出障碍物的二维位置信息,也可以是线激光,测量出障碍物一定范围内的三维位置信息。
117.受光单元可以包括图像传感器,在该图像传感器上形成由障碍物反射或散射的光点。图像传感器可以是单排或者多排的多个单位像素的集合。这些受光元件可以将光信号转换为电信号。图像传感器可以为互补金属氧化物半导体(cmos)传感器或者电荷耦合元件(ccd)传感器,由于成本上的优势优选是互补金属氧化物半导体(cmos)传感器。而且,受光单元可以包括受光透镜组件。由障碍物反射或散射的光可以经由受光透镜组件行进以在图像传感器上形成图像。受光透镜组件可以包括单个或者多个透镜。
118.基部可以支撑发光单元和受光单元,发光单元和受光单元布置在基部上且彼此间隔一特定距离。为了测量机器人周围360度方向上的障碍物情况,可以使基部可旋转地布置在主体上,也可以基部本身不旋转而通过设置旋转元件而使发射光、接收光发生旋转。旋转元件的旋转角速度可以通过设置光耦元件和码盘获得,光耦元件感应码盘上的齿缺,通过齿缺间距的滑过时间和齿缺间距离值相除可得到瞬时角速度。码盘上齿缺的密度越大,测量的准确率和精度也就相应越高,但在结构上就更加精密,计算量也越高;反之,齿缺的密度越小,测量的准确率和精度相应也就越低,但在结构上可以相对简单,计算量也越小,可以降低一些成本。
119.与受光单元连接的数据处理装置,如dsp,将相对于机器人0度角方向上的所有角度处的障碍物距离值记录并传送给控制系统中的数据处理单元,如包含cpu的应用处理器(ap),cpu运行基于粒子滤波的定位算法获得机器人的当前位置,并根据此位置制图,供导航使用。定位算法优选使用即时定位与地图构建(slam)。
120.基于三角测距法的激光测距装置虽然在原理上可以测量一定距离以外的无限远距离处的距离值,但实际上远距离测量,例如6米以上,的实现是很有难度的,主要因为受光单元的传感器上像素单元的尺寸限制,同时也受传感器的光电转换速度、传感器与连接的dsp之间的数据传输速度、dsp的计算速度影响。激光测距装置受温度影响得到的测量值也会发生系统无法容忍的变化,主要是因为发光单元与受光单元之间的结构发生的热膨胀变形导致入射光和出射光之间的角度变化,发光单元和受光单元自身也会存在温漂问题。激光测距装置长期使用后,由于温度变化、振动等多方面因素累积而造成的形变也会严重影响测量结果。测量结果的准确性直接决定了绘制地图的准确性,是机器人进一步进行策略实行的基础,尤为重要。
121.机器主体的前向部分可承载缓冲器,在清洁过程中驱动轮模块推进机器人在地面行走时,缓冲器经由传感器系统,例如红外传感器,检测机器人100的行驶路径中的一或多个事件(或对象),机器人可通过由缓冲器检测到的事件(或对象),例如障碍物、墙壁,而控制驱动轮模块使机器人来对所述事件(或对象)做出响应,例如远离障碍物。
122.控制系统设置在机器主体内的电路主板上,包括与非暂时性存储器,例如硬盘、快
闪存储器、随机存取存储器,通信的计算处理器,例如中央处理单元、应用处理器,应用处理器根据激光测距装置反馈的障碍物信息利用定位算法,例如slam,绘制机器人所在环境中的即时地图。并且结合缓冲器、悬崖传感器和超声传感器、红外传感器、磁力计、加速度计、陀螺仪、里程计等传感装置反馈的距离信息、速度信息综合判断扫地机当前处于何种工作状态,如过门槛,上地毯,位于悬崖处,上方或者下方被卡住,尘盒满,被拿起等等,还会针对不同情况给出具体的下一步动作策略,使得机器人的工作更加符合主人的要求,有更好的用户体验。进一步地,控制系统能基于slam绘制的即时地图信息规划最为高效合理的清扫路径和清扫方式,大大提高机器人的清扫效率。
123.驱动系统可基于具有距离和角度信息,例如x、y及θ分量的驱动命令而操纵机器人100跨越地面行驶。驱动系统包含驱动轮模块,驱动轮模块可以同时控制左轮和右轮,为了更为精确地控制机器的运动,优选驱动轮模块分别包括左驱动轮模块和右驱动轮模块。左、右驱动轮模块沿着由主体界定的横向轴对置。为了机器人能够在地面上更为稳定地运动或者更强的运动能力,机器人可以包括一个或者多个从动轮,从动轮包括但不限于万向轮。驱动轮模块包括行走轮和驱动马达以及控制驱动马达的控制电路,驱动轮模块还可以连接测量驱动电流的电路和里程计。驱动轮模块可以可拆卸地连接到主体上,方便拆装和维修。驱动轮可具有偏置下落式悬挂系统,以可移动方式紧固,例如以可旋转方式附接,到机器人主体,且接收向下及远离机器人主体偏置的弹簧偏置。弹簧偏置允许驱动轮以一定的着地力维持与地面的接触及牵引,同时机器人100的清洁元件也以一定的压力接触地面10。
124.清洁系统可为干式清洁系统和/或湿式清洁系统。作为干式清洁系统,主要的清洁功能源于滚刷结构、尘盒结构、风机结构、出风口以及四者之间的连接部件所构成的清扫系统。与地面具有一定干涉的滚刷结构将地面上的垃圾扫起并卷带到滚刷结构与尘盒结构之间的吸尘口前方,然后被风机结构产生并经过尘盒结构的有吸力的气体吸入尘盒结构。扫地机的除尘能力可用垃圾的清扫效率dpu(dust pick up efficiency)进行表征,清扫效率dpu受滚刷结构和材料影响,受吸尘口、尘盒结构、风机结构、出风口以及四者之间的连接部件所构成的风道的风力利用率影响,受风机的类型和功率影响,是个复杂的系统设计问题。相比于普通的插电吸尘器,除尘能力的提高对于能源有限的清洁机器人来说意义更大。因为除尘能力的提高直接有效降低了对于能源要求,也就是说原来充一次电可以清扫80平米地面的机器,可以进化为充一次电清扫180平米甚至更多。并且减少充电次数的电池的使用寿命也会大大增加,使得用户更换电池的频率也会增加。更为直观和重要的是,除尘能力的提高是最为明显和重要的用户体验,用户会直接得出扫得是否干净/擦得是否干净的结论。干式清洁系统还可包含具有旋转轴的边刷,旋转轴相对于地面成一定角度,以用于将碎屑移动到清洁系统的滚刷区域中。
125.能源系统包括充电电池,例如镍氢电池和锂电池。充电电池可以连接有充电控制电路、电池组充电温度检测电路和电池欠压监测电路,充电控制电路、电池组充电温度检测电路、电池欠压监测电路再与单片机控制电路相连。主机通过设置在机身侧方或者下方的充电电极与充电桩连接进行充电。
126.人机交互系统包括主机面板上的按键,按键供用户进行功能选择;还可以包括显示屏和/或指示灯和/或喇叭,显示屏、指示灯和喇叭向用户展示当前机器所处状态或者功能选择项;还可以包括手机客户端程序。对于路径导航型清洁设备,在手机客户端可以向用
户展示设备所在环境的地图,以及机器所处位置,可以向用户提供更为丰富和人性化的功能项。
127.本公开提供的机器人配置有图像采集单元和测距单元;图像采集单元用于采集图像数据,测距单元用于采集测距数据。其中,图像采集单元和测距单元可包含于上述感知系统的位置确定装置中。例如,图像采集单元可以是摄像头,测距单元可以是激光测距装置。又如,图像采集单元和测距单元可集成于摄像头中;例如,可采用具有tof(time of flight,飞行时间)功能的深感摄像头,或者采用3d结构光技术的摄像头。当然,本公开并不对图像采集单元和测距单元的具体硬件形式进行限制。
128.基于上述机器人的结构,本公开提供一种机器人的定位方法。如图2所示,该方法可以包括以下步骤:
129.在步骤202中,根据所述图像采集单元采集到的当前图像数据,确定与所述当前图像数据相匹配的历史图像数据,所述历史图像数据由所述图像采集单元在历史时刻采集得到。
130.在本实施例中,在“历史时刻”采集到的图像数据可理解为机器人在之前(时序上在当前之前)的运行过程(机器人在运动过程中移动)中采集到的图像数据。以自动清洁设备为例(当然,不仅限于自动清洁设备,还可以是其他任意具有自主移动功能的机器人),可将自动清洁设备在首次清洁过程中采集的图像数据作为所述历史图像数据;或者,将自动清洁设备在本次清洁过程之前(即历史清洁过程)采集的图像数据作为所述历史图像数据。需要说明的是,本公开的定位方案是针对自动清洁设备清洁同一环境而言的。
131.在本实施例中,在一种情况下,“相匹配”可理解为当前图像数据与历史图像数据之间的相似度(或者是匹配度)超过一定的阈值。在另一种情况下,“相匹配”可理解为当前图像数据与历史图像数据中均包含一个或多个同一被摄对象。
132.在步骤204中,获取所述机器人在所述历史图像数据被采集时所对应的历史位姿信息。
133.在本实施例中,机器人在移动过程中采集图像数据的同时,记录此时自身的位姿信息,并将该图像数据与该位姿信息建立映射关系。其中,位姿信息可包含机器人与被摄对象(即图像采集单元拍摄的对象,图像采集单元通过拍摄被摄对象得到该被摄对象的图像数据)之间的距离、角度、机器人的姿态等可描述机器人与被摄对象之间相对位置的参数。以自动清洁设备配置lds和摄像头(即lds为测距单元,摄像头为图像采集单元)为例,摄像头和lds同时工作以采集相应的数据。比如,自动清洁设备在“历史时刻”的清洁过程中,在通过摄像头采集图像数据的同时,利用lds采集到的测距数据,通过slam算法来形成执行清洁操作的环境的地图,并确定自身当前在该地图中的位置信息;同时,根据其他传感装置(比如,陀螺仪、加速度计、电子罗盘等)采集自身当前的姿态信息,再根据该位置信息和该姿态信息确定出位姿信息。
134.需要说明的是,由上述针对“相匹配”的描述可知,与某一图像数据相匹配的图像数据可能存在多个,而多个图像数据则对应不同的角度、位置和姿态等。例如,自动清洁设备在清理过程中,可能以不同的角度、距离和姿态拍摄到同一个茶几。
135.在步骤206中,根据所述测距单元当前采集到的测距数据,确定所述机器人的当前位姿信息。
136.在本实施例中,可根据测距数据和当前机器人的姿态信息,确定机器人的当前位姿信息。以自动清洁设备配置lds为例,自动清洁设备利用lds采集到的测距数据,通过slam算法来形成执行清洁操作的环境的地图,并确定自身当前在该地图中的位置信息。同时,根据其他传感装置(比如,陀螺仪、加速度计、电子罗盘等)采集自身当前的姿态信息,再根据该位置信息和该姿态信息确定出当前位姿信息。
137.在步骤608中,根据所述历史位姿信息与所述当前位姿信息,对所述机器人的当前位置进行定位。
138.在本实施例中,基于机器人在移动过程中可通过图像采集单元采集图像数据,并与采集图像数据时所对应的位姿信息建立映射关系,那么在后续机器人的移动过程中,可将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,并与确定出的当前位姿信息共同作为依据,对机器人的当前位置进行定位,从而提高定位的准确度,进一步提升机器人的工作效率。
139.由上述步骤202的内容可知,与当前图像数据相匹配的历史图像数据可能包含多个;换言之,步骤204中获取到的历史位姿信息也随之可能包含多个。那么,针对如何利用获取到的多个历史位姿信息以及所述当前位姿信息(步骤206中确定出的当前位姿信息)进行定位的方式,可包括以下两种:
140.在一实施例中,可先确定所述历史位姿信息中与所述当前位姿信息相匹配的目标历史位姿信息,再根据所述目标历史位姿信息对所述机器人在根据所述测距单元构建出的地图中的当前位置进行定位。
141.在另一实施例中,可先获取三维环境构图,所述三维环境构图由所述历史图像数据与所述历史位姿信息构建得到,并基于所述三维环境构图确定对应于所述当前图像数据的位姿信息,再根据确定出的位姿信息对所述机器人在根据所述测距单元构建出的地图(根据测距单元采集到的所有测距数据构建得到)中的当前位置进行定位。其中,三维地图可以是在定位时实时生成的,也可以是预先生成的。换言之,在一种情况下,所述三维环境构图为预先根据采集到的所述历史图像数据与所述历史位姿信息而构建得到;在另一种情况下,所述三维环境构图为在确定出匹配于所述当前图像数据的历史图像数据后,基于所述历史图像数据与所述历史位姿信息而构建得到。
142.在本公开提供的机器人的定位方案中,针对机器人发生劫持事件的情况,可支持对机器人发生劫持事件后的位置进行准确的重定位。作为一示例性实施例,在上述图2所示实施例的基础上,在步骤202之前,还可包括以下步骤:确定所述机器人是否发生劫持事件。那么,在针对机器人发生劫持事件的情况下,上述步骤202中的当前图像数据,应当理解为机器人发生劫持事件后图像采集单元采集的图像数据;同理,上述步骤206中测距单元当前采集到的测距数据,应当理解为机器人发生劫持事件后测距单元采集到的测距数据,即当前位姿信息应当理解为机器人发生劫持事件后根据测距单元采集到的测距数据确定出的当前位姿信息。因此,在机器人发生劫持事件的情况下,步骤208中执行的定位操作可进一步包括:当确定所述机器人发生劫持事件时,根据所述历史位姿信息与所述当前位姿信息,对所述机器人发生劫持事件后的位置进行定位。其中,具体如何执行该定位的操作,可参考上述步骤208中的相关描述,在此不再赘述。
143.而针对确定机器人发生劫持事件的条件,可参考机器人配置的图像采集单元和测
距单元采集到的数据。例如,当机器人发生劫持事件时,图像采集单元采集到的图像数据将发生突变,测距单元采集到的测距数据也将发生突变。因此,作为一示例性实施例,当所述图像采集单元采集到的图像数据和/或所述测距单元采集到的测距数据发生突变时,可确定所述机器人发生劫持事件。可见,通过将图像采集单元采集到的图像数据的变化情况添加到作为判定机器人是否发生劫持事件的依据,可实现对劫持事件的精确检测,从而有助于后续的重定位。
144.在本公开提供的机器人的定位方案中,可对当前位姿信息(即步骤206中的当前位姿信息)进行校验,并在校验出该当前位姿信息存在错误后对其进行修正。作为一示例性实施例,在上述图2所示实施例的基础上,可判定所述当前位姿信息是否存在错误,并在判定出所述当前位姿信息存在错误时,利用所述历史位姿信息对所述当前位姿信息进行修正,从而有利于提高根据测距单元构建出的地图的准确性。
145.在一实施例中,当当前所述测距单元被遮挡或所述机器人打滑时,可判定所述当前位姿信息存在错误;在另一实施例中,当所述当前位姿信息与所述历史位姿信息中的任一均不相匹配时,可判定所述当前位姿信息存在错误。
146.在图2所示的实施例中,通过将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,来提高定位的准确性。可见,历史图像数据和历史位姿信息能否反映出机器人的实际位置至关重要。因此,可通过以下方式来维护历史图像数据和历史位姿信息。
147.在一实施例中,在所述机器人执行特定操作的移动过程(以自动清洁设备为例,该移动过程即为自动清洁设备的清洁过程)中,查找与所述图像采集单元采集到的图像数据相匹配的历史图像数据,并统计相应的匹配次数。基于对匹配次数的统计,当任一历史图像数据的匹配次数与执行所述特定操作的次数(以自动清洁设备为例,该次数即自动清洁设备的清洁次数)的比例小于预设阈值时,可删除所述任一历史图像数据以及所述机器人在所述任一历史图像数据被采集时所对应的位姿信息。
148.在另一实施例中,所有历史图像数据与历史位姿信息可存储于预设数据库中。当接收到针对所述预设数据库的更新指令时,可根据所述机器人在移动过程中构建出的地图(例如,可根据测距单元构建得到)确定空旷区域,并在所述空旷区域内通过所述图像采集单元采集图像数据以及相应的位姿信息,以更新所述预设数据库。其中,所述更新指令可由用户通过移动终端(与机器人建立通讯连接)向机器人下发;或者,所述更新指令可由机器人按照预设更新周期生成。
149.在本实施例中,基于机器人在移动过程中可对所清洁的环境进行图像的采集,可以根据所清洁的环境的场景类型的不同,对机器人(比如,可以是扫地机器人)的清洁策略进行相应的调整,以提升清洁效率以及用户的使用体验。比如,机器人针对不同的场景类型配置有对应的清洁策略;那么,在所述机器人执行清洁操作的过程中,可根据针对所述图像采集单元采集到的图像数据的场景识别结果,采取相应的清洁策略进行清洁。
150.为了便于理解,下面以机器人为自动清洁设备为例(当然,不仅限于自动清洁设备,还可以是其他任意具有自主移动功能的机器人),结合附图和具体场景对本公开的机器人的定位方案进行详细说明。
151.请参见图3,图3是一示例性实施例示出的另一种机器人的定位方法的流程图。如
图3所示,该方法应用于自动清洁设备(配置有摄像头和lds,即图像采集单元为摄像头,测距单元为lds),可以包括以下步骤:
152.在步骤302中,采集当前图像数据。
153.在步骤304中,确定与当前图像数据相匹配的历史图像数据。
154.在本实施例中,自动清洁设备可将在首次清洁过程中采集到的图像数据作为历史图像数据;或者,将在本次清洁过程之前(即历史清洁过程,均为清洁同一环境)采集到的图像数据作为历史图像数据。并且,将历史图像数据与采集该历史图像数据时自身的位姿信息建立映射关系存储于预设数据库中。其中,位姿信息可包含自动清洁设备与被摄对象(即摄像头拍摄的对象,摄像头通过拍摄被摄对象得到该被摄对象的图像数据)之间的距离、角度、机器人的姿态等可描述自动清洁设备与被摄对象之间相对位置的参数。例如,摄像头与lds在清洁过程中均处于工作状态,位姿信息包括位置信息和姿态信息。那么,自动清洁设备在通过摄像头采集图像数据的同时,利用lds采集到的测距数据,通过slam算法来形成执行清洁操作的环境的地图,并确定自身当前在该地图中的位置信息;同时,根据其他传感装置(比如,陀螺仪、加速度计、电子罗盘等)采集自身的姿态信息,再根据该位置信息和该姿态信息确定出位姿信息。
155.需要说明的是,在确定与当前图像数据相匹配的历史图像数据时,在一种情况下,“相匹配”可理解为当前图像数据与历史图像数据之间的相似度(或者是匹配度)超过一定的阈值。例如,可采用图像匹配算法(平均绝对差算法、绝对误差和算法、归一化积相关算法等)或机器学习模型来确定预设数据库中所有历史图像数据中,与当前图像数据的相似度超过预设阈值的图像数据作为上述步骤304中的“与当前图像数据相匹配的历史图像数据”。在另一种情况下,“相匹配”可理解为当前图像数据与历史图像数据中均包含一个或多个同一被摄对象。比如,可识别(比如,可通过基于神经网络的图像识别方法、基于小波矩的图像识别方法等对当前图像数据进行识别)出当前图像数据中包含的物体(比如,杯子、茶几、电视等物体),将预设数据库中同样也包含该识别出物体(可能存在多个,可设置为包含全部物体或者包含部分物体)的图像数据作为上述步骤304中的“与当前图像数据相匹配的历史图像数据”。在又一种情况下,还可兼具上述两种情况中的条件作为判定“相匹配”的依据。例如,当当前图像数据与历史图像数据之间的相似度超过一定阈值,并且(或者)均包含一个或多个同一被摄对象时,可判定两者之间为“相匹配”的关系。
156.在步骤306中,获取自动清洁设备在该历史图像数据被采集时的历史位姿信息。
157.在本实施例中,可在预设数据库中基于建立的映射关系,查找与步骤304中确定出历史图像数据相对应的历史位姿信息。
158.在步骤308中,根据lds当前采集到的测距数据,确定自动清洁设备的当前位姿信息。
159.在本实施例中,自动清洁设备可利用lds采集到的测距数据,通过slam算法来形成执行清洁操作的环境的地图,并确定自身当前在该地图中的位置信息。同时,根据其他传感装置(比如,陀螺仪、加速度计、电子罗盘等)采集自身当前的姿态信息,再根据该位置信息和该姿态信息确定出当前位姿信息。
160.在步骤310中,确定历史位姿信息中与当前位姿信息相匹配的目标历史位姿信息。
161.在本实施例中,与当前图像数据相匹配的历史图像数据可能包含多个。换言之,步
骤306中获取到的历史位姿信息也随之可能包含多个。例如,步骤304中获取到的多个历史图像数据均包含同一茶几;其中,自动清洁设备在拍摄各历史图像数据时的拍摄距离、拍摄角度和姿态等不同。
162.而在确定与当前位姿信息相匹配的目标历史位姿信息时,可将步骤306中获取到的历史位姿信息与当前位姿信息逐一进行比较,以将与当前位姿信息接近甚至相同的历史位姿信息作为该目标历史位姿信息。举例而言,可将步骤306中获取到的历史位姿信息中,距离与当前位姿信息中包含的距离的差值在预设距离阈值内,且角度与当前位姿信息中包含的角度的差值在预设角度阈值的历史位姿信息作为该目标历史位姿信息。
163.在步骤312中,根据目标历史位姿信息对自动清洁设备在根据测距单元构建出的地图中的当前位置进行定位。
164.在本实施例中,自动清洁设备可利用slam算法来构建出执行清洁操作的环境的地图,进而根据目标历史位姿信息对自动清洁设备的当前位置进行定位。那么,自动清洁设备便可进一步根据该地图以及当前定位,确定执行清洁操作的路线。
165.通过将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,来提高定位的准确性。可见,历史图像数据和历史位姿信息能否反映出自动清洁设备的实际位置至关重要。因此,可通过以下方式来维护预设数据库中的历史图像数据和历史位姿信息。
166.在一实施例中,在自动清洁设备的每次清洁过程中,可查找与摄像头采集到的图像数据相匹配的历史图像数据,并统计相应的匹配次数。基于对匹配次数的统计,当任一历史图像数据的匹配次数与清洁次数(可将自动清洁设备从开始清洁所需清洁的环境到将该环境清洁完毕的过程理解为一次清洁过程,即清洁次数记录一次)的比例小于预设阈值时,可删除该任一历史图像数据以及自动清洁设备在该任一历史图像数据被采集时的位姿信息。
167.在另一实施例中,当接收到针对预设数据库的更新指令时,可根据自动清洁设备在清洁过程中构建出的地图(例如,可根据lds构建得到)确定空旷区域,那么自动清洁设备可在该空旷区域内通过摄像头采集图像数据以及相应的位姿信息,以更新预设数据库。例如,针对同一个茶杯,自动清洁设备通过旋转来以不同的角度和姿态来拍摄该茶杯,同时记录相应的姿态信息。其中,更新指令可由用户通过移动终端或服务器(与自动清洁设备建立通讯连接)向自动清洁设备下发;或者,更新指令可由自动清洁设备按照预设更新周期生成。
168.请参见图4,图4是一示例性实施例示出的另一种机器人的定位方法的流程图。如图4所示,该方法应用于自动清洁设备(配置有摄像头和lds,即图像采集单元为摄像头,测距单元为lds),可以包括以下步骤:
169.在步骤402中,采集当前图像数据。
170.在步骤404中,确定与当前图像数据相匹配的历史图像数据。
171.在步骤406中,获取自动清洁设备在该历史图像数据被采集时的历史位姿信息。
172.在本实施例中,步骤402-406的具体过程与上述步骤302-306类似,在此不再赘述。
173.在步骤408中,获取三维环境构图。
174.在本实施例中,三维环境构图由步骤404中获取到的历史图像数据与步骤406中获
取到的历史位姿信息构建得到。在一种情况下,三维环境构图可以是在采集到该历史图像数据与该历史位姿信息时进行构建的;换言之,在采集到该历史图像数据与该历史位姿信息时便进行构建得到三维地图,那么在执行步骤408时直接读取该三维地图即可。在另一种情况下,三维环境构图为在确定出匹配于当前图像数据的历史图像数据后,基于该历史图像数据与该历史位姿信息而构建得到;换言之,在通过步骤404中获取到该历史图像数据以及通过步骤406获取到该历史位姿信息后,再对该历史图像数据与该历史位姿信息进行构建得到三维地图。
175.在步骤410中,基于三维环境构图确定对应于当前图像数据的位姿信息。
176.在本实施例中,可通过pnp算法从三维环境构图中确定对应于当前图像数据的位姿信息。当然,也可采用其他计算位姿信息的算法,本公开并不对此进行限制。
177.在步骤412中,根据确定出的位姿信息对自动清洁设备在根据lds构建出的地图中的当前位置进行定位。
178.在本实施例中,该地图可根据lds在本次清洁过程中采集到的所有测距数据(包含根据lds当前采集到的测距数据)构建得到。在确定出当前位置后,自动清洁设备便可进一步根据该地图以及当前位置,确定执行清洁操作的路线。
179.由上述图3-4所示的实施例可知,基于自动清洁设备在清洁过程中可通过图像采集单元采集图像数据,并与采集图像数据时的位姿信息建立映射关系,那么在后续自动清洁设备的清洁过程中,可将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,并与确定出的当前位姿信息共同作为依据,对自动清洁设备的当前位置进行定位,从而提高定位的准确度,进一步提升自动清洁设备的清洁效率。
180.请参见图5,图5是一示例性实施例示出的一种机器人的重定位方法的流程图。如图5所示,该方法应用于自动清洁设备(配置有摄像头和lds,即图像采集单元为摄像头,测距单元为lds),可以包括以下步骤:
181.在步骤502中,获取当前采集到的数据。
182.在本实施例中,采集到的数据包括摄像头采集到的当前图像数据,以及lds当前采集到的测距数据。
183.在步骤504中,判断获取到的数据是否发生突变,若发生了突变,则转入步骤506;否则返回步骤502。
184.在本实施例中,当自动清洁设备发生劫持事件(劫持事件可理解为自动清洁设备非按照正常执行清洁操作的路线或速度进行移动,例如在清洁过程中被用户强行搬离清扫位置)时,摄像头采集到的图像数据将发生突变,lds采集到的测距数据也将发生突变。因此,可通过当前采集到的图像数据和/或测距数据是否发生突变来判断自动清洁设备是否发生了劫持事件。可见,通过将摄像头采集到的图像数据的变化情况添加到作为判定自动清洁设备是否发生劫持事件的依据,可实现对劫持事件的精确检测,从而有助于后续的重定位。其中,图像数据发生突变可理解为在时序上相邻的图像帧中包含的信息发生突变;例如,相邻的图像帧中相同的内容所占比例的变化量超过一定的阈值,或者相邻的图像帧中不包含相同的被摄对象等。当然,本公开并不对识别图像数据是否发生突变所采用的算法进行限制。同理,测距数据发生突变可理解为在时序上相邻的测距数据(同一测距数据可包含自动清洁设备周围各个角度的测距数据)发生突变;当然,本公开也不对识别测距数据是
否发生突变所采用的算法进行限制。
185.举例而言,承接于相关技术中图1的举例,即使位置a与位置b在距离方面的数据(即测距数据)类似(即未发生突变),只要位置a与位置b的表面存在差异(例如,扫地机器人100在位置a可通过摄像头拍摄到电视101,而在位置b并不能够通过摄像头拍摄到电视101),那么在扫地机器人100从位置a搬移至位置b的过程中,摄像头采集到的图像数据将发生突变(可理解为摄像头采集到位置a的图像数据,与采集到位置b的图像数据之间的差异较大),从而可判断出扫地机器人100发生了劫持事件,而并不会得出如相关技术中的判定结果(判定扫地机器人100未发生劫持事件)。
186.在步骤506中,确定与当前图像数据相匹配的历史图像数据。
187.在本实施例中,在针对自动清洁设备发生劫持事件的情况下,步骤502中采集到的当前图像数据,应当理解为自动清洁设备发生劫持事件后摄像头采集到的图像数据;同理,步骤502中lds当前采集到的测距数据,应当理解为自动清洁设备发生劫持事件后lds采集到的测距数据。
188.在步骤508中,获取自动清洁设备在该历史图像数据被采集时的历史位姿信息。
189.在步骤510中,获取自动清洁设备被劫持后的位姿信息。
190.在步骤512中,确定历史位姿信息中与被劫持后的位姿信息相匹配的目标历史位姿信息。
191.在本实施例中,本领域技术人员应当理解的是,在针对自动清洁设备发生劫持事件的情况下,自动清洁设备被劫持后的位姿信息,即为根据步骤502中lds当前采集到的测距数据确定出的自动清洁设备的当前位姿信息。
192.在步骤514中,根据目标历史位姿信息对自动清洁设备被劫持后的位置进行定位。
193.在本实施例中,本领域技术人员应当理解的是,在针对自动清洁设备发生劫持事件的情况下,步骤514与上述步骤312类似,即在根据测距单元构建出的地图中的当前位置进行定位。在确定出被劫持后的位置后,自动清洁设备便可进一步根据构建的地图以及被劫持后的位置,重新规划执行清洁操作的路线。
194.需要说明的是,步骤506-514与上述步骤304-312的原理相同,在此不再赘述。
195.请参见图6,图6是一示例性实施例示出的另一种机器人的重定位方法的流程图。如图6所示,该方法应用于自动清洁设备(配置有摄像头和lds,即图像采集单元为摄像头,测距单元为lds),可以包括以下步骤:
196.在步骤602中,获取当前采集到的数据。
197.在本实施例中,采集到的数据包括摄像头采集到的当前图像数据,以及lds当前采集到的测距数据。
198.在步骤604中,判断获取到的数据是否发生突变,若发生了突变,则转入步骤606;否则返回步骤602。
199.在本实施例中,步骤602-604与上述步骤502-504类似,在此不再赘述。
200.在步骤606中,确定与当前图像数据相匹配的历史图像数据。
201.在本实施例中,在针对自动清洁设备发生劫持事件的情况下,步骤602中采集到的当前图像数据,应当理解为自动清洁设备发生劫持事件后摄像头采集到的图像数据;同理,步骤602中lds当前采集到的测距数据,应当理解为自动清洁设备发生劫持事件后lds采集
到的测距数据。
202.在步骤608中,获取自动清洁设备在该历史图像数据被采集时的历史位姿信息。
203.在步骤610中,获取对应的三维环境构图。
204.在步骤612中,基于三维环境构图确定对应于当前图像数据的位姿信息。
205.在步骤614中,根据确定出的位姿信息对自动清洁设备被劫持后的位置进行定位。
206.在本实施例中,本领域技术人员应当理解的是,在针对自动清洁设备发生劫持事件的情况下,当前位置便是被劫持后的位置,即步骤614与上述步骤412类似。在确定出被劫持后的位置后,自动清洁设备便可进一步根据构建的地图以及被劫持后的位置,重新规划执行清洁操作的路线。
207.需要说明的是,步骤606-614与上述步骤404-412的原理相同,在此不再赘述。可见,本公开通过在带有测距单元的自动清洁设备上配置图像采集单元,使得自动清洁设备在清洁过程中可采集图像数据,并与采集图像数据时的位姿信息建立映射关系。那么在后续的清洁过程中,可将与当前图像数据相匹配的历史图像数据对应的历史位姿信息作为参考,并与通过测距单元确定出的当前位姿信息共同作为依据,对自动清洁设备的当前位置进行定位,从而提高自动清洁设备自身定位的准确度,进一步提升自动清洁设备的清洁效率。
208.由上述图5-6所示的实施例可见,通过将摄像头采集到的图像数据的变化情况添加到作为判定自动清洁设备是否发生劫持事件的依据,可实现对劫持事件的精确检测,从而有助于后续的重定位。请参见图7,图7是一示例性实施例示出的一种校验当前位姿信息的流程图。如图7所示,该方法应用于上述任一实施例中的自动清洁设备,可以包括以下步骤:
209.在步骤702中,获取当前位姿信息。
210.在本实施例中,当前位姿信息即为上述任一实施例中的当前位姿信息(根据lds当前采集到的测距数据确定出的自动清洁设备的当前位姿信息)。
211.在步骤704中,判断当前位姿信息是否存在错误,若存在错误则转入步骤706;否则返回步骤702。
212.在本实施例中,在一种情况下,当当前lds被遮挡(例如,lds的测距数据始终保持不变)或自动清洁设备打滑(例如,自动清洁设备加速度计与里程计的数据不相匹配)时,可判定该当前位姿信息存在错误;在另一种情况下,当当前位姿信息与历史位姿信息中的任一均不相匹配时,可判定当前位姿信息存在错误。
213.在步骤706中,获取历史位姿信息。
214.在本实施例中,历史位姿信息即为上述任一实施例中的历史位姿信息(例如,步骤306中的历史位姿信息)。
215.在步骤708中,利用历史位姿信息对当前位姿信息进行修正。
216.在本实施例中,在判定出当前位姿信息存在错误时,利用该历史位姿信息对该当前位姿信息进行修正,有利于提高根据lds构建出的地图的准确性。
217.图8是根据一示例性实施例示出的一种自动清洁设备执行清洁操作的流程图,如图8所示,该方法应用于上述任一实施例中的自动清洁设备,可以包括以下步骤:
218.在步骤802中,采集当前图像数据。
219.在步骤804中,识别当前图像数据的场景类型。
220.在本实施例中,可采用应用于场景识别的机器学习模型(可通过标记有场景类型的样本数据进行训练得到)进行识别;或者,在预设场景类型数据库(存储有各种场景类型的图像数据,例如,客厅、卫生间、卧室等)中查找与当前图像数据相匹配的图像数据,并将查找到的图像数据的场景类型作为当前图像数据表示的场景类型;或者,可由用户控制自动清洁设备移动至各个场景下拍摄图像数据,并标记出相应的场景类型,那么后续自动清洁设备便可根据该标记识别出所清洁的环境的场景类型。当然,本公开并不对识别场景类型的方式进行限制。
221.在步骤806中,查找相应的清洁策略。
222.在本实施例中,基于自动清洁设备在清洁过程中可通过摄像头对所清洁的环境进行图像的采集,可以根据所清洁的环境的场景类型的不同,对自动清洁设备的清洁策略进行相应的调整,以提升清洁效率以及用户的使用体验。
223.举例而言,假定针对所清洁环境的场景类型,可配置如表1所示的清洁策略:
[0224][0225]
表1
[0226]
当然,表1仅仅是对配置清洁策略的一种示例,具体的清洁策略用户可根据实际情况灵活设定,本公开并不对此进行限制。可见,通过针对不同的场景类型配置相应的清洁策略,可满足用户不同的清洁需求,有助于提升用户体验。
[0227]
在步骤808中,按照查找出的清洁策略进行清洁。
[0228]
与前述的自动清洁设备的定位方法的实施例相对应,本公开还提供了自动清洁设备的定位装置的实施例。
[0229]
图9是根据一示例性实施例示出的一种机器人的定位装置的框图。参照图9,该机器人配置有图像采集单元和测距单元;该装置包括图像数据确定单元901,位姿获取单元902、位姿确定单元903和定位单元904。
[0230]
该图像数据确定单元901被配置为根据所述图像采集单元采集到的当前图像数据,确定与所述当前图像数据相匹配的历史图像数据,所述历史图像数据由所述图像采集单元在历史时刻采集得到;
[0231]
该位姿获取单元902被配置为获取所述机器人在所述历史图像数据被采集时所对应的历史位姿信息;
[0232]
该位姿确定单元903被配置为根据所述测距单元当前采集到的测距数据,确定所述机器人的当前位姿信息;
[0233]
该定位单元904被配置为根据所述历史位姿信息与所述当前位姿信息,对所述机器人的当前位置进行定位。
[0234]
如图10所示,图10是根据一示例性实施例示出的另一种机器人的定位装置的框
图,该实施例在前述图9所示实施例的基础上,还包括:劫持事件确定单元905,该定位单元904包括:第一定位子单元9041。
[0235]
该劫持事件确定单元905被配置为确定所述机器人是否发生劫持事件;
[0236]
该第一定位子单元9041被配置为当确定所述机器人发生劫持事件时,根据所述历史位姿信息与所述当前位姿信息,对所述机器人发生劫持事件后的位置进行定位。
[0237]
如图11所示,图11是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图10所示实施例的基础上,劫持事件确定单元905包括:劫持事件确定子单元9051。
[0238]
该劫持事件确定子单元9051被配置为当所述图像采集单元采集到的图像数据和/或所述测距单元采集到的测距数据发生突变时,确定所述机器人发生劫持事件。
[0239]
如图12所示,图12是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,该定位单元904包括:第一确定子单元9042和第二定位子单元9043。
[0240]
该第一确定子单元9042被配置为确定所述历史位姿信息中与所述当前位姿信息相匹配的目标历史位姿信息;
[0241]
该第二定位子单元9043被配置为根据所述目标历史位姿信息对所述机器人在根据所述测距单元构建出的地图中的当前位置进行定位。
[0242]
需要说明的是,上述图12所示的装置实施例中的第一确定子单元9042和第二定位子单元9043的结构也可以包含在前述图10的装置实施例中,对此本公开不进行限制。
[0243]
如图13所示,图13是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,该定位单元904包括:获取子单元9044、第二确定子单元9045和第三定位子单元9046。
[0244]
该获取子单元9044被配置为获取三维环境构图,所述三维环境构图由所述历史图像数据与所述历史位姿信息构建得到;
[0245]
该第二确定子单元9045被配置为基于所述三维环境构图确定对应于所述当前图像数据的位姿信息;
[0246]
该第三定位子单元9046被配置为根据确定出的位姿信息对所述机器人在根据所述测距单元构建出的地图中的当前位置进行定位。
[0247]
可选的,所述三维环境构图为预先根据采集到的所述历史图像数据与所述历史位姿信息而构建得到;或者,所述三维环境构图为在确定出匹配于所述当前图像数据的历史图像数据后,基于所述历史图像数据与所述历史位姿信息而构建得到。
[0248]
需要说明的是,上述图13所示的装置实施例中的获取子单元9044、第二确定子单元9045和第三定位子单元9046的结构也可以包含在前述图10的装置实施例中,对此本公开不进行限制。
[0249]
如图14所示,图14是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,还包括:判定单元906和修正单元907。
[0250]
该判定单元906被配置为判定所述当前位姿信息是否存在错误;
[0251]
该修正单元907被配置为当判定所述当前位姿信息存在错误时,利用所述历史位姿信息对所述当前位姿信息进行修正。
[0252]
需要说明的是,上述图14所示的装置实施例中的判定单元906和修正单元907的结构也可以包含在前述图10的装置实施例中,对此本公开不进行限制。
[0253]
如图15所示,图15是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图14所示实施例的基础上,判定单元906包括:第一判定子单元9061。
[0254]
该第一判定子单元9061被配置为当当前所述测距单元被遮挡或所述机器人打滑时,判定所述当前位姿信息存在错误。
[0255]
如图16所示,图16是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图14所示实施例的基础上,判定单元906包括:第二判定子单元9062。
[0256]
该第二判定子单元9062被配置为当所述当前位姿信息与所述历史位姿信息中的任一均不相匹配时,判定所述当前位姿信息存在错误。
[0257]
如图17所示,图17是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,还包括:统计单元908和删除单元909。
[0258]
该统计单元908被配置为在所述机器人执行特定操作的移动过程中,查找与所述图像采集单元采集到的图像数据相匹配的历史图像数据,并统计相应的匹配次数;
[0259]
该删除单元909被配置为当任一历史图像数据的匹配次数与执行所述特定操作的次数的比例小于预设阈值时,删除所述任一历史图像数据以及所述机器人在所述任一历史图像数据被采集时所对应的位姿信息。
[0260]
需要说明的是,上述图17所示的装置实施例中的统计单元908和删除单元909的结构也可以包含在前述图10和图14的装置实施例中,对此本公开不进行限制。
[0261]
如图18所示,图18是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,所有历史图像数据与历史位姿信息存储于预设数据库中;还包括:空旷区域确定单元910和更新单元911。
[0262]
该空旷区域确定单元910被配置为当接收到针对所述预设数据库的更新指令时,根据所述机器人在移动过程中构建出的地图确定空旷区域;
[0263]
该更新单元911被配置为在所述空旷区域内通过所述图像采集单元采集图像数据以及相应的位姿信息,以更新所述预设数据库。
[0264]
需要说明的是,上述图18所示的装置实施例中的空旷区域确定单元910和更新单元911的结构也可以包含在前述图10、图14和图17的装置实施例中,对此本公开不进行限制。
[0265]
如图19所示,图19是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,所述机器人针对不同的场景类型配置有对应的清洁策略;还包括:策略调整单元912。
[0266]
该策略调整单元912被配置为在所述机器人执行清洁操作的过程中,根据针对所述图像采集单元采集到的图像数据的场景识别结果,采取相应的清洁策略进行清洁。
[0267]
需要说明的是,上述图19所示的装置实施例中的策略调整单元912的结构也可以包含在前述图10、图14、图17和图18的装置实施例中,对此本公开不进行限制。
[0268]
如图20所示,图20是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,该图像数据确定单元901包括第一图像数据确定子单元9011。
[0269]
第一图像数据确定子单元9011被配置为当所述当前图像数据与所述历史图像数据之间的相似度(或匹配度)超过预设阈值时,确定所述历史图像数据与所述当前图像数据相匹配。
[0270]
如图21所示,图21是根据一示例性实施例示出的另一种机器人的定位装置的框图,该实施例在前述图9所示实施例的基础上,该图像数据确定单元901包括第二图像数据确定子单元9012。
[0271]
第二图像数据确定子单元9012被配置为当所述当前图像数据与所述历史图像数据中均包含一个或多个同一被采集对象时,确定所述历史图像数据与所述当前图像数据相匹配。
[0272]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0273]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0274]
相应的,本公开还提供一种机器人,所述机器人配置有图像采集单元和测距单元;所述机器人还包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如上述实施例中任一所述的屏幕补光的实现方法,比如该方法可以包括:根据所述图像采集单元采集到的当前图像数据,确定与所述当前图像数据相匹配的历史图像数据,所述历史图像数据由所述图像采集单元在历史时刻采集得到;获取所述机器人在所述历史图像数据被采集时所对应的历史位姿信息;根据所述测距单元当前采集到的测距数据,确定所述机器人的当前位姿信息;根据所述历史位姿信息与所述当前位姿信息,对所述机器人的当前位置进行定位。
[0275]
相应的,本公开还提供一种终端,所述终端包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于实现如上述实施例中任一所述的机器人的定位方法的指令,比如该方法可以包括:根据所述图像采集单元采集到的当前图像数据,确定与所述当前图像数据相匹配的历史图像数据,所述历史图像数据由所述图像采集单元在历史时刻采集得到;获取所述机器人在所述历史图像数据被采集时所对应的历史位姿信息;根据所述测距单元当前采集到的测距数据,确定所述机器人的当前位姿信息;根据所述历史位姿信息与所述当前位姿信息,对所述机器人的当前位置进行定位。
[0276]
图22是根据一示例性实施例示出的一种用于机器人的定位装置2200的框图。例如,装置2200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0277]
参照图22,装置2200可以包括以下一个或多个组件:处理组件2202,存储器2204,电源组件2206,多媒体组件2208,音频组件2210,输入/输出(i/o)的接口2212,传感器组件2214,以及通信组件2216。
[0278]
处理组件2202通常控制装置2200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件2202可以包括一个或多个处理器2220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件2202可以包括一个或多个模块,便于处理组件2202和其他组件之间的交互。例如,处理组件2202可以包括多媒体模块,以方便多媒体组件2208和处理组件2202之间的交互。
[0279]
存储器2204被配置为存储各种类型的数据以支持在装置2200的操作。这些数据的示例包括用于在装置2200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器2204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0280]
电源组件2206为装置2200的各种组件提供电力。电源组件2206可以包括电源管理系统,一个或多个电源,及其他与为装置2200生成、管理和分配电力相关联的组件。
[0281]
多媒体组件2208包括在所述装置2200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件2208包括一个前置摄像头和/或后置摄像头。当装置2200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0282]
音频组件2210被配置为输出和/或输入音频信号。例如,音频组件2210包括一个麦克风(mic),当装置2200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2204或经由通信组件2216发送。在一些实施例中,音频组件2210还包括一个扬声器,用于输出音频信号。
[0283]
i/o接口2212为处理组件2202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0284]
传感器组件2214包括一个或多个传感器,用于为装置2200提供各个方面的状态评估。例如,传感器组件2214可以检测到装置2200的打开/关闭状态,组件的相对定位,例如所述组件为装置2200的显示器和小键盘,传感器组件2214还可以检测装置2200或装置2200一个组件的位置改变,用户与装置2200接触的存在或不存在,装置2200方位或加速/减速和装置2200的温度变化。传感器组件2214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件2214还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件2214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0285]
通信组件2216被配置为便于装置2200和其他设备之间有线或无线方式的通信。装置2200可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件2216经由广播信道接收来自外部广播管理系统的广播信号或广播相关
信息。在一个示例性实施例中,所述通信组件2216还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0286]
在示例性实施例中,装置2200可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0287]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2204,上述指令可由装置2200的处理器2220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0288]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0289]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1