本发明涉及人体关节参数估计方法。
背景技术:
:随着科技的发展,人体实时运动捕获系统在实际生活中得到了广泛的应用。在人机交互、动画制作、医疗康复、运动训练和医疗机器人等领域运动捕获系统发挥着其重要的作用。一个精确的人体骨架模型是分析和重构人体运动不可或缺的,而人体骨架参数又是骨架模型的基础。一方面人体运动3维模型的重构需要精确的人体骨架参数作为基础。另一方面基于IMU的室内定位算法也必须在已知人体骨架参数的前提下结合前向运动学来完成室内定位。同时在已有运动捕获系统的基础上结合人体骨架参数可以对人附加与其适配的外骨骼,帮助其运动,可以给肢体有障碍的病人使用来帮助他们日常活动也可以安装在士兵身上加强其行军负重能力。在人机工程领域,人体骨架的参数作为十分重要的参数也被作为工作间、设备,家具和服装设计的重要参考,通过对用户骨架参数进行分析再结合用户体验等相关理论最终确定产品的尺寸等参数从而提高产品竞争力。因为人体关节旋转中心位于皮肤下面,所以测量难度很大,而人体参数的测量方法普遍比较繁琐且成本比较高,所以迫切需求一种简单有效的人体关节参数测量方法。本发明提出一种基于IMU的便捷式人体肢体长度即关节参数的估计方法。传统意义上使用多元回归分析来构造人体测量参数之间的关系。统计学中使用统计手段来获得人体肢体长度,比如通过人体身高来大致估计肢体长度。目前采用自适应模糊神经系统基于统计数据来对人体测量参数进行估计。人体关节参数的测量是人体运动捕获中关键的环节。关节参数测量方法通常可以被划分为手工测量、利用医学设备进行测量和光电测量三种方式。手工测量方式需要在相应的专家指导下进行,并且对其进行重复测量很难得到相同的结果,数据中不仅包含了系统误差还包括了由操作人员带来的偶然误差。皮肤以及肌肉软组织对于结果的精确度也会造成比较大的影响。利用医学成像技术来测量人体关节参数也是一种关节参数测量方法。利用伽马射线、CT、双能X射线测定法以及核磁共振成像技术来进行关节参数测量高效并且测量精度也高。但这些技术的成本都是比较高的,耗时也比较久,在日常生活中不是那么便捷,并且其中一些射线也会对人体健康造成一定得影响。光电式运动捕获系统通过测定安装在肢体和关节处的标记点的位置来测量人体肢体长度。这些标记点必须严格基于人体解剖学来进行安放。大量的标记点和不断传送的数据导致应用光电式运动捕获来进行人体关节参数估计会耗费很长的时间并且很复杂。一种3D的基于光图像的扫描仪被发明出来用于扫描人体表面任何经过后续的处理来得到人体的关节参数。该装置在人体模型以及真人上都进行过实验,并且结果精确度挺高。但是该系统的复杂程度难以想象,所以对于个人用于测量全身的关节参数经济和时间成本都是相当之高的。随着IMU体积和价格的下降,测量精度和可靠性不断的提升,在运动捕获领域受到了大家的青睐。利用IMU进行运动捕获存在的最大的问题就是IMU只能测量人体肢体的方位、加速度以及角速率,用其很好得去追踪人体肢体的位置还是一个没有解决的问题。目前市面上的一些运动捕获设备主要都是通过其他外扩的设备去对人体关节参数进行测量的。受到机器人运动模型校正方法的启发,美国科学家提出了一种基于足迹模板的人体关节参数估计的方法。足迹模板指的是通过将双脚和事先预设好的脚印重合从而得出人体末端肢体的位置的方法。由IMU测得各个关节的关节角然后加上已知人体脚的位置,可以建立前向运动学方程,从而解算出人体各个肢体的长度。但是为了获得比较精确的关节角,必须事先对传感器进行初始化校正工作并且每个人的脚的大小不一致对应的足迹模板也不一样,所以该方法在日常生活中不太适用。技术实现要素:本发明是为了解决现有技术存在精度低、价格昂贵、操作不便捷及耗时长等问题,而提出的基于IMU的便捷式人体关节参数估计方法。基于IMU的便捷式人体关节参数估计方法按以下步骤实现:步骤一:把人体手臂等效成由上臂、前臂和手掌三个刚体通过肘关节和腕关节铰接而成的,并定义坐标系;步骤二:根据步骤一通过人体运动学分析通过o1在的位置矢量,得到的二阶微分形式其中所述为参考坐标系原点e到肘关节旋转点o1的位置矢量;步骤三:根据步骤一通过人体运动学分析通过o1在的位置矢量,得到的二阶微分形式步骤四:根据步骤二和步骤三得到和由球关节引起的运动学约束关系式,其中所述表示从上臂传感器坐标系坐标原点a指向肘关节旋转点的相对的位置矢量,表示从前臂传感器坐标系坐标原点b指向肘关节旋转点的相对的位置矢量;步骤五:根据步骤四建立线性方程组并用最小二乘法对方程组求解,得到和步骤六:根据o2在的位置矢量和o2在的位置矢量,重新执行步骤二至步骤五,得到和的值;其中所述表示从前臂传感器坐标系坐标原点b指向腕关节旋转点o2相对的位置矢量,表示从手掌传感器坐标系坐标原点c指向腕关节旋转点的相对的位置矢量;步骤七:根据步骤五得到的和计算出小臂的长度。发明效果:(1)精度高,误差小于0.5厘米相对于传统手工测量方式,测量误差为手工测量的三分之一。(2)测量方式简单,耗时短。只需穿戴IMU传感器做特定动作即可由单片机实时计算得到人体关节参数。而通过医疗器械测量人体关节参数的方法需要对人体进行扫描和后续分析耗时为一周,相比较而言大大缩短了测量时间和操作难易度。(3)便携性好。因为采用微型传感器单元对人体关节参数进行估计。所以只需要佩戴IMU即可进行测量,装置小巧便携可以在日常生活中应用。(4)价格低廉。采用医疗器械来进行关节参数测量,器械费用在20万元以上,而采用IMU进行全身人体关节参数测量只需要花费200元。针对现有技术中的问题,本发明提出了一种基于IMU传感器但简单有效的人体关节参数测量方法。这种方法利用了人体关节产生的运动学约束,不需要了解任何人体解剖学的相关知识将传感器进行穿戴即可测量得到人体关节参数。对于使用者来说复杂程度低。附图说明图1为人体手臂示意图;图2为上臂参数估计示意图;图3为简化人体骨架模型图;图4为参数估计算法流程示意图;图5为前臂传感器到肘关节位置的估计误差图;图6为前臂传感器到腕关节位置的估计误差图。具体实施方式具体实施方式一:如图4所示,基于IMU的便捷式人体关节参数估计方法包括以下步骤:忽略人体关节的平移运动,只考虑其旋转。通常可以把人体看作是由屈戍关节和球关节铰接而成的多刚体结构。通过在每个肢体上佩戴IMU传感器模块,然后结合传感器融合算法就可以得到该肢体的方向、线性加速度和角速率信息。然后计算得到人体关节参数信息。简化人体骨架模型如图3所示。步骤一:把人体手臂等效成由上臂、前臂和手掌三个刚体通过肘关节和腕关节铰接而成的,并定义坐标系;步骤二:根据步骤一通过人体运动学分析通过o1在的位置矢量,得到的二阶微分形式其中所述为参考坐标系原点e到肘关节旋转点o1的位置矢量;步骤三:根据步骤一通过人体运动学分析通过o1在的位置矢量,得到的二阶微分形式步骤四:根据步骤二和步骤三得到和由球关节引起的运动学约束关系式,其中所述表示从上臂传感器坐标系坐标原点a指向肘关节旋转点的相对的位置矢量,表示从前臂传感器坐标系坐标原点b指向肘关节旋转点的相对的位置矢量;步骤五:根据步骤四建立线性方程组并用最小二乘法对方程组求解,得到和步骤六:根据o2在的位置矢量和o2在的位置矢量,重新执行步骤二至步骤五(即步骤六一至步骤六四),得到和的值;其中所述表示从前臂传感器坐标系坐标原点b指向腕关节旋转点o2相对的位置矢量,表示从手掌传感器坐标系坐标原点c指向腕关节旋转点的相对的位置矢量;步骤六一:通过人体运动学分析通过o2在的位置矢量,得到的二阶微分形式其中所述为参考坐标系原点e到腕关节旋转点o2的位置矢量;步骤六二:通过人体运动学分析通过o2在的位置矢量,得到的二阶微分形式步骤六三:根据步骤六一和步骤六二得到和由球关节引起的运动学约束关系式,其中所述表示从前臂传感器坐标系坐标原点b指向腕关节旋转点的相对位置的矢量,表示从手掌传感器坐标系坐标原点c指向腕关节旋转点的相对位置的矢量;步骤六四:根据步骤六三得到线性方程组并用最小二乘法对方程组求解,得到和步骤七:根据步骤五计算出的和得到小臂的长度。为了解决现有人体关节参数测量中精度低、场地限制、经济成本和时间成本较高以及操作不便捷等问题。本发明提供了一种便捷、高精度的人体关节参数测量方法。通过在人体各肢体上安装IMU传感器,测得其方位、线性加速度和角速率信息,再结合本发明提出的算法即可测得各个肢体的参数信息。具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中定义坐标系具体为:用A、B、C分别来表示上臂、前臂和手掌,如图1所示,定义o1、o2为肘关节和腕关节的旋转中心;将IMU传感器以任意方向分别安装在上臂、前臂和手掌上,在上臂、前臂和手掌IMU传感器上分别建立上臂传感器坐标系前臂传感器坐标系和手掌传感器坐标系a、b、c为其相应坐标系的原点,为固定的参考坐标系。IMU传感器可以分别安装在上臂、前臂和手掌的任意位置。其它步骤及参数与具体实施方式一相同。具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二得到的二阶微分形式的具体为:通过人体运动学分析得到:p··o1e=Rea(aaa+(ω^eaaω^eaa+ω·^eaa)po1a)---(1)]]>其中Rea为和的相对旋转矩阵,为上臂传感器坐标系原点在其坐标系下的线性加速度;表示标准矢量的向量积:ω^eaa=0-ωzaωyaωza0-ωxa-ωyaωxa0]]>分别为上臂传感器测得的角速度在x、y、z方向上的分量;其中x、y、z是由IMU传感器内部陀螺仪安装位置决定的。由其三阶近似求得:ω·eaa(k)≈ωeaa(k-2Δt)-8ωeaa(k-Δt)+8ωeaa(k-Δt)-ωeaa(k-2Δt)12Δt]]>表示k时刻测量得到的大臂传感器坐标系相对于参考坐标系的角加速度。式中(k-2△t)和(k-△t)表示测量的时刻。△t为两次测量之间的时间差,这里应保证△t较小。其它步骤及参数与具体实施方式一或二相同。具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中得到的二阶微分形式具体为:p··o1e=Reb(abb+(ω^ebbω^ebb+ω·^ebb)po1b)---(2)]]>其中Reb为和的相对旋转矩阵,为前臂传感器坐标系原点在其坐标系下的线性加速度;表示标准矢量的向量积:ω^ebb=0-ωzbωybωzb0-ωxb-ωybωxb0]]>分别为上臂传感器测得的角速度在x、y、z方向上的分量;由其三阶近似求得:ω·ebb(k)≈ωebb(k-2Δt)-8ωebb(k-Δt)+8ωebb(k-Δt)-ωebb(k-2Δt)12Δt.]]>其它步骤及参数与具体实施方式一至三之一相同。具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四根据步骤二和步骤三得到和由球关节引起的运动学约束关系式具体为:联立公式(1)和公式(2)得到约束方程:Rea(aaa+(ω^eaaω^eaa+ω·^eaa)po1a)=Reb(abb+(ω^ebbω^ebb+ω·^ebb)po1b)---(3)]]>整理后得:(ω^eaaω^eaa+ω·^eaa)po1a-Rab(ω^ebbω^ebb+ω·^ebb)po1b=Rababb-aaa---(4)]]>其中Rab为和的相对旋转矩阵,角速率和线性加速度从IMU传感器直接测得,Rea、Reb由IMU传感器测得的数据进行数据融合得到。公式(4)描述了关于和由球关节引起的运动学约束。其它步骤及参数与具体实施方式一至四之一相同。具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述根据步骤五得到线性方程组并用最小二乘法对方程组求解,得到和的具体过程为:将公式(4)简化为:Ao1xo1=bo1---(5)]]>其中Ao1=[ω^eaaω^eaa+ω·^eaaRab(ω^ebbω^ebb+ω·^ebb)]]]>xo1=[po1apo1b]]]>bo1=Rababb-aaa]]>通过多次测量得到线性方程组:A~o1xo1=b~o1---(6)]]>假设我们采集到的N组数据,从传感器测得,则由传感器得到的数据经过计算得到;若的列向量是非线性相关的,则位置矢量由最小二乘法估计得到;由线性最小二乘法可知,当方程(6)为超定方程(方程个数多于未知数个数)时,方程没有解,此时选取使其残差平方和函数的值最小;xo1^=argmin(S(xo1))]]>对两端取微分求其最小值;A~o1TA~o1xo1^=A~o1Tb~o1]]>若为非奇异矩阵,则有唯一解:xo1^=(A~o1TA~o1)-1A~o1Tb~o1---(7)]]>由上可知该算法采用最小二乘法可以利用所有采集的数据来进行离线的运算,当采集的数据越多,那么最后估计得到的人体参数也会越准确。其它步骤及参数与具体实施方式一至五之一相同。具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述步骤七中得到小臂的长度的具体过程为:如图2所示,在下o1相对o2的位置矢量:po1o2=po1b-po2b---(8)]]>所以小臂的长度即为的模:lb=|po1o2|---(9).]]>其它步骤及参数与具体实施方式一至六之一相同。实施例一:为了获得人体参数数据,需要通过传感器对人体各个肢体的运动和姿态信息进行采集,传感器使用3轴加速度计、3轴陀螺仪和3轴磁力计测量人体各肢体的加速度、角速率和地磁信息。理论上将传感器安放于皮肤下面的骨骼处获得的数据最为精确,但是由于安装方式的局限,只能将传感器安放于人体皮肤表面来近似获取人体骨骼的运动和姿态信息。考虑到人体软组织的影响,皮肤和骨骼存在一个相对的运动,测量会存在一定的误差。研究表明传感器的安放应尽可能减少软组织带来的影响。考虑上述原则,在人体直立双臂自然下垂时将大臂的传感器安放于肱三头肌与肘关节连接处的肌腱位置,小臂传感器安放于小臂背部,手掌的传感器安放于手背中心处。安放好传感器后保持上半身直立,大臂围绕肩关节做多周半径不同的变速圆周运动,同时小臂和手掌做任意方向和速度的运动。传感器测得大臂、小臂和手掌的多组加速度、角速率和地磁信息,在对角速率和加速度进行低通滤波后结合地磁信息采用卡尔曼滤波算法估计出传感器的旋转矩阵Rea、Reb、Rec,结合角速率采用三阶近似方法得到角加速度信息然后在得到的数据中进行选取,最后运用式(1.1)的运动学方程得到关节约束对其进行整理后采用最小二乘法估计得到传感器b的坐标原点相对于腕关节和肘关节的向量坐标和然后计算得到腕关节相对于肘关节旋转中心的向量只需对其求模,即可得到人体小臂的长度。最后通过使用IMU传感器测得人体各肢体的姿态和运动信息,再结合本文提出的运动学约束,通过约束方程和最小二乘估计得到传感器相对于关节旋转点的向量,通过多个方程组合得到两个相邻关节旋转点之间的长度,采用简单便捷且精度高的方法很巧妙解决了人体关节旋转点隐蔽造成的人体肢体长度测量困难的问题。采用本发明方法对一个试验对象的大臂和前臂进行测量,得到前臂传感器坐标系原点b到肘关节旋转点o1和腕关节旋转点o2的位置矢量然后通过采用医疗器械对试验对象进行关节参数测量并将其作为基准来进行误差分析。图5和图6分别为位置矢量和在三个轴向的分量与基准之间的误差随采样频率变化曲线。上臂和前臂长度的测量结果和误差如表1所示:表1当前第1页1 2 3