CN110096131B - 触感交互方法、装置、以及触感可穿戴设备 - Google Patents
触感交互方法、装置、以及触感可穿戴设备 Download PDFInfo
- Publication number
- CN110096131B CN110096131B CN201810084814.6A CN201810084814A CN110096131B CN 110096131 B CN110096131 B CN 110096131B CN 201810084814 A CN201810084814 A CN 201810084814A CN 110096131 B CN110096131 B CN 110096131B
- Authority
- CN
- China
- Prior art keywords
- stress
- vibration
- information
- model
- collision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种触感交互方法、装置、以及触感可穿戴设备,适用于用户手部与虚拟现实VR或增强现实AR场景进行交互的过程中,包括:获取用户手部的手势信息;根据用户手部的手势信息,得到与用户手部的手势信息相对应的三维手部模型;通过碰撞检测算法检测出与三维手部模型发生碰撞的碰撞模型;确定碰撞模型所对应的受力模型,根据受力模型,确定三维手部模型的受力信息;根据受力信息生成碰撞碰撞触感指令;将碰撞触感指令发送给触感可穿戴设备,碰撞触感指令用于使触感可穿戴设备控制设备中的振动电机振动。本发明实施例,实现了基于用户手势交互的、与受力信息相对应的振动触感反馈,为用户提供了更加真实、丰富的触感体验。
Description
技术领域
本发明涉及触感技术领域,具体涉及一种触感交互方法、装置、以及触感可穿戴设备。
背景技术
触感技术(Haptics)是通过电信号驱动和人体皮肤间接或直接接触的触感设备来模拟真实接触感的交互技术。触觉是人类除视觉,听觉以外和外界交互的重要通道。人类的触感可以按触觉线索分类为:硬度,力度,振动,摩擦,材质,形状和温度;也可以按照使用的技术手段分类为:电机,振动电机,空气压力,静电力,空气囊,温度控制,电肌刺激以及触觉重定向。触感学术前沿的研究由于受器件的制约,更多集中于特定领域,例如远程医疗操作,生产线机械臂控制等。人们日常接触到的触感技术大多是基于振动触觉的提示,例如手机的振动提醒和游戏手柄的振动反馈。
随着虚拟现实(Virtual Reality,VR)和增强现实(Augmented Reality,AR)技术的普及,越来越多的厂商开始重视触觉反馈技术,优秀的触觉反馈可以改善用户在VR和AR中的交互的准确度(例如抓握物体时提供实时触感反馈可以让用户准确的控制手部姿态),并且增强用户体验的沉浸感,使用户看得见,摸得着,。
近年来,主流的VR和AR触感交互产品多为触感手柄、触感指套或手套等触感可穿戴设备的形式。触感手柄产品一般配备一个振动电机,由连接的上位机(电脑,手机)提供虚拟环境交互的渲染和计算。当触感类事件(例如手柄在虚拟世界里和虚拟物品发生接触或碰撞)被触发时,上位机通过无线通信单元发送相应的振动信号参数(例如振动时长和振动幅度)给手柄,由手柄的触感控制单元根据该参数合成驱动波形来驱动电机振动。而触感指套或手套,通常配备多个振动电机和相应的触感控制单元,一般位于手指和手背,其触发机制和前述触感手柄类似,区别在于振动触感可以传递到交互相关的手指,相比手柄的单一振动电机,更适合用手指进行的自然交互。
现有触感产品能够通过产生振动来提示用户,但基于振动的方式只能通过调整振动幅度来模拟受力的强度,无法为用户提供更加真实丰富的触感反馈。
发明内容
本申请提供了一种触感交互方法、装置、以及触感可穿戴设备,能够为用户提供更加真实、更加丰富的触感反馈。
第一方面,本申请提供了一种触感交互方法,所述方法应用在用户手部与VR或AR场景进行交互的过程中,所述用户手部佩戴有触感可穿戴设备,所述方法包括:获取所述用户手部的手势信息,所述用户手部的手势信息包括手部关节自由度信息和手部在所述场景的三维空间的位置信息;根据所述用户手部的手势信息,得到与所述用户手部的手势信息相对应的三维手部模型;通过碰撞检测算法检测出所述场景中与所述三维手部模型发生碰撞的碰撞模型;确定所述碰撞模型所对应的受力模型,根据所述受力模型确定所述三维手部模型的受力信息,所述受力信息包括受力方向和受力强度;根据所述三维手部模型的受力信息生成碰撞触感指令;将所述碰撞触感指令发送给所述触感可穿戴设备,所述碰撞触感指令用于使所述触感可穿戴设备控制设备中振动电机振动。
结合第一方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述根据所述三维手部模型的受力信息生成碰撞触感指令,包括:根据所述受力方向或发生碰撞时所述三维手部模型的受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示所述触感可穿戴设备中所要振动的目标振动电机;根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据至少一个目标振动电机的标识、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令。
结合第一方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述根据所述三维手部模型的受力信息生成碰撞触感指令,包括:根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据发生碰撞时所述三维手部模型的受力位置、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;其中,所述碰撞触感指令中的所述受力位置用于使所述触感可穿戴设备根据所述受力位置确定所要触发振动的至少一个目标振动电机的标识。
结合第一方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述根据所述三维手部模型的受力信息生成碰撞触感指令,包括:根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据所述受力方向、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;其中,所述碰撞触感指令中的所述受力方向用于使所述触感可穿戴设备根据所述受力方向确定所要触发振动的至少一个目标振动电机的标识。
结合第一方面,在一种可能的实施方式中,根据所述受力方向确定所要触发振动的至少一个目标振动电机的标识,包括:根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定目标振动电机的标识,其中,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系。
结合第一方面,在一种可能的实施方式中,根据发生碰撞时所述三维手部模型的所述受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,包括:根据所述受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与所述受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与所述受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;其中,所述第二电机信息表用于存储振动电机的标识与所述振动电机在触感可穿戴设备上的设置位置的对应关系。
结合第一方面,在一种可能的实施方式中,若目标振动电机的标识为所述前n个距离所对应的振动电机的标识,所述方法还包括:根据所述振幅和所述前n个距离,确定所述前n个距离中每个距离所对应的目标振动电机的子振幅,其中,所述子振幅与所述距离成反比;所述碰撞触感指令中还包括每个目标振动电机的标识所对应的子振幅。
结合第一方面,在一种可能的实施方式中,所述根据所述受力强度确定振动电机的振幅,包括:根据所述受力强度和所述受力模型,确定所述振幅。
结合第一方面,在一种可能的实施方式中,所述振动电机为交流振动电机,所述振动力方向指示信息为用于表征电机驱动波形的、一个波形周期的上升段时长与下降段时长关系的信息。
结合第一方面,在一种可能的实施方式中,所述振动力方向指示信息为以下信息中的任一种:所述上升段时长和所述下降段时长、所述上升段时长与所述下降段时长的比值、所述上升段时长和所述下降段时长的长短关系、或者所述上升段时长和所述下降段时长的差值与所述波形周期的比值。
结合第一方面,在一种可能的实施方式中,所述三维手部模型的受力强度越大,所述上升段时长与所述下降段时长的差值越大。
结合第一方面,在一种可能的实施方式中,所述获取所述用户手部的手势信息,包括:获取通过相机模组采集的所述用户手部的三维图像;对所述三维图像进行手势识别,得到所述用户手部的手势信息。
结合第一方面,在一种可能的实施方式中,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:根据所述受力模型,在预配置的第一受力方向表中,查找与所述受力模型相对应的受力方向,所述第一受力方向表用于存储受力模型与受力方向的对应关系。
结合第一方面,在一种可能的实施方式中,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:根据所述受力模型和发生碰撞时所述三维手部模型的受力位置,在预配置的第二受力方向表中,查找与所述受力模型和所述受力位置相对应的受力方向,所述第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系。
结合第一方面,在一种可能的实施方式中,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:根据当前获取的所述用户手部的位置信息和上一次获取的所述用户手部的位置信息,确定所述用户手部的移动方向,根据所述受力模型、所述移动方向和所述受力位置,确定所述受力方向。
结合第一方面,在一种可能的实施方式中,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:根据预配置的所述受力模型的受力计算公式,获取与所述受力计算公式相对应的碰撞受力参数;根据所述受力计算公式和所述碰撞受力参数,计算所述受力强度。
结合第一方面,在一种可能的实施方式中,若所述用户手部在所述三维空间的位置与所述场景的手势交互区域的边界之间的距离小于设定距离,或者所述用户手部的位置位于所述手势交互区域外时,所述方法还包括:根据所述用户手部和所述手势交互区域的相对位置关系,向所述触感可穿戴设备发送提醒触感指令;其中,所述提醒触感指令中包括提醒方向指示信息,所述提醒方向指示信息用于表征所述振动电机振动时的力感的方向性为由所述边界指向所述交互区域中心,所述提醒触感指令用于指示所述触感可穿戴设备根据所述提醒方向指示信息控制所述振动电机振动。
结合第一方面,在一种可能的实施方式中,确定所述三维手部模型的受力信息之后,还包括:生成与所述受力信息相对应的受力提示信息,根据预配置的显示策略将所述受力提示信息显示在所述场景中。
结合第二方面,本申请提供了一种触感可穿戴设备,所述设备用于佩戴于用户手部,所述设备包括设备本体,所述设备本体上设有控制单元、以及与所述控制单元连接的振动电机;所述控制单元,用于接收碰撞触感指令,根据所述碰撞触感指令生成对应的驱动波形,将所述驱动波形发送至所述振动电机,所述碰撞触感指令为根据VR或AR场景中的三维手部模型的受力信息所生成的碰撞触感指令,所述受力信息包括受力方向和受力强度;所述振动电机,用于接收所述驱动波形,根据所述驱动波形产生振动。
结合第二方面,在一种可能的实施方式中,若所述碰撞触感指令中包括至少一个目标振动电机的标识、振动力方向指示信息和振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性,所述控制单元具体用于:根据所述振动力方向指示信息和所述振幅生成所述驱动波形;将所述驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
结合第二方面,在一种可能的实施方式中,若所述碰撞触感指令中包括受力方向、振动力方向指示信息和振幅时,所述控制单元具体用于:根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定所要触发振动的至少一个目标振动电机的标识,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系;根据所述振动力方向指示信息和所述振幅生成所述驱动波形;将所述驱动波形发送至所述至少一个目标振动电机的标识所对应的振动电机。
结合第二方面,在一种可能的实施方式中,若所述碰撞触感指令中包括受力位置、振动力方向指示信息和振幅时,所述控制单元具体用于:根据所述受力位置和预配置的第二电机信息表中所存储的振动电机的设置位置,确定所要触发振动的至少一个目标振动电机的标识,所述第二电机信息表用于存储振动电机的标识与振动电机在所述触感可穿戴设备上的设置位置的对应关系;根据所述振动力方向指示信息和所述振幅生成所述驱动波形;将所述驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
结合第二方面,在一种可能的实施方式中,所述控制单元在根据所述受力位置和预配置的第二电机信息表中所存储的振动电机的设置位置,确定所要触发振动的至少一个目标振动电机的标识时,具体用于:根据所述受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与所述受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与所述受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2。
结合第二方面,在一种可能的实施方式中,若目标振动电机的标识为所述前n个距离所对应的振动电机的标识,所述控制单元还用于:根据所述振幅和所述前n个距离,确定所述前n个距离中每个距离所对应的振动电机的子振幅,其中,所述子振幅与所述距离成反比;所述碰撞触感指令中还包括每个所述目标振动电机的标识所对应的子振幅。
结合第三方面,本申请提供了一种触感交互装置,所述装置包括:手势信息获取模块,用于获取VR或AR场景中的用户手部的手势信息,所述用户手部的手势信息包括手部关节自由度信息和手部在所述场景的三维空间的位置信息;手部模型确定模块,用于根据所述用户手部的手势信息,得到与所述用户手部的手势信息相对应的三维手部模型;碰撞检测模块,用于通过碰撞检测算法检测出所述场景中与所述三维手部模型发生碰撞的碰撞模型;受力信息确定模块,用于确定所述碰撞模型所对应的受力模型,根据所述受力模型确定所述三维手部模型的受力信息,所述受力信息包括受力方向和受力强度;触感指令生成模块,用于根据所述三维手部模型的受力信息生成碰撞触感指令;触感指令发送模块,用于将所述碰撞触感指令发送给所述触感可穿戴设备,所述碰撞触感指令用于使所述触感可穿戴设备控制设备中振动电机的振动。
结合第三方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述触感指令生成模块具体用于:根据所述受力方向或发生碰撞时所述三维手部模型的受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示所述触感可穿戴设备中所要振动的目标振动电机;根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据至少一个目标振动电机的标识、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令。
结合第三方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述触感指令生成模块具体用于:根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据所述受力位置、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令,所述碰撞触感指令中的所述受力方向用于使所述触感可穿戴设备根据所述受力方向确定所要触发振动的至少一个目标振动电机的标识。
结合第三方面,在一种可能的实施方式中,若所述振动电机的个数为至少两个,所述触感指令生成模块具体用于:根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;根据所述受力方向、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;其中,所述碰撞触感指令中的所述受力位置用于使所述触感可穿戴设备根据所述受力位置确定所要触发振动的至少一个目标振动电机的标识。
结合第三方面,在一种可能的实施方式中,所述触感指令生成模块在根据所述受力方向确定所要触发振动的至少一个目标振动电机的标识时,具体用于:根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定至少一个目标振动电机的标识,其中,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系。
结合第三方面,在一种可能的实施方式中,所述触感指令生成模块在根据发生碰撞时所述三维手部模型的受力位置确定所要触发振动的至少一个目标振动电机的标识时,具体用于:根据所述受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与所述受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与所述受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;其中,所述第二电机信息表用于存储振动电机的标识与振动电机在所述触感可穿戴设备上的设置位置的对应关系。
结合第三方面,在一种可能的实施方式中,若目标振动电机的标识为所述前n个距离所对应的振动电机的标识,所述触感指令生成模块还用于:根据所述振幅和所述前n个距离,确定所述前n个距离中每个距离所对应的目标振动电机的子振幅,其中,所述子振幅与所述距离成反比;所述碰撞触感指令中还包括每个目标振动电机的标识所对应的子振幅。
结合第三方面,在一种可能的实施方式中,所述触感指令生成模块在根据所述受力强度确定振动电机的振幅时具体用于:根据所述受力强度和所述受力模型,确定所述振幅。
结合第三方面,在一种可能的实施方式中,所述振动电机为交流振动电机,所述振动力方向指示信息为用于表征电机驱动波形的、一个波形周期的上升段时长与下降段时长关系的信息。
结合第三方面,在一种可能的实施方式中,所述振动力方向指示信息为以下信息中的任一种:所述上升段时长和所述下降段时长、所述上升段时长与所述下降段时长的比值、所述上升段时长和所述下降段时长的长短关系、或者所述上升段时长和所述下降段时长的差值与所述波形周期的比值。
结合第三方面,在一种可能的实施方式中,所述三维手部模型的受力强度越大,所述上升段时长与所述下降段时长的差值越大。
结合第三方面,在一种可能的实施方式中,所述受力信息确定模块具体用于:根据所述受力模型,在预配置的第一受力方向表中,查找与所述受力模型相对应的受力方向,所述第一受力方向表用于存储受力模型与受力方向的对应关系。
结合第三方面,在一种可能的实施方式中,所述受力信息确定模块具体用于:根据所述受力模型和发生碰撞时所述三维手部模型的受力位置,在预配置的第二受力方向表中,查找与所述受力模型和所述受力位置相对应的受力方向,所述第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系。
结合第三方面,在一种可能的实施方式中,所述受力信息确定模块具体用于:根据当前获取的所述用户手部的位置信息和上一次获取的所述用户手部的位置信息,确定所述用户手部的移动方向;根据所述受力模型、所述移动方向和所述受力位置,确定所述受力方向。
结合第三方面,在一种可能的实施方式中,所述受力信息确定模块具体用于:根据预配置的所述受力模型的受力计算公式,获取与所述受力计算公式相对应的碰撞受力参数;根据所述受力计算公式和所述碰撞受力参数,计算所述受力强度。
结合第三方面,在一种可能的实施方式中,若所述用户手部在所述三维空间的位置与所述场景的手势交互区域的边界之间的距离小于设定距离,或者所述用户手部的位置位于所述手势交互区域外时,所述触感指令生成模块还用于:根据所述用户手部和所述手势交互区域的相对位置关系,向所述触感可穿戴设备发送提醒触感指令;其中,所述提醒触感指令中包括提醒方向指示信息,所述提醒方向指示信息用于表征所述振动电机振动时的力感的方向性为由所述边界指向所述交互区域中心,所述提醒触感指令用于指示所述触感可穿戴设备根据所述提醒方向指示信息控制所述振动电机振动。
结合第四方面,本申请提供了一种电子设备,所述电子设备包括存储器和处理器;所述存储器中存储有计算机程序指令;所述处理器用于运行所述计算机程序指令,以执行如本申请第一方面任一实施例中所述的方法。
结合第五方面,本申请提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器运行时,实现如本申请第一方面任一实施例中所述的方法。
附图说明
图1示出了本发明实施例适用的一种网络架构的结构示意图;
图2示出了手部各关节点26自由度的示意图;
图3示出了根据本发明一实施例的指环上三个单轴振动电机的布局示意图;
图4示出了根据本发明另一实施例的指环上一个三轴振动电机的布局示意图;
图5示出了根据本发明一实施例的用户手部的深度图像的示意图;
图6示出了图5中所示的深度图像的手势识别结果的示意图;
图7示出了根据图6中的手势识别结果得到的三维手部模型的示意图;
图8a、图8b和图8c分别示出了一具体实施例中三维手部模型与虚拟物体三种不同交互状态下的示意图;
图9a示出了一具体示例中对称驱动波形的示意图;
图9b示出了一具体示例中上升段时长小于下降段时长的非对称驱动波形的示意图;
图9c示出了一具体实施例中上升段时长大于下降段时长的非对称驱动波形的示意图;
图10示出了根据本发明实施例的一种触感交互方法的流程示意图;
图11示出了根据本发明实施例的一种触感交互装置的结构示意图;
图12示出了根据本发明实施例的一种触感可穿戴设备的结构示意图;
图13示出了根据本发明实施例的触感交互方法和装置的一种电子设备的结构示意图。
具体实施方式
图1示出了本发明实施例适用的一种网络架构的结构示意图。如图1所示,该网络架构可以包括上位机100、触感可穿戴设备200和三维图像获取装置300。其中,上位机100具体可以为计算机(例如,个人计算机)、智能手机或其它计算设备等,触感可穿戴设备200的设备本体的样式具体可以为指环、指套、手套、手环、手柄等。三维图像获取装置300可以具体实现为相机模组或其它能够采集用户手部三维图像的设备。
图1所示的网络架构中,上位机100用于运行VR应用或AR应用,以产生相应的应用场景。在VR应用或AR应用等交互式软件中,一般通过配置物理引擎对应用场景中的虚拟物体进行运动建模,通过为虚拟物体的物理模型赋予真实的物理属性的方式来进行物理效果处理,模拟重力、旋转和碰撞等效果,从而使应用场景中的虚拟物体更加真实,虚拟物体各种状态变化效果与真实物体的状态变化更加符合。
本发明实施例中,上位机100中的物理引擎可以用于配置并管理VR或AR的应用场景中的虚拟物体的碰撞模型(polygon model)、受力模型、以及视觉模型等各种参数信息,以及用户手部在该交互场景中所对应的虚拟手的三维手部模型及手势信息等。
其中,polygon model是指进行碰撞检测所用的虚拟物体的模型,一般多采用多边形/多面体模型,例如圆柱体、长方体、圆锥体等。受力模型可以根据实际需要进行配置,例如,可以为弹簧模型、摩擦力模型、旋转力矩模型等,受力模型的受力计算公式也可以根据实际需要采用不同的配置。视觉模型则为虚拟场景中呈现给用户的物体模型,例如虚拟按键、虚拟桌子等等。
三维手部模型通常包括手部各关节点、手部骨骼联结和手的网格模型等主要部分,三维手部模型的手势信息主要可以包括该手部模型在物理引擎中的位置和手部关节点自由度信息等信息。其中,手部关节自由度信息一般是指手部关节点的26个自由度(degreeof freedom,DOF),如图2所示,26个DOF包括6个全局DOF和20个局部DOF,6个全局DOF可以由掌心的一个固定点(图中6DOF的掌心点所示)表示,5个手指关节的运动对应20个局部DOF,如图2中所示,图中2DOF的点表示2个自由度的关节,1DOF表示1个自由度的关节点,0DOF为没有自由度的手掌位置。基于添加各关节自由度信息的三维手部模型,能够模拟出更加符合人的真实手的三维手部模型。
需要说明的是,在实际不同的配置下,三维手部模型的大小可以是固定不变的,也可以是在用户手部与应用场景进行交互时,通过获取用户手部的实际大小信息,根据该实际大小信息对物理引擎中预配置的三维手部模型的大小进行调整,使用户的感受更加真实。虚拟物体的物理模型(polygon model、受力模型、以及视觉模型等各模型)以及三维手部模型的具体实现为现有技术,在此不再详细说明。
如图1中所示,触感可穿戴设备200主要可以包括控制单元210、通信单元220和振动电机230,通信单元220和振动电机230分别与控制单元210连接。振动电机230的个数可以为一个或多个,图1中示意性的示出了3个。
其中,通信单元220用于与上位机100连接,实现控制单元210与上位机100之间的通信,接收上位机100发送的碰撞触感指令、提醒触感指令等各种指令,并将接收到的各种指令发送给控制单元210。控制单元210为触感可穿戴设备200的主控单元,用于根据通信单元220发送来各种指令,执行相应的操作。
可以理解的是,通信单元220的具体实现可以包括但不限于蓝牙通信模块、无线保真(WIreless-FIdelity,WiFi)通信模块、近距离无线通信模块或者移动通信模块等。
在VR或AR的应用场景中,用户将触感可穿戴设备200佩戴于手部,通过手势在应用场景中进行三维交互。三维图像获取装置300用于在用户手部与应用场景进行交互的过程中,采集用户手部的三维图像,例如,可以通过相机模组捕捉用户手部的深度图像(RGBD图像),并将采集的三维图像发送给上位机100,为上位机100提供用于更新应用场景的三维手部模型的数据参数基础,从而使三维手部模型的姿态与用于手部的实际姿态更加贴合。
下面在图1所示的网络架构的基础上,结合具体示例对上位机100与触感可穿戴设备200的触感交互方法进行进一步说明。
本示例中,三维图像获取装置300可以采用相机模组实现,触感可穿戴设备200的设备本体以指环作为示例,振动电机230采用单轴线性谐振振动器(Linear ResonantActuator,LRA)即线性马达,LRA的驱动波形可以为正弦波、三角波或梯形波等有上升段波形和下降段波形的驱动波形等,本示例中以正弦波为例说明。
因单轴LRA仅提供单一轴向的方向性振动,为了给用户反馈三维方向,本应用场景中,指环上设置有三个LRA。图3示出了三个LRA在指环上的布局示意图,如图3中所示,三个LRA分别设置于指环的上方、下方和侧方,三个LRA分别提供Z轴、Y轴和X轴的方向振动。若存在一个振动电机230能够实现三轴振动,如图4所示,则可以使用一个三轴LRA来替代图3中所示的三个单轴LRA,以进一步简化触感可穿戴设备200上LRA的布局。
在上位机100所提供的VR应用场景或AR应用场景中,佩戴指环的用户使用手势输入在应用场景中进行3D交互。在3D交互过程中,相机模组根据预设置的时间间隔捕捉用户手部的RGBD图像,并将采集到的三维图像发送给上位机100,由上位机100通过预配置的手势识别算法对接收到的RGBD图像进行手势识别,得到对应于当前图像帧的用户手部在该应用场景的三维空间的位置信息和用户手部的各关节自由度信息等实际手势信息。
作为一个具体示例,图5中示出了一个用户手部的RGBD图像的示意图,图6示出图5中所示的RGBD图像的手势识别结果中用户手部各关节点的自由度信息。在得到用户手部的实际手势信息后,VR应用或AR应用中的物理引擎即可基于实际手势信息对三维手部模型的相应手势信息进行更新,以使三维手部模型与用户的实际手部姿态更加匹配。图7示出根据图6中的识别结果对三维手部模型进行更新后的示意图。
为了获得三维手部模型与应用场景中虚拟物体的交互情况,上位机100中的物理引擎可以在应用场景的每一帧的渲染中都进行三维手部模型和虚拟物体的碰撞模型即polygon model的碰撞检测(collision detection),并在检测发生碰撞时,根据发生碰撞的碰撞模型所对应的受力模型确定出三维手部模型的受力信息,之后上位机100即可基于受力信息生成用于指示控制单元210触发振动电机230振动的碰撞触感指令。
如图8a至图8c所示的碰撞检测的具体示例中,虚拟物体的视觉模型为虚拟按键,碰撞模型为圆柱体(图中未示出),受力模型为弹簧模型,弹簧模型的受力计算公式F=kx,k为弹性系数(预配置的已知参数),x为虚拟按键的下压行程。以三维手部模型的手指对虚拟按键进行点击操作为例,图8a、图8b和图8c分别示出了手指与虚拟按键未发生碰撞时、碰撞刚发生时、以及碰撞过程中三种不同状态下的示意图。物理引擎检测到三维手部模型的指尖与圆柱体发生碰撞后,根据圆柱体的标识(ID)在预配置的虚拟物体的管理信息中确定出其对应的受力模型为弹簧模型,根据弹簧模型的受力计算公式获取与公式对应的碰撞受力参数信息,由于弹簧模型的受力计算公式为F=kx,而弹性系数k为已知参数,因此,只需获取的碰撞受力参数信息即为当前帧的虚拟按键的下压行程,物理引擎可以根据手指与圆柱体之间的重叠部分确定出当前虚拟按键下压行程,基于F=kx即可计算得到三维手部模型的受力强度(受力大小)即作用力F。物理引擎可以进一步基于预配置的受力方向表(受力方向表用于存储受力模型与受力方向的对应关系),得到三维手部模型的受力方向为从指尖指向指根(图8c中箭头所示的方向)。因此,通过上述步骤确定出了三维手部模型的碰撞受力位置即碰撞接触点即受力位置为指尖、受力强度F、以及受力方向。
上位机100在得到三维手部模型的上述各受力参数信息后,即可根据三维手部模型的受力位置或者受力方向来选择所要驱动的振动电机230,并生成相应的碰撞触感指令。
在实际应用中,对于配备多个振动电机230的触感可穿戴设备200,可以根据实际应用场景的需要,配置不同的所要驱动的振动电机的选择策略。例如,可以选择设置位置与三维手部模型的受力位置最接近的振动电机230,也可以选择振动方向与三维手部模型的受力方向一致的振动电机230,还可以是根据设置位置与受力位置的距离,选择在受力位置附近的多个振动电机230。
继续以上述三维手部模型的手指对虚拟按键进行点击操作的具体示例进行说明。
在上述三维手部模型与虚拟按键的碰撞场景中,三维手部模型的受力方向为指尖指向指根即沿手指径向,根据该受力方向,可以选取振动方向为沿径向的振动马达作为目标振动电机,对应于图3中所示的三个LRA的布局示意图,指环上Z轴的LRA质量块的振动方向(运动方向)为沿手指径向,与三维手部模型的受力方向一致,因此,将指环Z轴的LRA确定为目标振动电机。
为了使指环的目标振动电机的振幅与受力强度F相对应,上位机100确定出三维手部模型的受力强度F之后,根据受力强度F计算得到驱动波形的振幅A。作为一个具体示例,受力强度F和振幅A的关系表达式可以为F=wA,其中,w是预配置的转换系数,即振幅与受力强度F成正比。在实际应用中,转换系数w需要在选定振动电机230的型号后,通过对振动电机230进行力度的校准来确定,以保证设计的受力范围对应振幅的范围,例如设计受力范围是-1牛顿~+1牛顿,振幅范围在-1厘米~+1厘米,则转换系数w=1牛顿/厘米。
为了使目标振动电机振动时,用户手部能够感受到与该受力方向相对应的力,上位机100需要根据手指的受力方向确定出目标振动电机的振动力方向指示信息。本示例中,驱动波形以正弦波作为示例,以正弦波的上升段时长和下降段时长的差值与波形周期的比值(为了描述方便,下文中将该比值简称为上升下降比系数f)来作为振动力方向指示信息。
记正弦波的周期为T,上升段和下降段分别设为tup和tdown,则满足:
T=tup+tdown (1)
f=(tup-tdown)/T (2)
-1<f<1 (3)
图9a、图9b和图9c分别示出了三种不同正弦波波形的示意图,其中,横坐标表示时间,纵坐标表示振幅。如图9a所示,是上升段和下降段对称的正弦波,f=0,这种情况下LRA中的质量块运动的电磁力在上升段和下降段也是对称的,因LRA中的质量块的质量恒定时,由F=ma可知,此时在上升段和下降段的加速度也是对称的,用户感受到的振动触感是没有明确的方向感。如图9b所示,为非对称正弦波,tup<tdown,因此,f<0,上升段较下降段更陡,变化更快,从而可以使得振动电机的质量块向+Z方向运动更快,即在+Z方向的加速度较-Z方向更大,用户将感受到向+Z方向的力感即可以感受到向上的推力。如图9c所示,tup>tdown,因此,f>0,下降段较上升段更陡、变化更快,使得振动电机的质量块向-Z方向运动更快,即在-Z方向的加速度较+Z方向更大,用户将感受到向-Z方向的力感。因此,可以以f作为振动力方向指示信息,用于表征振动电机振动时的力感的方向性。
在上述应用场景中,确定出三维手部模型的受力方向为指尖指向指根,应为用户提供能够感受到由指尖向指根的力感即由指尖向上的振动力感。因此,上位机100向指环下发碰撞触感指令中的振动力方向指示信息可以为f<0。指环在接收到该指令后,可以根据f<0的取值产生图9b中所示意的驱动波形,通过该波形驱动目标振动电机振动,从而使用户手部感受到振动电机在特定方向上更强烈的加速运动,从而实现有方向性的振动反馈。
上位机100在确定出目标振动电机(上位机100实际确定出的是目标振动电机标识)、目标振动电机的振幅A和上升下降比系数f之后,即可根据这些信息生成碰撞触碰指令,将生成的碰撞触感指令下发至触感可穿戴设备200的通信单元220,由通信单元220将指令发送给控制单元210,以使控制单元210根据指令中的振幅A和振动力方向指示信息生成用于驱动目标振动电机振动的驱动波形。
可以理解的是,在实际应用中,上位机100下发至触感可穿戴设备200的碰撞触感指令中除包括振幅A、上升下降比系数f之外,还可以包括驱动波形的频率、振动时长等用于驱动波形生成的相关信息。当然,频率和振动时长等信息也可以是在触感可穿戴设备200中预配置好的信息。
控制单元210接收到碰撞触感指令后,解析该碰撞触碰指令,即可根据指令中的振动力方向指示信息和振幅A合成对应的电机驱动波形,将所合成的电机驱动波形发送至指令中的目标振动电机标识所对应的目标振动电机,从而使目标振动电机产生与振动力方向指示信息和振幅A相对应的振动。
在上述三位手部模型与虚拟按键的示例中,碰撞触感指令中的振动力方向指示信息f<0,Z轴LRA的振幅与计算出的三维手部模型的受力强度成正比,因此,以基于该指令所生成的电机驱动波形驱动Z轴LRA振动时,用户手部可以感受到向+Z方向的振动力感,且振动强度与受力强度对应,从而实现了基于用户手势交互的、有方向性的振动触感反馈,为用户提供了更加准确、丰富的触感体验,使用户的感受更加真实。
图10示出了本发明实施例提供的一种触感交互方法的流程示意图,该方法应用在用户手部与VR或AR场景进行交互的过程中,用户手部佩戴有触感可穿戴设备,该方法具体可以由图1中所示的上位机执行。如图10所示,该触感交互方法主要可以包括:
步骤S11:获取用户手部的手势信息。
步骤S12:根据用户手部的手势信息,得到与用户手部的手势信息相对应的三维手部模型。
本发明实施例中,可以通过相机模组或其它能够采集三维图像的设备来获取用户手部在AR场景或VR场景中的三维手部图像。通过对三维手部图像进行手势识别,得到用户手部的手势信息。从而可以基于获取的用户手部的手势信息,生成VR或AR场景中与用户手部的手势信息相匹配的三维手部模型,或者,根据获取的用户手部的手势信息对VR或AR场景的虚拟三维手部模型的姿态进行调整,使交互场景中的三维手部模型的手势姿态与用户手部的姿态更加符合。
其中,用户手部的手势信息包括但不限于手部关节自由度信息和手部在VR或AR场景中的三维空间的位置信息。
可以理解的是,在实际应用中,可以按照预设的时间间隔来获取用户手部的手势信息,即可以预设的时间间隔对交互场景中的三维手部模型进行调整。其中,预设的时间间隔可以根据经验值进行设置,也可以根据三维图像采集设备所能够支持的图像采集频率进行设置,例如,时间间隔可以设置为三维图像采集设备的最小图像采集周期的整数倍。
步骤S13:通过碰撞检测算法检测出场景中与三维手部模型发生碰撞的碰撞模型。
碰撞检测即是检测虚拟场景中不同对象即不同碰撞模型之间是否发生了碰撞,碰撞检测对于增强虚拟场景的沉浸感和真实感至关重要。本发明实施例中,为了确定用户手部与交互场景中虚拟物体的交互情况,以确定三维手部模型是否与场景中的其它碰撞模型发生了碰撞,是否需要向触感可穿戴设备发送碰撞触感指令,以使触感可穿戴设备控制振动电机振动,为用户手部反馈振动提示,需要对三维手部模型与交互场景中的碰撞模型进行碰撞检测,以检测出与三维手部模型发生碰撞的虚拟物体的碰撞模型。
其中,通过碰撞检测算法检测与三维手部模型发生碰撞的碰撞模型的具体实现方式为现有技术,在此不再详细描述。碰撞检测算法的具体算法可以根据实际应用需要选择。
可以理解的是,在实际应用中,通过碰撞检测算法检测与三维手部模型发生碰撞的碰撞模型时,也可以是按照预设的时间间隔进行。该时间间隔可以根据经验值进行设置,也可以根据上位机中的硬件组件的性能进行设置,例如可以根据物理引擎的性能或者渲染引擎的性能进行设置,如可以在应用场景的每一帧的渲染中都进行三维手部模型和虚拟场景中的虚拟物体的碰撞检测,也可以将时间间隔设置为渲染引擎一帧的渲染时间的整数倍。其中,获取用户手部的手势信息的时间间隔与碰撞检测的时间间隔可以相同,也可以不同。
步骤S14:确定碰撞模型所对应的受力模型,根据受力模型确定三维手部模型的受力信息。
在检测出与三维手部模型发生碰撞的虚拟物体的碰撞模型后,即可以根据碰撞模型的唯一ID在预配置的碰撞模型管理信息中查找到该ID所对应的受力模型,得到三维手部模型的受力位置,并可以基于发生碰撞的受力模型确定出三维手部模型的受力信息。其中,受力信息包括受力方向和受力强度。
本发明一可选实施例中,根据受力模型确定三维手部模型的受力信息,包括:
根据受力模型,在预配置的第一受力方向表中,查找与受力模型相对应的受力方向,第一受力方向表用于存储受力模型与受力方向的对应关系。
本发明实施例中,可以通过为交互场景中每个虚拟物体的受力模型预配置与其对应的受力方向,在确定出发生碰撞的碰撞模型所对应的受力模型后,即根据该受力模型确定出受力方向。例如,对于图8a至图8c中所示的虚拟按键,可以预配置其受力模型即弹簧模型的受力方向为由指尖到指根,则在检测出发生碰撞的碰撞模型所对应的受力模型为弹簧模型时,则可以确定出三维手部模型的受力方向即为指尖到指根。
本发明一可选实施例中,根据受力模型确定三维手部模型的受力信息,包括:
根据受力模型和发生碰撞时三维手部模型的受力位置,在预配置的第二受力方向表中,查找与受力模型和受力位置相对应的受力方向,第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系。
本发明实施例中,对于每个受力模型,可以根据手部受力位置的不同,预配置不同的受力方向,在检测出发生碰撞后,即可基于发生碰撞的三维手部模型的受力位置和发生碰撞的受力模型,确定出与三维手部模型和物理模型的交互状态更加匹配的受力方向。
本发明一可选实施例中,根据受力模型确定三维手部模型的受力信息,包括:
根据当前获取的用户手部的位置信息和上一次获取的用户手部的位置信息,确定用户手部的移动方向;
根据受力模型、移动方向和受力位置,确定受力方向。
在三维手部模型与碰撞模型发生碰撞时,三维手部模型的受力方向除了与碰撞模型对应的受力模型有关系外,一般与用户手部的移动方向(可表征三维手部模型的移动方向)和碰撞时的受力位置也有很大关系,例如,交互场景中的一虚拟物体的视觉模型为桌子,碰撞模型为长方体,三维手部模型的手掌由上向下按压桌子时,手部移动方向为由上至下,受力位置为手掌,此时受力方向则沿桌面法向(由下至上)的力;而手掌由于水平移动与桌子(长方体)发生碰撞时,手部的受力位置多为手的侧面(除手掌与手背之外的面),此时受力方向则为平行于桌面的力。因此,可以基于受力模型、移动方向和受力位置,来确定受力方向。
本发明一可选实施例中,根据受力模型确定三维手部模型的受力信息,包括:
根据预配置的受力模型的受力计算公式,获取与受力计算公式相对应的碰撞受力参数;
根据受力计算公式和碰撞受力参数,计算受力强度。
本发明实施例中,可以根据实际应用场景,根据虚拟物体的受力模型,,配置受力模型的受力计算公式。在确定出发生碰撞的受力模型后,即可根据受力模型的受力计算公式,获取计算受力强度所需要的碰撞受力参数,从而根据受力计算公式和碰撞受力参数,计算出受力强度。例如,受力模型为弹簧模型,其受力计算公式为F=kx,则在计算受力强度时,需要获取的碰撞受力参数为x。
步骤S15:根据三维手部模型的受力信息生成碰撞触感指令,将碰撞触感指令发送给触感可穿戴设备,碰撞触感指令用于使触感可穿戴设备控制设备中振动电机的振动。
本发明一可选实施例中,若触感可穿戴设备上所设置的振动电机的个数为至少两个,根据三维手部模型的受力信息生成碰撞触感指令,包括:
根据受力方向或发生碰撞时三维手部模型的受力位置确定振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示触感可穿戴设备中所要振动的目标振动电机;
根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性;
根据至少一个目标振动电机的标识、振动力方向指示信息和振幅生成碰撞触感指令。
本发明实施例中,可以根据发生碰撞时三维手部模型的受力位置、受力方向以及受力强度,分别确定出所要触发振动的目标振动电机的标识、振动力方向指示信息以及振动电机的振幅,并通过将生成包括目标振动电机的标识、振动力方向指示信息以及振幅的碰撞触感指令发送至触感可穿戴设备,使触感可穿戴设备能够根据碰撞触感指令中的信息控制振动电机产生与碰撞检测结果中相匹配的、具有方向性振动力感的振动,为用户提供了更加真实、更加丰富的触感反馈,提升用户使用手势交互的体验。
其中,振动力方向指示信息用于表征振动电机振动时所产生的振动力感的方向性。本发明实施例中,通过三维手部模型的受力方向来确定振动电机的振动力方向指示信息,从而使振动电机振动时能够产生与三维手部模型的受力方向一致的振动力感。
本发明一可选实施例中,振动电机可以为交流振动电机,振动力方向指示信息可以为用于表征电机驱动波形的、一个波形周期的上升段时长与下降段时长关系的信息。
其中,振动力方向指示信息为以下信息中的任一种:
上升段时长和下降段时长、上升段时长与下降段时长的比值、上升段时长和下降段时长的长短关系、或者上升段时长和下降段时长的差值与波形周期的比值。
对于正弦波、三角波等波形来说,若一个波形周期内的上升段与下降段时是对称的,上升段时长与下降段时长则也是相等的,因振动电机内的质量块的质量恒定,因此,此时上升段和下降段的加速度也是对称的,用户感受到的振动触感也是没有明确的方向感。同样的,若上升段与下降段是非对称的,则两段的加速度变化也是不同的,时长短的段较时长长的段的加速度更大,因此,可以以驱动波形的一个波形周期的上升段时长与下降段时长的关系来作为振动力方向指示信息,使用户感受到振动的力感的方向。
本发明一可选实施例中,若触感可穿戴设备上所设置的振动电机的个数为至少两个,根据三维手部模型的受力信息生成碰撞触感指令,包括:
根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性;
根据受力位置、振动力方向指示信息和振幅生成碰撞触感指令,其中,碰撞触感指令中包括的受力位置用于使触感可穿戴设备根据受力位置或确定所要触发振动的至少一个目标振动电机的标识。
本发明一可选实施例中,若触感可穿戴设备上所设置的振动电机的个数为至少两个,根据三维手部模型的受力信息生成碰撞触感指令,包括:
根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性;
根据受力方向、振动力方向指示信息和振幅生成碰撞触感指令,其中,碰撞触感指令中包括的受力方向,用于使触感可穿戴设备根据受力方向确定所要触发振动的至少一个目标振动电机的标识。
本发明实施例中,目标振动电机的确定可以是由上位机来完成,也可以是由触感可穿戴设备来完成。在由触感可穿戴设备来完成时,碰撞触感指令中除包括振动力方向指示信息和振幅外,还需要携带上述受力方向或受力位置,以使触感可穿戴设备在接收到碰撞触感指令时,能够根据指令中的受力方向或受力位置确定目标振动电机。
本发明一可选实施例中,根据受力方向确定所要触发振动的至少一个目标振动电机的标识,包括:
根据受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定目标振动电机的标识,其中,第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系。
其中,振动电机的振动方向指的是振动电机根据其设置位置的不同,所能够提供的振动的方向。如图3中所示的三个LRA分别设置于指环的上方、下方和侧方,三个LRA分别提供Z轴、Y轴和X轴的方向振动,在三维手部模型的受力方向为指尖到指根时,在用户佩戴图3中所示的指环时,则受力方向与Z轴振动电机的振动方向相同,可以确定Z轴的振动电机为目标振动电机,Z轴的振动电机的标识为目标振动电机的标识。
本发明一可选实施例中,根据发生碰撞时三维手部模型的受力位置确定所要触发振动的至少一个目标振动电机的标识,包括:
根据受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;其中,第二电机信息表用于存储振动电机的标识与振动电机在触感可穿戴设备上的设置位置的对应关系。
在根据受力位置确定所要触发振动的目标振动电机时,可以直接将设置位置与受力位置最近的振动电机作为目标振动电机,也可以根据设置位置与受力位置之间的距离,设置位置在受力位置附近的多个振动电机作为目标振动电机。
本发明一可选实施例中,若目标振动电机的标识为前n个距离所对应的振动电机的标识,还可以包括:
根据振幅和前n个距离,确定每个目标振动电机的标识所对应的子振幅,其中,每个目标振动电机的标识所对应的子振幅与每个目标振动电机的标识所对应的距离成反比;
此时,碰撞触感指令中还包括每个目标振动电机的标识所对应的子振幅。
在目标振动电机为至少两个时,还可以根据目标振动电机与受力位置的距离,分别为每个目标振动电机确定所对应的子振幅,从而使振动电机振动时,不同目标振动电机的振幅即产生的振感是不同的,为用户提供更多的振感提示。
可以理解的是,在实际应用中,若触感可穿戴设备上的振动电机只有一个时,上位机则无需执行确定目标振动电机的标识的步骤,只需要根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,根据振动力方向指示信息和振幅生成碰撞触感指令即可。上位机发送至触感可穿戴设备的碰撞触感指令中也无需包括用于确定目标振动电机的标识的受力位置或受力方向。
本发明一可选实施例中,根据受力强度确定振动电机的振幅,包括:
根据受力强度和受力模型,确定振幅。
在实际应用中,在确定振动电机的振幅时,除根据受力强度确定出相对应的振幅外,还可以进一步结合发生碰撞时的虚拟物体的受力模型,来得到与受力强度和受力模型相对应的振幅。
可以理解的是,根据受力强度和受力模型确定振幅的具体实现方式可以根据需要进行配置。例如,可以根据受力模型,为不同类别的受力模型预配置不同的振动系数,从而使用户在感受到振感强度时,能够依据振感强度基本确定出发生碰撞的受力模型。
本发明一可选实施例中,若用户手部在三维空间的位置与场景的手势交互区域的边界之间的距离小于设定距离,或者用户手部的位置位于手势交互区域外时,本发明实施例的交互方法还可以包括:
根据用户手部和手势交互区域的相对位置关系,向触感可穿戴设备发送提醒触感指令;其中,提醒触感指令中包括提醒方向指示信息,提醒方向指示信息用于表征振动电机振动时的力感的方向性为由边界指向交互区域中心,提醒触感指令用于指示触感可穿戴设备根据提醒方向指示信息控制振动电机振动。
在VR或AR应用场景中,场景中的手势交互区域一般对用户来说是不可见的,例如,在AR应用场景中,手势侦测摄像头的视场角一般仅能覆盖用户面前的一个锥形区域,所以经常会出现用户的手部不知不觉移出交互区域,导致手势操作无响应。本发明实施例中,为了给用户提供交互区域边界的振感反馈,当用户手部接近边界(与边界距离小于设定距离)或移出交互区域时,可以通过产生包括有提醒方向指示信息的提醒触感指令,并将该指令发送至触感可穿戴设备,以使触感可穿戴设备能够控制设备上的电机产生力感的方向性为由边界指向交互区域中心的振感,从而为用户反馈指向交互区域中心的牵引力,提醒用户其手部已经移动到了交互区域边界,可以根据牵引力的方向向交互区域中心移动。
可以理解的是,在实际应用中,提醒触感指令中除包括提醒方向指示信息之外,还可以包括振幅、频率等信息,以使触感可穿戴设备在接收到该指令时,能够根据指令中的这些信息产生对应的提醒驱动波形来驱动振动电机振动。其中,振幅的大小可以根据不同的配置策略产生,例如可以根据用户手部在三维空间的位置与场景的手势交互区域的边界之间的距离的大小产生相对应的振幅,距离越小振幅越大。当然,用于产生驱动波形的除提醒方向指示信息之外的其它信息也可以根据实际配置由触感可穿戴设备生成。
本发明一可选实施例中,确定三维手部模型的受力信息之后,该触感交互方法还可以包括:生成与受力信息相对应的受力提示信息,根据预配置的显示策略将受力提示信息显示在场景中。
在实际应用中,除了通过控制振动电机的振动为用户提供触感反馈外,还可以根据所确定出的受力信息生成对应的受力提示信息,并将受力信息显示到AR或VR的交互场景中,使用户能够通过AR或VR眼镜或其它虚拟现实设备看到受力提示信息,为用户同时提供触觉和视觉上的反馈,更好的满足交互需求。
可以理解的是,受力提示信息的具体形式可以根据需要配置,例如,可以通过箭头或其它方式来表征受力方向,通过箭头的大小或线条的粗细或颜色来表征受力强度等信息。在显示受力提示信息时,可以将受力提示信息显示到三维手部模型即发生碰撞的位置附近,使用户更加容易捕捉到该提示信息。
本发明一可选实施例中,根据三维手部模型的受力信息生成碰撞触感指令之前,还可以包括:
确定当前计算出的受力强度与上一次计算出的受力强度的差值的绝对值大于第一设定值。
也就是说,可以只有当相邻两次计算出的受力强度的差值的绝对值大于一定值(设定值)时,才生成碰撞触感指令,在当前计算出的受力强度与上一次计算出的受力强度的差值的绝对值不大于设定值时,则可以不生成碰撞触感指令。这是因为如果相邻两次的受力强度相差不大,即使生成碰撞触感指令,触感可穿戴设备根据当前指令控制振动电机振动时的振幅与上一次的振动时的振动相差不大,用户有可能感觉不到振动差异。
当然,也可以是在根据受力强度确定出振幅之后,通过判断相邻两次的振幅的差值的绝对值是否大于第二设定值,来确定是否生成碰撞触感指令,或者,还可以根据实际应用需要,设置其它碰撞触感指令是否生成或者发送碰撞触感指令的策略,以在尽量不影响对用户的触感反馈的前提下,节约上位机或触感可穿戴设备的资源。
对应于本发明实施例中的触感交互方法,本发明实施例还提供了一种触感交互装置。如图11所示,该触感交互装置400主要可以包括手势信息获取模块410、手部模型确定模块420、碰撞检测模块430、受力信息确定模块440、触感指令生成模块450和触感指令发送模块460。
手势信息获取模块410,用于获取VR或AR场景中的用户手部的手势信息,用户手部的手势信息包括手部关节自由度信息和手部在场景的三维空间的位置信息。
手部模型确定模块420,用于根据用户手部的手势信息,得到与用户手部的手势信息相对应的三维手部模型。
碰撞检测模块430,用于通过碰撞检测算法检测出场景中与三维手部模型发生碰撞的碰撞模型。
受力信息确定模块440,用于确定碰撞模型所对应的受力模型,根据受力模型确定三维手部模型的受力信息,受力信息包括受力方向和受力强度。
触感指令生成模块450,用于根据三维手部模型的受力信息生成碰撞触感指令。
触感指令发送模块460,用于将碰撞触感指令发送给触感可穿戴设备,碰撞触感指令用于使触感可穿戴设备控制设备中振动电机的振动。
可以理解的是,根据本申请实施例的触感交互装置400,可对应于图10中所示的根据本申请实施例的触感交互方法的执行主体,具体可以实现为图1中所示的上位机,例如计算机、智能手机或其他计算设备。触感交互装置400的各模块的操作和/或功能的详细实现方式可参见图10所对应的本申请实施例的触感交互方法部分中的描述,为了简洁,在此不再赘述。
本发明一可选实施例中,若触感可穿戴设备上的振动电机的个数为至少两个,触感指令生成模块450具体用于:
根据受力方向或发生碰撞时三维手部模型的受力位置确定振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示触感可穿戴设备中所要振动的目标振动电机;
根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性;
根据目标振动电机的标识、振动力方向指示信息和振幅生成碰撞触感指令。
本发明一可选实施例中,若触感可穿戴设备上的振动电机的个数为至少两个,触感指令生成模块450具体用于:
根据受力方向确定振动力方向指示信息,根据受力强度确定振动电机的振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性;
根据受力位置、振动力方向指示信息和振幅生成碰撞触感指令,或者根据受力方向、振动力方向指示信息和振幅生成碰撞触感指令;
其中,碰撞触感指令中的受力位置或受力方向,用于使触感可穿戴设备根据受力位置或受力方向确定所要触发振动的至少一个目标振动电机的标识。
本发明一可选实施例中,振动电机可为交流振动电机,上述振动力方向指示信息可以为用于表征电机驱动波形的、一个波形周期的上升段时长与下降段时长关系的信息。
其中,振动力方向指示信息为以下信息中的任一种:
上升段时长和下降段时长、上升段时长与下降段时长的比值、上升段时长和下降段时长的长短关系、或者上升段时长和下降段时长的差值与波形周期的比值。
本发明一可选实施例中,触感指令生成模块450在根据受力方向确定所要触发振动的至少一个目标振动电机的标识时,具体用于:
根据受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定目标振动电机的标识,其中,第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系。
本发明一可选实施例中,触感指令生成模块450在根据发生碰撞时三维手部模型的受力位置确定所要触发振动的至少一个目标振动电机的标识时,具体用于:
根据受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;其中,第二电机信息表用于存储振动电机的标识与振动电机在触感可穿戴设备上的设置位置的对应关系。
本发明一可选实施例中,若目标振动电机的标识为前n个距离所对应的振动电机的标识,触感指令生成模块450还可以用于:
根据振幅和前n个距离,确定每个目标振动电机的标识所对应的子振幅,其中,每个目标振动电机的标识所对应的子振幅与每个目标振动电机的标识所对应的距离成反比;碰撞触感指令中还包括每个目标振动电机的标识所对应的子振幅。
本发明一可选实施例中,触感指令生成模块450在根据受力强度确定振动电机的振幅时,具体可以用于:
根据所述受力强度和所述受力模型确定所述振幅。
本发明一可选实施例中,受力信息确定模块440具体用于:
根据受力模型,在预配置的第一受力方向表中,查找与受力模型相对应的受力方向,第一受力方向表用于存储受力模型与受力方向的对应关系;或者,
根据受力模型和发生碰撞时三维手部模型的受力位置,在预配置的第二受力方向表中,查找与受力模型和受力位置相对应的受力方向,第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系;或者,
根据当前获取的用户手部的位置信息和上一次获取的用户手部的位置信息,确定用户手部的移动方向;
根据受力模型、移动方向和受力位置,确定受力方向。
本发明一可选实施例中,受力信息确定模块440具体用于:
根据预配置的受力模型的受力计算公式,获取与受力计算公式相对应的碰撞受力参数;根据受力计算公式和碰撞受力参数,计算受力强度。
可以理解的是,本申请实施例的触感交互装置400,可对应于图10或基于图10所示的根据本申请实施例的触感交互方法中的执行主体,触感交互装置400的各模块的操作和/或功能是为了实现图10或基于图10所对应的本申请实施例的触感交互方法中的相应流程,触感交互装置400的各模块的操作和/或功能的详细实现方式可参见前文中对应的触感交互方法部分中的描述,为了简洁,在此不再赘述。
本发明实施例还提供了一种触感可穿戴设备。如图12所示。该触感可穿戴设备500用于佩戴于用户手部,触感可穿戴设备500主要可以包括设备本体,设备本体上设有控制单元510、以及分别与控制单元510连接的振动电机520。
控制单元510,用于接收碰撞触感指令,根据碰撞触感指令生成对应的驱动波形,将驱动波形发送至振动电机,碰撞触感指令为根据VR或AR场景中的三维手部模型的受力信息所生成的碰撞触感指令,受力信息包括受力方向和受力强度。
振动电机520,用于接收驱动波形,根据驱动波形产生振动。
其中,设备本体的具体形式,可以根据实际需要为手套、指套、指环、手环或触感手柄中的任一种。控制单元510具体可以实现为中央处理器(Central Processing Unit,CPU)或者控制器等。用户通过设备本体将触感可穿戴设备500佩戴于手部,控制单元510根据接收到的上位机所下发的碰撞触感指令,生成用于驱动振动电机520振动的驱动波形,从而能够使用户感受到与受力信息相对应的触感反馈,使用户的感受更加真实。
可以理解的是,对于本领域技术人员来说清楚的是,触感可穿戴设备500除控制单元510和振动电机520之外,还可以包括其它必须的组件,例如,还可以包括分别与控制单元510连接的通信模块、缓存和/或寄存器等存储设备,控制单元510可以通过通信模块与上位机或其它外部设备通信,通过存储设备存储各种交互数据(如获取的用户的手部信息、生成碰撞触感指令所需的各参数信息、碰撞触感指令等)。触感可穿戴设备500还可以包括与控制单元510连接的用户输入单元(如按键、遥杆和/或触摸板)、传感器单元等,通过用户输入单元可以获取用户输入的信息,通过传感器单元可以获取触感可穿戴设备500的加速度和/或角速度等运动信息。
本发明一可选实施例中,振动电机520根据手部皮肤的敏感度设置在设备本体上。
本发明一可选实施例中,振动电机520具体可以为LRA或者为偏心转子马达(Eccentric Rotating Mass,ERM)。
本发明一可选实施例中,若碰撞触感指令中包括至少一个目标振动电机的标识、振动力方向指示信息和振幅,振动力方向指示信息用于表征振动电机振动时的力感的方向性,控制单元510具体用于:
根据振动力方向指示信息和振幅生成驱动波形;
将驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
控制单元510可以根据接收到的触感指令中的目标振动电机的标识,驱动该标识所对应的目标振动电机振动,实现有针对性的控制振动电机的振动,例如,可以控制与受力位置最近的振动电机振动,以为用户提供更加真实的触感反馈。
本发明一可选实施例中,若碰撞触感指令中包括受力方向、振动力方向指示信息和振幅时,控制单元510具体用于:
根据受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定所要触发振动的至少一个目标振动电机的标识,第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系;根据振动力方向指示信息和振幅生成驱动波形;
将驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
本发明一可选实施例中,若碰撞触感指令中包括受力位置、振动力方向指示信息和振幅时,控制单元510具体用于:
根据受力位置和预配置的第二电机信息表中所存储的振动电机的设置位置,确定所要触发振动的至少一个目标振动电机的标识,第二电机信息表用于存储振动电机的标识与振动电机在触感可穿戴设备上的设置位置的对应关系;
根据振动力方向指示信息和振幅生成驱动波形;
将驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
本发明实施例中,所要触发振动的目标振动电机的确定,可以由上位机执行、也可以由触感可穿戴设备500来执行。若上位机所下发的碰撞触感指令中携带有目标振动电机的标识,则控制单元510可以直接根据接收到的碰撞触感指令中的标识驱动对应的振动电机振动,若碰撞触感指令中未携带有目标振动电机的标识,所携带的是受力位置或受力方向,则控制单元510可以根据受力位置或者受力方向来自行确定所要触发振动的目标振动电机。
本发明一可选实施例中,控制单元510在根据受力位置和预配置的第二电机信息表中所存储的振动电机的设置位置,确定所要触发振动的至少一个目标振动电机的标识时,具体可以用于:
将设置位置与受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2。
本发明一可选实施例中,若至少一个目标振动电机的标识为前n个距离所对应的振动电机的标识,控制单元510还可以用于:
根据振幅和前n个距离,确定每个目标振动电机所对应的子振幅,其中,目标振动电机的标识所对应的子振幅与目标振动电机的设置位置与受力位置之间的距离成反比。
相对应的,控制单元510在根据振动力方向指示信息和振幅生成驱动波形,将驱动波形发送至至少一个目标振动电机的标识所对应的振动电机时具体用于:
根据振动力方向指示信息和每个目标振动电机的标识所对应的子振幅,生成每个目标振动电机的标识所对应的驱动波形;
将每个目标振动电机的标识所对应的驱动波形发送至每个目标振动电机的标识所对应的振动电机。
本发明一可选实施例中,控制单元510还可以用于:
接收提醒触感指令,其中,提醒触感指令中包括提醒方向指示信息,提醒方向指示信息用于表征振动电机振动时的力感的方向性为由所述边界指向所述交互区域中心,提醒触感指令用于指示所述触感可穿戴设备根据提醒方向指示信息和振幅控制振动电机振动;
根据提醒触感指令中的提醒方向指示信息和振幅生成用于驱动振动电机振动的第二驱动波形,并将第二驱动波形发送至振动电机520。
对应的,振动电机520,用于接收第二驱动波形,根据第二驱动波形产生与提醒方向指示信息相对应的振动。
图13示出了根据本申请实施例的触感交互方法和装置的一种电子设备600的示意性框图。如图13所示,电子设备600包括处理器601、存储器602和通信接口603,存储器602用于存储可执行的计算机程序代码,处理器601通过读取存储器602中存储的计算机程序代码来运行与计算机程序代码对应的计算机程序,以用于执行本发明任一实施例的触感交互方法。通信接口603用于与外部设备通信,电子设备600还可以包括总线604,总线604用于连接处理器601、存储器602和通信接口603,使处理器601、存储器602和通信接口603通过总线604进行相互通信。
可以理解的是,根据本申请实施例的电子设备600,可对应于根据本申请实施例的触感交互方法的执行主体。
本申请实施例还提供了一种计算机可读存储介质,该可读存储介质中存储有计算机指令,当计算机指令被处理器执行时,使得计算机执行本发明任一实施例的触感交互方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (19)
1.一种触感交互方法,其特征在于,所述方法应用在用户手部与虚拟现实VR或增强现实AR的场景进行交互的过程中,所述用户手部佩戴有触感可穿戴设备,所述方法包括:
获取所述用户手部的手势信息,所述用户手部的手势信息包括手部关节自由度信息和手部在所述场景的三维空间的位置信息;
根据所述用户手部的手势信息,得到与所述用户手部的手势信息相对应的三维手部模型;
通过碰撞检测算法检测出所述场景中与所述三维手部模型发生碰撞的碰撞模型;
确定所述碰撞模型所对应的受力模型,根据所述受力模型确定所述三维手部模型的受力信息,所述受力信息包括受力方向和受力强度;
根据所述三维手部模型的受力信息生成碰撞触感指令;
将所述碰撞触感指令发送给所述触感可穿戴设备,所述碰撞触感指令用于使所述触感可穿戴设备控制设备中振动电机的振动;
若所述用户手部在所述三维空间的位置与所述场景的手势交互区域的边界之间的距离小于设定距离,或者所述用户手部的位置位于所述手势交互区域外时,所述方法还包括:
根据所述用户手部和所述手势交互区域的相对位置关系,向所述触感可穿戴设备发送提醒触感指令;
其中,所述提醒触感指令中包括提醒方向指示信息,所述提醒方向指示信息用于表征所述振动电机振动时的力感的方向性为由所述边界指向所述交互区域中心,所述提醒触感指令用于指示所述触感可穿戴设备根据所述提醒方向指示信息控制所述振动电机振动。
2.根据权利要求1所述的方法,其特征在于,若所述振动电机的个数为至少两个,所述根据所述三维手部模型的受力信息生成碰撞触感指令,包括:
根据所述受力方向或发生碰撞时所述三维手部模型的受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示所述触感可穿戴设备中所要振动的目标振动电机;
根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;
根据至少一个目标振动电机的标识、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;或者,
根据所述受力位置、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;或者,
根据所述受力方向、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;
其中,所述碰撞触感指令中的所述受力位置或所述受力方向,用于使所述触感可穿戴设备根据所述受力位置或所述受力方向确定所要触发振动的至少一个目标振动电机的标识。
3.根据权利要求2所述的方法,其特征在于,根据所述受力方向确定所要触发振动的至少一个目标振动电机的标识,包括:
根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定至少一个目标振动电机的标识,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系。
4.根据权利要求2所述的方法,其特征在于,根据发生碰撞时所述三维手部模型的所述受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,包括:
根据所述受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与所述受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与所述受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;
其中,所述第二电机信息表用于存储振动电机的标识与振动电机在所述触感可穿戴设备上的设置位置的对应关系。
5.根据权利要求2所述的方法,其特征在于,所述根据所述受力强度确定振动电机的振幅,包括:
根据所述受力强度和所述受力模型,确定所述振幅。
6.根据权利要求2所述的方法,其特征在于,所述振动电机为交流振动电机,所述振动力方向指示信息为用于表征电机驱动波形的、一个波形周期的上升段时长与下降段时长关系的信息。
7.根据权利要求1所述的方法,其特征在于,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:
根据所述受力模型,在预配置的第一受力方向表中,查找与所述受力模型相对应的受力方向,所述第一受力方向表用于存储受力模型与受力方向的对应关系;
或者,
根据所述受力模型和发生碰撞时所述三维手部模型的受力位置,在预配置的第二受力方向表中,查找与所述受力模型和所述受力位置相对应的受力方向,所述第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系;
或者,
根据当前获取的所述用户手部的位置信息和上一次获取的所述用户手部的位置信息,确定所述用户手部的移动方向;
根据所述受力模型、所述移动方向和所述受力位置,确定所述受力方向。
8.根据权利要求1所述的方法,其特征在于,所述根据所述受力模型确定所述三维手部模型的受力信息,包括:
根据预配置的所述受力模型的受力计算公式,获取与所述受力计算公式相对应的碰撞受力参数;
根据所述受力计算公式和所述碰撞受力参数,计算所述受力强度。
9.一种触感可穿戴设备,其特征在于,所述设备用于佩戴于用户手部,所述设备包括设备本体,所述设备本体上设有控制单元、以及与所述控制单元连接的振动电机;
所述控制单元,用于接收碰撞触感指令,根据所述碰撞触感指令生成对应的驱动波形,将所述驱动波形发送至所述振动电机,所述碰撞触感指令为根据虚拟现实VR或增强现实AR场景中的三维手部模型的受力信息所生成的碰撞触感指令,所述受力信息包括受力方向和受力强度,所述受力信息是通过碰撞检测算法检测出所述场景中与所述三维手部模型发生碰撞的碰撞模型,确定所述碰撞模型所对应的受力模型,根据所述受力模型确定;
所述振动电机,用于接收所述驱动波形,根据所述驱动波形产生振动;
所述控制单元还用于:接收提醒触感指令,其中,所述提醒触感指令中包括提醒方向指示信息,所述提醒方向指示信息用于表征所述振动电机振动时的力感的方向性为由所述场景的手势交互区域的边界指向交互区域中心,所述提醒触感指令用于指示所述触感可穿戴设备根据所述提醒方向指示信息控制振动电机振动。
10.根据权利要求9所述的设备,其特征在于,若所述碰撞触感指令中包括至少一个目标振动电机的标识、振动力方向指示信息和振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性,所述控制单元具体用于:
根据所述振动力方向指示信息和所述振幅生成所述驱动波形;
将所述驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
11.根据权利要求9所述的设备,其特征在于,若所述碰撞触感指令中包括受力方向、振动力方向指示信息和振幅时,所述控制单元具体用于:
根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定所要触发振动的至少一个目标振动电机的标识,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系;
根据所述振动力方向指示信息和所述振幅生成所述驱动波形;
将所述驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
12.根据权利要求9所述的设备,其特征在于,若所述碰撞触感指令中包括受力位置、振动力方向指示信息和振幅时,所述控制单元具体用于:
根据所述受力位置和预配置的第二电机信息表中所存储的振动电机的设置位置,确定所要触发振动的至少一个目标振动电机的标识,所述第二电机信息表用于存储振动电机的标识与振动电机在所述触感可穿戴设备上的设置位置的对应关系;
根据所述振动力方向指示信息和所述振幅生成所述驱动波形;
将所述驱动波形发送至至少一个目标振动电机的标识所对应的振动电机。
13.一种触感交互装置,其特征在于,所述装置包括:
手势信息获取模块,用于获取虚拟现实VR或增强现实AR场景中的用户手部的手势信息,所述用户手部的手势信息包括手部关节自由度信息和手部在所述场景的三维空间的位置信息;
手部模型确定模块,用于根据所述用户手部的手势信息,得到与所述用户手部的手势信息相对应的三维手部模型;
碰撞检测模块,用于通过碰撞检测算法检测出所述场景中与所述三维手部模型发生碰撞的碰撞模型;
受力信息确定模块,用于确定所述碰撞模型所对应的受力模型,根据所述受力模型确定所述三维手部模型的受力信息,所述受力信息包括受力方向和受力强度;
触感指令生成模块,用于根据所述三维手部模型的受力信息生成碰撞触感指令;
触感指令发送模块,用于将所述碰撞触感指令发送给所述用户手部佩戴的触感可穿戴设备,所述碰撞触感指令用于使所述触感可穿戴设备控制设备中振动电机的振动;
若所述用户手部在所述三维空间的位置与所述场景的手势交互区域的边界之间的距离小于设定距离,或者所述用户手部的位置位于所述手势交互区域外时,所述触感指令生成模块还用于:根据所述用户手部和所述手势交互区域的相对位置关系,向所述触感可穿戴设备发送提醒触感指令;其中,所述提醒触感指令中包括提醒方向指示信息,所述提醒方向指示信息用于表征所述振动电机振动时的力感的方向性为由所述边界指向所述交互区域中心,所述提醒触感指令用于指示所述触感可穿戴设备根据所述提醒方向指示信息控制所述振动电机振动。
14.根据权利要求13所述的装置,其特征在于,若所述振动电机的个数为至少两个,所述触感指令生成模块具体用于:
根据所述受力方向或发生碰撞时所述三维手部模型的受力位置确定所述振动电机中所要触发振动的至少一个目标振动电机的标识,目标振动电机的标识用于指示所述触感可穿戴设备中所要振动的目标振动电机;
根据所述受力方向确定振动力方向指示信息,根据所述受力强度确定所述振动电机的振幅,所述振动力方向指示信息用于表征所述振动电机振动时的力感的方向性;
根据目标振动电机的标识、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;或者,
根据所述受力位置、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;或者,
根据所述受力方向、所述振动力方向指示信息和所述振幅生成所述碰撞触感指令;
其中,所述碰撞触感指令中的所述受力位置或所述受力方向,用于使所述触感可穿戴设备根据所述受力位置或所述受力方向确定所要触发振动的至少一个目标振动电机的标识。
15.根据权利要求14所述的装置,其特征在于,所述触感指令生成模块在根据所述受力方向或发生碰撞时所述三维手部模型的受力位置确定所要触发振动的至少一个目标振动电机的标识时,具体用于:
根据所述受力方向和预配置的第一电机信息表中所存储的振动电机的振动方向,确定至少一个目标振动电机的标识;或者,
根据所述受力位置与预配置的第二电机信息表中所存储的振动电机的设置位置,将设置位置与所述受力位置最近的振动电机的标识,确定为目标振动电机的标识,或者,将设置位置与所述受力位置之间的距离进行升序排列后的前n个距离所对应的振动电机的标识,确定为目标振动电机的标识,其中,n≥2;
其中,所述第一电机信息表用于存储振动电机的标识与振动电机的振动方向的对应关系,所述第二电机信息表用于存储振动电机的标识与振动电机在所述触感可穿戴设备上的设置位置的对应关系。
16.根据权利要求13所述的装置,其特征在于,所述受力信息确定模块具体用于:
根据所述受力模型,在预配置的第一受力方向表中,查找与所述受力模型相对应的受力方向,所述第一受力方向表用于存储受力模型与受力方向的对应关系;
或者,
根据所述受力模型和发生碰撞时所述三维手部模型的受力位置,在预配置的第二受力方向表中,查找与所述受力模型和所述受力位置相对应的受力方向,所述第二受力方向表用于存储受力模型、手部受力位置和受力方向的对应关系;
或者,
根据当前获取的所述用户手部的位置信息和上一次获取的所述用户手部的位置信息,确定所述用户手部的移动方向;
根据所述受力模型、所述移动方向和所述受力位置,确定所述受力方向。
17.根据权利要求13所述的装置,其特征在于,所述受力信息确定模块具体用于:
根据预配置的所述受力模型的受力计算公式,获取与所述受力计算公式相对应的碰撞受力参数;
根据所述受力计算公式和所述碰撞受力参数,计算所述受力强度。
18.一种电子设备,其特征在于,所述电子设备包括存储器和处理器;
所述存储器中存储有计算机程序指令;
所述处理器用于运行所述计算机程序指令,以执行如权利要求1至8中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器执行时,实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084814.6A CN110096131B (zh) | 2018-01-29 | 2018-01-29 | 触感交互方法、装置、以及触感可穿戴设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810084814.6A CN110096131B (zh) | 2018-01-29 | 2018-01-29 | 触感交互方法、装置、以及触感可穿戴设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096131A CN110096131A (zh) | 2019-08-06 |
CN110096131B true CN110096131B (zh) | 2021-06-04 |
Family
ID=67441864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810084814.6A Active CN110096131B (zh) | 2018-01-29 | 2018-01-29 | 触感交互方法、装置、以及触感可穿戴设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096131B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489845A (zh) * | 2019-08-09 | 2019-11-22 | 瑞声科技(新加坡)有限公司 | 马达振动模型构建方法、触感实现方法及其装置 |
CN110850962B (zh) * | 2019-09-30 | 2024-05-14 | 深圳岱仕科技有限公司 | 控制方法及装置、手部外骨骼设备、计算机可读存储介质 |
CN110703920B (zh) * | 2019-10-15 | 2022-03-08 | 南京邮电大学 | 一种展品碰触临场感反馈设备 |
CN110716647A (zh) * | 2019-10-17 | 2020-01-21 | 广州大西洲科技有限公司 | 一种增强现实交互方法、装置及系统 |
CN111240474B (zh) * | 2020-01-03 | 2023-01-20 | 云南电网有限责任公司电力科学研究院 | 一种积木式触感交互系统 |
CN111580660B (zh) * | 2020-05-09 | 2022-03-18 | 清华大学 | 一种操作触发方法、装置、设备及可读存储介质 |
CN111716361B (zh) * | 2020-07-03 | 2021-09-07 | 深圳市优必选科技股份有限公司 | 机器人控制方法、装置和面-面接触模型构建方法 |
CN114356069A (zh) * | 2020-10-13 | 2022-04-15 | Oppo广东移动通信有限公司 | 交互方法及装置、设备和存储介质 |
CN112987935A (zh) * | 2021-04-20 | 2021-06-18 | 上海趣立信息科技有限公司 | 基于双线性马达的vr手柄装置、操作方法、系统及vr系统 |
CN113448441B (zh) * | 2021-07-08 | 2023-04-25 | 北京有竹居网络技术有限公司 | 具备触觉交互功能的用户手持设备、触觉交互方法及装置 |
CN114123848B (zh) * | 2021-11-23 | 2024-01-30 | 歌尔股份有限公司 | 一种多维立体振动装置的控制方法和控制装置 |
CN115273593B (zh) * | 2022-08-11 | 2023-08-04 | 西南交通大学 | 一种基于外骨骼重量反馈的vr货物搬运系统 |
CN116311385B (zh) * | 2023-05-18 | 2023-08-15 | 山东睿芯半导体科技有限公司 | 手势识别芯片及其手势识别方法 |
CN116755565A (zh) * | 2023-08-21 | 2023-09-15 | 南京维赛客网络科技有限公司 | 利用手指传递信号实现虚拟交互的方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853332A (zh) * | 2014-03-20 | 2014-06-11 | 东南大学 | 一种用于移动终端的指套式力触觉交互装置及交互方法 |
CN105159459A (zh) * | 2015-09-06 | 2015-12-16 | 东南大学 | 一种可用于移动终端的虚拟物体三维形状触觉再现方法 |
CN106227346A (zh) * | 2016-07-25 | 2016-12-14 | 南京航空航天大学 | 基于电磁场控制的力觉和触觉融合再现装置和方法 |
CN106650237A (zh) * | 2016-11-16 | 2017-05-10 | 南京信息工程大学 | 一种支持力触觉反馈的虚拟柔性体手术仿真系统 |
WO2017086508A1 (ko) * | 2015-11-19 | 2017-05-26 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
CN106951098A (zh) * | 2017-05-22 | 2017-07-14 | 杨怀宁 | 一种vr系统触感手套装置及其实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105982767A (zh) * | 2015-01-30 | 2016-10-05 | 陈奎发 | 一种穿戴式姿势纠正器 |
US20170322628A1 (en) * | 2016-05-05 | 2017-11-09 | Jamie Tan | Airborne haptic feedback device |
-
2018
- 2018-01-29 CN CN201810084814.6A patent/CN110096131B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853332A (zh) * | 2014-03-20 | 2014-06-11 | 东南大学 | 一种用于移动终端的指套式力触觉交互装置及交互方法 |
CN105159459A (zh) * | 2015-09-06 | 2015-12-16 | 东南大学 | 一种可用于移动终端的虚拟物体三维形状触觉再现方法 |
WO2017086508A1 (ko) * | 2015-11-19 | 2017-05-26 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
CN106227346A (zh) * | 2016-07-25 | 2016-12-14 | 南京航空航天大学 | 基于电磁场控制的力觉和触觉融合再现装置和方法 |
CN106650237A (zh) * | 2016-11-16 | 2017-05-10 | 南京信息工程大学 | 一种支持力触觉反馈的虚拟柔性体手术仿真系统 |
CN106951098A (zh) * | 2017-05-22 | 2017-07-14 | 杨怀宁 | 一种vr系统触感手套装置及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110096131A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096131B (zh) | 触感交互方法、装置、以及触感可穿戴设备 | |
US10974138B2 (en) | Haptic surround functionality | |
US10338683B2 (en) | Systems and methods for visual processing of spectrograms to generate haptic effects | |
US10564730B2 (en) | Non-collocated haptic cues in immersive environments | |
EP3588250A1 (en) | Real-world haptic interactions for a virtual reality user | |
EP2942693B1 (en) | Systems and methods for viewport-based augmented reality haptic effects | |
JP5969626B2 (ja) | 高められたジェスチャ・ベースの対話のためのシステム及び方法 | |
EP3398030B1 (en) | Haptic feedback for non-touch surface interaction | |
US10474238B2 (en) | Systems and methods for virtual affective touch | |
KR20170069936A (ko) | 위치 기반 햅틱 효과를 위한 시스템 및 방법 | |
EP3598273A1 (en) | Adaptive haptic effect rendering based on dynamic system identification | |
JP2016126772A (ja) | 拡張及び仮想現実アプリケーションのための触覚的に向上されたオブジェクトを生成するシステム及び方法 | |
KR20180094799A (ko) | 자동 국부적 햅틱 생성 시스템 | |
EP3096206A1 (en) | Haptic effects based on predicted contact | |
EP3333674A1 (en) | Systems and methods for compliance simulation with haptics | |
CN110389659A (zh) | 针对增强或虚拟现实环境提供动态触觉回放的系统和方法 | |
US20180011538A1 (en) | Multimodal haptic effects | |
CN110045813A (zh) | 用于二维跟踪和三维跟踪的触觉激活外围设备 | |
EP3367216A1 (en) | Systems and methods for virtual affective touch | |
KR101605740B1 (ko) | 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법 | |
CN117251058B (zh) | 一种多信息体感交互系统的控制方法 | |
US20200286298A1 (en) | Systems and methods for a user interaction proxy | |
CN117572965A (zh) | 一种用于虚拟现实系统的多信息体感交互手套系统 | |
JP2015153387A (ja) | 仮想現実体感装置、仮想現実体感方法、及びプログラム | |
Heukers | A Smartphone-based Controller for Virtual Reality Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |