一种面向穿戴式触觉设备的虚拟手碰撞检测方法与流程

文档序号:16516071发布日期:2019-01-05 09:38阅读:302来源:国知局
一种面向穿戴式触觉设备的虚拟手碰撞检测方法与流程

本发明涉及穿戴式设备技术领域,尤其涉及一种面向穿戴式触觉设备的虚拟手碰撞检测方法。



背景技术:

触觉交互范式正在经历从桌面式触觉到穿戴式触觉的演变,新的交互范式下虚拟化身从一个刚体(6dof运动)变成了虚拟手(具有25个dof的多关节链接系统),并且虚拟手和虚拟物体之间交互姿态多样,如单指节单点碰撞、单指节多点碰撞、多指节多点碰撞等,为了快速准确地确定不同接触状态下的碰撞位置,对碰撞检测方法的要求较高。

目前面向穿戴式触觉设备的虚拟手碰撞检测方式主要有三种,第一种是利用unity3d自带的包围盒进行检测,利用原型包围盒模拟物体会导致精度差的问题,而利用网格包围盒模拟物体精度较高,但是检测时间远远超出3ms,难以满足力觉反馈1khz的计算频率要求;第二种是利用在指节关节点处放置虚拟小球传感器,通过小球传感器检测是否与场景发生碰撞,但是这种检测方式只能检测关节处的碰撞,无法检测指节发生的碰撞,导致精度差、体验感降低;第三种是利用哈希网格的方式对空间区域进行划分,并对处于同一空间区域的网格建立同一索引值,进行碰撞检测时,只检测同一索引值下面的网格是否发生碰撞,但是这种检测时间最快只能达到8ms,实时性较差。由此可见,现有技术中的各类碰撞检测方法均无法满足1khz实时性的要求,并且检测的准确性有待提高。



技术实现要素:

本发明的目的是提供一种面向穿戴式触觉设备的虚拟手碰撞检测方法,该方法可以实时检测出虚拟手与复杂形状物体接触时的碰撞位置,并能够适应不同交互手势、不同接触点数量的多样性力觉交互要求,为用户感受物体的抓持操作力反馈体验等奠定基础。

本发明的目的是通过以下技术方案实现的:

一种面向穿戴式触觉设备的虚拟手碰撞检测方法,所述方法包括:

步骤1、首先测量虚拟手模型的运动信号数据,包括手腕三维转动信息、手指侧摆信息和手指弯曲信息;其中,所述虚拟手模型由多层次八叉球树和圆柱包围盒组成的混合模型表示,具体利用圆柱模型模拟人手指节,利用球树模型模拟手掌;

步骤2、再检测所述虚拟手模型和虚拟物体模型是否发生碰撞,所述虚拟物体模型由多层次八叉球树模型表示;其中,具体判定所述混合模型与球树模型是否发生碰撞,若碰撞,则记录所述虚拟物体模型上的碰撞小球信息、虚拟手模型的碰撞指节信息以及碰撞点位置;

步骤3、然后实时显示记录的碰撞点位置。

由上述本发明提供的技术方案可以看出,上述方法可以实时检测出虚拟手与复杂形状物体接触时的碰撞位置,并能够适应不同交互手势、不同接触点数量的多样性力觉交互要求,为用户感受物体的抓持操作力反馈体验等奠定基础。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的面向穿戴式触觉设备的虚拟手碰撞检测方法流程示意图;

图2为本发明实施例所提供混合模型的结构示意图;

图3为本发明实施例所述虚拟物体模型的构建过程示意图;

图4为本发明实施例所述完全相交的示意图;

图5为本发明实施例所述完全不相交的示意图;

图6为本发明实施例所述斜交的示意图;

图7为本发明实施例所述正交的示意图;

图8为本发明实施例所述dll与unity3d集成过程示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

下面将结合附图对本发明实施例作进一步地详细描述,如图1所示为本发明实施例提供的面向穿戴式触觉设备的虚拟手碰撞检测方法流程示意图,所述方法包括:

步骤1、首先测量虚拟手模型的运动信号数据,包括手腕三维转动信息、手指侧摆信息和手指弯曲信息;

具体实现中,由于无法采集食指、中指、无名指、小拇指远指节的弯曲角度,需要利用人手生理学结构特点,利用下述公式通过中指节pip转角解算远指节dip的转角。

θdip=(2/3)·θpip

另外,上述转角信息均为角度值,需要在进行虚拟手位姿计算时转化为弧度值进行计,所述用户佩戴数据手套操作虚拟手模型是利用关节空间映射方式实现一一对应的。

其中,所述虚拟手模型由多层次八叉球树和圆柱包围盒组成的混合模型表示,鉴于人手指节具有规则形状这一生理学特点,具体利用圆柱模型模拟人手指节,利用球树模型模拟手掌,从而有效提高碰撞检测效率,如图2所示为本发明实施例所提供混合模型的结构示意图;其中,圆柱模型由给定的轴线信息及半径信息获得。

步骤2、再检测所述虚拟手模型和虚拟物体模型是否发生碰撞,所述虚拟物体模型由多层次八叉球树模型表示;

具体实现中,所述虚拟物体模型由多层次八叉球树模型表示,可以较为真实的逼近真实物体形状,并且由于小球具有各项同性的性质,可以简化检测方法物理模型的构建,如图3所示为本发明实施例所述虚拟物体模型的构建过程示意图。

其中,具体判定所述混合模型与球树模型是否发生碰撞,若碰撞,则记录所述虚拟物体模型上的碰撞小球信息、虚拟手模型的碰撞指节信息以及碰撞点位置;

步骤3、然后实时显示记录的碰撞点位置。

在该步骤中,可以通过图形显示模块实时显示记录的碰撞位置,验证检测结果正确性;当检测到发生碰撞时,虚拟物体模型发生碰撞的小球变色,并随碰撞位置的不同可以实现实时更新。

上述步骤2的检测过程可以包括:球-圆柱模型碰撞检测和球-球模型碰撞检测。

在球-圆柱模型碰撞检测过程中,根据球模型与圆柱模型的碰撞方式采用不同的判断依据,所述碰撞方式分别为完全相交、完全不相交、斜交与正交,其中:

若碰撞方式为完全相交,如图4所示为本发明实施例所述完全相交的示意图,则判断球心到圆柱中轴线的距离|oc|与球半径r与圆柱半径r之间的关系,若满足如下公式,则判定两者发生碰撞:

其中,

图4中,o表示球心,a、b分别代表单一指节圆柱模型和虚拟物体球模型的焦点,c代表虚拟物体球模型的球心到圆柱模型中轴线的垂足位置,d和e表示圆柱的两端点。

xd、yd、zd分别代表图4中d点的x、y、z坐标,xe、ye、ze分别代表图4中e点的x、y、z坐标。

若碰撞方式为完全不相交,如图5所示为本发明实施例所述完全不相交的示意图,则判断是否同时满足如下两个公式,若满足,则判定两者发生碰撞:

为球心到距离球心距离较近的圆柱端面中心点的向量,为球心到圆柱中轴线的垂足点到距离球心距离较近的圆柱端面中心点的向量,为圆柱中轴线段向量。

其中,e=(xe-xd)2+(ye-yd)2+(ze-zd)2

f=(xo-xd)(xe-xd)+(yo-yd)(ye-yd)+(ze-zd)(ze-zd)

xd、yd、zd、xe、ye、ze意义同上。

若碰撞方式为斜交或正交,如图6所示为本发明实施例所述斜交的示意图,如图7所示为本发明实施例所述正交的示意图,此时垂足没有落在中轴线段上,则判断是否满足如下公式,若满足,则判定两者发生碰撞:

dismin=min(|od|,||oe||)≤r+r。

|od|、|oe|分别为球心到圆柱两端面圆心的距离。

另外,在球-球模型碰撞检测过程中,根据两个小球球心之间的距离是否小于半径之和来作为判断依据,首先对最外层大圆进行求交运算,再用虚拟手模型的每一个球模型与虚拟物体模型的每一个球模型求交,舍弃没有相交的球,再利用相交球进行下一层级的检测,直到一方没有子球为止。

具体判断是否满足如下公式,若满足,则判定两者发生碰撞:

(xa-xb)2+(ya-yb)2+(za-zb)2<(ra+rb)2

其中,小球a的中心点为oa(xa,ya,za),半径为ra;小球b的中心点为ob(xb,yb,zb),半径为rb。

具体实现中,还可以将所述碰撞检测方法进一步封装为动态链接库dll(dynamiclinklibrary),并与三维沉浸式显示器开发平台unity3d进行集成,如图8所示为本发明实施例所述dll与unity3d集成过程示意图,进而实现在虚拟现实环境中满足1khz实时交互的需求,所述dll封装是将所述碰撞检测方法中涉及到的公式表示的函数进行封装。

值得注意的是,本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

综上所述,本发明实施例所述方法具有如下优点:

(1)在虚拟手建模中采用圆柱模型模拟指节、球树模型模拟手掌的方式,较为真实的模拟了人手形状;在虚拟物体建模中采用基于层次化球树的几何建模方法,可以准确地逼近任意复杂形状的物体;

(2)基于球-圆柱模型和球-球模型的层次化碰撞检测方法能够满足复杂形状物体不同接触状态和不同交互类型的1khz计算要求,保证了仿真的实时性;

(3)在图形学上实时显示碰撞位置信息,便于观察和验证碰撞检测位置解算的正确性;

(4)可以实现碰撞检测方法的封装,提供了虚拟现实环境中实时检测碰撞的可能。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1