基于惯性导航与射频识别的室内定位系统研制
陈可欣 王 红 朱 瑞 莫富琪
【摘 要】摘 要 研制了一套室内定位系统,通过射频识别(RFID,Radio Frequency Identification)读卡器和惯性传感器来获取状态信息,经由ARM处理器解算位置信息和跌倒信号,并将信号通过蓝牙无线传输给外部设备。 【期刊名称】科教导刊 【年(卷),期】2017(000)026 【总页数】3
【关键词】关键词 室内定位 惯性导航 RFID 跌倒检测
Abstract Developed a set of indoor positioning system,through the radio frequency identification(RFID Radio,Frequency Identification)card reader and inertial sensor to obtain status information via the ARM processor solution position information and transmits the signal to the signal falls,and external devices via Bluetooth wireless transmission. Keywords indoor positioning;inertial navigation;RFID;fall detection
0 绪论
随着社会老龄化的加剧,老年人独自在家时的安全问题越发得到社会的关注,而跌倒是我国65岁以上老年人因伤害而死亡的头号杀手。研发一套实用的室内定位及跌倒报警系统迫在眉睫。
GPS定位现已得到广泛的应用,但该定位信号难以穿透建筑物,不适用于室内定位。[1]目前惯性传感器被广泛应用于定位等系统的研制,因其具有抗干扰性强、成本低等特点而备受青睐,但它往往需辅以其他定位系统共同作用。
本文利用惯性导航的室内定位稳定性,辅以射频识别技术,测得位置与状态信息。
1 室内定位系统
本文选用 ARM 处理器和安卓手机的结合来实现系统功能,ARM与安卓平台的联合使用为室内定位系统的研制提供了可行性与可靠性。图1是整体硬件系统的设计思路。
在家中铺设一定量的磁卡,且位置坐标已知,供读卡器读取,此时家中老人身上佩戴的装置里有惯性传感器以及RFID读卡器会记录信息,以实时解算与记录老人的行走路径。老人的行走轨迹与跌倒信号通过蓝牙从老人身上佩戴的装置传输至室内放置的安卓智能手机,室内的安卓智能手机判断是否接收到摔倒信号,并绘制行走路线图,若接收到了摔倒信号则向家人的手机拨打电话,完成跌倒警报。
整个硬件体系分为 ARM数据处理与手机数据处理两个部分,其中ARM数据处理部分包括传感器与读卡器数据的提取、定位算法与蓝牙传输三项功能,手机数据处理则包含有蓝牙接收、绘制行走路径图与摔倒报警等部分。
2 硬件设计
2.1 位置信息提取模块
原始信息提取部分有两个信号源,一是惯性传感器,一是RFID读卡器。 本文所使用的惯性传感器是集成有高精度的陀螺加速度计MPU6050的6轴惯性导航模块,集成了三轴MEMS陀螺仪和三轴MEMS加速度计,陀螺仪可测范围为±2000°/s,加速度计可测范围为±16g。
RFID俗称电子标签,主要由电子标签、天线、读写器和主机组成,是一种利用
射频信号实现无接触信息传递,以达到自动识别的技术。[2,3]本研究中读取固定位置坐标所用的模块是7941E低频嵌入式读卡模块,它集成了高性能读卡射频电路及天线,模块体积十分小巧,方便嵌入,读写频率为125kHz,支持多种卡片读写操作,其中对于EM4100卡的读写距离大于8cm。 2.2 信息传输模块
ARM处理器与安卓手机间的信息传输是通过蓝牙模块实现的,蓝牙作为一种电缆替代技术,具有低成本、高速率的特点,是短距离、低成本无线通信技术之一。[4-6]本文中使用的是HC-06蓝牙模块,该模块工作在2.4G无线频段,遵循蓝牙V2.0+EDR蓝牙规范,最高传输速率可达2.1m,传输距离超过20m。
3 定位算法
3.1 原始数据处理
传感器刚通电时,模块内部的MCU会在模块静止的时候进行自动校准(消除陀螺零漂),校准以后z轴(方向竖直向上)的角度会重新初始化为0,z轴角度输出为0时,可视为自动校准完成的信号,但此时另外两轴,即x和y轴的加速度不为零,经过长时间多次积分后会产生非常大的误差,所以我们在正式采集数据之前,会先采集20组样本数据,将它们相加取平均值,求得的数据作为传感器的系统误差。这20组样本数据的采集时间非常短,传感器串口的波特率为115200bit/s,传感器每次传回的一组数据里包含有三个数据包,分别为加速度、角速度和角度输出值,每个数据包中有11个数据,分别为包头、标识、x-y-z三轴数据的高低字节以及温度和校验和等数据,而每个字节有16bit,则可计算出20组数据大小为10560bit,故传输20组数据所需时间约为0.091667s,即只需在传感器通电后的0.1秒之内即可完成这项误差消除的