CN108378854A - 计算方法和姿态测量捕捉分析系统 - Google Patents
计算方法和姿态测量捕捉分析系统 Download PDFInfo
- Publication number
- CN108378854A CN108378854A CN201810123252.1A CN201810123252A CN108378854A CN 108378854 A CN108378854 A CN 108378854A CN 201810123252 A CN201810123252 A CN 201810123252A CN 108378854 A CN108378854 A CN 108378854A
- Authority
- CN
- China
- Prior art keywords
- state
- coordinate system
- data
- axis
- predetermined sensor
- 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.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1116—Determining posture transitions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1121—Determining geometric values, e.g. centre of rotation or angular range of movement
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1126—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Public Health (AREA)
- Surgery (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Psychiatry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- User Interface Of Digital Computer (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
本发明公开了一种可以将多个存在任意偏差的初始姿态角度矫正到统一坐标系的计算方法,用于姿态测量捕捉分析系统,该姿态测量捕捉分析系统具有第一坐标系,该姿态测量捕捉分析系统包括预定传感器,所述预定传感器具有第二坐标系,该计算方法包括:调整所述预定传感器至第一状态,并在所述第一状态获取所述预定传感器的所述第二坐标系中的第一数据;调整所述预定传感器至第二状态,并在所述第二状态获取所述预定传感器的所述第二坐标系中的第二数据;调整所述预定传感器至所述第一状态;调整所述预定传感器至第三状态,并在所述第三状态获取所述预定传感器的所述第二坐标系中的第三数据;以及计算所述预定传感器相对所述第一坐标系的校准四元数。
Description
技术领域
本发明涉及一种计算方法和姿态测量捕捉分析系统,尤其涉及一种能够快速获得人体关节位置姿态的计算方法和姿态测量捕捉分析系统。
背景技术
当前,姿态传感器,特别是MEMS姿态传感器在获取人体关节姿态领域获得了很好的应用。此类姿态传感器包括加速度计、陀螺仪和磁传感器,结合特定算法,可以用来测量空间姿态。将该姿态传感器安装到人体骨骼处,可以通过获取姿态角,获知人体关节姿态。然而,由于该姿态传感器安装位置的不确定性以及人体关节移动的随意性,往往需要在每次安装好姿态传感器之后重新设置并校准,不仅费时,而且降低了用户体验。
发明内容
本发明的目的在于提供一种统一消除了由于现有技术的限制和缺陷所导致的一个或多个问题的计算方法和姿态测量捕捉分析系统。
根据本发明的一个方面,提供一种计算方法,用于姿态测量捕捉分析系统,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态测量捕捉分析系统包括预定传感器,所述预定传感器具有第二坐标系,所述计算方法包括:调整所述预定传感器至第一状态,并在所述第一状态获取所述预定传感器的所述第二坐标系中的第一数据;调整所述预定传感器至第二状态,并在所述第二状态获取所述预定传感器的所述第二坐标系中的第二数据;调整所述预定传感器至所述第一状态;调整所述预定传感器至第三状态,并在所述第三状态获取所述预定传感器的所述第二坐标系中的第三数据;以及计算所述预定传感器相对所述第一坐标系的校准四元数。
根据本发明的另一方面,提供一种姿态测量捕捉分析系统,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态测量捕捉分析系统包括:预定传感器,所述预定传感器具有第二坐标系,其中,在所述第一状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第一数据;在所述第二状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第二数据;在所述第三状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第三数据;以及所述姿态测量捕捉分析系统能够计算所述预定传感器相对所述第一坐标系的校准四元数。
由此可见,根据本发明的计算方法和姿态测量捕捉分析系统能够简单、快速、高效地实现所述第一坐标系与所述第二坐标系之间的校准过程,从而有利于通过所述姿态传感器高效准确地获得人体关节姿态。
应理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。除非明确指出,否则附图不应视为按比例绘制。在附图中,相同的参考标号通常代表相同组件或步骤。在附图中:
图1是示出根据本发明的计算方法的流程图;
图2是示出根据本发明的计算方法中的第一坐标系的示例图;
图3是示出根据本发明的计算方法中的第二坐标系的示例图;以及
图4是示出根据本发明的姿态测量捕捉分析系统的组成的配置图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本文所描述的实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。在本说明书和附图中,将采用相同的附图标记表示大体上相同的元素和功能,且将省略对这些元素和功能的重复性说明。此外,为了清楚和简洁,可以省略对于本领域所熟知的功能和构造的说明。
首先参照图1至图3对本发明的计算方法S100进行说明。图1是示出根据本发明的计算方法S100的流程图。图2是示出根据本发明的计算方法S100中的第一坐标系的示例图。图3是示出根据本发明的计算方法S100中的第二坐标系的示例图。
本发明的计算方法S100可以应用于诸如姿态测量捕捉分析系统、人体关节姿态控制系统、肢体动作采集系统、动作捕捉系统等这样的控制系统。本领域技术人员可以在理解本发明原理的基础上将本发明的计算方法S100所应用的控制系统或应用场景进行选择,只要能够实现本发明的计算方法S100的原理即可。在下文中,将以姿态测量捕捉分析系统为例进行说明。
本发明的计算方法S100所应用的姿态测量捕捉分析系统包括预定传感器。所述预定传感器例如是姿态传感器。所述姿态传感器能够根据加速度、压力等环境参数的变化来感知数据。所述姿态传感器优选采用姿态传感器,例如微机电系统(Micro-ElectroMechanical System)姿态传感器(下文简称MEMS姿态传感器或所述姿态传感器)、九轴姿态传感器等。然而本发明的姿态测量捕捉分析系统中所包括的姿态传感器的类型并不限于此。本领域技术人员可以根据本发明的原理和本领域中的现有技术来对姿态传感器的类型、型号等进行选择,只要能够实现本发明的原理即可。在下文中,为了便于对本发明的技术原理进行阐述,将以MEMS姿态传感器为例进行说明。
本领域技术人员应注意的是,所述姿态测量捕捉分析系统所包括的姿态传感器的数量可以是一个,也可以是多个。也就是说,本发明的计算方法S100既可以应用在仅含有一个姿态传感器的姿态测量捕捉分析系统中,也可以应用在含有多个姿态传感器的姿态测量捕捉分析系统中。其中,在含有多个姿态传感器的姿态测量捕捉分析系统中,所述多个姿态传感器的类型可以相同,也可以不同,只要本发明的计算方法S100可以实现下文所描述的技术原理即可。
在所述姿态测量捕捉分析系统中,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态传感器具有第二坐标系。换言之,所述姿态测量捕捉分析系统所在的坐标系是第一坐标系,所述姿态传感器所在的坐标系是第二坐标系。
通常,所述姿态测量捕捉分析系统所在的第一坐标系是已知的坐标系,或固定的坐标系,或人为预先设定的坐标系。这里所称的“已知”、“固定”是指,无论所述姿态测量捕捉分析系统所处的位置如何变化,其所在的坐标系(即第一坐标系)通常是不发生变化的。
优选地,所述第一坐标系是大地坐标系。虽然本发明将第一坐标系优选为大地坐标系,然而本发明并不限于此,本领域技术人员可以根据本发明的技术原理对所述第一坐标系进行选择性设置,只要能够实现本发明的原理即可。
优选地,在所述大地坐标系中,指向北极的方向为X轴,在大地平面上与X轴垂直的方向为Y轴,与X轴和Y轴垂直的方向为Z轴,并且X轴、Y轴和Z轴符合右手定则。虽然本发明将大地坐标系的X轴、Y轴和Z轴按上文所述进行设置,然而本发明并不限于此,本领域技术人员可以对大地坐标系的坐标轴进行选择性设置,只要能够实现本发明的原理即可。
通常,所述姿态传感器所在的第二坐标系是未知的坐标系,或可变的坐标系。这里所称的“未知”、“可变”是指,所述的第二坐标系可以随着姿态传感器所处的位置、倾角等的变化而发生改变。通常,所述姿态传感器的第二坐标系是出厂时初始设置好的,当将所述姿态传感器放置于水平面上时,根据该出厂设置所述第二坐标系是已知的。然而,所述姿态传感器的固定位置可能是随意的,并且当将所述姿态传感器固定在某个关节处(例如手臂的肘关节处)时,随着关节(例如手臂)的移动(例如转动、抬起、放下等动作),所述姿态传感器所处的第二坐标系会发生改变。
虽然上文示例性描述出所述姿态传感器的第二坐标系的情形,然而本发明并不限于,本领域技术人员可以根据本发明的原理,对所述第二坐标系进行选择性设置,只要能够实现本发明的原理即可。
本领域技术人员应注意的是,所述第一坐标系和所述第二坐标系可以相同,也可以不同。在特定情形中,所述第一坐标系和所述第二坐标系可以相同。例如,当将所述姿态传感器置于大地的水平面上时,如果所述姿态传感器的第二坐标系的出厂设置与大地坐标系相同,这时所述第一坐标系和所述第二坐标系相同。然而,在大多数情形中,由于人体或姿态传感器所固定的关节部位的移动,带动了所述姿态传感器的移动,从而造成所述第一坐标系和所述第二坐标系的不同。
因此,本发明的计算方法S100所要解决的技术问题就是如何简单、快速、高效地实现所述第一坐标系与所述第二坐标系之间的校准过程,从而有利于通过所述姿态传感器高效准确地获得人体关节姿态。
在本实施例中,计算方法S100包括如下步骤:
第一数据获取步骤S101。在第一数据获取步骤S101中,调整所述姿态传感器至第一状态,并在所述第一状态获取所述姿态传感器的所述第二坐标系中的第一数据。
优选地,所述第一状态是所述姿态传感器安装或固定至预定位置处之后的初始状态。
本领域技术人员应注意的是,由于本发明的计算方法S100是用于在MEMS姿态传感器安装至人体关节处之后控制该姿态传感器的校准过程并获得人体关节姿态,因此,所述姿态传感器安装或固定的预定位置优选为预定人体关节处或预定人体关节位置。在该优选实施例中,第一数据获取步骤S101中的所述“调整所述姿态传感器至第一状态”应当包括如下两个子步骤:首先,将所述姿态传感器安装或固定至预定人体关节处,然后将使所述姿态传感器处于初始状态。
在上文所述的第一数据获取步骤S101的第一个子步骤中,所述预定人体关节可以是诸如肘关节、肩关节、踝关节、指关节等这样的人体关节。虽然上文示例性示出了所述预定人体关节,然而本发明并不限于此,本领域技术人员可以根据本发明的实际应用情况,对所述预定人体关节进行选择。本发明并不限定所述姿态传感器与人体关节的固定方式,例如,用户可以通过胶带固定、粘贴固定、捆绑固定扥方式将所述姿态传感器安装或固定至所述预定人体关节处。在下文中,为了便于描述,将以所述姿态传感器安装或固定至肘关节为例进行说明。
在上文所述的第一数据获取步骤S101的第二个子步骤中,所述初始状态可以是指通过所述姿态传感器获得的数据相对稳定或固定的状态;也可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,人体关节相对稳定或固定的状态;还可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,再经过预定时间之后所述姿态传感器的状态,其中,所述预定时间可以由系统预先设定或用户设定;还可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,人体关节移动至满足预设位置、倾角之后的状态。虽然上文示例性示出了所述初始稳定状态的实例,然而本发明并不限于此,本领域技术人员可以根据本发明的实际应用情况对所述初始稳定状态进行选择性设置,只要能够实现本发明的原理即可。
此外,MEMS姿态传感器还可以获取人体骨骼姿态,因此,除了上文所述的人体关节位置以外,MEMS姿态传感器安装或固定的预定位置还可以是人体骨骼处。虽然上文示例性示出了所述预定位置的实例,然而本发明并不限于此,本领域技术人员可以根据姿态传感器的实际使用情况来对其安装或固定的预定位置进行选择,只要能够实现本发明的原理即可。
虽然上文示例性示出了所述第一状态的实例,然而本发明并不限于此,本领域技术人员可以根据本发明的原理,对所述第一状态进行选择性设置,只要能够实现本发明的原理即可。
第一数据是在所述姿态传感器处于所述第一状态时所获取的第二坐标系中的数据。优选地,所述第一数据是四元数数据,表示为A(A1,A2,A3,A4)。
四元数可以用于表示轴旋转。通常,我们可以用轴角来表示向量绕轴的旋转。例如,p(w,x,y,z),其中三维向量x,y,z表示旋转轴,w表示旋转角度。四元数可以理解为上述轴角的进化,总体上,其仍然采用三维向量表示旋转轴,并由一个角度分量来表示绕该轴的旋转。四元数的表达方式是:
或其中,i2+j2+k2=-1.(2)
其中,x,y,z表示旋转轴向量,θ表示旋转角度。因此上述公式(1)表示绕旋转轴(x,y,x)旋转θ角(右手法则的旋转)。
因此,本领域技术人员应当理解的是,上文示例性示出的第一数据A(A1,A2,A3,A4)所代表的含义与上文公式(1)的含义相同,或者可以通过预定的公式变换来将第一数据A的四个数据项(即A1,A2,A3,A4)转换成上文公式(1)所代表的θ,x,y,z的表达方式,从而更直观地获知旋转轴和旋转角。此外,由于本发明所描述的校准过程所涉及的数据运算,通常由系统内置的处理器或芯片完成,中间的数据内容及其具体运算过程并不需要用户介入,因此这里的第一数据和下文描述的校准所需的其它数据,并不需要用户知晓其四元数具体内容。此处通过A(A1,A2,A3,A4)是为了描述和说明的方便。
本领域技术人员应注意的是,上文所述的第一数据以及下文涉及四元数的各项数据均为单位四元数,即||p||=1。
本领域技术人员应知晓的是,上文所述的第一数据、下文所述的第二数据、第三数据,以及本发明校准过程中所涉及的其它中间数据,在生成之后可以存储在预定存储单元中。所述预定存储单元可以是所述姿态测量捕捉分析系统内部的存储单元,也可以是所述姿态测量捕捉分析系统的外部存储单元。由于存储单元和存储方法较为公知,因此本发明对此不作限定。
然后,进入第二数据获取步骤S102。
在第二数据获取步骤S102中,调整所述姿态传感器至第二状态,并在所述第二状态获取所述姿态传感器的所述第二坐标系中的第二数据。
所述第二状态是经过第二数据获取步骤S102的调整动作之后,所述姿态传感器所处的状态。这里将该状态命名为第二状态是为了与上文所述的第一状态以及下文的其它状态进行区分。本领域技术人员应注意的是,为了计算校准四元数从而实现本发明所描述的校准过程,需要利用不同的数据来进行校准计算,即利用上文所述的第一数据、第二数据以及下文所述的第三数据来进行计算,因此,这三个数据应当是不同的,也就是说,所述第二状态应与所述第一状态不同,所述第三状态与所述第一状态也不同,所述第二状态与所述第三状态也不同。
第二数据获取步骤S102中的“调整”操作可能与上文第一数据获取步骤S101的“调整”操作略有不同。后者更侧重于被动的方式,例如,将所述姿态传感器固定好之后等待一段时间使其在空间中处于稳定状态,并且所述第一状态通常可以是已知的或预定的,例如出厂设置的初始状态;前者更侧重于主动的方式,例如,携带所述姿态传感器的用户通过转动身体或扭动关节等方式来改变所述姿态传感器在空间中的位置等,并且所述第二状态是未知的或随意的,例如用户扭动关节的方向、幅度等的不同均会造成所述第二状态的不同。
所述第二数据是在所述姿态传感器处于所述第二状态时所获取的第二坐标系中的数据。与上文所述的第一数据相似,优选地,所述第二数据是四元数数据,表示为B(B1,B2,B3,B4)。关于第二数据的四元数的含义说明,参见上文关于第一数据的描述部分。
优选地,所述第二状态是将所述第一状态下的所述姿态传感器绕所述第一坐标系的第一预定坐标轴旋转一第一预定角度而得到的状态。
具体而言,在该优选实施例中,在前述步骤中,所述姿态传感器已经被安装或固定至肘关节,并且在所述第一状态下获得第一数据。此时,在第二数据获取步骤S102中,人体将该肘关节绕第一坐标系(即大地坐标系)的第一预定坐标轴旋转一第一预定角度,从而实现所述第二状态,即使所述姿态传感器达到所述第二状态。
优选地,所述第一预定坐标轴是所述大地坐标系的Z轴。考虑到人体在自然站立时,躯干与大地坐标系的Z轴重合,因此通常用户只需要转动躯干,即可实现将已被固定至关节处的所述姿态传感器绕大地坐标系的Z轴旋转。因此,用户绕大地坐标系的Z轴旋转所述第一预定角度即可实现第二数据获取步骤S102中的“调整”。
虽然上文示例性示出了所述第一预定坐标轴的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,尤其是下文获取第三数据的原理,来综合考量所述第一预定坐标轴的选择,只要能够实现本发明的原理即可。
优选地,所述第一预定角度是60度。虽然上文示例性示出了所述第一预定角度的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,来选择适合人体实际操作的角度,只要能够实现本发明的原理即可。这里的优选实施例示出的角度仅是为了说明技术原理的需要,并不意在对本发明的范围进行限制。
优选地,所述第一预定角度小于90度。将第一预定角度设置为小于90度,一方面是基于人体工程学考虑,即通常人体关节的转动的幅度范畴;另一方面是出于减少运算误差的考虑。虽然上文将所述第一预定角度设置成小于90度,然而本发明并不限于此,本领域技术人员可以根据本发明的原理及实际应用情况对所述第一预定角度进行选择性设置,只要能够实现本发明的原理即可。
接下来,进入第一状态返回步骤S103。
在第一状态返回步骤S103中,调整所述姿态传感器至所述第一状态。
所述第一状态返回步骤S103中的“调整”与上文所述的第二数据获取步骤S102中的“调整”相似。所不同的是,可以将前者的“调整”操作视为后者的“调整”操作的返回操作。例如,假定在第二数据获取步骤S102中,用户将肘关节顺时针旋转30度,则在所述第一状态返回步骤S103中,用户将该肘关节逆时针旋转30度。再例如,假定在第二数据获取步骤S102中,用户绕大地坐标系的Z轴顺时针旋转所述第一预定角度,则在第一状态返回步骤S103中,用户绕大地坐标系的Z轴逆时针旋转所述第一预定角度,即可返回至所述第一状态。
本领域技术人员应注意的是,由于人体工程学、肌肉、骨骼、脉搏的各方面的制约,在第一状态返回步骤S103中的“调整”操作可能无法使所述姿态传感器准确地返回至所述第一状态。也就是说,第一状态返回步骤S103中所返回的状态与第一数据获取步骤S101中的第一状态可能存在差别。只要该差别在误差允许的范围内即可。因此,在第一状态返回步骤S103中,一方面,用户需要尽可能精确地控制身体,以便使所述姿态传感器尽可能准确地返回至第一状态;另一方面,系统应该预先设置可允许的误差范围,并在第一状态返回步骤S103中对用户的操作进行提示,例如,在误差范围外时通过报警音对用户进行提示,以便用户及时调整,当差别处于误差范围内时,报警音消失,用户可以停止调整。
接下来,进入第三数据获取步骤S104。
在第三数据获取步骤S104中,调整所述姿态传感器至第三状态,并在所述第三状态获取所述姿态传感器的所述第二坐标系中的第三数据。
第三数据获取步骤S104中的“调整”与上文所述的第二数据获取步骤S102中的“调整”相似,即,两者均是通过用户转动身体或扭动关节等方式来实现所述姿态传感器的位置、倾角等变换。所不同的是,经过前者的“调整”之后所述姿态传感器所处的状态(即所述第三状态)应当与经过后者的“调整”之后所述姿态传感器所述的状态(即所述第二状态)不同。并且,考虑到本发明的计算方法S100的校准原理,所述第二状态与所述第三状态两者之间的差别应当满足下文所述校准四元数计算步骤S105的运算需要。下文将结合具体实施例对所述第三状态进行详细说明。
所述第三数据是在所述姿态传感器处于所述第三状态时所获取的第二坐标系中的数据。与上文所述的第一数据和第二数据相似,优选地,所述第三数据是四元数数据,表示为C(C1,C2,C3,C4)。关于第三数据的四元数的含义说明,参见上文关于第一数据的描述部分。
优选地,所述第三状态是将所述第一状态下的所述姿态传感器绕所述第一坐标系的第二预定坐标轴旋转一第二预定角度而得到的状态。
具体而言,在该优选实施例中,在前述步骤中,所述姿态传感器已经被安装或固定至肘关节,并且在所述第一状态下获得第一数据。此时,在第三数据获取步骤S104中,人体将该肘关节绕第一坐标系(即大地坐标系)的第二预定坐标轴旋转一第二预定角度,从而实现所述第三状态,即,使所述姿态传感器达到所述第三状态。
本领域技术人员应注意的是,为了满足下文校准四元数计算步骤S105的运算需要,这里的第二预定坐标轴与上文所述的第一预定坐标轴应当是不同的坐标轴。例如,如果第一预定坐标轴是大地坐标系的Z轴,则第二预定坐标轴可以是大地坐标系的X轴或Y轴;如果第一预定坐标轴是大地坐标系的X轴,则第二预定坐标轴可以是大地坐标系的Y轴或Z轴;如果第一预定坐标轴是大地坐标系的Y轴,则第二预定坐标轴可以是大地坐标系的X轴或Z轴。
优选地,在上文所述的第一预定坐标轴是所述大地坐标系的Z轴的情形中,所述第二预定坐标轴是所述大地坐标系的X轴。在该优选实施例中,用户首先需要知晓大地坐标系的X轴方位,让后通过转动躯体、扭动关节、转动与关节所在的部分身体来实现所述姿态传感器绕大地坐标系的X轴转动。
虽然上文示例性示出了以Z轴作为第一预定坐标轴并且以X轴作为第二预定坐标轴的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,尤其是下文旋转矩阵的计算方法,来综合考量第一预定坐标轴和第二预定坐标轴的选择,只要能够实现本发明的原理即可。
优选地,所述第二预定角度是60度。虽然上文示例性示出了所述第二预定角度的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,来选择适合人体实际操作的角度,只要能够实现本发明的原理即可。这里的优选实施例示出的角度仅是为了说明技术原理的需要,并不意在对本发明的范围进行限制。
优选地,所述第二预定角度小于90度。将第二预定角度设置为小于90度,一方面是基于人体工程学考虑,即通常人体关节的转动的幅度范畴;另一方面是出于减少运算误差的考虑。虽然上文将所述第二预定角度设置成小于90度,然而本发明并不限于此,本领域技术人员可以根据本发明的原理及实际应用情况对所述第二预定角度进行选择性设置,只要能够实现本发明的原理即可。
值得一提的是,为了便于用户对所述姿态传感器的“调整”操作,在上文所述的第一状态中,宜使肘关节所在的手臂与大地坐标系中的X轴相重合。通常而言,相对于大地坐标系,绕X轴的旋转称为横滚,绕Y轴的旋转称为俯仰,绕Z轴的旋转称为航向。将肘关节所在的手臂与X轴重合,可以直接以横滚的方式来实现上文优选实施例中所描述的绕X轴的旋转,并且可以直接以航向的方式实现上文优选实施例中所描述的绕Z轴的旋转。
接下来,进入校准四元数计算步骤S105。
在校准四元数计算步骤105中,计算所述姿态传感器相对所述第一坐标系的校准四元数。
所述姿态传感器相对所述第一坐标系的校准四元数qR可以理解为所述姿态传感器在第二坐标系中的姿态数据与所述姿态传感器在第一坐标系中的姿态数据的转换公式或转换模型。本发明的步骤S101至S105就是要建立这样一个转换公式。当该转换公式建立之后,用户再次改变关节姿态(即调整所述姿态传感器的位置、姿态角等)时,便可通过该转换公式计算得出该关节对应到大地坐标系的姿态,从而获得真正的人体关节姿态或骨骼姿态。
优选地,校准四元数计算步骤S105可以包括如下两个子步骤:首先获得旋转矩阵;然后根据预定公式和所述旋转矩阵获得所述校准四元数。
优选地,获得旋转矩阵的子步骤可以再细分为如下步骤:计算所述第一预定坐标轴的第一旋转分量;计算所述第二预定坐标轴的第二旋转分量;根据所述第一旋转分量和所述第二旋转分量计算所述第一坐标系的第三预定坐标轴的第三旋转分量;根据所述第一旋转分量、所述第二旋转分量和所述第三旋转分量生成所述旋转矩阵。
下面,仍然以上文优选实施例中描述旋转情形为例进行说明,即,第二状态是绕大地坐标系的Z轴旋转得到,并且第三状态是绕大地坐标系的X轴旋转得到。
具体而言,所述第一预定坐标轴的第一旋转分量Tz的计算公式如下:
d1=inv(A)*B (3)
Tz=[d1(1),d1(2),d1(3)] (4)
其中,A是上文所述的第一数据;B是上文所述的第二数据;d1(1),d1(2),d1(3)分别代表四元数d1中的后三位分量。
下面对上文的公式(3)和公式(4)进行解释。
Inv代表四元数求逆。因为本发明所使用的四元数均为单位四元数,因此这里的四元数求逆操作也是共轭操作。例如一个四元数p=[p0,p1,p2,p3],则inv(p)=[p0,-p1,-p2,-p3]。若已知两个四元数p1,p2,则p1相对于p2的旋转可表示为inv(p1)*p2。例如,p1=(0,1,0,0),结合上文关于横滚、俯仰、航向的定义,其代表的姿态为横滚180度,俯仰、航向均为0;p2=(0,0,0,1),其代表的姿态为横滚、俯仰均为0,航向为180度。则d1=inv(p1)*p2=[0,0,1,0],该四元数d1代表旋转操作,其含义是:p1是p2绕Y轴旋转180度得来。
在本优选实施例中,由于第二状态是在第一状态的基础上绕Z轴旋转得到,因此上文公式(3)的运算结果应为d1=(*,0,0,*),其中*的数值由上文所述的第一预定角度决定。因此,上文公式(4)的运算结果应为Tz=[0,0,*],同样,此处的*的数值由上文所述的第一预定角度决定。至此,获得Z轴的第一旋转分量Tz。为了便于描述技术方案,下文将以Tz=[0,0,1]为例进行说明。
与上文第一旋转分量Tz的计算方法相似的,所述第二预定坐标轴(即X轴)的第二旋转分量Tx的计算公式如下:
d2=inv(A)*C (5)
Tx=[d2(1),d2(2),d2(3)] (6)
其中,A是上文所述的第一数据;C是上文所述的第三数据;d2(1),d2(2),d2(3)分别代表四元数d2中的后三位分量。
上文的公式(5)和公式(6)的含义参见上文对公式(3)和公式(4)的说明部分。
在本优选实施例中,由于第三状态是在第一状态的基础上绕X轴旋转得到,因此上文公式(5)的运算结果应为d2=(*,*,0,0),其中*的数值由上文所述的第二预定角度决定。因此,上文公式(6)的运算结果应为Tx=[*,0,0],同样,此处的*的数值由上文所述的第二预定角度决定。至此,获得X轴的第一旋转分量Tx。为了便于描述技术方案,下文将以Tx=[1,0,0]为例进行说明。
在本优选实施例中,第三预定坐标轴的第三旋转分量Ty的计算公式如下:
Ty=cross(Tz,Tx) (7)
下面对上文所述的公式(7)进行说明。
cross代表向量叉乘,也可以用表示。两个相互垂直的向量a,b,叉乘的结果c是另一个向量,其方向符合右手定律,其大小|c|=|a||b|sin(<a,b>)。假定向量a(l,m,n),向量b(o,p,q),则 若Tx,Ty,Tz分别代表对应X轴、Y轴、Z轴的向量,则有:cross(Tx,Ty)=Tz;cross(Ty,Tz)=Tx;cross(Tz,Tx)=Ty.
由此,通过上文公式(7)可以获得第三旋转分量Ty。为了便于描述技术方案,下文将以Ty=[0,1,0]为例进行说明。
进一步,在本优选实施例中,根据所述第一旋转分量Tz、所述第二旋转分量Tx和所述第三旋转分量Ty生成所述旋转矩阵TR。所述旋转矩阵TR公式如下:
其中,T11,T12,T13分别对第二旋转分量Tx中的三个分量;T21,T22,T23分别对第三旋转分量Ty中的三个分量;T31,T32,T33分别对第一旋转分量Tz中的三个分量。至此,获得所述旋转矩阵TR。
优选地,根据所述旋转矩阵获得所述校准四元数的所述预定公式如下:
解上述各个方程即可以得到q0,q1,q2,q3,其中q0,q1,q2,q3分别对应所述校准四元数中的四个分量,即qR=[q0,q1,q2,q3]。至此,获得所述校准四元数。校准四元数计算步骤S105完成。
虽然上文示例性示出了根据所述旋转矩阵获得所述校准四元数的预定公式的实例,然而本发明并不限于此。在四维变换算法领域,存在多种三维旋转矩阵与四元数的相互转换方法,本领域技术人员可以根据本发明的原理及实际应用情况,选择适当的转换方法来生成校准四元数。
根据上文所获得的校准四元数qR,可以进行进一步的计算。例如,所述姿态传感器处于所述第一状态时的第一数据A对应在大地坐标系中的四元数应为:
Q1=A*qR (10)
优选地,本发明的计算方法S100还可以进一步包括如下步骤:第四数据获取步骤S106以及第四状态对应所述第一坐标系中的数据计算步骤S107。
具体而言,在第四数据获取步骤S106中,调整所述姿态传感器至第四状态,并在所述第四状态获取所述姿态传感器的所述第二坐标系中的第四数据。在步骤S107中,根据所述校准四元数和所述第四数据来计算所述第四状态对应的所述第一坐标系中的数据。
仍然以上文所述的优选实施例为例,第四数据获取步骤S106中的“调整”与上文所述的第二数据获取步骤S102中的“调整”相似,即,两者均是通过用户转动身体或扭动关节等方式来实现所述姿态传感器的位置、倾角等变换。所不同的是,第二数据获取步骤S102中的“调整”是有目的的调整,即需要绕着所述第一预定坐标轴(例如Z轴)转动。然而,第四数据获取步骤S106中的“调整”并不限定于绕某个预定坐标轴转动。也就是说,用户可以随意转动所述姿态传感器所固定的关节,从而使所述姿态传感器处于任意随机的状态。由于通过上文所述的步骤S101至步骤S105已经获得了校准四元数,所以此后用户即可以随意转动身体,以便所述计算方法S100能够根据所述校准四元数获得相对于大地坐标系的人体关节姿态或人体骨骼姿态。
假定,在第四数据获取步骤S106获取的第四数据是四元数qx。则在步骤S107中,根据校准四元数qR进行计算获得所述第四数据在大地坐标系(即所述第一坐标系)中的四元数为:
Qx=qx*qR (11)
综合上文所述的公式(10)和公式(11)即可计算得出经过用户随意移动而获得的第四数据相对于第一状态的第一数据A在大地坐标系中的姿态应为:
D=inv(Q1)*Qx (12)
其中,D即为相对于大地坐标系该关节旋转的真实姿态角度四元数。
下面将结合图4对本发明的姿态测量捕捉分析系统10进行详细说明。
本发明的姿态测量捕捉分析系统10可以是诸如姿态测量捕捉分析系统、人体关节姿态控制系统、肢体动作采集系统、动作捕捉系统等这样的控制系统。本领域技术人员可以在理解本发明原理的基础上将本发明的控制系统10所应用的控制系统或应用场景进行选择,只要能够实现本发明的原理即可。下文将以姿态测量捕捉分析系统为例进行说明。
本发明的姿态测量捕捉分析系统10包括姿态传感器11。所述姿态传感器能够根据加速度、压力等环境参数的变化来感知数据。所述姿态传感器优选采用姿态传感器,例如微机电系统(Micro-Electro Mechanical System)姿态传感器(下文简称MEMS姿态传感器或所述姿态传感器)、九轴姿态传感器等。然而本发明的姿态测量捕捉分析系统中所包括的姿态传感器的类型并不限于此。本领域技术人员可以根据本发明的原理和本领域中的现有技术来对姿态传感器的类型、型号等进行选择,只要能够实现本发明的原理即可。在下文中,为了便于对本发明的技术原理进行阐述,将以MEMS姿态传感器为例进行说明。
本领域技术人员应注意的是,所述姿态测量捕捉分析系统所包括的姿态传感器的数量可以是一个,也可以是多个。也就是说,本发明的姿态测量捕捉分析系统10既可以是仅含有一个姿态传感器的姿态测量捕捉分析系统,也可以是含有多个姿态传感器的姿态测量捕捉分析系统。其中,在含有多个姿态传感器的姿态测量捕捉分析系统中,所述多个姿态传感器的类型可以相同,也可以不同,只要本发明的姿态测量捕捉分析系统可以实现下文所描述的技术原理即可。
在所述姿态测量捕捉分析系统中,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态传感器具有第二坐标系。换言之,所述姿态测量捕捉分析系统所在的坐标系是第一坐标系,所述姿态传感器所在的坐标系是第二坐标系。
通常,所述姿态测量捕捉分析系统所在的第一坐标系是已知的坐标系,或固定的坐标系,或人为预先设定的坐标系。这里所称的“已知”、“固定”是指,无论所述姿态测量捕捉分析系统所处的位置如何变化,其所在的坐标系(即第一坐标系)通常是不发生变化的。
优选地,所述第一坐标系是大地坐标系。虽然本发明将第一坐标系优选为大地坐标系,然而本发明并不限于此,本领域技术人员可以根据本发明的技术原理对所述第一坐标系进行选择性设置,只要能够实现本发明的原理即可。
优选地,在所述大地坐标系中,指向北极的方向为X轴,在大地平面上与X轴垂直的方向为Y轴,与X轴和Y轴垂直的方向为Z轴,并且X轴、Y轴和Z轴符合右手定则。虽然本发明将大地坐标系的X轴、Y轴和Z轴按上文所述进行设置,然而本发明并不限于此,本领域技术人员可以对大地坐标系的坐标轴进行选择性设置,只要能够实现本发明的原理即可。
通常,所述姿态传感器所在的第二坐标系是未知的坐标系,或可变的坐标系。这里所称的“未知”、“可变”是指,所述的第二坐标系可以随着姿态传感器所处的位置、倾角等的变化而发生改变。通常,所述姿态传感器的第二坐标系是出厂时初始设置好的,当将所述姿态传感器放置于水平面上时,根据该出厂设置所述第二坐标系是已知的。然而,所述姿态传感器的固定位置可能是随意的,并且当将所述姿态传感器固定在某个关节处(例如手臂的肘关节处)时,随着关节(例如手臂)的移动(例如转动、抬起、放下等动作),所述姿态传感器所处的第二坐标系会发生改变。
虽然上文示例性描述出所述姿态传感器的第二坐标系的情形,然而本发明并不限于,本领域技术人员可以根据本发明的原理,对所述第二坐标系进行选择性设置,只要能够实现本发明的原理即可。
本领域技术人员应注意的是,所述第一坐标系和所述第二坐标系可以相同,也可以不同。在特定情形中,所述第一坐标系和所述第二坐标系可以相同。例如,当将所述姿态传感器置于大地的水平面上时,如果所述姿态传感器的第二坐标系的出厂设置与大地坐标系相同,这时所述第一坐标系和所述第二坐标系相同。然而,在大多数情形中,由于人体或姿态传感器所固定的关节部位的移动,带动了所述姿态传感器的移动,从而造成所述第一坐标系和所述第二坐标系的不同。
因此,本发明的姿态测量捕捉分析系统10所要解决的技术问题就是如何简单、快速、高效地实现所述第一坐标系与所述第二坐标系之间的校准过程,从而有利于通过所述姿态传感器高效准确地获得人体关节姿态。
在本实施例中,在所述第一状态,所述姿态测量捕捉分析系统能够获取所述姿态传感器的所述第二坐标系中的第一数据;在所述第二状态,所述姿态测量捕捉分析系统能够获取所述姿态传感器的所述第二坐标系中的第二数据;在所述第三状态,所述姿态测量捕捉分析系统能够获取所述姿态传感器的所述第二坐标系中的第三数据;以及所述姿态测量捕捉分析系统能够计算所述姿态传感器相对所述第一坐标系的校准四元数。
下面将结合具体数据对本发明的姿态测量捕捉分析系统进行详细说明。
优选地,所述第一状态是所述姿态传感器安装或固定至预定位置处之后的初始状态。
本领域技术人员应注意的是,由于本发明的姿态测量捕捉分析系统10是用于在MEMS姿态传感器安装至人体关节处之后控制该姿态传感器的校准过程并获得人体关节姿态,因此,所述姿态传感器安装或固定的预定位置优选为预定人体关节处或预定人体关节位置。在该优选实施例中,在所述姿态测量捕捉分析系统获取所述第一数据之前,首先,将所述姿态传感器安装或固定至预定人体关节处,然后将使所述姿态传感器处于初始状态。
所述预定人体关节可以是诸如肘关节、肩关节、踝关节、指关节等这样的人体关节。虽然上文示例性示出了所述预定人体关节,然而本发明并不限于此,本领域技术人员可以根据本发明的实际应用情况,对所述预定人体关节进行选择。本发明并不限定所述姿态传感器与人体关节的固定方式,例如,用户可以通过胶带固定、粘贴固定、捆绑固定扥方式将所述姿态传感器安装或固定至所述预定人体关节处。在下文中,为了便于描述,将以所述姿态传感器安装或固定至肘关节为例进行说明。
所述初始状态可以是指通过所述姿态传感器获得的数据相对稳定或固定的状态;也可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,人体关节相对稳定或固定的状态;还可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,再经过预定时间之后所述姿态传感器的状态,其中,所述预定时间可以由系统预先设定或用户设定;还可以是指所述姿态传感器安装或固定至所述预定人体关节处之后,人体关节移动至满足预设位置、倾角之后的状态。虽然上文示例性示出了所述初始稳定状态的实例,然而本发明并不限于此,本领域技术人员可以根据本发明的实际应用情况对所述初始稳定状态进行选择性设置,只要能够实现本发明的原理即可。
此外,MEMS姿态传感器还可以获取人体骨骼姿态,因此,除了上文所述的人体关节位置以外,MEMS姿态传感器安装或固定的预定位置还可以是人体骨骼处。虽然上文示例性示出了所述预定位置的实例,然而本发明并不限于此,本领域技术人员可以根据姿态传感器的实际使用情况来对其安装或固定的预定位置进行选择,只要能够实现本发明的原理即可。
虽然上文示例性示出了所述第一状态的实例,然而本发明并不限于此,本领域技术人员可以根据本发明的原理,对所述第一状态进行选择性设置,只要能够实现本发明的原理即可。
第一数据是在所述姿态传感器处于所述第一状态时所获取的第二坐标系中的数据。优选地,所述第一数据是四元数数据,表示为A(A1,A2,A3,A4)。
四元数可以用于表示轴旋转。通常,我们可以用轴角来表示向量绕轴的旋转。例如,p(w,x,y,z),其中三维向量x,y,z表示旋转轴,w表示旋转角度。四元数可以理解为上述轴角的进化,总体上,其仍然采用三维向量表示旋转轴,并由一个角度分量来表示绕该轴的旋转。四元数的表达方式是:
或其中,i2+j2+k2=-1.(2)
其中,x,y,z表示旋转轴向量,θ表示旋转角度。因此上述公式(1)表示绕旋转轴(x,y,x)旋转θ角(右手法则的旋转)。
因此,本领域技术人员应当理解的是,上文示例性示出的第一数据A(A1,A2,A3,A4)所代表的含义与上文公式(1)的含义相同,或者可以通过预定的公式变换来将第一数据A的四个数据项(即A1,A2,A3,A4)转换成上文公式(1)所代表的θ,x,y,z的表达方式,从而更直观地获知旋转轴和旋转角。此外,由于本发明所描述的校准过程所涉及的数据运算,通常由系统内置的处理器或芯片完成,中间的数据内容及其具体运算过程并不需要用户介入,因此这里的第一数据和下文描述的校准所需的其它数据,并不需要用户知晓其四元数具体内容。此处通过A(A1,A2,A3,A4)是为了描述和说明的方便。
本领域技术人员应注意的是,上文所述的第一数据以及下文涉及四元数的各项数据均为单位四元数,即||p||=1。
本领域技术人员应知晓的是,上文所述的第一数据、下文所述的第二数据、第三数据,以及本发明校准过程中所涉及的其它中间数据,在生成之后可以存储在预定存储单元中。所述预定存储单元可以是所述姿态测量捕捉分析系统内部的存储单元,也可以是所述姿态测量捕捉分析系统的外部存储单元。由于存储单元和存储方法较为公知,因此本发明对此不作限定。
所述第二状态经过进一步调整动作之后,所述姿态传感器所处的状态。这里将该状态命名为第二状态是为了与上文所述的第一状态以及下文的其它状态进行区分。本领域技术人员应注意的是,为了计算校准四元数从而实现本发明所描述的校准过程,需要利用不同的数据来进行校准计算,即利用上文所述的第一数据、第二数据以及下文所述的第三数据来进行计算,因此,这三个数据应当是不同的,也就是说,所述第二状态应与所述第一状态不同,所述第三状态与所述第一状态也不同,所述第二状态与所述第三状态也不同。
第二状态的“调整”操作可能与上文第一状态的“调整”操作略有不同。后者更侧重于被动的方式,例如,将所述姿态传感器固定好之后等待一段时间使其在空间中处于稳定状态,并且所述第一状态通常可以是已知的或预定的,例如出厂设置的初始状态;前者更侧重于主动的方式,例如,携带所述姿态传感器的用户通过转动身体或扭动关节等方式来改变所述姿态传感器在空间中的位置等,并且所述第二状态是未知的或随意的,例如用户扭动关节的方向、幅度等的不同均会造成所述第二状态的不同。
所述第二数据是在所述姿态传感器处于所述第二状态时所获取的第二坐标系中的数据。与上文所述的第一数据相似,优选地,所述第二数据是四元数数据,表示为B(B1,B2,B3,B4)。关于第二数据的四元数的含义说明,参见上文关于第一数据的描述部分。
优选地,所述第二状态是将所述第一状态下的所述姿态传感器绕所述第一坐标系的第一预定坐标轴旋转一第一预定角度而得到的状态。
具体而言,在该优选实施例中,在前述描述中,所述姿态传感器已经被安装或固定至肘关节,并且在所述第一状态下获得第一数据。此时,人体将该肘关节绕第一坐标系(即大地坐标系)的第一预定坐标轴旋转一第一预定角度,从而实现所述第二状态,即使所述姿态传感器达到所述第二状态。
优选地,所述第一预定坐标轴是所述大地坐标系的Z轴。考虑到人体在自然站立时,躯干与大地坐标系的Z轴重合,因此通常用户只需要转动躯干,即可实现将已被固定至关节处的所述姿态传感器绕大地坐标系的Z轴旋转。
虽然上文示例性示出了所述第一预定坐标轴的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,尤其是下文获取第三数据的原理,来综合考量所述第一预定坐标轴的选择,只要能够实现本发明的原理即可。
优选地,所述第一预定角度是60度。虽然上文示例性示出了所述第一预定角度的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,来选择适合人体实际操作的角度,只要能够实现本发明的原理即可。这里的优选实施例示出的角度仅是为了说明技术原理的需要,并不意在对本发明的范围进行限制。
优选地,所述第一预定角度小于90度。将第一预定角度设置为小于90度,一方面是基于人体工程学考虑,即通常人体关节的转动的幅度范畴;另一方面是出于减少运算误差的考虑。虽然上文将所述第一预定角度设置成小于90度,然而本发明并不限于此,本领域技术人员可以根据本发明的原理及实际应用情况对所述第一预定角度进行选择性设置,只要能够实现本发明的原理即可。
第三状态的调整与上文所述的第二状态的调整相似,即,两者均是通过用户转动身体或扭动关节等方式来实现所述姿态传感器的位置、倾角等变换。所不同的是,经过前者的“调整”之后所述姿态传感器所处的状态(即所述第三状态)应当与经过后者的“调整”之后所述姿态传感器所述的状态(即所述第二状态)不同。并且,考虑到本发明的校准原理,所述第二状态与所述第三状态两者之间的差别应当满足下文所述校准四元数的运算需要。下文将结合具体实施例对所述第三状态进行详细说明。
所述第三数据是在所述姿态传感器处于所述第三状态时所获取的第二坐标系中的数据。与上文所述的第一数据和第二数据相似,优选地,所述第三数据是四元数数据,表示为C(C1,C2,C3,C4)。关于第三数据的四元数的含义说明,参见上文关于第一数据的描述部分。
优选地,所述第三状态是将所述第一状态下的所述姿态传感器绕所述第一坐标系的第二预定坐标轴旋转一第二预定角度而得到的状态。
具体而言,在该优选实施例中,在前述步骤中,所述姿态传感器已经被安装或固定至肘关节,并且在所述第一状态下获得第一数据。此时,人体将该肘关节绕第一坐标系(即大地坐标系)的第二预定坐标轴旋转一第二预定角度,从而实现所述第三状态,即,使所述姿态传感器达到所述第三状态。
本领域技术人员应注意的是,为了满足下文校准四元数计算步骤的运算需要,这里的第二预定坐标轴与上文所述的第一预定坐标轴应当是不同的坐标轴。例如,如果第一预定坐标轴是大地坐标系的Z轴,则第二预定坐标轴可以是大地坐标系的X轴或Y轴;如果第一预定坐标轴是大地坐标系的X轴,则第二预定坐标轴可以是大地坐标系的Y轴或Z轴;如果第一预定坐标轴是大地坐标系的Y轴,则第二预定坐标轴可以是大地坐标系的X轴或Z轴。
优选地,在上文所述的第一预定坐标轴是所述大地坐标系的Z轴的情形中,所述第二预定坐标轴是所述大地坐标系的X轴。在该优选实施例中,用户首先需要知晓大地坐标系的X轴方位,让后通过转动躯体、扭动关节、转动与关节所在的部分身体来实现所述姿态传感器绕大地坐标系的X轴转动。
虽然上文示例性示出了以Z轴作为第一预定坐标轴并且以X轴作为第二预定坐标轴的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,尤其是下文旋转矩阵的计算方法,来综合考量第一预定坐标轴和第二预定坐标轴的选择,只要能够实现本发明的原理即可。
优选地,所述第二预定角度是60度。虽然上文示例性示出了所述第二预定角度的实例,然而本发明并不限于此。本领域技术人员可以根据本发明的计算原理,来选择适合人体实际操作的角度,只要能够实现本发明的原理即可。这里的优选实施例示出的角度仅是为了说明技术原理的需要,并不意在对本发明的范围进行限制。
优选地,所述第二预定角度小于90度。将第二预定角度设置为小于90度,一方面是基于人体工程学考虑,即通常人体关节的转动的幅度范畴;另一方面是出于减少运算误差的考虑。虽然上文将所述第二预定角度设置成小于90度,然而本发明并不限于此,本领域技术人员可以根据本发明的原理及实际应用情况对所述第二预定角度进行选择性设置,只要能够实现本发明的原理即可。
值得一提的是,为了便于用户对所述姿态传感器的“调整”操作,在上文所述的第一状态中,宜使肘关节所在的手臂与大地坐标系中的X轴相重合。通常而言,相对于大地坐标系,绕X轴的旋转称为横滚,绕Y轴的旋转称为俯仰,绕Z轴的旋转称为航向。将肘关节所在的手臂与X轴重合,可以直接以横滚的方式来实现上文优选实施例中所描述的绕X轴的旋转,并且可以直接以航向的方式实现上文优选实施例中所描述的绕Z轴的旋转。
所述姿态传感器相对所述第一坐标系的校准四元数qR可以理解为所述姿态传感器在第二坐标系中的姿态数据与所述姿态传感器在第一坐标系中的姿态数据的转换公式或转换模型。本发明就是要建立这样一个转换公式。当该转换公式建立之后,用户再次改变关节姿态(即调整所述姿态传感器的位置、姿态角等)时,便可通过该转换公式计算得出该关节对应到大地坐标系的姿态,从而获得真正的人体关节姿态或骨骼姿态。
校准四元数计算步骤可以包括如下两个子步骤:首先获得旋转矩阵;然后根据预定公式和所述旋转矩阵获得所述校准四元数。
优选地,获得旋转矩阵的子步骤可以再细分为如下步骤:计算所述第一预定坐标轴的第一旋转分量;计算所述第二预定坐标轴的第二旋转分量;根据所述第一旋转分量和所述第二旋转分量计算所述第一坐标系的第三预定坐标轴的第三旋转分量;根据所述第一旋转分量、所述第二旋转分量和所述第三旋转分量生成所述旋转矩阵。
下面,仍然以上文优选实施例中描述旋转情形为例进行说明,即,第二状态是绕大地坐标系的Z轴旋转得到,并且第三状态是绕大地坐标系的X轴旋转得到。
具体而言,所述第一预定坐标轴的第一旋转分量Tz的计算公式如下:
d1=inv(A)*B (3)
Tz=[d1(1),d1(2),d1(3)] (4)
其中,A是上文所述的第一数据;B是上文所述的第二数据;d1(1),d1(2),d1(3)分别代表四元数d1中的后三位分量。
下面对上文的公式(3)和公式(4)进行解释。
Inv代表四元数求逆。因为本发明所使用的四元数均为单位四元数,因此这里的四元数求逆操作也是共轭操作。例如一个四元数p=[p0,p1,p2,p3],则inv(p)=[p0,-p1,-p2,-p3]。若已知两个四元数p1,p2,则p1相对于p2的旋转可表示为inv(p1)*p2。例如,p1=(0,1,0,0),结合上文关于横滚、俯仰、航向的定义,其代表的姿态为横滚180度,俯仰、航向均为0;p2=(0,0,0,1),其代表的姿态为横滚、俯仰均为0,航向为180度。则d1=inv(p1)*p2=[0,0,1,0],该四元数d1代表旋转操作,其含义是:p1是p2绕Y轴旋转180度得来。
在本优选实施例中,由于第二状态是在第一状态的基础上绕Z轴旋转得到,因此上文公式(3)的运算结果应为d1=(*,0,0,*),其中*的数值由上文所述的第一预定角度决定。因此,上文公式(4)的运算结果应为Tz=[0,0,*],同样,此处的*的数值由上文所述的第一预定角度决定。至此,获得Z轴的第一旋转分量Tz。为了便于描述技术方案,下文将以Tz=[0,0,1]为例进行说明。
与上文第一旋转分量Tz的计算方法相似的,所述第二预定坐标轴(即X轴)的第二旋转分量Tx的计算公式如下:
d2=inv(A)*C (5)
Tx=[d2(1),d2(2),d2(3)] (6)
其中,A是上文所述的第一数据;C是上文所述的第三数据;d2(1),d2(2),d2(3)分别代表四元数d2中的后三位分量。
上文的公式(5)和公式(6)的含义参见上文对公式(3)和公式(4)的说明部分。
在本优选实施例中,由于第三状态是在第一状态的基础上绕X轴旋转得到,因此上文公式(5)的运算结果应为d2=(*,*,0,0),其中*的数值由上文所述的第二预定角度决定。因此,上文公式(6)的运算结果应为Tx=[*,0,0],同样,此处的*的数值由上文所述的第二预定角度决定。至此,获得X轴的第一旋转分量Tx。为了便于描述技术方案,下文将以Tx=[1,0,0]为例进行说明。
在本优选实施例中,第三预定坐标轴的第三旋转分量Ty的计算公式如下:
Ty=cross(Tz,Tx)(7)
下面对上文所述的公式(7)进行说明。
cross代表向量叉乘,也可以用表示。两个相互垂直的向量a,b,叉乘的结果c是另一个向量,其方向符合右手定律,其大小|c|=|a||b|sin(<a,b>)。假定向量a(l,m,n),向量b(o,p,q),则 若Tx,Ty,Tz分别代表对应X轴、Y轴、Z轴的向量,则有:cross(Tx,Ty)=Tz;cross(Ty,Tz)=Tx;cross(Tz,Tx)=Ty.
由此,通过上文公式(7)可以获得第三旋转分量Ty。为了便于描述技术方案,下文将以Ty=[0,1,0]为例进行说明。
进一步,在本优选实施例中,根据所述第一旋转分量Tz、所述第二旋转分量Tx和所述第三旋转分量Ty生成所述旋转矩阵TR。所述旋转矩阵TR公式如下:
其中,T11,T12,T13分别对第二旋转分量Tx中的三个分量;T21,T22,T23分别对第三旋转分量Ty中的三个分量;T31,T32,T33分别对第一旋转分量Tz中的三个分量。至此,获得所述旋转矩阵TR。
优选地,根据所述旋转矩阵获得所述校准四元数的所述预定公式如下:
解上述各个方程即可以得到q0,q1,q2,q3,其中q0,q1,q2,q3分别对应所述校准四元数中的四个分量,即qR=[q0,q1,q2,q3]。至此,获得所述校准四元数。
虽然上文示例性示出了根据所述旋转矩阵获得所述校准四元数的预定公式的实例,然而本发明并不限于此。在四维变换算法领域,存在多种三维旋转矩阵与四元数的相互转换方法,本领域技术人员可以根据本发明的原理及实际应用情况,选择适当的转换方法来生成校准四元数。
根据上文所获得的校准四元数qR,可以进行进一步的计算。例如,所述姿态传感器处于所述第一状态时的第一数据A对应在大地坐标系中的四元数应为:
Q1=A*qR (10)
优选地,本发明的姿态测量捕捉分析系统还能够:在所述第四状态获取所述姿态传感器的所述第二坐标系中的第四数据,以及根据所述校准四元数和所述第四数据来计算所述第四状态对应的所述第一坐标系中的数据。
仍然以上文所述的优选实施例为例,所述第四状态与所述第二状态相似,即,两者均是通过用户转动身体或扭动关节等方式来实现所述姿态传感器的位置、倾角等变换。所不同的是,所述第二状态的“调整”是有目的的调整,即需要绕着所述第一预定坐标轴(例如Z轴)转动。然而,所述第四状态的“调整”并不限定于绕某个预定坐标轴转动。也就是说,用户可以随意转动所述姿态传感器所固定的关节,从而使所述姿态传感器处于任意随机的状态。由于通过上文已经获得了校准四元数,所以此后用户即可以随意转动身体,以便所述姿态测量捕捉分析系统能够根据所述校准四元数获得相对于大地坐标系的人体关节姿态或人体骨骼姿态。
假定,在第四状态获取的第四数据是四元数qx。则根据校准四元数qR进行计算获得所述第四数据在大地坐标系(即所述第一坐标系)中的四元数为:
Qx=qx*qR (11)
综合上文所述的公式(10)和公式(11)即可计算得出经过用户随意移动而获得的第四数据相对于第一状态的第一数据A在大地坐标系中的姿态应为:
D=inv(Q1)*Qx (12)
其中,D即为相对于大地坐标系该关节旋转的真实姿态角度四元数。
需要说明的是,本说明书中所使用的术语仅出于描述特定实施方式的目的,而非意在对本发明进行限制。除非上下文另外明确指出,否则如本文中所使用的单数形式的“一”、“一个”和“该”也意在包括复数形式。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域技术人员应该理解的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,但本领域的技术人员可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求书的范围。
Claims (12)
1.一种计算方法,用于姿态测量捕捉分析系统,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态测量捕捉分析系统包括预定传感器,所述预定传感器具有第二坐标系,所述计算方法包括:
调整所述预定传感器至第一状态,并在所述第一状态获取所述预定传感器的所述第二坐标系中的第一数据;
调整所述预定传感器至第二状态,并在所述第二状态获取所述预定传感器的所述第二坐标系中的第二数据;
调整所述预定传感器至所述第一状态;
调整所述预定传感器至第三状态,并在所述第三状态获取所述预定传感器的所述第二坐标系中的第三数据;以及
计算所述预定传感器相对所述第一坐标系的校准四元数。
2.根据权利要求1所述的计算方法,其中,
所述第二状态是将所述第一状态下的所述预定传感器绕所述第一坐标系的第一预定坐标轴旋转一第一预定角度而得到的状态。
3.根据权利要求1所述的计算方法,其中,
所述第三状态是将所述第一状态下的所述预定传感器绕所述第一坐标系的第二预定坐标轴旋转一第二预定角度而得到的状态。
4.根据权利要求1至3中任意一项所述的计算方法,其中,所述计算所述预定传感器相对所述第一坐标系的校准四元数包括:
获得旋转矩阵;以及
根据预定公式和所述旋转矩阵获得所述校准四元数。
5.根据权利要求4所述的计算方法,其中,所述获得旋转矩阵包括:
计算所述第一预定坐标轴的第一旋转分量;
计算所述第二预定坐标轴的第二旋转分量;
根据所述第一旋转分量和所述第二旋转分量计算所述第一坐标系的第三预定坐标轴的第三旋转分量;以及
根据所述第一旋转分量、所述第二旋转分量和所述第三旋转分量生成所述旋转矩阵。
6.根据权利要求1所述的计算方法,还包括:
调整所述预定传感器至第四状态,并在所述第四状态获取所述预定传感器的所述第二坐标系中的第四数据;以及
根据所述校准四元数和所述第四数据来计算所述第四状态对应的所述第一坐标系中的数据。
7.一种姿态测量捕捉分析系统,所述姿态测量捕捉分析系统具有第一坐标系,所述姿态测量捕捉分析系统包括:
预定传感器,所述预定传感器具有第二坐标系,其中,
在所述第一状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第一数据;
在所述第二状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第二数据;
在所述第三状态,所述姿态测量捕捉分析系统能够获取所述预定传感器的所述第二坐标系中的第三数据;以及
所述姿态测量捕捉分析系统能够计算所述预定传感器相对所述第一坐标系的校准四元数。
8.根据权利要求7所述的姿态测量捕捉分析系统,其中,
所述第二状态是将所述第一状态下的所述预定传感器绕所述第一坐标系的第一预定坐标轴旋转一第一预定角度而得到的状态。
9.根据权利要求7所述的姿态测量捕捉分析系统,其中,
所述第三状态是将所述第一状态下的所述预定传感器绕所述第一坐标系的第二预定坐标轴旋转一第二预定角度而得到的状态。
10.根据权利要求7至9中任意一项所述的姿态测量捕捉分析系统,其中,所述计算所述预定传感器相对所述第一坐标系的校准四元数包括:
获得旋转矩阵;以及
根据预定公式和所述旋转矩阵获得所述校准四元数。
11.根据权利要求10所述的姿态测量捕捉分析系统,其中,所述获得旋转矩阵包括:
计算所述第一预定坐标轴的第一旋转分量;
计算所述第二预定坐标轴的第二旋转分量;
根据所述第一旋转分量和所述第二旋转分量计算所述第一坐标系的第三预定坐标轴的第三旋转分量;以及
根据所述第一旋转分量、所述第二旋转分量和所述第三旋转分量生成所述旋转矩阵。
12.根据权利要求7所述的姿态测量捕捉分析系统,其中,所述姿态测量捕捉分析系统还能够
在所述第四状态获取所述预定传感器的所述第二坐标系中的第四数据;以及
根据所述校准四元数和所述第四数据来计算所述第四状态对应的所述第一坐标系中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810123252.1A CN108378854B (zh) | 2018-02-07 | 2018-02-07 | 一种姿态测量捕捉分析系统及其计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810123252.1A CN108378854B (zh) | 2018-02-07 | 2018-02-07 | 一种姿态测量捕捉分析系统及其计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108378854A true CN108378854A (zh) | 2018-08-10 |
CN108378854B CN108378854B (zh) | 2021-10-29 |
Family
ID=63074459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810123252.1A Active CN108378854B (zh) | 2018-02-07 | 2018-02-07 | 一种姿态测量捕捉分析系统及其计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108378854B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110398256A (zh) * | 2019-06-19 | 2019-11-01 | 北京摩高科技有限公司 | 一种人体单一姿态的初始校正方法 |
CN114563741A (zh) * | 2022-01-27 | 2022-05-31 | 西南民族大学 | 磁梯度仪现场校正方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872259A (zh) * | 2010-06-03 | 2010-10-27 | 中国人民解放军第二炮兵工程学院 | 自动录入书写内容的自然交互笔及笔迹检测方法 |
CN103090870A (zh) * | 2013-01-21 | 2013-05-08 | 西北工业大学 | 一种基于mems传感器的航天器姿态测量方法 |
CN103759731A (zh) * | 2014-01-16 | 2014-04-30 | 电子科技大学 | 角速率输入条件下单子样旋转矢量姿态方法 |
CN104182614A (zh) * | 2014-07-25 | 2014-12-03 | 山东建筑大学 | 六自由度机械臂姿态监测系统及方法 |
CN104407709A (zh) * | 2014-12-09 | 2015-03-11 | 北京银河润泰科技有限公司 | 可穿戴设备的穿戴状态的处理方法及装置 |
CN104757976A (zh) * | 2015-04-16 | 2015-07-08 | 大连理工大学 | 一种基于多传感器融合的人体步态分析方法和系统 |
CN106153077A (zh) * | 2016-09-22 | 2016-11-23 | 苏州坦特拉自动化科技有限公司 | 一种用于m‑imu人体运动捕获系统的初始化校准方法 |
CN106296598A (zh) * | 2016-07-29 | 2017-01-04 | 厦门美图之家科技有限公司 | 三维姿态处理方法、系统及拍摄终端 |
CN107247157A (zh) * | 2017-05-10 | 2017-10-13 | 哈尔滨工程大学 | 一种面向大姿态机动的四元数全角域转换欧拉角的获取方法 |
-
2018
- 2018-02-07 CN CN201810123252.1A patent/CN108378854B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872259A (zh) * | 2010-06-03 | 2010-10-27 | 中国人民解放军第二炮兵工程学院 | 自动录入书写内容的自然交互笔及笔迹检测方法 |
CN103090870A (zh) * | 2013-01-21 | 2013-05-08 | 西北工业大学 | 一种基于mems传感器的航天器姿态测量方法 |
CN103759731A (zh) * | 2014-01-16 | 2014-04-30 | 电子科技大学 | 角速率输入条件下单子样旋转矢量姿态方法 |
CN104182614A (zh) * | 2014-07-25 | 2014-12-03 | 山东建筑大学 | 六自由度机械臂姿态监测系统及方法 |
CN104407709A (zh) * | 2014-12-09 | 2015-03-11 | 北京银河润泰科技有限公司 | 可穿戴设备的穿戴状态的处理方法及装置 |
CN104757976A (zh) * | 2015-04-16 | 2015-07-08 | 大连理工大学 | 一种基于多传感器融合的人体步态分析方法和系统 |
CN106296598A (zh) * | 2016-07-29 | 2017-01-04 | 厦门美图之家科技有限公司 | 三维姿态处理方法、系统及拍摄终端 |
CN106153077A (zh) * | 2016-09-22 | 2016-11-23 | 苏州坦特拉自动化科技有限公司 | 一种用于m‑imu人体运动捕获系统的初始化校准方法 |
CN107247157A (zh) * | 2017-05-10 | 2017-10-13 | 哈尔滨工程大学 | 一种面向大姿态机动的四元数全角域转换欧拉角的获取方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110398256A (zh) * | 2019-06-19 | 2019-11-01 | 北京摩高科技有限公司 | 一种人体单一姿态的初始校正方法 |
CN110398256B (zh) * | 2019-06-19 | 2021-12-03 | 北京摩高科技有限公司 | 一种人体单一姿态的初始校正方法 |
CN114563741A (zh) * | 2022-01-27 | 2022-05-31 | 西南民族大学 | 磁梯度仪现场校正方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108378854B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108939512B (zh) | 一种基于穿戴式传感器的游泳姿态测量方法 | |
Bachmann et al. | Inertial and magnetic tracking of limb segment orientation for inserting humans into synthetic environments | |
EP2991592B1 (en) | Coordinated control for an arm prosthesis | |
Roetenberg et al. | Estimating body segment orientation by applying inertial and magnetic sensing near ferromagnetic materials | |
US20180132761A1 (en) | Use of epidermal electronic devices to measure orientation | |
KR101778807B1 (ko) | 데이터 융합을 이용하는 모션 캡처 포인터 | |
Bachmann et al. | Design and implementation of MARG sensors for 3-DOF orientation measurement of rigid bodies | |
Hermanis et al. | Acceleration and magnetic sensor network for shape sensing | |
EP2141632A2 (en) | Motion capture apparatus and method | |
EP2461748A2 (en) | Inertial sensor kinematic coupling | |
CN108378854A (zh) | 计算方法和姿态测量捕捉分析系统 | |
CN102245100A (zh) | 图形表示 | |
Musić et al. | Model based inertial sensing of human body motion kinematics in sit-to-stand movement | |
CN106777777A (zh) | 一种船舶仿真方法及系统 | |
JP2015102512A (ja) | 磁場発生装置およびオフセット算出方法 | |
WO2014114967A1 (en) | Self-calibrating motion capture system | |
CN103837157A (zh) | 一种运动测量方法及装置 | |
CN110609621B (zh) | 姿态标定方法及基于微传感器的人体运动捕获系统 | |
CN109000633A (zh) | 基于异构数据融合的人体姿态动作捕捉算法设计 | |
CN108801250B (zh) | 基于水下机器人的实时姿态获取方法及装置 | |
KR102150172B1 (ko) | 상대적 움직임에 기반한 동작 인식 방법 및 장치 | |
CN110411481A (zh) | 陀螺仪不正交误差的校准方法及校准系统 | |
CN110398256A (zh) | 一种人体单一姿态的初始校正方法 | |
CN108874146B (zh) | 一种应用于虚拟现实系统中的运动人体质心位移计算方法 | |
CN109003300B (zh) | 一种基于人体质心位移计算算法的虚拟现实系统 |
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 |