基于微惯性传感器的行人室内定位方法
2022-06-11冯冲,孙宇,黄亮
冯 冲, 孙 宇, 黄 亮
(1.广西光谱空间信息科技有限公司,南宁 530000; 2.昆明理工大学,昆明 650093)
随着科学技术的突飞猛进和城市化进程的不断加快,大型商场、机场、地铁站、办公楼等建筑迅速增加,人们对于室内定位的需求也愈加迫切[1]. 另外,在诸多应急抢险、通信、追踪等任务中,也需要高精度的室内定位技术[2-4]. 目前常用的室内定位技术有Wi-Fi定位、蓝牙定位、共频带技术. Wi-Fi定位是通过测距算法计算目标位置来进行室内定位,但要想通过该方法实现高精度室内定位需要建立较多的Wi-Fi基站,使系统成本大大增加,且其有效服务范围仅有100 m[5]. 蓝牙定位能够根据当前时刻的信号观测值实现长期定位且功耗相对较低,但对于大范围室内目标跟踪需要大量节点,且易受定位跳变误差的影响[6]. 在卫星导航系统信号接收良好的情况下,采用共频带技术能够实现实时高精度定位,但在信号较差的密闭室内或者山区林地等环境中,采用该方法进行定位易产生定位偏移[7]. 总之,常用的室内定位技术对基础设施的依赖较强、使用成本较高,且工作范围小、易受环境影响. 因此,构建一种无源自主、稳定性好、精度高的室内导航定位系统十分必要.
惯性导航系统是一种自主导航系统,它是利用物体的基本属性来进行导航,无须预先构建硬件设施,也无须接收信号,具有良好的抗干扰性、稳定性和隐蔽性. 惯性导航系统以牛顿力学为基础,可通过加速度计和陀螺仪获取载体的加速度和角速度信息,且能够结合前一时刻载体的速度和位置信息获得载体当前时刻的速度和位置信息. 惯性测量单元(Inertial Measurement Unit,IMU)作为惯性导航系统的核心,集成了加速度计和陀螺仪等传感器,具有自主导航、不受环境干扰等优点. 随着微机电系统(Micro Electro Mechanical System,MEMS)制造技术的发展,基于MEMS的IMU已被广泛应用于行人室内导航定位中,它具有成本低、体积小、功耗低、灵敏度高、测量范围大等优点[8-10].
鉴于此,本研究设计出了一种MEMS与惯性导航系统相结合的微惯性传感器(MEMS-IMU)用于行人室内导航定位,并提出了一种基于微惯性传感器(MEMS-IMU)的行人室内定位方法以提高MEMS-IMU的定位精度. 该方法首先利用MEMS-IMU获得行人室内运动时脚部的加速度及角速度信息,然后通过惯性导航理论进行姿态解算,最后采用滑动窗口加速度方差算法采集零速区间,并采用基于卡尔曼滤波的零速修正算法对零速区间进行修正. 该方法无须建立大型基础设施即可实现高精度室内定位,解决了常用室内定位方法成本高、易受环境影响等问题,具有重要的实际意义和应用价值.
1 微惯性传感器(MEMS-IMU)的工作原理
MEMS-IMU 中的测量装置包括陀螺仪和加速度计,分别用来测量行人运动时脚部的角速度和加速度. MEMS-IMU可以将IMU的测量数据转化为电信号,然后通过电路进行放大、处理,进而推算出行人的速度、位置和姿态信息[11].
1.1 陀螺仪的工作原理
陀螺仪用来测量行人运动时脚部的角速度,本研究设计的MEMS-IMU采用的是振动式陀螺仪. 振动式陀螺仪主要由振动质量块、弹簧和阻尼三部分组成,如图1所示. 振动质量块在xoy平面内固定,并可沿x轴做运动,此时称为驱动模态. 当旋转角速度发生在与驱动模态相垂直的方向时,振动质量块就会产生垂直于驱动模态的敏感模态,此时振动质量块就会在y轴方向上产生相应的位移. 位移的改变可以被电容检测到并转换为电流输出,然后通过检测输出的电压大小即可获得载体的角速度值.
图1 振动式陀螺仪简化模型Fig.1 Simplified model of vibratory gyroscope
1.2 加速度计的工作原理
加速度计用于测量行人运动时脚部的加速度,其主要依据为牛顿第二定律. 加速度计主要由质量块、弹簧和阻尼三个部分组成,如图2所示. 敏感轴x轴竖直向上,质量块可沿x轴上下运动.由于物体所受的合力等于物体质量与加速度的乘积,因此只需测量加速度计内部质量块所受到的合力便可得到物体的加速度. 质量块在不受任何外力的情况下处于自由状态,将此时质量块的位置作为原点,当基座的加速度方向与x轴同向时,弹簧会因为受到惯性力而产生形变,因此产生与形变方向相反的力. 根据牛顿第二定律可得:
图2 加速度计简化模型Fig.2 Simplified model of accelerometer
当质量块稳定时,ẍ=ẋ=0,则式(1)可化为:
设f为单位质量所受外力,则有:
式中:m为质量块质量,g;ẍ为质量块的位移对时间t求二阶导数(即质量块的加速度),m/s2;ẋ为质量块的位移对时间t求一阶导数(即质量块的速度),m/s;a为质量块运动的加速度,m/s2;c为弹簧劲度系数;x为弹簧形变,m;D为阻尼系数;g为重力加速度,m/s2;F弹为弹簧弹力,N.
由于加速度计在分辨惯性加速度和万有引力加速度时具有一定的局限性,因此其分辨结果会有一定的误差,为了获得更准确的加速度,在使用时要从f中减去重力加速度g才能得到a.
2 行人运动零速区间的提取
2.1 行人行走步态分析
根据行人运动特点以及行人行走过程中的脚部运动规律可知,行走是由一组动作重复进行而实现的,无关个体差异,这个过程中双脚支撑和单脚支撑这两个动作会反复转换,且双脚与地面之间交替接触和分离[12]. 根据这一特点,将行人行走周期分为支撑相位和摆动相位两部分. 如图3所示,以行人右脚为研究对象,将右脚尖离开地面的瞬间记为摆动相位的起始时刻,然后右脚尖离开地面,向前迈进,当右脚跟再次触及地面时摆动相位终止,此时开启支撑相位,完成步态的周期性变换[13].
图3 行人行走步态示意图Fig.3 Schematic diagram of pedestrian walking gait
2.2 零速区间的提取
根据行人行走的步态分析可知,在每一个行走周期中都有一段行人脚底与地面完全接触的时间,这段时间被称为零速区间. 零速区间内,行人脚部的运动速度和加速度的理论值都等于零. 基于人的行走规律,结合MEMS-IMU测量数据周期性变化的特点,可以提取零速区间. 加速度和方差可以体现行人行走步态中的突变信息,检测该方差就可以准确地得到行人行走的步态变化信息[14]. 故本研究采用滑动窗口加速度方差算法来提取零速区间. 因为在零速区间内,人的脚部运动相对静止,所以理论上零速区间内的加速度和方差也不会发生改变. 滑动窗口加速度方差算法可以对加速度方差进行平滑处理,使得到的结果更加准确.零速区间的判定条件为:
其中:
式中:GV为加速度矢量和方差的阈值,当方差在阈值内时,说明加速度没有改变,即处于零速区间内;当C2(k)为逻辑值1时,表示行人处于零速区间内,当C2(k)为逻辑值0时,表示行人的脚部运动有变化;为k时刻滑动窗口的加速度平均值;δ(ak)2为加速度矢量和方差;j表示窗口内第j个采样点;aj为k时刻滑动窗口内各点的加速度矢量和;s为滑动窗口的长度.
3 基于卡尔曼滤波的零速修正算法
3.1 零速修正算法
在对行人进行定位的过程中,零速修正算法可以利用支撑相位内速度为零的步态特点周期性地估计和校正定位误差,从而可以限制误差的累积、提高定位精度[15]. 零速修正算法的前提是要提取零速区间,得到行人速度为零的时刻. 根据零速区间的定义可知,行人处于零速区间时,MEMS-IMU 输出的速度理论值也应该等于零,但由于输出值漂移、传感器精度较低等问题,MEMS-IMU的实际输出速度并不为零. 为了简化运算,假设输出值存在线性漂移,利用该原理设计零速修正算法. 在理想状态下,行人运动开始时刻t1和结束时刻t2的速度都应为零,但是由于速度v̂(t)存在线性漂移,因此t2时刻的速度估计值不为零,故建立如下零速修正模型:
现在企业的经济结构不合理主要是存量项目。应该与存量内容调整为主。国有经济总量占比过大,约七成,自然的称为存量优化的重点对象。盘活存量资产。企业的资产重组,一定程度上能够解决结构不平衡等的问题。资本的更高效流动,有助于实现重组。这个也是资产管理公司的重要业务发展方向。宏观角度分析,重组优化了经济结构。也提高了资源配置的效率问题。微观角度,满足企业自身发展的重组,有助于实现产业升级调整,发挥合并的优势。获得规模经济的额外收益总体分析,重组是企业经济结构调整的重要方法,解决存量资产呆账的问题,进一步扩大企业经济结构的收益。提升在国内和国外的经济影响力。提升竞争力、盈利能力。
式中:v(t)为t时刻MEMS-IMU 输出的实际速度值;v̂(t)为t时刻的速度估计值;v̂(t2)为t2时刻的速度估计值. 为得到位移,可以将修正后的速度进行一次积分.
3.2 基于卡尔曼滤波的零速修正算法
卡尔曼滤波是一种递推线性最小方差估计,是一种对状态空间进行估计的贝叶斯滤波算法[16]. 利用卡尔曼滤波可以由前一个状态估计值和当前时刻的测量值更新当前时刻的状态[17]. 另外,该算法全部都是以时间域为基础建立的,它不仅可以应用于一维平稳的随机过程,还可以应用于多维非平稳过程,对于解决滤波在频域内的问题有很好的效果. 因为MEMS-IMU测量结果结合了当前时刻和以前时刻的速度和加速度值,所以每次只需要处理一个时刻的测量结果即可,在很大程度上减少了运算量.
基于卡尔曼滤波的零速修正算法是利用系统模型和噪声测量来估算行人定位系统的姿态、速度和位置误差的[18]. 首先将理想情况下行人处于零速区间时的状态与MEMS-IMU 实际输出结果解算的速度值之间的差值作为测量方程,然后利用速度与姿态、位置之间的耦合关系,通过卡尔曼滤波来限制误差的累积,提高导航定位精度[19-20]. 基于卡尔曼滤波的零速修正算法的详细结构如图4所示.
图4 基于卡尔曼滤波的零速修正算法的结构图Fig.4 Structure diagram of zero velocity update algorithm based on Kalman filter
4 实验及分析
4.1 实验方法
实验所用仪器为MEMS-IMU. 实验时首先将MEMS-IMU固定在行人鞋面上,另一端用USB数据线与笔记本电脑相连,先对卡尔曼滤波器进行初始化,然后确定初始时刻的位置和姿态;之后实验人员手持笔记本电脑在室内按照“8”字形路线行走,笔记本电脑通过USB数据线实时接收和存储MEMS-IMU所采集的数据;最后将电脑中存储的数据进行离线处理,并通过基于卡尔曼滤波的零速修正算法进行修正.
4.2 实验结果及分析
图5为利用MEMS-IMU采集的一组时长为60 s的原始运动数据. 理论上,当行人处于支撑相位时,角速度和加速度均为零,即陀螺仪的测量值为零,且加速度计的测量值为当地重力加速度. 但是通过实验可以发现,MEMS-IMU的实际测量值均在各自的期望值附近波动,如图5所示,这是因为无论是行人的脚还是脚上的鞋,都不是理想刚体,从而导致真正的零速并不存在.
图5 通过MEMS-IMU采集的一组时长为60 s的原始运动数据Fig.5 A set of original motion data with a duration of 60 s collected by MEMS-IMU
为了证明本研究设计的MEMS-IMU的精确性,取4 s内的测量数据对行人步态进行分析,结果如图6所示. 从图6可以看出,固定在行人鞋面上的MEMS-IMU能够精确地测量脚部与地面的每一次接触和接触之后的静止时间段,且由加速度计测得的加速度和由陀螺仪测得的角速度均表现出与脚部运动同步的周期特性,说明本研究设计的MEMS-IMU 能够较好地识别行人运动规律.
图6 MEMS-IMU测量数据及相应的步态事件和步态时相Fig.6 MEMS-IMU measurement data and corresponding gait events and gait phases
图7为利用滑动窗口加速度方差算法提取零速区间的结果,蓝色部分逻辑值为1,即零速区间;白色部分逻辑值为0,即非零速区间. 从图7可以看出,零速区间的提取结果均匀且具有周期性,与MEMS-IMU 采集的60 s数据分布情况基本一致,说明通过滑动窗口加速度方差算法可以准确提取零速区间.
图7 零速区间提取结果Fig.7 Extraction results of zero velocity interval
协方差用于衡量两个变量的总体误差. 若两个变量的变化趋势一致,则协方差为正值;若两个变量的变化趋势相反,则协方差为负值. 协方差的绝对值越小,说明两个变量的相关性越强. 根据上述实验得到的数据分别绘制时间与位置、速度和姿态的协方差曲线,如图8~10所示. 从图8可以看出,x轴、y轴、z轴的位置协方差均随着时间的推移而增大,且位置协方差最大值小于0.1 m,说明位置误差随时间累积逐渐增大,但总体上看,时间对位置误差的累积影响较小,由此可以证明本研究所提出的行人室内定位方法可有效减少位置误差的累积.
图8 时间-位置协方差曲线Fig.8 Time-position covariance curve
从图9 可以看出,速度协方差的最大值小于0.06 m/s,且每隔一段时间速度协方差就更新为初始值,说明时间对速度误差的累积影响极小,这也充分体现了零速修正算法的作用.
图9 时间-速度协方差曲线Fig.9 Time-velocity covariance curve
行人脚部的姿态可以用俯仰角、横滚角和航向角来描述,这三个角分别表示MEMS-IMU 绕地理坐标系的x、y、z轴旋转的角度. 俯仰角的变化反映了行人行走过程中足部的周期性摆动. 横滚角的变化反映了行人行走过程中足部的不规则晃动. 航向角的变化反映了行人行走过程中足部的运动方向. 从图10 可以看出,时间对航向角误差的累积影响较大,对俯仰角和横滚角误差的累积影响均较小,其中航向角协方差的最大值小于0.3 deg,俯仰角和横滚角的协方差最大值均小于0.1 deg,这说明时间对姿态误差的累积影响总体不大.
图10 时间-姿态协方差曲线Fig.10 Time-attitude covariance curve
为了进一步验证本研究所提出的行人室内定位方法的准确性,按照以下方法进行6 组实验,并对实验结果进行分析. 首先,将MEMS-IMU 固定在实验人员的鞋面上,并将MEMS-IMU 与笔记本电脑相连;然后实验人员手持笔记本电脑在室内按“8”字形路线行走,每次行走的实际距离均为100 m;之后采集MEMS-IMU 的测量结果并利用基于卡尔曼滤波的零速修正算法对采集到的实验数据进行处理,得到修正后的测量数据;最后对修正后的测量数据进行误差分析. 因本文只研究行人在水平面上行走的过程,不涉及高度变化,所以用平面误差来衡量行人室内定位方法的准确性. 平面误差即行人行走的实际距离与修正后的测量值之差的绝对值. 表1 统计了6 组实验中行人在室内行走100 m 所产生的平面误差,可以发现6组实验中行人在室内行走100 m的所产生的平面误差均小于0.5 m,说明本研究所提出的行人室内定位方法较为理想.
表1 行人在室内行走100 m所产生的平面误差Tab.1 Plane error caused by pedestrian walking 100 m indoors
5 结论
1)设计了一种利用微机电系统与惯性导航系统相结合的微惯性传感器(MEMS-IMU),并将其用于行人室内导航定位,同时通过实验证明所设计的MEMS-IMU具有较好的精度.
2)为了进一步提高所设计的MEMS-IMU 对行人室内导航定位的精度,提出了一种基于微惯性传感器(MEMS-IMU)的行人室内定位方法,该方法可利用基于卡尔曼滤波的零速修正算法对定位误差进行校正,进而可减少误差的累积. 通过实验表明,在零速区间内,利用基于卡尔曼滤波的零速修正算法对定位误差进行校正,可以有效减少行人位置、运动速度以及脚部姿态的误差累积,进而可提高MEMS-IMU对行人室内导航定位的精度.
3)采用本研究提出的行人室内定位方法进行行人室内导航定位时,行人在室内行走100 m所产生的平面误差小于0.5 m,说明本研究所提出的行人室内定位方法较为理想.