本发明属于人工智能及控制领域,具体涉及一种机械臂柔性关节的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,θ分别表示连杆、转子的转角位置,
进一步地,步骤2所述的状态方程为:
上式中,x=[x1,x2,x3,x4]t为状态变量,
进一步地,所述的步骤3具体包括:
步骤3.1,定义第一个跟踪误差:s1=x1-x1d,求导得
步骤3.2,将
步骤3.3,定义第一个虚拟控制器的滤波误差e2,其表达式为:
进一步地,所述的步骤4具体包括:
步骤4.1,定义第二个跟踪误差:s2=x2-x2d,求导得:
步骤4.2,建立第一rbf神经网络;
步骤4.3,利用步骤4.2所述的第一rbf神经网络逼近未知函数
步骤4.4,设计第二个虚拟控制器
步骤4.5,设计自适应律
步骤4.6,将
步骤4.7,定义第二个虚拟控制器滤波误差e3,其表达式为:
进一步地,所述的步骤5具体包括:
步骤5.1,定义第三个跟踪误差:s3=x3-x3d,求导得
步骤5.2,将
步骤5.3,定义第三个虚拟控制器滤波误差e4,其表达式为:
进一步地,所述的步骤6具体包括:
步骤6.1,定义第四个跟踪误差:s4=x4-x4d,求导得
步骤6.2,构造第二rbf神经网络对非线性函数
步骤6.3,定义向量
进一步地,所述的步骤7具体包括:
设计实际控制器为:
本发明与现有技术相比具有以下技术特点:
1.本发明通过结合反步控制的“递推式”设计方法,在每一步引入一阶滤波器来计算虚拟控制项的导数,得到新的状态变量,从而避免了反步控制方法对虚拟控制反复求导引起的项数膨胀问题;设计的控制器和自适应律,可以进一步保证关节转角的跟踪误差约束在一定范围内。
2.由于柔关节机械臂的精确数学模型不可能得到的,在设计构建稳定的柔性关节机器人控制器的同时,需要考虑外界干扰及补偿参数不确定性带来的影响,研究适合于具有柔性关节的轻型机械臂的位置控制算法。本发明充分利用rbf神经网络对非线性函数的逼近能力,利用逼近误差设计控制器,以及自适应律对神经网络的权值进行调整,消除对机械臂精确动力学模型的需要。最后通过仿真实例对设计控制器进行验证,证明了本发明方法的有效性,机器臂输出力矩有限的条件下保证关节能够有效跟踪给定信号,且所有信号都半全局有界。
附图说明
图1为机械臂柔性关节的结构示意图;
图2是神经网络原理示意图;
图3是神经网络辨识非线性结构示意图;
图4是rbf神经网络自适应控制示意图;
图5是跟踪效果示意图;
图6是跟踪误差示意图;
图7是神经网络逼近非线性函数
图8是神经网络逼近非线性函数
图9是输出控制力矩示τm意图。
具体实施方式
本发明针对具有柔性关节的机械臂,提出一种基于李雅普诺夫稳定性分析的自适应rbf神经网络动态面控制方法,该方法充分利用rbf神经网络的逼近能力补偿建模不精确带来的问题,消除对精确的动力学模型的需要,利用动态面技术解决传统自适应控制采用的backstepping带来的计算膨胀问题,并且考虑机械臂的力矩输出有限以及外界不确定干扰,提出合适的控制器;虚拟控制器将一个复杂的机械臂系统虚拟地拆解成多个子系统,将复杂系统的建模、控制器设计和稳定性分析分解到各个子系统,最后通过“虚功率流”将各个子系统间地动态性连接起来。本发明的具体方法如下:
一种械臂柔性关节的rbf神经网络自适应动态面控制方法,包括以下步骤:
步骤1,对机械臂柔性关节进行建模
本方案采用当前本领域普遍接受的柔性机械臂关节结构:“弹簧-连杆”模型,如图1所示,建立机械臂柔性关节的方程模型为:
上式中,q,θ分别表示连杆、转子的转角位置,
其中,k为关节刚度,k越大,说明关节刚度越大,关节柔性就小,此时q和θ就越接近;k越小,说明关节刚度越小,关节柔性就大,此时q和θ相差越大。
本方案的控制目标为,基于连杆的转角可以跟踪给定的信号,并且跟踪误差小,保证系统所有的信号都半全局有界。
步骤2,根据机械臂柔性关节的物理特性,将步骤1建立的方程模型转换为状态方程,具体表示如下:
上式中,x=[x1,x2,x3,x4]t为状态变量,
针对于该步骤建立的状态方程,结合反步法的递推式,利用动态面技术设计控制器。
步骤3,定义第一个跟踪误差并设计第一个虚拟控制器,将第一个虚拟控制器的信号输入第一个一阶低通滤波器,得到新的状态变量x2d代替第一个虚拟控制器进行下一步计算,减小计算量;具体步骤如下:
步骤3.1,定义第一个跟踪误差:s1=x1-x1d,求导得
步骤3.2,将
上式中,x2d为通过一阶滤波器得到的新的状态变量,τ2为滤波器的滤波时间常数,其中
步骤3.3,定义第一个虚拟控制器的滤波误差e2,其表达式为:
步骤4,定义第二个跟踪误差,由于系统状态方程中含有非线性函数,因此利用第一rbf神经网络对含有不确定参数的非线性函数进行逼近,构建李亚普诺夫函数,通过李亚普诺夫稳定性分析,设计神经网络权值的自适应律,使逼近误差尽可能地小;设计第二个虚拟控制器,第二个虚拟控制器的信号通过第二个一阶低通滤波器,得到新的变量x3d;具体如下:
步骤4.1,定义第二个跟踪误差:s2=x2-x2d,求导得:
步骤4.2,建立第一rbf神经网络
由于
步骤4.3,由于
步骤4.4,设计第二个虚拟控制器
步骤4.5,设计自适应律
步骤4.6,将
其中,τ3为滤波器的滤波时间常数,得到新的状态变量x3d;
步骤4.7,定义第二个虚拟控制器滤波误差e3,其表达式为:
步骤5,定义第三个跟踪误差,设计第三个虚拟控制器,将第三个虚拟控制器信号输入到第三个一阶低通滤波器,得到新的状态变量x4d,具体步骤如下:
步骤5.1,定义第三个跟踪误差:s3=x3-x3d,求导得
步骤5.2,将
其中,τ4为滤波器的滤波时间常数,得到新的状态变量x4d。
步骤5.3,定义第三个虚拟控制器滤波误差e4,其表达式为:
步骤6,定义第四个跟踪误差,根据所述的状态方程,状态方程中出现了非线性函数,利用第二rbf神经网络对其进行补偿逼近,逼近效果如图8,考虑到外界干扰δ(t),设计干扰补偿项。构建李亚普诺夫函数,通过李亚普诺夫稳定性分析,设计神经网络权值的自适应律,使非线性函数的逼近误差尽可能地小;具体步骤如下:
步骤6.1,定义第四个跟踪误差:s4=x4-x4d,求导得
步骤6.2,由于m2和f(x1,x3)未知,因此构造第二rbf神经网络对非线性函数
步骤6.3,定义向量
步骤7,设计实际控制器为:
在实际应用时,将机械臂柔性关节电机的力矩控制器输入为:τ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。由于需逼近的函数
结果分析:
根据步骤2中的状态方程,考虑如下紧集:
选取lyapunov函数
在该方法中把非线性函数g(x1,x2),f(x1,x3)由于含所有未知参数,且实际的机械臂柔性关节模型也更为复杂,所以称为具体形式未知。但是在仿真验证所提出的跟踪控制算法的时候,需要对未知的参数给出值,但是仍是非线性的需要对其分别利用神经网络进行逼近。
本发明方法采用了两个不同的神经网络分别逼近两个非线性函数,自适应律用于调节神经网络逼近非线性函数时的权值θ1,提高逼近性能;控制律分为虚拟控制器和实际控制器,这是backstepping方法特有的,虚拟控制器用于推导实际控制,保证系统的稳定性,可以理解为虚拟控制用来保证每一个子系统的稳定,即
将该方案应用于实际时,设计机械臂的电机控制器时,需要设计虚拟控制器