近年来,伴随着智能手机的普及以及物联网的快速发展,人们对实时、高精度的室内位置服务的需求变得日益强烈。良好的室内位置服务的基础为良好室内定位算法。然而,之前的研究工作无法同时满足低成本推广及不存在定位场景限制这两项特征。在本文中,我们以数据的模态分类了不同的室内定位算法的原理,并总结出其特征与局限。经过分析,我们认为融合各模态数据的系统可以使室内定位系统适应室内不同的定位场景,达到更好的平均定位精度。与此同时,系统还能维持运算效率高及易推广等优点。我们的具体做法为利用粒子滤波算法融合了三种模态的数据,通过粒子的加权平均结果得出室内定位结果。我们通过实验证明了该定位算法的可行性并且得出在所有五个实验场景中的平均定位误差为0.7m,平均跟踪误差0.86m,与当前已有算法对比均有更好的定位效果。本文分析了室内障碍物对原算法的影响。通过应用人工鱼群算法对原系统进行优化,本文将系统的默认粒子数量由500 个降低为50 个。因此,在三个实验场景中,平均跟踪误差从0.853m 降低为0.837m,系统迭代的平均运行时间降低为原来的79%。
In recent years, with the popularity of smart phones and the rapid development of the Internet of things, people’s demand for real-time, high-precision indoor location services has become increasingly strong. Good indoor location service is based on good indoor location algorithm. However, the previous research work can not meet the two characteristics of low-cost promotion and no limitation of location scene.In this paper, we classify the principles of different indoor location algorithms based on the modal of data, and summarize their characteristics and limitations. After analysis,we believe that system with fusion of multimodal data can adapt to different indoor positioning scenarios and achieve better average positioning accuracy. At the same time, the system can maintain the advantages of high efficiency and easy to promote. Our specific method is to use particle filter algorithm to fuse the data of three modes, and get the indoor positioning results through the weighted average results of particles. We have proved the feasibility of the algorithm through experiments and obtained the average positioning error of 0.7m and the average tracking error of 0.86m in all five experimental scenarios.Compared with the existing algorithm, the algorithm has better positioning effect.This paper analyzes the influence of indoor obstacles on the original algorithm. By using artificial fish swarm algorithm to optimize the original system, this paper reduces the number of default particles from 500 to 50. Therefore, in three experimental scenarios, the average tracking error is reduced from 0.853m to 0.837m, and the average running time of system iteration is reduced to 79 %.