(中国石油大学(华东)化学工程学院,山东 青岛 266580)
随着工业4.0和中国制造2025战略的提出,生产制造业朝着数字化、智能化快速发展。而机械臂在制造业中有着重要的地位,多种操作任务都需要机械臂通过相互协作才能完成[1-3]。人们往往无法获取机械臂所有精确的动力学参数,难以为其建立准确的数学模型[4-5]。并且机械臂在操作过程中还存在各种干扰等不确定因素,这就使其数学模型更加偏离实际系统。因此,机械臂同步控制的关键就在于其精确系统模型的建立以及对外界干扰的估计和补偿,其中还需考虑各子系统之间的耦合关系[6]。
由于神经网络对非线性系统具有极好的学习能力,因此对于机械臂这种多输入多输出的复杂非线性系统,神经网络控制方法已经有一定的研究和应用。Cansever[7]针对三连杆机械臂设计了一种基于径向基函数(radical basis fanction,RBF)神经网络的模糊滑模控制器,其中RBF径向基函数(radical basis fanction,RBF)神经网络用于计算系统动力学所要求的等效控制ueq,模糊逻辑则用于调整滑模控制器增益。顾义坤等[8]基于自回归神经网络和自适应动态面方法设计了针对柔性关节机械臂的控制器,使得柔性关节的轨迹跟踪精度显著提高。Tang等[9]针对机械臂系统的强非线性和参数不确定性问题提出了一种基于RBF神经网络的自适应PID控制器,其中PID控制器参数和雅克比矩阵采用神经网络进行调节和在线识别[9]。董君等[10]针对机械臂轨迹运动误差的问题,将神经网络与非线性积分滑模相结合设计了控制器,提高了定位精度,并与传统控制方法进行了对比。乃永强等[11]采用极限学习机对单隐层前馈神经网络的隐层节点和权重系数选择进行优化,提高了学习速度,对刚性机械臂系统不确定性进行逼近,保证了闭环系统的稳定性。Kumar等[12]基于RBF神经网络对结构不确定性进行离线训练,设计了一种针对冗余机械臂的自适应轨迹跟踪控制器,并利用自适应控制器对非结构不确定性和网络建模误差的边界进行了估计。
虽然目前神经网络在机械臂控制中已经取得了一定成果,但大多只用于对系统不确定项或外界干扰的估计。而在系统极为复杂难以建模或全部参数都未知的情况下,尚无较好的控制方法。本研究首先对机械臂任务空间动力学模型进行简单分析,运用RBF神经网络对模型重力、哥氏力等分别独立进行建模和在线学习,并基于图论原理定义了各机械臂之间的耦合关系,根据滑模控制方法设计出一种新的无模型自适应神经网络同步控制算法。所设计的同步控制器不仅具有较强的鲁棒性,而且不依赖受控系统的数学模型。
图1 多机械臂系统模型Fig. 1 Multiple robotic manipulators system model
假设由n个m关节串联机械臂在同一任务空间完成操作任务,其系统模型如图1所示。
取被控对象为多机械臂系统,根据Euler- Lagrange定理可知,在关节空间内其动力学方程为:
(1)
由于大多数操作任务都与机械臂末端执行器的空间位置相关,需要直接在任务空间中设计控制算法,因此需将机械臂系统动力学模型由关节空间转换到任务空间中。假定任务空间有界,Jacobian矩阵是非奇异的,可以通过转换函数和Jacobian矩阵将关节空间坐标转换到笛卡尔坐标空间中[5]:
(2)
则机械臂系统任务空间中的动力学模型为:
(3)
RBF神经网络是一种结构简单、训练高效的前馈式神经网络,被广泛应用于模式识别和非线性函数逼近等领域[13-15]。
图2 RBF神经网络结构图Fig. 2 RBF neural network structure
RBF神经网络算法可以表示为:
(4)
考虑其中任意一个机械臂子系统,采用RBF神经网络对其动力学各部分分别进行建模。由于机械臂转动惯量矩阵Mix(q)和重力矩阵Gix(q)仅是q的函数,因此采用静态神经网络建模如下[16]:
其中:mxkj、gxk分别为Mix(q)、Gix(q)中的元素,k、j分别表示矩阵的行和列,l表示神经网络节点;θkjl、βkl∈R分别为mxkj(q)和gxk(q)的神经网络权重;ξkjl(q)、ηkl(q)∈R为相应的径向基函数,其输入均为q;εmkj(q)、εgk(q)∈R为建模误差,假设其有界。
根据神经网络模型,第i个机械臂在任务空间中的动力学方程可以写为:
(5)
其中:
(6)
其中,{Θi}、{Αi}、{Ξi(q)}和{Ζi(z)}为GL矩阵,其元素分别为θkj、αkj、ξkj(q)和ζkj,{Βi}和{Ηi(q)}为GL向量,其元素分别为βk和ηk(q),矩阵EMi(q)、ECi(z)∈Rm×m和EGi(q)∈Rm的元素分别为建模误差εmkj(q)、εckj(z)和εgk(q)。
对机械臂之间的同步误差进行定义,基于滑模控制方法设计了神经网络自适应同步控制器。
机械臂的跟踪误差可以定义为:
e=xd-x。
(7)
根据图论思想,每个机械臂之间的耦合关系可以由拉普拉斯矩阵进行定义:
L=D-A。
(8)
则机械臂系统的同步误差可以写成如下形式:
(9)
机械臂子系统之间的交叉耦合误差定义为:
(10)
定义如下形式:
(11)
滑模函数定义为如下形式:
(12)
则:
(13)
其中,Λ=ΛT>0。
将式(6)、(11)代入机械臂动力学方程(3)中可得:
(14)
设计神经网络同步控制器如下:
(15)
将式(11)、(15)代入式(14)可得:
(16)
设计神经网络自适应律为:
(17)
定理1针对式(5)所示的机械臂系统,若滑模面设计如式(12),神经网络自适应律为式(17),在同步控制律(15)的控制作用下,每个机械臂都可以从任意初始位置追踪期望轨迹,且同步误差最终可以渐进收敛至零。
证明:选取如下Lyapunov函数:
(18)
求导可得:
(19)
(20)
(21)
即当t→∞时,s→0。
当s=0时,可得:
选取Lyapunov函数如下:
(22)
则:
(23)
以两个平面二连杆机械臂为例,设计机械臂任务空间同步控制Matlab仿真。假设每个机械臂初始位置和速度不同,但具有相同的结构和动力学参数,动力学方程如下:
其中:
其中,pl为负载,P为机械臂参数向量,l1、l2为两连杆的长度。
由于给定的期望轨迹一般直接在任务空间中表示,因此需要将关节角位置坐标转换为连杆末端的笛卡尔坐标:
机械臂Jacobian矩阵为:
则
机械臂实际有关参数如下:
在笛卡尔坐标空间中期望轨迹设置为:
表1 控制器参数设置Tab. 1 Controller parameter setting
两个二连杆机械臂在任务空间中的初始状态参数为:
同步控制器参数设置见表1,拉普拉斯矩阵设置为:
神经网络初值设为0,其他参数设置如下:
基于上述参数的仿真结果如图3~9所示。
多机械臂系统任务空间的轨迹和速度跟踪仿真结果如图3~5,可以看出,两机械臂从任务空间中的不同位置出发,在神经网络同步控制器(15)的作用下,大约0.8 s左右时可以同时到达预定的期望轨迹;0.4 s左右时,两机械臂可以达到期望的运动速度。在到达期望轨迹后,两机械臂均沿期望继续保持同步运动,且不再发生较大波动。在第4 s时使两机械臂的载荷增加,在增加的瞬间,机械臂会略微偏离预定轨迹,但在神经网络同步控制器(15)的作用下可以迅速向期望轨迹收敛。机械臂系统在任务空间中的仿真结果如图4,可以看出,在到达预定轨迹前,两机械臂首先实现了同步运动。
图3 机械臂x、y方向轨迹跟踪曲线Fig. 3 Trajectories tracking of robotic manipulators in x and y direction
通过仿真结果图6可以看出,两机械臂关节的输出力矩虽在初始时刻有较大波动,但随后即稳定在|τ|≤40 N·m范围内。在第4 s载荷增加后,力矩则维持在|τ|≤90 N·m的范围内进行波动。机械臂神经网络建模仿真结果如图7,图中分别表示了机械臂动力学方程Mx、Cx和Gx项的神经网络建模结果。 可以看出,机械臂动力学模型可以通过神经网络进行逼近,但未收敛到理想值,存在一定的建模误差,造成这种不收敛现象的原因主要有两种:一是指令信息未能达到持续激励条件,即不足够丰富而造成;二是除真实值外,还存在多个估计值满足轨迹跟踪收敛条件。但此误差可以通过滑模鲁棒项进行抵消。
图4 任务空间中机械臂轨迹跟踪曲线Fig. 4 Trajectories tracking of robotic manipulators in task space
通过仿真结果图8和图9可知,在系统受扰动后两机械臂跟踪误差最终可以向0渐进收敛,两机械臂同步误差也可以在控制器作用下快速地收敛到0。即在同步控制器(15)的控制作用下,虽然在第4 s时载荷发生变化,两机械臂依然可以实现同步运动并满足操作精度要求。
综合分析仿真结果3~9,可以得到以下结论:利用所提出的神经网络自适应同步控制算法,在机械臂系统结构参数未知和存在外界干扰的情况下,即使各子系统均具有较大的初始误差,也可以使机械臂末端位置在控制器的作用下快速收敛至期望轨迹,并实现同步运动。
图5 机械臂x、y方向速度跟踪曲线Fig. 5 Velocity tracking of robotic manipulators in x and y direction
图6 两连杆机械臂关节驱动力矩Fig. 6 The joint driving torque of two connecting rod manipulators
图7 机械臂动力学模型逼近Fig. 7 Manipulator dynamics model approximation
图8 两机械臂x、y方向跟踪误差Fig. 8 Tracking error of the two robotic manipulators in x and y direction
图9 两机械臂x、y方向同步误差Fig. 9 Synchronization error of the two robotic manipulators in x and y direction
针对结构复杂难以建立准确数学模型或系统参数未知、多变的复杂多机械臂系统的任务空间同步控制问题进行了研究,设计出一种新的任务空间神经网络自适应同步控制算法。主要结论如下:
1) 对多机械臂系统进行动力学分析,利用RBF神经网络对系统不同动力学结构分别进行网络建模,对实际模型进行实时逼近,摆脱了数学模型的限制;
2) 考虑了各机械臂之间的耦合关系,并根据图论思想定义了各子系统之间的交叉耦合误差,在此基础上设计的同步控制器可以保证系统在载荷发生改变等不确定情况下依然能够实现同步;
3) 结合滑模控制原理,提出了一种任务空间中的机械臂无模型神经网络自适应同步控制算法,在初始误差较大的情况下也可以保证对期望轨迹实现快速跟踪,提高了控制器的鲁棒性。