邹 俞,晁建刚,林万洪
(中国航天员科研训练中心,北京100094)
我国载人航天事业稳步发展,航天任务中存在大量需要航天员操作的环节。目前航天员的主要训练模式是在地面上进行模拟训练。航天员训练中存在物品传递、设备组装等大量抓持操作,通过虚拟现实仿真训练代替实物仿真训练,具有成本低、易更新等大量优势。随着近些年虚拟现实(Virtual Reality,VR)技术的发展,将 VR技术引进航天员训练,利用VR技术构建与航天任务体验一致的虚拟环境,使航天员沉浸其中,并通过手势操作等自然人机交互方式与虚拟环境进行交互的仿真训练方式逐渐被应用到航天员训练中[1]。
手势操作是仿真训练中自然人机交互的重要方式。目前对虚拟手抓持规则的研究,主要分为基于几何的抓持规则[2-4]和基于物理的抓持规则[5-7]。
基于几何的抓持规则中,最简单的抓持规则是碰撞检测抓持[8],这种抓持规则实现了非精确抓持,但存在大量的误抓持现象。为了减少误抓持,李志华等提出了基于点接触平面法矢的抓持规则[8],杨晓雯等提出了基于有效阈值角度的抓持规则[9],以及基于这两种规则改进的抓持规则[10-13],该抓持规则通过接触点数量、法矢等条件进行判别,大量减少了误抓持判定的现象。国内学者也对上述抓持规则提出改进的方案,如胡晨等[14]提出的适应物体形状的虚拟手抓持规则,通过物体形状和接触点位姿关系判定抓持。
基于物理的抓持规则是指满足力封闭的抓持。Nguyen首先提出力封闭的概念是指手指提供力平衡物体所受外力合力[16],并指出各手指的施加力必须在摩擦锥范围内[16-17];在力封闭基础上,Salisbury等[18-20]针对三维情况下的抓持,推导得出满足力封闭抓持的充要条件是初始接触力的正线性组合必须充满整个旋量空间;Bicchi等[21-23]提出将力封闭性的抓持判别转换为常微分方程的稳定性问题,采用Lyapunov直接法[24]对力封闭的条件进行判别;国内学者也对此提出过改进的方案,如秦志强等[25]提出将非线性的摩擦锥约束转换为对称矩阵的正定线性约束问题。
基于几何的抓持规则通过生活经验总结出的几何约束条件制定抓持规则,一定程度上满足了具有沉浸感的仿真要求,但依然会出现破坏沉浸感的情况。基于物理的抓持规则,从受力模型的角度计算是否符合实际抓持,具有良好的仿真效果,但存在运算量巨大、难以实时仿真的问题。目前航天员虚拟训练系统中尚未引进基于物理的抓持规则。本文提出力封闭虚拟手抓持规则,通过力与力矩计算制定符合实际抓持体验的抓持规则,为航天员虚拟训练虚拟手抓持提供一种方法。
力封闭稳定抓持指满足以下两个条件的抓持[14]:
1)抗干扰:抓持过程中,手指对物体施加力必须能平衡物体所受除手指施加力外其他力的合力;
2)稳定性:抓持时每根手指施加的力必须满足摩擦锥条件,保证手指抓持时接触点不会发生滑动。
指尖与物体的接触模型可分为三种[24]:无摩擦接触模型、有摩擦接触模型和软指接触模型。不同接触模型下第i个手指施加在物体上的合力及力矩记作fi,满足式(1):
其中 A 表示接触矩阵; fci(fin,fio,fit,fis,fip,fiq)表示接触点i处,手指对物体施加的力和力矩,其中fin表示接触力的法向力分量,fio和fit表示接触力的切向力分量,fis表示接触力的法向力矩分量,fip和fiq表示接触力的切向力矩分量。
图1为软指接触模型。在有摩擦接触模型中计算手指压力和摩擦力的基础上,考虑了手指可施加接触点法矢方向的力矩的因素,使接触模型更接近实际抓持的物理模型。此时接触矩阵A=且fin≥0,表示手指在接触点施加的是压力而非拉力。
图1 软指模型Fig.1 Soft finger model
软指模型摩擦锥条件通过线性模型[26]求解,如式(2)所示:
上式中,μi和μsi分别表示摩擦系数和力矩系数。当满足摩擦锥条件时,保证了手指抓持物体时不会发生相对滑动。
假设手指和物体的接触模型是软指模型,如图2所示,将所有向量在物体坐标系上表示,则第i个手指施加在物体上的作用力和力矩可表示为wi=Gifi, 其中为第i个接触力的螺旋矩阵,其中 ni=[nixniyniz]T为第i个接触点的单位内法矢,ri= [rixriyriz]T为第i个接触点的位置矢量,fi= [finfiofitfis]T为第i个手指给物体的作用力,fin为作用力的法向分量,fio和fit分别为接触力的两个切向分量,fis为法向力矩。
图2 软指模型多指抓持Fig.2 Multi-finger graspingon soft finger model
1)抓持矩阵G行满秩,即rank(G) =6。
2)内力集与严格约束力集的交集非空,即Sc∩S0≠φ。
由上述条件可推出力封闭稳定抓持的非线性
求解(3)式可得其通解,如式(4)所示:
其中G+为G的广义逆矩阵,W为G的零空间矩阵, y ∈ R4m-rank(G)为任意向量。 由式(11)可以看到,软手指多指模型的接触力可以分为两部分:f=g+h,其中g=G+F为操作力,h=Wy为内力。
对软指接触模型,抓持稳定的条件为对任意的 F∈R R6,存在作用力f∈Sc,满足F = Gf[15]。规划计算机判别算法,分为以下两个步骤:
步骤2:判断内力集和严格约束力集的交集是否为空:若Sc∩S0≠φ,则满足力封闭;否则抓持不满足力封闭稳定。
满足Sc∩S0≠φ的充要条件为式(6):
将式(5)代入式(6),得式(7):
其中,
令yTAiy和yTBiy(对 i= 1,2…,m)的最大值最小化,同时限制向量y的模,可将该问题转化为非线性规划求解,如式(8)所示:
最优解记为(y∗,η∗),若η∗≥0,抓持不满足力封闭稳定性,若η∗<0,抓持满足力封闭稳定性。
通过上述过程,满足步骤(1)、(2),即确定该抓持是满足力封闭的稳定抓持。在此基础上计算抓持力的生成。令由前文知,内力h =
Wy∗满 足 摩 擦 锥 约 束, 记 δ = h
hiin对任意 δh满足 δh> 0, 称
iiδhi为“可提供压力”。
1)若对任意gi都满足摩擦锥约束,则f=G+F+OWy,满足摩擦锥约束。
2)若存在 gi不满足摩擦锥约束,记 δgi=有 δg< 0, 称 δgi为“需求压力”。 令则 ϕ > 0。故得f= G+F +ϕWy满足摩擦锥约束。
根据不同人抓持物体的习惯不同,有些人偏向用更大的力抓持。所以设置抓持稳定比值α满足α≥1,针对不同人的抓持习惯可以制定不同的α值,默认α=1。
综上得稳定静力抓持模型如式(9)所示:
力封闭虚拟手抓持规则基于以下两点:一是指尖与物体表面为软指接触模型;二是每根手指可以对物体施加阈值范围内任意大小的接触力,且力大小的求解由稳定静力抓持模型决定。
在虚拟手抓持力封闭判别的基础上,考虑实际抓持中,手指能承受的压力是有限的,所以稳定静力抓持模型求解的力f=G+F+Wy,必须满足在某一阈值范围内(阈值记作fmax),才能实现稳定抓持。参考成人手指可提供持续压力数据,阈值大小如表1所示。
表1 成人手指可持续提供最大压力Table 1 Maximum sustainable pressure provided by adult fingers /N
综上可得力封闭虚拟手抓持规则,是在力封闭稳定抓持的基础上判别是否符合手指可承受力。即是否满足故得力封闭虚拟手抓持规则的非线性规划计算机判别算法,分为以下三个步骤:
步骤1:判别抓持矩阵是否满秩,若rank(G)<6,则抓持不是力封闭稳定抓持,否则转向步骤2。
步骤2:判断内力集和严格约束力集的交集是否为空,若Sc∩S0≠φ,则转向步骤3,否则抓持不是力封闭稳定的。
步骤3:判断抓持力是否在手指可承受范围内,即手指是否可提供力。若则符合力封闭虚拟手抓持规则,否则不符合。
故得出力封闭虚拟手抓持规则的判定流程图如图3所示。
图3 稳定抓持判定流程图Fig.3 Flow chart of stable grasping determination
根据上述流程图,若已知手指在抓持对象上接触点的位置矢量和内法矢,以及物体所受外力情况,便能判断该抓持是否满足力封闭虚拟手抓持规则。
针对力封闭虚拟手抓持规则,设计物体抓持试验验证在给定接触点位置、接触点内法矢和物体所受外力的情况下判别抓持是否满足力封闭稳定抓持。
通过抓持球体试验验证不同抓持接触点和内法矢对抓持的影响。如图4所示,假设球体质量为1 kg,受竖直向下100 N的作用力,指尖与物体的摩擦系数为μ=0.4,扭矩系数μsi=0.6,手指数量m=3,设置三组抓持手姿:三指赤道对称、三指R/2处对称和三指不对称。
图4 抓持球体示意图Fig.4 diagram of grasping sphere
通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe代入稳定静力抓持模型,求解各手指抓持力。结果如式(10)所示:
实例2中,大拇指、食指和中指的接触点位置
通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe代入稳定静力抓持模型,求解得η∗=1.45e-5,即Sc∩S0=φ,不满足力封闭稳定抓持,故无抓持模型无解。
通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe代入稳定静力抓持模型,求解各手指抓持力。结果如式(11)所示:
验证是否满足抓持规则,结果如表2所示。可以看到:实例1中,满足力封闭抓持,且求解的各手指抓持力满足在手指可提供的抓持力范围内,满足抓持规则;实例2中,Sc∩S0=φ,即不满足力封闭抓持,抓持时会发生滑动,故不满足抓持规则;实例3中,满足力封闭抓持条件,但求解的抓持力中中指和食指不足以提供抓持所需的压力,故不满足抓持规则。
可以看到,不同接触点和内法矢决定虚拟手能否稳定抓持物体。当手姿不满足抓持规则时会发生相对滑动或者手指不足以提供可以抓持物体的力的情况。
表2 抓持球体力封闭抓持规则判定结果Table 2 Results of the force-closed grasping rules for grasping sphere
通过抓持球体试验验证被抓持物体摩擦系数对抓持的影响。设置对比组μ=0.7,两组结果分别如表3、表4所示。
1)通过模型能在判别是否符合力封闭的基础上,求取每根手指的力及法向力矩;
2)μ=0.4时,3种抓取都是行满秩,但由于第二种手姿抓取η∗>0,所以它不满足力封闭的抓取。对比μ=0.7,则由于相同压力下可提供的摩擦力范围更大,求得η∗=-0.2240,满足力封闭的抓持,但是由于所需力不满足手指可提供的压力,故不满足抓持规则。同理对比第一、三种抓持手姿下,外力相同的情况下,由于摩擦系数更大,所需的压力变小,每根手指所需提供的力更小,符合真实的抓持体验;
可以看到,摩擦系数对能否抓持有影响,摩擦系数越大、物体越容易被抓持。
表3 μ=0.4软指模型球体抓持结果分析Table 3 Analysis of μ=0.4 the soft finger model grasping sphere
表4 μ=0.7软指模型球体抓持结果分析Table 4 Analysis of μ=0.7 the soft finger model grasping sphere
验证不同外力对抓持的影响。抓持圆柱体如图5所示。假设圆柱体质量为1 kg,受竖直向下10 N、竖直向上10 N、水平向右10 N和水平向右100 N的作用力。指尖与物体的摩擦系数μ=0.4,扭矩系数μsi=0.6,手指数量m=3。大拇指、食指和中指的接触点位置分别为(45/2,0,35/2)、( -45/4,(45 3)/4,35/2)和( - 45/4, - (45 3) /4,35/2),内法矢分别为( -45/2,0,0)、(45/4,( -45 3) /4,0)和(45/4,(45 3) /4,0)。
图5 抓持柱体示意图
实例1中,通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe为竖直向下10 N,代入稳定静力抓持模型,求解各手指抓持力。结果如式(12)所示:
实例2中,通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe为竖直向上10 N,代入稳定静力抓持模型,求解各手指抓持力。结果如式(13)所示:
实例3中,通过接触点位置、内法矢信息计算抓持矩阵G,并将G和外力Fe为竖直向右10 N,代入稳定静力抓持模型,求解各手指抓持力。结果如式(14)所示:
实例4中,通过接触点位置、内法矢信息计算抓持矩阵 G,并将 G和外力 Fe为竖直向右100 N,代入稳定静力抓持模型,求解各手指抓持力。结果如式(15)所示:
软指模型圆柱体抓持结果如表5所示,可以看出,两种手姿下抓取圆柱体的数据几乎相同。因为这两种手姿抓持的区别仅仅是外力的方向相反,所以得到几乎相同的数据。进一步验证了该模型获取的物理力符合抓持实际。
验证是否满足抓持规则,结果如表6所示,三组实例都满足抓持规则。实例1和2两种手姿下,关于物体坐标系xoy平面对称,都满足力封闭抓持,且各手指所需力的大小相同;实例3中,受力与前两组实例不同,故抓持结果不同,且为保持力矩平衡,手指所需提供压力较大;实例4中,外力较实例3增大,故手指不可提供足够压力,不满足抓持规则。可以看到,外力对抓持有影响,外力越大越难以抓持;不同方向外力也对抓持存在影响。
表5 软指模型圆柱体持结果分析Table 5 Analysis of the soft finger model grasping the cylinder
表6 抓持柱体力封闭抓持规则判定结果Table 6 Results of the force-closed grasping rules for grasping cylinder
对六组球体抓持试验和四组柱体抓持试验的抓持规则判别时间进行统计,每组试验进行100次,结果如表7所示,可以看到力封闭虚拟手抓持规则通过抓持受力模型进行抓持判断,能实现更符合实际抓持的仿真,但计算时间难以满足虚拟现实实时仿真60 fps的刷新率要求。
由试验结果可以看到,力封闭稳定抓持判别,能在获取抓持点位置、内法矢和外力等条件下,通过力与力矩计算,判断是否能稳定抓持该物体。
表7 抓持规则判别时间Table 7 The time of grasping rule calculation
1)抓持手姿:不同手姿(接触点位置和内法矢)影响是否能抓持;
2)摩擦系数:摩擦系数越大,越容易被抓持;
3)外力:外力方向影响是否能抓持:外力越大,越难以抓持。
在力封闭判别和稳定抓持静力模型的基础上,提出了力封闭虚拟手抓持规则,针对静态物体抓持,通过接触点信息和手指抓持信息判断是否符合力封闭以及手指可提供压力。该抓持规则有以下特点:
1)通过稳定抓持静力模型求解接触点所需压力,判别该手指是否能提供所需压力,符合人手抓持物体的真实判别条件;
2)区分不同手指可提供压力,人手的不同手指骨骼、肌肉的差别决定其可提供压力大小不同,该规则符合人手抓持的真实判别条件。
虽然力封闭虚拟手抓持规则有上述优势,通过手姿接触点判别能否提供满足该姿势下抓持物体的力,但依然存在一些不足。一是计算涉及非线性规划求解,要保证求解的精度会导致计算复杂度很高,很难实现实时求解;二是不同年龄、不同性别的人,手指可提供压力不同,文章没有针对这些差异制定人手手指最大可提供压力的判别条件。针对上述问题,随着计算机性能的提高,必然能满足实时求解力封闭条件的要求。同时针对不同性别,需要进一步测量不同性别的人手手指可提供最大压力。
目前主流的通过经验总结的几何规则制定具有计算简单、实时性强等优势,且能一定程度上符合实际抓持的体验。但是其不涉及或涉及较少的力与力矩的计算,在仿真实际抓持过程中难免会出现不符合实际抓持体验的情况。而通过力与力矩计算制定的基于物理的虚拟手抓持规则能更符合实际抓持,很好地仿真抓持过程,但是计算复杂度高、难以满足实时性,目前难以应用。所以需要研究基于物理的抓持规则并对其计算过程进行优化,实现满足实时性要求的目的。随着计算机性能的不断提高,由基于几何的虚拟手抓持规则向基于物理的虚拟手抓持规则过渡也是虚拟手抓持研究的必然趋势。