1、自动化双控专业 xxx S2005021121柔性机械臂控制策略一、题目要求某一个柔性机械臂系统,该系统中有一个电流常数为 的驱动负载的电动机,其负载由Ik弹性系数为 的弹簧连接的两个质量块组成(如图所示) 。kIu电 动 机 121J2J图 1 系统示意图若忽略摩擦,假设弹簧的相对阻尼为 ,并且第一个质量块受到力矩为 的扰动。系dv统的输入信号是电动机的电流 。两个质量块的角速度为 和 ,角度为 和 ,转动I 1212惯量为 和 ,系统的输出是角速度 。现在令1J2 212203x其中: 210)(Jk则可得系统的模型 vuxx 0321210321 其中: , , , , 。具体参数:21
2、J01d02Jd01JkI01J, , , , , 为时间 时高为-10 且持续时间为901Jk.Ikv25t0.1 时间单位的一个脉冲信号。自动化双控专业 xxx S2005021122二、控制方案的选择与分析1,对柔性机械臂的控制一般有如下方式:1) 前馈补偿法:将机械臂柔性变形形成的机械振动看成是对刚性运动的确定性干扰,而采用前馈补偿的办法来抵消这种干扰。2) 被动阻尼控制:为降低柔性体相对弹性变形的影响,选用各种耗能或储能材料设计臂的结构以控制振动。或者在柔性梁上采用阻尼减振器等3) 力反馈控制法:基于逆动力学分析的控制方法,即根据逆动力学分析,通过臂末端的给定运动求得施加于驱动端的力
3、矩,并通过运动或力检测对驱动力矩进行反馈补偿。4) 自适应控制:将系统划分成关节子系统和柔性子系统.利用参数线性化的方法设计自适应控制规则来辨识柔性机械臂的不确定性参数。5) PID 控制:常通过调整控制器增益构成自校正 PID 控制器或与其它控制方法结合构成复合控制系统以改善 PID 控制器性能。6) 模糊与神经网络控制:是一种语言控制器,可反映人在进行控制活动时的思维特点。其主要特点之一是控制系统设计并不需要通常意义上的被控对象的数学模型,而是需要操作者或专家的经验知识,操作数据等。本次设计中系统的传递函数已经给出,我们考虑用模糊与神经网络控制的方法对该柔性机械臂系统进行控制与仿真。因此我
4、们只要将它离散化,并化为差分方程,然后再建立此动态系统的逆模型,继而进行神经网络控制,即可使系统的输出和期望输出接近一致。期望输出设定为 5。通过对原动态系统离散化,取采样时间 ,采用零阶保持器,求得差分方程。sTs1.0可得其逆模型为: )2(),1);2(),()1()(1 kukykyfkud利用神经网络逼近上述差分方程中的未知非线性函数 ,直接与被控对象串联,使期1f望输出与对象实际输出之间的传递函数等于 1。下面为神经网络实现直接逆控制的框图。图 2 神经网络实现直接逆控制的框图2,神经网络控制理论基础神经网络预测控制时使用非线性神经网络模型来预测未来模型性能。控制器计算控制自动化双
5、控专业 xxx S2005021123输入在未来一段指定的时间内将最优化模型性能。模型预测第一步是要建立神经网络模型(系统辨识) ;第二步是使用控制器来预测未来神经网络性能。图 3 神经网络模型结构2.1 系统辨识系统辨识分为两步:第一步为产生训练数据,第二步为训练网络模型。在模型辨识窗口中,设置好相应的参数后,就可以来产生训练序列,程序会通过 SIMULINK 网络模型提供一系列随机阶跃信号,来产生训练数据。2.2 模型预测模型预测第一步就是训练神经网络未来表示网络的动态机制。模型输出与神经网络输出之间的预测误差,用来作为神经网络的训练信号。神经网络模型利用当前输入和当前输出预测神经网络未来
6、输出值。模型预测方法是基于水平后退的方法,神经网络模型预测在指定时间内预测模型响应。预测使用数字最优化程序了确定控制信号,通过最优化如下的性能准则函数,即上面公式中,N 2 为预测时域长度; Nu 为控制时域长度; u(t)为控制信号;y r 为期望响应; ym 为网络模型响应; 为控制量加权系数。控制器方块可用 Simulink 来实现。本文主要就神经网络控制作了学习并应用。三、神经网络设计过程3.1、建立 m 文件对于该柔性机械臂系统,所要选择的参数就是 和 ,相对阻尼为 ,和弹性系1J2d数为 。为此先设计一个 m 文件。当系统参数改变时,只要我们稍微的改变 m 文件的k参数设置就可以对
7、系统进行仿真了。J1=0.005; %para.mJ2=10; %参数初始化k=1;d=0.1;kI=1;自动化双控专业 xxx S2005021124w=(k*(J1+J2)/(J1*J2)0.5;a=J1/(J1+J2);b1=d/(J1*w0);b2=d/(J2*w0);gamma=kI/(J1*w0);delta=1/(J1*w0);A=a 1 -1;a-1 -b1 b1;a b2 -b2;A=w.*A;B=0;gamma;0;C=0 0 w;D=0;3.2、神经网络的设计首先判断给定系统的可控性。因为系统的极点配置也是系统很重要的一指标。对给定系统的参数(A,B,C,D)X=0.1
8、1 -1;-0.9 -0.09 0.09;0.1 0.01 -0.01x+0;0.9;0u+0;0.9;0vY=0 0 1 x有 rank(A,B)=3,知系统完全可控。对系统 SIMINK 建模 , 其文件名为 rarmmdl.mdl图 4 系统 SIMULINK 框图通过神经网络对系统进行控制常用的方法是,反馈线性控制,神经网络模型预测控制,模型参考控制我们利用的是反馈线性控制,实现柔性机械臂系统的控制自动化双控专业 xxx S2005021125图 5 RARMA-L2SIMULINK 框图反馈线性化(NARMA-L2)的中心思想是通过去掉非线性,将一个非线性系统变换成线性系统。利用的是
9、 SIMULINK Neural /Network Blockset / Control Systems 的控制模块实现对系统的控制,连线如图所示。系统的辨识,首先产生训练数据,直到接受为止(Accept Data)。其次训练网络模型,设置好辨识模型辨识窗口的参数后,训练数列,产生训练数据。神经网络控制器双击控制模块,通过修正参数,实现控制,具体过程如下图 6 参数设置窗口自动化双控专业 xxx S2005021126图 7 产生训练数据接受训练数据(Accept Data)后,就训练网络模型(Train Network)。最后停止训练(Stop Training)时,训练结果会显示训练数据和
10、合法数据。每个图中,左上角的图显示了随机输入信号的阶跃高度和宽度;右上角的图显示了被控对象的输出;右下角的图显示了误差,即系统输出与网络输出的差别;右下角的图显示了神经网络模型输出。自动化双控专业 xxx S2005021127图 8 网络模型训练图 9 训练数据与合法数据完成神经网络控制器的训练后,输入随机阶跃信号,验证系统的跟踪情况。如果不满意,可以对网络的参数重新进行设定并训练,直到自己满意为止。图 10 随机阶跃信号输入的跟随图3.3 实验结果与分析由于示波器的显示问题,25s 后的不好观察,就改为在 2s 时引入扰动。自动化双控专业 xxx S2005021128引入扰动的方法是,另
11、加阶跃信号与之叠加,只要对 step time 进行设置就可以了。如下图所示图 11 输入信号仿真试验结果如下图所示图 12 仿真结果结果分析:经过多次的参数设计,最后的仿真结果基本还是比较理想的。NARMA-L2控制器的鲁棒性还是很高的,对于扰动可以快速的滤掉。反馈线性化的神经网络控制,有着其智能化的优势,在跟随的时间上更加的及时。在实现上也体现出其特有的方便快捷的特点,因为建立神经网络模型的方便,以后会得到更多的运用。四,总结神经网络控制有其特方便的地方,依赖于 MATLAB 系统工具箱,不需要我们编写复杂的程序,只要很好的训练数据与网络就行。问题也就是在训练时花些时间,有时还要反复的调试
12、训练,直到满意为止。遇到的难点:自动化双控专业 xxx S2005021129一,系统建模的问题,在和很多等同学的探讨中解决。二,输出发散不能很好的跟随的问题,与系统 SIMULINK 建模时前馈设置的参数有关,还与训练时的数据都有关系。三,输入信号的实现问题。对于要求的扰动,我们用加入信号输入端的方法实现,即用阶跃信号叠加的方法实现。四,25s 时的信号显示问题,一直没有很好的解决,为示波器显示明显,特把时间进行提前。总之,做完课题后,对神经网络控制的一些概念有了进一步的理解,对应用也有了初步的信心。由于以前没有应用 MATLAB 编过东西,向同组的同学请教不少。现在感觉还是有进步了,也为以后的学习研究打下了良好的基础。