王智敏, 陶宝林, 于 鹏, 甘昊鹏, 杨 海, 罗 涛
(西南石油大学 机电工程学院,四川 成都 610500)
目前根据各种方法所采用的基础设备和所依赖的信号不同,达到的效果不相同[1,2],室内定位导航技术按照实现原理有基于到达时间、到达时间差、接收信号强度指示等,按照是否需要外界的无线网络信号支持分为两类:一类是要依靠无线网络的无线室内定位系统,另一类是不需要依靠无线网络的惯性室内定位系统[3]。
无线室内定位系统包括依靠激光信号实现了室内高精度定位IGPS系统[4];受到蝙蝠利用声纳定位进行捕食航行的启示,提出的超声波进行定位方法,该方法以AT&T Cambridge研究出的 Active Bat定位系统为代表[5];微软公司开发的RADAR室内定位系统[6];以及利用无线网卡和无线接收器所接收到的信号强度和信噪比作为测量依据,采用海军导航卫星系统(navy navigation satellite system,NNSS)算法确定被定位对象绝对位置的方法[7]。但由于无线信号的室内定位技术受到室内环境和行人运动的不确定性的影响,使得电磁波的传播具有很大的随机性,接收到的信号的准确性难以保证。在这些室内导航方法不能正常使用的情况下,需要一种独立导航方式完成在短时间内的位置信息的确定。
惯性室内定位系统在没有外界无线网络的情况下可以独立完成工作,运用在室内定位中的测量装置一般要有加速度计、陀螺仪、磁力计等传感器的结合[8,9]。传统的惯性传感器由于价格高昂、体积大的特点,主要用在军事和航空领域。随着传感器技术和微机电(MEMS)技术的发展和加工工艺的提高,现在的惯性传感器具有体积小、市场价格低、质量小、携带方便等优势[10,11]。惯性室内定位系统中以MEMS传感器的研究最多[12]。诺贝尔物理奖获得者Pfeynman R提出MEMS设想之后,MEMS进入一个全新的发展阶段,市场上也出现了很多MEMS器件生产厂商。过去的十几年里已经有很多基于惯性传感器的定位导航的方法被提出, 合肥工业大学的朱新宇博士根据MEMS器件提出的行人位置推算算法[13],通过分析行人行走时的步态特征,利用加速度计采集的数据估算出步数和步长,再结合陀螺仪或得的方向信息计算出行人的航向,推算出行人的姿态位置信息。在进行数据采集时需要将传感器佩戴在身上,采用此方法在短时间内精度很高,但长时间的话误差会积累。
本文提出了利用惯性测量单元在零速校正模型下行人轨迹推算的方法。
惯性导航技术主要是通过陀螺仪和加速度计测量设备相关数据信息,推算出被测物体的位置信息的相关技术,通过对所测量的加速度数据进行积分便可得到速度和位移大小。捷联式惯性导航系统,直接将集成有加速度计和陀螺仪的惯性传感器安装在被测物体上,通过测量到的相关姿态信息结合姿态解算等算法完成载体坐标系到导航坐标的转换,最后再通过行人航迹推算算法计算出位置,显示出行人的运动轨迹。
行人航迹推算技术实现定位具有自主性强,短时间定位精度高和不受外界干扰等优点。行人航迹推算的基本原理是:首先确定起始位置,如图1所示为M0(x0,y0),当被测物体经过一定时间Δt,在t1时刻时运动的距离为d,方向与x轴正向夹角为θ,通过行人航迹推算算法计算出t1时刻被测物体的位置M1(x1,y1)。根据此方法,可以在前一个位置的基础上通过这次测量的步长和方向推算出下一个点的方向和位置。同理可得,通过一步步累加计算可以得到行人运动过程中任一时刻的位置,如累加公式(1)所示。
图1 行人航迹推算示意
(1)
人在行走的过程中具有很强的规律性和周期性。在整个行走过程中脚主要经过:抬脚、在空中摆动、接触地面和脚完全着地这几个过程,这几个过程可以分为两个阶段,站立期和迈步期。人在行走过程中脚完全接触地面时,可以看作人相对于地面静止,这一状态称为“零速度区”。人的整个行走过程如图2所示。但由于惯性系统本身具有一定程度的测量误差,并且通过二次积分推算出行人的步行距离随着时间积累误差也慢慢增大。
图2 行人行走过程示意
惯性器件数字算法以递推迭代的形式表示,即采用系统微分方程组描述形式,将人体过去前一时刻的信息和最近时刻的惯性器件的采样值作为输入,通过对微分方程逐次递推计算出当前时刻的信息。
人体姿态更新的四元数微分方程为
(2)
(3)
(4)
(5)
在进行姿态解算转换后,对行人在利用传感器采集到的数据进行步频和轨迹进行解算,步骤如下:
1)读取采集到的加速度数据。
2)通过给采集到的三轴加速度数据乘以计算得到的姿态矩阵,将三轴加速度从载体坐标系转换到导航坐标系中,然后再计算出导航坐标系下总的加速度
(6)
(7)
4)由于在行走过程中零速度区间方差的变化很微弱,基本观察不到波动的现象,但在迈步期方差具有很强的波动性。因此可以通过设定适当的阈值判断行人的行走状态是在迈步阶段还是在站立阶段。设置阈值的大小为F=1.5 m/s2[13],如果δ>F则认为行人处在迈步阶段,如果δ≤F则认为行人处在站立阶段。定义一个新的数组Ac保存阀值判断之后的数据
(8)
5)通过对上述Ac数组中存储的数据遍历并且进行判断:如果Ac(i)==1 &&Ac(i+1)==0时,则检测到这个点为下降时间点,判断可能是站立期,将其存入一个数组Tup中;如果Ac(i)==0 &&Ac(i+1)==1时,则检测到这个点为上升时间点,判断可能出现迈步期,将其存入另一个数组中Tdown。
通过上面计算获得了步频中的上升时间点和下降时间点,上升时间点通过上面处理保存在Tup中,下降时间点保存在Tdown数组中,对一次行走状态中的前进方向加速度ay和侧向加速度ax进行两次积分运算即可得到一步内在两个方向的位移,最后再进行计算得到一步的总的步长。零速校正算法示意图如图3(a)。可以看出Tup到Tdown这一时间段为迈步期,Tdown到Tend这一时间段为站立期。上面步态分析时在站立期时间段内加速度的大小为零,但是实际上并不为零。因此在加速度积分之后,要对着两个时间段内的速度进行修正。如图3(b)所示。
图3 迈步过程和速度修正示意
在完成行人步频的解算后需根据步频完成轨迹的推算,轨迹估算通过如下步骤实现:
1)先对前进方向和侧向加速度进行积分得到速度,再对站立期和迈步期加速度进行修正。
2)对每次的迈步期间的两个方向的加速度进行积分,也就是对Tup到Tdown时间内的加速度进行积分得到迈步期速度Vx和Vy表达式
(9)
3)对站立期间速度进行积分,也就是算出Tdown到Tend期间的速度总和然后计算出平均值,称为剩余速度计算
(10)
4)用计算出的剩余速度去修正迈步期速度
(11)
式中j为每一步中Tup到Tdown的采样点,ux和uy为剩余速度。剩余速度去修正站立期速度
(12)
本实验选取JY901型惯性器件作为监测行人轨迹的传感器。在实验中需要将传感器系在脚背上,在行人行走时采集数据信息,本传感器自带蓝牙通信功能,只需要做好相应配置即可。
本实验中采集3组数据,走相同路线和步数来进行分析,判断步数检测是否正确以及步长、方向的偏差。实验中在实验室外走廊走了一个类似U型的轨迹,基本走了22个迈步周期左右。舍去第一步和最后一步,统计前20个迈步周期的步长判断精度,从实验结果可以分析出,检测到的步长在0.56~0.62 m之间,符合人正常行走的迈步周期的步长。计算精度如表1所示。
表1 行人轨迹精度
三组数据显示轨迹如图4所示。
图4 三组数据轨迹
本文通过采用惯性测量单元,对行人行走时的数据信息进行采集,结合行人航迹推算算法实时计算出行人行走轨迹,在上位机进行显示,完成行人定位导航系统的设计与实现。实验结果表明行人的轨迹精度达到98 %以上,证明了所提的方法的正确性和有效性,为室内定位技术的发展提供了可靠的理论和技术依据。