论文部分内容阅读
应用技术的发展无不以方便生活为目的,随着物联网技术的发展和智能设备的普及而兴起的室内定位技术,无疑会给我们的生活带来极大的便利。为了解决卫星定位无法覆盖室内环境的问题,国内外学者提出了许多室内定位解决方案。但这些定位方案普片存在设备成本过高、定位精度不佳、系统实施工作量巨大的问题,目前都没有得到大规模普及。针对当前的室内定位技术中存在的这些问题,本文旨在研究一种基于惯性导航技术的室内定位系统,为降低定位设备成本、提高室内定位精度提供一种新的方法。文章首先根据当前的室内定位技术面临的问题,提出了捷联惯性导航和Zigbee定位相结合的室内定位解决方案。以惯性导航技术和Zigbee技术为出发点,对惯性传感器原理、姿态表示方法、Zigbee协议、无线定位算法等基础理论进行了深入研究。然后详细分析了行人步态特征,提出了本文的室内定位算法,并详细阐述了算法实现的整个过程,包括原始数据补偿、传感器滤波、数据融合等。为了实现定位算法,利用Cortex-M3处理器、CC2530无线模块、传感器模块构建了系统硬件,并完成了μC/OS-III实时操作系统的移植和Zigbee无线网络的搭建。最后完成了定位算法的软件代码编写和系统调试,并利用MATLAB编写了系统测试界面,根据测试结果分析了系统性能。定位装置放置于行人足部,设计思路来源于捷联惯性导航技术。基本实现原理为:利用行人的初始位置,并检测行人足部的运动状态,推算行人的当前位置。具体实现中需要检测行人的行走步数、实时步长、行走方位,结合行人初始位置完成位置推算。因此,为了获得准确的推算参数,本文在总结前人经验的基础上,通过大量的实验及理论分析,对推算参数的获取方式和计算方式进行了改进。通过对行人迈步的动力学模型的分析及实际实验结果,确立了使用三轴角速度信息检测行人迈步动作。利用加速度计、角速度计和磁场强度计九轴传感器数据,采用四元数姿态算法进行多传感器数据融合,得到稳定的姿态角。在步长估算算法中,把加速度积分步长和Zigbee计算出的步长进行互补融合,提高步长估算的精度,降低行人迈步时足部扰动带来的积分误差。最后通过航位推算原理,合成行人的运动轨迹。系统硬件可以分成三部分,主处理器模块、无线通信模块和传感器模块。其中,采用STM32F103作为主处理器,CC2530作为无线通讯模块,传感器部分采用了MPU6050和HMC5883。STM32F103作为系统的核心运算单元,需要完成定位算法的整个计算过程;CC2530模块的主要功能是与外部通信,同时,提取接收信号强度进行三角质心定位可以间接计算出行人步长。MPU6050可以提供三轴角速度和三轴加速度,MPU6050成本较低,可有效降低定位成本,低成本带来的问题是其精度不够高。针对这一缺陷,本文建立了惯性传感器的误差模型,对MPU6050的静态误差进行了误差补偿;并设计了卡尔曼滤波器,有效地抑制了传感器信号的随机误差。HMC5883可以提供三轴磁场强度,利用磁场强度补偿惯性传感器的积分漂移误差,可以获得稳定的姿态角数据。文章在Cortex-M3处理器上移植了μC/OS-III操作系统,设计了传感器驱动程序,并采用星型结构构建了Zigbee无线通讯网络。以底层软件为基础,结合对定位算法的分析,实现了定位算法的软件程序。最后为了验证系统的定位性能,利用MATLAB编写了调试界面,并分别进行了功能单元测试和系统测试。对定位算法中各功能单元的测试,证明了定位算法的有效性,通过检测行人行走时角速度变化波形能够检测出行人的迈步动作,利用MPU6050+HMC5883互补融合的方式有效的解决了航向角漂移的问题,采用Zigbee定位进行步长修正实现了步长的动态调整。系统测试结果表明,系统的定位轨迹较好的反映了行人的真实运动轨迹,并且可以在一定移动距离以内保持低于5%的定位偏差。