一种基于bp神经网络改善的室内惯性导航方法与流程

文档序号:11100624阅读:1100来源:国知局
一种基于bp神经网络改善的室内惯性导航方法与制造工艺

本发明涉及一种室内惯性导航方法,尤其涉及一种室内惯性导航方法。



背景技术:

随着现代定位导航技术的发展,基于位置的服务(LBS)逐渐成为智能生活中不可获取的一部分,全球导航系统提供了全球化的定位服务,由于建筑物对信号的遮挡,在室内无法使用GPS服务,由此应运而生的室内定位技术得到的迅速的发展,人们也逐渐开始适应各种室内定位服务。

惯性导航系统(inertial navigation system,INS)采用加速度计和陀螺仪测量定位目标的加速度和角速度,利用这些数据计算出定位目标的位置、姿态、速度,在航天、航海、制导武器、车辆等领域广泛应用。

随着MEMS的发展和大量使用,小型INS开始出现,并成为室内定位领域的热点。在室内定位领域使用航位推算(Dead-reckoning,DR)为行走的用户定位的系统常常被称为步行者航位推算(PDR)系统,PDR系统中除了使用INS外,比较常见的是步伐航向系统(Step-and-Heading System,SHS),PDR系统都是利用一段一段的位移从前一刻的位置推算下一刻的位置。INS是在全三维的空间中利用每个时刻的传感器数据计算和跟踪目标的轨迹,而SHS专门用于行人的位置估计,通过一个位移向量[distance,heading](代表每一步的步长和方向)推算行人的当前位置。

PDR系统成本低,使用方便,并且不依赖外部信息,也不对环境产生影响,但是PDR系统是相对定位,需要有一个外部的位置初始化,或者只能从预设原点开始定位,且仅在短期内拥有较高的精度和可靠性,随着时间和距离的增加,PDR系统的累计误差会越来越严重。

步伐检测和步伐识别的准确度对PDR系统的定位精度起决定性的作用,目前,利用加速度计检测人行走的步伐已经可以达到很高的准确率,但是步伐长度的估计误差较大。传统的捷联式惯导采取对加速度数据进行二次积分的方法来估计步长,但是和高精度的专业惯导设备比,MEMS测量到的加速度原始数据误差较大,因此惯导定位得到的误差会迅速增大。有一些方法将传感器固定在鞋底、腿部、腰部等位置,通过零速修正来对每一小段位移分别进行积分运算,能达到相对较高的精度,但是将传感器固定在特定的位置和姿态在很多情况下是不适用的。

神经网络(NN)是非线性输入输出映射最有效的方法之一,可以逼近任意复杂的非线性关系,并具有强大的学习能力、记忆能力和计算能力。神经网络由大量的神经元以及神经元之间的连接组成,在不同程度和层次上模仿人脑实际系统的信息处理。



技术实现要素:

本发明提供一种可以改善定位精度的室内惯性导航方法,技术方案如下:

一种基于bp神经网络改善的室内惯性导航方法,包括离线训练阶段与在线定位阶段:

1)离线训练阶段,包括以下步骤

a.建立一个bp神经网络的步长估计模型;设置神经网络层数与神经元数目,构建一个具有2k0个输入和单个输出的神经网络模型,输入为当前时刻k之前k0个时刻的加速度与角速度数据,输出为步伐的长度;

b.获取原始数据并进行预处理:用户携带移动设备在室内移动,由移动设备中的三轴加速度传感器与三轴角速度传感器实时获取,分别包含三个维度上的标量大小,记录为时序信号序列,并进行低通滤波预处理;

c.步伐识别模型的训练:分别收集大量各种状态下经步骤b预处理后的加速度与角速度数据,将每一段完整的步伐所对应的各数据作为一组训练数据,对基于bp神经网络的步长估计模型进行训练,确定模型各参数的初始值,得到初始的步伐识别模型;

2)在线定位阶段,包括以下步骤

a.获取原始数据并进行预处理:由用户携带的移动设备中的三轴加速度传感器与三轴角速度传感器实时获取,分别包含三个维度上的标量大小,记录为时序信号序列,并进行低通滤波预处理;

b.步伐检测;设置时间窗口,更新当前时间窗口的加速度和角速度;通过加速度数值与上下阈值的比较来检测是否产生新的步伐;如果步伐检测成功,则进入步骤c,否则继续检测;

c.步伐长度估计;将当前时间窗口中的加速度与角速度数据输入训练好的神经网络模型,输出当前的步伐长度;

d.方向估计;利用设备内的磁力计测量地磁强度,估计运动方向,计算运动方向与北的夹角;

e.定位;由当前时刻k的位移计算坐标偏移,最后根据上一刻的位置,在定位过程中使用扩展卡尔曼滤波算法计算当前位置。

本发明将步伐长度的估计问题处理成加速度、角速度数据与步伐长度的映射,采集大量数据来训练相应的基于bp神经网络步伐长度估计模型,从而获得高精度的步长估计,在此基础上进行室内惯性导航,改善其定位精度。

附图说明

图1是示出了本发明整体方法的关系框图。

图2是示出了使用bp神经网络改善的室内惯性导航方法的流程框图。

具体实施方式

下面结合附图对本发明的基于bp神经网络改善的室内惯性导航方法做进一步的描述。

以智能手机为具体实例进行说明,利用加速度计、角速度计、磁力计记录用户行走的数据并进行室内导航。本发明的基于bp神经网络改善的室内惯性导航方法,包括离线训练阶段与在线定位阶段:

1)离线训练阶段,包括以下步骤

a.建立一个bp神经网络的步长估计模型。设置神经网络层数与神经元数目,构建一个具有2k0个输入和单个输出的神经网络模型f(·),可表示为

y(k)=f(A(k-k0),…,A(k),Ω(k-k0),…,Ω(k))

其中输入为当前k0时刻的加速度数据A(k)与角速度数据Ω(k),输出步伐的长度。选择激励函数为双曲正切函数,

tanh(x)=(ex-e-x)/(ex+e-x)。

本实例中,神经网络包含一个输入层,一个输出层和一个隐藏层,隐藏层的结点数目为10。

b.获取原始数据并进行预处理。由用户携带的移动设备中的三轴加速度传感器与三轴角速度传感器实时获取,分别包含三个维度上的标量大小,记录为时序信号序列ax(t)、ay(t)、az(t)、ωx(t)、ωy(t)、ωz(t),分别进行实时的低通滤波,本实施例中使用一阶低通滤波,如x(t)=0.7x(t)+0.3x(t-1),分别滤波之后得到的数据为a′x(t)、a′y(t)、a′z(t)、ω′x(t)、ω′y(t)、ω′z(t),

A(k)={a′x(k),a′y(k),a′z(k)},

Ω(k)={ω′x(k),ω′y(k),ω′z(k)}。

c.步长估计模型的训练。分别收集大量各种状态下经步骤二预处理后的的加速度与角速度数据,将每一段完整的步伐所对应的各数据的时间序列及其步伐状态作为一组训练数据,对基于bp神经网络的步长估计模型进行训练。

具体的,每次从训练数据中随机选出一组数据来训练模型,初始化神经网络各权值参数,通过前向传播计算出神经网络模型对该数据的预测结果,与真实结果进行比较,然后后向反馈回各神经元结点,更新个结点间的权值参数,不断重复这一过程,使结果趋于收敛。最后,通过交叉验证确定模型各参数的初始值,得到初始的步伐识别模型f(·)。

2)在线定位阶段,包括以下步骤

a.获取原始数据并进行预处理。由行人携带的移动设备中的三轴加速度传感器与三轴角速度传感器实时获取,分别包含三个维度上的标量大小,记录为时序信号序列ax(t)、ay(t)、az(t)、ωx(t)、ωy(t)、ωz(t),分别进行实时的低通滤波,得到滤波后的数据为a′x(t)、a′y(t)、a′z(t)、ω′x(t)、ω′y(t)、ω′z(t),

b.步伐检测。更新当前时间窗口的加速度和角速度分别为

Wa(k)={Ag(k-k0),Ag(k-k0+1),…,Ag(k)}

Wω(k)={ω(k-k0),ω(k-k0+1),…,ω(k)}

k0为预设的时间窗口常数。通过加速度数值与上下阈值的比较来检测是否产生新的步伐。如果步伐检测成功,则进入步骤c,否则继续检测。

c.步伐长度估计。将当前时间窗口中的加速度与角速度数据输入训练好的神经网络模型f(·),

y(k)=f(A(k-k0),…,A(k),Ω(k-k0),…,Ω(k))

即可输出当前的步伐长度。

d.方向估计。利用设备内的磁力计测量地磁强度,估计运动方向,计算运动方向与北的夹角α。

e.定位。计算相对位移,

Δx(k)=l(k)cos(α)

Δy(k)=l(k)sin(α)

最后,根据上一刻的位置,在定位过程中使用扩展卡尔曼滤波计算当前位置。具体的,设上一时刻的位置为(x(t-1),y(t-1)),则当前时刻的位置为:

x(k)=(1-Kg)[x(k-1)+Δx(k)]+KgZy(k|k-1)

y(k)=(1-Kg)[y(k-1)+Δy(k)]+KgZy(k|k-1)

其中,Kg为计算出的卡尔曼增益,Zx和Zy为根据上一时刻位置与速度估计出的本时刻的位置。

表1是示出了一组直线行走时测试的误差。

表1

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