资源描述:
《基于pidnn的六旋翼无人机飞行控制算法研究》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于PIDNN的六旋翼无人机飞行控制算法研究徐会丽石明全张霞王晓东井光辉中国科学院大学中国科学院重庆绿色智能技术研宄篋针对六旋翼无人机比例一积分一微分(PID)控制器参数优化困难的问题,采用了PID神经网络(PIDNN)控制方法,利用其非线性映射和自学习的特性,实现了姿态控制参数的动态调整,增加了系统的自适应性。为验证方法的奋效性,通过Matlab的Simulink模块构建丫六旋翼无人机数学模型;利用S函数实现丫基于反向传播(BP)算法的PIDNN控制器;将仿真结果与传统PID控制效果进行对比,结果表明:在缩短姿态调整时间与减少超调量方面,P1DNN方法控制效果优于PID方法。关
2、键词:六旋翼无人机;比例一积分一微分神经网络算法;姿态控制;另外,传统的比例一积分一微分(proportionintegrationdifferentiation,PID)方法,虽然原理節单,但用于多旋翼飞行器时,存在不易在线调参、自适应性差等问题m,对控制效果产生影响。HD神经网络(PIDneuralnetwork,PIDNN)控制是针对上述问题提出的一种控制策略,可用于解决非线性系统的在线控制问题W1。白国振、俞洁皓U1提出了采用基于Mamdani模型的模糊神经网络,但五层Mamdani网络结构延长了训练时间,增加了网络复杂度。陈宇峰包1、盛贤君等人提出了在输出层得到参数优化
3、量AkP,Ak:,Akrf后再用于PID控制器,但存在输入/输岀变量过多、实现难度大等缺点。鉴于以上各类型方法的不足,本文采用了将反向传播NN(backpropagationNN,BPNN)与PID融为一体的控制策略,即PIDNN控制方法。该方法不再显式调用P1D方法,而是将神经网络隐含层设置为比例神经元、积分神经元及微分神经元,每次迭代均对连接权重进行整定,增加了自适应性m。该方法控制方案清晰且能够将祌经网络与常规PID控制理论的优势结合,提高了控制可靠性。1六旋翼飞行器数学模型建立参照文献[8~11]建立六旋翼无人机的线运动模型和角运动模型,如图1所示。其中,1,3,5电机顺
4、时针转动,2,4,6电机逆时针转动,Pitch(0),Roll(),Yaw(*)为俯仰角、横滚角、航偏角。本文仅考虑飞行速度较小的情况,忽略空气阻力[12],根据牛顿运动定律及大地坐标系与机身坐标系之间的转换方程,六旋翼无人机的线性运动模型为图1六旋翼飞行器结构式中X,y,z为质心相对大地染标系的位置;u,V,w为运动线速度1为第i螺旋桨产生的升力;b为转速与升力的转化系数;Qi(i-1,2-,6)为各旋翼转速。由式(1)、式(2)可得到六旋翼线加速度与控制量、姿态角的关系。在横滚角、俯仰角较小(可忽略机身坐标和大地坐标之间的转化)情况K,通过分析飞行器所受力矩与刚体动力学方程中
5、力矩和转动惯量的关系,可得到六旋翼无人机角运动模型式中J,为旋翼转动惯量;Ix,Iy,L为绕机身坐标系x,y,z轴的转动惯量;IA,U2,U3,为油门、横滚角、俯仰角、航偏角的输入值;L为螺旋桨中心到机身质心的距离。由式(3)可得到六旋翼角加速度与控制量、螺旋浆转速以及当前角速度之间的关系。2PIDNN控制器结构和算法由式(1)~式(3)可知,六旋翼飞行器的角运动和其线运行情况无关。因此,可将飞行器3个欧拉角作为状态值,作为控制器输出的控制量。HDNN基木结构由3部分构成:输入层、隐含层和输岀层。系统结构如图2所示。神经网络输入值为欧拉角反馈值和控制S标值,输出值为控制量。图2控
6、制系统结构各子网i的隐含层为PIDNN主要构成部分,含有3种神经元:比例神经元(P)、积分神经元(T)和微分神经元(D)。比例神经元的输入输出值关系为积分神经元的输入输出值关系为微分神经元的输入输出值关系为PIDNN每次迭代结朿,利用梯度下降法对隐含层到输出层的连接权重更新。另外,输入层至隐含层模拟的是误差的计算,可直接将子网的权重设定为wu=[l-l;1-1;1-1],i=l,2,3o隐含层到输出层的权值更新公式为式中J为3个误差平方和;yK(k)为3个欧拉角;(k)为设定值;n为学习速率;E„为欧拉角误差;m为输出量个数;j为输出神经元个数;u,为角度控制量。3HDNN对机控
7、制效果验证实验为定点悬停状态下实现对'6行器姿态的控制,控制对象为3个欧拉角。仿真实验相关参数设置为:m=0.5kg;gn=9.8N/kg;L=0.2m;转动惯量I=0.114kg•m,L=0.158kg*m;bM.5。图3为系统控制桐图,其中,姿态角控制模块根据式(4)~式(8)设计完成,通过S函数实现;控制分配模型、机身刚体模型根据式(1)~式(3)建立,通过改变6个电机转速控制飞行器姿态。图3六旋翼无人机姿态控制系统首先利用传统PTD控制参数调整的方式获得参数值,并将其设置