1、第 35 卷第 6 期大学物理实验Vol35 No62022 年 12 月PHYSICAL EXPEIMENT OF COLLEGEDec2022收稿日期:2022-09-01基金项目:江苏高校“青蓝工程”优秀青年骨干教师基金(苏教师函 2020 10 号)*通讯联系人文章编号:1007-2934(2022)06-0106-06基于神经网络的柔性机械手Backstepping 控制苏蓓蓓*(无锡科技职业学院 物联网技术学院,江苏 无锡214028)摘要:考虑到柔性机械手动力学方程和高度非线性等特点,在控制器设计中引入 Backstepping 设计思想,将原复杂的高阶非线性系统分解成低阶简单系
2、统。为了有效的逼近被控对象中非线性函数,本文提出一种将径向基函数(adial basis function,BF)神经网络与 Backstepping 控制思想相结合的控制方法。仿真结果表明,基于径向基函数的神经网络 Backstepping 控制方法能够实现柔性机械手控制系统的稳定。关键词:柔性机械手;Backstepping;非线性函数;神经网络中图分类号:O 4-33文献标志码:ADOI:1014139/jcnkicn22-1228202206022随着工业革命的快速发展,机械手可代替人完成繁重劳动以实现生产的机械化和自动化,在一定程度上也促进了工业装配,危险爆破方面迅速发展1-3。机械
3、手系统是一个多输入多输出,高度非线性系统。机械手模型不确定项,参数摄动和外界干扰等因素都会影响到机械手系统的稳定性。因此,对机械手控制系统进行控制算法设计尤为必要。针对机械手执行程序顺序混乱无法用智能控制方法,机械手运行时存在剧烈抖振问题,文献 4 将机械手中不同功能模块作为控制结构,设计基于单神经元的神经网络,提出一种单神经元PID 的机械手移动路径智能控制方法。针对景点游客在旅游中垃圾瓶罐分拣及准确分类的问题,文献 5 在机械手靠近目标瓶罐中加入了模糊控制思想,通过红外传感器操纵机械手可以精确的分拣瓶罐并进行有效的分类。考虑到机械手模型不确定项和存在外部干扰的问题,文献 6通过构造非线性干
4、扰观测器,设计一种基于观测器的鲁棒滑模控制方法。利用李雅普诺夫函数验证了非线性观测器方法的稳定性,通过仿真验证了所提方法具有一定的鲁棒性。与文献 5相类似,文献 7 考虑到机械手系统模型具有高度非线性和耦合的特性,系统模型结构和参数在实际工程中往往难以得知等问题,利用 BF 神经网络来构建机械手的逆系统模型实现机械手的在线解耦,仿真结果表明机械手能够迅速跟踪到给定的期望轨迹。Backstepping 控制(Backstepping)方法,又称反步法、回推法或者后推法,形成于 1990 年初,并在此后得到迅速发展并在非线性控制设计取得了很大的成功8。文献 9 首先给出了柔性机械手的动力学模型,其
5、次在机械手控制器设计中引入了反推控制思想,利用李雅普诺夫函数验证了其稳定性。最后,通过 Adams 与 Simulink 对机械手进行运动仿真,验证了所提出的控制方法的有效性。与文献 9 类似,文献 10为了实现不同速度的情况下车辆稳定转向和路径跟踪,提出了一种基于自适应反演的切换控制方法。与其他传统轨迹跟踪控制器相比,本文将模糊自适应反演控制器和状态切换器相结合。针对柔性关节机械手模型中不确定问题,文献 11 设计了一种自适应神经网络有限时间命令滤波反步控制器。基于以上文献分析,本文针对柔性机械手被控对象模型复杂及具有强非线性等情况,提出了一种将 BF 神经网络思想引入 Backsteppi
6、ng 控制器设计中。设计 BF 神经网络逼近被控对象中模型未知函数,可以有效的对未知函数进行有效的观测和抑制,从而进一步提高了柔性机械手系统的鲁棒性和控制精度。1问题描述11柔性机械手动力学模型考虑如下柔性机械手动态方程:Iq1+MgLsinq1+K(q1q2)=0Jq2+K(q2q1)=u(1)式中柔性机械手和电机的转动角度分别 q1(q1n)和 q2(q2n)所示,I 表示力臂的转动惯量,K表示力臂的刚度,u 表示控制输入,J 为转动惯量,M 为力臂的质量,力臂重心到关节点长度为 L。定义 x1=q1,x2=?q1,x3=q2,x4=?q2,则式可以进一步改写为:?x1=x2?x2=1I(
7、K(x1x2)+MgLsinx1)?x3=x4?x4=1J(uK(x3x1)(2)12动力学模型变换为了实现柔性机械手的 Backstepping 控制,则式子可以进一步改写成?x1=x2?x2=x3+g1(x)?x3=x4?x4=g2(x)+fu(3)式中,x=x1x2x3x4T是柔性机械手系统状态向量,g1(x)=K(x1 x3)/I x3 MgLsin(x1)/I,g2(x)=K(x1x3)/J,f=1/J。假设 1假设式中函数 g1(x)和 g2(x)是未知的,f 也是未知的,但是 f 的下界已知,即 f。13径向基(BF)神经网络对于在 上的未知非线性函数 g(x),可用利用 BF
8、神经网络逼近,可表示为:g(x)=WT(x)+(4)式中,x 是输入向量,Wl是最优权重向量,l1,是固有逼近误差,满足|m,其中m0为神经网络逼近误差的上界,(x)=1(x),2(x),l(x)T为平滑向量,径向基函数一般选择高斯函数,表达式为j(x)=12jexp(xuj)T(xuj)22j()式中,j=1,l,uj=uj1,uj2,ujDT是吸引域中心,j是高斯函数的标准差。2Backstepping 控制器设计21基本 Backstepping 控制器的设计定义位置误差 e1=x1x1d,位置指令 x1d=yd。?e1=?x1?x1d=x2?x1d(6)定义e2=x2sx2d(7)其中
9、 x2d为虚拟控制量。设计虚拟控制量 x2dx2d=?x1dk1e1(8)其中,k10。由式子和可得:?e1=e2+x2d?x1d=e2+?x1dk1e1?x1d=k1e1+e2选择 Lyapunov 函数如下:V1=12e21(10)对 V1进行求导可得:?V1=e1e2k1e21(11)若 e2=0,则?V10。由式子可得:?e2=?x2?x2d=x3+g1?x2d(12)定义e3=x3x3d取虚拟控制量 x3d为:x3d=1+?x2dk2e2e1(13)其中,k20,1为非线性函数 g1的估计。由式可得?x2d=x1dk1?e1=x1dk1(x2?x1d)(14)由式和式可得:?e2=e
10、3+x3d+g1?x2d=e31+?x2dk2e2e1+g1?x2d=g11k2e2e1+e3(15)设计 Lyapunov 函数如下:V2=V1+12e22=12(e21+e22)(16)对 V2进行求导可得:701第 6 期苏蓓蓓:基于神经网络的柔性机械手 Backstepping 控制?V2=k1e21+e1e2+e2?e2=k1e21k2e22+(g11)e2+e2e3(17)当 e3=0,1=g 时,此时?V20。定义?e3=?x3?x3d=x4?x3d(18)由式、及可得:?x3d=1+x2dk2?e2?e1=1+x1dk1(?x2x1d)k2(x3+g1?x2d)(x2?x1d)
11、=1+x1dk1(x3+g1x1d)k2(x3+g1?x2d)x2+?x1d(19)将?x3d分解成已知和未知两个部分?x3d=?x3d3d(20)其中,3d=1+k1g1+k2g1(21)?x3d=x1dk1(x3x1d)k2(x3?x2d)x2+?x1d(22)其中,?x3d为已知部分,3d为未知部分,取 d=3d。定义 e4=x4x4d,虚拟控制量 x4d设计为x4d=?x3ddk3e3e2(23)其中 k30。不妨将-代入式可得:?e3=x4?x3d=x4?x3d+3d=k3e3e2+e4+(dd)(24)选择 Lyapunov 函数如下:V3=V2+12e23(25)对 V3求导可得
12、:?V3=?V2+e3?e3=k1e21k2e22k3e23+(g11)e2+(dd)e3+e3e4(26)当 e4=0,1=g,d=d 时,此时?V30。将控制输入信号引入可得:?e4=?x4?x4d=g2+fu?x4d(27)则,由式(18)、式(20)、式(22)和式(23)得:?x4d=x3ddk3?e3?e2=x1dk1(?x3x1d)k2(?x3x2d)?x2+x1ddk3(x4?x3d+3d)(?x2?x2d)=x1dk1(x4x1d)k2(x4x1d+k1(?x2x1d)x3+x1dg1dk3(x4?x3d+3d)(x3+g1?x2d)=x1dk1(x4x1d)k2(x4x1d
13、+k1(x3x1d)+x1dx3k3(x4?x3d)(x3?x2d)k1k2g1g1dk33dg1=?x4d+4d将?x4d分解成两个部分,即?x4d=?x4d+4d,?x4d为已知部分,4d为未知部分。?x4d=x1dk1(x4x1d)k2(x4x1d+k1(x3x1d)+x1dx3k3(x4?x3d)(x3?x2d)4d=k1k2gg1dk33dg1 (28)定义 g2=g24d,式可进一步改写为:?e4=g2+4d+fu?x4d=g2?x4d+(ff?)u+f?u(29)其中,f?为 f 的估计值。控制律设计为:u=1(2+?x4dk4e4e3)(30)其中,2为 g2的估计,常数 k4
14、0。将式代入,可得:?e4=(g22)+(ff?)uk4e4e3(31)选择 Lyapunov 函数如下:V4=V3+12e24=12(e21+e22+e23+e24)(32)则,?V4=k1e21k2e22k3e23k4e24+(ff?)ue4+(g11)e2+(dd)e3+(g22)e4(33)其中,如果 1=g1,d=d,2=g2,f?=f,则?V40。22神经网络 Backstepping 控制器设计针对未知的非线性函数 g1,d,g2,设计 BF神经网络如下:g1=WT11+1d=WT22+2g2=WT33+3(34)式中,Wi为理想权值,i,i=1,2,3 为高斯基函数,N,WiF
15、WM。定义1=WT11d=WT222=WT33 (35)式中,WTi作为非线性函数神经网络估计权值。定义801大学物理实验2022 年=0W1W2W3,FM(36)=0W1W2W3,?=-(37)选择 Lyapunov 函数如下:V=12T+12tr(?TQ1?)+12?f2(38)其中,V4=12T,0,Q=0123,=e1e2e3e4T,?f=ff?,设计 BF 神经网络自适应律为:=Q TnQ(39)其中,=0123T,n 为正常数(n0),f?(0)f_0,系统稳定有界。证明:由式(33)和式(38)可得:?V=T+?f?f+tr(?TQ1?)=k1e21k2e22k3e23k4e24
16、+(W?T11+1)e2+(W?T22+2)e3+(W?T33+3)e4+tr(?TQ1?)+?fe4u+?f?f(40)其中W?Ti=WTiWTi,i=1,2,3。代入方程可得:?V=TKe+T+T?+tr(?TQ1?)+?fe4u+?f?f=TKe+T+tr(?TQ1?+?T)+?fe4u+?f?f(41)其中,Ke=k1k2k3k4T,=0123T。引入自适应律(39),可得:?V=TKe+ntr?T(?)+M+T(42)其中,M=?fe4u?f?f。为了保证 M0,不妨设计自适应律为:f?=1e4u,e4u01e4u,e4u0,f?f_1,e4u0,f?f_(43)将式(43)代入 M,为保证 M0,需满足如下3 种情况:当 ue40,M=0。ue40,f?f_时,M=0。ue40,f?f_,?f=ff?0,M0。根据 Schwarz 不等式,有tr?T?()()?FF2F由于Kmin2TK当满足如下方程KminN+n(?2F?FM)=KminN+n(?FM)2n42M0方程(42)可进一步改写为:?V Kmin2+N +M+n (?FF?2F)n?F(?FM)+M KminN