APP下载

三自由度直升机模型自适应神经模糊控制

2015-07-22武俊峰贾婧媛

哈尔滨理工大学学报 2015年2期

武俊峰++贾婧媛

摘要:针对三自由度直升机模型的稳定运行控制问题,根据各个自由度运动特性,采用牛顿力学原理,建立了直升机系统的数学模型.采用自适应神经模糊算法对模型进行控制,通过编写MATLAB的M文件和应用ANFIS工具箱结合simulink对控制效果进行仿真,得到仿真曲线,对比模型原厂自带PID控制器的控制效果,神经模糊控制俯仰轴调整时间缩短,超调降低,结果验证了自适应模糊神经算法在三自由度直升机模型的稳定运行控制问题上是有效可行的.

关键词:三自由度直升机;自适应模糊神经;极点配置:MATLAB; ANFIS工具箱

DOI: 10.15938/j.jhust.2015.02.007

中图分类号:TP273

文献标志码:A

文章编号:1007-2683(2015)02-0035-06

0 引 言

三自由度直升机模型是典型的非线性、强耦合、多输入多输出的复杂控制系统,是可以验证各种控制算法有效性的理想试验平台.直升机飞行控制系统的非线性、强耦合的特点和广阔的应用前景使得许多研究人员投入了大量的精力来研究这一控制系统.通过进行直升机系统的建模、设计、仿真与实验,不断提高直升机飞行器的控制性能,文建立了3-DOF直升机的神经网络模型,采川APC方法解决直升机的飞行姿态控制问题,义将二次型最优控制、滑模控制和遗传算法融合在控制系统中,使直升机系统得以稳定,国内高校对直升机控制问题关注较早的赵笑笑多次撰文研究直升机多种研究算法控制器的设计,均获得了不错的效果.

模糊控制系统与神经网络控制时,无需获得被控对象精确的数学模型.模糊控制系统凭人的经验知识进行控制,而神经网络则是通过样本学习,调整改变网络的连接权重达到控制目的,因此,把神经网络的学习机制引入模糊系统,使模糊系统具有自学习、自适应能力,而神经网络也能够利用已有的经验知识,既发挥二者的优点,又可弥补各自的不足.

本文采用由固高公司生产的三自由度直升机模型为研究对象,将现代控制理论中的极点配置控制应用于模型中,通过对直升机模型的运动原理进行数学描述,选取适当的状态变量获得状态空间模型,从而设计了极点配置控制器并进行了仿真,然后将极点配置控制的仿真结果作为训练数据,利用自适应神经模糊推理系统ANFIS的控制数据得到神经模糊控制器,对其控制效果进行仿真分析.

1 系统模型分析

三自由度直升机控制系统的工作原理如图1所示,上位机输出电压控制量经过运动控制卡驱动螺旋桨旋转,电压值的改变引起螺旋桨转速和方向的变化.位置编码器按照设定的采样周期将直升机当前状态传送给运动控制卡后传送到上位机,再根据设计的算法求出相应的控制量输送给电机.

三自由度直升机模型如图2所示,基于三自由度直升机系统的特点,忽略各个轴之间的耦合,系统分为三个轴分别建模.

1.1俯仰轴

基于三自由度直升机实验系统动态特性,俯仰运动简化模型如图3所示,

假定直升机初始位置是悬在空中并保持平衡状态,根据力学原理可得到下列等式:其中:Je是俯仰轴的转动惯量,V1和V2是两个电机的电压,由它们产生升力F1和F2;Kc代表螺旋桨的电机升力常数;l1.是支点到电机的距离;l2是支点到平衡块的距离;Tg是由俯仰轴的重力G产生的有效重力矩,是俯仰轴的俯仰加速度.

1.2横侧轴

横侧运动简化示意图如图4所示,

其动力学方程如下:其中:Jp代表横侧轴转动惯量;P为横侧轴运动方向的角加速度.

1.3旋转轴

旋转轴的简化示意图如图5所示.直升机旋转轴动力学的方程如下:

其中:r为旋转轴的旋转速度,单位rad/s;Jt是旋转轴的转动惯量,

俯仰轴状态变量选取x1=[εε]T,输入量为螺旋桨电机的电压和;横侧轴状态变量选取x2=[p,P]T输入量为螺旋桨电机的电压差;由于旋转轴的运动可以通过横侧轴来控制,因此在本文中不做单独状态反馈控制器的设计,仍采用原系统自带的PID控制器控制.其中:Je为俯仰轴转动惯量;Jp为横侧轴转动惯量;l1为螺旋桨到俯仰轴的距离;lp为螺旋桨到横侧轴的距离;Kc为电机力常数,

文对三自由度直升机模型的PID控制方法及参数渊节研究详细,在此不再详述,其PID控制仿真曲线如图6所示.

2 极点配置控制器设计及仿真

2.1 极点配置控制器设计

现代控制理论,经常采用的是状态反馈,所谓的状态反馈,就是把系统状态变量与对应的反馈系数相乘,然后反馈到输入端与参考输入相加形成控制律,作为受控系统的控制输入,即状态反馈M=一纸[吲.只要系统足能控的,通过这种方法,极点配置的线性状态反控制可以满足被控对象对于控制器的要求.

对于上述俯仰轴与横侧轴的状态空间模型通过计算,得到Tc=[B AB]满秩,即俯仰轴、横侧轴系统可控,闪此直升机模型俯仰轴和横侧轴可以分别设计极点配置控制器,

调用MATLAB控制系统命令step(A,B,C,D),可得到系统的单位阶跃响应曲线如图7所示.

由图可看出,未加控制器的系统很显然是发散的,不稳定的,

极点配置控制器设计时,期望极点的选择严重影响控制系统的性能.通过多次仿真试验,为获得较好控制效果,俯仰轴阻尼比ζ1=0.783,横侧轴阻尼比ζ2=0.477,Matlab运行后可确定期望的闭环极点:

wn=log(1/deta*sqrt(1-kosi.^2))1(kosi*t),

s=-kosi*wn+j*wn*sqrt(1-kosi.^2).

运行结果俯仰轴Sl=-1.7186+1.3653i,横侧轴S2=-3.7829+6.9703i.

通过计算得到俯仰轴和横侧轴的状态反馈矩阵分别为Kl=[0.9996 0.5906]; K2=[0.9887 0.0604].

2.2仿真

在Simulink环境下进行极点配置仿真,各模块连接框图,如图8所示.

给定俯仰角角度为30°,旋转速度给定值为10rad/s,根据计算得出的反馈矩阵K搭建模型,利用状态方程的解随着时间的变化来观察状态变量的变化,仿真结果如图9所示,

由图9可知,俯仰角经过短时间调整后稳定于30°,跟踪效果良好,直升机旋转速度由0到给定值产牛一定的横侧角,随着旋转速度的增加,横侧角逐渐减小,旋转速度超调时,横侧角减小到负值,旋转速度完成跟踪后,横侧角稳定到0°.

3 自适应神经模糊控制

3.1 自适应神经模糊控制器设计

将通过极点配置控制得到的数据作为训练数据,输入隶属度函数个数为5,类型为钟形,输出类型为线性,训练次数为40次.可通过编辑M文件进行控制,采用genfsl()函数自动生成Takagi-Sugeno型模糊推理系统,利用函数anfis()训练白适应神经模糊系统;也可使用ANFIS工具箱进行控制.将神经模糊网络进行训练后导出,就可作为控制器对直升机模型进行控制,

以控制俯仰轴角度为例分别用M文件控制和ANFIS工具箱控制.

3.1.1 M文件

numpts= 68

data=E:

trndata= data(1:2:numpts,:);%训练数据对集

chkdata=data(2:2:numpts,:);%检验数据对集

%%采用genfisl()函数直接由训练数据生成TS型模糊推理系统

numMfs=5;mfType='gbellmf';

fisMat=genfisl(trnData, numMfs, mfType);

%%根据给定训练数据训练自适应神经模糊系统

epochs=40;%训练次数为40

trnOpt=[epochs NaN NaN NaN NaN];

disOpt=[];

[Fis, error, stepsize, chkFis, chkEr]=anfis(trn-data, fisMat, trnOpt, disOpt, chkdata);

%%计算训练后神经模糊系统的输出与训练数据的均方根误差trnRMSF

trnOutl=evalfis(trndata(:,1),Fis);

trnOut2=evalfis(trndata(:,1),chkFis);

trnRMSEJ=norm(trnOutl-trndata(:,2))/sqrt(length(trnOutl));

trnRMSE2=norm(trnOut2-trndata(:,2))/sqrt(length(trnOut2));

%%计算神经模糊推理系统的输出

anfis_y1=evalfis(x,Fis);

anfis_v2=evalfis(x,chkFis);

程序运行后绘制曲线如图10所示.

可知,经过训练后的隶属度函数产生了变化,训练后ANFIS的输出可以进行很好的跟踪拟合.

3.1.2

ANFIS工具箱

在ANFIS工具箱中,导人训练数据,输入隶属度函数个数为3,类型为钟形,输出类型为线性,训练次数为50次,进行训练,如图11所示.

将训练好的神经模糊网络导出,对三自由度直升机模型的俯仰轴进行控制,如图12所示.

3.2仿真

给定俯仰轴角度30°,仿真结果如图13所示,可知自适应神经模糊控制可实现直升机模型俯仰轴的稳定控制.

通过比较图13与图6(a),明显看出,自适应神经模糊控制调节时间为5s左右,而PID控制俯仰轴调节时间为16s,神经模糊控制俯仰轴达到稳定状态的时间明显优于PID控制器,同时,神经模糊控制曲线上来看几乎不存在超调量,而从PID控制曲线来看,明显存在超调量.通过以上比较可以得出自适应神经模糊控制方法效果更优.比较俯仰轴的自适应神经模糊控制与极点配置控制仿真效果,可以看出两种控制方法的控制效果基本一致,但是,极点配置控制需要依赖数学模型,而自适应神经模糊控制是一种智能的控制方法,仅需要经验控制数据,因此,自适应神经模糊控制对于基于数据的经验控制易于实现,具有一定的实际意义.

3 结 论

本文首先对三自由度直升机模型进行分析,建立其数学模型,将系统分为三个子系统,及俯仰轴、横侧轴和旋转轴,对俯仰轴和横侧轴进行了极点配置;然后以俯仰轴为例采用自适应神经模糊控制,通过分析仿真结果表明自适应神经模糊控制器实现了对三自由度直升机模型俯仰轴的稳定控制,通过控制俯仰轴的实例表明了该方法的有效性,因此自适应神经模糊算法也适用于直升机模型的横侧轴及其他类似控制系统.