移动机器人的定位修正方法和装置、存储介质、电子装置
文献发布时间:2023-06-19 11:52:33
【技术领域】
本发明涉及通信领域,具体而言,涉及一种移动机器人的定位修正方法和装置、存储介质、电子装置。
【背景技术】
随着科学技术的进步和人工智能的发展,智能机器人也应用到了各个领域,移动机器人的定位和地图构建是移动机器人领域的热点问题。
目前,移动机器人通过搭载激光测距单元、视觉传感器及惯性导航单元等感知环境信息,结合即时定位与建图技术来构建环境地图,并进行自主定位和导航以执行任务,但是在实际应用中,移动机器人可能会发生被用户移走等突发状况,因为无法对移动机器人的定位进行修正,导致移动机器人构建的环境地图的准确性不高。
针对相关技术中,移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题,尚未提出有效的技术方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
【发明内容】
本发明实施例提供了一种移动机器人的定位修正方法和装置、存储介质、电子装置,以至少解决相关技术中移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题。
根据本发明的一个实施例,提供了一种移动机器人的定位修正方法,包括:在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
在一个示例性实施例中,对所述一个或多个第一位姿进行位置验证,包括:对于所述一个或多个第一位姿中的任一位姿,指示所述移动机器人按照所述任一位姿移动至所述整体环境地图中的目标路标所对应的位置;在所述移动机器人按照所述任一位姿移动到所述位置的情况下,通过所述移动机器人在所述位置对所述目标路标进行拍照,以获取第一图像;将所述第一图像与所述整体环境地图中所述目标路标的第二图像进行匹配,并根据匹配结果对所述任一位姿进行位置验证。
在一个示例性实施例中,根据匹配结果对所述任一位姿进行位置验证,包括:在所述匹配结果指示所述第一图像和所述第二图像的相似度超过预设阈值的情况下,确定所述任一位姿通过所述位置验证;在所述匹配结果指示所述第一图像和所述第二图像的相似度未超过预设阈值的情况下,确定所述任一位姿未通过所述位置验证。
在一个示例性实施例中,将所述第一图像与所述整体环境地图中所述目标路标的第二图像进行匹配,包括:获取所述第一图像的以下至少之一第一参数信息:第一像素信息,所述第一图像的第一物体类别,以及所述第一物体类别的第一得分,以及获取所述第二图像的以下至少之一第二参数信息:第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分;将所述第一参数信息和所述第二参数信息进行匹配,其中,在匹配结果满足预设条件的情况下,确定所述任一位姿通过位置验证,所述预设条件包括以下至少之一:所述第一像素信息和所述第二像素信息的第一相似度大于第一预设阈值,所述第一物体类别和所述第二物体类别的第二相似度大于第二预设阈值,以及所述第一得分和第二得分的差值小于第三预设阈值。
在一个示例性实施例中,获取所述第一图像的第一物体类别,以及所述第一物体类别的第一得分,以及获取所述第二图像的第二物体类别,以及所述第二物体类别的第二得分,包括:将所述第一图像输入到已训练好的人工智能图像模型中,以获取到所述第一图像的第一物体类别,以及所述第一物体类别的第一得分;以及将所述第二图像输入到已训练好的人工智能图像模型中,以获取到所述第二图像的第二物体类别,以及所述第二物体类别的第二得分,并将所述第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分保存至所述整体环境地图中,在所述整体环境地图获取所述第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分。
在一个示例性实施例中,获取所述第一图像的以下至少之一第一参数信息:第一像素信息,所述第一图像的第一物体类别,以及所述第一物体类别的第一得分,以及获取所述第二图像的以下至少之一第二参数信息:第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分之后,所述方法还包括:在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
在一个示例性实施例中,获取移动机器人的行进区域所对应的整体环境地图之后,所述方法还包括:在所述整体环境地图中未检测到所述第一物体类别的情况下,将所述第一物体类别保存在所述整体环境地图中;在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
在一个示例性实施例中,获取移动机器人的行进区域所对应的整体环境地图之前,所述方法还包括:通过以下方式确定移动机器人处于所述预设状态:获取所述移动机器人的位姿数据;在所述位姿数据出现异常的情况下,确定所述移动机器人需要定位修正,以确定所述移动机器人处于所述预设状态。
在一个示例性实施例中,通过以下方式之一确定所述位姿数据出现异常:检测所述移动机器人设置的悬崖传感器获取的数据异常;检测到激光测距传感器获取的数据点异常;通过所述移动机器人上设置的惯性导航传感器检测到所述移动机器人的倾斜角度异常;检测到所述移动机器人获取的相邻两帧物体图像的坐标差值异常。
在一个示例性实施例中,对所述一个或多个第一位姿进行位置验证之后,所述方法还包括:在所述一个或多个第一位姿均未通过所述位置验证的情况下,清空所述整体环境地图。
在一个示例性实施例中,获取第二栅格地图,包括:通过所述移动机器人上设置的激光测距传感器对所述移动机器人所在的当前区域进行扫描,以获取所述激光测距传感器构建的第二栅格地图。
根据本发明的另一个实施例,提供了一种移动机器人的定位修正装置,所述装置包括:第一获取模块,用于在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;第二获取模块,用于获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;匹配模块,用于对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;验证模块,用于对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
根据本发明的又一实施例,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述移动机器人的定位修正方法。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,整体环境地图包括:第一栅格地图,移动机器人在第一栅格地图的不同像素点所对应的不同位姿;获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;对第一栅格地图和第二栅格地图进行匹配,以从不同位姿中确定移动机器人在当前区域的一个或多个第一位姿;对一个或多个第一位姿进行位置验证,将一个或多个位姿中通过位置验证的目标位姿作为移动机器人定位修正后的位姿,即在移动机器人需要进行定位修正的情况下,可以先确定移动机器人的一个或多个第一位姿,进而对一个或多个第一位姿进行位置验证,确定移动机器人定位修正后的位姿,采用上述方案,解决了相关技术中,移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题,进而使得移动机器人发生突发状况后,对移动机器人的定位进行了及时地修正。
本发明具有如下有益效果:移动机器人发生突发状况后,对移动机器人的定位进行了及时地修正,使得移动机器人构建的环境地图准确性更高。
【附图说明】
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种移动机器人的定位修正方法的移动机器人的硬件结构框图;
图2是根据本发明实施例的移动机器人的定位修正方法的流程图;
图3是根据本发明实施例的移动机器人的定位修正装置的结构框图;
图4是根据本发明实施例的移动机器人的定位修正装置的另一结构框图。
【具体实施方式】
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在移动机器人,或者类似的运算装置中执行。以运行在移动机器人上为例,图1是本发明实施例的一种移动机器人的定位修正方法的移动机器人的硬件结构框图。如图1所示,移动机器人可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述移动机器人还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动机器人的结构造成限定。例如,移动机器人还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的移动机器人的移动机器人的定位修正方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动机器人的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种移动机器人的定位修正方法,应用于移动机器人中,图2是根据本发明实施例的移动机器人的定位修正方法的流程图,该流程包括如下步骤:
步骤S202:在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;
需要说明的是,在移动机器人的存储器或从远程服务器中获取所述移动机器人在正常情况下构建的行进区域所对应的整体环境地图,其中,所述移动机器人在正常情况下构建整体环境地图的方法为:通过移动机器人上设置的激光测距传感器构建栅格地图,通过激光测距传感器和惯性导航传感器共同定位移动机器人的当前位姿,其中,位姿包括移动机器人坐标和倾角;通过移动机器人上设置的视觉传感器采集图像,将视觉传感器采集到的图像输入到训练好的人工智能图像模型中,实时得到图像中的物体类别和得分,将栅格地图、移动机器人位姿、物体图像、物体类别和得分保存至环境地图中。需要说明的是,以上仅为构建整体环境地图的一个示例,本实施例并不对此进行限定。
步骤S204:获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;
具体的,通过所述移动机器人上设置的激光测距传感器对所述移动机器人所在的当前区域进行扫描,以获取所述激光测距传感器构建的第二栅格地图。
步骤S206:对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;
步骤S208:对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
通过本发明实施例,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图;获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;对第一栅格地图和第二栅格地图进行匹配,以从不同位姿中确定移动机器人在当前区域的一个或多个第一位姿;对一个或多个第一位姿进行位置验证,将一个或多个位姿中通过位置验证的目标位姿作为移动机器人定位修正后的位姿,即在移动机器人需要进行定位修正的情况下,可以先确定移动机器人的一个或多个第一位姿,进而对一个或多个第一位姿进行位置验证,确定移动机器人定位修正后的位姿,采用上述方案,解决了相关技术中,移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题,进而使得移动机器人发生突发状况后,对移动机器人的定位进行了及时地修正。
上述步骤S208的实现方式有很多种,本发明实施例给出了一种实现方式,具体的:
步骤1:对于所述一个或多个第一位姿中的任一位姿,指示所述移动机器人按照所述任一位姿移动至所述整体环境地图中的目标路标所对应的位置;
也就是说,从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿后,移动机器人以第一位姿中的任一位姿移动到目标位置,所述任一位姿为多个第一位姿中的任意一个位姿,其中,目标位置为目标路标对应的位置,目标路标可以为整体环境地图中距离移动机器人最近的路标,也可以是预先设置的路标,本发明实施例对此不做限定。其中,路标可以是预先设置的标志性物体,例如沙发、冰箱等。
步骤2:在所述移动机器人按照所述任一位姿移动到所述位置的情况下,通过所述移动机器人在所述位置对所述目标路标进行拍照,以获取第一图像;
可以理解为,移动机器人以第一位姿中的任一位姿移动到目标路标对应的位置后,移动机器人为所述目标路标拍照以获取目标路标对应的第一图像,其中,所述移动机器人上设置有视觉传感器,即通过视觉传感器对目标路标进行拍照,进而得到上述第一图像。
步骤3:获取所述第一图像的以下至少之一第一参数信息:第一像素信息,所述第一图像的第一物体类别,以及所述第一物体类别的第一得分;
具体的,将所述第一图像输入到已训练好的人工智能图像模型中,以获取到所述第一图像的第一物体类别,以及所述第一物体类别的第一得分;需要说明的是,人工智能图像模型可以通过在网络上收集到的图像和移动机器人获取到的图像训练得到的,移动机器人通过视觉传感器采集到第一图像后,将视觉传感器采集到的第一图像输入到训练好的人工智能图像模型中,实时得到第一图像中第一物体类别和第一得分,其中,第一图像像素信息通过第一图像获取,第一得分可以理解为所述人工智能图像模型将第一图像识别到的物体的可信度的得分,例如,将第一图像输入到人工智能图像模型中,将第一图像中的物体为椅子的可信度为90分,也可以理解为第一图像中的物体为椅子的可能性为90%。
步骤4:获取所述第二图像的以下至少之一第二参数信息:第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分;
具体的,在所述整体环境地图中获取所述目标路标对应的第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分;其中,将所述第二图像输入到已训练好的人工智能图像模型中,获取到所述第二图像的第二物体类别,以及所述第二物体类别的第二得分,并将所述第二图像的第二物体类别,所述第二物体类别的第二得分,以及通过第二图像获取的第二像素信息保存至所述整体环境地图中;
也就是说,移动机器人在正常工作状态下,通过视觉传感器采集到第二图像后,将视觉传感器采集到的第二图像输入到训练好的人工智能图像模型中,实时得到第二图像中第二物体类别和第二得分,并将实时保存至整体环境地图中。
需要说明的是,上述第一像素信息和第二像素信息可以是通过第一图像和第二图像获取得到。
步骤5:将所述第一参数信息和所述第二参数信息进行匹配,其中,在匹配结果满足预设条件的情况下,确定所述任一位姿通过位置验证。
具体的,所述预设条件包括以下至少之一:所述第一像素信息和所述第二像素信息的第一相似度大于第一预设阈值,所述第一物体类别和所述第二物体类别的第二相似度大于第二预设阈值,以及所述第一得分和第二得分的差值小于第三预设阈值。
也就是说,获取到第一图像的第一像素信息、第一物体类别、第一得分和第二图像的第二像素信息、第二物体类别、第二得分之后,将所述第一像素信息和所述第二像素信息,和/或,所述第一物体类别和所述第二物体类别,和/或,所述第一得分和所述第二得分进行匹配,判断第一像素信息和所述第二像素信息的第一相似度是否大于第一预设阈值;所述第一物体类别和所述第二物体类别的第二相似度是否大于第二预设阈值,以及所述第一得分和第二得分的差值是否小于第三预设阈值,根据情况,在所述第一像素信息和所述第二像素信息的第一相似度大于第一预设阈值,和/或,所述第一物体类别和所述第二物体类别的第二相似度大于第二预设阈值,和/或,所述第一得分和第二得分的差值小于第三预设阈值的情况下,确定所述任一位姿通过位置验证。
可以理解的是,上述一个或多个第一位姿可以理解为一个位姿初始集合,任一位姿的选取可以理解为是遍历所述位姿初始集合中的第一位姿来实现的,具体到方案中,依次遍历位姿初始集合中的第一位姿,以依次指示所述移动机器人按照对应的第一位姿移动至所述整体环境地图中的目标路标所对应的位置;在所述移动机器人按照第一位姿移动到所述位置的情况下,通过所述移动机器人在所述位置对所述目标路标进行拍照,以获取第一图像;将所述第一图像与所述整体环境地图中所述目标路标的第二图像进行匹配,并根据匹配结果对所述任一位姿进行位置验证,进而判断位姿初始集合中的第一位姿是否满足作为定位修正后的位姿的条件。
进一步的,假设所述移动机器人不能移动到所述位置的情况下或在所述匹配结果指示所述第一图像和所述第二图像的相似度未超过预设阈值的情况下,确定所述任一位姿未通过所述位置验证,则继续遍历下一个位姿,直至确定了当前位姿。
在一个可选实施例中,获取所述第一图像的第一像素信息,所述第一图像的第一物体类别,以及所述第一物体类别的第一得分,以及获取所述第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分之后,在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
可以理解为,在第一图像对应的第一物体类别和第二图像对应的第二物体类别的情况下,比较第一得分和所述第二得分的大小关系,在指示第一得分大于第二得分的情况下,将第一图像对应的第一像素信息、第一物体类别、第一得分保存至整体环境地图中。
进一步的,在所述移动机器人的定位需要修正的状态下,获取到第一物体类别后,在所述整体环境地图中未检测到第一物体类别,将所述第一物体类别保存在所述整体环境地图中,例如,在所述任一位姿通过位置验证之后件任一位姿作为目标位姿,移动机器人按照目标位姿进行移动,继续对移动机器人的行进区域进行扫描,移动机器人获取第一图像,确定第一图像对应的第一物体类别,在所述整体环境地图中确定是否具有第一物体类别,在检测不到第一物体类别的情况下,将所述第一物体类别保存在所述整体环境地图中,本实施例也适用于在移动机器人的定位不需要修正的情境下,本发明实施例对使用场景不做限定。
在一个可选实施例中,在所述整体环境地图中未检测到所述第一物体类别的情况下,将所述第一物体类别保存在所述整体环境地图中;在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
举例来说,在整体地图中的保存的第二图像对应的第二物体类别为冰箱,第二得分为80,本次获取的第一图像对应的第一物体类别也为冰箱,第一得分为90分,则将第一图像对应的第一像素信息、第一物体类别、第一得分90分保存至整体环境地图中,如果,本次获取的第一图像对应的第一物体类别为沙发,第一得分为80分,但是未在在整体地图中检测到物体类别为沙发的第二图像,此时直接将第一图像对应的第一像素信息、第一物体类别:沙发、第一得分80分保存至整体环境地图中。
在一个示例性实施例中,获取移动机器人的行进区域所对应的整体环境地图之前,通过以下方式确定移动机器人处于所述预设状态:获取所述移动机器人的位姿数据;在所述位姿数据出现异常的情况下,确定所述移动机器人需要定位修正,以确定所述移动机器人处于所述预设状态。
可以理解为,移动机器人实时监测获取的位姿数据,在获取到的位姿数据与预设阈值存在异常的情况下,确定移动机器人的定位需要修正。
具体的,通过以下方式之一确定所述位姿数据出现异常:检测所述移动机器人设置的悬崖传感器获取的数据异常;检测到所述激光测距传感器获取的数据点异常;通过所述移动机器人上设置的惯性导航传感器检测到所述移动机器人的倾斜角度异常;检测到所述移动机器人获取的相邻两帧物体图像的坐标差值异常。
也可以理解为,在检测到当悬崖传感器获取的数据异常,如移动机器人被搬动;检测到激光测距传感器数据异常,如移动机器人采集的数据点过少;惯性导航单元检测到移动机器人倾斜角度超过第五预设阈值;移动机器人获取的相邻两帧物体图像的坐标差值大于第六预设阈值,说明移动机器人处于非正常状态,此时需要对移动机器人进行定位修正。
在一个示例性实施例中,在所述一个或多个第一位姿均未通过所述位置验证的情况下,清空所述整体环境地图。
也就是说,所述一个或多个第一位姿均不是移动机器人的当前位姿,即此时对移动机器人的定位并不准确,因此将整体环境地图进行清空,以便再次确定移动机器人的一个或多个第一位姿。
为了更好理解上述移动机器人的定位修正方法,以下结合可选实施例对上述技术方案进行解释说明,但不用于限定本发明实施例的技术方案。
在一个示例性实施例中,移动机器人的定位修正方法具体步骤如下:
步骤A:移动机器人在正常运行过程中,构建环境地图;
具体的,通过移动机器人上设置的激光测距传感器构建栅格地图,通过激光测距传感器和惯性导航传感器共同定位移动机器人的当前位姿,其中,位姿包括移动机器人坐标和倾角,也可以理解为移动机器人位置和姿态;通过移动机器人上设置的视觉传感器采集图像,将视觉传感器采集到的图像输入到训练好的人工智能图像模型中,实时得到图像中的物体类别和可靠性得分,其中,所述人工智能图像模型可以根据网络上收集到的图像和视觉传感器采集到的图像进行训练。在已保存的环境地图中,搜索移动机器人预设阈值内的局部环境地图,如移动机器人2m范围内的环境地图,如果当前检测的物体类别是局部地图中不存在的物体类别,则将获取的图像、物体类别和可靠性得分新增到环境地图中;如果是局部地图中已知的物体类别,则判断获取的图像的可靠性得分和局部地图的图像的可靠性得分,将可靠性得分较高的物体信息保存至环境地图中,环境地图中保存以下至少之一:栅格地图、移动机器人位姿、物体图像、物体类别和可靠性得分。
步骤B:获取移动机器人当前的运行状态,所述运行状态包括:正常状态和非正常状态;
其中,通过以下方式之一确定移动机器人当前的运行状态为非正常状态:检测所述移动机器人设置的悬崖传感器获取的数据异常,如移动机器人被搬动;检测到激光测距传感器获取的数据点异常,如移动机器人采集的数据点过少;通过移动机器人的惯性导航单元检测到移动机器人倾斜超过第一阈值;移动机器人获取的相邻两帧间的图像的定位差值超过第二阈值;此时需要对移动机器人进行定位修正,在其他情况下均为正常状态。
步骤C:移动机器人处于非正常状态下,对移动机器人的定位进行修正。
具体的,根据预先设定的移动机器人行走策略,如以移动机器人为中心进行十字型行走,由移动机器人上设置的激光测距传感器构建临时栅格地图,将临时栅格地图与保存的环境地图中的栅格地图(相当于上述实施例中的第一栅格地图和第二栅格地图)进行匹配,确定一个或多个当前位姿,并将一个或多个当前位姿作为位姿初值候选集,在位姿初值候选集中确定最终当前位姿。具体的,遍历位姿初值候选集,假设位姿初值为当前位姿,尝试将移动机器人导航至保存的环境地图中特定路标的位置,其中,特定路标(相当于上述实施例中的目标路标)可为距离移动机器人最近的路标或预先设定的标志性路标,若移动机器人可以到达特定路标对应的位置,则将当前视觉传感器的第一图像信息及人工智能图像模型识别的第一图像信息对应的第一物体类别和第一物体得分与保存的环境地图中的路标对应的第二图像信息、第二图像信息对应的第二物体类别和第二物体得分进行比较,若图像相似度,类别相似度及得分相似度均高于预设阈值,当前位姿为最终当前位姿;若不能到达路标位置或图像相似度,物体相似度或得分相似度低于预设阈值,则继续遍历位姿初值候选集的下一个位姿。若在位姿初值候选集的所有位姿均不满足预设条件的情况下,则认为移动机器人定位失败,清空环境地图信息。
通过本发明实施例,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,获取第二栅格地图;对第一栅格地图和第二栅格地图进行匹配,以从不同位姿中确定移动机器人在当前区域的一个或多个第一位姿;对一个或多个第一位姿进行位置验证,将一个或多个位姿中通过位置验证的目标位姿作为移动机器人定位修正后的位姿,即在移动机器人需要进行定位修正的情况下,可以先确定移动机器人的一个或多个第一位姿,进而对一个或多个第一位姿进行位置验证,确定移动机器人定位修正后的位姿,采用上述方案,解决了相关技术中,移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题,进而使得移动机器人发生突发状况后,对移动机器人的定位进行了及时地修正。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了移动机器人的定位修正装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的移动机器人的定位修正装置的结构框图,如图3所示,包括:
第一获取模块32,用于在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;
需要说明的是,在移动机器人的存储器或从远程服务器中获取所述移动机器人在正常情况下构建的行进区域所对应的整体环境地图,其中,所述移动机器人在正常情况下构建整体环境地图的方法为:通过移动机器人上设置的激光测距传感器构建栅格地图,通过激光测距传感器和惯性导航传感器共同定位移动机器人的当前位姿,其中,位姿包括移动机器人坐标和倾角;通过移动机器人上设置的视觉传感器采集图像,将视觉传感器采集到的图像输入到训练好的人工智能图像模型中,实时得到图像中的物体类别和得分,将栅格地图、移动机器人位姿、物体图像、物体类别和得分保存至环境地图中,需要说明的是,以上仅为构建整体环境地图的一个示例,本实施例并不对此进行限定。
第二获取模块34,获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;
具体的,通过所述移动机器人上设置的激光测距传感器对所述移动机器人所在的当前区域进行扫描,以获取所述激光测距传感器构建的第二栅格地图。
匹配模块36,用于对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;
验证模块38,用于对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
通过本发明实施例,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;对第一栅格地图和第二栅格地图进行匹配,以从不同位姿中确定移动机器人在当前区域的一个或多个第一位姿;对一个或多个第一位姿进行位置验证,将一个或多个位姿中通过位置验证的目标位姿作为移动机器人定位修正后的位姿,即在移动机器人需要进行定位修正的情况下,可以先确定移动机器人的一个或多个第一位姿,进而对一个或多个第一位姿进行位置验证,确定移动机器人定位修正后的位姿,采用上述方案,解决了相关技术中,移动机器人发生突发状况时,无法对移动机器人的定位进行修正,进而导致移动机器人构建的环境地图不准确等问题,进而使得移动机器人发生突发状况后,对移动机器人的定位进行了及时地修正。
在一个示例性实施例中,上述装置,所述验证模块,还用于对于所述一个或多个第一位姿中的任一位姿,指示所述移动机器人按照所述任一位姿移动至所述整体环境地图中的目标路标所对应的位置;在所述移动机器人按照所述任一位姿移动到所述位置的情况下,通过所述移动机器人在所述位置对所述目标路标进行拍照,以获取第一图像;以及还用于将所述第一图像与所述整体环境地图中所述目标路标的第二图像进行匹配,并根据匹配结果对所述任一位姿进行位置验证。
也就是说,从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿后,移动机器人以第一位姿中的任一位姿移动到目标位置,所述任一位姿为多个第一位姿中的任意一个位姿,其中,目标位置为目标路标对应的位置,目标路标可以为整体环境地图中距离移动机器人最近的路标,也可以是预先设置的路标,本发明实施例对此不做限定,移动机器人以第一位姿中的任一位姿移动到目标路标对应的位置后,所述移动机器人上设置有视觉传感器,移动机器人通过视觉传感器为所述目标路标拍照以获取目标路标对应的第一图像,在整体环境地图中获取目路标对应的第二图像,通过对第一图像和第二图像进行匹配验证任一位姿,其中,路标可以是预先设置的标志性物体,例如沙发、冰箱等。
在一个示例性实施例中,所述匹配模块,还用于在所述匹配结果指示所述第一图像和所述第二图像的相似度超过预设阈值的情况下,确定所述任一位姿通过所述位置验证;在所述匹配结果指示所述第一图像和所述第二图像的相似度未超过预设阈值的情况下,确定所述任一位姿未通过所述位置验证。
举例来说,预设阈值为60%,在第一图像和第二图像的相似度为70%的情况下,确定所述任一位姿通过所述位置验证,在第一图像和第二图像的相似度为30%的情况下,确定所述任一位姿未通过所述位置验证。
在一个示例性实施例中,第二获取模块,还用于获取所述第一图像的以下至少之一第一参数信息:第一像素信息,所述第一图像的第一物体类别,以及所述第一物体类别的第一得分,以及获取所述第二图像的以下至少之一第二参数信息:第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分;将所述第一参数信息和所述第二参数信息进行匹配,其中,在匹配结果满足预设条件的情况下,确定所述任一位姿通过位置验证,所述预设条件包括以下至少之一:所述第一像素信息和所述第二像素信息的第一相似度大于第一预设阈值,所述第一物体类别和所述第二物体类别的第二相似度大于第二预设阈值,以及所述第一得分和第二得分的差值小于第三预设阈值。
也就是说,获取到第一图像的第一像素信息、第一物体类别、第一得分和第二图像的第二像素信息、第二物体类别、第二得分之后,将所述第一像素信息和所述第二像素信息,和/或,所述第一物体类别和所述第二物体类别,和/或,所述第一得分和所述第二得分进行匹配,判断第一像素信息和所述第二像素信息的第一相似度是否大于第一预设阈值;所述第一物体类别和所述第二物体类别的第二相似度是否大于第二预设阈值,以及所述第一得分和第二得分的差值是否小于第三预设阈值,根据情况,在所述第一像素信息和所述第二像素信息的第一相似度大于第一预设阈值,和/或,所述第一物体类别和所述第二物体类别的第二相似度大于第二预设阈值,和/或,所述第一得分和第二得分的差值小于第三预设阈值的情况下,确定所述任一位姿通过位置验证。
可以理解的是,上述一个或多个第一位姿可以理解为一个位姿初始集合,任一位姿的选取可以理解为是遍历所述位姿初始集合中的第一位姿来实现的,具体到方案中,依次遍历位姿初始集合中的第一位姿,以依次指示所述移动机器人按照对应的第一位姿移动至所述整体环境地图中的目标路标所对应的位置;在所述移动机器人按照第一位姿移动到所述位置的情况下,通过所述移动机器人在所述位置对所述目标路标进行拍照,以获取第一图像;将所述第一图像与所述整体环境地图中所述目标路标的第二图像进行匹配,并根据匹配结果对所述任一位姿进行位置验证,进而判断位姿初始集合中的第一位姿是否满足作为定位修正后的位姿的条件。
进一步的,假设所述移动机器人不能移动到所述位置的情况下或在所述匹配结果指示所述第一图像和所述第二图像的相似度未超过预设阈值的情况下,确定所述任一位姿未通过所述位置验证,则继续遍历下一个位姿,直至确定了当前位姿。
在一个示例性实施例中,图4是根据本发明实施例的移动机器人的定位修正装置的另一结构框图,上述装置,还包括,输入模块40,用于将所述第一图像输入到已训练好的人工智能图像模型中,以获取到所述第一图像的第一物体类别,以及所述第一物体类别的第一得分;以及将所述第二图像输入到已训练好的人工智能图像模型中,以获取到所述第二图像的第二物体类别,以及所述第二物体类别的第二得分,并将所述第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分保存至所述整体环境地图中,在所述整体环境地图获取所述第二图像的第二像素信息,所述第二图像的第二物体类别,以及所述第二物体类别的第二得分。
需要说明的是,人工智能图像模型可以通过在网络上收集到的图像和移动机器人获取到的图像训练得到的,移动机器人通过视觉传感器采集到第一图像后,将视觉传感器采集到的第一图像输入到训练好的人工智能图像模型中,实时得到第一图像中的第一物体类别和第一得分;移动机器人在正常工作状态下,通过视觉传感器采集到第二图像后,将视觉传感器采集到的第二图像输入到训练好的人工智能图像模型中,实时得到第二图像中的第二物体类别和第二得分,并将实时保存至整体环境地图中。
在一个示例性实施例中,如图4所示,上述装置,还包括:保存模块42,用于在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
可以理解为,在第一图像对应的第一物体类别和第二图像对应的第二物体类别的情况下,比较第一得分和所述第二得分的大小关系,在指示第一得分大于第二得分的情况下,将第一图像对应的第一像素信息、第一物体类别、第一得分保存至整体环境地图中。
进一步的,在所述移动机器人的定位需要修正的状态下,获取到第一物体类别后,在所述整体环境地图中未检测到第一物体类别,将所述第一物体类别保存在所述整体环境地图中,例如,在所述任一位姿通过位置验证之后件任一位姿作为目标位姿,移动机器人按照目标位姿进行移动,继续对移动机器人的行进区域进行扫描,移动机器人获取第一图像,确定第一图像对应的第一物体类别,在所述整体环境地图中确定是否具有第一物体类别,在检测不到第一物体类别的情况下,将所述第一物体类别保存在所述整体环境地图中,本实施例也适用于在移动机器人的定位不需要修正的情境下,本发明实施例对使用场景不做限定。
在一个示例性实施例中,如图4所示,上述装置,还包括:保存模块42,还用于在所述移动机器人的定位不需要修正的状态下,在所述整体环境地图中未检测到所述第一物体类别的情况下,将所述第一物体类别保存在所述整体环境地图中;在所述第一物体类别和所述第二物体类别指示同一物体类别的情况下,将所述第一得分和所述第二得分中的较高得分更新保存在所述整体环境地图中。
举例来说,在整体地图中的保存的第二图像对应的第二物体类别为冰箱,第二得分为80,本次获取的第一图像对应的第一物体类别也为冰箱,第一得分为90分,则将第一图像对应的第一像素信息、第一物体类别、第一得分90分保存至整体环境地图中,如果,本次获取的第一图像对应的第一物体类别为沙发,第一得分为80分,但是未在在整体地图中检测到物体类别为沙发的第二图像,此时直接将第一图像对应的第一像素信息、第一物体类别:沙发、第一得分80分保存至整体环境地图中。
在一个示例性实施例中,确定模块,还用于通过以下方式确定移动机器人处于所述预设状态:获取所述移动机器人的位姿数据;在所述位姿数据出现异常的情况下,确定所述移动机器人需要定位修正,以确定所述移动机器人处于所述预设状态。
可以理解为,移动机器人实时监测获取的位姿数据,在获取到的位姿数据与预设阈值存在异常的情况下,确定移动机器人的定位需要修正。
在一个示例性实施例中,确定模块,还用于通过以下方式之一确定所述位姿数据出现异常:检测所述移动机器人设置的悬崖传感器获取的数据异常;检测到所述激光测距传感器获取的数据点异常;通过所述移动机器人上设置的惯性导航传感器检测到所述移动机器人的倾斜角度异常;检测到所述移动机器人获取的相邻两帧物体图像的坐标差值异常。
也可以理解为,在检测到当悬崖传感器获取的数据异常,如移动机器人被搬动;检测到激光测距传感器数据异常,如移动机器人采集的数据点过少;惯性导航单元检测到移动机器人倾斜角度超过第五预设阈值;移动机器人获取的相邻两帧物体图像的坐标差值大于第六预设阈值,说明移动机器人处于非正常状态,此时需要对移动机器人进行定位修正。
在一个示例性实施例中,如图4所示,上述装置,还包括,清空模块44,用于在所述一个或多个第一位姿均未通过所述位置验证的情况下,清空所述整体环境地图。
也就是说,所述一个或多个第一位姿均不是移动机器人的当前位姿,即此时对移动机器人的定位并不准确,因此将整体环境地图进行清空,以便再次确定移动机器人的一个或多个第一位姿。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;
S2,获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;
S3,对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;
S4,对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在检测到移动机器人处于预设状态的情况下,获取移动机器人的行进区域所对应的整体环境地图,其中,所述整体环境地图包括:第一栅格地图,所述移动机器人在所述第一栅格地图的不同像素点所对应的不同位姿;
S2,获取第二栅格地图,其中,所述第二栅格地图用于指示所述移动机器人所在的当前区域;
S3,对所述第一栅格地图和所述第二栅格地图进行匹配,以从所述不同位姿中确定所述移动机器人在所述当前区域的一个或多个第一位姿;
S4,对所述一个或多个第一位姿进行位置验证,将所述一个或多个位姿中通过位置验证的目标位姿作为所述移动机器人定位修正后的位姿。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种移动机器人,该移动机器人包括:主体、驱动组件、激光测距传感器、视觉传感器以及控制器。驱动组件用于移动机器人在工作区域行走。激光测距传感器用于构建栅格地图,视觉传感器用于采集图像。控制器用于在检测到移动机器人需要进行定位修正的情况下,获取移动机器人的行进区域所对应的整体环境地图;通过激光测距传感器对移动机器人所在的当前区域进行扫描,以获取激光测距传感器构建的第二栅格地图;对第一栅格地图和第二栅格地图进行匹配,以从不同位姿中确定移动机器人在当前区域的一个或多个第一位姿;对一个或多个第一位姿进行位置验证,将一个或多个位姿中通过位置验证的目标位姿作为移动机器人定位修正后的位姿。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 移动机器人的定位修正方法和装置、存储介质、电子装置
- 移动机器人定位建图方法、装置、移动机器人和存储介质