本发明涉及移动机器人定位,尤其涉及一种改进的自适应粒子滤波室内机器人定位方法。
背景技术:
1、机器人定位是指确定机器人在世界坐标系中所在位置的坐标值,是移动机器人系统中的重要一环。基于粒子滤波的定位方法具有适用于非线性系统、不依赖高斯分布和线性观测模型,可以在线更新,不需要先验知识或参数等优点,故得到了广泛应用。但是,一般的粒子滤波也有计算复杂度高,实际应用中效率较低;所需计算的样本随环境复杂度增加而大大增加等缺点。
2、下面首先介绍目前广泛使用的粒子滤波算法过程:1.初始化:随机生成一定数量的粒子(也称为粒子或样本),每个粒子都对应于机器人在地图上可能的某个位置。初始状态下,这些粒子的方向和位置一般需要指定一个大致的范围2.预测:根据机器人的运动参数(如里程计读数、速度等),为每个粒子预测其在下一个时间点的位置3.测量:使用传感器数据来评估每个粒子的预测质量。这涉及到比较粒子预测的位置与实际的传感器测量值,并根据差异计算粒子的权重。一般有波束模型和似然域模型来计算权重。权重越高,粒子越有可能被保留;相反,权重较低的粒子则更有可能被删除4.重采样:根据粒子的权重值,重新生成一组粒子。这个过程通过改变粒子集合的概率分布,使得粒子更接近机器人在地图上的真实位置。5.持续迭代:在机器人运动中,不断地重复上述2-4步骤,直到粒子集合收敛至稳定,然后利用聚类算法统计粒子的中心位置,进而得到机器人的位姿估计。
3、目前已经有通过蒙塔卡罗方法,改进测距仪模型,增加里程计模型等手段改进传统粒子滤波算法来提高其在复杂环境下的定位效果的方法。然而在较大规模地图情况下,仍存在计算量大、定位误差大和重定位困难等问题。
技术实现思路
1、有鉴于此,有必要提供一种改进的自适应粒子滤波室内机器人定位系统,用以解决现有技术的上述缺陷。
2、为了解决上述问题,第一方面,本发明提供一种改进的自适应粒子滤波室内机器人定位方法,包括:
3、s1,在原始分辨率的地图基础上,生成分辨率依次降低的若干层地图,构建地图金字塔;其中,地图金字塔中由低层至高层地图分辨率依次递减;
4、s2,在地图金字塔的地图中随机生成一定数量的粒子;
5、s3,根据机器人的运动参数,预测每个粒子在下一个时刻的位置;其中,所述运动参数至少包括里程计读数和速度;
6、s4,根据粒子预测的位置与传感器测量值,计算粒子的权重值;
7、s5,根据粒子的权重值,重新生成一组粒子,以使粒子逐渐向真实位置聚集,并自适应随机注入粒子;
8、s6,在机器人运动过程中,在地图金字塔中的高层地图到低层地图上依次重复步骤s2-s5,直到最高分辨率的第一层地图中的粒子集合收敛至稳定后,利用聚类算法统计粒子的中心位置作为机器人定位结果。
9、优选的,步骤s2中,所述在地图金字塔的地图中随机生成一定数量的粒子,包括:
10、在地图金字塔的若干层地图中,粒子分布相同,且随着地图分辨率的降低,粒子数量减少。
11、优选的,步骤s4中,根据粒子预测的位置与传感器测量值,计算粒子的权重值,具体包括:
12、获取粒子预测的位置与传感器测量值的差异,通过似然域模型计算粒子的权重值。
13、优选的,步骤s5中,所述根据粒子的权重值,重新生成一组粒子,包括:
14、重新生成粒子大概率落在原来权重大的粒子周围,小概率落在原来权重小的粒子周围。
15、优选的,步骤s5中,所述自适应随机注入粒子,具体包括:
16、计算粒子群的短期似然平均wslow和长期似然平均wfast,由概率分布max{0.0,1.0-wfast/wslow}向粒子群xm新增随机分布的粒子。
17、优选的,所述短期似然平均和长期似然平均的计算公式为:
18、wslow=wslow+αslow(wavg-wslow)
19、wfast=wfast+αfast(wavg-wslow)
20、式中,wslow表示短期似然平均,wfast表示长期似然平均,wavg表示经验测量似然,αslow表示短期平均的指数滤波器的衰减率,αfast表示长期平均的指数滤波器的衰减率。
21、优选的,步骤s6中,所述在地图金字塔中的高层地图到低层地图上依次重复步骤s2-s5,包括:
22、地图金字塔ap有p层,首先在第p层地图执行步骤s2-s5,得到地图p层的粒子滤波结果;
23、将地图p层的粒子滤波结果带入至p-1作为粒子的初始分布,执行步骤s2-s5,得到地图p-1层的粒子滤波结果。
24、第二方面,本发明还提供了一种电子设备,包括存储器和处理器,其中,
25、所述存储器,用于存储程序;
26、所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现如本发明第一方面实施例所述的改进的自适应粒子滤波室内机器人定位方法中的步骤。
27、第三方面,本发明还提供了一种计算机可读存储介质,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时能够实现如本发明第一方面实施例所述的改进的自适应粒子滤波室内机器人定位方法中的步骤。
28、采用上述实施例的有益效果是:
29、1、与传统粒子滤波定位方法相比,本发明引入了地图金字塔,地图金字塔由分辨率依次降低的多张地图构成,粒子滤波的计算工作首先由最顶层的最低分辨率地图开始,然后依次传播到最底层的最高分辨率地图,有效解决了粒子的数量随环境复杂度上升而增加太多的缺点,节约了计算成本。
30、2、与传统粒子滤波定位方法相比,本发明引入了自适应随机注入粒子方法,通过定位效果的好坏变化,动态地减少或增加粒子数量并调整粒子群分布范围,可有效改善传统粒子滤波的粒子群退化问题。
1.一种改进的自适应粒子滤波室内机器人定位方法,其特征在于,包括:
2.根据权利要求1所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,步骤s2中,所述在地图金字塔的地图中随机生成一定数量的粒子,包括:
3.根据权利要求1所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,步骤s4中,根据粒子预测的位置与传感器测量值,计算粒子的权重值,具体包括:
4.根据权利要求1所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,步骤s5中,所述根据粒子的权重值,重新生成一组粒子,包括:
5.根据权利要求1所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,步骤s5中,所述自适应随机注入粒子,具体包括:
6.根据权利要求5所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,所述短期似然平均和长期似然平均的计算公式为:
7.根据权利要求1所述的改进的自适应粒子滤波室内机器人定位方法,其特征在于,步骤s6中,所述在地图金字塔中的高层地图到低层地图上依次重复步骤s2-s5,包括:
8.一种电子设备,
9.一种计算机可读存储介质,其特征在于,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时能够实现上述权利要求1至7中任意一项所述的改进的自适应粒子滤波室内机器人定位方法中的步骤。