徐光宇,汤 卿,王丽霞
(四川大学 机械工程学院,四川 成都 610065)
随着工业自动化的不断发展,机器人技术在工业制造、医疗卫生、航天科技和军事安全等众多领域的应用也越来越广泛[1-2]。作为机器人关键技术之一,机械手的设计与控制也在不断地进步和完善中[3]。高性能的机械手不仅可以提高机器人操作的准确性和安全性,而且可以拓宽机器人的应用领域。因此,其越来越受到研究人员的关注[4]。
不同于应用广泛的传统刚性夹具,柔性机械手可以根据目标物体的形状、尺寸以及材质,在抓取和释放过程中,自适应地调节机械手的包络角度和抓取力,从而适应人类生活环境中复杂多样的物体[5]。
为了实现对任意形状物体较好的包络和抓取力控制功能,目前常见的柔性机械手驱动方式包括:腱绳驱动、气压驱动、复合驱动等[6]。其中,WEN L等人[7]提出了一种内嵌执行器的腱绳驱动手指方案,采用腱绳路径上的复位弹簧,实现了对不同关节逐次控制的目的,在面对不同物体时,其体现出了良好的包络抓取效果;但该设计的尺寸和质量较大,且没有搭载传感器系统,无法感知机械手抓取过程中的信息,抓取能力有限。SUBRAMANIAM V等人[8]设计了具有主动手掌姿态控制的气动软爪,采用负压驱动的方法控制手掌和手指的动作,增加了机械手的有效抓取范围,提高了压力驱动的安全性;但该设计未能解决软手抓握鲁棒性差和有效载荷较低的问题,且材料要求较高,加工制作工艺复杂。宋振东等人[9]提出了一种具有欠驱动特性和自锁特性的双关节灵巧手手指结构,其设计的三指灵巧手具有较高的稳定性和较好的运动性能,可以完成不同物体的抓取任务;但该设计结构复杂、驱动繁琐,且其双关节手指的设计不能对目标物体实现良好的包络效果。
此外,在柔性机械手的设计方式中,仿生设计也是研究热点之一[10]。其中,张恒[11]采用仿生鱼鳍的手指结构方案,设计了一种能够根据目标物体产生自适应接触形变的形状自适应柔性机械手,结构简洁且载荷比大;但该设计难以精确感知抓取力信息,进而难以实现力控抓取的目的。XIE Z等人[12]设计了一种仿生章鱼臂式夹持器,探究了手臂锥度角与弯曲曲率、弯曲力的相关关系,并评估了其在结构多样化物体上的夹持能力;但该设计的锥度角不能实现动态调整,限制了抓取目标的范围,并且驱动控制复杂,难以实现精准的姿态控制。
综上所述,尽管机械手领域的研究涵盖广泛,但如何实现稳定的自适应抓取目的,加强对抓取信息的感知处理,以及设计柔顺的力控抓取算法,仍然是尚未完全解决,且具有挑战性的问题。
针对以上问题,笔者提出一种腱绳驱动的柔性三指机械手方案及对应的柔性抓取力控算法,以实现对不同尺寸、外形、材质的物体的稳定、柔顺抓取目的。
此处的三指柔性机械手的设计目标如下:1)提高抓取的自适应性,对直径30 mm~90 mm内的目标完成自适应包络抓取;2)提高抓取的柔顺性,实现对抓取力的控制。
目标抓取物体包括:1)尺寸、外形不同的物体;2)材质不同且对抓取力有要求的物体。
手指作为柔性机械手实现柔性抓取的重要组成部分,其结构设计影响着最终的抓取效果。笔者所设计的柔性手指由3个依次靠近手掌的指节组成,分别为远端指节、中端指节和近端指节,手指总长120 mm。
手指结构图如图1所示。
图1 手指结构图
图1中,远端指节和中端指节内的结构铝柱,搭配旋转关节中间的V型轴承,用作布置腱绳传动的线路。旋转关节的连接处安装有微型深沟球轴承,保证旋转的稳定;关节外部的扭簧槽安装扭转弹簧,可保证手指的复位。同时,关节连接处的结构设计包含机械限位,限定了关节的角度范围。
手指的动作包括弯曲动作和俯仰动作。手指的弯曲动作由驱动舵机拉动腱绳实现,舵机转动带动腱绳绕轮旋转,进而实现腱绳的拉动和释放。当拉动腱绳时,相邻指节的弯曲角度范围为0°~90°;当松开腱绳时,手指通过复位扭簧恢复至初始状态。
手指的俯仰动作由驱动舵机控制近端指节的旋转来实现,其近端指节与驱动舵机通过法兰连接,旋转角度受机械手整体结构的限制。手指最小张开角度为55°,最大张开角度为170°,满足设计目标的需求。
笔者设计的腱绳传动线路及分析图如图2所示。
图2 腱绳传动线路设计及分析图
注:Fl为腱绳拉力;M1为中端指节所受力矩;M2为远端指节所受力矩;h,r1,r2为手指结构尺寸;α1,α2为传动角。
腱绳传动线路如图2(a)中虚线路径所示,采用往复式缠绕设计,缠绕通过旋转关节,并使用结构铝柱确定传动角,保证了腱绳传动结构在手指弯曲时的稳定性。
笔者将腱绳一端固定在远端指节的结构铝柱上,通过关节2时缠绕在V型轴承上,然后向下引出。在中端指节的结构铝柱处调整路径角度,缠绕通过关节1的V型轴承并引入近端指节的限位孔,最后与驱动舵机的腱绳绕轮连接。
笔者基于图2(b)对该腱绳传动进行分析。通过计算M1和M2可得:
M1=2Flcosα1·h
(1)
M2=Flcosα2·(h-r2)
(2)
手指弯曲过程中,传动角α1≈α2,易得M1>M2。因此,在拉动腱绳时,相比于质量相似的远端指节,所受力矩更大的中端指节会产生更大的旋转量,进而以先中端、再远端的顺序接触物体。
这种传动结构使得机械手指在抓取物体时,通过指节的同时运动和逐次接触,更好地适应不同物体的外形,展现出与人手类似的自适应抓握状态。
机械手的手掌部分由3D打印制作的手掌掌面与碳纤维安装板组成。机械手整体设计图如图3所示。
图3 机械手整体设计图
为了实现机械手指的弯曲和俯仰动作,每根手指都需要2个驱动舵机作为动力源。为了方便布置手指,并使结构简单紧凑,笔者将这2个驱动舵机安装在手掌掌面的两侧,形成了一个三角形结构。手指的近端指节底部一侧通过法兰孔与驱动舵机连接,而另一侧与掌面相应位置的微型轴承配合,以确保手指在旋转时保持稳定且受力平衡。
此外,手掌背面还配备了可更换的小型连接板,用于与当前主流的机械臂进行连接。这样的设计使得机械手能够灵活地执行各种动作,并适应不同的工作需求。
柔性机械手由3个相同的手指模块及对应的驱动舵机组成。为了验证柔性机械手对于不同尺寸的物体包络能力,笔者将对单根柔性手指进行运动学分析。
单根机械手指由3个指节和3个旋转关节组成,可将其视为三连杆机械臂。
手指模型分析图如图4所示。
图4 手指模型分析图
基于图4的手指模型,笔者选用改进Denavit-Hartenberg(DH)法,进行不同空间坐标系相对关系的分析。其DH参数表如表1所示。
表1 DH参数表
获得DH参数之后,依此计算齐次变换矩阵,可得:
(3)
式中:c1为cos(θ1);s1为sin(θ1);c1+2+3为cos(θ1+θ2+θ3);s1+2+3为sin(θ1+θ2+θ3);其余以此类推。
其中,关节角范围分别为-80°<θ1<35°,0°<θ2<90°,0°<θ3<90°。
获得机械手指的运动学信息后,笔者使用MATLAB的机器人工具箱,绘制手指末端可达空间。
手指末端工作空间如图5所示。
图5 手指末端工作空间图
从图5上的轨迹点可以看出:当遍历各个手指的关节角后,每根手指的末端可达范围完全覆盖手内空间。因此,机械手的有效包络范围满足设计目标,可以自适应包络抓取直径30 mm~90 mm内的目标物体。
此处笔者选用扭矩大、体积小、易于控制的舵机作为驱动,以满足设计的需求。
考虑到舵机常见的位置控制是有局限性的,强行“硬碰硬”的抓取方式可能都会对机械手和目标物体产生损伤,故笔者在舵机的位置控制基础上设计柔顺力控算法,使其可以像人手一样控制位置和力的动态关系,完成机械手的柔性抓取任务。
常见的柔性机械手力控制算法包括:阻抗控制和导纳控制[13]。前者由阻抗控制外环和力控制内环组成,后者由导纳控制外环和位置控制内环组成。
(4)
(5)
式中:X为舵机当前的真实位置;X0为舵机的目标位置;T为舵机所受力矩;Md为惯性参数;Bd为阻尼参数;Kd为刚度参数。
在导纳控制中,已知量为力矩T,未知量为舵机的期望位置Xd。假设位置控制是没有误差的,所以舵机当前的真实位置X恒等于舵机的期望位置Xd,即X≡Xd,则有:
(6)
柔性机械手导纳控制框图如图6所示。
图6 柔性机械手导纳控制框图
(7)
(8)
(9)
迭代计算的过程为:
(10)
(11)
式中:Δt为程序的计算周期。
在导纳控制算法的作用下,柔性机械手抓取物体时,会根据力矩T的大小调整期望位置Xd,同时保持着对目标物体的稳定抓取,实现柔性抓取的设计目标。这种控制方式建立在位置控制的基础上,不需要系统的动力学模型,具有较强的可靠性和鲁棒性。
为了测试导纳控制的效果,笔者使用机械手进行测试实验,并采集相应的数据,观察控制算法能否达到预期目标。
机械手选用DYNAMIXEL的XC430-W150-T型号的舵机,利用官方的U2D2模块连接PC端和驱动舵机;6个驱动舵机串联连接,ID分别为ID1~ID6。
笔者给定抓取目标位置X0,通过PC端编程控制机械手,进行空手抓取和实物抓取。
导纳控制实验图如图7所示。
图7 导纳控制实验
笔者以ID1的舵机为例,采集机械手抓取和释放过程中的力位信息数据,并采用MATLAB绘制包含力矩T、期望位置Xd、目标位置X0的图像[18]。
导纳控制抓取数据图如图8所示。
图8 导纳控制抓取数据图
在图8(b)的11 s处,模型参数的调节改变了抓取力的大小,但并未影响抓取的稳定性。这代表系统的平衡力矩(即机械手的抓取力)会受到导纳模型的惯性参数Md、阻尼参数Bd、刚度参数Kd的影响,从而使得机械手在抓取不同要求的目标物体时,呈现不同的抓取特性。
笔者采用QT软件进行设计,并搭建了PC端Linux环境下的控制平台界面,以实现对机械手各项功能快速操作功能。
柔性机械手控制平台如图9所示。
图9中,平台界面分为状态监控区、数据图像区以及功能操作区。其中,左上角的状态监控区域,是当前机械手的端口状态信息、控制状态信息以及舵机力位信息的文字输出窗口。在右上角的数据图像区域中,可以手动切换显示所有舵机的当前实时力矩、位置和速度信息并绘制动图。
下方的功能操作区域则是整个系统的控制部分,包含了固定指令的操作功能、各驱动舵机的参数输入功能、控制算法参数的调节功能等。
为了验证机械手的柔性自适应抓取物体的性能,针对不同外形、不同材质的目标物体,笔者分别进行了相应的抓取实验。
笔者将柔性机械手安装在Franka Emika Panda机械臂的末端,通过U2D2控制模块连接PC端,搭建抓取实验平台,如图10所示。
图10 抓取实验平台
笔者在机械手抓取实验平台的基础上开展稳定抓取实验。
稳定抓取实验效果如图11所示。
图11 稳定抓取实验
在图11(a)中,笔者选取Franka Hand、苹果、文具袋以及胶带等常见的形状各异的物体作为抓取目标,验证机械手在抓取不同尺寸、形状物体时的形状自适应性能;
在图11(b)中,笔者选取毛绒玩具、空矿泉水瓶、卫生抽纸以及弯曲的鼠标垫等容易变形的物体作为抓取目标,验证机械手在抓取不同材质物体时的柔顺力控抓取性能。
机械手自重1 027 g,被抓目标物体的参数及特性如表2所示。
表2 目标物体的参数及特性
由图11的结果和表2的数据可以得知:在抓取生活中的不同物体时,根据目标的形状,该腱绳驱动的欠驱动手指可以自适应地调整包络状态,保证了抓取的稳定性。
另外,在面对容易因抓取力过大而产生变形甚至表面损伤的物体时,导纳控制的设计使得机械手不会强硬地抓握目标,而是在导纳模型参数的调节控制下,以柔顺的方式对不同材质的目标实现稳定抓握。
为了实现稳定的自适应抓取目的,加强对抓取信息的感知处理,并设计柔顺的力控抓取算法,笔者提出了一款腱绳驱动的三指机械手,以及该机械手导纳力控算法,采用设计腱绳手指的往复式缠绕传动结构和柔顺抓取的导纳力控算法,实现了该机械手对不同尺寸、外形、材质的目标物体的柔性抓取功能,同时进行了实物抓取测试实验,取得了良好的抓取效果。
研究结论如下:
1)与以往的腱绳驱动机械手研究相比,笔者针对腱绳驱动所设计的往复式缠绕传动线路,在结构简洁的基础上,实现了不同指节与目标物体逐次接触的功能。在面对不同尺寸、外形的物体时,机械手指有着更好的形状自适应性,可以自适应地完成多种稳定的抓取动作;
2)针对该款结合刚性机械结构和欠驱动腱绳传动的机械手,笔者设计了导纳力控算法,并将其应用于机械手实机上,使得机械手在稳定抓取不同材质物体的过程中,不会对目标产生破坏性的挤压,该机械手体现出良好的柔顺性和力控效果。
在未来的工作中,笔者将聚焦于机械手自适应抓取控制策略方面的研究,以期达到更好的抓取效果。