《武汉工程大学学报》  2025年01期 93-98   出版日期:2025-02-28   ISSN:1674-2869   CN:42-1779/TQ
平面两自由度欠驱动机器人的统一控制策略



欠驱动系统[1-2]是一类控制输入数目少于运动自由度的系统,广泛存在于生活中,如欠驱动机器人[3]、仿生机器人[4]、四旋翼无人机[5]等。欠驱动系统具有制造成本低、耗费资源少、质量轻、结构紧凑、运动灵活等显著优点,使其近年来逐渐得到学者的关注与研究。在深海和太空等失重、微重的复杂环境下,关节失效的机器人通常无法进行及时修复,导致既定工作的推迟或延误,严重时可能会造成运行安全事故。在这种特殊环境下,利用欠驱动系统的控制策略,可以控制欠驱动机械系统正常运行,确保工程作业的正常完成。因此,欠驱动机械系统的控制策略研究,对正在飞速发展的太空探索工程和深海探测工程具有重要的实用价值。
平面欠驱动机器人被动关节的位置和数目具有多种情形,本研究仅讨论具有单一被动关节的平面欠驱动机器人。在不考虑重力影响下,探索单关节失效的平面两自由度机器人的控制策略。平面两自由度欠驱动机器人包括平面Acrobot和平面Pendubot两种结构,这是平面欠驱动机器人的两种最简形式[6]。平面Acrobot具有角度约束关系[7],基于平面Acrobot的控制特性,文献[8]利用粒子群优化算法获得目标角度并设计控制器,在实现驱动连杆控制目标的同时间接带动欠驱动连杆到达目标状态。文献[9]利用角度约束关系提出一种基于模糊控制的位置控制方法。为了实现平面Acrobot的快速控制,文献[10]用一种由Lyapunov函数构造的带参数控制器,通过连杆之间的状态约束,快速使各连杆在同一时刻实现角度控制。平面Pendubot具有幂零近似特性[11]。文献[12]设计一种基于幂零近似的开环迭代方法使机器人指数收敛到目标状态。文献[13]在此基础上,提出了具有普遍适用性的参数化多项式输入实现控制目标。文献[14]根据傅里叶变换和智能优化方法设计由常数项和谐波项组成的控制器,实现平面Pendubot的位置控制目标。
当前,针对平面两自由度欠驱动机器人的研究大多是基于平面Acrobot或平面Pendubot其中一种,由于这两个系统具有不同的控制特性,因此两个系统的控制方法无法共用。本文充分考虑关节间的耦合关系,提出一种平面两自由度欠驱动机器人的统一控制策略,使驱动连杆跟踪轨迹快速到达目标位置,欠驱动连杆也同时被间接控制到目标状态。该策略为后续实现平面两自由度欠驱动机器人更加精确的位姿控制提供了理论依据,推动整个平面欠驱动机械系统通用控制理论的发展。
1 系统建模与欠驱动特性分析
1.1 动力学模型
在[o-xy]平面内建立如图1所示的平面两自由度欠驱动机器人的物理结构模型。
<G:\武汉工程大学\2024\第6期\龚翔宇-1.tif>
图1 平面两自由度欠驱动机器人模型
Fig. 1 Model of the planar two-degree-of-freedom
underactuated robot
模型图中机器人的第i(i=1,2)根连杆的参数如下:[mi]为连杆质量,[Li]为连杆长度,[qi]为角度,[Ji]为转动惯量,[li]为关节中心到质心的距离,[τi]为控制力矩。
建立动力学方程如下:
[M(q)q+M(q, q)=τ] (1)
[M(q)=M11qM12qM21qM22q=m1+m2-m2l2sinq2-m2l2sinq2m2l22+J2] (2)
[H(q, q)=H1(q, q)H2(q, q)=-m2l2q22cosq20] (3)
[τ=τ1τ2] (4)
其中,[qi]和[qi]分别为系统第i(i=1,2)根连杆的角速度与角加速度,[τ∈R2×1]是系统的控制力矩矩阵,[M(q)∈R2×2]为具有正定性和对称性的惯性矩阵,[H(q, q)∈R2×1]是具有科式力和离心力的结合矩阵,[Rk×j]表示具有[k]行[j]列的矩阵,具体表达式见文献[12]。
1.2 系统分类
当系统中出现1个关节损坏或者缺失时,根据其所在位置,系统可以分为两种情形。
情形1:当第一关节为被动关节时,系统成为平面Acrobot,[τ=[0 τ2]T];
情形2:当第二关节为被动关节时,系统成为平面Pendubot,[τ=[τ1 0]T]。
1.3 欠驱动特性分析
平面欠驱动机器人在运动时,驱动连杆与欠驱动连杆存在相互作用的耦合关系,对这种关系进行分析和利用,设计一种平面两自由度欠驱动机器人的统一控制策略。
由式(1)可知,平面系统的欠驱动约束方程为:
[Muuqu+Muaqa+Hu=0] (5)
对于平面Acrobot,[Muu]和[Mua]分别为式(2)中的[M11]与[M12],[Hu]为式(3)中的[H1]。对于平面Pendubot,[Muu]和[Mua]分别为式(2)中的[M22]与[M21],[Hu]为式(3)中的[H2]。[qa]和[qu]分别代表驱动连杆和欠驱动连杆在运动过程中的角加速度。
根据式(5),可得欠驱动连杆的状态如式(6)所示:
[qu(ts)=-0TMuaqa+HuMuudt+qu0qu(ts)=0Tqudt+qu0] (6)
其中,[qu(ts)]和[qu(ts)]分别为运动过程中[ts]时刻欠驱动连杆的角速度与角度,[T]为设定的最终目标时间,[qu0]和[qu0]分别为欠驱动连杆开始运动的初始角度和初始角速度。根据两个连杆间的耦合关系[式(6)],结合轨迹规划和跟踪控制理论,控制驱动连杆跟踪轨迹到达目标状态,同一时间也间接将欠驱动连杆稳定到目标状态。
2 轨迹规划与参数优化
设计两个控制阶段组成的轨迹,第一阶段运动轨迹实现快速控制,第二阶段运动轨迹提供更多参数调节欠驱动连杆状态,叠加两个阶段运动轨迹并利用差分进化算法调整参数,为驱动连杆设计轨迹跟踪控制器可以同时实现两根连杆的控制目标。所规划轨迹保证了驱动连杆跟踪轨迹快速到达目标状态,同时还实现对欠驱动连杆状态的调整,保持运动轨迹的初末状态与系统的初末状态一致。
2.1 轨迹规划
根据驱动连杆的初始角度[qa0]和目标角度[qad]设计轨迹:
[Ta1(t)=qa0+qr(ttf-12πsinα), 0≤t≤tfqad, t>tf] (7)
其中:[qr]为目标角度与初始角度之差;[α=2πt/tf],[t]为驱动连杆运动过程中的时间,[tf]为驱动连杆到达目标角度的时刻。
对轨迹[Ta1]求一阶和二阶导数,如式(8)和式(9)所示,可知轨迹[Ta1]是连续的,驱动关节的力矩是连续变化的,未发生突变状况。
[Ta1(t)=qrtf(1-cosα), 0≤t≤tf0, t>tf] (8)
[Ta1(t)=qrt2f(2π sinα), 0≤t≤tf0, t>tf] (9)
当[t=tf] 时,驱动连杆到达目标状态,但欠驱动连杆处于自由转动状态。为了调节欠驱动连杆的状态,第二阶段增加含参数的轨迹[Ta2],如式(10)所示,通过调整参数实现欠驱动连杆的控制目标。
[Ta2(t)=A11sech(α1)+A12sech(α2)] (10)
其中,
[α1=λ(2t-tm1)tm1],[α2=λ(2t-tf-tm1)tf-tm1] (11)
记[λ∈[ρ,+∞)],[ρ]是一个合适的常数。[tm1∈(0, tf)]是两个双曲正割函数连接的时间。A11和A12是两个双曲正割函数的幅值。欠驱动连杆的状态可通过A11、A12、tm1和tf进行调整。
轨迹[Ta2]的一阶和二阶导数如式(12)和式(13)所示,可知轨迹[Ta2]是连续的,驱动关节的力矩是连续变化的,未发生突变状况。
[Ta2(t)=-2λA11sech(α1)tanh(α1)(tf-tm1)tm1-2λA11sech(α2)tanh(α2)]
(12)
[Ta2(t)=4λ2A11sech(α1)(tanh(α1))2(tm1)2+4λ2A12sech(α2)(tanh(α1))2(tf-tm1)2-4λ2A12(sech(α2))3(tf-tm1)2-4λ2A11(sech(α1))3(tm1)2] (13)
为实现系统的控制目标,将[Ta1]和[Ta2]叠加得到一条完整且连续的运动轨迹[Ta],具体表达形式如下:
[Ta=Ta1+Ta2] (14)
这条连续轨迹具有上述轨迹[Ta1]和轨迹[Ta2]的控制功能,即当驱动机械连杆沿该轨迹运动时,驱动机械连杆将从初始位置运动到预期位置。与此同时,基于驱动连杆和欠驱动连杆运动状态之间的联系,欠驱动连杆被驱动连杆从初始位置带动到预期位置,从而同步实现驱动连杆和欠驱动连杆的状态控制目标。
2.2 参数优化
设计好轨迹后,采用差分进化算法求解获得合适的驱动连杆轨迹参数,以保证跟踪优化后的轨迹能实现控制目标。
基于耦合关系设计评价函数如下:
[h=(qu(tf))-qud+qu(tf)] (15)
其中,[qu(tf)]和[qu(tf)]分别为[tf]时刻欠驱动连杆的角度和角速度,[qud]为欠驱动关节到目标位置的角度,差分进化算法步骤如下:
①随机产生一组初始参数集,[A11]、[A12]、[tm1]和[tf]表示初始数值。
②根据式(7)~式(15)以及[A11]、[A12]、[tm1]和[tf],分别计算[qu(tf)]和[qu(tf)],并代入式(12),得到评价函数h。
③当h≤ε1(ε1为很小的正数)时,可得[A11=A11],[A12=A12],[tm1=tm1],[tf=tf],否则,执行下一个步骤。
④经变异、交叉和选择等步骤重新获得[A11]、[A12]、[tm1]和[tf],然后转到步骤②。
根据所得到的最优轨迹参数值[A11]、[A12]、[tm1]和[tf],获得实现控制目标的优化轨迹[Ta]。
3 轨迹跟踪控制
根据控制目标设计驱动连杆的控制器,令[x=x1 x2 x3 x4T=q1 q2 q1 q2T],则系统的状态空间方程可表示为:
[x=fa(x)+gaa(x)τa] (16)
其中,
[fa(x)=-M-1(q)H(q, q)] (17)
[gaa(x)=-M-1(q)] (18)
构造滑模面[Sa]如下:
[Sa=μaea(t)+ea(t)] (19)
[ea(t)=Tad-Ta(t)ea(t)=Tad-Ta(t)] (20)
其中,[μa]为正常数,[ea(t)]和[ea(t)]分别为误差函数与其导数,[Ta(t)]和[Ta(t)]分别表示[t]时刻驱动连杆的轨迹与其导数,[Tad]和[Tad]分别表示驱动连杆目标轨迹与其导数,[τa]为驱动连杆的控制力矩。
结合式(19)和式(20),对[Sa]求导,可得:
[Sa=μaea+ea=μaea+fa(x)+gaa(x)τa-Ta(t)] (21)
其中[fa]和[gaa]根据式(17)和式(18)得到,[Ta(t)]为[t]时刻驱动连杆轨迹的二阶导数。
令轨迹跟踪趋近函数[Sa]为:
[Sa=-ζaSa-ξasgn(Sa)] (22)
其中,[ζa]和[ξa]是为轨迹跟踪设计而选取的正常数。
设计驱动连杆控制力矩为:
[τa=-ζaSa-ξasgn(Sa)-μaea-fa(x)+Tagaa(x)] (23)
由于系统的惯性矩阵M具有正定性和对称性,所以可以得到[gaa]恒大于0。采用式(23)所示的控制力矩,解决了系统控制过程中的奇异问题。
构造李雅普诺夫函数:
[V=12S2a] (24)
对式(24)求导可得:
[V=SaSa=-φaS2a-εaSa≤0] (25)
其中,[φa]为正常数,[εa]为一个很小的正数,根据式(25),当[V=0]时,[Sa=0]。
当[Sa=0]时,可得:
[1ea(t)ea(t)=-μa] (26)
对式(26)积分,可得:
[0t1ea(t)ea(t)=0t-μadt] (27)
式(27)等价于:
[lnea(t)t0=-μ1t?lnea(t)e1(0)=-μat] (28)
误差收敛结构可以表示为:
[ea(t)=ea(0)exp(-μat)] (29)
综上可知,[μa]决定系统向目标值收敛的快慢。根据LaSalle不变原理[16],[ea]和[ea]趋于0,表明控制器可以控制驱动连杆按照预期轨迹运动,最终到目标状态处。在t=tf时,驱动连杆跟踪优化后的轨迹被控制到目标角度时,欠驱动连杆也会到达预设的目标状态。
4 仿真实验
使用MATLAB/Simulink工具验证所提策略的有效性,选取平面两自由度欠驱动机器人统一模型参数为:[mi=1.0 kg],[Li=1.0 m],[li=0.5 m],[Ji=0.083 kg·m2]。选择轨迹跟踪控制器以及优化算法的参数分别为:[μa=2.0],[ζa=1.8],[ξa=1.2],N=40,pm=0.3,pc=0.7,Gmax=200,[ε=0.000 5],其中,N为种群数量,pm为变异算子,pc为交叉算子,Gmax为最大进化代数,[ε]为结束阈值。
选取[q1]和[q2]的初始角度为0,目标角度分别为[-2.0]和[14.1 rad],与文献[9]的Acrobot控制方法进行对比。
利用差分进化算法优化轨迹参数为:
[A11=0.379 m, A12=-0.936 mtm1=2.245 s, tf=7.669 s] (30)
平面Acrobot的仿真结果如图2所示,系统第二根连杆作为驱动杆带动第一根欠驱动连杆运动,连杆的[q1]和[q2]在[tf=7.669 s]时均被控制到目标角度,角速度[q1]和[q2]低于[±5 rad/s],所施加的控制力矩[τ2]维持在[±4 N·m]。相比于文献[8]的控制策略,本文所提控制策略可以使平面Acrobot各连杆的角速度都维持在一个更小的范围之内,并且整个控制过程仅需一个阶段就能实现平面Acrobot的位置控制,有效地缩短了控制时间。
同样,与文献[15]中平面Pendubot控制策略进行对比,选取[q1]和[q2]的初始角度为0,目标角度分别为[0.5]和[-1.0 rad]。
利用差分进化算法优化轨迹参数为:
[A11=-0.194 m, A12=-0.066 mtm1=5.808 s, tf=11.862 s] (31)
平面Pendubot的仿真结果如图3所示,系统第一根连杆作为驱动杆带动第二根欠驱动连杆运动,当[tf=11.862 s]时,连杆[q1]和[q2]均被控制到目标角度,连杆角速度[q1]和[q2]低于±1 rad/s,并且对驱动关节施加的控制力矩[τ1]维持在[±1.5 N·m]。相比文献[14]的控制策略,本文所提控制策略实现平面Pendubot的稳定控制,各连杆的角速度更小,对驱动关节施加的控制力矩也更小,且力矩曲线是光滑连续的。因此,本文所提方法对平面Pendubot的稳定控制在状态数值和光滑连续性上具有一定的优越性。
基于上述仿真结果分析,相比于现有的控制策略,本文所设计的控制方法能够在更短的控制时间内,施加较小的控制力矩使连杆连续光滑的到达目标状态并保持系统稳定,在控制性能上具有一定的优势。同时,本设计策略充分考虑驱动连杆和欠驱动连杆之间的耦合约束关系并结合轨迹规划与跟踪控制理论,为探究平面多自由度欠驱动机器人的稳定控制提供了新思路。
5 结 论
本文针对平面两自由度欠驱动机器人的两种结构模型提出一种统一控制策略,对以往只研究其中一种结构模型的控制策略进行了综合优化及实验仿真。结果表明所提统一控制策略使得角速度平均值低于[±3 rad/s],所施加的控制力矩平均值低于[±2.75 N·m],且力矩曲线是光滑连续的,稳定时间平均值缩短[3 s],证明了该策略是有效的,相较于以往控制策略,在稳定控制性能上得到了明显改善,该策略对后续实现平面两自由度欠驱动机器人更高精度的稳定控制具有重要的指导意义。