本发明涉及导航,具体涉及一种消除slam导航累积误差的方法。
背景技术:
1、slam导航是一种先进的技术,主要用于机器人、无人驾驶等领域。其核心思想是在未知环境中,让移动主体(如机器人)在运动过程中同时确定自身位置和构建周围环境的地图。
2、slam导航使得机器人等能够在没有先验地图的情况下自主探索和导航,极大地提高了它们的自主性和适应性。它为智能移动系统在复杂、未知环境中的有效运行提供了关键支撑,在仓储物流、自动驾驶、智能家居等众多领域都有重要应用和广阔的发展前景。
3、在slam技术应用于建模机器人时,建模机器人移动采集场景各点位置信息构建场景模型的过程中,机器人移动产生的误差往往难以估计及修正,从而导致建模机器人采集场景各点位置信息基于slam技术进行场景建模时,因误差的存在导致场景建模不准,或无法构建完整闭环的场景模型。
技术实现思路
1、针对现有技术所存在的上述缺点,本发明提供了一种消除slam导航累积误差的方法,解决了上述背景技术中提出的技术问题。
2、为实现以上目的,本发明通过以下技术方案予以实现:
3、一种消除slam导航累积误差的方法,包括:
4、接收建模机器人实时采集的位置信息,设定建模机器人移动逻辑,基于移动逻辑控制建模机器人再次运行移动,并同步执行建模机器人上一次采集位置信息的再次采集;
5、获取建模机器人上一次采集位置信息时,建模机器人至采集位置信息的距离,获取建模机器人再次采集上一次采集的位置信息时,基于移动逻辑移动的距离,根据两组距离测算建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离,同步获取建模机器人再次采集上一次采集位置信息时,建模机器人至采集位置信息的距离;
6、所述建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离的测算逻辑为:
7、
8、式中:c为建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离;a为建模机器人上一次采集位置信息时,建模机器人至采集位置信息的距离;b为建模机器人基于移动逻辑移动的距离;cosc为距离a与距离b对应线段所呈夹角的余弦值;
9、基于测算逻辑所得的距离,及建模机器人再次采集上一次采集位置信息时建模机器人至采集位置信息的距离,分析误差产生速率,根据误差产生速率对当前建模机器人采集的位置信息进行校正;
10、配置先验数据,设定建模机器人位置信息采集频率,基于先验数据及建模机器人位置信息采集频率对校正后建模机器人采集的位置信息进行再次校正。
11、更进一步地,所述建模机器人集成部件包括移动设备、测距传感器及摄像头,建模机器人基于slam控制运行,由移动设备携带测距传感器及摄像头移动,测距传感器测量自身测距端到测距目标上一点的距离,并基于初始位置信息结合测距结果,获取测距目标上一点相对于初始位置信息的位置信息,摄像头同步采集自身摄像端至测距目标上一点视角下的测距目标图像;
12、其中,测距传感器测距端、摄像头的摄像端及测距目标上一点处于同一直线上;
13、所述建模机器人移动逻辑包括:监测建模机器人实时采集的位置信息是否被接收,在建模机器人实时采集的位置信息被接收后,设定偏转角度及额定移动距离,控制建模机器人基于偏转角度转动,并在转动操作执行结束后,再次控制建模机器人基于设定的额定移动距离移动;
14、其中,设定的偏转角度服从:建模机器人实时采集的位置信息与建模机器人初始位置信息距离越远,则设定的偏转角度越大;建模机器人实时采集的位置信息与建模机器人初始位置信息距离越近,则设定的偏转角度越小,设定的额定移动距离由用户端设定。
15、更进一步地,所述移动设备与测距传感器及摄像头之间基于电动万向轴连接,测距传感器在测量自身测距端到测距目标上一点的距离后,同步识别测距目标上一点于摄像头采集测距目标图像中对应的区域,进一步于对应区域中获取区域图像中心,记作标记中心;
16、建模机器人在基于移动逻辑移动时,测距传感器及摄像头基于电动万向轴同步控制运动,使摄像头实时采集的测距目标图像的中心,始终为标记中心。
17、更进一步地,所述建模机器人至采集位置信息的距离即:测距传感器的测距端到测距目标上一点的距离;
18、测算建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离阶段,同步于建模机器人移动逻辑中获取偏转角度,即cosc,结合偏转角度测算建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离。
19、更进一步地,所述测算逻辑所得的距离记作x,建模机器人再次采集上一次采集位置信息时建模机器人至采集位置信息的距离记作y,所述误差产生速率分析逻辑表示为:
20、
21、式中:d为建模机器人再次采集上一次采集位置信息时建模机器人基于移动逻辑移动的距离;
22、误差产生速率f在求取后,进一步对建模机器人上一次采集的位置信息进行校正,校正过程为:
23、s1:应用建模机器人上一次采集的位置信息阶段,测距传感器测量到的自身测距端到测距目标上一点的距离,记作d0;
24、s2:根据测距传感器初始位置信息、测距时测距传感器测距端角度、及d0±d0×f的值,获取测距目标上一点相对于初始位置信息的位置信息。
25、更进一步地,对当前建模机器人采集的位置信息进行校正阶段,同步基于建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离,及建模机器人基于移动逻辑移动后的位置信息,获取测距目标上一点相对于初始位置信息的位置信息,记作(j,k,l);
26、基于建模机器人上一次采集位置信息时,建模机器人至采集位置信息的距离,及建模机器人上一次采集位置信息时位置信息,获取测距目标上一点相对于初始位置信息的位置信息,记作(j′,k′,l′);
27、
28、式中:为(j,k,l)到测距传感器初始位置信息的距离;为(j′,k′,l′)到测距传感器初始位置信息的距离;
29、其中,式(1)成立,则对当前建模机器人采集的位置信息进行校正阶段应用的值为d0-d0×f,式(2)成立,则对当前建模机器人采集的位置信息进行校正阶段应用的值为d0+d0×f,式(1)与式(2)均不成立时,判定建模机器人当前测距操作无效,再次执行测距目标上相同点的测距,连续判定两次建模机器人当前测距操作无效时,则判定当前建模机器人采集位置信息无误差,进一步执行下一测距目标上点的测距及定位。
30、更进一步地,所述先验数据为已知的两点及两点间间距,建模机器人位置信息采集频率由用户端设定,建模机器人位置信息采集频率即建模机器人中测距传感器运行频率,建模机器人在执行位置信息采集前,基于建模机器人位置信息采集频率对先验数据中已知的两点进行重复的间距采集,采集结果记作d1、d2、...dx-1、dx,基于采集结果获取最接近先验数据中两点间间距的值,以获取的值与先验数据中两点间间距求差,进一步求取差值与两点间间距的比值,应用比值对校正后建模机器人采集的位置信息进行再次校正。
31、更进一步地,基于采集结果获取最接近先验数据中两点间间距的值可以是:
32、中任意一组;
33、式中:dmax为d1、d2、...dx-1、dx中最大值;dmin为d1、d2、...dx-1、dx中最小值;ds为d1、d2、...dx-1、dx中最接近先验数据中两点间间距的值。
34、更进一步地,对校正后建模机器人采集的位置信息进行再次校正操作为:
35、(d0±d0×f)+(d0±d0×f)×k;
36、式中:k为求取最接近先验数据中两点间间距的值与先验数据中两点间间距的差值后,差值与先验数据中两点间间距的比值;
37、其中,(d0±d0×f)+(d0±d0×f)×k为经过两次校正得到的测距传感器测距端到测距目标上一点的距离,基于测距传感器执行测距操作时的位置信息、(d0±d0×f)+(d0±d0×f)×k的值、测距传感器测距端角度,获取测距目标上一点相对于初始位置信息的位置信息。
38、采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
39、本发明提供一种消除slam导航累积误差的方法,该方法在执行过程中,综合考虑建模机器人移动产生的误差及建模机器人上传感设备测距过程中产生的误差,对最终测距结果进行修正,从而基于修正的测距结果,在slam中结合测距方向、测距初始点位,对slam最终处理输出的采集待测目标上一点的位置信息进行误差消除,使得slam配置于建模机器人运行,能够采集到更加精准的位置信息,以实现精准待测目标所在待测场景的精准构建,较大限度降低因误差累积导致建模环路无法闭环的可能性及严重性。
1.一种消除slam导航累积误差的方法,其特征在于,包括:
2.根据权利要求1所述的一种消除slam导航累积误差的方法,其特征在于,所述建模机器人集成部件包括移动设备、测距传感器及摄像头,建模机器人基于slam控制运行,由移动设备携带测距传感器及摄像头移动,测距传感器测量自身测距端到测距目标上一点的距离,并基于初始位置信息结合测距结果,获取测距目标上一点相对于初始位置信息的位置信息,摄像头同步采集自身摄像端至测距目标上一点视角下的测距目标图像;
3.根据权利要求2所述的一种消除slam导航累积误差的方法,其特征在于,所述移动设备与测距传感器及摄像头之间基于电动万向轴连接,测距传感器在测量自身测距端到测距目标上一点的距离后,同步识别测距目标上一点于摄像头采集测距目标图像中对应的区域,进一步于对应区域中获取区域图像中心,记作标记中心;
4.根据权利要求1所述的一种消除slam导航累积误差的方法,其特征在于,所述建模机器人至采集位置信息的距离即:测距传感器的测距端到测距目标上一点的距离;
5.根据权利要求1所述的一种消除slam导航累积误差的方法,其特征在于,所述测算逻辑所得的距离记作x,建模机器人再次采集上一次采集位置信息时建模机器人至采集位置信息的距离记作y,所述误差产生速率分析逻辑表示为:
6.根据权利要求1或5所述的一种消除slam导航累积误差的方法,其特征在于,对当前建模机器人采集的位置信息进行校正阶段,同步基于建模机器人再次采集上一次采集的位置信息时,建模机器人至采集位置信息的距离,及建模机器人基于移动逻辑移动后的位置信息,获取测距目标上一点相对于初始位置信息的位置信息,记作(j,k,l);
7.根据权利要求1所述的一种消除slam导航累积误差的方法,其特征在于,所述先验数据为已知的两点及两点间间距,建模机器人位置信息采集频率由用户端设定,建模机器人位置信息采集频率即建模机器人中测距传感器运行频率,建模机器人在执行位置信息采集前,基于建模机器人位置信息采集频率对先验数据中已知的两点进行重复的间距采集,采集结果记作d1、d2、...dx-1、dx,基于采集结果获取最接近先验数据中两点间间距的值,以获取的值与先验数据中两点间间距求差,进一步求取差值与两点间间距的比值,应用比值对校正后建模机器人采集的位置信息进行再次校正。
8.根据权利要求7所述的一种消除slam导航累积误差的方法,其特征在于,基于采集结果获取最接近先验数据中两点间间距的值可以是:
9.根据权利要求1或7所述的一种消除slam导航累积误差的方法,其特征在于,对校正后建模机器人采集的位置信息进行再次校正操作为: