面向肢体残疾的辅助智能穿戴系统的设计

2019-07-23 09:27刘小雨
计算机技术与发展 2019年7期
关键词:大臂测试数据加速度计

沈 澍,顾 康,刘小雨

(1.南京邮电大学 计算机学院、软件学院、网络空间安全学院,江苏 南京 210023;2.江苏省无线传感网高技术重点实验室,江苏 南京 210023)

0 引 言

伴随计算机、无线传感网络、电子信息技术的逐渐发展与成熟,越来越多的可穿戴设备相继推出,对人们的生活产生了很大影响[1-3]。这不仅给普通人的生活带来许多便捷,而且帮助了大量的残障人士。文中提出了一种手臂姿态检测方案,通过三个六轴传感器来采集手臂的三个不同位置的加速度和角加速度,检测出当前手臂的姿态,并通过蓝牙进行传输,从而控制机械臂能同步当前手臂的动作。

文中首先介绍了手臂姿态检测原理,即基于三个六轴传感器的手臂姿态检测原理,然后给出了系统的软硬件设计,最后通过实验对系统进行测试。

1 手臂姿态检测原理

提出的手臂姿态检测可以分为三部分:大臂运动检测、小臂运动检测和手部运动检测[4]。图1为手臂姿态检测的原理图,三个六轴传感器①、②、③分别用于检测大臂、小臂和手部的运动角度,以此来展现整个手臂的姿态。

图1 手臂姿态检测原理

其中,A1是大臂关节前后旋转的角度,与传感器①绕X轴旋转的角度ax1相等;A2是大臂关节抬起的角度,与传感器②绕Y轴旋转的角度ay1相等;A3是大臂与小臂之间的关节弯曲的角度,与传感器②相对于传感器①绕X轴旋转的角度ax2-ax1相等;A4是手腕关节弯曲角度,与传感器②相对于传感器①绕Y轴旋转的角度ay2-ay1相等。

2 系统硬件设计

文中设计的硬件平台由两片STM32F103C8T6控制核心、三片MPU6050六轴传感器、两片HC-05蓝牙传输模块、六自由度机械臂和供电模块组成[5]。图2为系统组成框图。A为姿态检测端,由控制核心、六轴传感器和蓝牙模块组成。B为机械臂控制端,由控制核心、供电模组和蓝牙模块组成[6]。C为六自由度机械臂,由六个数字舵机驱动。A、B端之间以蓝牙方式传输手臂姿态信息。

本次设计的模块选型主要以体积小、计算量适中为主,以下对其主要特征进行了介绍。

(1)STM32F103C8T6(控制芯片):内核ARM Cortex-M3,主频最高为72 MHz,64 KB Flash,20 KB SRAM,36个多功能IO,有USART、IIC等外设;

(2)MPU6050(六轴传感器):IIC通信方式,16位ADC输出,陀螺仪敏感度为131 LSBs/°/sec,陀螺仪检测范围为±250、±500、±1 000和±2 000 °/sec,加速度计可编程控制,加速度计测量范围为±2g、±4g、±8g、±16g;

(3)HC-05(蓝牙):UART协议通信,波特率可达115 200 bps。

图2 系统组成框图

3 系统软件设计

3.1 整体流程

系统的软件主要分为手臂端软件和机械臂端软件两个部分,以下分别对各个部分的软件流程进行介绍。

手臂端软件负责手臂姿态的融合和传输,分为以下五个步骤:

(1)通过IIC数据总线读入加速度计和陀螺仪数据;

(2)将读取的数据送入截止频率为10 Hz的FIR数字低通滤波器中,获取滤波后的数据;

(3)将滤波后的数据送入姿态角融合模块,获取手臂各个部分的欧拉角;

(4)通过欧拉角计算当前手臂的姿态;

(5)根据计算出的手臂姿态,发送相应的控制数据。

机械臂端软件负责控制数据的接收和舵机的驱动,分为以下五个步骤:

(1)等待串口接收到相应的控制数据;

(2)根据制定好的协议,解析控制数据,获取机械臂关节的角度;

(3)将获取的角度写入列队中,待处理;

(4)读取列队中的角度,对机械臂做出相应的控制;

(5)对控制数据做出回复。

3.2 姿态融合模块设计

3.2.1 基于椭球面拟合的加速度计矫正

MPU6050中加速度计的原始数据存在一定的零偏,在进行姿态融合的时候会对精度产生较大的影响[7]。因此,采用基于椭球面拟合的方式对加速度计的零偏进行矫正。

加速度传感器在静止(只受重力)的状态时,重力在不同的姿态下,其向量的顶点,在三维空间中会落在一个球面上,但是惯性测量系统中x,y,z轴的度量单位可能有很大的不同,如果x,y,z轴相互垂直,那么各姿态重力点会落在一个椭球面上,椭球的球心坐标就是加速度计的零偏[8-9]。本次设计采用TensorFlow进行椭球面参数拟合,主要分为以下六个步骤:

(1)数据采集;

(2)TensorFlow拟合参数创建;

(3)TensorFlow优化器创建;

(4)TensorFlow会话创建;

(5)TensorFlow训练迭代;

(6)计算球心。

数据采集时需要将MPU6050芯片进行多个方向的旋转,采集静止状态下的三轴加速度数据,这样可以确保拟合的准确度[10-11]。

TensorFlow的操作中主要为创建拟合需要的相关参数、确定损失函数和选择相应的优化器进行训练。本次设计中需要拟合的椭圆曲面,可以近似为一个圆心不在原点,但球体未进过旋转的椭球曲面,因此预测函数为:

ha(x,y,z)=a0×x2+a1×y2+a2×z2+a3×x+

a4×y+a5×z+a6

(1)

其中,a0,a1,…,a6是椭球面的7个参数。

根据预测函数,可以选择拟合所使用的损失函数:

a3×X+a4×Y+a5×Z+a6‖2

(2)

其中,X2=X×X,Y2=Y×Y,Z2=Z×Z,X,Y,Z为数据矩阵,N为数据总量,a0,a1,…,a6为需要拟合的参数。

由以上的推导,在TensorFlow中创建相应的训练参数和损失函数,选择0.5的学习率进行训练,在误差小于0.000 01时停止训练,使用式3计算椭球的球心[12]。

(3)

3.2.2 基于梯度下降的姿态融合

本次设计采用四元数-梯度下降方法对姿态进行融合,首先使用陀螺仪的数据计算出短时间内四元数的变化量,再使用加速度数据对陀螺仪更新的累计误差进行校准。根据一阶龙格库塔法,四元数可以使用式4进行更新:

(4)

使用加速度计矫正时,使用式5将重力在世界坐标系[0,0,0,1]下的矢量坐标转换为传感器坐标系[0,ax,ay,az]下的矢量坐标。

ds=q-1×de×q

(5)

其中,de为世界坐标系下的坐标;ds是传感器坐标系下的坐标;q为四元数[17-19]。

因此,可以确定损失函数[20]为:

(6)

(7)

其中,ε为学习率;f为损失函数的梯度。

最后依据式8将四元数转换成欧拉角:

(8)

其中,φ,θ,ψ为绕三轴旋转的欧拉角度。

图3为使用四元数-梯度下降方法进行姿态融合的流程。

图3 姿态融合流程

首先将采集到的数据进行预处理,行偏移补偿和归一化。然后使用加速度、陀螺仪和前一时刻的四元数计算梯度,对四元数的更新量进行校正并且更新四元数,最后计算出欧拉角。

4 实验测试

4.1 加速度矫正测试

在对加速度计进行矫正测试时,使用水平尺矫正测试平面,将传感器模块水平放在上面,xoy平面与水平面平行,z轴与水平面垂直向下。在测试时,使六轴传感器模块处于静止状态,可近似认为xy轴的加速度为0g,z轴的加速度为1g。

图4为矫正测试数据图。其中图A为进行椭球面拟合的示意图,深色点为采样得到的三轴加速度数据,浅色点为对采样数据进行拟合出的球心。图B、C、D为原数据与补正后数据的对比图。深色曲线表示原始数据,浅色曲线表示矫正后的数据,在进行补正后,数据的准确性得到了改善。

图4 矫正测试数据

4.2 姿态融合测试

在对姿态融合进行测试时,同样使用水平尺矫正测试平面,在下方铺上量角器,将传感器模块旋转到30°、45°、60°、90°四个角度,在每个角度下分别检测100组数据。图5为传感器绕x轴旋转的四个角度的测试数据图,图A对应30°测试数据,图B对应45°测试数据,图C对应60°测试数据,图D对应90°测试数据。测试数据的波动性很小,在运动速度不是非常大的情况下,数据比较稳定。

图5 融合测试结果

4.3 系统整体测试

图6是手臂真实动作和机械臂动作的对比图,其中,图A为大臂向前抬起的比对图,图B为大臂向后抬起的比对图,图C为大臂向侧面的抬起的对比图,图D为小臂的弯曲的对比图,图E为手向下弯曲对比图,图F为手向上抬起对比图。在小角度抬起和弯曲的时候,动作的一致程度是非常高的,但当角度增大到一定的程度后,性能就略有不足。

图6 测试效果

图7为每间隔10°统计的手臂实际值、机械臂测量值和误差的绝度值的折线图。图A为大臂向前抬升的测试数据图,图B为大臂向侧面抬升的测试数据图,图C为小臂向下弯曲的测试数据图,图D为手腕向上抬起的测试数据图。图中深色的虚线表示手臂的实际值,浅色的点化线表示机械臂的测量值,实线表示实际值与测量值之间误差的绝对值。

图7 测试数据对比

从折线图中可以看到,在小臂向下弯折和大臂向前抬升的动作的角度越大则误差越大,在大臂向侧面抬升和手向上抬升的动作中基本吻合。

5 结束语

可穿戴设备正慢慢融入人们的日常生活,帮助人们提升生活质量。尤其对于残障人士,借助可穿戴设备,生活状况有望得到很大改善。文中设计的辅助智能穿戴系统,将三轴陀螺仪数据和三轴加速度计数据进行融合,用于检测手臂姿态,在动作角度较小时检测的精确度非常高,并且相对于其他复杂系统来说成本是比较低的,但针对运动范围比较大的动作以及非常精细的动作来说,则需要增加传感器的数量。并且需要进一步改进穿戴模式,如穿戴方式不合理,则会大大减小检测的准确度。

为了进一步增加动作识别的准确性和细致性,下一步计划加入肌肉电信号传感器,并与深度学习相结合,以实现更加稳定和高效的动作识别。

猜你喜欢
大臂测试数据加速度计
新型微加速度计研究进展
基于ID3决策树算法的大学生体能测试数据管理系统设计
抑制交叉轴干扰的纳米光栅加速度计*
面外轴向检测MEMS加速度计研究现状*
自控飞机气缸销轴受力分析及疲劳校核计算
工业机器人机械臂的结构优化
减载加速度计组合减振设计与分析
测试数据管理系统设计与实现
基于自适应粒子群优化算法的测试数据扩增方法
空间co-location挖掘模式在学生体能测试数据中的应用