随着对微机电系统-惯性测量单元(micro-electro-mechanical system-inertial measurement unit, MEMS-IMU)在室内定位、动态追踪等应用领域中的需求日益迫切, 使得具有高精度、低成本和实时性的MEMS-IMU模块设计成为研究热点. 针对MEMS-IMU的核心技术——姿态估算进行研究, 设计了一种基于四元数的9轴MEMS-IMU实时姿态估算算法. 该算法运用分解四元数算法处理加速度和磁感应强度数据, 计算出静态四元数; 通过角速度与四元数的微分关系估算动态四元数; 运用卡尔曼滤波融合动、静态四元数, 进而实现实时姿态估算. 针对分解四元数算法中存在的奇异值问题, 提出了转轴补偿方法对其修正, 以实现全姿态估算; 考虑动态情况下的非线性加速度分量对姿态估算精度的影响, 设计了R自适应卡尔曼滤波器, 以进一步提高姿态估算算法的精度. 验证结果表明, R自适应卡尔曼滤波器能够有效抑制加速度噪声, 提高姿态估算精度; 同时, 转轴补偿-分解四元数算法能够准确估算奇异值点的姿态信息, 并且计算时间仅为原“借角”补偿方法的50%左右, 有效提高了整体算法的实时性.
To meet urgent application demands in indoor location and motion tracking, studies on low-cost high-resolution and real-time micro-electro-mechanical system-inertial measurement unit (MEMS-IMU) have attracted much attention. This paper presents a quaternion-based data fusion algorithm for real-time attitude estimation, including factored quaternion algorithm (FQA) for static attitude estimation, and Kalman filtering fordata fusion. A singularity avoidance method, axis-exchanged compensation, is proposed to modify the FQA, allowing the algorithm to track at all attitudes. An R-adapted module is designed to adjust the Kalman gain, which effectively restrains noise due to dynamic nonlinear acceleration, and improves attitude estimation accuracy. Experimental results show that the R-adapted Kalman filter can accurately estimate attitudes in real-time. Additionally, FQA with an axis-exchanged method has good performance in estimating attitudes of singularity points, and the computational efficiency is higher than a previous method by 50%.
[1] 蔡春龙, 刘翼, 刘一薇. MEMS 仪表惯性组合导航系统发展现状与趋势[J]. 中国惯性技术学报, 2009, 17(5): 562-567.
[2] Foxlin E. Inertial head-tracker sensor fusion by a complementary separate-bias Kalman filter [C]//Virtual Reality Annual International Symposium. 1996: 185-194.
[3] Zhang R, Hoeflinger F, Reindl L. Inertial sensor based indoor localization and monitoring system for emergency responders [J]. IEEE Sensors Journal, 2013, 13(2): 838-848.
[4] Lee J K, Park E J. Minimum-order Kalman filter with vector selector for accurate estimation of human body orientation [J]. IEEE Transactions on Robotics, 2009, 25(5): 1196-1201.
[5] Shuster M D. Filter QUEST or REQUEST [J]. Journal of Guidance, Control, and Dynamics, 2009, 32(2): 643-645.
[6] Liu C, Liu F, Jiang Z, et al. New method for initial orientation estimation in dynamic state using MEMS magnetometers and accelerometers [C]//Modelling, Identification & Control (ICMIC). 2012: 29-34.
[7] Conrado A. Implementation of a quaternion-based Kalman filter for human body motion tracking using MARG sensors [D]. Monterey: Naval Postgraduate School, 2004.
[8] Yun X P, Bachmann E R, McGhee R B. A simplified quaternion-based algorithm for orientation estimation from earth gravity and magnetic field measurements [J]. IEEE Transactions on Instrumentation and Measurement, 2008, 57(3): 638-650.
[9] Sabatelli S, Galgani M, Fanucci L, et al. A double-stage Kalman filter for orientation tracking with an integrated processor in 9-D IMU [J]. IEEE Transactions on Instrumentation and Measurement, 2013, 62(3): 590-598.
[10] 高显忠, 侯中喜, 王波, 等. 四元数卡尔曼滤波组合导航算法性能分析[J]. 控制理论与应用, 2013, 30(2): 171-177.
[11] Brigante C M N, Abbate N, Basile A, et al. Towards miniaturization of a MEMS-based wearable motion capture system [J]. IEEE Transactions on Industrial Electronics, 2011, 58(8): 3234-3241.