基于手臂体感交互技术的可穿戴装置
2021-06-16李文豫
李文豫
(河南省实验文博学校,河南郑州,450000)
1 背景与意义
体感交互技术属于最前沿的科技之一,一经问世便引起了诸多企业巨头的注意,吸引了大量人才进入该领域。它用手势或肢体动作来代替传统的控制方式来遥控各种软件和机器,从而达到增强用户体验感、便利生活等目的,给生活带来了重要影响。它是继个人计算机、互联网、云计算、大数据之后的第五次信息技术领域的重大技术革命。在不久的将来,它将成为计算机各种软件及智能机器的标配,发展潜力无穷之大,预计将打开数亿级美元市场空间,实现物质世界与虚拟网络的完美融合。
2 创新性设计
该装置采用安装在手套内的三轴加速度计和三轴陀螺仪等惯性传感器采集手臂在空间中三个维度运动的数据,上传至手臂上主控MCU1,MCU1对接收到的数据进行滤波、姿态结算,随后通过蓝牙将运动控制指令发送给小车,小车上MCU2根据接收到的控制指令驱动小车电机运动,从而达到通过手臂可穿戴装置远程控制小车运动的目的。
该项目创新性设计有以下几点:
(1)通过三轴加速度计和三轴陀螺仪获得手臂三维运动数据,并通过将传感器安装在手套内实现可穿戴,方便灵活;
(2)通过卡尔曼滤波等算法对获得的传感器数据进行滤波处理,使数据更为准确;
(3)通过蓝牙收发数据达到手臂远程控制小车的目的;
(4)通过在小车上安装机械臂等执行机构可以使小车代替人完成危险的任务,以减少人员伤亡的风险。
3 硬件设计
该系统硬件主要包括两部分:手臂可穿戴装置和小车。手臂可穿戴装置包括三轴加速度计,用于获取手臂平动数据;三轴陀螺仪,用于获取手臂转动数据;MCU1,用于处理加速度计和陀螺仪的数据并发出控制小车指令;蓝牙,用于发送小车运动指令。小车包括蓝牙,用于接收小车运动指令;MCU2,用于处理蓝牙接收到的数据并控制小车运动;电机驱动模块,用于驱动步进电机运动。
图1 硬件原理框图
(1)加速度计
加速度计是用来测量加速度的一种传感器。加速度计中有一质量块,可以通过牛顿第二定律来测量加速过程中获得的加速度大小。根据传感器检测机理和敏感元件的不同,常见的加速度传感器包括压阻式、电感式、电容式、压电式、应变式等。此处采用的是三轴加速度计,可以获得手臂在三个维度平动的信息数据,从而更加全面的感知手臂的运动。
(2)陀螺仪
陀螺仪是一种用来测量角度的检测装置。这里采用光纤陀螺仪,即从同一点分别沿顺时针方向和逆时针方向发射两道光,当角度发生偏转时,两束光到达时间就会有差异,通过探测这个时间差异来计算角度。采用三轴陀螺仪可以获得手臂的三个维度的转动数据。
(3)主控MCU
主控MCU采用的是Arduino,Arduino是一种适用范围广,操作简单,功能强大的开源电子原型平台。板上集成有微控制器,可用自带的编程语言来编写程序,经过编译器从原有的十进制编译成二进制文件,进而烧录进Arduino微控制器。编程语言建议采用C++或汇编语言。用Arduino IDE简单清晰,有很强的灵活性。
(4)蓝牙
一种支持设备短距离通信的无线电技术,通信距离一般在十米以内,这里采用蓝牙实现小车与手臂间远程无线通信,避免了导线的使用,具有简单灵活的优点。
(5)电机驱动模块
通过通电导体在磁场中受力的作用而制作而成的电动机,能将电能转化为动能。在MCU2接收到从手臂上传输的蓝牙数据后,通过电机驱动模块控制电机的运动,从而控制小车的运动。
(6)显示模块
这里采用LED显示屏。即由若干个结构上独立的显示像素(发光二极管)组成LED显示屏。通过控制电路和驱动电路控制每个像素点的明暗和发光程度实现展示效果。显示模块可以用来显示电池的电量、数据的收发等信息,以便实时监测整个系统的工作情况。
4 软件设计
该系统的软件设计主要包括对采集的加速度计和陀螺仪的数据进行滤波、姿态结算,通过控制步进电机旋转的速度和方向控制小车的运动,以及对数据蓝牙收发、小车运动信息的显示等。
图2 软件工作流程图
(1)滤波
滤波方法主要有三种。
第一种:中位值平均滤波
每次均采集n个数据,通过查找将n个数据中的最小值和最大值找出并删掉,将剩下的所有数据作算术平均运算作为最新的数据,即n-2个值的平均值。这种滤波所滤出的值最平缓、准确,所以一般采用中位值平均滤波。
第二种:递推平均滤波
该滤波方法是连续采集数据,将采集到的数据视为一个长度为n的队列,当采集到新数据时,自动将队首的数据踢掉,其他所有数据往前移动一位,采集到的新数据补充至队尾,即先进先出,随后将队列中的所有数据作算术平均运算,运算的平均值即为最新的数据。
第三种:一阶惯性滤波
该滤波是用软件编程来代替硬件电路中的RC低通滤波。一阶低通滤波法是采用上次滤波输出的值与本次采样的值进行加权后作为实际的有效滤波值,从而使得输出对输入具有反馈作用。一阶低通滤波的公式如下所示:
α为一滤波系数(取值范围为,0-1);Xn新采样值;Yn-1为上次滤波结果;Yn本次滤波结果。
为了选取最佳的滤波算法,我分别采用了三种滤波算法对获得的加速度计的数据进行滤波。通过对三种滤波算法的比较,可以看出经过中位值平均滤波法滤波后的数据更加的平稳,因此最后我采用中位值平均滤波法对采集到的传感器数据进行滤波。
图3 三种不同滤波方法的比较(红色是递推中位值平均滤波法,黄色是一阶惯性滤波法,蓝色是递推平均滤波法)
图4 三种姿态结算比较(红色线条为MPU6050内部DMP解算数据,绿色线条为卡尔曼滤波法解算数据,黄色线条为互补滤波法解算数据)
(2)姿态结算
5 总结与前景
本论文利用加速度计、陀螺仪等惯性传感器,结合Arduino微控制器、蓝牙模块等设计了一种基于手臂体感交互技术的可穿戴装置。本论文采用的滤波算法和姿态解算算法结合,满足了三维运动数据无漂移误差输出的要求,后期可以优化滤波算法和姿态结算算法以使结算的数据与实时数据无时延。基于体感交互技术的可穿戴装置将会是未来一大发展主流,期望本论文的设计能为基于体感交互技术的可穿戴装置提供一定的思考与借鉴。