低成本MEMS磁力计校正方法研究
2018-01-19CHOENamcholSOYongguk
CHOE Namchol, 赵 红 宇, 仇 森, SO Yongguk
( 1.大连理工大学 电子信息与电气工程学部, 辽宁 大连 116024;2.金策工业综合大学 电子工学系, 朝鲜 平壤 1001 )
0 引 言
近年来,人体运动分析系统已广泛应用于医疗康复、体育训练以及人机交互等领域[1-3].其中,基于MIMU的运动捕捉技术,由于成本低且对室内和室外环境均具有良好的适应性,成为了近年来的一大研究热点.然而,由于MIMU的精度不高,许多科研人员致力于提高基于MIMU的运动捕捉系统的准确性.其中传感器的初始对准是一个重要的问题,如果不进行初始对准,便无法计算每个身体部位的姿态.传感器的初始对准旨在解决传感器坐标系与身体坐标系精确一致的问题,即求解每个身体部位坐标系和传感器坐标系之间的旋转矩阵.一些研究人员在分析人体行走步态时,使用MIMU中的加速度计和陀螺仪进行了传感器的初始对准,该对准过程需要人体下肢进行旋转运动[4-6];另一些研究人员在分析人体上身运动时,也需要通过人体上身肢体的旋转运动来进行传感器的初始对准[7-9].以上初始对准方法均利用了MIMU中的加速度计和陀螺仪,导致在旋转过程中身体部位的任何微小或异常运动都将影响初始对准的精度.因此,文献[10]提出了一种易于操作的初始对准方法,即利用MIMU中的加速度计和磁力计来进行对准,由于该方法无需任何身体部位的旋转,只需保持直立站姿即可进行初始对准,与上述方法有着显著的差异,使用方便.
实际使用过程中,MIMU中MEMS磁力计的测量精度,直接关系到动作捕捉的精确性.由于低成本MEMS磁力计的测量误差较大,在系统开始对准工作之前,需要对磁力计进行误差校正,且在系统开始捕捉工作之后,也需要利用磁力计的测量数据.然而,磁力计误差校正的问题,在文献[10]中并未提及.通常情况下,一套运动捕捉系统有7至十几个MIMU,在进行磁力计校正时,需要考虑校正工作的难易程度和时间成本.因此,在利用磁力计进行初始对准时,较快、较准确地进行磁力计误差校正是亟待解决的关键问题之一.
在惯性导航领域,磁力计的使用非常普遍,科研人员提出了多种用于解决磁力计校正问题的方法.其中,经典的校正方法是旋转法(swing algorithm,SA)[11],该方法虽然实用且易于实现,但需要提供外部航向参考且始终保持平台水平.文献[12]采用了非线性最小二乘法来估计磁力计的误差参数;文献[13]采用了迭代批处理最小二乘法;文献[14-15]采用了自适应最小二乘法,为磁力计误差校正提供了一种通用的解决方案;文献[16]提出未知噪声方差的自适应最小二乘法,该算法可以在存在噪声的环境中精确地估计校正参数;文献[17]采用了一种基于迭代极大似然估计的几何方法,进行了磁力计测量值的椭球拟合;文献[18]将最小二乘估计算法用于解决磁力计的椭球拟合问题,以提供一种精确且通用的拟合方法.以上方法通过误差校正均可以提高磁力计测量的准确性,但上述研究均只考虑了提高磁力计校正精度的问题,并没有考虑校正过程中具体的旋转形式和旋转次数.且上述研究中只利用了一个传感器,校正时间的相关问题并没有引起研究人员的重视.此外,所采用的校正算法需要足够的样本量,需要通过多次旋转磁力计采集大量的数据后才能完成磁力计的校正工作.如此,一整套动作捕捉系统需要的校正时间会很长.因此,本文基于两种可靠的旋转形式,即常用的八字旋转形式(手机里磁力计的校正形式)和绕各单轴旋转形式,通过多次实验验证,确定MIMU中磁力计的最佳校正方法.
1 磁力计校正方法
1.1 磁力计误差模型
目前,MEMS磁力计的测量误差较大,可分为环境干扰误差和自身误差[19].其中,环境干扰误差包括硬铁和软铁误差,自身误差包括偏置误差、灵敏度误差和非正交误差.
考虑上述误差源,完整的磁力计误差模型如下:
h=EsEn(EsiH+Ehi)+E0+ε
(1)
式中:h=(hXhYhZ)T,是MIMU中磁力计的输出值;H=(HXHYHZ)T,是当地真实的地磁场;Es表示灵敏度误差矩阵;En表示非正交误差矩阵;Esi表示软铁误差矩阵,Ehi表示硬铁误差矢量;E0表示偏置误差矢量;ε表示白噪声.
为了简化式(1),引入变量A和B,得
h=AH+B+ε
(2)
其中A=EsEnEsi,B=EsEnEhi+E0.
1.2 磁力计误差校正
若不存在测量误差和干扰磁场,MIMU中的磁力计测量数据的投影轨迹应是一个球体,其半径等于当地的磁场强度.基于这一理论前提,有
(3)
其中H0为当地的磁场强度(在大连理工大学,北纬38°53′34.72″,东经121°32′12.35″,-49.313 μT).
由于A是一个可逆矩阵,忽略白噪声,方程(2)可表示为
H=A-1(h-B)
(4)
于是,得
(5)
其中M=(A-1)TA-1.
式(5)是椭球方程的广义形式.从式(5)可以看出,在环境干扰误差和自身误差的影响下,磁力计的输出数据位于一个椭球面上.若要校正磁力计,必须计算式(5)中M和B的值,二者可以通过最小二乘法进行椭球拟合得到.
椭球可以用下面给出的一般形式来表示:
a1X2+a2Y2+a3Z2+2a4XY+2a5XZ+
2a6YZ+2a7X+2a8Y+2a9Z+a10=0
(6)
定义
2Xn2Yn2Zn1)T
(7)
θ=(a1a2a3a4a5a6a7a8a9a10)T
(8)
其中ξ为n×10的矩阵,θ为10×1的矢量,n为样本量.
将式(7)、(8)代入式(6)整理得
ξTθ=0
(9)
通过最小二乘法得到椭球方程系数,然后将式(6)变换成广义形式,得
hTDh+(2E)h+F=0
(10)
a9),常数F=a10.
将式(10)进一步变换,得
(h-(-D-1E))=1
(11)
对比式(5)和式(11)可得
(12)
由于M=(A-1)TA-1,可以通过M的奇值分解求取A-1,从而可以利用式(4)完成磁力计的校正.
2 磁力计旋转形式和旋转次数选定评估方法
本文旨在准确地校正磁力计误差,并减少校正时间.磁力计校正需要一定的测量样本,而样本需在磁力计旋转状态下进行采集,所以不能随机地选取校正的操作时间.从统计学角度看,样本量越大,越能反映数据的总体特征.这意味着样本量越大,越可以获得更好的校正结果.然而,动作捕捉系统通常由至少7个(下半身),甚至十几个(全身)MIMU构成.如果每一个磁力计的校正均需要采集大量的样本,则易导致动作捕捉系统的准备工作耗时过长.因此,需要设计适合的磁力计校正方法.如果旋转形式不合适,则有限次旋转所获得的样本并不能反映磁力计测量误差的总体特征.
实际工作中,低成本MEMS磁力计自身具有较大的测量误差,导致旋转形式会影响其校正精度.如1.2节中所述,若求得椭球方程的参数,便可以较准确地校正磁力计误差.图1中所示是把磁力计随机旋转20次以后,基于磁力计测量数据所构建的地磁场椭球拟合模型.从图1可以看到,随机旋转20次以后所获得样本量,可以准确地反映磁力计测量误差的总体特征.
图1 随机旋转20次后得到的椭球拟合模型
令(Xc,Yc,Zc)表示原点坐标,(Xr,Yr,Zr)表示三轴的半径,则拟合后的各椭球参数为(Xc,Yc,Zc)=(30.501 7,1.880 6,35.930 4) μT, (Xr,Yr,Zr)=(37.883 3,36.313 1,35.564 6) μT.
为了较准确地校正磁力计误差并节省校正时间,本文依据磁力计不同旋转过程中所拟合的椭球模型与图1中椭球模型的相似程度,来确定磁力计校正时的最佳旋转形式和旋转次数.由于实验位置固定,可假定所获得的椭球原点和半径值为其实际参考测量值.基于此参考测量值,可利用均方根误差(RMSE,erms)来评估每种旋转形式和旋转次数对磁力计校正结果的影响.
(13)
其中Y是参考测量值,Yi是每次实验的测量值,n是样本量.
3 实验结果与分析
本文实验采用了基于低成本MPU-9250(磁场强度测量范围是±4 800 μT)的数据采集节点,采用的微处理器是STM32L1系列中的STM32L152CBT6芯片,通过nRF24L01+芯片完成传感器数据从采集节点到计算机的无线传输,最后利用Matlab软件进行数据分析.
为了避免磁场干扰的影响,所有实验均在室外进行.一般情况下,通过八字旋转形式,可对智能手机内置的磁力计进行校正.因此,本文首先要确认在基于MPU-9250的动作捕捉系统中,是否可以采用这种八字旋转形式来进行磁力计校正.实验过程中,为了获得稳定的实验结果,各类旋转实验均进行了10次,然后再利用式(13)计算椭球原点和半径的均方根误差.
3.1 八字旋转实验
八字旋转实验流程:首先把磁力计拿出以后,与手机的磁力计校正方法一样按八字模样旋转,每次旋转到开始点,然后增加旋转次数.旋转时获得的磁场强度利用无线传输到计算机,然后处理数据.
图2所示为八字旋转实验时,不同旋转次数下的椭球拟合模型.由图2可知,旋转次数越多,椭球拟合模型越近似图1中的椭球模型.
表1所列为不同旋转次数时,八字旋转以后计算的椭球原点和三轴半径的均方根误差.从表1可以看出,旋转次数为1时,椭球参数的均方根误差很大,特别是原点X坐标的均方根误差为13.439 140 μT、原点Z坐标为10.278 630 μT和Z轴半径为20.634 930 μT.实验结果表明,旋转次数为1时,八字旋转不能准确地校正磁力计.当旋转次数从1逐次增加到5时,均方根误差明显减小.当旋转次数为5时,原点X、Y和Z坐标的均方根误差为(4.600 275,0.759 620,2.558 613) μT,而且X、Y、Z轴的半径均方根误差为(1.188 907,1.494 694,6.715 467) μT.然而,仍然存在个别较大的均方根误差,如Xc和Zr.这说明,旋转次数为5时,也不能准确地校正磁力计.虽然旋转次数可以增加到5次以上,但如果每个传感器都需要5次以上的旋转,那么十几个传感器则需要较长的校正时间,故5次以上的旋转本文并未考虑.因此,本文认为八字旋转不适宜于校正MPU-9250磁力计.
(a) 旋转次数为1
(b) 旋转次数为2
(c) 旋转次数为3
(d) 旋转次数为4
(e) 旋转次数为5
图2 通过八字旋转得到的椭球拟合模型
Fig.2 Ellipsoid fitting model obtained by rotating along a ∞-shape trajectory
表1 通过八字旋转得到的椭球原点和三轴半径的均方根误差
3.2 单轴旋转实验
单轴旋转实验流程:首先把磁力计拿出以后,绕传感器坐标系的3个轴进行旋转.绕各单轴各旋转1次时旋转次数为1,绕各单轴各旋转2次时旋转次数为2.获得的数据传输和处理与八字旋转实验一样.
图3所示为分别绕各单轴进行旋转实验以后的椭球拟合模型.从图3可以看出,旋转次数为1、2和3时的3个椭球模型,均与图1中的椭球模型比较接近.
表2所列为绕各单轴旋转以后计算的椭球原点和三轴半径的均方根误差.本实验与八字旋转实验形成了鲜明的对比,即旋转次数对磁力计的校正结果并无明显影响.结果表明,单轴旋转实验时,不同旋转次数下,椭球原点和半径误差几乎相同.
实验结果表明,单轴旋转形式的校正方法是较稳定的,且旋转次数为1时采集的数据便可以准确地反映图1中的参考磁场.
(a) 旋转次数为1
(b) 旋转次数为2
(c) 旋转次数为3
表2 绕各单轴旋转得到的椭球原点和三轴半径的均方根误差
综上所述,可以确定单轴旋转的校正形式比八字旋转的校正形式更精确且更稳定.
由实验结果推定,可以采用绕各单轴各旋转1次的形式来进行磁力计校正.本文旨在节省多个磁力计的校正时间,因此最终确定将单轴旋转的校正方法引入动作捕捉系统.
4 结 语
在动作捕捉系统中,需要部署的MIMU传感器较多,且把MIMU安装于人体之前,需要一定的时间对磁力计进行校正,因此节省MIMU中磁力计校正的整体时间是最为关键的问题之一,亟需确定一种较快且较准确的校正方法.
本文通过实验手段,在不同旋转形式和旋转次数下,对低成本MEMS磁力计(如MPU-9250)的校正方法进行了对比测试.采用八字旋转5次的校正方法,椭球模型拟合的RMSE值范围是0.759 620~6.715 467 μT;采用单轴旋转1次的校正方法,椭球模型拟合的RMSE值范围是0.378 134~0.550 695 μT.实验结果说明,单轴旋转形式比八字旋转形式更准确,且在保证磁力计校正精度的前提下,仅需要1次的旋转便可以较快地校正磁力计,提高了磁力计校正工作的便捷性和快速性,有利于MIMU传感器在动作捕捉系统中的应用和推广.
[1] 陈 野,王哲龙,李政霖,等. 基于BSN和神经网络的人体日常动作识别方法[J]. 大连理工大学学报, 2013,53(6):893-897.
CHEN Ye, WANG Zhelong, LI Zhenglin,etal. Human daily activity recognition method based on BSN and neural network [J].JournalofDalianUniversityofTechnology, 2013,53(6):893-897. (in Chinese)
[2] 刘 江,曾辽原. 利用混合动作捕捉方法辅助排球运动技术标准化的研究[J]. 北京体育大学学报, 2014,37(5):133-138.
LIU Jiang, ZENG Liaoyuan. Study on hybrid motion capture method for assisting volleyball technique standardization [J].JournalofBeijingSportUniversity, 2014,37(5):133-138. (in Chinese)
[3] WANG Zhelong, QIU Sen, CAO Zhongkai,etal. Quantitative assessment of dual gait analysis based on inertial sensors with body sensor network [J].SensorReview, 2013,33(1):48-56.
[4] HAMDI M, AWAD M I, ABDELHAMEED M M,etal. Lower limb motion tracking using IMU sensor network [C] //Proceedingsofthe7thCairoInternationalBiomedicalEngineeringConference. Giza:IEEE, 2014:28-33.
[5] PALERMO E, ROSSI S, MARINI F,etal. Experimental evaluation of accuracy and repeatability of a novel body-to-sensor calibration procedure for inertial sensor-based gait analysis [J].Measurement, 2014,52(1):145-155.
[6] YUAN Qilong, CHEN I M, LEE Shangping. SLAC:3D localization of human based on kinetic human movement capture [C] //Proceedings-IEEEInternationalConferenceonRoboticsandAutomation. Piscataway:IEEE, 2011:848-853.
[7] RICCI L, FORMICA D, SPARACI L,etal. A new calibration methodology for thorax and upper limbs motion capture in children using magneto and inertial sensors [J].Sensors(Switzerland), 2014,14(1):1057-1072.
[8] LUINGE H J, VELTINK P H, BATEN C T M. Ambulatory measurement of arm orientation [J].JournalofBiomechanics, 2007,40(1):78-85.
[9] TEACHASRISAKSAKUL K, ZHANG Z Q, YANG G Z. In situ sensor-to-segment calibration for whole body motion capture [C] //2015IEEE12thInternationalConferenceonWearableandImplantableBodySensorNetworks. Cambridge: IEEE, 2015:1-5.
[10] MENG X L, ZHANG Z Q, SUN S Y,etal. Biomechanical model-based displacement estimation in micro-sensor motion capture [J].MeasurementScience&Technology, 2012,23(5):55101.
[11] BOWDITCH N.TheAmericanPracticalNavigator[M]. Bethesda: National Imagery and Mapping Agency, 1995.
[12] PANG Hongfei, LI Ji, CHEN Dixiang,etal. Calibration of three-axis fluxgate magnetometers with nonlinear least square method [J].Measurement, 2013,46(4):1600-1606.
[13] GEBRE-EGZIABHER D, ELKAIM G H, POWELL J D,etal. Calibration of strapdown magnetometers in magnetic field domain [J].JournalofAerospaceEngineering, 2006,19(2):87-102.
[14] MARKOVSKY I, KUKUSH A, HUFFEL S V. Consistent least squares fitting of ellipsoids [J].NumerischeMathematik, 2004,98(1):177-194.
[15] VALÉRIE R, AFZAL M H, GÉRARD L. Complete triaxis magnetometer calibration in the magnetic domain [J].JournalofSensors, 2010,2010:967245.
[16] SONG Zhongguo, ZHANG Jinsheng, ZHANG Xuhui,etal. A calibration method of three-axis magnetometer with noise suppression [J].IEEETransactionsonMagnetics, 2014,50(11):6971792.
[17] VASCONCELOS J F, ELKAIM G, SILVESTRE C,etal. Geometric approach to strapdown magnetometer calibration in sensor frame [J].IEEETransactionsonAerospaceandElectronicSystems, 2011,47(2):1293-1306.
[18] KIANI M, POURTAKDOUST S H, SHEIKHY A A. Consistent calibration of magnetometers for nonlinear attitude determination [J].Measurement, 2015,73:180-190.
[19] 龙 礼,张 合. 三轴地磁传感器误差的自适应校正方法[J]. 仪器仪表学报, 2013,34(1):161-165.
LONG Li, ZHANG He. Automatic and adaptive calibration method of tri-axial magnetometer [J].ChineseJournalofScientificInstrument, 2013,34(1):161-165. (in Chinese)