基于仿人机械手的五指力封闭抓取算法
2019-05-27于建均阮晓钢于乃功张子豪
于建均,安 硕,阮晓钢,于乃功,张子豪
(1.北京工业大学 信息学部自动化学院,北京 100124;2.计算智能与智能系统北京市重点实验室,北京 100124)
0 引言
手是人类在长期进化过程中形成的最完美的工具,能够灵活稳定的抓取物品,使用工具。仿人机械手作为人类肢体的有效延伸, 从设计初始就效仿人手结构,以期望能够像人手一样实现灵活、精细的抓取操作等功能。
在外观上,随着系统的集成度的提高、全数字机电集成化等概念的提出,机械手从尺寸、手指数目、自由度的分配、传动方式、多感知功能等方面越来越接近人手。从早期的多指机械手,如日本的Okada手,美国麻省理工学院和犹他大学联合研制的Utah/MIT Hand,美国斯坦福的Stanford Hand等,到如今的仿人机械手,如英国的Shadow Hand,中国哈尔滨工业大学和德国宇航中心联合研制的HIT/DLR II Hand等,机械手已经具备了人手的基本硬件结构,正向着更加智能化和灵巧化的方向发展。
在功能上,仿人机械手的目的是能够取代人手完成相应的工作。机械手具备了人手的外观,但不具备人类天生具有的运动技能。人类知道如何成功的抓取一个之前未接触过的目标物体。对人类神经中枢的研究表明,控制人类各个部分运动的前运动皮质中,有接近四分之一是用于对手的控制。人手在抓取目标物体的过程中,会自动满足力封闭等条件。人类在抓取的过程中可以平衡任意作用在物体上的扰动,稳定抓取。因此如何根据所要目标物体的形状、以及手的运动学动力学特性等因素,实现仿人机械手成功抓取的任务是仿人机械手研究的热点。
机械手的抓取, 是各手指分别趋近位于作业空间的物体, 直至接触并对物体施加作用力, 通过多个手指的联合作用形成能抵抗物体上外载荷的接触构形, 从而在机械手与物体之间形成运动和力的传递关系。为了解决仿人机械手抓取的这一问题,Jean Ponce基于人手的抓取特性提出了一种三指力封闭抓取线性凸多面体目标的方法。[4]在此基础上,李家炜针对三指力封闭抓取采用矢量法给出了充分条件的证明[5]。
现代的仿人机械手由于自由度较高,所以仿人机械手对应着复杂的运动控制系统。仿人五指机械手的控制系统本质是协同控制5个多自由度的机械臂,驱动单元多,控制复杂。对于不同的驱动方式与链接方式的机械手,同一种控制方法,效果存在偏差。所以在三指力封闭的抓取过程中,一旦出现控制信号的映射偏差,或某一自由度控制未能达到要求水平,就会出现手指末端未与目标物体形成摩擦接触点或摩擦接触点位置偏移,导致抓取不平稳或脱落的现象发生。
本文为了使机械手达到稳定抓取的效果,提出了一种效仿人手抓取的五指力封闭抓取算法,其本质是利用冗余机制解决传统三指抓取过程中可能出现的抓取不平稳或脱落的问题。首先,基于三指力平衡算法的思想上提出了满足五指力封闭抓取算法的条件。然后,对五指力封闭抓取算法进行了充分性和必要性的证明。最后,通过仿真环境下的实验抓取不同目标物体,验证了五指力封闭算法的可行性。
1 抓取模型的建立
人类会根据抓取目标的不同,进行手部姿态、接触点位置和力的调整,从而达到稳定抓取的目的。机械手在模仿人手抓取的过程中,同样需要预先获得目标物体模型,进而进行运动规划。以凸多面体族为抓取对象,针对凸多面体族建立抓取模型。
1.1 机械手抓取平面的建立
人类在抓取操作的过程中会满足力封闭和几何封闭,从而达到稳定抓取的目的。因此,在研究仿人机械手的抓取规划过程中,以人手的抓取方式作为最佳抓取示范。为了保证仿人机械手具有最大的抓取空间,结合其特点,如图1所示,规定灵巧手大拇指基关节的YZ平面同工作台平行时为灵巧手的最佳抓取初始姿态,X轴的正方向表示灵巧手的抓取进入方向。在理想状态下,灵巧手抓取目标物体的过程中,手指的接触点在YZ轴平面上的投影所构成的点集就是物体在YZ平面投影曲线上的解。[2]仿人灵巧手五指落在目标物体上形成的投影可以用特定函数进行表征。定义表征投影点的函数为机械手抓取平面。
图1 机械手抓取平面
1.2 抓取模型的建立
本文抓取目标物体为凸多面体族。凸多面体族,也称欧拉多面体,特点是多面体在它们每一面所决定的平面的同一侧。凸多面体族的任何截面都是凸多边形。所以抓取平面的投影构成的点的集合可以用超椭圆建立特定的函数关联,即仿人抓取平面。超椭圆(superellipse)也称为拉梅曲线,可以通过改变超椭圆的部分参数模拟自然界中的大部分凸多边形,包括矩形、方圆形、椭圆形等。超椭圆可以模拟的形状如图2所示。通过增添少量附加参数,甚至能够模拟任意不可能具有任何特别生物学意义的图形。[3]因此,本文用超椭圆描述仿人抓取平面(投影点)的模型。一般超椭圆的笛卡尔描述为:
(1)
用参数可以表示为:
(2)
式中,ax与ay为超椭圆的尺寸参数,用于定义x,y半轴的长度;ε为超椭圆2D平面中的形状参数。利用超椭圆方程表示灵巧手所抓握的物体时的二维平面,即仿人抓取平面。
图2 超椭圆表达平面
对超椭圆进行一般化处理,且在X轴方向进行离散化处理,模拟完整的示教空间中的表达情况,推导得到超椭圆抓取空间中的方程。如图3所示,设超椭圆标准方程的坐标系为∑O0,S1=(y1,z1)为一般超椭圆∑O1在标准坐标系中的位置,两坐标系之间的夹角为θ。
图3 超椭圆在空间中的表达
(3)
得到S1的表达式为:
(4)
超椭圆方程的一般表达式为:
(5)
上述描述即为凸多面体族的抓取平面表达方式。
2 一种五指力封闭抓取算法
人手在抓取目标物体的过程中,会自主规划,满足力封闭等条件以达到稳定抓取的效果。机械手的抓取效仿人手力封闭, 是各手指分别接触并对物体施加作用力, 通过多个力的联合作用达到稳定抓取的效果。一个理想的力封闭抓取能够平衡任意作用在物体上的扰动外力。
2.1 抓取静力学分析
本文结合实际情况,采用标准的摩擦点接触(point contact with friction)来表示机械手指与物体之间的接触模型。摩擦点接触是指考虑手指和物体之间的摩擦力,将沿表面切线方向的摩擦力看成法向力的函数。设切向力的大小为ft∈R,法向力的大小为fn∈R,静摩擦系数取决于接触面材质,一般情况下摩擦系数小于1,设摩擦系数为μ,则接触点处出现滑动的条件为:
|ft|>μfn
(6)
为了保持手指与物体之间的稳定接触,所需施加的切向力需要满足:
|ft|≤μfn
(7)
手指与物体之间的接触力必须位于以表面法线为轴线的摩擦锥内,该摩擦锥相对于法线的圆锥角也称摩擦角,表示为α=arctanμ。由于μ小于1,所以摩擦角一般小于45°。摩擦锥表示为:
(8)
式中,
(9)
2.2 三指力封闭算法描述
Jean Ponce基于人手的抓取特性提出了一种计算二维多边形物体三指稳定抓取的方法:假设机械手与线性多边形物体进行三摩擦接触点接触,通过保持手指抓取过程中的形状闭合,实现稳定抓取的效果。再此基础上,李家炜教授提出了基于几何分析的力封闭算法:基于三指力平衡的抓取方式,并通过矢量法进行了证明。
三指力平衡定理:
施加在物体上的非共线作用力f1,f2,f3若要达到平衡,当且仅当满足下述条件:
(1)f1,f2和f3共面,可以正向跨越整个平面且相交于一点;
(2)f1,f2和f3共面且平行,并且其中至少有一个力与其他的力方向相反。
图4 三接触点保持力平衡性的表示
若fi∈Fci,i=1,2,3(fi严格位于其摩擦锥Fci内部)满足上述条件之一,接触点C1,C2,C3构成一个力封闭抓取。[2]正向跨越整个平面是指平面内的任何向量均可由三个力的正线性组合表示。[6]该性质描述了三个接触点抓取力平衡的充分必要条件。
2.3 五指力封闭算法的提出
目前的仿人机械手具有较高自由度,往往在13自由度以上;驱动、传动方式较为复杂,如电机驱动,气动驱动,腱传动,连杆传动等。由于机械手本身具有复杂的运动控制系统和驱动、传动方式上产生的误差,很容易造成传统的三指力封闭的抓取出现控制信号的映射偏差,或某一自由度控制未能达到要求水平。传统三指力封闭抓取就会出现手指末端未与目标物体形成摩擦接触点或摩擦接触点位置偏移,导致抓取不平稳或脱落的现象发生。结合仿人机械手五指多自由度的机械结构特点,本文提出一种五指力封闭算法,其本质是利用冗余机制解决传统三指抓取过程中可能出现的抓取不平稳或脱落的问题。在五个摩擦接触点中,任意三点随机组合,满足至少有7种组合可以形成力封闭,则在五指抓取的过程中可以稳定抓取,任意脱落一到两个关节不影响抓取的稳定性。
五指力封闭定理:
若五个满足摩擦约束的接触点Ci(i=1,2,3,4,5)的力封闭抓取中至少存在7个三点力封闭抓取,当且仅当下述条件成立:
(1)对于∃Ci,Cj,i,j∈{1,2,3,4,5JB)}〗且i≠j,则可定义一条直线Lc满足:接触点Ci,Cj的法线ni,nj在直线Lc上的投影方向不同;Lc⊂Fci∩Fcj且直线Lc严格位于Fci内部。
(2)λ<θ,φ<θ,α<θ,且Lc∩Fcl∩Fck∩Fcm≠φ,{i,j,l,k,m}={1,2,3,4,5}且i≠j≠m≠k≠l。其中,θ为接触点C的摩擦锥半角,λ,φ,α分别为法线nl与Ci,Cj,Cl三个接触点构成的平面间的夹角,法线nk与Ci,Cj,Ck三点构成的平面间的夹角,法线nm与Ci,Cj,Cm三点构成的平面的夹角。
图5 满足条件(1)的接触点Ci,Cj 图6 满足条件(2)的接触点Ci,Cj,Cl,Ck,Cm
2.4 五指力封闭定理证明
2.4.1 充分条件证明
因此,在满足条件的五摩擦点Ci,Cj,Cl,Ck,Cm抓取中,(Ci,Cj,Cl),(Ci,Cj,Ck),(Ci,Cj,Cm),(Ci,Ck,Cl),(Ci,Ck,Cm),(Ci,Cl,Cm),(Ck,Cl,Cm)均可构成力封闭抓取。
2.4.2 必要条件证明
存在摩擦接触点Ci,Cj使得Lc⊄Fci∩Fcj,那么接触点Ci,Cj,Ck构成的抓取若想达到平衡则需满足Fci∩Fcj与Ck位于Lc的同一侧,使得fi,fj,fk正向跨越整个平面。总会存在由点Ci,Cj和其余三个摩擦接触点Cl,Ck,Cm构成的三种组合使得Fci∩Fcj与其余两点位于Lc的异侧。则对于(Ci,Ck,Cl),(Ci,Ck,Cm),(Ci,Cl,Cm)不能构成力封闭。
故条件(1)为构成力封闭抓取的必要条件。
假设条件(2)不成立。由三个摩擦接触点C1,C2,C3构成力封闭抓取的必要条件为:接触点的抓取平面与摩擦锥相交截,即法线nl,nk,nm与抓取平面的夹角λ,φ,α小于摩擦锥半角θ。所以要想保证力平衡抓取,必须保证λ<θ,φ<θ,α<θ。故条件(2)为构成力封闭抓取的必要条件。
2.5 一种五指力封闭点集合确定的方法
上述部分证明了五指力封闭定理的有效性。本文在确定三指力平衡摩擦接触点的基础上,提出一种寻找五指力封闭摩擦接触点的方法:由已知的三指力平衡摩擦接触点推导出两个满足五指力封闭定理的摩擦接触点集合,从集合中任取两点,得到满足要求的五指力封闭摩擦接触点。
已知在复杂凸面体中寻找三点力平衡算法。几何图述如图7所示,通过已知三摩擦接触点Ci,Cj,Cl力封闭抓取,通过任意两接触点推导第四、第五接触点。以Ci接触点为例,取以ni为法线的摩擦锥Fci与以-nm为法线的摩擦锥Fcim和多边形边的交截,作为第四接触点的集合。同理可推得第五接触点。由于多边形与摩擦锥间的交截受到凸多面体本身形状的约束,所以推导出的接触点集合不一定连续。
图7 力封闭点集合的确定
2.6 一种五指力封闭算法的设计
对于凸多面体族,确定五指力封闭算法确定摩擦接触点的具体步骤如下所示:
步骤1:以被抓取平面超椭圆S1中心作为圆心生成圆OC,使得抓取模型S1与圆OC相交截,得到四个及以上的交截点C1,C2,C3,C4后停止。
步骤2:从得到的交截点中任选三个接触点C1,C2,C3验证是否满足力封闭。如果不满足,选取其余3种情况进行验证。若均不满足,返回步骤1得到新的交截点验证。
步骤3:将满足三指力平衡的接触点C1,C2,C3设为Ci,Cj,Cl,为三指力封闭抓握。计算-ni,nk的夹角φ及-ni,nj的夹角λ,若min(λ,φ)≥2α,则返回步骤1。
步骤4:利用五指力封闭条件(1)确定直线Lc,如果Lc存在,进行步骤5;否则,进行步骤6。
步骤5:若:
步骤7:得到新的摩擦接触点Cj,Cl,Ck,重复步骤4,得到新的摩擦接触点Cm。
步骤8:结束计算并返回。
2.7 力封闭算法的抓取流程
力封闭算法完整抓取流程如图8所示。通过Leap Motion采集器对目标物体进行坐标采集、特征变换,并建立目标物体模型。利用三指力封闭对目标物体抓取平面的超椭圆进行分析,生成三指力封闭点并验证三指力封闭抓取效果。若三指力封闭抓取失败,则在三指基础上生成第四,第五抓取点,验证五指力封闭抓取效果,直至可以实现稳定抓取。
图8 力封闭算法抓取流程图
3 五指力封闭算法的实验验证
3.1 仿真实验环境建立
在Matlab下,利用Syngrasp库建立仿真实验环境。Syngrasp环境下如图9所示,设定目标物体形状参数ax、ay、ε,质量参数m,机械手类型,抓取的摩擦系数μ,各手指力的大小fi(i=1,2,3,4,5) 。设置地面信息与目标物体起始位置信息。若目标物体能够被抓取,脱离地面,则认定目标物体被稳定抓取,若目标物体未脱离地面,则认定目标物体脱落,未达到稳定抓取的效果。
图9 Syngrasp环境
3.2 五指力封闭算法实验验证
本文将分两部分实验分别验证五指力封闭抓取算法的可行性与稳定性。可行性实验设计通过生成五指力封闭接触点抓取不同的目标物体进行判断。若实现稳定抓取,则认为五指力封闭算法具有可行性。稳定性实验设计在五指力封闭抓取的基础上,任意脱落两指关节,形成三指抓取,判断抓取效果。若在所有可能出现的10种脱落组合中, 7种及以上可以稳定抓取,则认为五指力封闭算法具有抗干扰能力和比三指抓取更好的稳定性。
3.2.1 可行性验证
图10所示为基于三指力平衡得到的抓取接触点。在仿真环境下设定目标物体与接触点的摩擦锥大小,设定目标物体的材质确定摩擦系数。
根据五指力封闭算法得到摩擦接触点,将手指接触点坐标设定为得到的新摩擦接触点,进行抓取仿真实验。效果如图10所示,可以正常抓取目标物体,目标物体不会掉落。证明五指力封闭算法可以得到目标物体的稳定抓取摩擦接触点,实现稳定抓取的目标。
图10 五接触点抓取长方体
3.2.2 稳定性验证
根据稳定抓取的必要性条件:最少需要三个摩擦接触点进行实验设计。在原始五摩擦接触点的基础上,进行随机丢失摩擦接触点,共计10种情况。如图11所示,在五指抓取的过程中,丢失食指与无名指的摩擦接触点,物体依然保持稳定抓取状态,未发生掉落,证明在丢失食指与无名指的情况下,力封闭算法依然可行。
图11 力封闭抓取长方体效果验证(丢失食指、无名指)
实验验证剩余9种丢失情况,结果如图12所示。在随机丢失摩擦接触点的实验中,8种情况可依旧稳定抓取。证明五指力封闭算法具有稳定性和抗干扰能力。
图12 力封闭抓取长方体结果图(丢失2个摩擦接触点)
3.3 不同目标物体的实验研究
3.3.1 球体抓取可行性验证
将目标物体替换成球体,进行实验验证。图13所示为五指力封闭算法抓取球体结果。力封闭算法可以正常抓取目标物体,目标物体不会掉落。证明算法可行,实现稳定抓取。
图13 五接触点抓取球体
3.3.2 球体抓取稳定性验证
在原始五摩擦接触点的基础上,进行随机丢失摩擦接触点。如图14所示,在五指抓取的过程中,丢失中指与小拇指的摩擦接触点,物体依然保持稳定抓取状态,未发生掉落,证明在丢失中指与小拇指的情况下,力封闭算法依然可行。
图14 力封闭抓取球体效果验证(丢失中指、小拇指)
实验验证剩余9种丢失情况,结果如图15所示。在随机丢失摩擦接触点的实验中,7种情况可依旧稳定抓取。证明五指力封闭算法具有稳定性和抗干扰能力。
图15 力封闭抓取球体结果图(丢失2个摩擦接触点)
3.3.3 圆柱体抓取可行性验证
将目标物体替换成圆柱体,进行实验验证。图16所示为五指力封闭算法抓取圆柱体结果。力封闭算法可以正常抓取目标物体,目标物体不会掉落。证明算法可行,实现稳定抓取。
图16 五接触点抓取圆柱体
3.3.4 圆柱体抓取稳定性验证
在原始五摩擦接触点的基础上,进行随机丢失摩擦接触点,如图17所示,在五指抓取的过程中,丢失中指与小拇指的摩擦接触点,物体依然保持稳定抓取状态,未发生掉落,证明在丢失中指与小拇指的情况下,力封闭算法依然可行。
图17 力封闭抓取圆柱体效果验证(丢失中指、小拇指)
实验验证剩余9种丢失情况,结果如图18所示。在随机丢失摩擦接触点的实验中,8种情况可依旧稳定抓取。证明五指力封闭算法具有稳定性和抗干扰能力。
图18 力封闭抓取圆柱体结果图(丢失2个摩擦接触点)
4 结论
本文为了使机械手实现稳定的抓取,提出了一种效仿人手抓取的五指力封闭抓取算法,其本质是利用冗余机制解决传统三指抓取过程中可能出现的抓取不平稳或脱落的问题。首先,基于三指力平衡算法的思想上提出了满足五指力封闭抓取算法的条件。然后,对五指力封闭抓取算法进行了充分性和必要性的证明。最后,通过仿真环境下的实验抓取不同目标物体,验证了五指力封闭算法的可行性。本文的主要贡献如下:
1)提出一种五指力封闭的抓取方法;
2)给出了五指力封闭算法必要性与充分性的证明;
3)给出了确定五指力封闭抓取点集合的方法;
4)实验证明了算法的可行性与稳定性。
在仿人机器手抓取实际应用中,仅仅通过目标物体模型得到抓取接触点还不够,还需要能够通过传感器获取目标物体信息,自动生成目标物体模型,实现真正的仿人机器手自动抓取。因此,下一步的工作是进行基于Leap Motion体感传感器的目标物体自动建模,对仿人机器手的抓取作进一步的研究与实现。