CN109857127A - 训练神经网络模型以及飞行器姿态解算的方法、装置 - Google Patents
训练神经网络模型以及飞行器姿态解算的方法、装置 Download PDFInfo
- Publication number
- CN109857127A CN109857127A CN201811386771.3A CN201811386771A CN109857127A CN 109857127 A CN109857127 A CN 109857127A CN 201811386771 A CN201811386771 A CN 201811386771A CN 109857127 A CN109857127 A CN 109857127A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- data
- training
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及无人机技术领域,公开了一种应用于训练神经网络模型的方法、以及应用于飞行器姿态解算的方法、装置。该方法包括:接收训练数据;其中,训练数据对应有期望数据;以训练数据为神经网络模型的输入,进行神经网络模型的节点运算,输出训练结果数据,以拟合飞行器的姿态解算过程;判断训练结果数据与期望数据的误差是否小于误差阈值;若否,则调整神经网络模型中各节点之间的连接权值以及各节点的输出阈值,以使神经网络模型输出的训练结果数据逼近期望数据,直至训练结果数据与期望数据的误差小于误差阈值。通过上述方式,本发明能够降低飞行器的姿态解算算法的运算量。
Description
技术领域
本发明涉及无人机技术领域,特别是涉及一种应用于训练神经网络模型的方法、以及应用于飞行器姿态解算的方法、装置。
背景技术
无人机姿态解算是指无人机飞控系统通过无人机上的传感器采集传感器数据,之后选择相应的姿态解算算法计算出无人机的飞行姿态。无人机姿态解算是无人机导航的基础,其重要性不言而喻,并且姿态解算算法的精度直接决定了无人机导航的精度。而目前常用的无人机姿态解算算法存在鲁棒性差,精度低,运算量大的问题。
发明内容
有鉴于此,本发明主要解决的技术问题是提供一种应用于训练神经网络模型的方法以及应用于飞行器姿态解算的方法、装置,能够降低飞行器的姿态解算算法的运算量。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种应用于训练神经网络模型的方法,该方法包括:接收训练数据;其中,训练数据对应有期望数据;以训练数据为神经网络模型的输入,进行神经网络模型的节点运算,输出训练结果数据,以拟合飞行器的姿态解算过程;判断训练结果数据与期望数据的误差是否小于误差阈值;若否,则调整神经网络模型中各节点之间的连接权值以及各节点的输出阈值,以使神经网络模型输出的训练结果数据逼近期望数据,直至训练结果数据与期望数据的误差小于误差阈值。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种应用于飞行器姿态解算的方法,该方法包括:接收飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型的输入,进行神经网络模型的节点运算;输出飞行器的横滚角、俯仰角以及偏航角;其中,神经网络模型由上述实施例所阐述应用于训练神经网络模型的方法训练而得。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种应用于飞行器姿态解算的装置,该装置包括输入/输出电路以及处理器,输入/输出电路与处理器耦接,处理器用于实现如下动作:控制输入/输出电路接收飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型的输入,进行神经网络模型的节点运算;控制输入/输出电路输出飞行器的横滚角、俯仰角以及偏航角;其中,神经网络模型由上述实施例所阐述应用于训练神经网络模型的方法训练而得。
本发明的有益效果是:区别于现有技术,本发明提供一种应用于训练神经网络模型的方法。该方法包括接收训练数据,并以训练数据为神经网络模型的输入数据,进行神经网络模型的节点运算,输出训练结果数据,以拟合飞行器的姿态解算过程。通过比对所输出的训练结果数据与期望数据,调整神经网络模型中各节点之间的连接权值以及各节点的输出阈值,使得神经网络模型输出的训练结果数据逼近期望数据,从而完成神经网络模型的训练工作,并利用训练后的神经网络模型拟合飞行器姿态解算的过程,避免了常规解算算法所需的大量三角函数、矩阵等高阶数学运算,能够降低飞行器的姿态解算算法的运算量,从而改善飞行器的姿态解算算法的鲁棒性。
附图说明
图1是本发明应用于训练神经网络模型的方法一实施例的流程示意图;
图2是本发明应用于训练神经网络模型的方法另一实施例的流程示意图;
图3是本发明神经网络模型一实施例的结构示意图;
图4是本发明互补滤波算法一实施例的原理示意图;
图5是本发明导航坐标系一实施例的示意图;
图6是本发明应用于飞行器姿态解算的方法一实施例的流程示意图;
图7是本发明飞行器横滚角一实施例的对比示意图;
图8是本发明飞行器俯仰角一实施例的对比示意图;
图9是本发明飞行器偏航角一实施例的对比示意图;
图10是本发明应用于飞行器姿态解算的装置一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
请参阅图1,图1是本发明应用于训练神经网络模型的方法一实施例的流程示意图。
神经网络模型为模拟人类实际神经网络的数学方法。其是由大量的、简单的节点(也称为神经元)广泛地互相连接而形成的复杂网络系统,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。
本实施例所阐述的方法即应用于训练神经网络模型,以使其具备拟合飞行器的姿态解算过程的能力。通过训练神经网络模型,使得神经网络模型中的各节点以及不同节点间的运算能够模拟飞行器的姿态解算算法,以利用已知条件得到无限逼近真实值的结果。其中,由于神经网络模型中的各节点以及不同节点间的运算为简单的数学运算,例如加减乘除等,其相较于常规解算算法,能够避免大量的三角函数、矩阵等高阶数学运算。因此利用神经网络模型拟合飞行器的姿态解算过程,能够降低飞行器的姿态解算算法的运算量,从而改善飞行器的姿态解算算法的鲁棒性。以下进行详细阐述。
需要说明的是,本实施例所阐述的应用于训练神经网络模型的方法并不局限于以下步骤。
S101:接收训练数据;
在本实施例中,神经网络模型接收用于训练数学模型的训练数据。每一组训练数据均对应有期望数据。期望数据为描述训练数据所对应的准确结果。由于训练数据以及期望数据已知,向神经网络模型输入训练数据,并根据神经网络模型所输出的结果与期望数据的偏差,以判断神经网络模型的拟合精度。当神经网络模型的拟合精度达到要求时,即可结束训练神经网络模型的工作。
S102:以训练数据为神经网络模型的输入,进行神经网络模型的节点运算,输出训练结果数据;
在本实施例中,神经网络模型在接收训练数据后,以训练数据为神经网络模型的输入数据,进行神经网络模型的节点运算。神经网络模型输出训练结果数据,该训练结果数据为神经网络模型的拟合姿态解算的拟合结果,其用于描述神经网络模型的拟合精度,也就是运用该神经网络模型的姿态解算算法的精度。
S103:判断训练结果数据与期望数据的误差是否小于误差阈值;
在本实施例中,神经网络模型完成每次的训练后,均需要对其输出的训练结果数据进行精度评估,以判断神经网络模型的训练完成度,即判断训练后的神经网络模型是否能够应用于飞行器的姿态解算。具体为判断训练结果数据与期望数据的误差是否小于误差阈值,即将训练结果数据与训练数据所对应的准确结果进行比对,判断二者的误差是否小于误差阈值。若误差小于误差阈值,则说明本次训练结果的精度达到要求;若误差不小于误差阈值,则执行步骤S104,说明本次训练结果的精度未达到要求,需要对神经网络模型进行调整。
S104:调整神经网络模型中各节点之间的连接权值以及各节点的输出阈值;
在本实施例中,当神经网络模型所输出的训练结果数据与期望数据达到误差未达到精度要求时,需要调整神经网络模型,以使其节点网络的运算结果能够逼近飞行器姿态解算的真实值,达到拟合精度的要求。其具体调整内容为调整神经网络模型中各节点之间的连接权值以及各节点的输出阈值。通过多次对神经网络模型的调整,以使神经网络模型的节点网络所模拟的运算过程无限逼近飞行器实际的姿态解算,从而提高神经网络模型的拟合精度,进而提高应用本实施例所阐述神经网络模型的姿态解算算法的精度。
以上可以看出,本实施例所提供的应用于训练神经网络模型的方法利用训练后的神经网络模型拟合飞行器姿态解算的过程,避免了常规解算算法所需的大量三角函数、矩阵等高阶数学运算,能够降低应用本实施例所阐述神经网络模型的飞行器姿态解算算法的运算量,从而改善飞行器的姿态解算算法的鲁棒性。
请参阅图2,图2是本发明应用于训练神经网络模型的方法另一实施例的流程示意图。
在本实施例中,飞行器可以为无人机等,例如旋翼无人机、固定翼无人机等。飞行器姿态解算是指飞行器飞控先通过读取陀螺仪,加速度计,磁力计的传感器数据,然后选择相应的姿态解算算法计算出飞行器的飞行姿态,即俯仰角,横滚角,偏航角。飞行器姿态解算是飞行器导航的基础,其重要性不言而喻,姿态解算算法的精度直接决定了飞行器导航的精度。
在飞行器的姿态解算中,陀螺仪可以测量飞行器的运动状态下的三轴角速率,通过对角速率积分可计算姿态角,具有较好的动态特性,短期内精度高,但用于姿态解算时会产生累计误差导致姿态发散。加速度计可用于飞行器的倾角测量,即通过加速计可以计算出俯仰角和横滚角,但它同时对重力加速度和运动加速度敏感,载体做长时间机动运动时上述姿态数据的测量会产生较大的测量误差。磁力计可以计算飞行器的偏航角,但容易受到飞行器附近的磁场干扰。有鉴于此,本实施例提供一种神经网络模型,应用该神经网络模型的姿态解算算法能够融合上述三种传感器的数据,以得到较高精度的姿态数据。
请参阅图3。本实施例所阐述的神经网络模型1为长短期记忆神经网络模型,其为一种时间递归神经网络模型,其包括输入层11、隐藏层12以及输出层13,输入层11用于接收训练数据,输出层13用于输出训练结果数据。输入层、隐藏层12以及输出层13的节点之间依次建立有神经网络。并且神经网络模型1还包括循环结构14,循环结构14允许信息从当前输出传递至下一次的网络输入,使得神经网络模型1能够建立起当前值与先前值的历史信息的关联,以对下一时刻的事件作出预测,适合于处理和预测时间序列中间隔和延迟一定时长的事件。因此,应用本实施例所阐述的神经网络模型的飞行器姿态解算算法可以充分利用飞行器姿态数据的时序性,对飞行器的姿态进行预测从而达到姿态解算的目的。并且,神经网络模型无须对问题建模,并能够很好的逼近系统的非线性特性,计算过程稳定,不涉及矩阵求逆,不需要迭代逼近,其计算所耗费时间明显少于常规姿态解算算法。
为使神经网络模型具备拟合飞行器的姿态解算过程的能力,即需要对神经网络模型进行训练,以使神经网络模型建立起完整的节点神经网络。以下对本实施例所提供应用于训练神经网络模型的方法进行详细阐述。需要说明的是,本实施例所阐述应用于训练神经网络模型的方法并不局限于以下步骤。
S201:初始化神经网络模型中各节点的输出阈值以及不同节点间的连接权值;
在本实施例中,神经网络模型的训练过程即为调整其中各节点的输出阈值以及不同节点间的连接权值的过程,并在调整过程中不断逼近其所要拟合的数学问题的求解方法(在本实施例中即为拟合飞行器的姿态解算)。因此,在训练开始前,需要初始化神经网络模型中各节点的输出阈值以及不同节点间的连接权值,以使神经网络模型恢复初始状态,以便进行后续训练工作。
S202:将学习模式提供于神经网络模型;
在本实施例中,鉴于神经网络模型为长短期记忆神经网络模型,并为了最小化训练误差,采用梯度下降法训练神经网络模型。其中,梯度下降法的原理为:
参数θ为目标函数J(θ)上升最快的方向;
其中,为参数的梯度,η为学习效率,又称步长。
用于训练神经网络模型的学习模式包括学习效率以及训练数据,学习效率根据每次神经网络模型的训练情况调整,而训练数据取自训练集。针对应用于飞行器姿态解算的神经网络模型,预先存储有总数据集合,总数据集合包括训练集以及测试集,训练数据为训练集中的样本,而测试集中的样本用于检验训练效果。其中,总数据集合中的数据是由预先开展的大量飞行实验所得,具体为将安装有飞控系统的飞行器进行飞行实验,采集飞行器在飞行过程中的传感器数据以及姿态数据,组成上述总数据集合。其中,所采集的传感器数据(即陀螺仪,加速度计,磁力计)对应神经网络模型的输入,姿态数据(即俯仰角,横滚角,偏航角)对应神经网络模型的输出,并且取总数据集合中70%的样本数据为训练集,剩下的作为测试集。当然,理论上所采集的传感器数据以及姿态数据越多越好,以丰富神经网络模型的训练样本,从而保证神经网络模型的训练效果。
S203:以训练数据为隐藏层的输入,计算出隐藏层中各节点的输入值以及输出值;
在本实施例中,神经网络模型由不同节点所建立的神经网络组成,各节点的输入值与输出值存在以下关系:
其中,yi为节点i的输出值,xj为节点i的输入值,wij为节点j与节点i之间的连接权值,θ为输出阈值,f(neti)为激活函数。各节点在接收到上游节点所输出的输出值后,并以其为输入通过调用上述模型函数计算出相对应的输出值,则完成该节点的节点运算。
在本实施例中,在输入层接收到输入神经网络模型的训练数据并传递至隐藏层后,隐藏层中与输入层建立神经网络联系的节点以该训练数据为输入值,隐藏层中各节点计算出对应的输入值以及输出值。
S204:以隐藏层中与输出层建立有神经网络的节点的输出值为输出层的输入值,计算出输出层中各节点的输入值以及输出值;
在本实施例中,输出层中与隐藏层建立有神经网络联系的节点以隐藏层中与其建立联系的节点的输出值为输入,输出层中各节点计算出对应的输入值以及输出值。
上述隐藏层以及输出层中各节点的节点运算过程即为神经网络模型拟合飞行器姿态解算的解答过程。其中对节点连接权值以及输出阈值的调整,能够使得神经网络模型不断逼近飞行器姿态解算的真实解答过程,最终使神经网络模型收敛,使其能够应用于飞行器的姿态解算。
以下阐述本实施例所提供神经网络模型的节点运算所拟合的算法:
在本实施例中,神经网络模型的节点运算拟合互补滤波算法。其核心思想是通过陀螺仪的积分来获得四轴的旋转角度,然后通过加速度计和磁力计的比例和积分运算来修正陀螺仪的积分结果。
飞行器姿态表示的方法有欧拉角法、方向余弦法和四元数法。欧拉角法在求解姿态时存在奇点(万向节死锁),不能用于全姿态的解算;方向余弦可用于全姿态的解算但计算量大,不能满足实时性要求。四元数法,其计算量小,无奇点且可以满足飞行器运动过程中姿态的实时解算。对于一个确定的向量,用不同的坐标系表示时,其所表示的大小和方向一定是相同的,但是由于这两个坐标系的旋转矩阵存在误差,那么当一个向量经过一个有误差存在的旋转矩阵后,在另一个坐标系中肯定和理论值是有偏差的,因此利用该偏差以修正存在误差的旋转矩阵。如果这个旋转矩阵的元素是四元数,那么修正的就是四元数,如是姿态也就被修正。
陀螺仪动态响应特性良好,但计算姿态时会产生累积误差。磁力计和加速度计测量姿态没有累积误差,但动态响应较差,因此它们在频域上特性互补,可以采用互补滤波器融合这三种传感器的数据,提高测量精度和系统的动态性能。
请参阅图4。以下详细阐述神经网络模型的节点运算所拟合互补滤波算法的原理。
飞行器的姿态解算所基于的坐标系体系为东北天坐标系,其为一种当地地理坐标系,原点位于导航系统所处的位置P,坐标轴N、E、D指向北、东和当地垂线方向,如图5所示。
互补滤波算法的传递函数如下:
其中,表示飞行器运动过程中真实的姿态矩阵,KP的大小决定互补滤波器的截止频率和响应速度,KI的大小决定消除静态偏差的效果,G1具有一阶低通滤波特性,G2具有一阶高通滤波特性。
互补滤波四元数姿态解算步骤如下:
1、初始化四元数:将已知载体初始姿态角带入下式,求出初始时刻的四元数。
2、获取陀螺仪、加速度计以及磁力计的测量值:读取加速度计测量值[ax ay az]、陀螺仪测量值[wx wy wz]、磁力计测量值[mx my mz]。
3、将加速度计测量值、磁力计测量值化为单位向量。
4、从四元数里获得重力向量和磁场向量。
加速度计解算:
其中,是机体坐标系下的重力向量,是从导航坐标系到机体坐标系的旋转矩阵,是在导航坐标系下加速度计输出(重力向量)。
磁力计解算为:
其中,是磁力计在机体坐标系中的输出,是加速度计修正后的机体坐标系到导航坐标系的旋转矩阵,是导航坐标系下磁场向量。
再由导航坐标系转换至机体坐标系:
其中,bz=hz,
是从导航坐标系中的磁场向量转换至机体坐标系下磁场向量。
5、计算误差。
ex=(ay*vz-az*vy)+(my*wz-mz*wy)
ey=(az*vx-ax*vz)+(mz*wx-mx*wz)
ez=(ax*vy-ay*vx)+(mx*wy-my*wx)。
6、利用误差修正陀螺仪。
δ=Kpe+KI∫e
ω=ωg+δ。
7、利用修正的陀螺仪数值更新四元数。
8、将更新后的四元数规范化。
9、将四元数转换成欧拉角。
需要说明的是,神经网络模型中节点以及节点间的运算所拟合姿态解算算法的解答过程即为上述互补滤波算法的解算过程。
当然,应用于飞行器姿态解算的算法并不局限于上述互补滤波算法,例如还可以使用卡尔曼滤波算法等。同理,本实施例所提供的神经网络模型同样可以拟合卡尔曼滤波算法等飞行器的姿态解算算法,本实施例以互补滤波算法为例进行阐述,仅为论述需要,并非因此对神经网络模型所能拟合的解算算法造成限定。
需要说明的是,互补滤波姿态解算算法若直接应用于飞行器的姿态解算,其难以精准地确定传感器上下限截止频率,算法精度差,需要进行大量的矩阵运算,实时性一般,易受外界环境干扰,鲁棒性差。
并且,卡尔曼滤波算法若直接应用于飞行器的姿态解算,其要求动态系统的模型结构与噪声统计特性已知,模型误差直接影响滤波器误差。但飞行器导航系统往往是非线性连续系统模型,在飞行器飞行过程中,环境噪声变化较快,而且飞行器要求实时性比较高,由于缺乏系统工作环境条件的先验知识,实际的物理系统的系统噪声和量测噪声也无法满足零均值高斯白噪声的条件,所以采用卡尔曼滤波算法进行系统状态参数的误差估计就会出现较大误差,甚至出现滤波发散问题。
而本实施例利用神经网络模型拟合上述姿态解算算法,由于规避了常规算法中所涉及大量的三角函数、矩阵求逆等高阶数学运算,其运算量明显减少,使得应用本实施例所阐述神经网络模型的姿态解算算法体系简单,不易受外界环境干扰,鲁棒性良好;并且由于运算量较少,因此响应速度较快,能够保证良好的实时性。本实施例所阐述神经网络模型所基于的长短期记忆网络属于人工神经网络的一种,无须对问题建模,并能够很好的逼近系统的非线性特性,计算过程稳定,不涉及矩阵求逆,不需要迭代逼近,其计算所耗费时间明显少于常规计算方法。并且对于传统的神经网络,输入和输出没有依赖关系。长短期记忆网络能够对下一时刻的值作出预测,通常这些预测值是和所有先前值的历史信息相关,因此可以充分利用无人机姿态数据的时序性,对无人机的姿态进行预测从而达到姿态解算的目的,使低成本的导航姿态系统能达到高精度的导航姿态系统的精度。
S205:分别计算出隐藏层以及输出层中各节点的输出值与对应的期望输出值的校正误差;
在本实施例中,神经网络模型中的节点经过运算后输出对应的输出值。在神经网络模型的训练方案中,需要对节点所输出的输出值进行误差分析,以判断该节点所对应的环节是否正确收敛,而对于整个神经网络模型体系而言,就需要分别对隐藏层以及输出层中各节点的输出值进行误差分析。具体为:分别计算出隐藏层以及输出层中各节点的输出值与对应的期望输出值的校正误差。其中,训练数据所对应的期望数据包括多个期望输出值,各期望输出值分别对应隐藏层以及输出层中各节点的输出值,用于描述对应环节正确收敛所应当输出的值。
S206:分别判断各校正误差是否均小于误差阈值;
在本实施例中,若各校正误差均小于误差阈值,则执行步骤S208,若各校正误差并非均小于误差阈值,则执行步骤S207。
在计算得到隐藏层以及输出层中各节点的输出值与对应的期望输出值的校正误差后,校正误差小于误差阈值的节点说明其正确收敛,而校正误差不小于误差阈值的节点说明其未收敛或未正确收敛。其中,误差阈值用于描述认为节点正确收敛所允许的误差范围。
当各校正误差均小于误差阈值时,则说明对于本次训练所使用的训练数据,神经网络模型收敛情况良好,无需调整连接权值以及输出阈值,执行步骤S208;而当各校正误差中存在至少部分不小于误差阈值时,则说明对于本次训练所使用的训练数据,神经网络模型收敛情况不良,需要调整连接权值以及输出阈值,执行步骤S207。
S207:沿神经网络模型的节点运算的逆方向,调整输入层、隐藏层以及输出层中节点之间的连接权值以及各节点的输出阈值;
在本实施例中,调整神经网络模型中节点间的连接权值以及节点的输出阈值其具体为沿神经网络模型的节点运算的逆方向,调整输入层、隐藏层以及输出层中节点之间的连接权值以及各节点的输出阈值。之后执行步骤S208。
S208:调整学习效率,以更新神经网络模型的学习模式;
在本实施例中,学习效率决定神经网络模型在训练过程中的收敛快慢。神经网络模型在训练过程中的收敛速率与学习效率成正相关。然而,由于神经网络模型为一复杂的非线性系统,其存在众多局部最优点(鞍点)。若要神经网络模型的收敛效果达到最佳,既需要其中的各局部最优点均达到收敛,即全局收敛。如果学习效率过小则收敛速率慢,如果学习效率过大则会导致训练震荡,甚至可能引起发散。因此,需要根据神经网络模型每次的训练情况,合理调整学习效率。
具体如下:当隐藏层以及输出层中各节点的输出值与对应的期望输出值的校正误差均小于误差阈值时,说明对于本次训练,神经网络模型收敛情况良好,可以加快训练,对应地增大学习效率并且提取新的训练数据以更新学习模式并提供于神经网络模型,进行新一轮的训练;而当隐藏层以及输出层中各节点的输出值与对应的期望输出值的校正误差并非均小于误差阈值时,说明对于本次训练,神经网络模型收敛情况不良,需要放慢训练,对应地减小学习效率并且提取新的训练数据以更新学习模式并提供于神经网络模型,进行新一轮的训练。
需要说明的是,为了提高解算精度,对于神经网络模型的隐藏层和迭代次数分别进行了改变测试,以寻找最优的神经网络模型。如此一来,就可以利用训练好的神经网络模型去替代常规复杂的飞行器姿态解算算法。
S209:判断训练集中的训练数据是否均训练过神经网络模型;
在本实施例中,若训练集中的训练数据均训练过神经网络模型,则执行步骤S210,若训练集中的训练数据未均训练过神经网络模型,则执行步骤S202。
为了增强神经网络模型的泛化能力,本实施例对训练集进行交叉验证以及正则化。当训练集中的训练数据均训练过神经网络模型后,将总数据集合中的训练集以及测试集的样本数据打乱,重新组成出新的训练集以及测试集,再用于训练以及测试神经网络模型。
而当训练集中的训练数据未均训练过神经网络模型时,则从当前训练集中提取新的训练数据以及上述步骤所得的学习效率,以更新学习模式并提供于神经网络模型。
S210:更新训练次数;
在本实施例中,在当前训练集中的训练数据均训练过神经网络模型后,统计并更新神经网络模型所经历的训练次数。在神经网络模型的训练次数达到目标次数时,并且在测试集对神经网络模型的测试过程中测试结果误差较大的测试例比例小于一定比例时,完成神经网络模型的训练工作;否则,则需要从新的训练集中提取训练数据以及对应调整学习效率以更新学习模式,继续进行神经网络模型的训练,执行步骤S202。
综上所述,本实施例所提供的应用于训练神经网络模型的方法利用训练后的神经网络模型拟合飞行器姿态解算的过程,避免了常规解算算法所需的大量三角函数、矩阵等高阶数学运算,能够降低应用本实施例所阐述神经网络模型的飞行器姿态解算算法的运算量,从而改善飞行器的姿态解算算法的鲁棒性。
请参阅图6,图6是本发明应用于飞行器姿态解算的方法一实施例的流程示意图。本实施例提供一种应用于飞行器姿态解算的方法,该方法应用了上述实施例所阐述的神经网络模型,在此就不再赘述。需要说明的是,本实施例所提供的应用于飞行器姿态解算的方法并不局限于以下步骤。
S301:接收飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;
在本实施例中,飞行器上通常配备有传感器,以检测飞行器在飞行过程中的姿态信息。其通常包括加速度计,用于测量飞行器在三轴方向上的加速度;磁力计,用于测量飞行器的偏航角;陀螺仪,用于测量飞行器在三轴方向上的角速度。接收飞行器的加速度计所测量的加速度计测量数据、磁力计所测量的磁力计测量数据以及陀螺仪所测量的陀螺仪测量数据,选择对应的解算算法,即可解算出飞行器的当前飞行姿态,即俯仰角,横滚角,偏航角。
S302:以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型的输入数据,进行神经网络模型的节点运算;
由于本实施例应用上述实施例所阐述的神经网络模型,进行飞行器的飞行姿态解算。并且上述步骤所接收的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型所拟合的姿态解算算法的输入参数。因此,以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型的输入数据,进行神经网络模型的节点运算。
S303:输出飞行器的横滚角、俯仰角以及偏航角;
在本实施例中,神经网络模型以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为输入,通过其内的节点以及节点间的运算,最终神经网络模型的输出层输出飞行器的横滚角、俯仰角以及偏航角,完成飞行器的飞行姿态解算。
请参阅图7-9。图7-9展示了本实施例所阐述应用于飞行器姿态解算的方法所解算得到的飞行器的飞行姿态与飞行器实际的飞行姿态的对比图。从中可以明显看出,本实施例所阐述应用于飞行器姿态解算的方法具备较高的解算精度。
请参阅图10,图10是本发明应用于飞行器姿态解算的装置一实施例的结构示意图。
在本实施例中,应用于飞行器姿态解算的装置2包括输入/输出电路21以及处理器22,输入/输出电路21与处理器22耦接,处理器22能够调用上述实施例所阐述的神经网络模型用于实现如下动作:
控制输入/输出电路21接收飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;以加速度计测量数据、磁力计测量数据以及陀螺仪测量数据为神经网络模型的输入,进行神经网络模型的节点运算;控制输入/输出电路21输出飞行器的横滚角、俯仰角以及偏航角。
其中,神经网络模型由上述实施例所阐述的应用于训练神经网络模型的方法训练而得,在此就不再赘述。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种应用于训练神经网络模型的方法,其特征在于,所述方法包括:
接收训练数据;其中,所述训练数据对应有期望数据;
以所述训练数据为所述神经网络模型的输入,进行所述神经网络模型的节点运算,输出训练结果数据,以拟合飞行器的姿态解算过程;
判断所述训练结果数据与所述期望数据的误差是否小于误差阈值;
若否,则调整所述神经网络模型中各节点之间的连接权值以及各节点的输出阈值,以使所述神经网络模型输出的训练结果数据逼近所述期望数据,直至所述训练结果数据与所述期望数据的误差小于所述误差阈值。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型为长短期记忆神经网络模型,其包括输入层、隐藏层以及输出层,所述输入层用于接收所述训练数据,所述输出层用于输出所述训练结果数据,所述输入层、所述隐藏层以及所述输出层的节点之间依次建立有神经网络;
所述节点的输入值与输出值存在以下关系:
其中,yi为节点i的输出值,xj为节点i的输入值,wij为节点j与节点i之间的连接权值,θ为输出阈值,f(neti)为激活函数。
3.根据权利要求2所述的方法,其特征在于,所述进行所述神经网络模型的节点运算的步骤具体包括:
以所述训练数据为所述隐藏层的输入,计算出所述隐藏层中各节点的输入值以及输出值;
以所述隐藏层中与所述输出层建立有神经网络的节点的输出值为所述输出层的输入值,计算出所述输出层中各节点的输入值以及输出值;
其中,所述隐藏层以及所述输出层中各节点的输出值的集合为所述训练结果数据。
4.根据权利要求3所述的方法,其特征在于,所述期望数据中包括多个期望输出值,所述多个期望输出值分别对应所述隐藏层以及所述输出层中各节点的输出值;
所述判断所述训练结果数据与所述期望数据的误差是否小于误差阈值的步骤具体包括:
分别计算出所述隐藏层以及所述输出层中各节点的输出值与对应的所述期望输出值的校正误差;
分别判断各所述校正误差是否均小于所述误差阈值;
若否,则判定所述训练结果数据与所述期望数据的误差不小于所述误差阈值。
5.根据权利要求4所述的方法,其特征在于,所述调整所述神经网络模型中各节点之间的连接权值以及各节点的输出阈值的步骤具体包括:
沿所述神经网络模型的节点运算的逆方向,调整所述输入层、所述隐藏层以及所述输出层中节点之间的连接权值以及各节点的输出阈值。
6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
采用梯度下降法训练所述神经网络模型;其中,所述梯度下降法的原理为:
参数θ为目标函数J(θ)上升最快的方向;
其中,为参数的梯度,η为学习效率;
所述调整所述神经网络模型中各节点之间的连接权值以及各节点的输出阈值的步骤之后包括:
调整学习效率,以更新所述神经网络模型的学习模式。
7.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
预先存储有总数据集合;其中,所述总数据集合包括训练集以及测试集,所述训练数据为所述训练集中的样本;
在所述总数据集合的所述训练集中的样本均训练过所述神经网络模型后,在所述总数据集合所包含的样本中重新整理出新的训练集以及测试集,以对所述神经网络模型进行训练以及测试。
8.根据权利要求1所述的方法,其特征在于,所述拟合飞行器的姿态解算过程的步骤具体包括:
所述神经网络模型的节点运算拟合互补滤波算法;其中,所述互补滤波算法包括如下解算过程:
加速度计解算:
其中,是机体坐标系下的重力向量,是从导航坐标系到机体坐标系的旋转矩阵,是在导航坐标系下加速度计输出(重力向量);
磁力计解算:
其中,是磁力计在机体坐标系中的输出,是加速度计修正后的机体坐标系到导航坐标系的旋转矩阵,是导航坐标系下磁场向量;
再由导航坐标系转换至机体坐标系:
其中,bz=hz,
是从导航坐标系中的磁场向量转换至机体坐标系下磁场向量。
9.一种应用于飞行器姿态解算的方法,其特征在于,所述方法包括:
接收所述飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;
以所述加速度计测量数据、所述磁力计测量数据以及所述陀螺仪测量数据为神经网络模型的输入,进行所述神经网络模型的节点运算;
输出所述飞行器的横滚角、俯仰角以及偏航角;
其中,所述神经网络模型由权利要求1至8任一项所述应用于训练神经网络模型的方法训练而得。
10.一种应用于飞行器姿态解算的装置,其特征在于,所述装置包括输入/输出电路以及处理器,所述输入/输出电路与所述处理器耦接,所述处理器用于实现如下动作:
控制所述输入/输出电路接收所述飞行器的加速度计测量数据、磁力计测量数据以及陀螺仪测量数据;
以所述加速度计测量数据、所述磁力计测量数据以及所述陀螺仪测量数据为神经网络模型的输入,进行所述神经网络模型的节点运算;
控制所述输入/输出电路输出所述飞行器的横滚角、俯仰角以及偏航角;
其中,所述神经网络模型由权利要求1至8任一项所述应用于训练神经网络模型的方法训练而得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811386771.3A CN109857127B (zh) | 2018-11-20 | 2018-11-20 | 训练神经网络模型以及飞行器姿态解算的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811386771.3A CN109857127B (zh) | 2018-11-20 | 2018-11-20 | 训练神经网络模型以及飞行器姿态解算的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857127A true CN109857127A (zh) | 2019-06-07 |
CN109857127B CN109857127B (zh) | 2022-08-09 |
Family
ID=66890197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811386771.3A Active CN109857127B (zh) | 2018-11-20 | 2018-11-20 | 训练神经网络模型以及飞行器姿态解算的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857127B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445238A (zh) * | 2020-11-19 | 2021-03-05 | 西南大学 | 一种基于神经网络的无人机循迹系统 |
CN113220032A (zh) * | 2021-05-17 | 2021-08-06 | 浙江安防职业技术学院 | 无人机集群控制方法、装置、无人机及存储介质 |
CN113917938A (zh) * | 2021-10-08 | 2022-01-11 | 北京京航计算通讯研究所 | 小样本条件下的飞行器姿态控制数据增强和模型训练方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751609A (en) * | 1996-10-24 | 1998-05-12 | The United States Of America As Represented By The Secretary Of The Navy | Neural network based method for estimating helicopter low airspeed |
CN103092073A (zh) * | 2012-12-31 | 2013-05-08 | 中联重科股份有限公司 | 抑制臂架振动的控制方法及系统 |
US20180204111A1 (en) * | 2013-02-28 | 2018-07-19 | Z Advanced Computing, Inc. | System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform |
CN108490965A (zh) * | 2018-04-19 | 2018-09-04 | 东华大学 | 基于遗传算法优化神经网络的旋翼飞行器姿态控制方法 |
CN108710752A (zh) * | 2018-05-17 | 2018-10-26 | 西南科技大学 | 一种基于灰色关联分析和bp神经网络的电机数据分析方法 |
-
2018
- 2018-11-20 CN CN201811386771.3A patent/CN109857127B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751609A (en) * | 1996-10-24 | 1998-05-12 | The United States Of America As Represented By The Secretary Of The Navy | Neural network based method for estimating helicopter low airspeed |
CN103092073A (zh) * | 2012-12-31 | 2013-05-08 | 中联重科股份有限公司 | 抑制臂架振动的控制方法及系统 |
US20180204111A1 (en) * | 2013-02-28 | 2018-07-19 | Z Advanced Computing, Inc. | System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform |
CN108490965A (zh) * | 2018-04-19 | 2018-09-04 | 东华大学 | 基于遗传算法优化神经网络的旋翼飞行器姿态控制方法 |
CN108710752A (zh) * | 2018-05-17 | 2018-10-26 | 西南科技大学 | 一种基于灰色关联分析和bp神经网络的电机数据分析方法 |
Non-Patent Citations (5)
Title |
---|
丁磊: "基于扩展卡尔曼滤波的多旋翼飞行器融合姿态解算算法", 《安徽工业大学学报(自然科学版)》 * |
严甲汉 等: "基于Elman神经网络的SINS姿态解算算法研究", 《电子测量与仪器学报》 * |
刘春梅 等: "基于高阶神经网络扩展卡尔曼滤波器逆算法的非线性挠性结构的姿态控制", 《控制理论与应用》 * |
崔泽 等: "仿人7自由度机械臂位置层面轨迹规划研究", 《机械制造》 * |
陈侠 等: "应用改进神经网络的无人机三维航迹规划", 《电光与控制》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445238A (zh) * | 2020-11-19 | 2021-03-05 | 西南大学 | 一种基于神经网络的无人机循迹系统 |
CN112445238B (zh) * | 2020-11-19 | 2021-09-10 | 西南大学 | 一种基于神经网络的无人机循迹系统 |
CN113220032A (zh) * | 2021-05-17 | 2021-08-06 | 浙江安防职业技术学院 | 无人机集群控制方法、装置、无人机及存储介质 |
CN113917938A (zh) * | 2021-10-08 | 2022-01-11 | 北京京航计算通讯研究所 | 小样本条件下的飞行器姿态控制数据增强和模型训练方法 |
CN113917938B (zh) * | 2021-10-08 | 2024-04-19 | 北京京航计算通讯研究所 | 小样本条件下的飞行器姿态控制数据增强和模型训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109857127B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107525503B (zh) | 基于双天线gps和mimu组合的自适应级联卡尔曼滤波方法 | |
CN109974714A (zh) | 一种Sage-Husa自适应无迹卡尔曼滤波姿态数据融合方法 | |
CN105737823B (zh) | 一种基于五阶ckf的gps/sins/cns组合导航方法 | |
CN104344837B (zh) | 一种基于速度观测的冗余惯导系统加速度计系统级标定方法 | |
CN104061932B (zh) | 一种利用引力矢量和梯度张量进行导航定位的方法 | |
CN108318038A (zh) | 一种四元数高斯粒子滤波移动机器人姿态解算方法 | |
CN106595711A (zh) | 一种基于递推四元数的捷联惯性导航系统粗对准方法 | |
CN103940442A (zh) | 一种采用加速收敛算法的定位方法及装置 | |
CN109857127A (zh) | 训练神经网络模型以及飞行器姿态解算的方法、装置 | |
CN103712598B (zh) | 一种小型无人机姿态确定方法 | |
CN104655131A (zh) | 基于istssrckf的惯性导航初始对准方法 | |
CN105136166B (zh) | 一种指定惯导位置精度的捷联惯导系统误差模型仿真方法 | |
CN108225370A (zh) | 一种运动姿态传感器的数据融合与解算方法 | |
CN109443342A (zh) | 新型自适应卡尔曼无人机姿态解算方法 | |
CN108415445A (zh) | 一种基于开关约束的水下航行器定位鲁棒优化方法 | |
CN104482942B (zh) | 一种基于惯性系的最优两位置对准方法 | |
CN115265532A (zh) | 一种用于船用组合导航中的辅助滤波方法 | |
Changey et al. | Experimental validation | |
Ascorti | An application of the extended Kalman filter to the attitude control of a quadrotor | |
CN104344835B (zh) | 一种基于切换式自适应控制罗经的捷联惯导动基座对准方法 | |
CN114332418A (zh) | 一种目标轨迹模拟方法及装置 | |
CN114355959A (zh) | 空中机器人的姿态输出反馈控制方法、装置、介质和设备 | |
CN116627157B (zh) | 一种运载火箭的运行控制方法、装置及设备 | |
CN106352880B (zh) | 一种基于非线性网络的惯性导航算法架构的确定方法 | |
CN110940336B (zh) | 捷联惯导仿真定位解算方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |