1、神经网络在控制中的应用神经网络在控制中的应用 v神经网络在控制中的应用神经网络在控制中的应用 神经网络辨识技术神经网络辨识技术 神经网络控制技术神经网络控制技术5.1 神经网络辨识神经网络辨识系统辨识是自适应控制的关键所在,它通过测量对象的输入输出状态系统辨识是自适应控制的关键所在,它通过测量对象的输入输出状态来估计对象的数学模型,使建立的数学模型和对象具有相同的输入输来估计对象的数学模型,使建立的数学模型和对象具有相同的输入输出特性。出特性。神经网络对非线性函数具有任意逼近和自学习能力,为系统的辨识,神经网络对非线性函数具有任意逼近和自学习能力,为系统的辨识,尤其是非线性动态系统的辨识提供了
2、一条十分有效的途径。尤其是非线性动态系统的辨识提供了一条十分有效的途径。神经网络系统辨识实质上是选择一个适当的神经网络模型来逼近实神经网络系统辨识实质上是选择一个适当的神经网络模型来逼近实际系统的数学模型。际系统的数学模型。5.1 神经网络辨识神经网络辨识5.1.1 神经网络系统辨识的原理神经网络系统辨识的原理 系统辨识的原理就是系统辨识的原理就是通过调整辨识模型的通过调整辨识模型的结构来使结构来使e最小。最小。在神经网络系统辨识中,神经网络用作辨识模型,将对象的输入输出状在神经网络系统辨识中,神经网络用作辨识模型,将对象的输入输出状态态u,y看作神经网络的训练样本数据,以看作神经网络的训练样
3、本数据,以J=1/2e2作为网络训练的目标,作为网络训练的目标,则通过用一定的训练算法来训练网络,使则通过用一定的训练算法来训练网络,使J足够小,就可以达到辨识对足够小,就可以达到辨识对象模型的目的。象模型的目的。5.1 神经网络辨识神经网络辨识5.1.2多层前向多层前向BP网络的系统辨识网络的系统辨识 假设非线性对象的数学模型可以表示为:假设非线性对象的数学模型可以表示为:)(,),1(),(),(),2(),1()(mtututuntytytyfty其中其中f是描述系统特征的未知非线性函数,是描述系统特征的未知非线性函数,m,n分别为输入输出的阶分别为输入输出的阶次。则可以利用多层前向次。
4、则可以利用多层前向BP网络来逼近非线性函数,进而估计对象网络来逼近非线性函数,进而估计对象的模型。的模型。5.1 神经网络辨识神经网络辨识多层前向多层前向BP网络系统辨识原理图网络系统辨识原理图 5.1 神经网络辨识神经网络辨识网络的输出可以通过下式计算得到:网络的输出可以通过下式计算得到:ljmniiijjxwwty111)1()2()()(,121mnxxxX)(,),1(),(),(,),2(),1(mtututuntytytyH(*)表示隐层神经元的激发函数)表示隐层神经元的激发函数 Wij(1),Wj(2)分别表示网络第分别表示网络第1-2层和层和2-3层的连接权值层的连接权值 5.
5、1 神经网络辨识神经网络辨识定义网络训练的目标函数为:定义网络训练的目标函数为:221)()(tytyJ则网络训练的则网络训练的BP算法可以描述为:算法可以描述为:)2(1)2()2()()1(jjjwJtwtw11)1()2()2()(mniiijjjxwHyywyyJwJ)1(2)1()1()()1(ijijijwJtwtwijijxHwyywJ)()2()1(5.1 神经网络辨识神经网络辨识5.1.3.递归神经网络系统辨识递归神经网络系统辨识递归神经网络结构递归神经网络结构 5.1 神经网络辨识神经网络辨识递归神经网络的输入输出关系可以描述为:递归神经网络的输入输出关系可以描述为:nii
6、iiijljjkktxwtxwHwy1)0()1(1)2()1()(H(*)表示隐层神经元的激发函数)表示隐层神经元的激发函数 Wij(1),Wjk(2)分别表示网络第分别表示网络第1-2层和层和2-3层的连接权值层的连接权值 Wi(0)表示网络第一层的递归权值表示网络第一层的递归权值 5.1 神经网络辨识神经网络辨识由于递归神经网络本身具有动态反馈环,可以记录以前的状态,因此用由于递归神经网络本身具有动态反馈环,可以记录以前的状态,因此用递归神经网络来对非线性对象进行辨识时只需以对象当前的输入状态递归神经网络来对非线性对象进行辨识时只需以对象当前的输入状态u(t)和前一时刻的输出状态和前一时
7、刻的输出状态y(t-1)作为网络的输入即可,与前向多层神经作为网络的输入即可,与前向多层神经网络相比,网络的结构较为简单。网络相比,网络的结构较为简单。递归网络动态对象学习算法1z)(ku)(ky)(ky)1(ky)(ke-+5.2 神经网络控制神经网络控制 神经网络在控制中主要起以下作用:神经网络在控制中主要起以下作用:(1)基于精确模型的各种控制结构中充当对象的模型;基于精确模型的各种控制结构中充当对象的模型;(2)在反馈控制系统中直接充当控制器的作用;在反馈控制系统中直接充当控制器的作用;(3)在传统控制系统中起优化计算作用;在传统控制系统中起优化计算作用;(4)在与其它智能控制方法和优
8、化算法相融合中在与其它智能控制方法和优化算法相融合中,为其提供对象模型、为其提供对象模型、优化参数、推理模型及故障诊断等。优化参数、推理模型及故障诊断等。5.2 神经网络控制神经网络控制5.2.1 神经网络直接反馈控制系统神经网络直接反馈控制系统神经网络直接用作误差闭环系统的反馈控制器,神经网络控制器首神经网络直接用作误差闭环系统的反馈控制器,神经网络控制器首先利用其它已有的控制样本进行离线训练,而后以系统的误差的均先利用其它已有的控制样本进行离线训练,而后以系统的误差的均方差为评价函数进行在线学习。方差为评价函数进行在线学习。5.2 神经网络控制神经网络控制5.2.2 神经网络逆控制神经网络
9、逆控制 自适应逆控制的基本思想就是用被控对象传递函数的逆模型作为串联自适应逆控制的基本思想就是用被控对象传递函数的逆模型作为串联控制器对控制对象实施开环控制。控制器对控制对象实施开环控制。神经网络先离线学习被控对象的逆动力学模型,然后用作对象的前馈神经网络先离线学习被控对象的逆动力学模型,然后用作对象的前馈串联控制器。由于开环控制缺乏稳定性,所以神经网络还需要根据系串联控制器。由于开环控制缺乏稳定性,所以神经网络还需要根据系统的反馈误差在线继续学习逆动力学模型统的反馈误差在线继续学习逆动力学模型 5.2 神经网络控制神经网络控制5.2.3 神经网络内模控制神经网络内模控制 将对象模型与实际对象
10、相并联,控制器逼近模型的动态逆将对象模型与实际对象相并联,控制器逼近模型的动态逆。一般有两种方法:一般有两种方法:1)两个神经网络分别逼近模型和模型的逆;两个神经网络分别逼近模型和模型的逆;2)采用神经网络逼近模型,然后用非线性优化方法数值计算内模控制量。采用神经网络逼近模型,然后用非线性优化方法数值计算内模控制量。5.2 神经网络控制神经网络控制5.2.4 神经网络自适应控制神经网络自适应控制(1)神经网络模型参考直接自适应控制)神经网络模型参考直接自适应控制 模型参考自适应控制的目的是:系统在相同输入激励模型参考自适应控制的目的是:系统在相同输入激励r的作用下,使被控对象的作用下,使被控对
11、象的输出的输出y与参考模型的输出与参考模型的输出ym达到一致。这样通过调整参考模型,可以调整系达到一致。这样通过调整参考模型,可以调整系统的动态特性。统的动态特性。神经网络控制器(神经网络控制器(NNC)先离线学习被控对象的逆动力学模型,与被)先离线学习被控对象的逆动力学模型,与被控对象构成开环串联控制,而后神经网络根据参考模型输出与被控对象控对象构成开环串联控制,而后神经网络根据参考模型输出与被控对象输出的误差函数进行在线训练,使误差函数最小。输出的误差函数进行在线训练,使误差函数最小。5.2 神经网络控制神经网络控制(2)神经网络模型参考间接自适应控制)神经网络模型参考间接自适应控制 在直
12、接自适应控制的基础上,引入了一个神经网络辨识器(在直接自适应控制的基础上,引入了一个神经网络辨识器(NNI)来对)来对被控对象的数学模型进行在线辨识,这样可以及时地将对象模型的变化被控对象的数学模型进行在线辨识,这样可以及时地将对象模型的变化传递给传递给NNC,使,使NNC可以得到及时有效的训练。可以得到及时有效的训练。例:例:二关节机器人神经网络自适应控制二关节机器人神经网络自适应控制1)控制问题)控制问题机器人动态控制问题机器人动态控制问题就是要使机器人的各就是要使机器人的各关节或末端执行器位关节或末端执行器位置能够以理想的动态置能够以理想的动态品质跟踪给定的轨迹品质跟踪给定的轨迹或稳定在
13、指定的位置或稳定在指定的位置上。上。XY112XY12L122AB),(ddyx1L1伺服控制器杆1杆21d2122d坐标变换坐标变换dxdyxy二关节机器人控制结构二关节机器人控制结构2)机器人数学模型)机器人数学模型坐标变换:机器人末端在空间的位坐标变换:机器人末端在空间的位置坐标可以变换为其关节角度的大置坐标可以变换为其关节角度的大小小)cos(2221222122llllyx22122212220 ,2arccosllllyxxyAtncos2221212222yxllyxl 0 ,2arccos221222122yxlllyx1动力学方程:动力学方程:),()(,dTFGVM2222
14、212222221222222122212211)2(lmcllmlmcllmlmcllllmlm M2222122122122222122,sllmsllmsllm V 122211211222)(gclmgclmmgclm G机器人动力学模型的特点机器人动力学模型的特点 n 动力学方程包含的项数多,复杂。随着机器人关节数的增加,方程动力学方程包含的项数多,复杂。随着机器人关节数的增加,方程中包含的项数呈几何级数增加,可达数百项;中包含的项数呈几何级数增加,可达数百项;n 高度非线性。方程的每一项都含有高度非线性。方程的每一项都含有cos,sin等非线性因素等非线性因素 n 高度耦合。每个关
15、节的运动都会引起其它关节的运动高度耦合。每个关节的运动都会引起其它关节的运动n 模型不确定性。当机器人搬运物体时,由于所持物件不同,负载会模型不确定性。当机器人搬运物体时,由于所持物件不同,负载会发生变化,同时,关节的摩擦系数也会随时间发生变化。发生变化,同时,关节的摩擦系数也会随时间发生变化。3)神经网络自适应控制)神经网络自适应控制n神经网络的选型:神经网络的选型:神经网络控制器神经网络控制器控制器要求鲁棒性好,经离线控制器要求鲁棒性好,经离线训练后即可投入使用,选用模训练后即可投入使用,选用模糊神经网络糊神经网络网络的输入为四个,分别对应网络的输入为四个,分别对应两个关节角的误差和误差变
16、化两个关节角的误差和误差变化率。率。输出为两个,对应两个关节的输出为两个,对应两个关节的力矩力矩神经网络辨识器神经网络辨识器辨识器要求能够很好地反映机器人的动态,并具有较简单的结构。选辨识器要求能够很好地反映机器人的动态,并具有较简单的结构。选择递归神经网络择递归神经网络n网络的训练网络的训练辨识器的学习辨识器的学习目标函数:目标函数:pspssssIIkkkekJ112 2 21学习算法:学习算法:kWkJkWkWkWkWIIIIIII 1 控制器的学习控制器的学习目标函数:目标函数:学习算法:学习算法:pspssssCkkrkekJ11221221 soCoosssCssCCCWkukuk
17、ykeWyyJWJ kWkJkWkWkWkWCCCCCCC 1 由神经网络辨识器提供由神经网络辨识器提供4)控制结果)控制结果机械手具体的参数机械手具体的参数:kgmkgm2,1021mlml8.0,1.121初始条件初始条件:0)0()0(210)0()0(21期望轨迹:期望轨迹:)2sin()(1ttd)2cos()(2ttd摩擦项和扰动项摩擦项和扰动项:)(5.0)(signF)5cos(5)5cos(5),(tt dT 关节关节1的轨迹跟踪曲线的轨迹跟踪曲线 关节关节2的轨迹跟踪曲线的轨迹跟踪曲线 RNNI的第一个输出轨迹的第一个输出轨迹 RNNI的第二个输出轨迹的第二个输出轨迹 5.
18、2 神经网络控制神经网络控制(3)神经网络间接自校正控制神经网络间接自校正控制 自校正调节器的目的是在控制系自校正调节器的目的是在控制系统参数变化的情况下,自动调整统参数变化的情况下,自动调整控制器参数,消除扰动的影响,控制器参数,消除扰动的影响,以保证系统的性能指标。在这种以保证系统的性能指标。在这种控制方式中,神经网络控制方式中,神经网络(NN)用用作过程参数或某些非线性函数的作过程参数或某些非线性函数的在线估计器。在线估计器。假设被控对象的模型为假设被控对象的模型为yk+1f(yk)+g(yk)uk 则用神经网络对非线性函数则用神经网络对非线性函数f(yk)和和g(yk)进行辨识,假设其
19、在线计算估计进行辨识,假设其在线计算估计值值fd(yk)和和gd(yk),则调节器的自适应控制律为,则调节器的自适应控制律为uk=(yd-fd(yk)/gd(yk)此时系统的传递函数为此时系统的传递函数为15.2 神经网络控制神经网络控制5.2.5 神经网络学习控制神经网络学习控制 神经网络学习控制系统将神经网络与常规误差反馈控制结合起来,首先用神经网络学习控制系统将神经网络与常规误差反馈控制结合起来,首先用NN学习对象的逆动力学模型,然后用学习对象的逆动力学模型,然后用NN作为前馈控制器与误差反馈控制器作为前馈控制器与误差反馈控制器构成复合控制器来控制对象。系统以反馈控制器的输出作为评价函数
20、来调节构成复合控制器来控制对象。系统以反馈控制器的输出作为评价函数来调节神经网络的权值。这样,在控制之初,反馈控制器的作用较强,而随着控制神经网络的权值。这样,在控制之初,反馈控制器的作用较强,而随着控制过程的进行,过程的进行,NN得到越来越多的学习,反馈控制器的作用越来越弱,得到越来越多的学习,反馈控制器的作用越来越弱,NN控控制器的作用越来越强。制器的作用越来越强。例:三关节机器人视觉伺服系统神经网络学习控制例:三关节机器人视觉伺服系统神经网络学习控制n问题描述:问题描述:利用摄像机观测目标小球利用摄像机观测目标小球与机器人末端手爪之间的与机器人末端手爪之间的相对位置,由此构成位置相对位置
21、,由此构成位置反馈,由相关控制器指挥反馈,由相关控制器指挥机器人进行运动,使其末机器人进行运动,使其末端手爪到达小球。端手爪到达小球。n目标小球的特征目标小球的特征特征提取特征提取XcYcZcxy(x,y)(XP,YP,ZP)Ocf目标在成像平面的特征可以分目标在成像平面的特征可以分解为:目标中心点在成像坐标解为:目标中心点在成像坐标系的坐标(系的坐标(x,y)以及目标的)以及目标的半径半径r。n控制系统:控制系统:视觉伺服问题可以转化为:根据目标特征与期望特征的误差,通过控制视觉伺服问题可以转化为:根据目标特征与期望特征的误差,通过控制器控制机器人运动,使目标特征到达期望特征。器控制机器人运
22、动,使目标特征到达期望特征。n机器人视觉伺服控制系统的神经网络学习控制器机器人视觉伺服控制系统的神经网络学习控制器 n神经网络结构神经网络结构xyr123输入层隐含层输出层n神经网络的学习:神经网络的学习:神经网络以常规控制器的输出神经网络以常规控制器的输出up的最小化为目标进行学习。的最小化为目标进行学习。如果学习的目标函数定义为:如果学习的目标函数定义为:J1/2(u-un)2其中其中u为复合控制器的输出,为复合控制器的输出,un为网络的输出。为网络的输出。那么根据那么根据BP算法可得网络在线训练时的权值修正算法为:算法可得网络在线训练时的权值修正算法为:WuuWJkWnp/)(可以看出,
23、网络在线训练的算法无需用到机械手和特征提取的模可以看出,网络在线训练的算法无需用到机械手和特征提取的模型信息,从而可以有效、快速地对神经网络进行在线学习和优化。型信息,从而可以有效、快速地对神经网络进行在线学习和优化。n控制结果控制结果机械手的具体参数为:机械手的具体参数为:L1=300cm;L2=260cm;L3=260cm。摄像机的焦距摄像机的焦距:f=50cm。目标小球的半径为目标小球的半径为:10cm。摄像机在基座坐标系的初始坐标为摄像机在基座坐标系的初始坐标为(490,79,337)。期望图像特征为:期望图像特征为:Xd0,Yd0,Rd10目标小球中心在基座坐标系的坐标为目标小球中心
24、在基座坐标系的坐标为:(300,300,200)*为神经网络学习控制;为神经网络学习控制;o为常规比例控制器控制为常规比例控制器控制图像坐标图像坐标X变化曲线变化曲线*为神经网络学习控制;为神经网络学习控制;o为常规比例控制器控制为常规比例控制器控制图像坐标图像坐标Y变化曲线变化曲线*为神经网络学习控制;为神经网络学习控制;o为常规比例控制器控制为常规比例控制器控制半径半径r变化曲线变化曲线 基于神经网络学习控制的小球投影的变化曲线基于神经网络学习控制的小球投影的变化曲线 5.2 神经网络控制神经网络控制5.2.6神经网络神经网络PID控制控制 经典增量式数字经典增量式数字PID 的控制算法为
25、:的控制算法为:)2()1(2)()()1()()1()(kekekekkekkekekkukudipNN 是一个三层是一个三层BP 网络网络,有有M个输入节点、个输入节点、N 个隐含节个隐含节点、点、3 个输出节点。输入节个输出节点。输入节点对应所选的系统运行状点对应所选的系统运行状态量态量,输出节点分别对应输出节点分别对应PID 控制器的控制器的3 个可调参数个可调参数kp,ki,kd。网络根据性能指标网络根据性能指标J=1/2(r-y)2进行在线学习,则可以及时更新进行在线学习,则可以及时更新PID控制控制器的参数,使系统误差在不确定严重的情况下保持最小。器的参数,使系统误差在不确定严重的情况下保持最小。n试验结果:试验结果:受控对象模型:受控对象模型:系统仿真阶跃响应曲线系统仿真阶跃响应曲线