用于虚拟现实的九轴惯性传感单元设计*
2017-08-09李洋洋李阳光
余 乐, 李洋洋, 李阳光, 吴 超, 王 瑶, 陈 岩
(北京工商大学 计算机与信息工程学院 食品安全大数据技术北京市重点实验室,北京 100048)
用于虚拟现实的九轴惯性传感单元设计*
余 乐, 李洋洋, 李阳光, 吴 超, 王 瑶, 陈 岩
(北京工商大学 计算机与信息工程学院 食品安全大数据技术北京市重点实验室,北京 100048)
设计并实现了一种基于卡尔曼滤波的用于虚拟现实中运动追踪的关键装置—九轴惯性传感单元。以4元数为状态向量,在卡尔曼滤波器中,通过由加速度计和磁强计得到的姿态角对陀螺仪的漂移进行补偿。惯性传感单元的采样频率达到1 kHz。通过连接手机上位机测试,很好地实现了姿态角的融合和矫正。
虚拟现实; 姿态估计; 卡尔曼滤波; 惯性传感单元
0 引 言
近年来,虚拟现实技术在游戏、电影、直播等领域取得了巨大成功。惯性传感单元是其运动姿态捕捉的关键装置之一[1,2]。
目前,陀螺仪、加速度计和磁力计是主流的姿态测量组合[3],但是三者测量的数据通过算法融合才能确定最终的姿态。常见的姿态解算算法中,欧拉角法[4~6]在解算过程中会产生奇异点;方向余弦法[5,6]参数太多,计算过程复杂;4元素法[6,7]由于实时性好,计算简单,不会产生奇异点等优点,是目前最主流的姿态解算算法。但是,陀螺仪随着时间的积分误差越来越大,同时,磁力计本身也很容易受到周围磁场的干扰。
另外,在计算简单的同时保证姿态解算的精度,是姿态解算算法研究的关注点[8]。
提出了一种基于卡尔曼滤波的九轴惯性传感单元的校正算法,选取姿态4元数作为状态变量,简化系统维数,减少计算量。用加速度计和磁强计估计载体的姿态角,利用欧拉角和4元数之间的关系将其转换为4元数,将此值作为姿态4元数的观测值,并列出其与状态量之间的约束关系式。通过卡尔曼滤波估计出载体的姿态角,降低对陀螺精度的依赖,提高姿态确定的精度。最终,将九轴传感单元电路挂载到手机上位机程序中,进行验证。
1 系统方案
如图1所示,惯性传感单元电路系统结构包含微控制器STM32 F103C8T6,6轴陀螺仪MPU6000,3轴磁力计HMC5983,电源模块LP5900SD—3.3以及用于与上位机连接的USB_OTG接口。
图1 系统结构图
2 扩展卡尔曼滤波
图2 扩展卡尔曼滤波算法结构
本文由磁强计和加速度计得到测量值,由陀螺仪解算得到的状态量进行数据融合,最终计算出系统的姿态。
2.1 状态方程
本文选取姿态4元数作为状态向量X=[q0q1q2q3]T,并且利用4元数的更新方程Qk+1=Qk·qk,建立离散滤波方程
Xk=AkXk+Wk
(1)
(2)
2.2 测量方程
4元数的测量值利用前述加速度计和磁强计所转换的4元数,建立相应的测量方程
(3)
Zk=CkXk+Vk
(4)
2.3 滤波算法
由于测量方程和状态方程都是离散方程,因此,可以直接利用离散卡尔曼滤波算法的公式,对时间和测量的信息进行更新,计算步骤为:
1)给定算法的初值,状态向量的初值为4元数的初值,估计均方差阵可以去单位矩阵。
2)计算步骤(1)的预测值
(5)
(6)
(7)
3)计算滤波增益
(8)
4)计算状态的估计值
(9)
5)计算均方误差
Pk+1=(I-Kk+1Ck+1)Pk+1/k
(10)
令k=k+1,重复上述步骤,如图3所示为算法流程。
流程总体上分为加载数据、设置初值、设置滤波参数,卡尔曼滤波、输出结果5步。首先将传感器中采集的数据保存到文件中,在程序的开始将其加载,然后分别利用陀螺仪的数据和加速度计、磁强计的数据计算出状态量和测量量的初值,设置卡尔曼滤波器的参数后,将初值代入卡尔曼滤波器的函数中得到滤波后的结果,通过图形显示出滤波前后的对比结果。
图3 程序设计流程
3 硬件设计与测试结果
3.1 九轴惯性传感单元设计与测试
图4为九轴陀螺仪单元,其中包含1个主控单元STM32F103C8T6,1个6轴陀螺仪MPU6000,1个磁强计HMC5983,以及1个电源降压芯片LP5900SD—3.3。
图4 九轴惯性传感单元
在静止状态下,采集传感器的数据,通过滤波算法后显示结果。图5为陀螺仪3个姿态角的测量角度与滤波角度之间的误差。
从图中可以看出,陀螺仪具有测量误差。而经过卡尔曼滤波,初步实现了校正和融合功能,在一定程度上保证了测量结果的精准度。y轴和z轴的测量结果比较准确,可以估计出传感器的横滚角和俯仰角。滤波后,x轴的漂移得到了校准,从而保证了航向角的准确。
3.2 手机上位机测试
设置惯性传感单元的采样频率为1kHz。通过连接手机端的上位机程序测试,将惯性传感单元分别沿着x轴,y轴和z轴3个方向摆放,如图6所示。可以看出:惯性传感单元可以正常测试出姿态角。
图5 测量角度和滤波角度对比
图6 惯性传感单元沿不同方向摆放测试结果
4 结束语
设计并实现了一种基于卡尔曼滤波的九轴惯性传感单元(即陀螺仪,加速度计和磁强计)。以4元数为状态向量,在卡尔曼滤波器中通过加速度计和磁强计得到的姿态角对陀螺仪的漂移进行补偿。通过连接手机上位机测试,结果显示:九轴惯性传感单元可以很好地实现姿态角的融合与矫正。
[1]FriederWittmann,OlivierLambercy,RomanRGonzenbach,etal.Assessment-drivenarmtherapyathomeusinganIMU-basedvirtualrealitysystem[C]∥IEEEInternationalConferenceonRehabilitationRobotics(ICORR),2015:707-712.
[2]CostaRaphael,GuoRongkai,QuarlesJohn.Towardsusableunderwatervirtualrealitysystems[C]∥IEEEVirtualReality(VR),2017:271-272.
[3]NaeemMumtaz,SanaArif,NimraQadeer,etal.DevelopmentofalowcostwirelessIMUusingMEMSsensorsforpedestriannavigation[C]∥InternationalConferenceonCommunication,ComputingandDigitalSystems,Islamabad,2017:310-315.
[4]ChulWooKang,YoungMinYoo,ChanGookPark.PerformanceimproveofattitudeestimationusingmodifiedEulerangle-basedKalmanfilter[J].JournalofInstituteofControl,RoboticsandSystems,2008,14(9):881-885.
[5] 孙克诚.三轴飞行仿真平台控制系统的设计与研究[D].南昌:南昌航空大学,2016.
[6] 王伟栋.基于微惯性技术的数据手套研究[D].上海:上海交通大学,2014.
[7]HsuYuLiang,WangJeenShing,ChangCheWei.Awearableinertialpedestriannavigationsystemwithquaternion-basedextendedKalmanfilterforpedestrianlocalization[J].IEEEJournals&Magazines,2017,17(10):3193-3206.
[8]SimonD.Optimalstateestimation:Kalman,H-infinity,andnonlinearapproaches[M].HoboKen:Wiley&Sons,2006:309-332.
陈 岩 (1963-),女,博士,教授,博士生导师,主要从事无线传感器网络技术应用、数字通信抗干扰技术工作。
Design of 9-axis inertial measurement unit for virtual reality*
YU Le, LI Yang-yang, LI Yang-guang, WU Chao, WANG Yao, CHEN Yan
(Beijing Key Laboratory of Big Data Technology for Food Safety,School of Computer and Information Engineering,Beijing Technology and Business University,Beijing 100048,China)
A 9-axis inertial measurement unit(IMU)based on Kalman filtering which is key device for motion tracking in virtual reality(VR)technology is designed and realized.Quaternion is used as state vector,and the attitude angle which is calculated from accelerometers and magnetometers is used to compensate for gyro drift.The IMU is designed with a sampling frequency of 1 kHz.Test by connecting cell phone and upper PC,the 9-axis IMU can achieve fusion and correction of attitude angle very well.
virtual reality; attitude estimation; Kalman filtering; inertial measurement unit(IMU)
10.13873/J.1000—9787(2017)07—0100—03
2017—05—31
北京市自然科学基金资助项目(4174086);国家自然科学基金资助项目(61473009)
TP 391
A
1000—9787(2017)07—0100—03
余 乐(1983-),男,通讯作者,博士,讲师,硕士生导师,从事类脑计算与人工智能工作,E—mail:ladd_u@163.com。