本发明涉及虚拟现实交互技术,具体地涉及一种基于肌电刺激的虚拟力反馈交互系统及方法。
背景技术:
随着科学技术的发展,虚拟现实(virtualreality)技术得到了广泛的关注和应用,特别是在游戏、影视、教育、医疗等方面vr技术有着广阔的前景。虚拟现实技术包括了模拟环境、感知、自然技能和传感器设备等方面。在感知方面,不仅包括最基本的视觉、听觉感知,还有力触觉感知等。力触觉是唯一既可接受周围环境输入又可以对周围环境输出的感知通道,如能实现视觉、力触觉的融合感知与反馈,可极大增强虚拟现实的沉浸感。力反馈交互技术,是虚拟现实技术的力触觉感知的一种途径。
目前,国内外的vr设备在实现力反馈交互方面,主要存在以下三方面的不足:一、在视觉、听觉上融合处理的交互反馈技术发展得已经比较成熟,但是在视觉、力触觉,甚至视、听、力触觉融合处理的交互反馈技术亟待提高;二、力触觉反馈的形式大多是通过传感器震动体表或通过反馈装置传导力等,在人机交互时不容易对使用者产生有效的约束,极大地降低了虚拟场景的沉浸感;三、传统的面向全身或上半身的力反馈交互设备模块较大,穿戴不便且成本较高,不适合于推广应用。
实际上人体肌肉的运动是通过中枢神经系统将肌电信号脉冲传导给肌纤维,引起肌纤维收缩而实现的。所以,通过在肌纤维处施加合适的电刺激可使肌肉发生收缩和拉伸等动作,从而使人产生自主肌体运动。本发明基于前述肌肉运动的生理学原理,提出新的力反馈交互系统及方法。
技术实现要素:
为了解决现有技术所存在的问题,本发明提出一种基于肌电刺激的虚拟力反馈交互系统,利用虚拟现实和肌电的特点,对肌肉进行电刺激使肌肉产生收缩、拉伸等运动,通过肌腱带动骨骼产生肌体运动,产生更贴近虚拟场景的力反馈效果,增加了趣味性及沉浸感。
本发明还提供基于肌电刺激的虚拟力反馈交互方法。
本发明反馈交互系统采用如下技术方案来实现:基于肌电刺激的虚拟力反馈交互系统,包括电极单元、电刺激模块和肌体运动-肌电刺激模型库,肌体运动-肌电刺激模型库接收从虚拟场景交互事件触发肌体运动所形成的肌体运动参数,输出对应的电刺激信号参数给电刺激模块;电刺激模块分别与电极单元、肌体运动-肌电刺激模型库连接,处理肌体运动-肌电刺激模型库输入的电刺激信号参数并输出电刺激信号给电极单元;电极单元贴在人体皮肤表面,接收电刺激模块传来的电刺激信号,刺激人体表皮肌肉,使人体表皮肌肉收缩、拉伸,带动肌体运动,完成虚拟力反馈。
优选地,所述电刺激模块包括依次连接的微处理器、数模转换器及功率放大器,微处理器将输入的电刺激信号参数转化为电刺激波形数字编码信号后,传输到数模转换器,由数模转换器对电刺激波形数字编码信号进行数模转换后,输出模拟的电刺激信号;从数模转换器输出的电刺激信号经过功率放大器处理后,形成多通道的电刺激信号,输出到相应的电极或电极阵列。
优选地,所述肌体运动-肌电刺激模型库通过模拟实验或仿真计算记录肌体运动参数及肌体运动时的肌电信号,并对肌电信号进行相应的信号处理后转换成电刺激信号参数,之后通过电刺激模块生成相应的电刺激信号输出至电极单元从而反馈回人体的原位置,检验电刺激信号是否与所记录的肌体运动一致;若是,建立该肌体运动模式、强度与电刺激信号参数的对应关系,并储存于肌体运动-肌电刺激模型库中。
优选地,所述肌体运动-肌电刺激模型库储存在计算机、服务器或vr设备中,设有用于确定电刺激信号参数的处理软件,肌体运动-肌电刺激模型库积累肌体运动模式、强度与电刺激信号参数的对应关系时,根据肌电信号并确定电刺激信号参数的过程为:
步骤1:将肌电信号采集成数据点集合并传输至处理软件中;
步骤2:对采集完成的肌电信号数据点进行预处理;
步骤3:预处理后的肌电信号数据点通过处理软件描绘出肌电信号波形,通过预设的一个正阈值筛选出肌电信号波形中的尖峰,并选择第一个尖峰;
步骤4:记录所选择尖峰的时间点和强度大小;
步骤5:从所选择尖峰开始跳过一段预设的不应期之后再选择下一个尖峰,然后返回步骤4;
步骤6:重复步骤5,直至结束;
步骤7:根据每个尖峰时间点和强度大小确定生成的电刺激信号的波形、强度、宽度、频率参数,与肌体运动模式、强度参数对应。
本发明虚拟力反馈交互方法基于上述虚拟力反馈交互系统,其过程为:虚拟场景中的交互事件触发虚拟肌体运动;该肌体运动的参数被传给肌体运动-肌电刺激模型库,肌体运动-肌电刺激模型库从肌体运动模式、强度与电刺激信号参数的对应关系中查询并输出相应的电刺激信号参数;电刺激模块基于肌体运动-肌电刺激模型库输出的电刺激信号参数,生成并输出相应的多通道电刺激信号,通过电极单元对人体表皮肌肉进行电刺激;人体表皮肌肉在电刺激下诱发肌体运动或模拟自主肌体运动,且该动作过程与虚拟场景中交互事件触发的人体动作同步,从而使人体得到逼真的力反馈效果。
从以上技术方案可知,在本发明中,当虚拟现实设备(应用在游戏、影视、教育、医疗等)用户在虚拟场景中发生打击、碰撞、触摸等交互事件的瞬间(如被子弹击中身体、手触碰按键、推门等),虚拟场景中的交互事件触发用户的虚拟肌体运动;该肌体运动参数被传给肌体运动-肌电刺激模型库,电刺激模块基于肌体运动-肌电刺激模型库输出对应的电刺激信号,通过电极对用户肌肉进行电刺激;根据功能性电刺激原理,用户人体在电刺激下诱发肌体运动或模拟自主肌体运动,且该动作过程与虚拟场景中交互事件触发的人体动作一致或接近一致,从而使用户在现实中得到和虚拟场景交互事件同步的力反馈效果。与现有技术相比,本发明具有如下的有益效果:
1、本发明为虚拟现实交互设备提供了一种实现力反馈的途径,弥补了一些虚拟现实设备只有视觉和听觉反馈的不足。并且丰富了力反馈的形式,相对于现有基于传感器的反馈形式,提升了力反馈的真实度,能在人机交互时对用户产生更有效的约束,增强了虚拟场景的沉浸感。
2、主要由电极、电刺激模块构成的基于肌肉电刺激的力反馈交互系统,应用到可穿戴设备中,具有轻便、舒适、成本较低、易于制备的优点。
附图说明
图1为本发明基于肌电刺激的虚拟力反馈交互系统的方框图;
图2为电刺激模块的原理框图;
图3为电极阵列的结构示意图;
图4为本发明基于肌电刺激的虚拟力反馈交互方法的流程图;
图5为肌体运动-肌电刺激模型库的建立流程图。
具体实施方式
以下结合附图和实施例对本发明进行详细说明。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的保护范围。
实施例
如图1,本发明虚拟力反馈交互系统包括电极单元、电刺激模块和肌体运动-肌电刺激模型库,电刺激模块分别与电极单元、肌体运动-肌电刺激模型库连接,其中电极单元为贴在人体皮肤表面的电极或电极阵列。电极或电极阵列贴在人体表面相应位置,与电刺激模块之间以有线或无线的方式连接,负责接收电刺激模块传来的电刺激信号,刺激表皮肌肉;电刺激模块固定在使用者身上,包括但不限于腰间、背部,负责传递电刺激信号给电极单元,并与肌体运动-肌电刺激模型库通过有线或无线连接。肌体运动-肌电刺激模型库储存在包括但不限于计算机、服务器、vr设备等设备中供更新、调用。虚拟场景交互事件触发肌体运动,形成肌体运动参数输入到肌体运动-肌电刺激信号模型库得到对应的电刺激信号参数,并通过电刺激模块和电极对人体相关部位施加电刺激使肌肉收缩、拉伸,带动肌体运动,完成虚拟力反馈。
如图2,电刺激模块包括依次连接的微处理器、数模转换器及功率放大器,电源适配器给微处理器及数模转换器供电,电源适配器经电压转换器后给功率放大器供电,功率放大器包括相连接的幅值转换模块和信号放大模块,幅值转换模块与数模转换器连接,信号放大模块与电极或电极阵列连接,向电极或电极阵列输出多通道的电刺激信号。微处理器将从肌体运动-肌电刺激模型库输入的电刺激信号参数转化为电刺激波形数字编码信号后,通过i/o引脚传输到数模转换器;由数模转换器对电刺激波形数字编码信号进行数模转换后,输出模拟的电刺激信号。从数模转换器输出的电刺激信号经过功率放大器中的幅值转换模块、信号放大模块等处理后,便能形成符合要求的电刺激信号,输出到相应的电极或电极阵列。电源适配器为微处理器、数模转换器、功率放大器提供电源支持,并有电流保护措施从而不会对人体产生伤害,电压转换器则是配合功率放大器使输出电刺激信号的电压能保证在一定范围内。
电刺激模块中实现多通道输出不同参数的电刺激信号则在于数模转换器的工作。数模转换器选用ad7305芯片,一片ad7305芯片并行集成了四个8位的dac数模转换器,并设计了双缓冲并行数据寄存器,允许四个通道的输入寄存器预载入新值,配合ldac引脚可令四个通道选通,可以实现高速数模转换。ldac为使能dac转换寄存器引脚,当该引脚置为逻辑低时,对应的输入寄存器将数据传送到对应通道的dac寄存器,从而实现四个通道的dac寄存器的数据同时更新,四路通道最终输出的模拟信号能同时改变。
如图3,电极采用导电性能优秀、与皮肤贴合度较高的湿电极或干电极。每个电极与一路相应的电刺激通道相连接,都可控制通断。电极阵列以柔性材料凝胶为基底1、金属触点为电极2制成,多个金属触点均匀分布于基底,每个金属触点与一路相应的电刺激模块输出通道相连接,都可控制通断。与单电极相比,在实际使用过程中,即使把阵列电极贴在刺激部位大概的位置,有一个或者几个触点位于最佳的刺激位置上的概率也很大。电极或电极阵列利用制作工艺成熟的贴片紧贴在肌体位置上,或者是利用医用胶布固定在肌体位置上,或者是封装在伸缩性良好的布料中并被紧密穿戴在肌体位置上,以保证电极或电极阵列始终与人体保持良好接触。
在本发明的反馈交互过程中,电极或电极阵列与人体始终保持良好的接触,避免力反馈效果失真。电刺激信号的不同脉冲波形、强度、宽度、频率都能引起肌肉不同的运动。虚拟场景中的交互事件可触发形成不同的肌体运动参数(例如肌体运动模式、肌体弯曲扭转角度、位移长度等),肌体运动-肌电刺激模型库根据肌体运动参数输出不同的电刺激信号参数给电刺激模块,电刺激模块可以输出不同脉冲波形、强度、宽度、频率的电刺激信号给电极或电极阵列以刺激肌肉,使肌肉的运动与虚拟场景交互事件触发的肌体运动相一致,两者误差不超过20%即可视为一致。
如图4,当使用者在虚拟场景中发生打击、碰撞、触摸等交互事件的瞬间(如被子弹击中身体、手触碰按键、推门等),虚拟场景中的交互事件触发虚拟肌体运动;该虚拟肌体运动的参数被传给肌体运动-肌电刺激模型库,肌体运动-肌电刺激模型库从肌体运动模式、强度与电刺激信号参数的对应关系中查询并输出相应的电刺激信号参数;电刺激模块基于肌体运动-肌电刺激模型库输出相应的多通道电刺激信号,通过电极单元对肌肉进行电刺激;根据功能性电刺激原理,人体在电刺激下诱发肌体运动或模拟自主肌体运动,且该动作过程与虚拟场景中交互事件触发的人体动作同步,从而使人体得到逼真的力反馈效果。
vr虚拟场景中参与运动的肌肉类型可分为两种,一种是四肢躯干或较多肌肉参与的运动,一种是手指手掌参与的运动,模型库根据需要对应为身体肌群运动、手部肌肉运动。身体肌群肌肉包括但不限于肱二头肌、背阔肌、胸大肌等,手部肌肉包括但不限于掌短肌、五个手指的屈肌伸肌等。两种运动在虚拟交互事件中可单独也可配合参与。虚拟场景交互事件预先形成并保存其触发时的肌体运动参数,并在触发瞬间输入参数至肌体运动-肌电刺激信号模型库。
如图5,肌体运动-肌电刺激模型库是通过模拟实验或仿真计算记录特定肌体运动的模式与强度等参数及肌体运动时的肌电信号,并对该肌电信号进行相应的信号处理后转换成相应的电刺激信号参数(例如脉冲波形、强度、宽度、频率);之后通过电刺激模块生成相应的电刺激信号输出至电极单元,从而反馈回人体的原位置,检验电刺激信号是否与所记录的特定肌体运动一致;若是,建立该肌体运动模式、强度与电刺激信号参数的对应关系,并储存于模型库中。在肌体运动-肌电刺激模型库的建立过程中,需要积累大量的关系模型,并及时更新模型库。
肌体运动-肌电刺激模型库储存在计算机、服务器或vr设备中,设有用于确定电刺激信号参数的处理软件,肌体运动-肌电刺激模型库积累对应关系时,根据肌电信号并确定电刺激信号参数的过程为:
步骤1:将肌电信号以一定采样率采集成数据点集合并传输至处理软件中;
步骤2:对采集完成的肌电信号数据点进行预处理;
步骤3:预处理后的肌电信号数据点通过处理软件描绘出肌电信号波形,通过预设的一个正阈值筛选出肌电信号波形中的尖峰,并选择第一个尖峰;
步骤4:记录所选择尖峰的时间点和强度大小;
步骤5:从所选择尖峰开始跳过一段预设的不应期之后再选择下一个尖峰,然后返回步骤4;
步骤6:重复步骤5,直至结束;
步骤7:根据每个尖峰时间点和强度大小通过统计手段和临床经验确定生成的电刺激信号的参数(波形、强度、宽度、频率),与肌体运动模式强度等参数对应,输入到模型库中。
其中,电刺激信号为单相或多相的方波、梯形波、三角波、正弦波或者指数波。
电刺激信号与肌体运动的对应关系为:该电刺激信号作用的位置与脉冲波形、脉冲强度(取电流的平均值)、脉冲宽度、脉冲频率等电刺激信号参数与做特定动作时的肌体运动模式、肌体弯曲扭转角度、位移长度等肌体运动参数组成一个数组,存于数据库中,并将两类参数建立起对应关系。其中,肌体运动参数可以采用身体数据传感器获取得到。
下面举两个实例来进一步说明本发明的虚拟力反馈交互过程:
1、对虚拟场景中食指按下按钮的反馈交互:当虚拟场景中使用者的食指按下按钮的瞬间,虚拟场景模块触发食指按按钮运动模式,运动模式参数有:模式—食指向上翻折,参数—食指与手掌成一条直线。将上述运动模式参数输入肌体运动-肌电刺激模型库,得到对应电刺激信号脉冲波形、强度、宽度、频率,并以此通过电刺激模块和电极单元对手指部分肌肉进行电刺激。使用者的手部得到电流刺激后,根据功能性电刺激原理食指将会向上翻折,形成真实的食指按下按钮的力反馈。
2、对虚拟场景中背部受到推力的反馈交互:当虚拟场景中使用者背部受到其他人推力的瞬间,虚拟场景模块触发推背部肌体运动模式,运动模式参数有:模式—背部小菱形肌收缩。将上述模式参数输入肌体运动-肌电刺激模型库,得到对应电刺激信号的脉冲波形、强度、宽度、频率,并以此通过电刺激模块和电极单元对背部肌肉进行电刺激。使用者的背部得到电流刺激后,根据功能性电刺激原理背部肌肉将会收缩,形成真实的被人推的动作。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。