深圳大学信息工程学院 李祯林
华南理工大学计算机科学与工程学院 郑蓝翔
深圳大学信息工程学院 杨奕津 黄明焕 杨延钊 朱倩仪 陈全威 潘志铭
基于MEMS传感器的人体姿态的运动采集及复现
深圳大学信息工程学院 李祯林
华南理工大学计算机科学与工程学院 郑蓝翔
深圳大学信息工程学院 杨奕津 黄明焕 杨延钊 朱倩仪 陈全威 潘志铭
该文设计了一种基于MEMS传感器的人体姿态的运动采集及复现系统,采用惯性导航式动作捕捉技术,它能实现人体运动数据的精确采集,并以3D动画运动的方式对运动过程进行直观的复现。
MEMS传感器;无线网络;姿态采集;姿态结算;运动复现
国内的类似系统绝大多数都是光学式的,得不到准确的三维运动参数。惯性传感器测量人体姿态在成本、便携性上有较大优势,但测量精度及误差累积一直是限制其发展的重要因素。
自20世纪70年代以来,微机电系统(MEMS)技术蓬勃发展,惯性传感技术向着高可靠性、小型化等方向发展,使得使MEMS传感器在很多电子产品中得到了广泛的应用。
本文将介绍利用自行设计制作的MEMS传感器无线模块,以惯性导航运动捕捉为原理进行人体姿态采集,利用多种算法解算人体的姿态并用3D动画方式进行复现。
文章通过将人体简化建模为人体多连杆模型,并通过在连杆中央放置自制的硬件模块实现运动数据的采集。硬件模块使用nRF51822作为主处理器和无线发送芯片,并使用MPU9250作为传感器采集数据。算法处理包括对角速度使用动态零点补偿、四元数表示法及互补融合算法,对加速度使用零加速度补偿法和Simpson二次积分,以提高角度和位移计算精度。并将获得的运动姿态数据用3D动画方式进行直观的复现。
作为本设备的硬件实物,硬件的设计是最基础也是最重要的部分之一,接下来,本文将从硬件电路原理图的角度列出各个功能模块的电路原理及大致的工作情况。
本系统的硬件部分的主控制器采用了nRF51822芯片进行初步算法处理,同时作为无线射频芯片使用。nRF51822是挪威Nordic半导体公司生产的一款支持2.4G射频的多协议无线芯片,芯片内部整合ARM Cortex-M0 32位处理器及丰富的外设资源,以便进行简单的数据传输及处理。
电源部分使用低噪声线性稳压芯片SPX-3819(3.3V),以用于将3.7V锂电池模块电压进行降压稳压,同时10uF与0.1uF的陶瓷电容并联使用,弥补各自器件在高低频滤波的实际效果,稳定电源电压。
本文选择的传感器是16位九轴惯性传感器MPU9250。主机可以通过MPU9250中的总线接口对内部寄存器数值进行修改,以达到修改采样率,开启滤波器等功能。由于只需要用该芯片的基本功能,不需要特殊处理,故直接采用该芯片数据手册所推荐的电路。
在确定使用多连杆人体模型后,传感器将安防在每个连杆的中央,以获取连杆最精确的旋转数据。传感器将读取连杆的旋转角速度,以获得在某一时刻的姿态朝向。
多点到单点通信的应用协议如下:
(1)主网关模块通过2.4Ghz GFSK调制信号及PCB天线,广播当前编号数据包。(2)所有传感器节点将接收编号数据包,而只有编号匹配的传感器节点将采集当前惯性传感器的编号、加速度、角速度等信息,将数据打包,利用2.4G无线射频将数据反馈给主网关模块。
(3)主网关模块将核对反馈回来的原始数据包,并进行CRC校验,如果通过,将通过串口发送至上位机,进行算法部分的数据处理。
如图1本硬件传感器低功耗,体积小,可扩展性好,适用于蓝牙4.0及BLE协议,亦可用于物联网及各类智能传感设备。
图1 MEMS惯性传感器无线模块实物图
当制作完成多个姿态采集硬件模块后,将其一软件设置为主接收网关,其余设置为传感器发送端。单个发送端模块所发送数据为未经处理的三轴角速度数据及三轴加速度数据。本章就如何获得最终姿态角及位移量进行讨论。
4.1.1 误差分析与校正
对陀螺仪角速度数据来说,为了获得姿态角,我们需要将角速度进行一次积分。而角速度零点偏移误差(直流分量)的存在将在一次积分中被累积放大。所以需要对其进行校正。常用的方法是测量足够长时间的零点误差并求平均值,并以平均值作为零点补偿消除误差。而陀螺仪的零点漂移除了与MEMS制造过程中的误差相关,还存在温度漂移。为了消除环境温度变化对零点漂移的影响,本文用动态更新零点的方式进行零点补偿的改进。图3是动态更新零点的算法框图。
图3 角速度动态零点补偿算法流程
4.1.2 基于四元数与互补滤波的姿态解算
本文利用重力加速度的测量值作为状态量,可以对绕Y轴与X轴的的旋转角度进行融合校正。原始角速度数据在经过初期的滤波和动态零点补偿操作之后,将新增的角速度值数据乘以时间间隔△t累加至用四元数表示的姿态角数据中,获得原始积分角度值,带入世界坐标系到载体坐标系的变换矩阵中,确定变换矩阵。
将加速度获得的重力矢量参考,与旋转矩阵转换得到的重力矢量进行叉乘运算,将其作为角度误差值,正反馈到原始积分角度数据中,进行数据融合运算。最终将加速度数据融合角速度以获得长期情况下较稳定的姿态数据。
图4所示是重力换算角与角速度积分数据的融合算法的流程图。
4.1.3 实验数据分析
实验数据采集的是x单轴的旋转角度,在30s内的旋转数据。其中,采样频率为100Hz,数据都经过了动态零点漂移削减。直接积分的数据用一阶Simpson积分法实时动态一次积分,并将一次积分后的数据输入互补融合算法进行二次处理。首先算出加速度重力矢量,从缓存的四元数姿态数据中解算出上一次的姿态矢量,并进行叉乘运算求出误差角,乘以权重系数并生成新的四元数数据。
图5是x轴角速度度直接积分与互补融合积分对比图。
图5 x轴角速度度直接积分与互补融合积分对比
由积分曲线可以看出,互补融合的积分方法在减少长时间的积分累加误差上有不错的作用,保证了角度姿态测量的准确性。
4.2.1 误差分析与校正
本文实现通过初步线性畸变校正初步还原加速度值,经过初步线性畸变校正后的加速度读数并不能直接进行二次积分进行位移运算。因为测试环境中存在重力,当物体运动时,加速度计测得的加速度值是重力加速度与相对运动加速度向量的叠加,并投影到三个测量轴的数值。在进行加速度二重积分前,获得相对于传感器的姿态方向,解算出重力加速度的方向,并从三轴加速度数据中消除重力加速度在各轴上的分量,完成重力解耦。
4.2.2 基于零加速度补偿法,速度归零的位移计算
在经过坐标变换后,三轴加速度的值不可避免地存在误差。物体而在二次积分后,加速度中直流分量将成为位移数据中的主导误差。本文的解决方式是零加速度补偿法,当判定处于静止时,将加速度置为0,记录时刻内加速度的零点误差,当判定为运动时,加速度值将减去零点误差,以达到平衡加速面积与减速面积之间的差值。而再度判定处于静止时,将计算新的加速度零点误差为之后进行补偿。
4.2.3 实验数据分析
经过多次试验,图6显示了单轴(Z轴)多次移动时的位移值与真实值的误差。传感器将沿着世界坐标系Z轴进行上下约10cm的单次来回移动。
由实验获得的位移曲线图可得出,位移多有10%误差,能确保至少分米级的精度。
LabVIEW是一种图形化的编程语言的开发环境,基于数据流进行编程,同时适用并行编程以提高运算效率。配套LabVIEW的嵌入式硬件产品可以扩展LabVIEW的软件功能,并实现ADC采集,PWM调制等功能。
LabVIEW程序中进行了绝大部分算法的实现。主网关模块将用串口将整合后的数据传输到串口,经过串口转USB芯片通信,将数据传输到LabVIEW字符缓存区。
程序将缓存区的字符串分割并还原成陀螺仪的角速度数据,加速度数据。对陀螺仪角速度数据实施了动态零点补偿,并实时更新补偿后的零点值。加速度计进行零加速度补偿,将解算后的加速度状态信息传送至互补融合滤波算法中的四元数中进行整合和权重叠加。最终融合后的数据将积分累加成为最终确定的姿态角数据。图7是LabVIEW上位机程序算法实现图。
图7 LabVIEW上位机程序算法实现
在LabVIEW软件中,利用 3D图形及动画显示的VI工具包绘制出杆后,将三轴的欧拉角姿态旋转带入姿态转变VI进行设置,绘制人体简化模型玩偶,严格按照肢体的优先等级进行排序,将不同惯性传感器传输的姿态数据进行叠加和实时显示。
在实验成果展示中,实验者将佩戴5个惯性传感器模块,分别位于左右大臂,左右小臂,身体上。将佩戴传感器的实验者和显示屏的3D动画进行实时摄影,并放置在右侧与实验者的动作进行对比。一共进行了多种手臂姿态进行演示。实验结果表现出本系统的动作采集与复现的真实性和算法对动作的有较好的适应性。
本系统利用人体简化模型对人体的结构和运动姿态进行分割化简,设计并制作了基于MEMS传感器的无线数据传输模块,利用了多种补偿及噪声去除的方法,尽量减少积分方法所带来的积分误差影响,以获得更为精确的位移数据。
本作品的应用领域:体育训练,精确捕捉运动员的运动姿态数据,并进行量化分析,同时结合人体生理学,历史数据等研究改进的方法;医疗诊断,惯提供全身、半身以及个别部位的测量及报告,更加客观地进行数据统计和诊断,并提供客观准确的数据来反映病人的治疗效果。
[1]Ruize Xu,Shengli Zhou,Wen J Li.MEMS Accelerometer Based Nonspecific-User Hand Gesture Recognition[J].IEEE Sensors Journal,2012,12(5):1166-1173.
[2]苏伯超,陈刚,车仁生.改进隐马氏模型的运动人体模型学习[J].光学精密工程,2009,17(6):1485-1495.
[3]赵翔,杜普选,李虎,等.基于MEMS加速度计和陀螺仪的姿态检测系统[J].铁路计算机应用,2012,21(3):15-18.
[4]王建锋,马建,马荣贵,等.动位移的加速度精确测量技术研究[J].计算机科学,2010,37(12):201-202.
[5]郑淑孟.基于MEMS惯性传感器的人体姿态和位移检测[D].暨南大学,2015.
[6]梁延德,程敏,何福本,等.基于互补滤波器的四旋翼飞行器姿态解算[J].传感器与微系统,2011,30(11):56-58.
[7]冯锟,冯建兰.基于零值补偿和+EMD+的加速度积分误差消除方法[N].湖北理工学院学报,2014(4):20-24.
本项目受到了广东大学生科技创新培育专项资金的资助(项目号:pdjh2017b0437)。
李祯林,女,大学本科,现就读于深圳大学,研究方向:电子信息工程。
指导老师:潘志铭。