机械臂柔性关节的RBF神经网络自适应动态面控制方法与流程

文档序号:17127522发布日期:2019-03-16 00:40阅读:693来源:国知局
机械臂柔性关节的RBF神经网络自适应动态面控制方法与流程

本发明属于人工智能及控制领域,具体涉及一种机械臂柔性关节的rbf神经网络自适应动态面控制方法。



背景技术:

自20世纪60年代以来,机器人在工业上得到了广泛应用,如机械加工、弧焊、点焊、喷涂、装配、检测、航天、太空探测等。长期以来工业机器人在工业自动化生产线上,占据着重要的位置。但随着机器人应用范围扩大,人们发现工业机器人这种固定、重复性地操作不能满足更多更为灵活地任务的需求,如工作任务随位置改变、任务要求不相同的操作。因此,工程设计出能满足这类特殊要求的轻型机械臂。轻型机械臂大多应用于预先未知的工作环境下,无法获取周围物体相对于自身的精确位置,需要较高的定位精度,基于人机交换安全性的考虑,因此在设计过程中要考虑到设备的柔顺性。轻型机械臂一般由多个连杆通过转动或移动关节连接而成,机器人的柔性主要来源于连杆柔性和关节柔性,关节的柔性是指传动机构和关节转轴的扭曲变形,一般柔性关节可以用具有弹性的物品作为连接物,比如弹簧等。虽然可以通过机械设计减小关节的柔性,但是从现有的结果来看,效果不是很好。

在工业生产中,仅仅考虑刚性杆件的运动而不考虑到运动中的弹性,是不太充分的,甚至在一些设计中,没有考虑到机械臂的柔性,从而导致闭环系统不稳定。针对这一问题,近些年来,具有柔性关节的机器人的运动控制问题已经引起了不少专家学者的研究,也得到了一定的发展。首先,在1987年,spong提出了柔性关节的简化模型,即将其视为线性弹簧,该简化大大推动了柔性关节机器人的控制研究。参照刚性机器人的控制思想,将pd或者pid以及柔性关节补偿控制器应用到柔性机器人关节控制上来。但是,这种方法在稳定性证明方面比较复杂,而且虽然控制器较简单,但是控制精度不高;随着研究的深入,反馈线性化和鲁棒自适应控制来控制柔性关节机器人被众多学者所注意到。反馈线性化方法对控制柔性关节机器人来虽是一种可行的方法,但是该方法的跟踪性能严重依赖系统模型的准确程度,然而,对于柔性关节机器人的精确建模较难。因此,反馈线性化与自适应技术、模糊控制、神经网络等方法结合消除对模型的精确要求,可以较好地对具有柔性关节的机器人进行控制,并达到较为理想的效果,sira-ramirez和spong设计了滑模控制器,zeman和ge等提出了利用神经网络来补偿系统参数不确定性的设计方法。对于柔性关节机器人而言,除了系统中存在的不确定性和输出反馈控制研究之外,由于关节电机自身输出功率的限制,使得机器人关节驱动器输出力矩存着饱和限制,虽然很多文献进行了研究,但目前还没有较好的解决方法。



技术实现要素:

针对现有技术中存在的问题,本发明将关节柔性、输出力矩受限以及外部干扰等问题综合考虑,提出机械臂柔性关节的基于rbf神经网络的自适应动态面控制方法。

为了实现上述任务,本发明采用以下技术方案:

一种机械臂柔性关节的rbf神经网络自适应动态面控制方法,包括以下步骤:

步骤1,对机械臂柔性关节进行建模;

步骤2,根据械臂柔性关节的物理特性,将建模得到的方程模型转换为状态方程;

步骤3,定义第一个跟踪误差并设计第一个虚拟控制器,将第一个虚拟控制器的信号输入第一个一阶低通滤波器,得到新的状态变量x2d代替第一个虚拟控制器进行下一步计算,减小计算量;

步骤4,定义第二个跟踪误差,利用第一rbf神经网络对含有不确定参数的非线性函数进行逼近,设计第一rbf神经网络权值的自适应律;设计第二个虚拟控制器,第二个虚拟控制器的信号通过第二个一阶低通滤波器,得到新的变量x3d;

步骤5,定义第三个跟踪误差,设计第三个虚拟控制器,将第三个虚拟控制器的信号输入到第三个一阶低通滤波器,得到新的状态变量x4d;

步骤6,定义第四个跟踪误差,根据所述的状态方程,利用第二rbf神经网络对其进行补偿逼近,设计第二rbf神经网络权值的自适应律;

步骤7,设计实际控制器。

进一步地,所述的机械臂柔性关节的方程模型为:

上式中,q,θ分别表示连杆、转子的转角位置,表示为连杆转角的转动速度,i、j分别表示连杆、转子的转动惯量,ch表示机械臂的重力矢量,bm表示电机轴的粘滞摩察系数,k代表机械臂关节刚度系数,m、g、l分别为连杆质量、重力加速度和关节到连杆质心距离,τm是电机转矩输入;分别为q的一阶、二阶导数,为θ的二阶导数。

进一步地,步骤2所述的状态方程为:

上式中,x=[x1,x2,x3,x4]t为状态变量,分别为x1,x2,x3,x4的一阶导数,δ(t)为外界有界干扰且满足δ(t)<ρ,ρ为一个常数;g(x1,x2),f(x1,x3)为具体形式未知但有界的非线性函数;假设机械臂柔性关节需要跟踪输入信号为x1d,其一阶导数、二阶导数均存在,且满足ξ为一常数。

进一步地,所述的步骤3具体包括:

步骤3.1,定义第一个跟踪误差:s1=x1-x1d,求导得取虚拟控制器为:其中c1为设计参数,且满足c1>0;

步骤3.2,将输入到第一个一阶低通滤波器,得到新的状态变量x2d;

步骤3.3,定义第一个虚拟控制器的滤波误差e2,其表达式为:则可得其导数为:

进一步地,所述的步骤4具体包括:

步骤4.1,定义第二个跟踪误差:s2=x2-x2d,求导得:

步骤4.2,建立第一rbf神经网络;

步骤4.3,利用步骤4.2所述的第一rbf神经网络逼近未知函数其中表示第一rbf神经网络权值逼近未知函数时最优值,h1(x1,x2)为神经网络的神经元激活函数,ε1*表示逼近的误差;

步骤4.4,设计第二个虚拟控制器其中的估计值,k2,λ2、c2是设计参数,且满足k2>0,λ2>0、c2>0;

步骤4.5,设计自适应律其中γ1为一个正定对称矩阵,σ1为设计参数,且满足σ1>0,k2为对跟踪误差s2大小的约束;

步骤4.6,将输入到第二个一阶低通滤波器,得到新的变量x3d;

步骤4.7,定义第二个虚拟控制器滤波误差e3,其表达式为:则可得其导数为:

进一步地,所述的步骤5具体包括:

步骤5.1,定义第三个跟踪误差:s3=x3-x3d,求导得设计虚拟控制器λ3、c3是设计参数,且满足λ3>0,c3>0;

步骤5.2,将输入第三个一阶低通滤波器,得到新的状态变量x4d;

步骤5.3,定义第三个虚拟控制器滤波误差e4,其表达式为:则可得其导数为:

进一步地,所述的步骤6具体包括:

步骤6.1,定义第四个跟踪误差:s4=x4-x4d,求导得

步骤6.2,构造第二rbf神经网络对非线性函数进行逼近:其中表示利用第二rbf神经网络权值逼近非线性函数的最优值,ε2*表示逼近的误差,h2(x1,x3)为第二rbf神经网络的神经元的激活函数;

步骤6.3,定义向量其中ρ为δ(t)外部干扰的上界,ω为设计常数,且满足ω>0,c4为设计常数,且满足c4>0,设计自适应律为:其中γ2为一个正定对称矩阵,σ2为设计参数,满足σ2>0,k4为对误差s4大小的约束;

进一步地,所述的步骤7具体包括:

设计实际控制器为:其中是θ2的估计值,λ4是设计参数,且满足λ4>0。

本发明与现有技术相比具有以下技术特点:

1.本发明通过结合反步控制的“递推式”设计方法,在每一步引入一阶滤波器来计算虚拟控制项的导数,得到新的状态变量,从而避免了反步控制方法对虚拟控制反复求导引起的项数膨胀问题;设计的控制器和自适应律,可以进一步保证关节转角的跟踪误差约束在一定范围内。

2.由于柔关节机械臂的精确数学模型不可能得到的,在设计构建稳定的柔性关节机器人控制器的同时,需要考虑外界干扰及补偿参数不确定性带来的影响,研究适合于具有柔性关节的轻型机械臂的位置控制算法。本发明充分利用rbf神经网络对非线性函数的逼近能力,利用逼近误差设计控制器,以及自适应律对神经网络的权值进行调整,消除对机械臂精确动力学模型的需要。最后通过仿真实例对设计控制器进行验证,证明了本发明方法的有效性,机器臂输出力矩有限的条件下保证关节能够有效跟踪给定信号,且所有信号都半全局有界。

附图说明

图1为机械臂柔性关节的结构示意图;

图2是神经网络原理示意图;

图3是神经网络辨识非线性结构示意图;

图4是rbf神经网络自适应控制示意图;

图5是跟踪效果示意图;

图6是跟踪误差示意图;

图7是神经网络逼近非线性函数示意图;

图8是神经网络逼近非线性函数示意图;

图9是输出控制力矩示τm意图。

具体实施方式

本发明针对具有柔性关节的机械臂,提出一种基于李雅普诺夫稳定性分析的自适应rbf神经网络动态面控制方法,该方法充分利用rbf神经网络的逼近能力补偿建模不精确带来的问题,消除对精确的动力学模型的需要,利用动态面技术解决传统自适应控制采用的backstepping带来的计算膨胀问题,并且考虑机械臂的力矩输出有限以及外界不确定干扰,提出合适的控制器;虚拟控制器将一个复杂的机械臂系统虚拟地拆解成多个子系统,将复杂系统的建模、控制器设计和稳定性分析分解到各个子系统,最后通过“虚功率流”将各个子系统间地动态性连接起来。本发明的具体方法如下:

一种械臂柔性关节的rbf神经网络自适应动态面控制方法,包括以下步骤:

步骤1,对机械臂柔性关节进行建模

本方案采用当前本领域普遍接受的柔性机械臂关节结构:“弹簧-连杆”模型,如图1所示,建立机械臂柔性关节的方程模型为:

上式中,q,θ分别表示连杆、转子的转角位置,表示为连杆转角的转动速度,i、j分别表示连杆、转子的转动惯量,ch表示机械臂的重力矢量,bm表示电机轴的粘滞摩察系数,k代表机械臂关节刚度系数,m、g、l分别为连杆质量、重力加速度和关节到连杆质心距离,τm是电机转矩输入;分别为q的一阶、二阶导数,为θ的二阶导数;下面公式中,参数上标圆点表示该参数的导数,圆点个数为导数的阶数,不再赘述。

其中,k为关节刚度,k越大,说明关节刚度越大,关节柔性就小,此时q和θ就越接近;k越小,说明关节刚度越小,关节柔性就大,此时q和θ相差越大。

本方案的控制目标为,基于连杆的转角可以跟踪给定的信号,并且跟踪误差小,保证系统所有的信号都半全局有界。

步骤2,根据机械臂柔性关节的物理特性,将步骤1建立的方程模型转换为状态方程,具体表示如下:

上式中,x=[x1,x2,x3,x4]t为状态变量,分别为x1,x2,x3,x4的一阶导数,δ(t)为外界有界干扰且满足δ(t)<ρ,ρ为一个常数;g(x1,x2),f(x1,x3)为具体形式未知但有界的非线性函数,其中具体形式未知是由于g(x1,x2),f(x1,x3)表达式中的ch、bm、k、j、i的具体形式是未知的,在本方法中把非线性函数g(x1,x2),f(x1,x3)分别利用rbf神经网络进行逼近;假设机械臂柔性关节需要跟踪输入信号为x1d,其一阶导数、二阶导数均存在,且满足ξ为一常数。

针对于该步骤建立的状态方程,结合反步法的递推式,利用动态面技术设计控制器。

步骤3,定义第一个跟踪误差并设计第一个虚拟控制器,将第一个虚拟控制器的信号输入第一个一阶低通滤波器,得到新的状态变量x2d代替第一个虚拟控制器进行下一步计算,减小计算量;具体步骤如下:

步骤3.1,定义第一个跟踪误差:s1=x1-x1d,求导得取虚拟控制器为:其中c1为设计参数,且满足c1>0。

步骤3.2,将输入到第一个一阶低通滤波器,得到新的状态变量x2d;其中所述的一阶滤波器表示为:

上式中,x2d为通过一阶滤波器得到的新的状态变量,τ2为滤波器的滤波时间常数,其中表示通过虚拟控制器的的初值与滤波后的信号的x2d的初值相等;用x2d代替在推导出实际控制器的过程中,进行下一步计算。

步骤3.3,定义第一个虚拟控制器的滤波误差e2,其表达式为:则可得其导数为:

步骤4,定义第二个跟踪误差,由于系统状态方程中含有非线性函数,因此利用第一rbf神经网络对含有不确定参数的非线性函数进行逼近,构建李亚普诺夫函数,通过李亚普诺夫稳定性分析,设计神经网络权值的自适应律,使逼近误差尽可能地小;设计第二个虚拟控制器,第二个虚拟控制器的信号通过第二个一阶低通滤波器,得到新的变量x3d;具体如下:

步骤4.1,定义第二个跟踪误差:s2=x2-x2d,求导得:

步骤4.2,建立第一rbf神经网络

由于中含所有非线性项g(x1,x2),因此采用第一rbf神经网络对其进行逼近,所述的第一rbf神经网络为多输入单输出的神经网络,结构如图2所示,其逼近原理如图3和图4。在rbf网络结构中,x=[x1,x2,…,xi]t为网络的输入层向量,设rbf网络隐含层径向基向量h=[h1,h2,…,hn]t,其中hj为高斯基函数,是神经网络的神经元激活函数,其表达式为:j=1,2,…,n;其中网络的第j个节点的中心矢量为cj=[cj1,cj2,…,cjn]t,网络的基宽向量为:bj=[bj1,bj2,…,bjn]t,bj为节点j的及宽度参数,且有bj>0。网络权值向量为:θj=[θj1,θj2,…,θjn]t。rbf网络的输出为:yn(t)=θ1h1+θ2h2+…+θnhn。

步骤4.3,由于未知,因此利用步骤4.2所述的第一rbf神经网络逼近未知函数其中表示神经网络权值逼近未知函数时最优值,h1(x1,x2)为第一rbf神经网络的神经元激活函数,ε1*表示逼近的误差,神经网络逼近非线性函数效果图如图8所示。

步骤4.4,设计第二个虚拟控制器其中的估计值,k2,λ2、c2是设计参数,且满足λ2>0、c2>0。

步骤4.5,设计自适应律其中γ1为一个正定对称矩阵,σ1为设计参数,且满足σ1>0,k2为对跟踪误差s2大小的约束。

步骤4.6,将输入到第二个一阶低通滤波器,得到新的变量x3d;其中滤波器可以表示为:

其中,τ3为滤波器的滤波时间常数,得到新的状态变量x3d;

步骤4.7,定义第二个虚拟控制器滤波误差e3,其表达式为:则可得其导数为:

步骤5,定义第三个跟踪误差,设计第三个虚拟控制器,将第三个虚拟控制器信号输入到第三个一阶低通滤波器,得到新的状态变量x4d,具体步骤如下:

步骤5.1,定义第三个跟踪误差:s3=x3-x3d,求导得设计虚拟控制器λ3、c3是设计参数,且满足λ3>0,c3>0;

步骤5.2,将输入第三个一阶低通滤波器,得到新的状态变量x4d;其中滤波器可以表示为:

其中,τ4为滤波器的滤波时间常数,得到新的状态变量x4d。

步骤5.3,定义第三个虚拟控制器滤波误差e4,其表达式为:则可得其导数为:

步骤6,定义第四个跟踪误差,根据所述的状态方程,状态方程中出现了非线性函数,利用第二rbf神经网络对其进行补偿逼近,逼近效果如图8,考虑到外界干扰δ(t),设计干扰补偿项。构建李亚普诺夫函数,通过李亚普诺夫稳定性分析,设计神经网络权值的自适应律,使非线性函数的逼近误差尽可能地小;具体步骤如下:

步骤6.1,定义第四个跟踪误差:s4=x4-x4d,求导得

步骤6.2,由于m2和f(x1,x3)未知,因此构造第二rbf神经网络对非线性函数进行逼近:其中表示利用第二rbf神经网络权值逼近非线性函数的最优值,ε2*表示逼近的误差,h2(x1,x3)为第二rbf神经网络的神经元的激活函数,神经网络逼近非线性函数效果图,如图8;第一rbf神经网络、第二rbf神经网络的网络结构相同,步骤6.2和步骤4.3不同之处在于两个神经网络的输入、输出不同,第一个神经网络的输入是x1,x2,输出为第二个神经网络的输入是x1,x3,输出是本方案中,参数右上角加*表示逼近的最优值。

步骤6.3,定义向量其中ρ为δ(t)外部干扰的上界,ω为设计常数,且满足ω>0,c4为设计常数,且满足c4>0,设计自适应律为:其中γ2为一个正定对称矩阵,σ2为设计参数,满足σ2>0,k4为对误差s4大小的约束。

步骤7,设计实际控制器为:其中是θ2的估计值,λ4是设计参数,且满足λ4>0。

在实际应用时,将机械臂柔性关节电机的力矩控制器输入为:τm,如图9,对机械臂柔性关节的电机转矩进行控制,进而影响关节的连杆与转子的转动,使机械臂连杆能够实现跟踪给定信号x1d,跟踪效果如图5所示,跟踪误差如图6所示。

仿真实验:

在该仿真实验中,控制目标是使杆连转角q跟踪理想轨迹x1d=sint,假设外界干扰为δ=0.2cos(2t)。根据实际系统,本例采用的模型中的系统物理参数可以选为:i=j=1.0kg·m2,mgl=5n·m,k=40n·m/rad,ch=1n,bm=0.001,ω=0.01,k2=0.2,k4=0.5,c1=6,c2=80,c3=34,c4=5,q=0.35。系统初始状态选为x=[0,0,0,0]t,滤波器的时间常数选为τ2=τ3=τ4=0.005,取γ1=[2,2,2,2,2,2,2],由于在转子转角考虑到外界干扰,因此在利用rbf消除不确定性误差时,自适应律中的γ2=[10,10,10,10,10,10,10,0.5]。对于需要逼近的两个非线性函数,其中第一个rbf逼近网络选取为:2-7-1。由于需逼近的函数与两个状态变量有关,则选择两个输入,选择7个神经元,最后得到一个网络输出。初始值全部选择为0,根据x1,x3的输入范围选择高斯基函数的取值范围为:[-2.4,2.4],即其中第一个rbf逼近网络选取为:2-7-1。由于需逼近的函数与两个状态变量有关,则选择两个输入,选择7个神经元,最后得到一个网络输出。初始值全部选择为0,根据x1,x3的输入范围选择高斯基函数的取值范围为:[-2.4,2.4],即

结果分析:

根据步骤2中的状态方程,考虑如下紧集:

其中q是任意正数,分别表示是对θ1、对θ2进行估计时的估计误差,且满足

选取lyapunov函数根据李雅普诺稳定性定理,满足初始条件v(0)≤q,则调节参数ci,τi,ε,σ1,σ2,γ1,γ2可以使的系统所有的信号半全局一致有界,系统的跟踪误差可以收敛到原点附近。注:分别表示x1d,x2d,x2d,x3d,x4d的相对应的一阶导数,及二阶导数。x2d(0),x3d(0),x4d(0)表示x2d,x3d,x4d的初值。

在该方法中把非线性函数g(x1,x2),f(x1,x3)由于含所有未知参数,且实际的机械臂柔性关节模型也更为复杂,所以称为具体形式未知。但是在仿真验证所提出的跟踪控制算法的时候,需要对未知的参数给出值,但是仍是非线性的需要对其分别利用神经网络进行逼近。

本发明方法采用了两个不同的神经网络分别逼近两个非线性函数,自适应律用于调节神经网络逼近非线性函数时的权值θ1,提高逼近性能;控制律分为虚拟控制器和实际控制器,这是backstepping方法特有的,虚拟控制器用于推导实际控制,保证系统的稳定性,可以理解为虚拟控制用来保证每一个子系统的稳定,即最后推导出的实际控制可以保证整个系统的稳定,可以根据李雅普诺夫稳定性定理证明系统稳定性。

将该方案应用于实际时,设计机械臂的电机控制器时,需要设计虚拟控制器自适应律:以及实际的控制器:τm用于控制系统的电机转矩。最后控制器可以保证系统输出,即机械臂的连杆能够跟踪上给定的参考信号x1d,跟踪效果图如图5,跟踪的误差如图6。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1