首页 / 专利库 / 计算机网络 / 物联网 / 人机交互 / 模型处理方法、装置、计算机设备和存储介质

模型处理方法、装置、计算机设备和存储介质

阅读:765发布:2020-05-08

专利汇可以提供模型处理方法、装置、计算机设备和存储介质专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种模型处理方法、装置、计算机设备和存储介质。方法包括:通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型,获取物体虚拟模型在虚拟空间中的物体 位置 ,以及手部虚拟模型在虚拟空间中的手部位置,根据物体位置和手部位置调整物体虚拟模型的 刚度 数据,并根据调整后的刚度数据得到 力 反馈数据,通过手部机械模型输出 力反馈 数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。通过调整刚度数据,再根据调整后的刚度数据得到力反馈数据,手部机械模型可以根据力反馈数据对手部产生作用力,使得手部能够感受到手部虚拟模型和物体虚拟模型之间的作用力,使得 人机交互 更加智能化。,下面是模型处理方法、装置、计算机设备和存储介质专利的具体信息内容。

1.一种模型处理方法,所述方法包括:
通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到反馈数据;
通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
2.根据权利要求1所述的方法,其特征在于,所述获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置,包括:
获取所述物体虚拟模型中虚拟物体的碰撞体位置,并将所述虚拟物体的碰撞体位置作为所述物体虚拟模型的物体位置;
获取所述手部虚拟模型中虚拟手部的碰撞体位置,并将所述虚拟手部的碰撞体位置作为所述手部虚拟模型的手部位置。
3.根据权利要求1所述的方法,其特征在于,所述手部位置包括所述手部虚拟模型中各个虚拟手指的位置;
所述根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,包括:
根据所述物体位置以及所述各个虚拟手指的位置,调整所述物体虚拟模型的刚度数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,包括:
根据所述物体位置与所述手部位置,得到所述物体虚拟模型与所述手部虚拟模型的重叠区域;
根据所述重叠区域调整所述物体虚拟模型的刚度数据,得到调整后的刚度数据。
5.根据权利要求4所述的方法,其特征在于,所述根据调整后的刚度数据得到力反馈数据,包括:
根据所述调整后的刚度数据,对所述手部虚拟模型的力反馈方向以及力反馈强度进行调整;
根据调整后的力反馈方向以及调整后的力反馈强度得到所述力反馈数据;
其中,所述调整后的力反馈强度与所述刚度数据呈正相关。
6.根据权利要求1所述的方法,其特征在于,所述通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型,包括:
通过所述手部机械模型获取每个手指的摆动数据和弯曲数据;
根据所述摆动数据和所述弯曲数据,在所述虚拟空间中生成所述手部虚拟模型。
7.根据权利要求6所述的方法,其特征在于,所述通过所述手部机械模型获取每个手指的摆动数据和弯曲数据,包括:
通过所述手部机械模型采集手指对应的各个关节所产生的联动数据;
根据所述联动数据,生成所述手指的摆动数据和弯曲数据。
8.一种模型处理装置,其特征在于,所述装置包括:
手部虚拟模型生成模,用于通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
位置获取模块,用于获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
刚度数据调整模块,用于根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
力反馈数据输出模块,用于通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书全文

模型处理方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种模型处理方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着计算机技术的发展,越来越多的技术可以在虚拟空间中进行操作和实现。虚拟空间中可以创建各种模型以实现如三维视频游戏、建筑可视化、实时三维动画等类型的互动内容,虚拟空间的应用领域可以包括有医疗、教育、娱乐等,非常广泛。例如,利用手持式遥控器或者是位于人体各个部位的传感器跟踪用户的运动,最后将人体的这种运动同步至虚拟空间之中,以达到提升用户沉浸感的目的。其中,虚拟空间中的各种物体可以是通过创建模型形成的。
[0003] 然而,在进行人机交互时,存在人机交互不够智能化的问题。发明内容
[0004] 基于此,有必要针对上述技术问题,提供一种模型处理方法、装置、计算机设备和存储介质,可以使人机交互更加智能化。
[0005] 一种模型处理方法,所述方法包括:
[0006] 通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
[0007] 获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
[0008] 根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到反馈数据;
[0009] 通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
[0010] 在其中一个实施例中,获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置,包括:
[0011] 获取所述物体虚拟模型中虚拟物体的碰撞体位置,并将所述虚拟物体的碰撞体位置作为所述物体虚拟模型的物体位置;
[0012] 获取所述手部虚拟模型中虚拟手部的碰撞体位置,并将所述虚拟手部的碰撞体位置作为所述手部虚拟模型的手部位置。
[0013] 在其中一个实施例中,所述手部位置包括所述手部虚拟模型中各个虚拟手指的位置;
[0014] 所述根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,包括:
[0015] 根据所述物体位置以及所述各个虚拟手指的位置,调整所述物体虚拟模型的刚度数据。
[0016] 在其中一个实施例中,所述根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,包括:
[0017] 根据所述物体位置与所述手部位置,得到所述物体虚拟模型与所述手部虚拟模型的重叠区域;
[0018] 根据所述重叠区域调整所述物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0019] 在其中一个实施例中,所述根据调整后的刚度数据得到力反馈数据,包括:
[0020] 根据所述调整后的刚度数据,对所述手部虚拟模型的力反馈方向以及力反馈强度进行调整;
[0021] 根据调整后的力反馈方向以及调整后的力反馈强度得到所述力反馈数据;
[0022] 其中,所述调整后的力反馈强度与所述刚度数据呈正相关。
[0023] 在其中一个实施例中,所述通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型,包括:
[0024] 通过所述手部机械模型获取每个手指的摆动数据和弯曲数据;
[0025] 根据所述摆动数据和所述弯曲数据,在所述虚拟空间中生成所述手部虚拟模型。
[0026] 在其中一个实施例中,所述通过所述手部机械模型获取每个手指的摆动数据和弯曲数据,包括:
[0027] 通过所述手部机械模型采集手指对应的各个关节所产生的联动数据;
[0028] 根据所述联动数据,生成所述手指的摆动数据和弯曲数据。
[0029] 一种模型处理装置,所述装置包括:
[0030] 手部虚拟模型生成模,用于通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
[0031] 位置获取模块,用于获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
[0032] 刚度数据调整模块,用于根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0033] 力反馈数据输出模块,用于通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
[0034] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0035] 通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
[0036] 获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
[0037] 根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0038] 通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
[0039] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0040] 通过手部机械模型检测手部动作数据,并根据所述手部动作数据在虚拟空间中生成手部虚拟模型;
[0041] 获取物体虚拟模型在所述虚拟空间中的物体位置,以及所述手部虚拟模型在所述虚拟空间中的手部位置;
[0042] 根据所述物体位置和所述手部位置调整所述物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0043] 通过所述手部机械模型输出所述力反馈数据,其中,所述力反馈数据用于模拟所述物体虚拟模型和所述手部虚拟模型之间的作用力。
[0044] 上述模型处理方法、装置、计算机设备和存储介质,通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型,获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置,根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据,通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。根据物体虚拟模型和手部虚拟模型的位置来对物体模型的刚度数据进行调整,进一步根据调整后的刚度数据得到力反馈数据,手部机械模型可以根据得到的力反馈数据对手部产生作用力,使得手部能够感受到手部虚拟模型和物体虚拟模型之间的作用力,使得人机交互更加智能化。附图说明
[0045] 图1为一个实施例中模型处理方法的应用环境图;
[0046] 图2为一个实施例中模型处理方法的流程示意图;
[0047] 图3为一个实施例中物体虚拟模型和手部虚拟模型的位置示意图;
[0048] 图4为一个实施例中物体虚拟模型与手部虚拟模型的重叠区域示意图;
[0049] 图5为一个实施例中模型处理装置的结构框图
[0050] 图6为一个实施例中计算机设备的内部结构图。

具体实施方式

[0051] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0052] 本申请实施例提供的模型处理方法,可以应用于如图1所示的应用环境中。如图1所示,应用环境包括计算机设备110和手部机械模型120。其中,计算机设备110与手部机械模型120可以通过无线网络连接,从而进行通信。例如,计算机设备110可以2.4G无线模块与手部机械模型120通信。手部机械模型120可以检测手部动作数据,并将检测到的手部动作数据发送给计算机设备110。计算机设备110可以根据手部动作数据在虚拟空间中生成手部虚拟模型。计算机设备110可以获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置。计算机设备110可以根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据。计算机设备110可以将力反馈数据发送给手部机械模型120,手部机械模型120可以输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。其中,计算机设备110可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等设备,手部机械模型120可以是手部机械外骨骼
[0053] 在一个实施例中,手部机械模型可以检测手部动作数据,并将检测到的手部动作数据发送给计算机设备。计算机设备可以根据手部动作数据在虚拟空间中生成手部虚拟模型。计算机设备可以获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置。计算机设备可以将获取到的物体位置和手部位置发送给手部机械模型,由手部机械模型计算出调整后的物体虚拟模型的刚度数据,手部机械模型可以根据刚度数据和手部位置得到力反馈数据。手部机械模型可以输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。
[0054] 在一个实施例中,如图2所示,提供了一种模型处理方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
[0055] 步骤202,通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型。
[0056] 其中,手部机械模型可以是手部机械外骨骼,还可以是其他机械模型,在此不做限定。其中,手部机械外骨骼又可以称为手部动力外骨骼,是一种由框架构成并且可以让人配戴在手部的机器装置,这个装置可以提供力量来供手部运动。手部动作数据可以包括手掌的运动数据以及各个手指的运动数据,例如,手部运动数据可以包括手掌的张开数据、手指的弯曲数据、手指的摆动数据等。虚拟空间可以是一个三维空间,虚拟空间可以是通过计算机软件模拟出来的,计算机设备的显示屏中可以呈现出虚拟空间中的画面。
[0057] 计算机设备可以通过无线网络与手部机械模型通信。当手部机械模型开启时,手部机械模型可以检测手部动作数据。具体的,手部机械模型可以通过传感器对手部的手部动作数据进行检测。手部机械模型检测到手部动作数据后,可以将检测到的手部动作数据发送给计算机设备。计算机设备可以根据手部动作数据在虚拟空间中生成手部虚拟模型。
[0058] 步骤204,获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置。
[0059] 物体虚拟模型可以是预先建立好的存在于虚拟空间中的模型,物体虚拟模型可以是虚拟空间中的球、桌子、椅子、猫、狗等虚拟的物体模型。物体虚拟模型在虚拟空间的位置可以是运动的,也可以是固定的,在此不做限定。由于手部虚拟模型是根据手部机械模型检测到的手部动作数据生成的,因此,当手部在运动时,手部动作数据可以根据手部的运动发生变化,手部虚拟模型也会根据手部动作数据的变化而变化。当手部处于静止状态时,手部虚拟模型在虚拟空间中的位置可以是固定的,当手部处于运动状态时,手部虚拟模型可以跟随手部的运动在虚拟空间中变化位置。
[0060] 计算机设备可以获取当前时刻物体虚拟模型在虚拟空间中的物体位置。具体的,计算机设备可以以坐标的形式获取物体虚拟模型在虚拟空间中的物体位置,例如,计算机设备在当前时刻获取的物体虚拟模型在虚拟空间中的物体位置可以是(x,y,z)。计算机设备可以获取当前时刻手部虚拟模型在虚拟空间中的手部位置。具体的,计算机设备可以以坐标的形式获取手部虚拟模型在虚拟空间中的手部位置,例如,计算机设备在当前时刻获取的手部虚拟模型在虚拟空间中的手部位置可以是(a,b,c)。其中,计算机设备获取物体位置的当前时刻与获取手部位置的当前时刻可以是同一时刻。
[0061] 步骤206,根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据。
[0062] 刚度数据可以用于表示物体虚拟模型的刚度。刚度是指材料或结构在受力时抵抗弹性变形的能力。即,物体虚拟模型的刚度数据可以用于表示物体虚拟模型在受力时抵抗弹性变形的能力。力反馈可以用于表示反作用力,力反馈数据可以用于表示手部虚拟模型与物体虚拟模型之间的作用力。
[0063] 计算机设备可以在获取到物体位置和手部位置后,可以根据物体位置和手部位置调整物体虚拟模型的刚度数据。具体的,计算机设备可以按照物体位置与手部位置之间的距离调整物体虚拟模型的刚度数据;计算机设备还可以根据位于物体位置的物体虚拟模型与位于手部位置的手部虚拟模型的重叠区域,调整物体虚拟模型的刚度数据;计算机设备还可以根据位于物体位置的物体虚拟模型与位于手部位置的手部虚拟模型产生重叠区域的时间,调整物体虚拟模型的刚度数据等,在此不做限定。
[0064] 计算机设备可以根据调整后的刚度数据得到力反馈数据,其中,计算机设备得到的力反馈数据与调整后的刚度数据呈正相关,即,计算机设备获取到的调整后的刚度数据越大,得到的力反馈数据越大。
[0065] 在另一个实施例中,计算机设备可以将获取到的物体位置和手部位置发送给手部机械模型,手部机械模型可以根据物体位置和手部位置计算得到调整后的刚度数据,并根据刚度数据和手部位置得到力反馈数据。在本实施例中,计算机设备可以通过将物体位置和手部位置发送发给手部机械模型,使得手部机械模型计算出力反馈数据,分担了计算机设备的计算任务,可以提高力反馈数据的计算效率。
[0066] 步骤208,通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。
[0067] 计算机设备得到力反馈数据后,可以将得到的力反馈数据发送给手部机械模型,手部机械模型可以输出力反馈数据。由于力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力,因此,手部机械模型输出的力反馈数据可以作用于手部,使得用户感受到物体虚拟模型与手部虚拟模型之间的作用力。
[0068] 在本实施例中,通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型,获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置,根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据,通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。根据物体虚拟模型和手部虚拟模型的位置来对物体模型的刚度数据进行调整,进一步根据调整后的刚度数据得到力反馈数据,手部机械模型可以根据得到的力反馈数据对手部产生作用力,使得手部能够感受到手部虚拟模型和物体虚拟模型之间的作用力,使得人机交互更加智能化。
[0069] 在一个实施例中,提供的一种模型处理方法还可以包括获取物体位置和手部位置的过程,具体包括:获取物体虚拟模型中虚拟物体的碰撞体位置,并将虚拟物体的碰撞体位置作为物体虚拟模型的物体位置;获取手部虚拟模型中虚拟手部的碰撞体位置,并将虚拟手部的碰撞体位置作为手部虚拟模型的手部位置。
[0070] 碰撞体可以是使物体彼此之间发生碰撞的属性,碰撞体可以用于检测虚拟空间中的两个或者多个物体是否发生碰撞。虚拟空间中的物体都挂载有碰撞体,若没有碰撞体,虚拟空间中的物体会发生穿插。其中,物体模拟模型中的碰撞体可以有多个,计算机设备可以从物体虚拟模型的多个碰撞体中选择一个或者多个碰撞体作为虚拟物体的碰撞体。具体的,计算机设备可以将位于物体虚拟模型边缘的碰撞体作为虚拟物体的碰撞体。
[0071] 可以理解的,手部虚拟模型中的碰撞体可以有多个,计算机设备可以从手部虚拟模型的多个碰撞体中选择一个或者多个碰撞体作为虚拟手部的碰撞体。具体的,计算机设备可以将位于手部虚拟模型边缘的碰撞体作为虚拟手部的碰撞体,例如,计算机设备可以将手部虚拟模型中手指上的碰撞体作为虚拟手部的碰撞体。
[0072] 计算机设备选定物体虚拟模型中虚拟物体的碰撞体以及手部虚拟模型中虚拟手部的碰撞体后,可以获取虚拟物体的碰撞体位置以及虚拟手部的碰撞体位置。其中,计算机设备可以以坐标的形式获取虚拟物体的碰撞体位置以及虚拟手部的碰撞体位置。计算机设备可以将获取到的虚拟物体的碰撞体位置作为物体虚拟模型的物体位置,将获取到的虚拟手部的碰撞体位置作为手部虚拟模型的手部位置。
[0073] 在本实施例中,计算机设备通过获取物体虚拟模型中虚拟物体的碰撞体位置,并将虚拟物体的碰撞体位置作为物体虚拟模型的物体位置,获取手部虚拟模型中虚拟手部的碰撞体位置,并将虚拟手部的碰撞体位置作为手部虚拟模型的手部位置。计算机设备通过碰撞体的位置,获取到物体虚拟模型的物体位置以及手部虚拟模型的手部位置,可以使获取的位置更加准确。
[0074] 在一个实施例中,如图3所示,图3示出了物体虚拟模型的物体位置以及手部虚拟模型的手部位置。物体虚拟模型310中可以有多个碰撞体,计算机设备可以将位于物体虚拟模型310边缘的碰撞体作为虚拟物体的碰撞体312。计算机设备可以获取虚拟物体的碰撞体312的位置,并将虚拟物体的碰撞体312的位置作为物体虚拟模型310的物体位置。可以理解的,手部虚拟模型320中可以有多个碰撞体,计算机设备可以将位于手部虚拟模型320边缘的碰撞体作为虚拟手部的碰撞体322。计算机设备可以获取虚拟手部的碰撞体322的位置,并将虚拟手部的碰撞体322的位置作为手部虚拟模型320的第二位置。
[0075] 在一个实施例中,提供的一种模型处理方法还可以包括调整物体虚拟模型的刚度数据的过程,具体包括:手部位置包括手部虚拟模型中各个虚拟手指的位置;根据物体位置以及各个虚拟手指的位置,调整物体虚拟模型的刚度数据。
[0076] 计算机设备可以将手部虚拟模型中虚拟手部的碰撞体的位置作为手部虚拟模型的手部位置,其中,手部虚拟模型的手部位置可以包括手部虚拟模型中各个虚拟手指的位置。由于虚拟手部的碰撞体可以有多个,因此虚拟手部的碰撞体对应的手部位置也可以有多个,手部位置可以包括各个虚拟手指中碰撞体的位置。
[0077] 计算机设备可以根据获取到的物体位置以及各个虚拟手指的位置来调整物体虚拟模型的刚度数据。具体的,计算机设备可以按照物体位置与各个虚拟手指位置之间的距离调整物体虚拟模型的刚度数据;计算机设备还可以根据物体位置的物体虚拟模型与各个虚拟手指位置的虚拟手指的重叠区域,调整物体虚拟模型的刚度数据;计算机设备还可以根据物体位置的物体虚拟模型与各个虚拟手指位置的虚拟手指产生重叠区域的时间,调整物体虚拟模型的刚度数据等,在此不做限定。
[0078] 在本实施例中,计算机设备根据物体位置以及各个虚拟手指的位置,调整物体虚拟模型的刚度数据。由于手部位置包括手部虚拟模型中各个虚拟手指的位置,计算机设备根据手部位置中各个虚拟手指的位置以及物体位置对刚度数据进行调整,可以提高计算机设备调整刚度数据的精确度。
[0079] 在另一个实施例中,计算机设备可以将手部虚拟模型的手部位置以及虚拟物体物体模型的物体位置发送给手部机械模型。其中,手部位置包括手部虚拟模型中各个虚拟手指的位置。手部机械模型可以根据获取到的物体位置以及各个虚拟手指的位置来调整物体虚拟模型的刚度数据。具体的,手部机械模型可以按照物体位置与各个虚拟手指位置之间的距离调整物体虚拟模型的刚度数据;手部机械模型还可以根据物体位置的物体虚拟模型与各个虚拟手指位置的虚拟手指的重叠区域,调整物体虚拟模型的刚度数据;手部机械模型还可以根据物体位置的物体虚拟模型与各个虚拟手指位置的虚拟手指产生重叠区域的时间,调整物体虚拟模型的刚度数据等,在此不做限定。
[0080] 在另一个实施例中,提供的一种模型处理方法还可以包括调整物体虚拟模型的刚度数据的过程,具体包括:根据物体位置与手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域;根据重叠区域调整物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0081] 物体虚拟模型与手部虚拟模型的重叠区域可以是虚拟空间中物体虚拟模型与手部虚拟模型的交叉区域,用于表示物体虚拟模型与手部虚拟模型在虚拟空间中的接触或者碰撞。
[0082] 计算机设备在获取到虚拟空间中物体虚拟模型的物体位置以及手部虚拟模型的手部位置后,可以根据物体位置以及手部位置判断物体虚拟模型与手部虚拟模型是否存在重叠区域。具体的,计算机设备可以根据物体位置以及手部位置之间的距离判断物体虚拟模型与手部虚拟模型是否存在重叠区域。其中,计算机设备中可以存储有距离阈值,当计算机设备获取的物体位置以及手部位置之间的距离小于或者等于距离阈值时,表示物体虚拟模型与手部虚拟模型之间存在重叠区域。例如,计算机设备中存储的距离阈值为8,计算机设备获取到虚拟空间中物体虚拟模型的物体位置的坐标为(1,2,3),计算机设备获取到虚拟空间中手部虚拟模型的手部位置的坐标为(1,5,7),计算机设备可以计算出物体位置以及手部位置之间的距离为 计算机设备可以将计算出的物体位置以及手部位置之间的距离5与距离阈值8进行比较,从而判断出物体虚拟模型与手部虚拟模型之间存在有重叠区域。
[0083] 其中,物体虚拟模型可以包含有多个层次,每个层次的刚度数据可以是不同的。计算机设备可以获取物体虚拟模型与手部虚拟模型之间的重叠区域。具体的,计算机设备可以根据物体虚拟模型的形状、手部虚拟模型的形状、物体位置以及手部位置之间的距离等,计算出物体虚拟模型与手部虚拟模型之间重叠区域。计算机设备可以根据重叠区域对物体虚拟模型的刚度数据进行调整。具体的,计算机设备可以根据重叠区域的变化情况对物体虚拟模型的刚度数据进行调整。其中,重叠区域在变化时,虚拟物体模型可以进入到不同的层次,从而使得计算机设备可以根据层次对物体虚拟模型的刚度数据进行调整。例如,当计算机设备获取物体虚拟模型进入的层次越深入,那么物体虚拟模型的刚度数据调整幅度可以越大。
[0084] 当计算机设备根据虚拟空间中物体虚拟模型的物体位置和手部虚拟模型的手部位置,判断出物体虚拟模型和手部虚拟模型不存在重叠区域时,表示物体虚拟模型与手部虚拟模型在虚拟空间中不存在碰撞或者交叉,那么计算机设备可以不用调整物体虚拟模型的刚度数据。
[0085] 在本实施例中,计算机设备根据物体位置以及手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域,根据重叠区域调整物体虚拟模型的刚度数据,得到调整后的刚度数据。通过物体位置以及手部位置确定物体虚拟模型与手部虚拟模型的重叠区域,从而对物体虚拟模型的刚度数据进行调整,可以使刚度数据的调整更加准确。
[0086] 在又一个实施例中,手部机械模型可以根据物体位置与手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域;根据重叠区域调整物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0087] 在一个实施例中,如图4所示,以计算机设备调整刚度数据为例,计算机设备可以获取到虚拟空间中物体虚拟模型的物体位置410,以及手部虚拟模型的手部位置420,计算机设备可以根据物体位置410以及手部位置420获取到物体虚拟模型与手部虚拟模型之间的重叠区域430,进一步根据重叠区域430对物体虚拟模型的刚度数据进行调整。如图4所示,当虚拟空间中物体虚拟模型的物体位置410以及手部虚拟模型的手部位置420发生变化时,计算机设备可以根据变化后的物体位置410以及变化后的手部位置420,获取到物体虚拟模型与手部虚拟模型之间的变化后的重叠区域430,计算机设备可以根据变化后的重叠区域430对物体虚拟模型的刚度数据进行调整。
[0088] 在又一个实施例中,提供的一种模型处理方法还可以包括调整物体虚拟模型的刚度数据的过程,具体包括:根据物体位置以及手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域;获取物体虚拟模型与手部虚拟模型产生重叠区域的时长;根据时长调整物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0089] 计算机设备根据物体位置以及手部位置得到物体虚拟模型与手部虚拟模型的重叠区域后,可以获取物体虚拟模型与手部虚拟模型产生重叠区域的时长。计算机设备可以根据产生重叠区域的时长调整物体虚拟模型的刚度数据。具体的,当物体虚拟模型与手部虚拟模型产生重叠区域的时长越长,对物体虚拟模型的刚度数据的调整幅度可以越大。其中,物体虚拟模型与手部虚拟模型产生重叠区域的时长越长,表示手部虚拟模型进入物体虚拟模型的层次越深入,从而计算机设备对物体虚拟模型的刚度数据的调整幅度越大。
[0090] 在再一个实施例中,手部机械模型可以根据物体位置以及手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域;获取物体虚拟模型与手部虚拟模型产生重叠区域的时长;根据时长调整物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0091] 在一个实施例中,提供的一种模型处理方法还可以包括得到力反馈数据的过程,具体包括:根据调整后的刚度数据,对手部虚拟模型的力反馈方向以及力反馈强度进行调整;根据调整后的力反馈方向以及调整后的力反馈强度得到力反馈数据;其中,调整后的力反馈强度与刚度数据呈正相关。
[0092] 手部虚拟模型的力反馈方向可以用于表示手部机械模型作用于手部的力的方向,手部虚拟模型的力反馈强度可以用于表示手部机械模型作用于手部的力的强度。
[0093] 计算机设备获取到调整后的刚度数据后,可以对手部虚拟模型的力反馈方向以及力反馈强度进行调整。由于刚度数据是根据物体虚拟模型与手部虚拟模型的重叠区域调整的,计算机设备可以获取到重叠区域的中心位置对应的法向量,其中,法向量的方向指向手部虚拟模型,计算机设备可以将手部虚拟模型的力反馈方向调整为法向量的方向。
[0094] 计算机设备可以根据调整后的刚度数据对手部虚拟模型的力反馈强度进行调整。调整后的刚度数据越大,对手部虚拟模型的力反馈强度的调整幅度越大。例如,计算机设备获取到的调整后的刚度数据为10顿/米(N/m),计算机设备可以将手部虚拟模型的力反馈强度调整为20牛顿(N),计算机设备获取到的调整后的刚度数据为15牛顿/米(N/m),计算机设备可以将手部虚拟模型的力反馈强度调整为32牛顿(N)。
[0095] 计算机设备可以根据调整后的力反馈方向以及调整后的力反馈强度得到力反馈数据。其中,力反馈数据中可以包含有调整后的力反馈方向、调整后的力反馈强度、力反馈的位置等,在此不做限定。计算机设备可以将得到的力反馈数据发送给手部机械模型,手部机械模型在接收到力反馈数据后,可以根据力反馈数据中调整后的力反馈方向、调整后的力反馈强度以及力反馈位置等信息对手部产生相应的力反馈。
[0096] 在本实施例中,计算机设备根据调整后的刚度数据,对手部虚拟模型的力反馈方向以及力反馈强度进行调整,根据调整后的力反馈方向以及调整后的力反馈强度得到力反馈数据,其中,调整后的力反馈强度与刚度数据呈正相关。计算机设备根据调整后的刚度数据对力反馈数据进行调整,并将调整后的力反馈数据发送给手部机械模型,手部机械模型根据力反馈数据对手部产生作用力,可以使用户感受到物体虚拟模型与手部虚拟模型之间的作用力,使得人机交互更加智能,从而提高人机交互数据的准确性。
[0097] 在另一个实施例中,计算机设备获取到调整后的刚度数据后,可以将调整后的刚度数据以及手部虚拟模型在虚拟空间中的手部位置发送给手部机械模型,由手部机械模型对力反馈方向以及力反馈强度进行调整。手部机械模型可以获取到重叠区域的中心位置对应的法向量,其中,法向量的方向指向手部虚拟模型,手部机械模型可以将手部虚拟模型的力反馈方向调整为法向量的方向。
[0098] 手部机械模型可以根据调整后的刚度数据对手部虚拟模型的力反馈强度进行调整。调整后的刚度数据越大,对力反馈强度的调整幅度越大。
[0099] 手部机械模型可以根据调整后的力反馈方向以及调整后的力反馈强度得到力反馈数据。其中,力反馈数据中可以包含有调整后的力反馈方向、调整后的力反馈强度、力反馈的位置等,在此不做限定。
[0100] 在一个实施例中,提供的一种模型处理方法还可以包括生成手部虚拟模型的过程,具体包括:通过手部机械模型获取每个手指的摆动数据和弯曲数据;根据摆动数据和弯曲数据,在虚拟空间中生成手部虚拟模型。
[0101] 摆动数据可以是手指摆动时产生的数据,摆动数据可以包括手指摆动的幅度、手指摆动的方向等。弯曲数据可以是手指在弯曲时所产生的数据,弯曲数据可以包括手指弯曲的幅度、手指弯曲的方向等。
[0102] 手部机械模型可以获取每个手指的摆动数据和弯曲数据,具体的,手部机械模型可以通过至少一个传感器获取每个手指的摆动数据和弯曲数据。例如,手部机械模型可以通过一个传感器获取手指的摆动数据,手部机械模型可以通过另一个传感器获取手指的弯曲数据。手部机械模型还可以通过两个传感器获取一个手指的摆动数据和弯曲数据,还可以通过其他数量的传感器来获取摆动数据和弯曲数据,在此不做限定。
[0103] 手部机械模型获取到每个手指的摆动数据和弯曲数据后,可以将获取到的每个手指的摆动数据和弯曲数据发送给计算机设备,计算机设备可以根据获取到的摆动数据和弯曲数据,在虚拟空间中生成手部虚拟模型。计算机设备在虚拟空间中生成的手部虚拟模型的形状可以是手部的形状,当手指运动时,手部机械模型获取的手指对应的摆动数据和弯曲数据会发生变化,手部虚拟模型也会对应发生变化。例如,配戴了手部机械外骨骼的手指比划出“V”字形时,对应的手部虚拟模型也会比划出“V”字形。
[0104] 在一个实施例中,通过手部机械模型获取每个手指的摆动数据和弯曲数据,根据摆动数据和弯曲数据,在虚拟空间中生成手部虚拟模型。通过手部机械模型实时获取每个手指的摆动数据和弯曲数据,并在虚拟空间中生成对应的手部虚拟模型,可以使生成的手部虚拟模型与每个手指的运动更加匹配,使得人机交互更加智能,从而提高人机交互数据的准确性。
[0105] 在另一个实施例中,提供的一种模型处理方法还可以包括获取每个手指的摆动数据和弯曲数据的过程,具体包括:通过手部机械模型采集手指对应的各个关节所产生的联动数据;根据联动数据,生成手指的摆动数据和弯曲数据。
[0106] 其中,联动数据可以用于表示手指中各个关节共同运动所产生的数据。一个手指可以对应有多个关节,例如,大拇指可以对应有2个关节,食指可以对应有3个关节。手部机械模型可以采集手指对应的各个关节所产生的联动数据。手指对应的各个关节在运动的时候会分别产生各自的旋转数据,计算机设备可以获取手指对应的各个关节所产生的联动数据。例如,食指在进行运动时,食指上的三个关节会分别产生各自的旋转数据,计算机设备可以将食指上的三个关节所产生的旋转数据分别记为A关节旋转数据、B关节旋转数据和C关节旋转数据,计算机设备可以获取A关节旋转数据、B关节旋转数据和C关节旋转数据共同生成的联动数据。
[0107] 计算机设备可以根据手指的各个关节所产生的联动数据,生成手指的摆动数据和弯曲数据。具体的,计算机设备可以采集一根手指所产生的联动数据,通过对采集的联动数据进行映射,从而生成这一根手指的摆动数据和弯曲数据。例如,计算机设备获取到的是A手指所产生的联动数据,计算机设备可以根据A手指所产生的联动数据生成A手指的摆动数据和弯曲数据。
[0108] 应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0109] 在一个实施例中,如图5所示,提供了一种模型处理装置,包括:手部虚拟模型生成模块510、位置获取模块520、刚度数据调整模块530和力反馈数据输出模块540,其中:
[0110] 手部虚拟模型生成模块510,用于通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型;
[0111] 位置获取模块520,用于获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置;
[0112] 刚度数据调整模块530,用于根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0113] 力反馈数据输出模块540,用于通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。
[0114] 在本实施例中,通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型,获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置,根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据,通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。根据物体虚拟模型和手部虚拟模型的位置来对物体模型的刚度数据进行调整,进一步根据调整后的刚度数据得到力反馈数据,手部机械模型可以根据得到的力反馈数据对手部产生作用力,使得手部能够感受到手部虚拟模型和物体虚拟模型之间的作用力,使得人机交互更加智能化。
[0115] 在一个实施例中,位置获取模块520还用于获取物体虚拟模型中虚拟物体的碰撞体位置,并将虚拟物体的碰撞体位置作为物体虚拟模型的物体位置;获取手部虚拟模型中虚拟手部的碰撞体位置,并将虚拟手部的碰撞体位置作为手部虚拟模型的手部位置。
[0116] 在一个实施例中,手部位置包括手部虚拟模型中各个虚拟手指的位置,刚度数据调整模块530还用于根据物体位置以及各个虚拟手指的位置,调整物体虚拟模型的刚度数据。
[0117] 在一个实施例中,刚度数据调整模块530还用于根据物体位置与手部位置,得到物体虚拟模型与手部虚拟模型的重叠区域;根据重叠区域调整物体虚拟模型的刚度数据,得到调整后的刚度数据。
[0118] 在一个实施例中,刚度数据调整模块530还用于根据调整后的刚度数据,对手部虚拟模型的力反馈方向以及力反馈强度进行调整;根据调整后的力反馈方向以及调整后的力反馈强度得到力反馈数据;其中,调整后的力反馈强度与刚度数据呈正相关。
[0119] 在一个实施例中,手部虚拟模型生成模块510还用于通过手部机械模型获取每个手指的摆动数据和弯曲数据;根据摆动数据和弯曲数据,在虚拟空间中生成手部虚拟模型。
[0120] 在一个实施例中,手部虚拟模型生成模块510还用于通过手部机械模型采集手指对应的各个关节所产生的联动数据;根据联动数据,生成手指的摆动数据和弯曲数据。
[0121] 关于模型处理装置的具体限定可以参见上文中对于模型处理方法的限定,在此不再赘述。上述模型处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0122] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端或者手部机械模型通过网络连接通信。该计算机程序被处理器执行时以实现一种模型处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0123] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0124] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0125] 通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型;
[0126] 获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置;
[0127] 根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0128] 通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。
[0129] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0130] 通过手部机械模型检测手部动作数据,并根据手部动作数据在虚拟空间中生成手部虚拟模型;
[0131] 获取物体虚拟模型在虚拟空间中的物体位置,以及手部虚拟模型在虚拟空间中的手部位置;
[0132] 根据物体位置和手部位置调整物体虚拟模型的刚度数据,并根据调整后的刚度数据得到力反馈数据;
[0133] 通过手部机械模型输出力反馈数据,其中,力反馈数据用于模拟物体虚拟模型和手部虚拟模型之间的作用力。
[0134] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0135] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0136] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈