欧劲松, 李 蓉, 尹 辉, 王华建
(湖南大学 机械与运载工程学院, 长沙 410082)
随着科技的不断发展,机械臂被广泛应用于医疗、工业、民生、服务等领域.机械臂主要包含刚性机械臂、柔性关节机械臂和柔性臂杆机械臂[1-3].相比于刚性机械臂,柔性机械臂具有能耗低、质量轻、传动平缓、灵活方便等优点[4-5].然而,柔性机械臂采用的谐波减速器与皮带等柔性关节,使柔性关节机械臂的动力学分析比刚性机械臂复杂得多,这对运动控制的稳定性和准确性有极大的影响.柔性关节的引进使得系统的控制输入小于系统的自由度,因此柔性关节机械臂系统是一个非线性、欠驱动、强耦合的系统,容易产生跟踪误差,导致较长的收敛时间、较大的超调量,甚至机械损坏[6].
奇异摄动法首次应用于线性时不变系统的经典稳定性分析是由Klimushev于20世纪60年代通过“快慢分解” 思想得到的,即如果慢、快子系统是稳定的,则摄动参数必存在一个稳定上界,在此范围之内,奇异摄动系统是稳定的.非线性奇异摄动系统的稳定性分析则是基于Lyapunov函数的方法.针对快、慢系统分别建立Lyapunov函数,将两系统Lyapunov函数相加作为原系统的Lyapunov函数,以保证原系统的渐进收敛[7].1987年,Spong[8]提出了机器人柔性关节的简化模型,并基于奇异摄动理论和积分流,将柔性关节机器人分解成快、慢两个子系统.随后诸多学者基于奇异摄动法提出了不同的解决方案:洪昭斌、陈力[9]基于奇异摄动法的鲁棒跟踪控制和柔性振动主动控制,提出了对空间柔性臂进行控制;刘华山等[10]利用奇异摄动理论将柔性关节机器人动力学模型解耦成快、慢两个子系统,引入一类平滑饱和函数和径向基函数神经网络非线性逼近手段,根据反步策略设计了针对慢子系统的有界控制器.在快子系统的有界控制器设计中,通过关节弹性力矩跟踪误差的滤波处理加速了系统的收敛.
基于U-K(Udwadia-Kalaba)方程的约束跟随方法,该方法不需要借助Lagrange乘子和伪广义速度等辅助变量,可以同时处理完整约束和非完整约束.Kalaba和Udwadia等[11-15]利用Gauss最小约束原理将描述系统受约束运动的Lagrange方程重新定义为一个二次规划问题,给出了这个约束二次极小化问题的显式解析解,从而得到了一个描述受Pfaffian约束的离散机械系统约束运动的精确显式方程组;将Lagrange力学扩展到允许约束力对虚位移系统做功的情况,总结了约束力做功的U-K方程,并应用于多体系统的建模和控制,较好地解决了不确定多体动力学系统的控制问题.Chen等[16-17]首次将U-K方程拓展至全驱动的机械系统控制中,使其满足一系列的完整或非完整约束,并首次提出了基于U-K方程的状态反馈约束跟随控制方法.该方法的思路是将一系列的系统控制目标设计成完整约束和非完整约束等一些需要满足的等式方程,因此其控制任务即为驱动系统满足这些约束方程.相较于其他控制方法, 该方法不需要对非线性系统进行线性化,且可在不出现任何辅助变量(如Lagrange乘子)或伪变量(如广义速度)的情况下得到系统状态反馈控制律的显式方程[18].近年来,基于U-K方法的控制研究得到了一定的发展.Yin等[19]进一步将约束控制跟随方法拓展至欠驱动系统,实现了欠驱动二轮式机器人的控制.韩江等[20-21]基于U-K方法实现了平面冗余并联机器人的建模与带有不确定性的轨迹跟踪控制.Zhao等[22]将该方法引入柔性关节机械臂,建立了柔性关节机械臂的动力学模型.Han等[23]基于反步法并结合U-K方法提出了一种柔性关节机械臂的鲁棒控制方法.
在上述研究的基础上,针对当前柔性关节机械臂存在的柔性振荡与约束跟随问题,本文提出了一种新的针对柔性关节机械臂的控制方法.首先基于奇异摄动法将系统降阶为快、慢两个子系统.针对快、慢两个子系统,将运动轨迹设计成相应的完整约束或非完整约束,基于U-K方程的约束跟随方法设计控制器.本文对所提出的方法基于MATLAB进行动力学仿真,仿真结果验证了该方法的可行性,并与传统PID控制方法相比,验证了在处理柔性关节机械臂的柔性振荡与约束跟随时,其具有一定的优越性.
Spong[8]首次提出了柔性关节的简化弹簧阻尼模型:
(1)
(2)
以图1所示的二连杆柔性关节机械臂为例,假设连杆的质量均匀分布,连杆的结构标准对称.结合刚性二连杆机械臂的动力学方程和柔性关节的简化弹簧阻尼模型,即可得到动力学方程:
图1 二连杆柔性关节机械臂
(3)
(4)
(5)
其中
(6)
mi(i=1,2)是连杆1,2的质量,li(i=1,2)是连杆1,2的长度,lci(i=1,2)是连杆1,2长度的一半,Ii(i=1,2)是连杆1,2相对于连杆中心的转动惯量.
奇异摄动法可以将一个高阶系统的求解降阶为两个低阶系统,然后分别求解,这就降低了求解系统的阶次,大大减小了计算量.针对二连杆柔性关节机械臂选取连杆转角q2和关节弹性力矩误差ef作为慢变量和快变量.奇异摄动法的基本假设如下:在快变量的暂态过程中慢变量保持常量,当慢变量变化比较明显时,快变量的暂态过程就已经结束并达到稳态值.使用奇异摄动法可以把二连杆柔性关节机械臂系统分解成慢系统、快系统.当慢系统和快系统都收敛于系统控制要求时,则有整体系统满足控制要求.具体分解过程如下:
令μ=1/k,其中k是K(关节刚性矩阵)的最小值.令K=μ-1Kμ,
e=K(q1-q2)=μ-1Kμ(q1-q2).
(7)
把式(7)代入式(3)、(4),可得
(8)
(9)
令μ=0,可得
(10)
把式(10)代入式(3),可得到慢系统表达式:
(11)
(12)
(13)
由式(12)减去式(13)可得
(14)
(15)
所以可以得到快、慢子系统分别为
(16)
(17)
其中us是慢系统中连杆输入的力矩,uf是快系统中连杆输入的力矩,实际系统输入力矩u=us+uf.
一般动力学方程如下:
(18)
约束表达如下:
(19)
由式(19),对t求导有
(20)
整理式(20)可得
(21)
式(19)、(21)写成矩阵的形式可以表达为
(22)
(23)
b=[b1,b2,…,bm]T,c=[c1,c2,…,cm]T.
定义1 在矩阵A和b确定的情况下,约束(22)至少存在一个解,则称约束(22)是一致的.
假设1 约束(22)是一致的.
不论是完整约束还是非完整约束,都可以用式(23)表达,还包括控制目标(轨迹跟踪、系统镇定和最优控制等)都可以先设计成相应的约束(23), 再通过求导转换成约束(22)的形式[14].在初始条件满足方程(23)的情况下,控制律满足式(22)就可以保证对约束(23)的跟踪.
引理1 约束(22)一致的充要条件是AA+b=b,A+是A的Moore-Penrose广义逆矩阵.
对给定的系统(18),对于给定约束(22),初始条件满足式(23)的条件下,控制律的求解过程如下:设
式(18)可以改写为
(24)
令Φ1=AM-1/2,式(22)可改写为
(25)
定义2 如果给定矩阵Φ1和b,约束(25)存在至少一个解,则称约束(25)一致.
因为约束(25)是约束(22)的改写式,所以只要假设1满足,那么必然约束(25)是一致的.
式(24)需要满足式(25),有
(26)
令Φ2=M-1/2B可得
(27)
(28)
(29)
在解决一些实际问题的时候,大部分情况都是初始状态不满足约束.基于U-K方法提出一种初始状态不满足约束的控制方法.
令u=τs+τn,代入式(18)可得到
(30)
(AM-1B)τs=C1z.
(31)
假设2 式(31)是一致的.
因为假设2中式(31)一致,因此根据引理1会有(AM-1B)(AM-1B)+(C1z)=C1z.
令τs=C1(AM-1B)+z,C1<0,式(30)可改写为
(32)
式(32)对于每一个维度,都可以看作齐次一阶微分方程.其解为
zi=C0eC1t,i≤m.
(33)
代入t=0的初始条件zi(0)=C0可以得到
(34)
其中|C1|越大,收敛速率越快.
综上得到控制律
u=τn+τs.
(35)
定理1 满足假设1、2的情况下,对于系统(18),控制律(35)可以得到以下的控制表现:
1)一致稳定性 对于任意ε>0,当存在‖z(t0)‖<ε,t∈[t0,∞],会有‖z(t)‖<ε.
2)收敛性 当t→∞时,z(t∞)=0.
证明选取Lyapunov函数式:
V=zTz.
(36)
V(z)当且仅当z=0时为0.当z≠0时,V(z)>0,所以V(z)正定,满足Lyapunov函数的要求.
(37)
2zT(AM-B(AM-B)+(C1z))=2C1‖z‖2.
(38)
二连杆柔性关节机械臂是一个欠驱动、非线性的动力学方程.借助奇异摄动法把二连杆柔性关节机械臂动力学方程降阶为两个全驱动模型.慢系统表达了二连杆柔性关节机械臂的运动约束.快系统表达了柔性关节对运动过程中扰动的影响.所以系统的控制目标分为两个部分:① 慢系统控制律满足约束方程,实现包括位置、速度、轨迹控制等宏观上的控制目标.② 快系统控制律使力矩跟踪误差快速收敛到0,减小柔性对系统的影响.
控制器的设计目标是使系统对控制约束进行跟踪.慢系统主要负责二连杆柔性关节机械臂的约束跟踪,快系统负责抑制关节柔性带来的振动与误差.由式(16)、(17)可以得到控制目标的数学表达式:
(39)
ef=0.
(40)
因此,控制目标是被控系统的慢子系统,满足约束方程(39),快子系统满足约束方程(40).
慢系统的控制律设计, 不论是完整约束还是非完整约束, 或者是其他的轨迹约束、优化控制等, 都可以写成式(23)的形式.式(23)对时间t求导后, 得到约束(22), 然后根据式(29)、(31)得到控制律.具体过程如下:
慢系统动力学方程为
(41)
约束可以表达为式(22)、(23)形式,如下:
(42)
控制律可以设计为
(43)
快系统的控制律设计,快系统的目标是让式(17)的变量ef快速收敛到零.快系统的动力学表达为
(44)
约束可以表达为
(45)
采用控制律
(46)
整体控制流程如图2所示.其中控制系统采集的输入变量,慢系统需要参数为连杆1和连杆2的角度和角速度,采用角度传感器,常见有光电、Hall、机械几类.角速度可以采用角度的微分或者现有的角速度传感器进行测量;快系统需要参数为柔性关节传递的力矩大小与扭矩的变化速度,可以采用扭矩传感器,常见有接触式和非接触式的,其原理都是测量传感器的变形量来计算扭矩,扭矩的变化速度可以对扭矩进行微分得到,扭矩传感器的采样率要在较高的频率下.其余一些静态的变量都可以采用常用的方法测量,例如连杆1和连杆2的质量、转动惯量、长度,柔性关节的转动惯量,柔性关节的弹性系数.
图2 控制律设计流程
本节通过MATLAB数值模拟的方法,验证了基于奇异摄动的柔性关节机械臂约束跟随控制的可行性.当然,柔性关节机械臂建模中所包含的动力学参数,如关节弹性系数、关节转动惯量、连杆长度、连杆质量、连杆质心位置和连杆相对质心的转动惯量等都是已知的.具体数据如表1所示.
表1 二连杆柔性机械臂参数
(47)
一般会要求机械臂做转角的角度控制与机械臂末端执行器的轨迹控制.本小节以三个示例进行验证.第一个示例是对机械臂角度的准确控制.慢系统约束如下:
(48)
qd为期望角度.
代入式(28)得
rank(Φ1Φ2)=rank(AM-1B)=rank(A(D+J)-1B)=2>1.
(49)
设计k=5,C1=-20,代入式(43)可得慢系统控制律:
(50)
快系统约束为
(51)
由式(28)可得
rank(Φ1Φ2)=rank(AM-1B)=rank(A(J)-1KμB)=2>1.
(52)
设计k=10,C1=-100,代入式(46)可得快系统控制律:
(53)
最后根据奇异摄动理论结合式(50)、(53)得到控制律:
u=us+uf,
(54)
图3 转杆1的角度轨迹q(2) 图4 转杆2的角度轨迹q(4)
控制律设计为
考虑力的输出大小,两种控制方式的控制力都限定在1 000 N·m以内.
对机械臂的连杆角速度进行控制.慢系统约束为
(55)
(56)
由图5、图6可证明该方法对柔性关节所产生的振荡有很好的抑制作用,并且在PID有很大的跟踪误差的情况下,该方法的跟踪误差仅为1×10-4rad·s-1.
图5 转杆1的角速度 图6 转杆2的角速度
在使用机械臂的场景中会经常对机械臂的末端执行器的轨迹提出要求.本例中使用椭圆轨迹进行仿真验证.椭圆轨迹可以写成
(57)
慢系统约束可以写成
(58)
按照图2进行控制率设计,设计k=5,C1=-20,可以得到控制律:
(59)
uf和式(53)中的控制律相同.
相比于传统PID控制方法,图7验证了该方法对二连杆柔性机械臂的末端执行器控制具有更小的轨迹跟踪误差.图8是具体的末端位置误差随着时间变化的曲线.从图中可以明显看出,本文提出的控制方法在x,y位置的跟踪精度上都优于传统PID控制方法.
图7 末端轨迹 图8 末端轨迹位置误差
由图9、图10可知,输出力矩在开始阶段都达到了输出力矩的最大值.本文提出的方法相对传统PID控制方法输出力矩稳定时间更短,且稳定之后输出力矩大小基本一致,只存在小幅度的波动.
图9 柔性关节1输出力矩u1 图10 柔性关节2输出力矩u2
图11阐述了椭圆轨迹在加载控制律2 s后的位置误差和慢系统控制律设计参数k,C1的关系.可见,随着参数C1的不断加大,收敛速度越来越快.当C1约束越大,收敛越快,这和式(34)中的结果保持一致.
图11 参数与误差关系
二连杆柔性关节机械臂系统是欠驱动系统和柔性系统,传统PID控制方法会产生振荡和较大的跟踪误差.为解决这类柔性控制的问题,本文提出了结合奇异摄动法和U-K方法的控制策略,将系统拆分为慢系统、快系统两个全驱动系统.慢系统解决了系统的约束跟随问题,快系统解决了系统的振荡与误差过大的问题,本文提出的控制方法不需要对非线性系统进行线性化,可以直接得到控制律的显式方程.通过Lyapunov稳定性证明和MATLAB数值仿真验证的方式,验证了该方法的稳定性与对柔性系统控制的有效性.同时对比了传统PID控制方法,仿真结果显示所提出方法具有更好的控制精度.未来我们将开展所提出方法的控制参数优化研究和建模时参数不确定性的鲁棒控制方法研究.