田新扬, 战强, 许钦桓
(北京航空航天大学 机器人研究所, 北京 100191)
近年来,协作机器人以其高负载自重比、易编程、安全友好等优势,彻底将机器人从围栏中解放出来,参与到复杂的人机交互作业当中,真正实现了人机协作。协作机器人不仅在焊接、喷涂等传统制造业占有一席之地,还在3C电子、医疗保健和仓储物流等领域蕴藏着广泛的应用前景[1-4]。
目前,绝大多数协作机器人采用谐波减速器作为传动部件,使得整机结构轻巧紧凑。然而,谐波减速器的使用必然会引入柔性,导致关节负载端出现不必要的振荡行为,从而影响机械臂的整体工作性能。此外,摩擦的非线性问题进一步增加了关节的控制难度。现有的解决方法是引入关节力矩传感器,通过直接测量负载力矩结合电机位置反馈实现位置/力矩/阻抗控制,但随之产生的问题是谐波减速器和关节力矩传感器2个弹性元件之间的串联效应导致关节刚度的进一步降低。因此,为避免机器人可能产生的振荡、不稳定行为,将这种“寄生柔性”纳入关节的控制器设计中至关重要。
柔性关节是一个时变、强耦合的高阶非线性系统,存在转矩波动、摩擦等未知干扰,其控制策略一直是机器人领域的研究热点。目前,PD+控制[5]、反馈线性化[6-7]、奇异摄动法[8]和积分反步法[9-10]等方法均已被证明可以应用于柔性关节控制,但在有效性和实用性上都存在一定的局限性。PD+控制简单实用、鲁棒性高,被广泛应用于柔性关节的控制中,但控制精度取决于关节刚度的测量精度。反馈线性化方法可通过适当的变换将柔性关节的非线性系统解耦成多个线性系统,从而应用线性控制方法对其控制器进行设计,但该方法需要精确的模型信息,且无法克服外部干扰,鲁棒性差。积分反步法的控制效果依赖于系统建模的精确性,且计算量大,不利于在多自由度机械臂中应用。相比之下,奇异摄动法在工程应用中较易实现,但其控制效果对关节刚度具有较高的要求,对于柔性较大的关节控制效果并不理想。为解决上述问题,德国宇航中心Albu-Schäffer等[11]提出了一种基于无源性理论的控制方法,该方法在控制器中引入力矩反馈项,解决了柔性关节四阶系统稳定性的问题,同时为电机惯量和摩擦力塑形,抑制了关节振动,通过修改控制参数就可以实现柔性关节力矩/位置/阻抗控制。然而,控制率中各参数的实际物理意义仍不明确,特别是期望刚度受限于关节刚度影响,在实际应用中难以直观地选择参数来提高系统的性能。因此如何根据期望的阻抗行为设计控制器,并满足柔性关节稳定性要求,是目前柔性关节控制器设计的瓶颈问题。
无框电机、高减速比谐波减速器结合力矩传感器是目前柔性关节实现主动柔顺的常规方案,并已经在KUKA iiwa、Franka Emika等商业机械臂上得到证明[12-13]。绝对编码器、增量编码器已成为机器人关节中的标准配置,但绝大多数机械臂只采用增量编码器测量电机的位置和速度作为反馈量进行关节控制,而绝对编码器仅用于关节负载端复位,并没有纳入关节控制框架当中。
为此,本文通过引入关节负载端位置和速度反馈,结合力矩传感器设计全状态反馈控制器,实现电机惯量和摩擦力塑形,同时注入期望的阻尼特性抑制振荡行为,且最终与环境交互产生的阻抗行为不依赖关节自身刚度。利用李雅普诺夫稳定性理论对所设计的控制器进行稳定性证明,并通过仿真验证控制器设计的合理性,最后通过自研的柔性关节样机开展验证实验。
谐波减速器和关节力矩传感器的使用为机械臂关节引入了柔性,这类关节被称为柔性关节。柔性关节由于弹性元件的存在使得系统符合双质量-弹簧-阻尼特性,系统内部存在4个状态变量(电机侧位置、负载端位置以及对应的一阶导数),产生的动力学特性将明显受到关节柔性和电机惯性影响。考虑关节柔性、电机惯性及摩擦力影响,建立柔性关节的简化模型,如图1所示。
图1 柔性关节结构简图
由图1可知,柔性关节可被视为2个级联的子系统,其动力学包括电机端动力学和负载端动力学,相应的动力学方程可被表示为:
(1)
K=(Kh-1+Kj-1)-1
(2)
由于减速比的存在,式(1)中电机端的若干参数需要折算,具体的折算关系为:
(3)
对于柔性关节的控制,目前普遍使用Albu-Schäffer等[11]提出的基于无源性理论的全状态反馈控制器,即:
(4)
(5)
式中Bd为重塑后的电机惯量,且B>Bd,故BBd-1>1。比较2个电机端动力学方程,可以看出电机端惯量从B减小到Bd,电机端摩擦力从τf减小到BdB-1τf,加入力矩反馈后关节动力学特性得到一定改善。当控制器的输入参数为期望力矩时,柔性关节可进行力矩控制;当力矩增益系数一定时,通过调整Kθ和Dθ,柔性关节可实现与环境交互的阻抗控制。
由式(4)的第2个等式可知,当力矩环加入PD控制器后,柔性关节系统形成了控制器等效弹簧阻尼和关节中机械弹簧阻尼串联的模型,如图2所示。其中系统的机械弹簧刚度K可由式(2)得出,从而得到关节负载端的等效刚度为:
图2 全状态反馈控制
Ke=(Kθ-1+K-1)-1
(6)
因而对于给定的关节刚度输出Ke,PD控制器中的位置增益参数Kθ则可以被设定为:
Kθ=(Ke-1-K-1)-1
(7)
显然,Ke的取值高度依赖关节的机械刚度值K。一方面,K的取值随负载而变化且受限于传感器精度无法得到精确测量,导致关节与环境的接触刚度不稳定;另一方面,Ke的取值上限由K决定,即使控制器响应周期足够快也有可能出现无法达到预期刚度值的情况。
电机端力矩输入和负载端位置输出不匹配增加了柔性关节控制的不确定性,从而影响最终的控制性能。因此,可以从统一坐标系的角度入手,改善柔性关节的动力学特性。由于期望的控制目标是关节负载端与环境交互的阻抗行为,因此直接在关节负载端引入期望力矩τd,与此同时,对电机惯量和摩擦力塑形,并利用阻尼项抑制关节振动。为实现上述目的,引入一组新的电机端坐标,如图3所示。
图3 柔性关节动力学转换过程
同时为抑制振动,引入阻尼耗散项,此时柔性关节的动力学方程可表示为:
(8)
式中η表示在新的电机端坐标下的电机位置。由式(5)可知当电机惯量由B塑形至Bd时,摩擦力亦被塑形,即τfd=BdBm-1τf。为保证原始动力学与当前动力学等价,应满足:
(9)
对式(9)求二阶导数可得:
(10)
(11)
对式(8)中的第2个等式两边求导有:
(12)
联立式(11)和式(12),并代入原始电机端的动力学方程中,可得:
(13)
联立式(8)的第2个等式和式(9)可得:
(14)
将式(14)代入式(13),消去变量η的相关项,得到只包含状态变量τ、q的τm表达式:
(15)
式中:KηT=BBd-1-1;KηS=BK-1DBd-1。
(16)
对式(16)求导并整理可得q(3):
(17)
(18)
柔性关节与外界环境的交互关系如图4所示。对应的控制框图如图5所示。通过绝对编码器测量关节负载端的当前位置q,根据位置阻抗控制器生成期望力矩τd并作为力矩环的输入,最后通过力矩控制器生成电机转矩τm,控制关节完成期望运动。
图4 满足期望阻抗特性的柔性关节控制
图5 满足期望阻抗特性柔性关节控制框图
与式(4)类似,位置阻抗控制器采用PD+重力补偿形式:
(19)
式中:Kq和Dq分别代表负载端刚度和阻尼系数;G(q)为负载端重力补偿项。与式(4)不同的是,式(19)表示的是负载端与环境的阻抗行为,即实际阻抗刚度与负载端保持一致,即:
Ke=Kq
(20)
无源系统的稳定性可以通过构造Lyapunov函数来进行分析。考虑关节在自由空间的运动,为负载端选择一个合适的储能函数:
(21)
对式(21)进行求导,可得:
(22)
由动力学方程的反对称特性可知:
(23)
与此同时,对式(19)进行变形可得:
(24)
将式(23)和式(24)代入式(22),整理可得负载端储能函数导数的最终表达式为:
(25)
另一方面,电机端的储能函数可表示为:
(26)
对式(26)进行求导,可得:
(27)
由式(8)可知:
(28)
将式(28)代入式(27),整理可得电机端储能函数导数的最终表达式为:
(29)
由此,可以得到整个系统的储能函数及对应的一阶导数为:
(30)
图6 柔性关节无源子系统反馈互联框图
为验证所提出控制方法的可行性,基于Matlab/Simulink搭建柔性关节的仿真模型进行仿真,并与传统的全状态反馈控制对比分析。
图7 柔性关节控制器仿真模型
首先验证控制器的位置跟踪性能。仿真时采用五次多项式规划一段从0~π/2的期望关节轨迹,总时间为10 s,为保证一致性,2个控制器的增益参数设定相同。假设重塑后的电机转子惯量为原来的1/10,则设定控制器仿真参数KT=KηT=9,KS=KηS=0.002,Kθ=Kq=100,Dθ=Dq=10。
图8和图9显示了2个控制器对于期望轨迹的实际跟踪情况和误差。从整体上看,柔性关节在2个控制策略下均可以实现良好的轨迹跟踪,但基于期望阻抗行为控制策略的位置控制精度要优于传统的全状态反馈控制策略。从图9中可以看出,本文提出的控制策略具有更小的跟踪误差。
图8 控制器位置跟踪效果对比
图9 控制器位置跟踪误差对比
为明显对比力矩跟踪差异,下面对控制器的力矩跟踪性能进行验证。仿真时控制器的输入为正弦期望力矩,其幅值为5 N·m,周期为0.1 s,仿真时间共1 s。设定控制器仿真参数KT=KηT=9,KS=KηS=0.002。图10显示了柔性关节的力矩跟踪结果,2个控制器对连续变化的力矩均具有较高的跟踪精度,但基于期望阻抗行为的控制策略相比传统的全状态反馈控制策略均方根误差减少了2~4%。
图11 控制器力矩跟踪误差对比
为观察2个控制器的力矩振动抑制效果,设计如下仿真实验。控制器参数的设定与3.3节保持一致,首先控制关节由0运动到π/2位置,然后在5 s时向负载连杆末端施加一个幅值为1 N·m且持续0.1 s的阶跃力矩信号,并观察2个控制器的力矩输出结果。图12显示了柔性关节在2个控制策略下的力矩波动曲线,可以看到柔性关节在受到外力冲击后,基于期望阻抗行为的控制策略相比于传统的全状态反馈控制策略可以更迅速稳定力矩振动,抑制效果明显。
图12 控制器力矩振动抑制效果对比
图13 柔性关节实验样机
为体现柔性关节跟踪不同信号的过渡过程,实验时给定激励信号为斜坡信号过渡到正弦信号,其具体的表达式为:
(31)
式中:A为正弦信号幅值;f为正弦信号的频率;t为采样时间。实验时斜坡信号不变,通过改变f的大小来设定不同频率的正弦参考信号。控制器的增益参数如表1所示。
表1 控制器增益设定
开始实验时,设定频率分别为0.2 Hz、0.5 Hz和1 Hz控制关节运动,并通过绝对编码器采集关节负载端位置及对应的位置误差,如图14所示。
图14 轨迹跟踪结果
从实验结果可以看出,控制器可以很好地跟踪期望位置信号,基本没有滞后和超调情况出现,且平均误差维持在10-3量级左右,但随着频率的增大,误差略有增加,这符合关节位置带宽特性,属于正常现象。
然后验证控制器的力矩跟踪性能。实验时锁定关节负载端位置,然后给定3组不同角频率的正弦期望力矩,观察力矩信号的跟踪情况。控制器的增益参数如表2所示。
表2 控制器增益设定
设定参考力矩信号的表达式为:
τd=3.7×sin(π/(T×2 000)×t)
(32)
式中:T为参考力矩信号的周期;t为采样时间。实验过程中通过改变T的值设定不同角频率的正弦参考信号,并通过关节力矩传感器采集关节实际输出力矩,如图15所示。
图15 不同频率下的力矩跟踪结果
从整体跟踪情况来看,控制器可以很好地跟踪期望力矩信号,没有滞后情况出现,仅在信号切换时有略微超调现象。
最后验证控制器的阻抗特性。首先分析人机交互时环境刚度的测试方法。阻抗模式下,当关节受到外力时,满足关系:
(33)
与此同时,关节满足质量-阻尼-弹簧的阻抗特性,对应期望的闭环系统动力学方程为:
(34)
式中Me和De分别为惯性项和阻尼项。
联立式(33)和式(34),可以得到关节稳态时的环境刚度,具体表达式为:
(35)
根据上述结论开展阻抗控制实验。为对比基于期望阻抗行为的控制策略和传统全状态反馈策略在人机交互时的环境刚度大小,2个控制器的参数设定应保持一致,具体如表3和表4所示。
表3 基于期望阻抗行为的控制器增益设定
表4 传统全状态反馈控制器增益设定
实验时手动推动连杆离开期望位置,并保持在当前位置稳定一段时间,同时通过关节力矩传感器和绝对值编码器分别采集关节实际输出力矩和关节实际位置,实验数据如图16所示,由于人手推动连杆时用力不均,因此输出的关节力矩存在一定的振荡。
图16 阻抗特性对比
根据实验结果计算可以得出,传统全状态反馈控制器的平均环境接触刚度约为16.6 N·m/rad,而利用所提出的控制器对应的平均环境接触刚度约为19.7 N·m/rad,更接近设定值20 N·m/rad,验证了所提出控制器的正确性。
1)结合关节的绝对位置信息和力矩传感信息构成全状态反馈控制器,利用坐标变换实现了对关节负载端的直接控制,实现了对关节振动的抑制,最终的控制率参数更加明确、控制参数易于选择与调整。
2)应用李雅普诺夫第二方法验证了控制器闭环系统的稳定性,使用Matlab/Simulink建立了柔性关节的动力学模型,并结合所提出的控制率对柔性关节的位置控制、力矩控制和振动抑制进行了仿真,验证了控制器的可行性。
3)以实验室自研的柔性关节样机为对象,分别对关节的位置跟踪性能、力矩跟踪性能和阻抗特性进行评估,结果表明,相比于传统的全状态反馈控制策略,关节的位置跟踪误差和力矩波动现象均得到明显改善,且负载端刚度可以不受关节自身刚度限制,达到理想阻抗行为。
后续将会把柔性关节集成到机械臂当中,基于所提出的控制策略对整臂的力控性能进行研究。