本技术涉及机器人定位,尤其涉及回环检测方法、自移动设备、计算机可读存储介质和计算机设备。
背景技术:
1、目前商用清洁、工业物流、商业送餐等领域的移动机器人导航,主要使用人工制作的一些特征进行导航,比如反光柱导航或者二维码导航。由于这些特征需要提前施工布设,后期的维护成本也较高,因此接受度比较低。轮廓导航相较于反光柱导航与二维码导航,减少了环境改造工作与后期复杂的维护工作,成为了一种非常重要的导航方案。
2、在一些简单的应用场景中,如果地图规模不大,环境结构不相似,移动机器人的移动距离并不长,多次回环前的累积距离较短,往往不会发生错误回环。但是在工业(如厂房)或者超市等场景,现场往往存在大面积的相似场景,如果移动机器人在进行构图时,进行大量“之”字形的行进路线,长时间未回环,随着累积距离的增加,回环检测的搜索范围不断放大,在这种情况下,可能会导致错误回环,从而影响整个地图的质量,进而影响自移动设备的定位精度。
3、基于此,本技术提供了回环检测方法、自移动设备、计算机可读存储介质和计算机设备,以改进相关技术。
技术实现思路
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、在一些实施例中,所述自移动设备还包括里程计、惯性测量单元、2d激光传感器和3d激光传感器中的一种或多种。
31、第三方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法。
32、第四方面,本技术提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法。
33、本技术提供了回环检测方法、自移动设备、计算机可读存储介质和计算机设备,在需要进行回环检测时,分析当前关键帧与预先存储的多个历史关键帧的全局位姿信息,以识别出与当前关键帧最为匹配的目标历史关键帧。接下来对当前关键帧,目标历史关键帧及二者之间的历史关键帧的位姿进行优化。然后,利用优化后的位姿信息来确定是否形成有效的回环,即判断回环检测是否成功。两次相对位姿的计算,第一次用于确定与当前关键帧相匹配的目标历史关键帧,第二次用于识别是否引入错误闭环。其中,当自移动设备检测到可能的闭环时,会试探性地调整回环内的所有关键帧的全局位姿信息。如果因为环境的相似性错误地认为两个不同位置的关键帧是同一位置,就会根据错误的信息调整关键帧的全局位姿信息,导致一系列全局位姿信息的错误调整,便于识别出错误闭环,认定回环失败。通过这种方法,可以有效地在环境相似或重复的场景中识别错误的闭环,提高自动导航设备的定位准确性和地图构建的质量,尤其适用于环境复杂或特征重复的区域,如仓库、办公区域等。