一种基于MPU6050与智能手机的室内定位与导航的方法与流程

文档序号:13234216阅读:1615来源:国知局
一种基于MPU6050与智能手机的室内定位与导航的方法与流程

技术领域:

本发明是一种利用传感器技术、蓝牙传输数据技术、计算机技术、数字信号处理技术、android编程技术等实现的mems惯性器件与安卓智能手机融合的室内定位方法。该方法能减小惯性导航解算过程中的累积误差,并得出较精确的行人位移信息和航向角信息。



背景技术:

室内是人类活动最密集的场所,因此对于室内位置服务的研究具有重要意义。由于室内环境存在多径、非视距、复杂多变等特点,因此室内不能应用像gps等广泛用于室外的定位技术。基于mems惯性传感器的室内定位与导航技术因其设备简单,工作时完全独立于外界环境,性能稳定且抗干扰,而成为近年来室内定位技术研究的焦点。

目前基于mems惯性传感器的定位技术以航迹推算定位技术为主,按照计算运动距离的方法来分类,基于mems传感器的定位技术主要又可以分为两类,惯性导航系统ins(inertialnavigationsystem)和基于运动模型的航迹推算技术(dead-reckoning)。惯性导航系统ins主要依靠对传感器加速度或者速度的积分来计算运动距离;基于运动模型的航迹推算技术主要依靠运动模型来计算运动步数,从而估算运动距离。

对于室内的行人定位与导航系统,国际上有许多学者做了大量的研究工作。美国卡内基梅隆大学的机器人工程中心研究人员研究出一款基于imu(inertialmeasurementunit)的鞋式个人导航系统,此系统正常行走一小时定位误差可控制在一米之内。德国航空航天中心dlr实验室在2008年提出了一种基于鞋绑式惯性传感器的双层贝叶斯-位置估计框架算法,此算法主要由底层卡尔曼滤波和顶层粒子滤波算法组成。国内西北工业、国防科技、上海交通等大学也陆续开展了一些基础理论、算法的研究和实验研制工作,部分研究单位取得了初步的实验室成果,但相对国外成熟产品的性能还有一定的差距。

综上可知:惯性导航技术对于短期定位是一种很好的定位方法。该技术的优点是定位方法简单、易实现且价格便宜,但存在累积误差且随着行人移动距离和航向角的增加,其累积误差越来越大进而导致定位精度下降。本文提出了一种基于mems惯性器件与安卓智能手机来消除累积误差的室内定位方法。



技术实现要素:

针对mems惯性传感器在导航算法中存在累积误差而导致定位不准确,本发明提出了一种基于mems惯性器件与安卓智能手机消除累积误差的室内定位方法。

本发明基于mems惯性器件的室内定位与导航方法的研究,定位系统主要由mpu6050mems数据采集模块、蓝牙无线传输数据模块、安卓智能手机数据采集与处理模块组成。通过相应的导航解算算法,最终在手机上显示行人的运动轨迹和行人所处的高度,实现行人的定位与导航功能。

本发明在利用mems惯性传感器与安卓智能手机融合定位的前提下,基于惯性器件采用鞋绑式的特征,采用了零偏置校正算法减小惯性器件本身的误差,基于加速度积分过程中产生的累积误差,采用改进零速度修正减小累计误差和频域积分的算法,在行人运动航向角的确定中,基于电子罗盘的优缺点以及行人的运动特点,本课题设计了滑动均值滤波和角度补偿算法,增加了行人航向的准确度。基于行人是双脚行走的特点,采用bp神经网络算法对双脚数据进行融合,更好地还原行人行走的轨迹。本发明包括以下内容:

(1)基于加速度数据处理的零偏置校正算法

由于本发明采用的惯性器件是鞋绑式的,静止状态时,由于每次的固定位置没有理想中那样水平,造成静态时所测得的数据并不为零,而且随着每次固定位置的倾斜程度略微的不同造成每次所测得的静态加速度数据不为零且不一样,这对后面的零速度检测校正的阈值设定带来了一定的麻烦,经过零偏置校正后,数据的准确度得到了提高,对零速度检测校正算法的阈值设定也提供了方便。

零偏置校正就是在脚面上固定好惯性器件后,采集一些静态时的数据,并对这些数据求均值,用运动状态的加速度数据减去静态时的数据,避免了由于每次固定位置没有理想中那样水平所带来的误差。

(2)基于加速度数据积分的四条件零速度检测和频域积分算法

本发明主要针对基于mems惯性器件的行人导航方法进行研究,由于惯性导航是一种推算方式的导航,对加速度进行一次时域积分得到速度,通过二次频域积分得到位移,在对所得到的位移进行傅里叶逆变换,进而确定目标的位移。从已知的位置出发,利用加速度信息估测下一个位置,进而连续估测目标的当前位置。由于导航位移结果是通过积分计算获得的,积分误差会随着时间的推移而累积,找到一个合适的方法来减少累积误差是定位准确与否的关键。本发明基于频域积分存在累积误差,采用四条件零速度检测算法校正积分的速度数据,对速度数据进行傅里叶变换,再进行频域内的积分,经过逆变换后,得到更准确的位置信息,具体步骤如下:

1)首先,采集数据之前对手机的电子罗盘使用现有的8字校正方法进行校正,采集数据之后对其进行巴特沃斯低通滤波处理,滤除高频杂波。

2)其次,对滤波处理后的数据进行惯性导航解算,用四元数法由载体坐标系转换到导航坐标系,用四条件判断法进行零速度检测。

3)当检测到行人运动的“零速度”点时,触发零速度修正,对数据进行置零校正。

4)将校正后的数据进行频域积分,进行傅里叶逆变换后得到行人更准确的位移信息。

(3)基于滑动均值滤波和角度补偿算法的行人航向角获取

由于手机的电子罗盘易受到周围环境和手机放置位置是否平稳的影响,会发现测量角度会抖动。即使不动,角度也在不停的小范围内变化。这主要受该地其它磁场及本身电子设备的影响。对数据进行校正的具体步骤如下:

1)首先,测数前先对手机使用8字校正法做一下校正,再对电子罗盘所采集的数据进行滑动均值滤波粗处理。

2)然后,对所测得向南方向的数据使用角度补偿算法。

3)最后,当后一时刻的角度突然跳变时,使用陀螺仪的数据进行替代,得出更稳定的数据。

(4)基于双脚数据融合的行人运动轨迹算法

由于行人是双脚行走,为了更好的还原人行走的轨迹,将双脚的数据进行融合,分别采集双脚的加速度数据,角速度和手机的电子罗盘数据,分别仿真出双脚的运动轨迹,通过在双脚的数据前添加权值的方法对双脚数据进行融合,此方法可以减小在运动过程中由于行走方式和环境因素造成的误差,此权值通过神经网络进行训练得出,对双脚数据进行融合可以得出更准确的行人轨迹信息。

本发明意在消除惯性器件传感器在采集数据过程中的位置误差和导航定位算法中存在的累积误差,利用陀螺仪和手机内置的电子罗盘结合获取更准确的行人航向角。本发明在前人研究的基础上提出了一种基于mems-imu的室内定位与导航的方法,本发明相比于其它室内定位方式具有如下的优点和效果:

1)本系统利用mpu6050进行室内定位,具有完全独立于外界环境,不需要借助于外界任何的信号与装置,且结构简单、抗干扰性强等优点。

2)根据行人的运动特点,本系统采用鞋绑式惯性器件测量行人行走的加速度数据,角速度数据。

3)根据惯性传感器采用鞋绑式产生误差的原因,对初始的位置数据进行零偏置校正算法。

4)由于时域积分存在累积误差,本系统采用时域频域混合积分的算法,并使用四条件零速度检测校正算法对速度进行校正,获得位移信息。

5)由于手机电子罗盘本身存在的误差,使用之前采用现有的8字校正法校正一下手机,再结合惯性器件内置的陀螺仪,并使用滑动均值滤波算法和角度补偿算法对方向数据进行校正。

6)本系统采用手机内核作为采样数据的处理器,且算法执行时间短,能够满足室内人员定位的实时性要求。

附图说明:

图1是导航系统总体框图;

图2是系统总体流程图;

图3是惯性器件固定位置图;

图4是位移解算算法原理图;

图5是获取行人航向角流程图;

具体实施方式:

下面结合附图做进一步说明。本发明的导航系统总体框图见图1。

本发明是基于惯性器件的室内定位与导航方法的研究,主要由mpu6050通过蓝牙将行人行走的双脚数据和行人所在的气压传输到手机中,通过运用一些算法对数据进行处理得出行人的位移信息,并结合手机内置的电子罗盘得到行人的航向信息,最终在手机上显示运动轨迹,实现行人的室内定位与导航功能。

本发明的系统总体流程图见图2。本系统主要由mpu6050数据采集模块、蓝牙数据传输模块、安卓智能手机数据采集与处理模块组成,其中安卓智能手机的数据处理模块主要包括位移解算单元、航向角解算单元。本发明在提出mems惯性传感器与安卓智能手机融合的前提下,针对mems惯性器件中本身的漂移误差在导航算法中被累积而导致定位不准确的情况,针对惯性器件每次固定位置的水平偏差,本发明采用对获取的双脚初始采样数据首先使用零偏置校正,然后使用现有的方法巴特沃斯低通滤波处理加速度数据,滤除因行人的运动特征所带来的噪声误差;针对惯性器件本身的漂移误差在二重积分导航算法中被累积而导致定位失败,本发明采用对加速度传感器获得的数据进行一次时域积分获得速度,再用四条件零速度检测法对其进行校正,由于频域积分没有累计误差,然后再进行一次频域积分,从而计算出更准确的行人行走的位移信息;对于航向,基于陀螺仪和电子罗盘的优缺点,对所获取的电子罗盘的数据进行滑动均值滤波粗处理和角度补偿算法,通过设定阈值来选取合适的航向,当前后时刻的角度变化超过30度而小于180度时,使用陀螺仪的数据作为此时的方向角。由于行人是双脚行走,通过在双脚数据前添加权值的方法对双脚数据进行融合;最终获得更精确的行人位置信息。具体实施过程入如下:

(1)基于惯性器件mpu6050加速度数据处理的算法(见图4),具体步骤如下:

首先,对mpu6050采集的行人双脚运动的初始数据进行零偏置校正,减小因设备固定位置不是完全的水平方向所造成的误差。

对固定好在脚面的惯性器件在静止的条件下使用采集的前100个数求均值作为零偏数据,用惯性器件采集运动状态下的行人数据,用这些数据减去静态下的零偏数据,可以避免因每次惯性器件固定位置水平差异所造成的误差。

(2)基于加速度数据积分的四条件零速度检测和频域积分算法

1)对滤波处理的数据一方面经过惯性导航解算转换到地球坐标系进行行人运动速度和位移计算,一方面运用四条件零速度检测法对数据进行校正,得出最终的行人速度和位移信息。

四条件零速度检测法

是三轴合加速度的幅值,是三轴合加速度的方差,是三轴合角

速度的幅值,是三轴合角速度的方差;

thamax、thσamax、thwmax、thax分别是其阈值,这些阈值是用matlab软件对计算出的三轴合加速度,合加速度的方差,合角速度,合角速度的方差数据进行画图仿真,根据图像上的数据手动选取合适的阈值。最后,将单个条件结果进行“与”运算,求出脚着地,即“零速度”的时刻:

c=c1&c2&c3&c4

2)当检测到行人运动的“零速度”时,触发零速修正的模块,对惯性导行解算出的速度信息进行置零校正。

3)对获得的速度信息进行傅里叶变换,然后进行积分,经过逆变换后最终获得行人的位移信息。

一次积分的数值计算公式为

式中:fd和fu分别为下限截止频率和上限截止频率,根据仿真的结果图选取合适的频率段;x(k)表示速度数据的傅里叶变换结果;n是采集数据的个数;δf为频域分辨率。

(3)基于滑动均值滤波和角度补偿算法的行人航向角获取

在个人航迹推算导航系统中,对运动方向的估算主要是使用陀螺仪和电子罗盘这两种航向传感器,陀螺仪的优点是不受外界环境干扰,短时间内的积分较为准确;缺点是积分有累积误差,不能提供绝对航向,计算的是航向的改变值,需要外界提供航向的初始值。电子罗盘的优点是能提供绝对航向值,且不需要进行积分运算,使用方便,缺点是靠感知地磁场来建模计算航向,容易受周围使用环境如铁器、磁场环境等的干扰。对电子罗盘获取的数据首先使用滑动均值滤波,减小数据的波动,由于电子罗盘本身的原因,在向南方向行走时,所获取的电子罗盘的数据会突然地跳变,对获取的航向会有很大的影响,针对此问题采用角度补偿的方法进行校正。滑动均值处理的电子罗盘数据选50个数作为一组,选取的数据过大会影响南向的电子罗盘数据,当前后时刻的角度突然地跳变超过180度时,是在向南的方向,此时在[-180,-170]之间产生一个随机的数作为此时的航向角,当前后时刻的角度跳变超过30度而小于180度时,则使用陀螺仪的角度作为此时的航向角。

(4)基于双脚数据融合的行人运动轨迹算法

将行人行走的位移信息和航向角结合得到行人的运动轨迹,由于行人是双脚行走,为了更好的还原人行走的轨迹,本发明提出将双脚的数据进行融合,bp神经网络可以用在函数逼近上,用输入向量和相应的输出向量训练出一个网络逼近这个函数,对初始权值和阈值的设定,用matlab中的newff()函数自动完成。本发明通过bp神经网络训练出左右脚的系数,在左右脚的数据前添加此比例系数,得出更准确的行人轨迹信息。对于本发明方法的以下几点说明:

(1)本发明提供了一种基于mems惯性导航器件与安卓智能手机结合的室内定位方法,以手机的内核作为数据的处理设备,导航定位的实时性取决于手机内核的性能;导航定位的精确度取决于手机内核的性能和所使用的算法。

(2)本发明中未明确的组成部分和具体一些算法都可以用现有技术实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1