人工神经网络作业MATLAB仿真(共3篇)

  • 格式:doc
  • 大小:1.36 MB
  • 文档页数:31

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工神经网络作业M A T L A B

仿真(共3篇)

-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

人工神经网络仿真作业(3篇)

人工神经网络仿真作业1:

三级倒立摆的神经网络控制

人工神经网络仿真作业2:

基于模型整体逼近的机器人RBF网络自适应控制

人工神经网络仿真作业3:

基于RBF的机械手无需模型自适应控制研究

神经网络仿真作业1:三级倒立摆的神经网络控制

摘要:建立了基于人工神经网络改进BP 算法的三级倒立摆的数学模型,并给

出了BP 网络结构,利用Matlab 软件进行训练仿真,结果表明,改进的BP 算法控制倒立摆精度高、收敛快,在非线性控制、鲁棒控制等领域具有良好的应用前景。

1.引言

倒立摆系统的研究开始于19世纪50年代,它是一个典型的非线性、高阶次、多变量、强耦合和绝对不稳定系统.许多抽象的控制概念,如系统的稳定性、可控性、系统的收敛速度和抗干扰能力都可以通过倒立摆直观地表现出来。随着现代控制理论的发展,倒立摆的研究对于火箭飞行控制和机器人控制等现代高科技的研究具有重要的实践意义。目前比较常见的倒立摆稳定控制方法有线性控制,如LQR,LQY 等;智能控制,如变论域自适应模糊控制,遗传算法,预测控制等。

2.系统的数学模型

2.1三级倒立摆的模型及参数

三级倒立摆主要由小车,摆1、摆2、摆3组成,它们之间自由链接。小车可以在水平导轨上左右平移,摆杆可以在铅垂平面内运动,将其置于坐标系后如图1 所示:

规定顺时针方向的转角和力矩均为正。此外,约定以下记号:u 为外界作用力,x 为小车位移,i (i =1,2,3)为摆i 与铅垂线方向的夹角, i O 分别为摆i 的链接点位置。其它的系统参数说明如下:

0m -- 小车系统等效质量; 2l -- 二摆质心至旋转轴之间的距离;

1m -- 一摆质量; 3l -- 三摆质心至旋转轴之间的距离; 2m

-- 二摆质量; 1L -- 一、二摆之间的距离;

3m -- 三摆质量; 2L -- 二、三摆之间的距离;

1J -- 一摆对其质心处转动惯量; 0f -- 小车系统的摩擦系数;

2J -- 二摆对其质心处转动惯量; 1f -- 一摆转轴处的摩擦阻力矩系数; 3J -- 三摆对其质心处转动惯量; 2f -- 二摆转轴处的摩擦阻力矩系数;

1l -- 一摆质心至旋转轴之间的距离; 3f -- 三摆转轴处的摩擦阻力矩系数。

2.2三级倒立摆的非线性模型为:

000),,(),,,,,(),,(0321321321321321321U G N Z F Z M ++=θθθθθθθθθθθθθθθθθθ 其中

01231121311

222

11

211

11121311232232222121312213333313122322

3313

2212()cos ()cos (,,)()cos cos()cos()

cos cos()()cos cos cos(m m m m m l m L m L m l m L J m l m L m L M m l m L m l L m L L m l m l L m l m L m l L m l L θθ

θθθθθθθθθθθθθθ+++++⎡⎢++++⎢=⎢+-+-⎢

-⎣

+-1312213313122

2223233232233332333)cos()cos()cos()cos()m L L m l L J m l m L m l L m l L J m l θθθθθθθθθ⎤

⎥+--⎥

++-⎥

-+⎦

011213111

121231232221312121331131223222

3333

22232331313233()sin 0

()

(,,,,,)0()sin()

0sin()

()sin sin ()sin()()

f m l m L m L f f F f m l L m L L m l L m l m L m l f m l m L m l L f f f m l θθθθθθθθθθθθθθθθθθθθ⎡-++⋅⎢-+⎢

=⎢-+⋅-⎢--⎢⎣+⋅⋅⋅++--++3233233322323sin()sin()

L f m l L f θθθθθθ⎤⎥

⎥⎥

-⎥

---⎥⎦

11

2131112223223330()sin (,)()sin sin m l m L m L N m l m L g m l g θθθθθ⎡⎤

⎢⎥

++⎢⎥=⎢⎥+⎢⎥

⎢⎥⎣⎦

, 100T G = 3.神经网络控制器的设计

3.1 BP 神经网络

人工神经网络(ANN)由于具有信息的分布存储、并行处理以及自学习能力等优点,在信息处

理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。近年来,已有多种ANN 模型被提出并得以深入研究。其中,80%~90%的人工神经网络模型是采用BP 网络或它的改进形式,它是前向网络的核心部分,体现了网络最精华的部分。标准的BP 网络是根据Widrow -Hoff 规则,采用梯度下降算法,主要由信息信号的正向传播和误差信号的反向传播两部分组成。

BP神经网络在未经任何训练的情况下,不能作为系统控制器使用。训练样本数的多少对训练结果有很大影响。样本数越多,网络训练结果越精确,但运行时间加长,计算成本也增加,所以合理选择样本数据非常重要。在实际仿真过程中,经过试探训练样本数为5000时结果较为合理,此时样本数据能够反映系统的基本特征,可以得到预期的仿真结果。

3.2控制程序

整个的程序设计如下:

p=[x3_1';x3_2';x3_3';x3_4';x3_5';x3_6';x3_7';x3_8'];

u=x_u';%%初始化训练数据

net=newff(minmax(p),[8,1],{'tansig','purelin'},'trainlm');

%%生成一个两层的神经网络,第一层的传递函数为,第二层的传递函数为

net.trainParam.goal=0.0000001;%%设置与网络训练相关的数据,包括训练精度和最大训练次数

net.trainParam.epochs=5000;

net=init(net);%%初始化网络

net=train(net,p,u);%%根据前面的数据和设置的参数对网络进行训练

y=sim(net,p)%%对已经训练好的网络进行仿真,检查所得的网络是否符合要求

plot(u,'r')

hold on;

plot(y,'*')%%将训练所用数据和神经网络仿真的数据画在同一张图上,进行对比

gensim(net,-1)