基于RBF神经网络的MIMU姿态解算算法研究

2019-12-17 03:32:10姚文凯邢砾文武警工程大学
数码世界 2019年12期
关键词:数法卡尔曼欧拉角

姚文凯 邢砾文 武警工程大学

1 引言

最近几年来由于微惯性测量单元技术以及计算机的技术的不断进步与发展,陀螺仪、加速度计和磁传感器被广泛应用于定位与导航之中。微型惯性测量单元全称Miniature Inertial Measurement Unit,它是一种应用十分广泛的的MEMS,它的陀螺仪、加速度计和磁传感器能够应用在确认运动载体的拘役位置、运动速度以及载体的姿态信息。微惯性器件的主要特点有低成本、体积小、功耗低、全固态、可靠性高、精度低等。微型惯性测量单元的陀螺仪、加速度计和磁传感器都有着各自的局限,如果它们进行单独的工作,会因为它们自身的各自缺陷引起比较大的偏差,从而难以在室内精确的对人的姿态进行测量。为了提高对采集到的姿态信息的精度,本文将会将RBF与卡尔曼滤波融合起来构建一个新的滤波模型对人的姿态信息进行解算,这种算法能够有效的消除卡尔曼滤波模型本身引起的误差,从而使的构建的模型以及滤波过程中使用的参数对最优估计值的影响减少以及提高模型对动态环境的外来干扰的抗干扰能力。

2 姿态解算的常规方法

目前比较常见的传统姿态更新算法有欧拉角法、方向余弦法、四元数法几种。

2.1 欧拉角法

在利用欧拉角法实现姿态角计算的时候,首先需要利用旋转关系来建立姿态角的微分方程,然后通过离散方法对所建立的微分方程进行离散化,最后根据递推公式来实现对姿态角的实时计算。但是欧拉角法在俯仰角的大小接近90度的时候会出现计算“奇点”,这个时候微分公式就会出现退化现象。因此,用欧拉角法计算人体的姿态角存在着比较大的局限性,只适用于水平姿态角变化不大的情况。

2.2 方向余弦法

用方向余弦法对人体的姿态进行计算的时候可以利用微分方程来直接对姿态矩阵中的九个元素进行计算,并且计算的时候不会出现利用欧拉角法时候存在的退化现象,能够实现对全姿态运载体的计算。但是这种方法要求同时对线性微分方程组中的多个线性方程进行计算,存在着比较大的计算量,难以实现实时计算。

2.3 四元数法

利用四元数可以实现人的坐标系与参坐标系之间的关系。四元数可以认为是向量与市属之间的组合,为了表示方便,这里将采用q来对四元数进行表示,具体表示方式如公式2-1所示。

四元数法算法简单,但在计算精度方面存在着一定的缺陷,为了提高对人体姿态信息的计算精度,本文将在四元数法的基础上,引入RBF-卡尔曼融合滤波模型来解算姿态信息。

3 RBF卡尔曼融合滤波模型算法

3.1 RBF神经网络模型

RBF神经网络中有输入层、隐含层和输出层三个层次,每个层次都有各自的功能。隐含层的神经元激活函数由径向基函数构成。隐含层组成的数组运算单元中都有一个中心向量c,c和输入参数向量的维数是相同的,在计算非线性激活函数的时候需要利用到二者之间的欧式距离,具体定义为。因此,隐含层的输出为非线性激活函数如公式(3-1)所示。

其中,bj是一个为正的标量,它表示的是公式(3-1)中高斯函数的宽度的大小,而m则表示的是整个RBF神经网络中隐藏节点的个数。

为了计算方便,这里将该基函数的宽度定义为1,于是就可以得到公式(3-2)所示的神经网络输出逼近函数。

针对上述RBF神经网络,通过试验所测量出来的不同已知姿态条件下微惯性测量组合输出电压作为训练样本进行训练,来实现神经网络中不同隐藏节的数值修正。

3.2 RBF-卡尔曼融合滤波模型

在本次研究中,首先先用陀螺仪和加速度计来实现人在运动过程中所安装的MIMU的角速度以及加速度,并且利用磁力计对测量的角速度和加速度所存在的加速度以及角速度进行校准。然后将获取到的三种姿态信息过扩展卡尔曼滤波器进行信息融合得到经过RBF神经网络进行校准前的姿态信息。然后将三个传感器的信息和校准前的姿态信息反向输入到建立好的RBF神经网络中系统中实现神经网络中的训练与预测。图3-1为RBF卡尔曼融合滤波的结构框图。

图3-1 RBF神经网络模型

4 仿真分析

在本次实验中,为了实现仿真,本次实验利用一个九轴的IMU模块以及一个GPS接收模块在室内进行实验,其中其中IMU模块的陀螺仪精度为0.05°/s,加速度计精度为0.01g,GPS模块的定位精度为2.5m,测速精度为0.1m/s。将二者固定于同一个平台上并进行仿真运动550s,并实时的记录在实验中获得的数据,采用前400s的数据作为训练样本按照设计方案对网络进行训练,将后150s的数据输入网络中预测该时间内的络参数误差,将误差反馈给RBF神经网络模型得到修正后的定位导航参数,并与真实轨迹进行对比。为了验证该方法的优越性,进行了单纯的卡尔曼滤波的误差融合进行了对比分析。

图4-1 原始数据的姿态角

图4-2 经过卡尔曼处理的姿态角

图4-3经过RBF-卡尔曼融合处理的姿态角

图4-1是没有经过任何处理的姿态角,图4-2是经过单纯的四元数-卡尔曼滤波进行滤波后的姿态角,而图3-3是经过RBF-四元数卡尔曼滤波后的姿态角。从图4-1、4-2、4-3的对比可以发现,经过卡尔曼滤波进行滤波后的姿态角比没有经过处理的姿态角误差要小,而融合了RBF神经网络后的卡尔曼滤波的效果又要比过单纯的卡尔曼滤波效果要好。因此,该方案是可行的。

5 结论

通过本次实验发现,如果不采取算法对收集到的数据进行处理,那么姿态角容易受到漂移和噪声的影响,会产生较大的误差。但是经过四元数法和卡尔曼融合处理后的姿态角受到的影响明显减弱,说明四元数法和卡尔曼融合在姿态角解算过程中起到很重要的作用,而在四元数法和卡尔曼融合处理的基础上加入RBF神经网络控制进行辅助,能够进一步的使得姿态角受到的影响明显减弱。

猜你喜欢
数法卡尔曼欧拉角
巧借导数法,秒破不等式
《数花生》教学实录及课堂评析
《数花生》教学实录及课堂评析
状态变换扩展卡尔曼平滑算法在AUV水下航迹修正中的应用
从CATIA位置矩阵求解欧拉角的计算方法分析
科技视界(2017年6期)2017-07-01 08:33:34
一种基于EGI和标准人脸模板的三维人脸点云拼合算法
软件导刊(2016年11期)2016-12-22 21:37:36
趣味数独
基于卡尔曼算法的动力锂电池SOC估算
工业设计(2016年4期)2016-05-04 04:00:28
基于卡尔曼预测的逆变焊接电源信号处理方法
焊接(2016年4期)2016-02-27 13:04:27
基于扩展卡尔曼估计的飞机防滑刹车系统模糊控制