《武汉工程大学学报》  2026年03期 320-328   出版日期:2026-06-30   ISSN:1674-2869   CN:42-1779/TQ
基于角加速度轨迹规划的欠驱动机械系统跟踪控制



欠驱动机械臂是一类典型的非线性系统。在这类系统中,系统的独立输入数量小于系统本身的自由度数量[1-2]。欠驱动机械臂本身不受重力限制,同时由于驱动装置的减少,减轻了本体质量,具有能耗更低的优点[3-4]。欠驱动机械臂的这些特点使其在工业制造、航空航天、深海探测等领域受到广泛关注和应用[5]。同时由于欠驱动机械臂系统的非线性和欠驱动特性,传统的控制策略难以实现其稳定控制。因而,开展欠驱动机械臂稳定控制策略的研究工作,具有重要的理论指导意义。
平面两连杆欠驱动机械臂系统是一类重要的欠驱动机械臂系统,针对该类系统的控制理论研究,能够为其他类型机械臂的研发提供理论支撑,进而推动平面多连杆欠驱动机械臂系统的发展进程。平面两连杆欠驱动机械臂根据被动关节位置的不同分为平面Acrobot系统和平面Pendubot系统。
平面Acrobot是一个典型的具有角度约束的完整系统。文献[6]详细描述了平面Acrobot的角度约束关系,并基于角度约束关系结合Lyapunov函数提出了一种镇定控制策略。Zhang等[7]研究平面Acrobot的稳定性,并使用等效输入干扰方法设计控制器,使系统渐近地跟踪所需的轨迹。Nishiki等[8]提出了一种周期控制律,使得第二条链路往复运动,因此平面Acrobot的能量被稳定在期望的水平。Horibe等[9]提出了一种基于稳定流形的最优控制策略并用来解决平面Acrobot的振荡和稳定性问题。
平面Pendubot是一个具有角加速度约束的二阶非完整系统。该系统具有复杂的非线性特性,难以直接得到驱动环节和被动环节之间的数学关系[10]。Wu等[11]依托傅里叶变换设计出含常数项和谐波项的复合控制器,并利用优化算法对控制器的参数进行优化,实现了对平面Pendubot的稳定控制。Ramírez-Neria等[12]将基于扩张状态观测器的自抗扰控制方法应用于Pendubot的轨迹跟踪任务中。Gulan等[13]提出了一种基于非线性模型预测控制和非线性滚动时域估计的统一控制方案。
针对平面两连杆欠驱动机械臂系统,多数研究者基于主被动关节之间的约束关系设计合适的控制策略,使得系统在有限时间内达到稳定状态。但通过控制策略解决约束关系问题时,控制策略设计的难度较高,控制过程复杂且时间较长。而在轨迹规划过程中考虑主被动关节之间的约束关系,对控制策略的要求更低。同时,采用合适的轨迹进行规划可以使得力矩曲线更平滑,峰值力矩更低且控制时间更短,有助于提高效率,降低能耗和成本。
本文详细分析了平面两连杆欠驱动机械臂的动力学模型和约束特性,提出了一种基于基函数叠加和粒子群算法相结合的角加速度轨迹规划方法,并针对驱动关节设计了滑模控制器对规划轨迹进行跟踪控制。
1 动力学模型与约束特性分析
平面Pendubot和Acrobot是具有一个欠驱动关节的平面两连杆机械臂,其结构如图1所示。对于系统的第i条[(i=1,2)]连杆,[li]为其关节到质心的距离,[qi]、[mi]、[Li]、[τi]和[Ji]分别为其角度、质量、长度、力矩和转动惯量。
平面两连杆欠驱动机械臂的动力学模型[5]可表示如下:
[M(q)q+H(q,q)=τ] (1)
式(1)中:[q]、[q]、[q]分别为角度、角速度和角加速度;[τ=[τ1, τ2]]为驱动关节的控制力矩,当系统为平面Acrobot时,[τ1≡0],当系统为平面Pendubot时,[τ2≡0];[Mq∈?2×2]为正定对称的惯性矩阵;[Hq,q∈?2×1]为科里奥利力和离心力的结合矩阵。
[Mq=m11m12m21m22] (2)
[Hq,q=h1h2] (3)
其中,
[m11=J1+J2+m1l12+m2(L21+L22)+2m2L1l2cosq2m12=J2+m2l22+L1l2cosq2m22=J2+m2l22m21=m12h1=-m2L1l2q22sinq2-2m2L1l2q1q2sinq2h2=m2L1l2q12sinq2](4)
当系统为平面Acrobot时,[a=2,p=1];当系统为平面Pendubot时,[a=1,p=2]。a和p分别代表主动连杆和被动连杆的位置,其值由系统类型确定。展开式(1)得到欠驱动方程为:
[mpaqa+mppqp+hp=0] (5)
其中,[mpa]表示驱动关节和被动关节之间的耦合惯性矩,[mpp]表示驱动关节之间的有效惯性矩,[qa]和[qp]分别表示驱动关节和被动关节的角加速度,[hp]表示被动关节的科里奥利力和离心力项。
通过式(5)得到欠驱动约束关系:
[qp=-0tmpaqa+hpMppdt-qp0qp =0tqpdt+qp0] (6)
其中,[qp]和[qp]分别表示被动关节的角度和角速度,[qp0]和[qp0]为欠驱动关节的初始角度和初始角速度。
2 角加速度轨迹规划
由于驱动关节的控制力矩与角加速度直接相关,对角加速度轨迹进行规划得到的轨迹可直接用于计算控制力矩,使系统关节控制力矩更加平滑,不易出现突变。因此,选择对驱动关节的角加速度进行规划,并利用智能优化算法将轨迹规划问题和式(6)所示的约束关系转化为轨迹参数优化问题。
2.1 正弦基函数
对机械臂驱动关节的角加速度进行轨迹规划时,要求驱动关节在初始时刻和终点时刻的角加速度和角速度为0,所以选取的轨迹基函数需要满足以下条件:
(1)轨迹基函数在初始时刻和终点时刻值为0;
(2)轨迹基函数在完整区间内的定积分为0。
根据上述条件选择了正弦函数作为角加速度的轨迹基函数,其表达式如下:
[Q(C,tf)=Csin2πttf,?0≤t≤tf0,???? t>tf] (7)
式中C为轨迹峰值,[tf]为轨迹终点时间。
经过一次积分和二次积分得到的角速度轨迹和角度轨迹的表达式如下:
[Q(C,tf)=Ctf2π(1-cos2πttf), 0≤t≤tf0, t>tf] (8)
[Q(C,tf)=Ctf2πt-Ct2f4π2sin2πttf, 0≤t≤tfCt2f2π, t>tf] (9)
正弦基函数的轨迹曲线如图2所示,角速度轨迹曲线和角加速度轨迹曲线在初始时刻和终点时刻的值均为0,且角度轨迹在一个完整区间内的变化值为[Ct2f/2π]。
2.2 关节轨迹参数化
使用k阶正弦基函数叠加形成驱动关节的角加速度轨迹函数[qa(t)]如下所示:
[qa(t)=Q11(C11,tf)+i=12Q2i(C2i,tf2)+???+i=1kQki(Cki,tfk)] (10)
其中:[Q11(C11,tf)]的作用域为[(0,tf)];[Qki(Cki,tf2)]的作用域为[(ti,k1,ti,k2)],[ti,k1]和[ti,k2]分别表示第k阶基函数中第i个基函数的作用时间起点和终点,[ti,k2-ti,k1=tf/k],[tf/k]为有理数,[t1,k1=0],k为基函数的阶数,[Cki]为轨迹叠加系数。
通过式(10)的基函数叠加方式,结合式(9)可以得到驱动关节的角度轨迹[qa(t)]:
[qa(t)=Q11(C11,tf)+i=12Q2i(C2i,tf2)+???+i=1kQki(Cki,tfk)] (11)
驱动关节在[tf]时刻的角度值为:
[qa(tf)=qa0+C11t2f2π+i=12C2it2f8π+???+i=1kCkit2f2?k2π] (12)
其中,[qa0]为驱动关节初始角度。
为保证系统驱动关节在[tf]时刻到达目标角度[qad],设定[q(tf)=qad]可以得到:
[C11=(qad-qa0)2πt2f-i=12C2i4-???-i=1kCkik2] (13)
由式(13)可知轨迹参数[C11]由[Cki][(k≥2,i=1,2,…,k)]唯一确定,且保证了无论[Cki]如何选择,系统驱动关节在[tf]时刻总能到达目标角度[qad]。
2.3 轨迹参数优化
基于上述分析,在确定参数k和轨迹终点时间[tf]的情况下,只需要对轨迹参数[Cki]进行合理的设计,即可实现对整个轨迹曲线的灵活调整。同时根据式(6)给出的欠驱动约束关系,可以依据驱动关节的运动轨迹计算出被动关节的运动轨迹。针对轨迹参数[Cki]的优化问题,选取了收敛速度较快的粒子群算法(particle swarm optimization,PSO)[14]。
为保证规划的轨迹能够实现被动关节达到目标角度且角速度为0,PSO算法的适应度函数设置为:
[h=∣qp(tf)-qpd∣+∣qp(tf)∣] (14)
其中:[qp(tf)]和[qp(tf)]分别代表被动关节在[tf]时刻的角度和角速度。轨迹参数优化过程如下:
①设置种群数量N、迭代次数K、惯性因子w、学习因子[c1]和[c2];初始化种群位置x、速度v;根据式(11)计算个体最优值[p1]和群体最优值[p2]。
②根据式(15)和式(16)更新种群位置及速度;更新个体最优值[p1]和群体最优值[p2];
[vj+1=wvj+c1?r1?p1-xj+c2?r2?p2-xj] (15)
[xj+1=xj+vj+1] (16)
其中,j表示当前迭代次数,[j=1,2,???,K],[r1和r2]为随机数。
③若[h≤hmin]([hmin]为很小的正数)时,得到参数优化结果;否则,转到步骤②。
④若[j>K]时,表示优化失败,调整算法参数重新执行步骤①。
通过轨迹参数优化算法得到轨迹参数[Cki],根据式(11)得到驱动关节的轨迹,只要针对驱动关节构建轨迹跟踪控制器,就可实现预期控制目标。
3 控制器设计
本文选择滑模变结构控制器作为系统的跟踪控制器。
选择系统状态变量为:
[x=[q1,q2,q1,q2]T] (17)
根据平面两连杆欠驱动机械臂动力学模型[式(1)]可以得到:
[q=-M-1(q)H(q,q)+M-1(q)τ] (18)
展开式(18)有:
[q1=λ(-m22h1+m12h2+m22τ1-m12τ2)q2=λ(m21h1+m11h2-m21τ1+m11τ2)] (19)
其中,[λ=1m11m22-m12m21]。
根据所选状态变量得到状态方程如下:
[x1=x3x2=x4x3=λ(f1(x)+m22τ1-m12τ2)x4=λ(f2(x)-m21τ1+m11τ2)] (20)
其中,[f1(x)=-m22h1+m12h2],[f2(x)=m21h1+m11h2]。
滑模变结构控制器的滑模面S设置为:
[S=μe+e] (21)
其中,[μ]为控制器参数(正常数),[e]为角度跟踪误差,[e]为角速度跟踪误差,[e=xa-qa(t)],[e=xa-qa(t)]。
对滑模面求导可得:
[S=μe+e=μe+xa-qa(t)] (22)
其中,[e]为角加速度跟踪误差,[e=xa-qa(t)]。
选择滑模趋近律为:
[S=-φS-εsgn(S)] (23)
其中:[φ,ε]为控制器参数,均为正常数。
根据式(18)和式(19)可得驱动关节控制律[τa]为:
[τa=1mpp[λ(-φS-εsgn(S)-μe+qa(t))-fa(x)]] (24)
为证明该控制律可以使系统稳定,选择李雅普诺夫函数V为:
[V=12S2] (25)
对式(25)求导可以得到:
[V=SS=-φS2-εSsgn(S)=-φS2-εS≤0]
(26)
当[V≡0]时,有[S≡0]。且[S→+∞]时,有[V→+∞]。
根据拉塞尔不变性原理[15]可得,系统是渐近稳定的。在式(24)所示的控制律作用下,系统的驱动关节可以稳定跟踪规划的轨迹到达目标角度,同时带动被动关节到达目标角度。
4 仿真实验
针对平面两连杆欠驱动机械臂系统进行了4组仿真实验。第1组仿真实验与第2组仿真实验选取了不同结构参数的平面两连杆欠驱动机械臂进行,第3组仿真实验选择了与第1组不同的初始状态和目标状态,第4组使用与第1组仿真相同的结构参数、初始状态和目标状态,但使用了角速度轨迹规划方法进行对比。通过上述4组仿真实验对本文所提策略的可行性、普适性和优越性进行验证。PSO算法的参数选择为:[w=0.8],[c1=1.5],[c2=1.5],[N=50],[K=100];滑模控制器的参数选择为:[μ=1.2],[φ=0.5],[ε=0.01]。
4.1 仿真1
通过仿真1验证本文所提方法的可行性,平面两连杆欠驱动机械臂的结构参数选择如表1所示。初始速度与轨迹终点速度均为0 rad/s,初始状态和目标状态选取为[0.5, 1.0,1.2, 1.8]rad,轨迹终点时间设置为[tf=4 s]。轨迹规划方法优化得到的轨迹参数如表2所示,将表2所示的轨迹参数代入式(13)和式(11)可以得到规划完成的轨迹。
表1 系统结构参数(仿真1)
Table 1 System structure parameters (simulation 1)
[连杆i [mi] / kg [Li] / m [Lci] / m [Ji] / (kg[?]m2) 1 1.5 1.5 0.75 0.281 2 2 1.0 1.5 0.75 0.281 2 ]
表2 轨迹参数(仿真1)
Table 2 Trajectory parameters (simulation 1)
[系统 [C21] [C22] [C22] [C22] [C22] 平面Acrobot 0.582 0.615 0.510 0.423 0.274 平面Pendubot 0.921 -0.193 0.662 -0.819 0.654 ]
图3和图4所示分别为平面Acrobot和平面Pendubot的第1组仿真结果。仿真结果表明,被动连杆在驱动连杆的作用下从初始角度到达目标角度并保持稳定,且控制力矩无突变。平面Acrobot和平面Pendubot的峰值力矩分别小于±4.71 N?m和±4.72 N?m。
<G:\武汉工程大学\2026\第1期\曾 霸-3.tif>[2
1
0
-1
-2][q1,q2 / rad][0 1 2 3 4 5
t / s][q1
q2][[q1,q2] / (rad/s)][8
4
0
-4][0 1 2 3 4 5
t / s][0 1 2 3 4 5
t / s][2
0
-2
-4
-6][τ2 / (N·m)][(b)][(a)][(c)]
图3 平面Acrobot第1组仿真结果:
(a)角度,(b)角速度,(c)控制力矩
Fig. 3 The first set of simulation results of the planar
Acrobot:(a) angle, (b) angular velocity, (c) control torque
4.2 仿真2
通过仿真2验证本文所提方法对于不同结构参数下的平面欠驱动机械臂系统的可行性,平面欠驱动机械臂的结构参数选择如表3所示。初始速度与轨迹终点速度均为0 rad/s,初始状态和目标状态选取与仿真1相同。轨迹优化算法得到的轨迹参数如表4所示,将表4所示的轨迹参数代入式(13)和式(11)可以得到规划完成的轨迹。
表3 系统结构参数(仿真2)
Table 3 System structure parameters (simulation 2)
[连杆i [mi] / kg [Li] / m [Lci] / m [Ji] / (kg[?]m2) 1 2.0 1.0 0.5 0.166 7 2 1.0 1.0 0.5 0.166 7 ]
表4 轨迹参数(仿真2)
Table 4 Trajectory parameters (simulation 2)
[系统 [C21] [C22] [C22] [C22] [C22] 平面Acrobot -0.071 0.998 1.015 0.273 -1.144 平面Pendubot 0.526 0.600 0.487 0.211 0.122 ]
仿真2结果如图5和图6所示,仿真结果表明在不同结构参数的选择下,该控制策略仍然可以使系统所有连杆的角度稳定到达目标状态,角速度收敛到0,且平面Acrobot和平面Pendubot的峰值力矩分别小于±5.64 N?m和±2.92 N?m。
4.3 仿真3
通过仿真3验证不同初始状态和目标状态下所提控制策略的有效性。平面两连杆欠驱动机械臂的结构参数选择如表1所示。初始角速度与轨迹终点角速度均为0 rad/s,初始状态和目标状态为[[q10,q20,q1d,q2d]=[0, 0, -0.517, 2.419]] rad。
通过轨迹优化算法得到的轨迹参数如表5所示,将表5所示的轨迹参数代入式(13)和式(11)可以得到规划完成的轨迹。图7和图8分别为平面Acrobot和平面Pendubot第3组仿真结果。
表5 轨迹参数(仿真3)
Table 5 Trajectory parameters(simulation 3)
[系统 [C21] [C22] [C22] [C22] [C22] 平面Acrobot 0.234 0.332 0.856 0.737 0.589 平面Pendubot 0.248 0.371 0.822 -0.796 -0.638 ]
<G:\武汉工程大学\2026\第1期\曾 霸-7.tif>[3
2
1
0
-1
-2][q1,q2 / rad][0 1 2 3 4 5
t / s][q1
q2][[q1,q2] / (rad/s)][6
3
0
-3
-6][0 1 2 3 4 5
t / s][0 1 2 3 4 5
t / s][4
2
0
-2
-4][τ2 / (N·m)][(b)][(a)][(c)]
图7 平面Acrobot第3组仿真结果:
(a)角度,(b)角速度,(c)控制力矩
Fig. 7 The third set of simulation results of the planar
Acrobot:(a) angle, (b) angular velocity, (c) control torque
仿真结果表明,在不同的初始状态和目标状态的要求下,所提出的角加速度轨迹规划和跟踪控制方法仍可以实现对系统的稳定控制,且平面Acrobot和平面Pendubot的峰值力矩分别小于
±3.26 N?m和±4.80 N?m。
4.4 仿真4
通过仿真4验证角加速度轨迹规划方法的优越性。设置平面欠驱动机械臂的结构参数,初始状态和目标状态与第1组仿真相同,但选择直接对角速度进行轨迹规划。
使用基函数叠加形成角速度轨迹时,为保证角速度轨迹的起点和终点处为0,要求选择的基函数在起点和终点的值为0。根据该要求,选择式(27)所示的正弦梯形函数。
[V(t)=12(1-cos(πtt1)) , 0≤t<t11, t1≤t≤t212(1+cos(π(t-(tf-t1))t1)), t2<t≤tf] (27)
其中,[t1=(tf-tc)/2, t2=(tf+tc)/2],[tc]为轨迹峰值保持时间。轨迹的叠加方式和轨迹参数优化方法与仿真1一致。
图9和图10分别为平面Acrobot和平面Pendubot系统的第4组仿真结果。在相同的算法优化参数的选择下,对角速度轨迹进行规划时,[tf]最小为9 s,而对角加速度轨迹规划时,[tf]最小为4 s。在第4组仿真中,平面Acrobot和平面Pendubot的峰值力矩分别为8.66 N?m和11.72 N?m。
对比仿真1结果可以得出:在相同的结构参数、初始状态和目标状态下,使用角加速度轨迹规划方法时,控制时间缩短了44%,峰值力矩降低了46%。
5 结 论
本文针对欠驱动机械臂系统提出一种角加速度轨迹规划与跟踪控制策略,详细分析了平面两连杆欠驱动机械臂的动力学模型与主被动关节之间的约束关系,采用正弦函数作为基函数形成驱动关节的角加速度轨迹,并使用智能优化算法对轨迹参数进行优化得到规划的轨迹。最后为驱动关节设计了滑模控制器,成功完成了平面欠驱动机械系统的稳定控制任务。仿真实验结果表明,本文所提控制策略在不同结构参数、不同初始状态与目标状态下均能实现控制目标,且相对于角速度轨迹规划方法具有控制时间更短、峰值力矩更小的优点。针对平面两连杆欠驱动机械臂提出的轨迹规划与跟踪控制方法,对于更多关节的平面欠驱动机械臂的控制研究也有一定的参考价值。