工作空间中机械手的神经网络自适应控制学院:自动化信息与工程学院班级:研1509姓名:陈维多学号:2150321271工作空间中机械手的神经网络自适应控制摘要本设计为一个基于神经网络自适应控制的机械手运动模型的MATLAB仿真实验。
以平面二关节机械手为控制对象,以一圆为目标轨迹。
先得到机械手的运动方程的形式,用RBF径向基神经网络对方程式中的系统的各个参数进行建模,利用每个时刻的估计状态和理想状态的误差,通过梯度下降法对网络参数进行修正,在若干次修正后,神经网络模型所得的状态跟踪到理想状态。
关键词:二关节机械手;神经网络;RBF一、概述1.1研究背景经过几十年的努力,工业机器人(机械手)的控制领域出现了很多成果,控制方法也多种多样,例如最经典成熟的PID控制在一些简单系统中仍然广泛应用,但对于复杂系统显示出了不太好的动态性能;还有计算力矩控制,鲁棒控制等,在调节时间、超调量方面都有非常不错的品质,共性缺点是对机械手数学模型方面的参数有依赖性。
他们都需要一个精确的机械手的数学模型,或系统边界的不确定性是给出的。
然而现实是,机械手在操作过程中伴随着不完整的信息和不精确定义的参数,以及外部因素干扰等,这些控制方法对缺少的传感器信息、未规划的偶然事件的发生非常敏感,这就导致了常规的基于模型的机器人控制方法不能保证系统在实际不可预知环境下的鲁棒性。
为此,有必要采用新的混合控制方法来解决类似问题。
神经网络自适应算法在机械手控制中的应用是非常广泛的,尤其是在机械手实时轨迹跟踪方面,此种算法有很强的自学习特性、并行处理能力、非线性映射能力以及容错性,可以非常好的满足机械手在轨迹跟踪方面要求。
1.2神经网络特点(1)神经网络可利用少量先验知识,进行自我学习,具备自学习能力。
这种特质对繁复的数学计算来说是一种解放,在涉及到理论计算的控制领域,可发挥其强大的作用。
一般的控制算法需要大量的模型先验信息来设计控制方案,例如需要建立被控对象的数学模型。
而利用自学习特性,控制器不需要太多系统的模型和参数信息,因此,神经网络控制可以广泛用于解决具有不确定模型的控制问题。
(2)由于某些单一控制方法对非线性系统束手无策,而神经网络隐含层传递函数的设计形式有很多,可采用非线性函数达到非线性映射功能,所以结合神经网络为解决非线性控制问题提供了有效的途径。
(3)神经网络的分布式结构,以及并行的计算方法使其具有容错性的优点,某些少量的连接错误对整个系统的影响不是很大,甚至没有影响。
1.3RBF径向基神经网络本文用到的算法是径向基函数神经网络(RBFNN)算法。
模式识别技术带动了RBF网络的发展,RBF网络在各个领域正在得到愈来愈广泛的应用,并成为多层前向网络的主要竞争者。
与多层前馈网络(MFN)相比,RBF神经网络具有更好的泛化能力,而且网络结构相对简单,避免了不必要和冗长的计算。
关于RBF网络的研究表明了此种网络能够在一个紧凑集合下,逼近任何非线性函数。
RBFNN是一种三层前向网络。
RBF网络的拓扑结构如下图所示。
图1.1径向基网络图中,,为输出层权向量,y=f(X)为RBF网络的输出,表示隐含层的第i个径向基函数,表达式为2exp i i i X c h ⎛⎫-= -⎪ ⎪⎝⎭(1.1)其中为第i 个隐节点的置信域中心点向量,为置信域的宽度。
在图3-4中,网络的输入层是由实际系统已知的参数组成的。
中间层为隐含层,其神经元个数的确定也是根据实际模型的需要而定。
最后一层是输出层,主要是根据输入量,通过中间层的映射,得出所需要的量。
此网络结构具有这样的特性,即输入空间至隐含层空间的信息传递为非线性的,而隐含层到输出层的传递方式为线性。
RBF 网络是基于BP 神经网络改进二来的,它的指标函数以及权值矫正算法和BP 网络基本一致。
RBF 网络性能指标函数为21(()())2m J y k y k =-(1.2)根据梯度下降法,输出权值、置信域中心点以及置信域宽度的迭代算法如下()(()())j m i k y k y k h ωλ∆=-(1.3)22()(1)()((1)(2))()(()())()(1)((1)(2))()(()())()(1)()((1)(2))i i i i i j i m i i i i i i i i i ijij m i i ij ij ij ij ij k k k k k X C b k y k y k h b k b k b b k b k x c c k y k y k b c k c k c k c k c k ωωωαωωλωαλωα=-+∆+----∆=-=-+∆+----∆=-=-+∆+---(1.4)式中,λ为学习速率,α为动量因子。
RBF 神经网络的工作方式,先给输出权值、置信域中心点以及置信域赋宽度给初值,计算网络输出,判断性能指标函数的值是否符合要求,如不符合,择用上述公式对输出权值、置信域中心点以及置信域宽度进行矫正,在计算下一次的网络输出;若能指标函数的值符合要求,则停止工作。
二、机械手的神经网络建模2.1工作空间直角坐标与关节角位置的转换将工作空间中的关节末端节点直角坐标()转为二关节关节角位置()的问题,即机器人的逆向运动学问题。
根据图2.1可得:图2-1二自由度机械手(2.1)(2.2)将(2.1)的平方加上式(2.2)的平方,可得:+(2.3)从而可以得到:(2.4)取,,则(2.5)2.2被控对象神经网络建模考虑一个刚性n 关节机械手,其动态特性为:(2.6)其中是表示关节变量的向量,是执行机构施加的关节扭矩向量,为对称正定惯性矩阵,为哥氏力和离心力向量,为重力向量。
机械手动态方程具有下面特性:特性1惯性矩阵对称正定;特性2矩阵是斜对称的采用神经网络建模,则机械手在工作空间中的动态方程可写为:()(,)()D q q C q q q G q τ++=(2.7)其中其中,,为矩阵Dx ,Cx ,Gx 中的元素。
写成矩阵形式()[{}{()}]T x D q q =Θ⋅Ξ(,)[{}{()}]T x C q qZ z =A ⋅ ()[{}{()}]T x G q B H q =⋅三、控制器的设计设是在工作空间中的理想轨迹,则和分别是理想的速度和加速度。
定义(2.8)(2.9)(2.10)其中是一个正定矩阵。
根据式(2.7)控制器取:[{}{()}][{}{()}][{}{()}]T T T x r r F q x Z z xB H q Kr =Θ⋅Ξ+A ⋅+⋅+ 如图2-2神经网络控制的过程。
将控制对象初值赋给运动方程,每经过时间t 神经网络模型就会得到一个新的状态。
将该状态和理想状态作比较,按照(2.8)(2.9)(2.10)所示误差模型计算误差,用误差对网路的权值进行矫正,得到新的系统参数Dx ,Cx ,Gx ,再带入神经网络模型,计算下一次的状态。
如此循环,达到控制目的。
图2-2神经网络控制过程四、仿真实例使用平面二关节机械臂模型进行仿真,机械臂动力学方程为()(,)()D q q C q q q G q τ++= (4.1)123223223222cos cos ()cos m m m q m m q D q m m q m +++⎡⎤=⎢⎥+⎣⎦3223122312sin ()sin (,)sin 0.0m q q m q q q C q q m q q --+⎡⎤=⎢⎥⎣⎦41512512cos cos()()cos()m g q m g q q G q m g q q ++⎡⎤=⎢⎥+⎣⎦上式中i m 值由式l M P p L =+给出,有[]12345T M m m m m m =[]12345T P p p p p p =22121212T L l l l l l l ⎡⎤=⎣⎦其中l p 为负载,1l 和2l 分别为关节1和关节2的长度,p 是机器人自身的参数向量。
机械臂实际的参数为[]121.660.420.63 3.75 1.25,1TP l l ===。
为了测试控制器对载荷扰动的抑制能力,在t=4.0时载荷l p 的值从0变道0.5。
在笛卡尔空间中的理想跟踪轨迹取12() 1.00.2cos()() 1.00.2sin()d d x t t x t t ππ=+=+(4.2)该轨迹为一个半径为0.2,圆心在(1.0 1.0)的圆。
初始条件时,机械臂末端的执行器在圆的中心(1.0 1.0)。
由于跟踪轨迹为工作空间中的直角坐标系,而不是关节空间的角位置,应按照第一部分的式子将工作空间中的关节末端直角坐标转()12x x 为二关节空间中关节角的角位置()12q q 。
对应于机械臂动力学方程,雅各比矩阵为1121221211212212sin()sin()sin()()cos()cos()cos()l q l q q l q q J q l q l q q l q q --+-+⎡⎤=⎢⎥+++⎣⎦(4.5)则112122121112122122122122212212cos()cos()cos()()sin()sin()sin()cos()cos()sin()sin()l q l q q l q q J q q l q l q q l q q l q q l q q q l q q l q q --+-+⎡⎤=⎢⎥--+-+⎣⎦-+-+⎡⎤+⎢⎥-+-+⎣⎦ (4.6)控制器取式()(,)()x x x x D q x C q q x G q F ++=,针对Dx ,Cx 和Gx 的每一个元素的逼近,公设计10个RBF 网络。
对Dx 和Gx ,网络输入为q ,分别使用7个隐含层节点的静态RBF 神经网络,而对Cx 中的元素,网络输入为()q q ,分别使用7个隐含层节点的动态RBF神经网络。
所有RBF 网络的隐含层节点的高斯参数中心适量值分别按照输入值的有效范围来取,即针对输入为q 时,取值范围为[0.25,1.75],针对输入为q 的导数时,取值范围为[-1.5,1.5],基宽向量取10。
控制器的增益选为3030K ⎡⎤=⎢⎥⎣⎦,k=0.5,1515⎡⎤Λ=⎢⎥⎣⎦。
仿真结果如图所示:图4-1末关节节点的位置跟踪图4-2末关节节点的速度跟踪图4-3系统参数DCG的2范数如图4-1为末关节节点的位置跟踪,图中红线为理想位置,蓝线为神经网络模型下得到的位置,可以看出,在不到2s的时间内,神经网络模型就很好地跟踪到理想轨迹上;如图4-2为末关节节点的速度跟踪,图中红线为理想速度,蓝线为神经网络模型下得到的速度,同样在不到2s的时间内,神经网络模型就很好地跟踪到理想速度;图4-3为系统参数D、C、G的对比,红色线为由模型(4-1)得到的系统参数,蓝色为由神经网络模型得到的系统参数,网络在经过5s左右时间的矫正,和理想的系统参数基本保持一致。