一种在虚拟现实中复杂运动约束下物体抓取交互方法技术

技术编号:20943792 阅读:32 留言:0更新日期:2019-04-24 02:07
本发明专利技术公开了一种在虚拟现实中复杂运动约束下物体抓取交互方法,主要包括初始设置、抓取操作、物体当前状态确定、抓取物体判断、虚拟手掌位置调整、运动趋势计算、运动趋势判断、运动趋势有效性判断。本发明专利技术正确处理了用户在现实中无运动约束情况下对虚拟环境中复杂运动约束下物体抓取的操作仿真问题,实现了虚拟空间中操作对象在交互操作过程中满足实体之间相互阻挡的约束关系,避免出现被虚拟手抓取的物体穿越约束限制的问题与虚拟手抓取物体过程中跳变的问题。

An Interactive Method for Object Grabbing under Complex Motion Constraints in Virtual Reality

The invention discloses an object grabbing interaction method under complex motion constraints in virtual reality, which mainly includes initial setting, grabbing operation, determination of current state of object, judgment of grabbing object, adjustment of virtual palm position, calculation of motion trend, judgment of motion trend and validity judgment of motion trend. The invention correctly handles the operation simulation problem of grasping objects under complex motion constraints in virtual environment without motion constraints in reality, realizes that the operation objects in virtual space meet the restriction relationship between entities in the interactive operation process, and avoids the problem of objects being grasped by virtual hands crossing the restriction and the process of grasping objects by virtual hands. The problem of jumping.

【技术实现步骤摘要】
一种在虚拟现实中复杂运动约束下物体抓取交互方法
本专利技术涉及虚拟现实
,是一种针对虚拟现实系统中复杂运动约束下物体抓取交互方法。
技术介绍
目前虚拟现实系统的应用中,无论是游戏系统还是行业专业系统,包括样机原理演示、工程设计或验证、培训等,使用最多的虚拟现实硬件配置是:带位置和姿态跟踪的虚拟现实头盔、操作手柄或数据手套。用户佩戴虚拟现实头盔,手持操作手柄或数据手套,控制虚拟环境中的物体,该虚拟物体作为用户在虚拟环境中的代理,再与虚拟环境中其他物体相互作用。虚拟环境中用户代理(本专利技术以虚拟手为用户代理进行描述)由现实世界用户的跟踪定位数据实时驱动。由于用户佩戴虚拟现实头盔,根据眼睛观察到的虚拟场景图像,控制操作手柄或数据手套移动,去操作虚拟环境中的物体。在这过程中现实世界用户手部移动不受虚拟环境存在的约束限制。当用户抓取并移动被限制在一定范围内可活动的物体时,如果处理不当,被操作物体会出现如下两个不符合现实物理规律的现象:1)虚拟手随着用户手部移动,使被虚拟手抓取的物体穿越限制;2)虚拟手抓取物体的瞬间,虚拟物体突然跳变到虚拟手上,导致抓取过程跳变,不连续。这两点都不符合现实世界操作物体过程中物理规律。
技术实现思路
针对上述问题,本专利技术的目的是提供一种针对虚拟现实系统中复杂运动约束下物体抓取交互方法。该专利技术主要针对虚拟环境中受约束物体活动范围建立多个限制触发器与一个状态触发器,设置约束运动的障碍物。如果物体在状态触发器内,表示处于运动约束状态;如果物体处于约束状态,在活动范围内移动且碰到某个限制触发器时,根据运动趋势判断,物体在下一帧继续碰到该限制触发器,那么当前虚拟物体不能再继续往前运动,其运动状态不变,同时抓住虚拟物体的虚拟手也不能跟随现实世界用户手部移动,而保持虚拟手抓住虚拟物体的连续状态,这样保证了交互操作仿真效果符合现实世界手抓取物体操作的运动关系。此时如果用户继续向运动趋势方向移动操作手柄,通过操作手柄的振动功能提醒用户虚拟手的运动已被限制,随着距离增大,振动幅度和频率变大,移动距离达到某个值时,虚拟手与虚拟物体断开。为实现上述目的,本专利技术采取以下技术方案:一种在虚拟现实中复杂运动约束下物体抓取交互方法,包括以下步骤:1)设定虚拟手与交互设备跟踪定位点关系,设置物体限制约束条件,建立物体与手部标准位置挂点;2)控制虚拟手抓取物体;3)判断物体当前是处于约束状态,还是自由无约束状态;4)如果物体处于约束状态,则当虚拟手与物体距离小于设定值时,判断虚拟手抓取物体,然后进入步骤5;如果物体处于自由无约束状态,则直接将物体附着到虚拟手上,虚拟物体完全跟随虚拟手移动,抓取交互完成;5)当虚拟手抓取物体后,通过调整虚拟手姿态,显示抓取物体的合适手势;6)根据上一帧与当前帧被抓取物体的位置,实时计算手部下一帧运动趋势;7)根据运动趋势,判断下一帧物体是处于运动约束状态还是自由运动状态;8)根据判断结果,当下一帧物体处于运动约束状态时则虚拟手停止运动,当下一帧物体处于自由运动状态时则虚拟手继续移动。9)虚拟手放开物体。优选的,所述步骤1)中按照如下方式设置物体限制约束条件:在物体被限制的范围和方向上设置多个限制触发器,每个限制触发器有一个禁止通过的运动方向。优选的,所述步骤1)中按照如下方式设置物体限制约束条件:设置一个用来判断物体是否处于约束状态的状态触发器。优选的,所述步骤1)中按照如下方式设定虚拟手与交互设备跟踪定位点关系:在虚拟环境中建立一个虚拟手计算管理类HandAnchor,其位置和姿态直接与现实世界用户手部运动一致;在HandAnchor节点下创建一个子级物体HandOffset,HandOffset位置和姿态代表虚拟手的位置和姿态;当操作自由移动的物体时,HandAnchor与HandOffset位置一致,即虚拟手及被操作的物体完全跟随现实世界用户手部运动;当操作处于约束状态下的物体时,HandAnchor与HandOffset位置不一致,虚拟手及被操作的物体在特定约束区域内不能跟随现实世界用户手部运动。优选的,所述步骤5)中按照如下方式调整虚拟手姿态:首先获取被操作物体上挂点位置信息,并转化为世界坐标系下的值,包括位置和姿态;接着获取HandOffset的位置信息,并转化为世界坐标下的值;最后对世界坐标下的HandOffset使用线性插值算法,计算HandOffset中间值,通过赋值操作,把虚拟手逐渐移动到挂点位置。优选的,所述步骤6)中按照如下方式计算手部下一帧运动趋势:保留虚拟手掌上一帧位置信息,将虚拟手掌当前帧位置与上一帧位置相减,所得向量即为虚拟手掌本帧的运动趋势,包含方向和距离。优选的,所述步骤7)中按照如下方式判断下一帧物体处于运动约束状态:物体当前处于约束状态,约束运动的障碍物已经与限制触发器发生触碰,而且虚拟手的运动趋势与约束运动的障碍物触碰的限制触发器禁止通过的运动方向夹角小于90度。虚拟手的运动趋势向量与约束运动的障碍物触碰的限制触发器禁止通过的运动方向向量进行点乘,通过两个向量点乘结果的正负来判断,如果点乘结果大于0,则两个向量夹角小于90度。抓取动作结束后,虚拟手可以主动放开物体;当虚拟手与跟踪定位点不一致导致距离超过限定值时,虚拟手被动放开物体。本专利技术由于采取上述技术方案,其具有以下技术优点:正确处理了用户在现实中无运动约束情况下对虚拟环境中复杂运动约束下物体抓取的操作仿真问题,实现了虚拟空间中操作对象在交互操作过程中满足实体之间相互阻挡的约束关系,避免出现被虚拟手抓取的物体穿越约束限制的问题与虚拟手抓取物体过程中跳变的问题,增强了虚拟环境交互操作的真实性。适合应用于采用简单的交互设备操作虚拟环境中在一定运动约束范围内可多自由度运动复杂物体的连续操作仿真。附图说明图1为虚拟手操作复杂运动约束物体技术流程图;图2为触发器设置示例图;图3为虚拟手抓取物体判断及虚拟手位置调整流程图;图4为虚拟手运动趋势计算原理图;图5为物体运动趋势判断示意图。具体实施方式下面结合附图和实施例对本专利技术的进行详细的描述。在虚拟现实场景中,用户佩戴带位置和姿态跟踪的虚拟现实头盔、操作手柄或数据手套(下文以操作手柄进行说明)。用户根据眼睛观察到的虚拟场景图像,移动操作手柄,操作虚拟环境中被限制在一定范围内活动的物体。实现交互操作的技术流程如图1所示。步骤1:初始设置首先设定虚拟手与交互设备跟踪定位点关系。在虚拟环境中建立一个虚拟手计算管理类HandAnchor,其位置和姿态直接由操作手柄的跟踪定位数据驱动。在HandAnchor节点下创建一个子级物体HandOffset,HandOffset位置和姿态代表虚拟手的位置和姿态。当操作自由移动的物体时,HandAnchor与HandOffset位置一致,即虚拟手及被操作的物体完全跟随现实世界用户手部运动;当操作处于约束状态下的物体时,虚拟手与被操作物体被束缚住,HandAnchor与HandOffset位置不一致,现实世界用户手部运动在一定范围内不能带动被束缚的虚拟手运动。其次设置物体限制约束条件。被操作虚拟物体的运动被虚拟环境中其他物体在一定范围内限制,被限制的范围和方向通过设计多个限制触发器来定义。限制触发器的位置、大小、数量取本文档来自技高网...

【技术保护点】
1.一种在虚拟现实中复杂运动约束下物体抓取交互方法,其特征在于,包括以下步骤:1)设定虚拟手与交互设备跟踪定位点关系,设置物体限制约束条件,建立物体与手部标准位置挂点;2)控制虚拟手抓取物体;3)判断物体当前是处于约束状态,还是自由无约束状态;4)如果物体处于约束状态,则当虚拟手与物体距离小于设定值时,判断虚拟手抓取物体,然后进入步骤5;如果物体处于自由无约束状态,则直接将物体附着到虚拟手上,虚拟物体完全跟随虚拟手移动,抓取交互完成;5)当虚拟手抓取物体后,通过调整虚拟手姿态,显示抓取物体的合适手势;6)根据上一帧与当前帧被抓取物体的位置,实时计算手部下一帧运动趋势;7)根据运动趋势,判断下一帧物体是处于运动约束状态还是自由运动状态;8)根据判断结果,当下一帧物体处于运动约束状态时则虚拟手停止运动,当下一帧物体处于自由运动状态时则虚拟手继续移动;9)虚拟手放开物体。

【技术特征摘要】
1.一种在虚拟现实中复杂运动约束下物体抓取交互方法,其特征在于,包括以下步骤:1)设定虚拟手与交互设备跟踪定位点关系,设置物体限制约束条件,建立物体与手部标准位置挂点;2)控制虚拟手抓取物体;3)判断物体当前是处于约束状态,还是自由无约束状态;4)如果物体处于约束状态,则当虚拟手与物体距离小于设定值时,判断虚拟手抓取物体,然后进入步骤5;如果物体处于自由无约束状态,则直接将物体附着到虚拟手上,虚拟物体完全跟随虚拟手移动,抓取交互完成;5)当虚拟手抓取物体后,通过调整虚拟手姿态,显示抓取物体的合适手势;6)根据上一帧与当前帧被抓取物体的位置,实时计算手部下一帧运动趋势;7)根据运动趋势,判断下一帧物体是处于运动约束状态还是自由运动状态;8)根据判断结果,当下一帧物体处于运动约束状态时则虚拟手停止运动,当下一帧物体处于自由运动状态时则虚拟手继续移动;9)虚拟手放开物体。2.根据权利要求1所述的在虚拟现实中复杂运动约束下物体抓取交互方法,其特征在于所述步骤1)中按照如下方式设置物体限制约束条件:在物体被限制的范围和方向上设置多个限制触发器,每个限制触发器有一个禁止通过的运动方向。3.根据权利要求2所述的在虚拟现实中复杂运动约束下物体抓取交互方法,其特征在于所述步骤1)中按照如下方式设置物体限制约束条件:设置一个用来判断物体是否处于约束状态的状态触发器。4.根据权利要求1所述的在虚拟现实中复杂运动约束下物体抓取交互方法,其特征在于所述步骤1)中按照如下方式设定虚拟手与交互设备跟踪定位点关系:在虚拟环境中建立一个虚拟手计算管理类HandAnchor,其位置和姿态直接与现实世界用户手部运动一致;在HandAnchor节点下创建一个子级物体HandOffset,HandOffset位置和姿态代表虚拟手的位置和姿态;当操作自由移动的物体时,HandAnchor与HandOffset位置一致,即虚拟手及被操作的物体完全跟随现实世界...

【专利技术属性】
技术研发人员:陈学文王京涛张炎黄鹏杜芳马飞
申请(专利权)人:中国航天员科研训练中心北京华如科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1