随着近几十年工业技术的迅速发展,工业生产逐渐呈现出一种高效率、精细化的趋势.冗余度机器人是指自由度≥7的机器人,由于其负载大、可调精度高等优点[1],已逐步替代了传统手工生产,极大提高了生产效率,广泛应用于航天[2]、物流[3]和机械制造[4]等领域.在此背景下,为了更好地挖掘冗余度机器人的性能,越来越多的研究者投身于这一领域的研究[5].冗余度机器人的控制方案根据其在执行操作时与环境交互的特点大体可分为两类,分别为与环境空间无接触和与环境空间相接触的控制方案.当冗余度机器人在执行与环境空间无接触的任务(例如搬运、示教、轨迹跟踪)时,机器人能够在工作空间中自由运动.解决这一类问题的核心是控制算法的设计,机器人在特定的控制信号下沿预定的轨迹完成任务.通常该控制信号可以是关节角度、关节角速度和关节角加速度等[6].这种控制方案由于只考虑机器人位置姿态信息,因此可称之为基于位置的控制方案.当冗余度机器人在执行装配、抛光、去毛刺等更复杂的任务时,其末端执行器必然会与环境空间接触,并产生相互的作用力.由于上述基于位置的机器人控制方案不适用于此类任务,因此有研究者提出在基于位置控制的基础上,对机器人的接触力进行分析控制的方案.此类方案既确保了机器人能够完成位置控制,又对外部环境给予机器人末端执行器的接触力有一定的适应能力.文献[7]提出一种基于自适应机制的命令滤波反步控制策略,引入串联弹性驱动器作为柔性单元,通过调整关节角度的柔性实现力的控制.针对飞行机器人系统移动作业的问题,文献[8]使用一种位置/力混合控制方案,该方法可以使飞行机器人在作业中能够持续可靠地接触外部环境,同时保持一定大小的接触力.文献[9]通过应用“任务规范投影算子”的概念将机器人适从控制的动态方程解耦,建立了机器人位置/力混合控制的动态方程,并且提出基于计算力矩方法控制器和动态步长变结构控制器.理论分析表明两种控制器均能够对机器人进行有效控制.上述研究虽然在冗余度机器人位置/力控制方面,尤其是对接触力的分析取得了一定进展,但是未知环境对机器人的控制所带来的影响仍然是一个不可避免的问题[10].文献[11]提出一种在未知环境下机器人抓取刚体的运动/力控制方法,对环境中不确定的参数具有较强的鲁棒性.文献[12]从优化的角度提出一种基于位置/力混合控制的方法,将接触力建模为机器人末端执行器与环境相互运动的函数.通过结合神经网络模型,将机器人的轨迹跟踪转化成一种二次规划问题,用收敛性和最优性指标考量机器人的任务执行的完成度,给机器人位置/力控制方法提供了一种思路.大量的冗余度机器人位置和力的混合控制研究在理论上将冗余度机器人的任务划分为力控制空间和位置控制空间,即两个相互正交互补的子空间.冗余度机器人的末端执行器沿着任务目标的接触面移动,同时沿接触面法向量的反方向施加一个作用力.这样可以对不同子空间运用不同的分析方法,从而简化了末端执行器与环境接触这一问题的复杂性[13],进而提高冗余度机器人在执行与环境有接触时任务的有效性和鲁棒性.本研究受文献[12]的启发,提出一种结合神经动力学的机器人位置/力控制算法[14-15],并通过工业机器人常用的伪逆法对所提出算法进行求解[16].为了让所提算法易于在计算机上实现,本研究通过欧拉差分的方法对算法进行了离散化处理.此外,本方案还实现了机器人末端执行器的姿态保持,使机器人能够较好地跟踪预定的轨迹.相关的数值仿真与实验结果均证明了所提出的机器人位置/力混合控制方案的有效性.1 问题描述这里给出冗余度机器人位置/力控制问题的简单推导过程.为了得到问题的解,引入一种神经动力学模型.此外,通过设计末端执行器姿态保持功能,末端执行器可以较好完成轨迹跟踪的任务.1.1 位置/力控制问题规划冗余度机器人的前向运动学通常用可表示为ψ(θ(t))=p(t),(1)式中:θ(t)∈Rn为机器人在t时刻的关节角度向量;p(t)∈Rm(本研究中m=3)为末端执行器的位置向量;ψ(·):Rn→Rm为机器人从关节空间到笛卡尔空间的非线性映射函数.对式(1)两边关于t求导可以得到J(θ(t))θ˙(t)=p˙(t),(2)式中J(θ(t))=∂ψ(θ(t))/∂θ(t)∈Rm×n为机器人的雅克比矩阵;θ˙(t)和p˙(t)分别为机器人关节角速度向量和末端执行器的速度向量.为便于问题的阐述,在本研究的以下部分省略了参数t.在冗余度机器人位置和力混合控制的过程中,冗余度机器人末端执行器与平面相接触,该平面会产生一个沿末端执行器运动方向相反的摩擦力.在实际任务中,由于冗余度机器人在执行装配、抛光、去毛刺等任务时的接触平面摩擦力系数相对较小,因此末端执行器与接触平面的接触力远大于平面所产生的摩擦力.本研究假定该摩擦力为零,在此条件下可以将接触力F和末端执行器沿接触面的位置误差e分别表示为F=kfΩXt;e=(Ι-Ω)Xt, (3)式中:Xt为末端执行器的接触面形变;kf为接触面的刚性系数;Ω=diag(0,0,1),它将末端执行器的接触力沿着坐标系进行了分解,1表示末端执行器的接触面形变对接触力有影响,0表示没有影响;I-Ω=diag(1,1,0),1表示末端执行器的接触面形变会产生位置误差,0代表不会.值得注意的是:上述讨论建立在机器人的工具坐标系,即以末端执行器为原点建立的坐标系,该坐标系通常用来处理末端执行器与物体接触点的问题.不同于工具坐标系,基坐标系中能够轻松得到机器人的各个关节数据.对于已知的接触面,机器人的工具坐标系能够简单地通过旋转矩阵B转化为基坐标系,则等式可以写为F*=kfBΤΩB(p-pd);e*=BΤ(Ι-Ω)B(p-pd), (4)式中:F*和e*分别为在基坐标系中末端执行器的接触力和位置误差;p为末端执行器真实的位置向量;pd为末端执行器预设的位置向量;B为冗余度机器人的旋转矩阵.在实际的任务中,假定末端执行器在某时刻期望的接触力为Fd,则该时刻式(4)中的F*应趋于Fd,位置误差e*应趋于0.令矩阵H=[kfBΤΩB;BΤ(I-Ω)B]∈R2m×m,向量vd=[Fd;0]∈R2m,可以得到vd=H(p-pd),则该控制问题的误差可以表示为ε=H(p-pd)-vd.进一步,将神经动力学设计公式ε˙=-λε代入该式,同时结合式(2)可以得到HJθ˙=Hp˙d+v˙d-λH(p-pd)+λvd,(5)式中:p˙d为末端执行器的速度;λ为误差函数的收敛速率,且λ0.在冗余度机器人位置/力控制的过程中,末端执行器的姿态保持能够保证任务顺利执行,末端执行器任何不同于任务执行平面方向上的轻微改变都有可能导致接触力F的变动,从而导致任务失败.式(4)中的旋转矩阵为B=a11a12a13a21a22a23a31a32a33,记录末端执行器的姿态信息.考虑到旋转矩阵的每一行、每一列均为单位正交向量,因此只须确定其中4个元素就可以确定整个旋转矩阵.假定方向向量s=[a22,a23,a32,a33]Τ已给定,若末端执行器的姿态在任务执行过程中保持不变,则s应满足s(t)=s(0).对s(t)关于t求导可得s˙(t)=Qθ˙,(6)式中Q=∂s/∂θ∈R4×n为s的雅克比矩阵.令Qθ˙=0,即方向向量s的变化速率为0,方向向量s保持不变,所有满足该条件的解θ˙都可以让机器人在执行任务的同时实现末端姿态保持.式(5)与式(6)联立可进一步表示为HJQθ˙=Hp˙d+v˙d-λH(p-pd)+λvd0.(7)1.2 神经动力学模型为方便问题的进一步阐述,令M=[HJ;Q]∈R(2m+4)×n,b=[Hp˙d+v˙d-λH(p-pd)+λvd;0]∈R2m+4,则模型(7)可以被简写为Mθ˙=b.(8)伪逆法是一种求解式(8)中关节角速度向量θ˙的有效方法.对式(8)应用伪逆法,可以得到θ˙=M†b,(9)式中M†=MΤ(MMΤ)-1为矩阵M的伪逆.为了让式(9)易于在计算机上求解,对其进行离散化处理.根据欧拉前项差分公式可知θ˙k=(θk+1-θk)/τ+O(τ),式中:τ为一极小值;O(∙)为截断误差,在构建模型时被省略;下标k为任务进行时刻.将其代入(9)式可以得到各关节角度向量θ的迭代形式为θk+1=θk+τM†b.(10)对于式(10)中的伪逆矩阵M†,其伪逆矩阵(M†)†的理论值为M,但实际计算过程存在一定误差.在每一时刻期望的(M†)†应等于M,令该时刻的控制误差ζ=M-(M†)†,并结合神经动力学设计公式ζ˙=-λξ,进一步可以得到一种神经动力学模型为Mk+1†=Mk†-τMk†M˙kMk†-h(Mk†MkMk†-Mk†), (11)式中:Mk为k时刻的时变系数矩阵;Mk†为k时刻的伪逆矩阵;Mk+1†为k+1时刻的待求矩阵;h为迭代时间间隔.根据欧拉后项差分规则M˙k=(Mk-Mk-1)/τ+O(τ),等式(11)可以重写为Mk+1†=Mk†-τMk†(Mk-Mk-1)Mk†-h(Mk†MkMk†-Mk†). (12)联立式(10)和(12),通过不断迭代求解就可以得到机器人执行目标任务时各时刻的关节角度向量.2 理论分析对本研究所提出的神经动力学模型进行理论证明,结果表明:该神经动力学模型是收敛的,能够有效实现机器人末端执行器位置/力的控制.定理1 当应用本研究所提出的神经动力学方程(11)解决机器人位置/力的控制问题,在0h2的前提下,控制误差能够收敛到O(τ2).证明 式(11)移项可以得到Mk+1†-Mk†=-τMk†M˙kMk†-h(Mk†MkMk†-Mk†). (13)对式(13)进行变换可得(Mk+1†-Mk†)/τ=-Mk†M˙kMk†-h/τ(Mk†MkMk†-Mk†). (14)根据欧拉前项差分公式M˙k†=(Mk+1†-Mk†)/τ+O(τ),式(14)可以重写为M˙k†+O(τ)=-Mk†M˙kMk†-h/τ(Mk†MkMk†-Mk†). (15)对式(15)分别左乘(Mk†)†,右乘(Mk†)†移项可得(Mk†)M˙k†(Mk†)=-M˙k-h/τ(Mk-(Mk†)†)+O(τ). (16)根据文献[17]中的引理3,矩阵Mk†及其伪逆(Mk†)†之间的关系可表示为(Mk†)†·=d(Mk†)†/dt=-(Mk†)†(M˙k†)(Mk†)†.因此,式(16)等价于M˙k-(Mk†)†·=-h/τ(Mk-(Mk†)†)+O(τ).(17)令k时刻的控制误差Ek=Mk-(Mk†)†,则式(17)可写为E˙k=-λEk+O(τ). (18)根据欧拉前项差分公式E˙k=(Ek+1-Ek)/τ+O(τ),式(18)可离散化为Ek+1-Ek=-hEk+O(τ2),(19)进一步可表示为Ek+1=(1-h)Ek+O(τ2).(20)通过上述分析可以得到,对于第k+1时刻的误差Ek+1,应有如下的关系,即Ek+1=(1-h)Ek+O(τ2)=(1-h)[(1-h)Ek-1+O(τ2)]+O(τ2)=⋯(1-h)k+1E0+(1-h)kO(τ2)+⋯+O(τ2)=(1-h)k+1E0+{[1-(1-h)k+1]/h}O(τ2). (21)由式(21)可得,当0h2时,有-11-h1.此时limk→+∞(1-h)k+1=0,在此条件下第k+1时刻的控制误差为limk→+∞Ek+1=(1/h)O(τ2)=O(τ2).(22)从而证得本研究所提出的神经网络模型是收敛的.3 数值仿真为了验证本研究所提出方案的可行性,对一组基于7自由度Franka机器人的进行数值仿真,仿真结果表明本方案能够使机器人精准地完成轨迹跟踪任务.让机器人的末端执行器跟踪预定的轨迹图案.相关参数设置如下:机器人的初始关节角度θ设置为[0,-π/4,0,-3π/4,0,π/2,π/4]T rad;刚性系数kf=1 000;接触力Fd=[0,0,-1] N;任务执行时间t=20 s.图1给出了Franka机器人在三维空间的仿真运动过程,可以看出:机器人顺利地执行了给定任务,整个任务执行过程中各关节运动流畅.10.13245/j.hust.221110.F001图1机器人执行任务的运动过程图图2为机器人跟踪目标轨迹的示意图,可以看出:实际轨迹与预设轨迹基本重合,机器人较好地完成了轨迹跟踪任务.10.13245/j.hust.221110.F002图2末端执行器的实际轨迹和期望轨迹图3描绘了机器人在跟踪目标任务时的各关节角速度,图中θ˙i(i=1~7)为第i个关节角速度.任务过程中所有关节角速度均在[-0.15,0.15]rad/s,保持在合理的范围内.10.13245/j.hust.221110.F003图3机器人任务过程中各关节角速度图4给出了关节角度变化图,图中θi(i=1~7)为第i个关节角度,可以看出各关节角度变化平稳且能回到初始位置.10.13245/j.hust.221110.F004图4机器人任务过程中各关节角度图5为末端执行器的位置误差,在X和Y坐标轴上的误差均在[-40,40] μm.10.13245/j.hust.221110.F005图 5机器人末端执行器位置误差图6给出了任务执行过程中末端执行器接触力的变化趋势,可以看出接触力初始为0 N,很快收敛到期望的大小.10.13245/j.hust.221110.F006图6末端执行器接触力4 实验研究以7自由度的Franka机器人为实验平台,机器人的末端执行器夹持马克笔在纸上描绘目标轨迹曲线,实验结果验证了本研究所提算法的有效性.给机器人设定跟踪豌豆形状曲线的任务.图7给出了机器人从0 s开始,时间间隔为4 s,任务时间为20 s的任务过程,可以看出:机器人末端执行器在任务完成后回到初始位置,任务执行过程中姿态保持不变.10.13245/j.hust.221110.F007图7Franka机器人跟踪轨迹示意图末端执行器所描绘曲线如图8所示,可以看出:整个轨迹光滑、连续,机器人在本研究所提出的位置/力控制方案下较好完成了目标轨迹跟踪任务.10.13245/j.hust.221110.F008图8Franka机器人末端执行器跟踪目标曲线5 结语本研究从运动学角度出发,提出一种基于神经动力学的冗余度机器人位置/力规划方案.该方案分析了冗余度机器人末端执行器在任务执行平面的接触力与位置误差,通过引入一种神经动力学方程,得到了机器人末端执行器运动与接触力的混合控制算法.为了确保机器人任务的顺利执行,本方案实现了机器人末端执行器的姿态保持.理论分析证明了所提神经动力学方程的收敛性,仿真和物理实验验证了所提位置/力控制方案的有效性和可行性.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览