好文档 - 专业文书写作范文服务资料分享网站

神经网络课程作业及程序共5份

天下 分享 时间: 加入收藏 我要投稿 点赞

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

一、摘要

针对机械手存在的扰动等未知模型,提出了基于RBF神经网络的自适应控制策略。采用RBF神经网络对机械手动力学模型在线学习,并根据Lyapunov稳定性理论建立了网络权值自适应学习律,确保了网络逼近误差的收敛及系统的稳定。以四自由度机械手轨迹跟踪为例进行仿真,结果表明该方法能够有效低补偿建模误差,实现了无需模型的机械手自适应控制,提高了系统的控制性能及对外部不确定扰动的鲁棒性,对实际工业机械手的自适应控制具有一定的可操作性。 二、对四自由度机械手模型RBF仿真 2.1 机械手动力学模型 设n关节机械手方程为:

??????C(q,q)q?G(q)?F(q)??d?? (1) M(q)q??式中:q—关节角位移,q?Rn?1;M(q)—n?n阶正定惯性矩阵;C(q,q—n?1)q?科氏力及向心力向量;G(q)—n?1阶重力向量;F(q)—摩擦力;?d—未知外部

干扰;?—控制输入。 定义跟踪误差为:

e(t)?qd(t)?q(t)

式中:qd—关节目标角位移向量。

?定义误差函数为:r?e???e,其中???T?0, 则:

???r?q? qd???e (2)

???????????Mr?M(qd?q???e)?M(qd???e)?Mq?????M(qd???e)?Cq?G?F??d???????M(qd???e)?Cr?C(qd???e)?G?F??d????Cr???f(x)??d (3)

????f(x)?M(qd???e)?C(qd???e)?G?F (4)

在实际工程中,模型不确定项f(x)为未知,为此,需要对不确定项f(x)进行逼近。

2.2 基于RBF神经网络逼近的控制器设计

采用RBF网络逼近f(x),则RBF神经网络的输出为:

?(x)?W?T?(x) (5) f取W~?W?W?,WF?Wmax,则设计的控制律为:

??f?(x)?Kvr?v?W?T?(x)?Kvr?v 式中:v—用于克服神经网络逼近误差?的鲁棒项。 将控制律式(6)代入式(3),得:

Mr???(Kv?C)r?W~T?(x)?(???d)?v??(Kv?C)r??1 式中:?~T1?W?(x)?(???d)?v 三、仿真程序及结果 3.1 Matlab程序: 程序1 ctrl.m

function [sys,x0,str,ts] = spacemodel(t,x,u,flag) switch flag, case 0,

[sys,x0,str,ts]=mdlInitializeSizes; case 1,

sys=mdlDerivatives(t,x,u); case 3,

sys=mdlOutputs(t,x,u); case {2,4,9} sys=[]; otherwise

error(['Unhandled flag = ',num2str(flag)]); end

(6) 7)

(function [sys,x0,str,ts]=mdlInitializeSizes global c b kv kp sizes = simsizes;

sizes.NumContStates = 10; sizes.NumDiscStates = 0; sizes.NumOutputs = 6; sizes.NumInputs = 8; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = 0.1*ones(1,10); str = []; ts = [0 0]; %c=0.60*ones(4,5);

c= [-2 -1 0 1 2; -2 -1 0 1 2; -2 -1 0 1 2; -2 -1 0 1 2]; b=3.0*ones(5,1); alfa=3;

kp=[alfa^2 0; 0 alfa^2]; kv=[2*alfa 0; 0 2*alfa];

function sys=mdlDerivatives(t,x,u) global c b kv kp

A=[zeros(2) eye(2); -kp -kv]; B=[0 0;0 0;1 0;0 1];

Q=[50 0 0 0; 0 50 0 0; 0 0 50 0; 0 0 0 50]; P=lyap(A',Q); eig(P); qd1=u(1);

d_qd1=0.2*0.5*pi*cos(0.5*pi*t); qd2=u(2);

d_qd2=0.2*0.5*pi*sin(0.5*pi*t);

q1=u(3);dq1=u(4);q2=u(5);dq2=u(6); e1=q1-qd1; e2=q2-qd2; de1=dq1-d_qd1; de2=dq2-d_qd2;

th=[x(1) x(2) x(3) x(4) x(5);x(6) x(7) x(8) x(9) x(10)]'; xi=[e1;e2;de1;de2]; h=zeros(5,1); for j=1:1:5

h(j)=exp(-norm(xi-c(:,j))^2/(2*b(j)*b(j))); end gama=20; M1=1;

if M1==1 % Adaptive Law S=gama*h*xi'*P*B;

elseif M1==2 % Adaptive Law with UUB k1=0.001;

S=gama*h*xi'*P*B+k1*gama*norm(x)*th; end S=S'; for i=1:1:5 sys(i)=S(1,i); sys(i+5)=S(2,i); end

function sys=mdlOutputs(t,x,u) global c b kv kp qd1=u(1);

d_qd1=0.2*0.5*pi*cos(0.5*pi*t); dd_qd1=-0.2*(0.5*pi)^2*sin(0.5*pi*t); qd2=u(2);

d_qd2=0.2*0.5*pi*sin(0.5*pi*t); dd_qd2=0.2*(0.5*pi)^2*cos(0.5*pi*t); dd_qd=[dd_qd1;dd_qd2]; q1=u(3);dq1=u(4); q2=u(5);dq2=u(6); ddq1=u(7);ddq2=u(8); ddq=[ddq1;ddq2]; e1=q1-qd1; e2=q2-qd2; de1=dq1-d_qd1; de2=dq2-d_qd2; e=[e1;e2]; de=[de1;de2]; v=13.33; q01=8.98; q02=8.75; g=9.8;

D0=[v+q01+2*q02*cos(q2) q01+q02*cos(q2); q01+q02*cos(q2) q01];

C0=[-q02*dq2*sin(q2) -q02*(dq1+dq2)*sin(q2); q02*dq1*sin(q2) 0];

G0=[15*g*cos(q1)+8.75*g*cos(q1+q2); 8.75*g*cos(q1+q2)]; dq=[dq1;dq2];

tol1=D0*(dd_qd-kv*de-kp*e)+C0*dq+G0; d_D=0.2*D0; d_C=0.2*C0; d_G=0.2*G0; d1=2;d2=3;d3=6;

d=[d1+d2*norm([e1,e2])+d3*norm([de1,de2])];

神经网络课程作业及程序共5份

作业1:基于RBF的机械手无需模型自适应控制研究一、摘要针对机械手存在的扰动等未知模型,提出了基于RBF神经网络的自适应控制策略。采用RBF神经网络对机械手动力学模型在线学习,并根据Lyapunov稳定性理论建立了网络权值自适应学习律,确保了网络逼近误差的收敛及系统的稳定。以四自由度机械手轨迹跟踪为例进行仿真,结果表明该方法能够有效
推荐度:
点击下载文档文档为doc格式
09zbl7idw155mbv23rb17u3cm9b9nu004nf
领取福利

微信扫码领取福利

微信扫码分享