本发明涉及刚性机械臂全状态受限控制领域,具体涉及一种基于确定学习的全状态受限刚性机械臂安全可靠控制方法。
背景技术:
目前机械臂是在机器人技术领域中得到最广泛实际应用的自动化机械装置,除了主要用于工业制造上,商业农业、医疗救援、娱乐服务、军事保全甚至在太空探索等领域都可以发现其应用装置。随着应用场景的增多,任务复杂度的增强,人们对机械臂的工作效率和工作质量要求也越来越高。目前有关机械臂安全控制方面的研究还比较少,机械臂与人交互时,其高刚度容易对周边人员产生伤害。因此,有必要在线规划机械臂的跟踪路径以及运转速度,也就是研究状态受限问题,从而保证人机交互的安全性。然而,采用现有的递推设计方案,大多数的研究结果都是将状态受限控制问题间接地转化为状态跟踪误差受限控制问题,从而不得不引入中间控制量的界限。由于中间控制量的界限难以确定,因此为了不违背受限的状态要求,通常对受限状态的界设定较大,从而大大增加了算法的保守性,使得机械臂的安全工作区域以及运转速度大大受限。
此外,现实中的机械臂系统动态往往不是精确已知的,针对系统中的未知动态,现有的技术通常采用神经网络进行逼近。神经网络逼近系统未知动态过程中,需要不断的在线调整,每做一次任务神经网络需要重新训练一次,在训练的过程中,神经网络的逼近误差比较大,训练过程也需要耗费较长的时间。然而机械臂执行相同的控制任务,神经网络需要逼近的未知动态也是基本一致的,这就使得神经网络的训练过程成为冗余操作。确定学习理论已经证明了rbf神经网络逼近周期或类周期的轨迹时,神经网络权值能够最终收敛并存储为经验知识,因而可利用经验知识实现机械臂系统的高性能控制。
技术实现要素:
本发明的目的是针对上述现有技术的不足,提出了一种基于确定学习的全状态受限刚性机械臂安全可靠控制方法,特别是针对刚性机械臂的状态受限问题,本发明提出了一种新型非线性转换器,将全状态受限的刚性机械臂动力学系统直接转化为全状态不受限的非线性动力学系统,从而避免了应用中间控制量的界限,降低了控制方案设计的保守性。在此基础上,本发明采用命令滤波器并通过设计补偿信号的方法成功解决了传统后推设计可能产生的全状态受限刚性机械臂控制器循环构造问题。最后,针对冗余训练问题,本发明采用基于确定学习的控制方案,将收敛后的神经网络权值存储为经验知识。当机械臂遇到相同的状态受限控制任务时,直接调用经验知识避免了再次训练,实现了全状态受限刚性机械臂安全可靠的低能耗控制。
为了达到上述目的,本发明采用以下技术方案:
本发明一种基于确定学习的全状态受限刚性机械臂安全可靠控制方法,包括以下步骤:
步骤1、建立全状态受限刚性机械臂的动力学模型和期望的周期轨迹:建立以刚性机械臂关节角位置以及关节角速度作为状态变量的刚性机械臂动力学模型和期望的周期轨迹模型;
步骤2、建立状态转换器:将状态受限的模型转换为不受限的模型,同时将参考轨迹模型也进行相应地转换;
其中,
转换后的系统为:
其中,r1(s1)=diag(r1,1(s1,1),…,r1,n(s1,n)),r2(s2)=diag(r2,1(s2,1),…,r2,n(s2,n)),
相应地,转换后的参考轨迹为:
sd1=[sd1,1,…,sd1,n]t,sd2=[sd2,1,…,sd2,n]t,sd1为转换后的期望关节角位置,sd2为转换后的期望关节角速度;
步骤3、采用构造性方法,引入下一子系统的状态,将非仿射模型构造成仿射模型;
步骤4、定义转换后机械臂的角位置和任意参考轨迹之间的跟踪误差;
步骤5、设计补偿跟踪误差信号:应用命令滤波并结合后推设计方法设计补偿跟踪误差信号;
步骤6、设计稳定的自适应神经网络控制器:应用李雅普诺夫稳定性理论并结合逐步后推设计方法构造稳定的自适应神经网络控制器,保证跟踪效果,不违背全状态受限;
步骤7、建立基于经验知识的静态神经网络控制器:根据确定学习理论,步骤6中沿刚性机械臂运动轨迹的神经元满足持续激励条件,其权值收敛到最优,取收敛后的神经网络权值
进一步地,步骤1中,所述全状态受限刚性机械臂的动力学模型为:
其中,x1=[x1,1,x1,2,…,x1,n]t为机械臂关节的角位置,x2=[x2,1,x2,2,…,x2,n]t为机械臂关节的角速度,n为全状态受限刚性机械臂的关节数,k1=[k11,…,k1n]t,
进一步地,步骤1中,所述全状态受限刚性机械臂期望的周期轨迹为:
其中,xd1=[xd1,1,…,xd1,n]t为关节角位置的期望参考轨迹,xd2=[xd2,1,…,xd2,n]t为关节角速度的期望参考轨迹,xd=[xd1,xd2]t,f(xd1,xd2)为给定的连续函数。
进一步地,步骤3中,所述将非仿射模型构造成含仿射项的形式为:
其中,f1(s1,s2)=r1(s1)t2(s2)-s2。
进一步地,步骤4中,所述定义转换后机械臂的位置和任意参考轨迹之间的跟踪误差为:
z1=s1-sd1
其中,s1为转换后的机械臂的关节角位置,sd1为期望的关节角位置,z1为转换后机械臂关节角位置跟踪误差。
进一步地,步骤5中,所述设计补偿跟踪误差信号为:
v1=z1-ξ1
其中,z1为转换后机械臂的位置和任意参考轨迹之间的跟踪误差,ξ1为补偿信号,v1为补偿跟踪误差信号;
设计虚拟控制器α1,
其中,c1为设计常数;
设计命令滤波器为:
其中,ωn>0为命令滤波器的放大系数,
设计补偿信号ξ1,
其中,
设计s2的补偿跟踪误差信号,
v2=s2-s2,c
进一步地,步骤6中,设计基于确定学习的神经网络控制器为:
其中,c2为r-12v2的设计参数,c3为r2v2的设计参数,
进一步地,步骤7中,建立基于经验知识的静态神经网络控制器形式为:
其中,
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明通过设计基于确定学习的全状态受限刚性机械臂神经网络控制器,不仅实现了轨迹跟踪误差最终收敛到零的一个小邻域内,还能限制机械臂运行在一个给定的安全的工作区间内,实现了刚性机械臂的精确安全可靠控制。
2、本发明通过设计状态转换函数的方法,将全状态受限的刚性机械臂动力学系统直接转化为不受限的非线性动力学系统,从而避免了应用中间控制量的界限,降低了控制方案设计的保守性。
3、本发明通过设计补偿跟踪误差信号,减少了刚性机械臂滤波产生的误差,克服了传统后推设计中由于连续求导所引起的“计算爆炸”问题。
4、本发明采用确定学习的理论,实现了对刚性机械臂不确定参数进行学习,并将收敛的神经网络权值进行存储,利用存储的经验知识避免了冗余训练,提高了系统的响应速度,改善了刚性机械臂暂态过程的跟踪性能。
附图说明
图1为本发明全状态受限刚性机械臂系统示意图。
图2为本发明全状态受限刚性机械臂的整体控制框图。
图3为本发明状态转换器图。
图4为本发明机械臂关节1角位置受限图。
图5为本发明机械臂关节2角位置受限图。
图6为本发明机械臂关节1角速度受限图。
图7为本发明机械臂关节2角速度受限图。
图8为本发明补偿跟踪误差信号1仿真图。
图9为本发明补偿跟踪误差信号2仿真图。
图10为本发明神经网络权值w1收敛仿真图。
图11为本发明神经网络权值w2收敛仿真图。
图12(a)、图12(b)分别为本发明神经网络训练阶段与经验再利用阶段的控制器1输出仿真图。
图13(a)、图13(b)分别为本发明神经网络训练阶段与经验再利用阶段的控制器2输出仿真图。
图14为本发明神经网络训练阶段和经验再利用阶段关节1跟踪误差收敛对比仿真图。
图15为本发明神经网络训练阶段和经验再利用阶段关节2跟踪误差收敛对比仿真图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例:
本实施例提供了一种基于确定学习的全状态受限刚性机械臂安全可靠控制方法,全状态受限刚性机械臂系统的示意图如图1所示,整体的控制框图如图2所示,其详细实施过程包括:
步骤1、建立全状态受限刚性机械臂的动力学模型和期望的周期轨迹:
其中,x1=[x1,1,x1,2]t为机械臂关节的角位置,x2=[x2,1,x2,2]t为机械臂关节的角速度,k1=[k11,k12]t,
本实施例中选取的全状态受限刚性机械臂系统的相关参数分别为:
其中,x1,1,x1,2分别为关节1和关节2的角位置,x2,1,x2,2分别为关节1和关节2的角速度,l1=1m,l2=1m分别为连杆1和连杆2的长度,m1=0.8kg,m2=2.3kg分别为连杆1和连杆2的质量,g=9.8m/s2为重力加速度。
全状态受限刚性机械臂期望的周期轨迹为:
其中,xd=[xd1,xd2]t,xd1=[xd1,1,xd1,2]t为关节角位置的期望参考轨迹,xd2=[xd2,1,xd2,2]t为关节角速度的期望参考轨迹,f(xd1,xd2)为给定的连续函数。
本实例中选取的期望周期轨迹为:
xd=[0.8sin(t),0.6cos(t)]t,
步骤2、建立状态转换器:
其中,
转换后的系统为:
其中,r1(s1)=diag(r1,1(s1,1),r1,2(s1,2)),r2(s2)=diag(r2,1(s2,1),r2,2(s2,2)),
相应地,转换后的参考轨迹为:
sd1=[sd1,1,sd1,2]t,sd2=[sd2,1,sd2,2]t,sd1为转换后的期望关节角位置,sd2为转换后的期望关节角速度。
图3为状态转换器图,可以看出该转换器的特点为将受限的x转换为不受限的s,且当x为0时s也为0,当x趋向边界时,s趋向无穷。
步骤3、采用构造性方法,引入下一子系统的状态,将非仿射模型构造成仿射模型:
其中,f1(s1,s2)=r1(s1)t2(s2)-s2。
步骤4、定义转换后机械臂的角位置和参考轨迹之间的跟踪误差:
z1=s1-sd1
步骤5、设计补偿跟踪误差信号:
v1=z1-ξ1
其中,z1为转换后机械臂的位置和任意参考轨迹之间的跟踪误差,ξ1为补偿信号,v1为补偿跟踪误差信号。
设计虚拟控制器α1,
其中,c1为误差z1的设计常数,本实例中选择c1=3。
设计命令滤波器为:
其中,ωn>0为命令滤波器的放大系数,
设计补偿信号ξ1,
其中,
设计s2的补偿跟踪误差信号,
v2=s2-s2,c
步骤6、设计稳定的自适应神经网络控制器:应用李雅普诺夫稳定性理论并结合逐步后推设计方法构造稳定的自适应神经网络控制器,保证跟踪效果,不违背全状态受限:
其中,c2为r-12v2的设计参数,c3为r2v2的设计参数,
本实例中,x1和x2的初始值为x11(0)=x12(0)=0.2,x21(0)=x22(0)=0.5;神经网络的初始值为
图4为机械臂关节1角位置受限图。图5为机械臂关节2角位置受限图。图6为机械臂关节1角速度受限图。图7为机械臂关节2角速度受限图。从图4到图7可以看出,机械臂各个关节的位置和速度限制在指定的约束范围内。图8为补偿跟踪误差信号1仿真图。图9为补偿跟踪误差信号2仿真图。从图8和图9可以看出,补偿跟踪误差信号稳定时收敛到零的小邻域内。图10为神经网络权值w1收敛仿真图。图11为神经网络权值w2收敛仿真图。从图10和图11可以看出,神经网络大多数权值收敛到零,只有部分权值收敛到非零常数。
步骤7、建立基于经验知识的静态神经网络控制器:根据确定学习理论,步骤6中沿刚性机械臂运动轨迹的神经元满足持续激励条件,其权值收敛到最优,取收敛后的神经网络权值
其中,
图12(a)、图12(b)分别为神经网络训练阶段与经验再利用阶段的控制器1输出仿真图。图13(a)、图13(b)为神经网络训练阶段与经验再利用阶段的控制器2输出仿真图。图14为神经网络训练阶段和经验再利用阶段关节1跟踪误差收敛对比仿真图。图15为神经网络训练阶段和经验再利用阶段关节2跟踪误差收敛对比仿真图。从图12(a)、图12(b)、图13(a)、图13(b)、图14、图15中可以看出,采用基于经验知识的静态神经网络控制器改善了刚性机械臂暂态过程的跟踪性能。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。