一种三维人机交互系统转让专利

申请号 : CN200910093889.1

文献号 : CN102023700B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴健康

申请人 : 吴健康

摘要 :

本发明公开一种三维人机交互装置,该装置在传感器坐标系中获取并输出三维人机交互装置的三维位置和运动状态的传感数据,三维人机交互数据处理和融合装置接收传感数据,在用户坐标系中进行运动状态参数估计,将运动状态参数转换成应用坐标系中的交互参数,并进一步通过应用接口实现与应用和控制对象的实时三维交互。三维人机交互装置也通过三维人机交互数据处理和融合装置与应用和控制对象交换数据和控制指令,实现系统管理、系统初始化和对方位、速度、位置和用户和应用坐标系关系重新置初值。

权利要求 :

1.一种三维人机交互系统,其特征在于,包括:该系统把整个交互定义为在传感器坐标系、用户坐标系、应用坐标系下的传感器数据获取、处理、融合和转换过程,其中:三维人机交互装置包括多个微型传感器,多个微型传感器在传感器坐标系中获取并输出三维人机交互装置的位置和运动的传感器数据;

三维人机交互数据处理和融合装置与三维人机交互装置连接,接收三维人机交互装置所采集的传感器数据,并对多个微型传感器所测具有噪声和动态变化的传感器数据进行融合,获得三维人机交互装置在用户坐标系中的位置参数和运动状态,即位置、速度、加速度、方位、角速度的精确估值,推导运动轨迹、作用力方向和力度;并转换成应用坐标系中的交互参数;

应用和控制对象通过应用接口与三维人机交互数据处理和融合装置连接,接收位置参数和运动状态的精确估值以及由此推出的交互参数,用于控制应用和控制对象,通过应用接口向三维人机交互数据处理和融合装置发送指令信息;

所述三维人机交互数据处理和融合装置包括数据预处理模块、方位估计单元、速度和位移估计模块、运动轨迹和力度分析模块、交互参数产生和功能键管理模块、以及应用接口,其中:数据预处理模块分别与三维人机交互装置连接,数据预处理模块分别接收三维人机交互装置的多个微型传感器测量该传感器坐标系中的加速度、角速度和磁场测量数据,经去噪声和完整性检测处理,生成并输出传感器坐标系中的加速度、角速度和磁场测量的数据流;

方位估计单元与数据预处理模块连接,方位估计单元接收并对传感器坐标系中的加速度、角速度和磁场测量的数据流进行处理,产生并输出在磁场变化和人机交互装置本身加速度情况下的方位估值;

速度和位移估计模块与方位估计单元的加速度估计模块连接,速度和位移估计模块使用来自加速度估计模块的人机交互装置本身的加速度估值,通过积分得到速度和位移数据;

运动轨迹和力度分析模块分别与速度和位移估计模块和方位估计单元的方位估计模块连接,接收速度和位移估计模块来的速度和位移数据以及方位估计模块来的方位估值,形成人机交互装置在用户坐标系中各时刻的状态,包括位置、速度、加速度、方位、角速度,并进而推出运动轨迹、作用力方向和力度;

交互参数产生和功能键管理模块与运动轨迹和力度分析模块连接,交互参数产生和功能管理模块根据用户坐标系和应用坐标系的关系,把在用户坐标系下的位置、运动轨迹、作用力方向和力度参数,在功能键的控制下,按要求对人机交互装置的方位、角速度、加速度、速度、位移、运动轨迹、作用力方向和力度进行进一步计算和加工,输出应用交互参数;

应用接口分别与交互参数产生和功能键管理模块和应用和控制对象连接,应用接口接收并转发应用坐标系中得出的应用交互参数给应用和控制对象。

2.如权利要求1所述的三维人机交互系统,其特征在于,三维人机交互装置,包括:多个微型传感器、中央控制处理单元、无线通信芯片、以及一组功能键,其中:多个微型传感器提取三维人机交互装置本身的三维位置和运动数据,并经过转换放大处理后输出三维位置和运动的模拟数据;

中央控制处理单元的各路模数转换器或数字入口分别连接到多个微型传感器中所有传感器数据端,中央控制处理单元按设定的采样率接收并对多个微型传感器输出的三维位置和运动的模拟数据进行控制和处理,获得多个微型传感器的采样数据存放于中央控制处理单元的寄存器中,并将这些采样数据贴上时序标签和功能键指令一起打包并输出采样数据和功能键指令;中央控制处理单元接收、解释和执行来自三维人机交互数据处理和融合装置所在计算机的命令;

无线通信芯片与中央控制处理单元连接,接收并输出中央控制处理单元的功能键指令和采样数据;无线通信芯片建立三维人机交互装置与三维人机交互数据处理和融合装置所在计算机或计算设备的通信,完成计算机或计算设备之间的数据和命令的传送;

功能键与中央控制处理单元连接,功能键的信息通过中断,由中央控制处理单元将之打包传送到三维人机交互数据处理和融合装置。

3.如权利要求2所述的三维人机交互系统,其特征在于,所述微型传感器为多种微型传感器,多种微型传感器为以下三种以上的微型传感器:三维加速度传感器、三维陀螺仪、三维磁力计、超声波测距仪、激光测距仪。

4.如权利要求2所述的三维人机交互系统,其特征在于,所述功能键是初始化键或重置键、选择键或功能显示键。

5.如权利要求1所述的三维人机交互系统,其特征在于,所述方位估计单元由方位估计模块、磁场估计模块、加速度估计模块和置初值模块组成,用于降低偏移,提高估值精度,其中:方位估计模块的输入端分别与数据预处理模块、磁场估计模块、加速度估计模块、置初值模块的输出端连接,接收角速度数据流、接收磁场估计模块的磁场信号、接收加速度估计模块重力加速度信号,接收置初值模块的的初始方位信号;方位估计模块使用贝叶斯估值方法,以置初值模块的初始方位值为起点,以陀螺仪的角速度测量数据为主,同时融合磁场和重力加速度对方位估值的制约,从而实现方位的低偏差估值;使用了非线性估值滤波器来降低运动的非线性和传感器测量的非线性可能产生的误差;方位估计模块分别向运动轨迹和力度分析模块、磁场估计模块和加速度估计模块输出方位估值;

磁场估计模块分别与数据预处理模块和方位估计模块连接,接收数据预处理模块输出的磁场测量数据流、接收方位估计模块的方位估值,使用非线性估值方法实现对随位置和时间变化的磁场进行估值;磁场估值的结果送往方位估计模块参与下一时刻的方位估值;

加速度估计模块分别与数据预处理模块和方位估计模块连接,接收加速度数据流和方位估计模块输出的方位估值,加速度估计模块使用非线性估值滤波器实现人机交互装置本身在传感器坐标系下的加速度的估值,用估值结果从加速度测量数据中分离出重力加速度分量,送往方位估计模块中,参与方位的下一时刻的估值融合;同时,使用方位估计模块提供的方位估值,将传感器坐标系中的加速度估值转换到用户坐标系中,送往速度和位移估计模块;

置初值模块与方位估计模块、速度和位移估计模块和交互参数产生和功能键管理模块连接,置初值模块中的系统初始化子模块和坐标系重置子模块通过方位估计模块、速度和位移估计模块和交互参数产生和功能键管理模块对方位、速度、位置和用户和应用的坐标系关系置初值;在接收控制键入信号和指令解释信号时在简单的标准场景下的重置初值。

6.如权利要求1所述的三维人机交互系统,其特征在于,应用和控制对象通过应用接口发往三维人机交互数据处理和融合装置的指令信息有:应用名称、数据取样率要求、帮助信息、初始化值;向人机交互装置发出数据取样率控制命令,同时定期发出读取人机交互装置的电源管理单元的电源值,判定系统的工作状态参数。

7.如权利要求5所述的三维人机交互系统,其特征在于,系统初始化子模块使用磁力计所测得的磁场的主方向和加速度传感器中测得的重力加速度方向,为传感器坐标系和用户坐标系关系置默认初置;使用初始场景为用户坐标系和应用坐标系关系置默认初值;根据初始场景的不同,系统初始化子模块具有不同的三维人机交互装置初始位置和不同的方位、速度和位置初值。

8.如权利要求1所述的三维人机交互系统,其特征在于,所述三维人机交互装置是方便手握、头戴、脚捆或身穿方式附着在人的身体的某部分的形状,该形状是手持的矩形状、笔状、指挥棒状、握于手中的球状、植入帽中的薄片状或紧固于脚、小腿或臂上的薄片状。

说明书 :

一种三维人机交互系统

技术领域

[0001] 本发明属于运动感知获取技术领域以及人机交互技术领域,涉及运动信息获取、处理、分析和人机交互应用的设备、系统和方法。

背景技术

[0002] 目前人机交互有两大类,一类是鼠标,它广泛应用于计算机系统,与键盘一起,实现人和计算机的交互。另一类以电视机遥控器为代表,它不具备鼠标的功能。本发明一方面在三维空间中类似三维鼠标,可以帮助使用者方便地定位;另一方面,它可以感知和估计使用者移动交互装置的位移、速度、加速度、方向和力度,这在模拟训练、游戏等方面有重要应用。
[0003] 三维交互装置和系统涉及两种技术。一是检测人机交互装置或持该器件的人体特定部位的运动,二是将检测到的运动信息经过处理、分析和转换,达到交互应用的需要。目前,这两个方面的技术可综述如下:
[0004] 中国专利200710169770.9“智能型高尔夫推杆”,利用两组光电收发传感器分别接收从地面反射来的激光光束的时间差,计算得出击球时的平均速度,即可判断球能否进洞提供依据;还设有三维加速度传感器采集X、Y、Z三个方向上的加速度,以及从推杆击中球到离开球整个过程中加速度的变化情况,最后计算出X、Y、Z三个方向上的受力。美国专利7,234,351,“Electronic measurement of the motion of a moving bodyof sports equipment”也是将加速度传感器和陀螺仪嵌入高尔夫球杆、网球拍等运动器械,测量运动信息,用于训练。与此类似,美国专利用微型加速度传感器、陀螺仪和磁力计来测量运动物体的三维位置和方位信息。然而,以上专利虽然谈到了使用微型加速度传感器、陀螺仪和磁力计来测量运动物体在三维空间的运动信息。他们都没有提到,加速度传感器测出的加速度并非仅是运动物体的加速度,其中重力加速度分量很大,不能将重力加速度从所测加速度中分离出来,传感器坐标系的三个方向上的受力没有多大意义;而且从加速度到位置信息要经过两次积分,这两个积分常数成了未知数。同样,陀螺仪测量的是角速度,到角度也要经过一次积分。再者,微型传感器数据噪声极大,根本无法直接使用。也就是说,没有进一步的传感器数据的处理和分析方法,这些专利中的发明是无法实现的。
[0005] 在交互应用方面,中国专利200610127869.8,“基于运动体动作的智能交互装置及动作位置的检测方法”,运动检测方法基于运动体佩戴项圈,通过安装在项圈内的角度传感器产生的弯曲形变,判断运动体的运动位置;中国专利200610083199.4“基于立体视觉的游戏控制系统及方法”,使用标定的摄像机获得使用者相关部位的图像,用姿态特征时空信息及其相关性进行区域选择和特征提取,获得三维位置和姿态信息并映射为游戏控制命令,由系统和游戏控制接口,实现模拟游戏人物和场景漫游的实时控制功能。美国专利7,262,760,“3D pointing devices withorientation compensation and improved usability”,是一种方法,它将测得的交互装置的运动和位置数据,从交互装置的坐标转换到交互对象的坐标,从而为交互鼠标输入数据。实际上,从测量出运动数据到交互在很大程度上取决于应用。上述三个专利中的交互方法也各不相同。
[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] 特别要着重指出的是,运动和位置参数的估值精度一直是制约很多应用的瓶颈。本发明在提高运动和位置参数估值精度,满足应用要求上,采取了一系列新技术手段。这包括:为了解决人机交互装置本身运动的非线性和微型传感器测量的非线性问题,本发明在估值中使用能有效应对3次非线性问题的UKF(Unscented Kalman Filter)滤波器;在应对磁场受周围环境影响而变化问题时,我们首先估计磁场,在把磁场估计值送往数据融合方位估计;在解决加速度计测量数据中的重力加速度分量时,我们首先估计人机交互装置本身的加速度,再将重力加速度分量分离出来;更重要的是,我们发明了一整套多传感器(陀螺仪、加速度计和磁力计)数据融合进行高精度方位、速度和位置估值的方法。
[0039] 本发明可以实现多少年来希望与机器的交互如同人与人之间一样方便的愿望。本发明还可以手握、脚持、头戴、身穿等动作,使人机交互在三维空间中向更广阔的应用发展。同时,作为一个能测量和估计三维运动和位置参数的装置,本发明也可以用在各种运动物体的导航,虚拟世界和物理世界的交互等领域。

附图说明

[0040] 图1是本发明三维人机交互装置的结构图和系统的整体逻辑结构方框图;
[0041] 图2是本发明三维人机交互装置在用户坐标系中的位置和方位示意图;
[0042] 图3是本发明一实施例的三维人机交互装置的结构和系统流程图;
[0043] 图4是本发明一实施例的三维人机交互数据处理和融合装置的流程图。

具体实施方式

[0044] 下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
[0045] 为了帮助理解本发明的技术内容,我们先叙述两个应用本发明的“三维人机交互系统”的应用场景。场景之一是,在计算机大屏幕上显示了一人体脑部的医学断层和核磁共振的三维重建图,几个医生在讨论医疗方案。每个医生手中都持有一个本发明的“三维人机交互装置100”,他们可以方便地在三维脑图中定位、指示,并能在指定位置做一定的操作。这是扩展的遥控三维鼠标加功能键。当然,由于本发明的三维人机交互装置100在三维空间中的定位、指示和功能选择等,它也可以用于其它的一些交互图形绘制和编辑等。这里,我们称医生手持的器件为“三维人机交互装置100”,称医生为“用户”;计算机三维人脑三维图像的重建、分析和操作系统称为“应用”;在应用所处的计算机中,接收、处理、融合传感器数据,推导出应用所需交互参数的子系统,则称为“三维人机交互数据处理和融合装置200”。通常,每一个用户有一个或多个三维人机交互装置100,每一个应用可以有一个或多个用户。
[0046] 又例如,三维虚拟现实和混合现实训练和游戏系统中,可以实现两个人对人,或人对虚拟人的训练或游戏,如打球。其中二人可以在一起,也可以远隔千里。他们不需要实际球场,以显示屏幕为对象。这时,本发明的“三维人机交互装置100”即为虚拟球拍。玩者(即“用户”)挥动球拍(交互装置)时的速度、加速度、轨迹、角度、角速度,等都可以由“三维人机交互数据处理和融合装置200”从三维交互人机装置100中传感器的数据中推导出来。这些击球参数就可以用来进一步导出球被击后的运动。当然也就可以使这场虚拟比赛如现实中一样开展起来,胜负也就有了。打得好的球和没有打好的球的击球动作的纪录可以调出来,分析原因,找出改进之所在。这里,“应用”即为虚拟球赛的实现、显示和管理。
[0047] 如图1示出本发明三维人机交互装置的结构图和系统的整体逻辑结构方框图;本发明由三维人机交互装置100和三维人机交互数据处理和融合装置200组成。三维人机交互装置100获取该装置本身的三维位置和运动数据,以及使用者的指令,发给三维人机交互数据处理和融合装置200。三维人机交互数据处理和融合装置200处理和分析三维人机交互装置100来的三维位置和运动数据,估计出三维人机交互装置100在任一时刻在三维空间中的三维位置和方位,共6个参数;并进而根据应用要求,使用这6个参数及其时间序列,推导出应用空间中的控制参数。
[0048] 三维人机交互系统,包括:该系统把整个交互定义为在三个坐标系下的传感器数据获取、处理、融合和转换过程,其中:
[0049] 三维人机交互装置100在自身的传感器坐标系中获取并输出三维人机交互装置100的三维运动状态的传感数据,三维人机交互数据处理和融合装置200接收传感数据,并且在用户坐标系中使用传感数据进行运动状态和位置参数的估值,并进一步将运动状态参数转换成应用坐标系中的交互参数;
[0050] 三维人机交互数据处理和融合装置200对多传传感器所测具有噪声和动态变化的多传感数据(如角速度、加速度和磁场传感数据)进行融合,实现运动状态参数的精确估值,实时估计位置、速度、加速度、方位、角速度,并推导运动轨迹、作用力和方向;
[0051] 三维人机交互数据处理和融合装置200进而通过应用接口260与应用和控制对象300连接,三维人机交互装置100通过三维人机交互数据处理和融合装置200、应用接口260和应用和控制对象300实现系统管理;置初值模块224根据应用通过方位估计模块、速度和位移估计模块和交互参数产生和功能键管理模块250对方位、速度、位置和用户和应用的坐标系关系置初值。
[0052] 1、传感器、用户和应用坐标系
[0053] 在上述三维医学图像应用和虚拟球场的两个应用例中,我们设定了三维交互系统的三个基本要素:三维人机交互装置、用户和应用。一个应用可以有一个或多个用户,每个用户也可以使用一个或多个三维人机交互装置。三维人机交互装置、用户和应用也有各自的空间或坐标系,它们分别是:传感器坐标系、用户坐标系和应用坐标系。
[0054] 图2示出了本发明三维人机交互装置相对于用户坐标系的位置和方位。由于某一人机交互装置100是由某一用户使用的,而每一个用户都有他自己的坐标系,称“用户坐标系”。不同的用户有不同的坐标系,用户坐标系不同于全局坐标系。在交互应用中,应用对象也会有自己的坐标系,我们称之为“应用坐标系”。例如前面例中医生们所研究的人脑三维重建图像的坐标系,虚拟球场的坐标系等,都是“应用坐标系”之例,它们没有在图2中示出。由于对于每一个不同的应用,都有如何处理用户坐标系和应用坐标系的特殊要求。当一用户开始使用一人机交互装置100,并选择或加入了某应用之后,便需要设定“用户坐标系”(x,y,z)和应用坐标系及它们的关系。
[0055] 人机交互装置100中的所有微型传感器110都校准到一个统一的坐标系,我们称之为“传感器坐标系”(x’,y’,z’)。所有获得的传感器数据都在传感器坐标系中。该传感器坐标系在用户坐标系中坐标点x,y,z的位置就是我们要求的人机交互装置100的位置x=(x,y,z),而传感器坐标系相对于用户坐标系的方位角α,β,γ就是我们要求的人机交互装置100的方位q=(α,β,γ)。当用户开始使用并初始化或重置人机交互装置100时,三维人机交互装置100的初始位置是x0=(x0,y0,z0),其中传感器坐标系在用户坐标系中的初始位置的坐标点为x0,y0,z0和和初始方位是q0=(α0,β0,γ0),其中传感器坐标系在用户坐标系中的初始方位的方位角为α0,β0,γ0。
[0056] 在设定了三维人机交互系统的三个坐标系,即传感器坐标系、用户坐标系和应用坐标系之后,下面叙述的发明之核心是,在传感器坐标系中获取三维运动和位置数据,在用户坐标系中融合多传感器数据,估计出各三维人机交互装置的运动和位置参数,最后在应用坐标系中产生出对该应用有意义的交互参数或概念。具体地说,三维人机交互装置100在传感器坐标系中获取本身的运动和位置的传感器数据,方位估计单元220、速度和位移估计模块230和运动轨迹和力度分析模块240使用传感器数据估计出三维人机交互装置100在用户坐标系中的方位、位置、运动和力度参数。由于传感器坐标系是以人机交互装置中的传感器坐标来定义的,三维人机交互装置100在用户坐标系中的方位、位置、运动和力度参数实际上是传感器坐标系与用户坐标系的关系参数。交互参数产生和功能键管理模块250以及应用接口260则使用用户坐标系中的参数,以及用户坐标系与应用坐标系的关系,根据应用要求,产生出相应的交互参数或概念。这里,既有从用户坐标系向应用坐标系的转换,也有自运动参数向动作概念的聚类。由动作到手语即是动作概念聚类之一例。
[0057] 传感器坐标系和用户坐标系之间,用户坐标系和应用坐标系之间都是N:1的关系(N在此表示大于等于1的整数。这就是说多个用户坐标系对应于1个应用坐标系)。在下面的叙述中和示意图中,我们仅以1:1最简单的情况为例来说明。N:1的情况仅是下面所详细叙述的1:1情况的简单推广,没有任何技术的难度。
[0058] 传感器坐标系和用户坐标系之关系,以及用户坐标系和应用坐标系之关系的初始值都是由“初始化/置初值模块224”设定的。本发明将提供两种途径来获得初值,一种是使用默认值的初始化,另一种是人为设定的重置。具体细节将在叙述到初始化/置初值模块224时详细说明。
[0059] 仍以三维医学图像应用为例。3个医生各持三维人机交互装置,启动了该应用。这里,为了简单起见,系统启动时选默认传感器坐标系在用户坐标系中的定标,由医生们将三维人机交互装置指向显示器的中心,为用户坐标系和应用坐标系定标。此后,一医生移动三维人机交互装置,选择了一个疑似肿瘤的位置,并用功能键选择了放大,把此部分图像呈现给另两位医生。另一位医生则进一步选择着色和旋转,做进一步研究和讨论。同时,他们也以三维人机交互装置作为手术刀,对手术进行了模拟。
[0060] 在完成了讨论之后,已是过下班时间。他们选择以他们手中的三维人机交互装置为球杆,进行了一场高尔夫球比赛。
[0061] 2、三维人机交互装置100
[0062] 三维人机交互装置可以是任意形状,方便手握、头戴、脚捆或身穿等方式附着在人的身体的某部分。例如,它可以如手持的电视机遥控器状、笔或指挥棒状,握于手中的球状,植入帽中的和紧固于脚、小腿或臂上的薄片等。
[0063] 从信息技术的角度说,三维人机交互装置100是一微型嵌入式系统。它包括:多个微型传感器110、中央控制处理单元120、无线通信芯片130、以及一组功能键140。
[0064] 三维人机交互装置100中:
[0065] 微型传感器110可以包括部分或全部下列传感器:三维加速度计、三维陀螺仪、三维磁力计、超声波测距仪、激光测距仪等。所述三维加速度可以选用微型三维加速度计或其他型号则不再赘述,所述超声波测距仪选用微型超声波测距仪或其他型号则不再赘述,激光测距仪可以选用微型激光测距仪则或其他型号不再赘述;这些微型传感器110测量与该三维人机交互装置100的位置和方位有关的数据其中:微型三维加速度计测量沿其三维坐标轴的加速度数据,重力加速度也混在其中。三维陀螺仪测量沿其三维坐标轴该人机交互装置的角速度,三维磁力计则测量三个坐标方向上的磁场分量。微型超声波测距仪和微型激光测距仪则可用于测量该人机交互装置100与所交互计算设备或其它参照物的较为精确的距离。
[0066] 微型传感器110中所有传感器数据都分别连接到中央控制处理单元120的各路模数转换器或数字入口。中央控制处理单元120是对整个三维人机交互装置100进行控制和处理。通常,它内部有几个模数转换器(Analog to Digital Converter,ADC),将微型传感器110的模拟数据经前置放大器放大到模数转换器的动态范围后转换成数字信号。中央控制处理单元120读取模数转换器的输出数据的动作就是对微型传感器110数据的采样。因此,中央控制处理单元120以一定的采样率分别采样各微型传感器110数据,存放于中央控制处理单元120的寄存器中,并将这些数据贴上时序标签,和功能键指令一起,打包送往无线通信芯片130或有线通信通道。
[0067] 作为中央控制处理单元120,采用微处理器或控制器时也按照预先嵌入的程序,控制和改变采样率、作时间复位、对数据作必要的预处理,等等。
[0068] 无线通信芯片130建立三维人机交互装置100与三维人机交互数据处理和融合装置200所在计算机或计算设备的通信,完成它们之间的数据和命令的传送。在传输距离不很长的情况下,可以使用蓝牙、Zigbee等现有无线通信技术、芯片和协议。在三维人机交互装置100中,无线通信芯片130与中央控制处理单元120连接,接收中央控制处理单元120的指令和数据,将数据送往三维人机交互数据处理和融合装置200;通过无线通信芯片
130,中央控制处理单元120接收、解释和执行来自三维人机交互数据处理和融合装置200所在计算机的命令(如切换应用,改变取样率等)。在三维人机交互数据处理和融合装置
200所在计算机端,三维人机交互数据处理和融合装置200所在计算机与无线通信芯片130按通信协议建立通信后,接收三维人机交互装置100的数据和状态信息,向三维人机交互装置100发送指令。在有些情况下,可以不用无线通信,而采用有线通信方式,如将三维人机交互装置100的数据线从USB口接入三维人机交互数据处理和融合装置200所在计算机或计算设备。
[0069] 功能键140可以包括初始化或重置键、选择键(如鼠标的左键)、功能显示键(如鼠标的右键),等。在三维人机交互装置100中,功能键140与中央控制处理单元120连接,功能键140信息通过中断,由中央控制处理单元120将之打包传送到三维人机交互数据处理和融合装置200。
[0070] 3、三维人机交互数据处理和融合装置200
[0071] 如图4所示,三维人机交互数据处理和融合装置200一般以软件的形式与应用一起,存在于应用计算机或其它应用设备中。例如,与视频游戏共同存在于游戏计算机中或游戏机中,与三维医学图像显示和手术模拟系统共同存在于计算机系统中。当然,三维人机交互数据处理和融合装置200也可以与三维人机交互装置100共同存在于三维人机交互装置的硬件中,甚至固化于芯片中。
[0072] 三维人机交互数据处理和融合装置200包括下述模块的部分或全部:数据预处理模块210、方位估计单元220、速度和位移估计模块230、运动轨迹和力度分析模块240、交互参数产生和功能键管理模块250、应用接口260。运动轨迹和力度分析模块240是对人机交互装置的运动轨迹和力度进行分析的模块;交互参数产生和功能键管理模块250是交互鼠标参数的产生和功能键的管理模块;应用接口260是对系统管理、控制和应用的接口;
[0073] 数据预处理模块210对从人机交互装置100采集和传送来的数据作预处理。预处理包括:核对数据的时序标签,处理数据丢失情况,进行去噪声滤波等。若有数据丢失,通常采取插值的方法来补齐丢失的数据。
[0074] 方位估计单元220包括以陀螺仪所测得的角速度的积分来估计方位的方位估计模块221,以磁力计输出来估计磁场并用于矫正方位的磁场估计模块222,以加速度传感器数据来估计加速度并用重力加速度来矫正方位的加速度估计模块223,以及重置初值的置初值模块224。在方位估计模块221中,使用三维陀螺仪测得的角速度进行积分,求得人机交互装置100相对于初始方位的三个方位角(α,β,γ)。
[0075] 为了提高精度,采用如下方法:
[0076] a)由于三维陀螺仪测得的是角速度测量值,该测量值是实际值和噪声的叠加,而且,角速度的变化可以是线性或非线性的。为了获得实际角速度,需要采用贝叶斯估值方法。由于估值方程的非线性,我们可以采用扩展的卡尔曼滤波或Unscented卡尔曼滤波。
[0077] b)三维陀螺仪测量的是角速度,仅用三维陀螺仪数据的积分来估值方位角,会出现偏差。为此,我们加入磁力计测得的磁场(通常假设磁场相对稳定或变化缓慢,磁力计的测量值也相对稳定或变化缓慢)和加速度计测得的加速度(加速度计测得的值中,很大一部分是重力加速度,去除人机交互装置100本身的加速度之后,重力加速度的大小和方向是非常稳定的),组成共同的运动方程和测量方程,实施动态估值运算,求得较为可靠的方位角估值。
[0078] c)在现实中,磁场会因为周围环境中的用电设备等的存在而变化。但这种变化是缓慢的。因此,在使用磁场对使用陀螺仪数据估计出的方位角进行校正的同时,磁场估计模块222对缓慢变化的磁场进行估值。
[0079] d)同样,加速度估计模块223也对人机交互装置100本身的加速度进行估值,记为a。在任一时刻,三维加速度计的测量值应是重力加速度、人机交互装置100本身加速度和测量噪声之和。由于加速度、方位角和磁场都是人机交互装置100的状态变量,以此可以写出贝叶斯估值方法中的测量方程。人机交互装置100的加速度可以用贝叶斯方法进行估值。求得估值之后,我们可以得到重力加速度在人机交互装置100当时坐标系之下的值。这个值也同时用于对使用陀螺仪数据估计出的方位角进行校正,达到减少偏差的目的。
[0080] 在前面,我们已经估计出人机交互装置100的方位,即相对于用户坐标系的三个方位角,以及人机交互装置100本身在用户坐标系中的加速度(ax,ay,az)。这样,经过积分运算,可以得出其在用户坐标系中的速度和位移。速度和位移估计模块230使用来自加速度估计模块223的人机交互装置100在用户坐标系中的三维加速度数据,以及经置初值模块224获得速度初值和位置初值,经对加速度的一次积分获得人机交互装置100在用户坐标系中的速度(vx,vy,vz);再对速度积分,获得人机交互装置100在用户坐标系中的位移和位置(x,y,z)。
[0081] 从三维加速度传感器数据估算出的速度和位移,由于微型角速度传感器的噪声和漂移,测量精度不是很高,但可以满足很多应用要求。对于精度要求高的应用,可以加入超声测距或激光测距,来测量人机交互装置100相对于某特定目标(如训练和游戏对象、屏幕等)的距离,来补偿以上测量和估值的精度。
[0082] 至此,在任意时刻,我们可以估计出人机交互装置100在用户坐标系中的位置、速度、加速度、方位角、角速度,由此形成此时刻的状态矢量(x,y,a,q,ω)。这样,人机交互装置的运动轨迹和力度分析模块240就可以方便地得出人机交互装置100或它所代表的人体(拳、脚等)或器械(球拍等)的轨迹。在给定质量(或重量)的情况下,可以使用速度算出动量,或使用加速度算出力的大小和方向。
[0083] 如使用人机交互装置100代表球拍等运动器械,或将人机交互装置100嵌入球拍等运动器械之中时,我们这里算出的位置和运动状态矢量(x,y,a,q,ω)是传感器坐标系相对于用户坐标系而言的。如已知用户坐标系与应用坐标系的关系,如图2所示,传感器坐标系(x’,y’,z’)中沿y’轴的所有点的方位角q和角速度ω都相同。因此,以球拍为例,当击球点与传感器坐标系原点之距离已知(如记为d),在用户坐标系中,由于已知人机交互装置100坐标系原点位置、速度和加速度,击球点的位置、速度和加速度可以直接用立体几何的方法求出。由此,在击球瞬间,由球拍击球点的运动状态矢量(x,v,a,q,ω)以及球的运动状态矢量,我们可以求出击球后球的运动,从而完成虚拟训练或游戏中的击球和球的运动的“真实”模拟。
[0084] 同时,我们也可以根据击球效果,调出相应的击球动作的运动状态矢量序列,特别对其运动轨迹和发力过程进行定量分析,可以改进击球动作。也可以进一步写出特定动作的重复训练程序,根据击球后球的运动评价击球效果,再根据击球过程的人机交互装置100的运动轨迹和发力点和发力过程,以及它们与击球效果的相关,评价当前击球动作的评价,给出新的击球方法的建议。
[0085] 交互参数产生和功能键管理模块250的功能是要使用自运动轨迹和力度分析模块240的状态参数求出在应用坐标系的三维空间中的交互参数,并完成功能键的管理。例如,在三维图形图像编辑应用中,它主要包括定位和选择以及连续画图。在特殊需要的情况下,也可把字符输入包括进来。这样,在一般情况下,本发明中人机交互装置100上的功能键只包括开关、初始化/重置、选择、功能显示。当开启人机交互装置100或使用初始化或复位键时,系统处于初始状态,同时给人机交互装置100的位置、速度和方位角置初值。由于功能键往往与应用接口,因此放在这一模块中加以管理。
[0086] 由于三维人机交互装置的数据经方位估计单元220和速度和位移估计模块230后可得其三维位置和方位,在用作三维鼠标时,只需要定位。因此,我们可以用获得的三维位置来为三维鼠标定位,也可以将获得的三维方位转换为三维坐标来为三维鼠标定位。
[0087] 系统管理、控制的应用接口260是整个系统向下与人机交互装置100的接口和向上与应用和控制对象300的接口。应用接口260参数包括,自应用:应用名称、数据取样率要求、帮助信息、初始化值;自人机交互装置:功能键值、鼠标位置、三维位置、三维方位。系统管理和控制解读应用要求,向人机交互装置100发出数据取样率等控制命令。同时定期读取人机交互装置100的状态参数,如电源水平等,判定系统的工作状态。系统管理、控制的应用接口260与人机交互装置的接口参数包括:命令、功能键、三维传感器数据。
[0088] 现以一具体实施例来进一步说明实施细节。如前所述,本发明不局限于此例。
[0089] 图3示出本发明一实施例的三维人机交互装置的结构和系统流程图。图3中,微型传感器110,采用三种微型传感器即:三轴加速度计111、三轴陀螺仪112和三轴磁力计113。中央控制处理单元120采用微型控制器(为了便于理解记忆,将中央控制处理单元120的一种形式为微型控制器也加标记号为120),微型控制器120包括:模数转换接口121、I2C接口122、定时器123、控制芯片124、寄存器125、中断管理器126、串口模块127。还包括一个电源管理单元150,电源管理为人机交互装置100供电。功能键140选择为按键1、按键2和按键3。根据传感器产品型号和生产厂家的不同,有的输出模拟信号,有的直接输出数字信号。但输出模拟信号的,通常都已经放大到与模数转换相匹配的信号水平。因此,图3中微型传感器110的三轴加速度计111、三轴陀螺仪112和三轴磁力计113中的任何一种传感器,其信号为模拟信号和数字信号则接到微型控制器120的模数转换接口121和I2C数字接口122连接。微型控制器120按照从应用(图4中应用和控制对象300,如上例中三维医学图像系统应用)来的命令,设定各微型传感器110的采样率,存放在寄存器125中。微型控制器120并按照即定采样率从模数转换器121或I2C接口122分别读取微型传感器110的三轴加速度计111、三轴陀螺仪112和三轴磁力计113的传感数据,并将传感数据加上时间标签,按照人机交互系统数据通信协议格式,将加上时间标签的传感数据放入寄存器125中的专用缓存中。
[0090] 功能键140以中断管理器126的方式进入人机交互装置100,因为它们与数据相比具有高优先级。因此,按下一个功能键140,人机交互装置100就会马上响应,把功能键140以人机交互系统指令通信协议格式,通过控制芯片124放入寄存器124中专用缓存中。
[0091] 微型控制器120中的寄存器125中的专用缓存用来存储按照通信协议包装好的数据和指令,等待被送往三维人机交互数据处理和融合装置200。
[0092] 这里,通过串口模块127将寄存器125中的传感数据送入无线通信芯片130,无线通信芯片130由蓝牙模块来实现人机交互装置100与三维人机交互数据处理和融合装置200所在的主计算机的无线通信。这是因为几乎所用计算机都有蓝牙模块和相应的接口支持。
[0093] 图4是本发明一实施例的三维人机交互数据处理和融合装置200的流程图。
[0094] 人机交互装置100来的传感器数据首先经预处理模块,分离出各微型传感器110的数据,形成各微型传感器110(三维加速度计111、三维陀螺仪112和三维磁力计113)数据流,并检查这些数据的完整性。特别是发现数据丢失情况,找出丢失的准确时间和位置,并进行插值处理。因为微型传感器110的数据噪声很大,还必须分别对各个微型传感器110的数据进行去噪声处理。
[0095] 如图4所示,三维人机交互数据处理和融合装置200包括数据预处理模块210、方位估计单元220、速度和位移估计模块230、运动轨迹和力度分析模块240、交互参数产生和功能键管理模块250、以及应用接口260和应用和控制对象300。
[0096] 如图4所示的方位估计单元220由方位估计模块221、磁场估计模块222、加速度估计模块223以及置初值模块224组成;经数据预处理模块210预处理后的三维陀螺仪112的数据流被送往方位估计模块221,由积分运算进行方位估计;经数据预处理模块210预处理后的加速度传感器111的数据流被送往加速度估计模块223进行加速度估计,经数据预处理模块210预处理后的三维磁力计113的数据流被送往磁场估计模块222进行磁场估计。
[0097] 方位估计模块221以三维陀螺仪112的角速度数据为主,同时融合重力加速度和磁场的测量数据和它们在用户坐标系中的参考值,估计方位角。为了提高估值精度,使用贝叶斯估值方法。这时,以方位角q作为运动状态矢量,方位角的状态方程为:
[0098] qt=qt-1Θ(Δt)+Vq (1)
[0099] 其中qt是t时刻的方位角矢量,Δt是取样时间间隔,Θ(Δt)是以四元数表示的乘法矩阵,Vq是系统噪声。根据三个传感器的工作原理,因为q用图2中所示传感器坐标系在用户坐标系中的方位角的四元数表示,有如下测量方程:
[0100]
[0101]
[0102]
[0103] 这里,Ztg,Zta,Ztm分别是陀螺仪、加速度计和磁力计于t时刻在传感器坐标系中的g a m测量值。Vt,Vt,Vt 分别是陀螺仪、加速度计和磁力计于t时刻的测量噪声。方程(2)表示陀螺仪的测量值是同一时刻方位角的函数H(qt)和测量噪声的和;方程(3)在人机交互设备本身的加速度很小,与重力加速度相比可以忽略不计的假设前提下,认为加速度计的测量值是用户坐标系中的重力加速度g经变换到传感器坐标系的值和噪声之和。这里qrot(q,g)和qrot(q,m)分别表示在用户坐标系中的重力加速度g和磁场m经变换到传感器坐标系,而此变换由当前方位q所定义。这里,我们假设磁场是不变的。
[0104] 若将三个传感器的测量值以矢量Zt表示,则有
[0105]
[0106] 如常规,T表示转置,Zt是列矢量。有了状态方程和测量方程,就可以使用贝叶斯估值方法了。贝叶斯估值以叠代求最大后验概率p(qt|Z1:t-1)的方法来估值。p(qt|Z1:t-1)即为已知传感器数据流Z1:t-1的条件下方位角的后验概率。贝叶斯估值方法包括两步叠代,取得状态初始值q0后,在上一时刻后验概率p(qt-1|Z1:t-1)的基础上预测和计算后验概率p(qt|Zt-1):
[0107] p(qt|Z1:t-1)=∫p(qt|qt-1)p(qt-1|Z1:t-1)dqt-1 (6)
[0108] 方程(6)中,条件概率p(qt|qt-1)表示了动态系统的时间相关性(也称马尔可夫特性),它由方程(1)获得。
[0109] 贝叶斯估计的更新方程使用测量方程求得的似然率来更新(6)式求得的后验概率,从而获得t时刻的方位角的后验概率,由此完成方位角的估值:
[0110] p(qt|Z1:t)=p(Zt|qt)p(qt|Z1:t-1)/p(Zt|Z1:t-1) (7)
[0111] 这里,p(Zt|Z1-1)可视为归一化因子。若各传感器相互独立,方程(7)可写为:
[0112]
[0113] 这里,p(Ztg|qt),p(Zta|qt),p(Ztm|qt)分别为t时刻陀螺仪、加速度计和磁力计测量值在方位qt的似然率。它们由方程(2)、(3)和(4)求得。方程(8)中实现了三种传感器数据的融合,融合的方式是三个似然率的相乘,它们的贡献由似然率的方差调节。
[0114] 在求解方程(6)和(7)时,我们往往对分布函数作一些假设。最简单的是作线性方程和高斯分布的假设,它可以使用简单的卡尔曼滤波方法。这里,因为测量方程和状态方程都不是线性的,为了提高估值精度,在本发明的大多数估值中,都使用能近似非线性函数的UKF(Unscented Kalman Filter)。下面的参考文献给出了详细的叙述:Zhiqiang Zhang,Zheng Wu,Jiang Chen,and Jiankang Wu,UbiquitousHuman Body Motion Capture using Micro-sensors,Seventh AnnualIEEE International Conference on Pervasive Computing andCommunications,PerCom 2009,March 9-13,2009。在获得状态变量的初值q0(由置初值模块224处获得)之后,就可以使用估值方法求解。
[0115] 上面中叙述了方位估计模块221中实现的融合三个传感器数据的整个方位估值方法和公式。但是,这种方法的假设是,磁场不变,三维人机交互装置100本身的加速度相比重力加速度很小,可以忽略不计。这个假设在很多情况下不适用:例如,由于各种电器的存在,磁场总是随时间和地点变化。在很多应用(如运动模拟)中,三维人机交互装置100的加速度有比较大的幅度,与重力加速度相比不可以忽略不计。因此,本发明增加了磁场估计模块222和加速度估计模块223,以实时估计变化的磁场和三维人机交互装置100本身的加速度。
[0116] 为了反映真实情况,在磁场估计模块222中,我们认为磁场是变化的,但此变化相对于方位的变化是缓慢的。在时刻t,我们先用前面的公式估计方位,再估计磁场和加速度。在估计方位时,使用上一时刻磁场估计结果。为此,改方程(4)为
[0117]
[0118] 为了估计磁场,把磁场的状态方程写为:
[0119] mt=mt-1+Vm (10)
[0120] 这里,m为磁场的三维状态矢量,Vm为噪声。测量方程则为:
[0121]
[0122] 方程(4-1)和(11)虽然形式类似,但意义不同,方程(4-1)以磁场为常参数,方位为状态变量,产生似然函数p(Ztm|qt),加入方位估计方程组中。而方程(11)以已估计出的方位为常参数,磁场为状态变量,产生似然函数p(Ztm|mt)。有了一对状态方程(10)和测量方程(11),形成了贝叶斯估值的基础,与方位估计类似,我们可以求解磁场的估值问题。估值的结果是用户坐标系中的磁场值mt,送往方位估计模块221做下一时刻的方位估值。
[0123] 同样,在加速度估计模块223中我们将估计出三维人机交互装置本身在传感器坐标系中的加速度ats,送往方位估计模块221,由此产生重力加速度在传感器坐标系下的测量值Zta-ats。由于人机交互装置本身加速度远小于重力加速度的假设不成立,因此,测量方程(3)改写为:
[0124]
[0125] 为了估计人机交互装置本身在传感器坐标系中的加速度,加速度估计模块223中估值公式的状态方程为:
[0126]
[0127] 这里,as为加速度在传感器坐标系中的三维状态矢量(必须提醒的是,三个状态矢量,即方位q、磁场m和加速度a,加上标s时,表示在传感器坐标系中,不加上标时,表示在用户坐标系中),Va为噪声。测量方程为:
[0128]
[0129] 状态方程(13)和测量方程(14)组成贝叶斯估值方程组。采用同样的求解方法,我们可以从加速度计的测量数据和从方位估计模块221来的方位,估计出三维人机交互装置本身在传感器坐标系中的加速度,送往方位估计模块221。同时,将它转换成用户坐标系-1 s下三维人机交互装置本身的加速度qrot (qt,at),送往速度和位移估计模块230。
[0130] 速度和位移估计模块230,对用户坐标系下三维人机交互装置本身的加速度进行积分(在离散情况下是求和)来估计速度和位移。并使用置初值模块224所置初值,获得位置。方位估计模块221将估计的方位及速度和位移估计模块230将估计的速度、位移和位置,都送往运动轨迹和力度分析模块240。
[0131] 运动轨迹和力度分析模块240与方位估计模块221和速度和位移估计模块230连接。运动轨迹和力度分析模块240接受方位估计模块221和速度和位移估计模块230来的方位、速度和位置等数据,形成一个人机交互装置100在用户坐标系中t时刻的完全的状态矢量(xt,vt,at,qt,ωt)。将人机交互装置100在当前时刻t和以前各时刻的位置、速度、加速度、方位角和角速度状态矢量序列[(xt,vt,at,qt,ωt),t=0,1,2,...],也即运动轨迹,作进一步的分析,就可以得到作用力方向和力度等具有直接应用的参数,并送往交互参数产生和功能键管理模块250。例如,设定质量值,自加速度就可以推得作用力和方向。
[0132] 交互参数产生和功能键管理模块250把在用户坐标系下的位置、运动、轨迹及力度参数,根据用户坐标系和应用坐标系的关系,在功能键的控制下,按要求对方位角、角速度、加速度、速度、位移,运动轨迹、作力方向和力度进行进一步计算和加工,输出应用所需参数,送往应用接口260。例如:
[0133] 在三维医学图像应用例中,根据某一医生用户坐标系与三维图像应用坐标系的关系,将来自上一“运动轨迹和力度模块240”的在这一用户坐标系中的位置和方位参数转换为应用坐标系下的位置和方位,从而可以在三维图像中选定感兴趣的点或区域。
[0134] 在虚拟球场例中,根据一个玩者用户坐标系与虚拟球场应用坐标系的关系(由于玩者可能在跑动,这个关系也是动态的),将来自上一“运动轨迹和力度模块240”的在这一用户坐标系中的位置、方位、轨迹和力度参数转换为应用坐标系下的相应参数,送往应用接口。在应用中,与球的运动参数对接,从而得出击球点,击球后球的运动。
[0135] 图4还示出了三维人机交互装置100通过三维人机交互数据处理和融合装置200与应用接口260,与应用和控制对象300实现系统管理。应用和控制对象300通过应用接口260发往三维人机交互数据处理和融合装置200的指令信息有:应用名称、数据取样率要求、帮助信息、初始化值;向人机交互装置100发出数据取样率等控制命令,同时定期发出读取人机交互装置100的状态参数,如电源管理单元150的电源水平等,判定系统的工作状态。
[0136] 图4所示的置初值模块224分别为方位估计模块221、速度和位移估计模块230和交互参数产生和功能管理键模块250置初值,初始化或重置传感器坐标系与用户坐标系的相互关系(存储于方位估计模块221、速度和位移估计模块230之中)以及用户坐标系和应用坐标系之间的关系(存储于交互参数产生和功能键管理模块250)。初始化或重置传感器坐标系与用户坐标系的相互关系,或曰对方位估计模块221和速度和位移估计模块230置初值也由于下述原因:方位估值主要由陀螺仪测得的角速度积分而得,速度和位移是由人机交互装置100本身的加速度的估值积分而得。由于积分常数的存在,方位角、速度和位移的估值,都有置初值,或曰系统初始化的问题。有两种置初值的方式:
[0137] 一种是初始化,由开机时整个系统初始化完成。这时,传感器坐标系和用户坐标系,以及用户坐标系和应用坐标系的关系都取默认值。在置初值模块224中,有一默认的初始化程序,在启动人机交互装置时自动执行。这一初始化程序在初始化传感器坐标系和用户坐标系关系时,以磁力计测得的地磁场为z轴,重力加速度方向为y轴的副向,人机交互装置的起始位移、速度、加速度均为零,来初始化传感器坐标系和用户坐标系;在初始化用户坐标系和应用坐标系关系时,以用户和应用的常规位置来初始化。例如,在虚拟球网球中,假定用户处于一方的球场中央。
[0138] 另一种是重置初值。这时,我们常选择一个初始位置。如在三维医学图像应用中重置医生的用户坐标系与三维图像坐标系关系时,我们让医生用手中的三维人机交互装置指向三维医学图像所显示的中心位置,按下重置键,置初值模块224将按照应用设计调整该应用的初始位置设置。
[0139] 重置传感器坐标系和用户坐标系关系初置时如重置传感器坐标系和用户坐标系关系初置时,根据应用要求的不同,系统初始化程序可以有不同的三维人机交互装置100初始位置,也可以有不同的方位、速度和位置初值。一简单的系统初始化程序可为:
[0140] 将三维人机交互装置100置于用户坐标系中的最原始的位置,如自原点沿x坐标轴方向,并取静止状态;
[0141] 按下“重置/置初值”键;
[0142] 置初值模块224向方位估计模块送出方位强制性初值(0,90°,90°);向速度和位移估计模块230送出速度和位置强制性初值0;
[0143] 以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。