APP下载

一种基于姿态传感器的人体步态特征识别感测系统设计

2020-02-25张昭修宇亮

中国应急管理科学 2020年8期
关键词:步态

张昭 修宇亮

摘 要:本文介绍了一种基于姿态传感器的人体步态特征识别感测系统方案。该感测系统由可穿戴传感器和上位机接收程序实现。该可穿戴传感器利用IIC协议将陀螺仪JY901的数据读取至ESP32中,通过wifi上传至上位机,上位机程序通过多线程可同时接收和保存八台步态传感器的数据,通信丢包率低于0.17%,能够实现八个传感器数据同步感测,为后续步态识别提供步态数据,达到设计要求。

关键词:陀螺仪JY901;IIC协议;WIFI;ESP32;步态

本文设计了一种基于单片机ESP32的可携带式的人体动作系统,以ESP32作为主控芯片,利用ESP32中的Wi-Fi功能进行无线数据传输。本设计使用JY901九轴陀螺仪进行运动姿态的数据采集,将采集到的数据通过ESP32中的Wi-Fi上传至客户端,再通过电脑用C#语言编写的上位机作为接收端,最后将接收到的数据写进.CSV文件中。之后可以通过通过人工智能的方式来对保存的文件内容进行学习。本文着重研究于姿态传感器的人体步态特征识别感测系统设计,具有体积小、功耗低、方便携带、实用性强等优点,在实际生活中具有极大的应用推广价值。

一、系统总体方案设计

本文设计方案的设计目的主要是运用Wi-Fi的无线传输技术,将陀螺仪的数据传输至电脑,并保存在文件中,之后可以利用于人工智能中,本文只研究多台设备同时进行无线数据收发的验证。为完成此次项目,本项目选用ESP32作为本次项目的主控芯片,利用ESP32上自带的Wi-Fi功能进行数据传输。而陀螺仪方面的选择,本次设计我们选择了JY901作为本次项目的陀螺仪,因为JY901采用了先进的数字滤波技术,能有效降低测量噪声,提高测量精度。除此之外,我们还采用了C#语言作为本次上位机的搭建,C#语言的功能很强大,就目前来说广泛用于开发Web程序,比如企业网站,商城等,而本文则用它进行开发关于接收数据方面。

本次总体的设计系统框图如图1所示。

二、系统硬件电路设计

1.姿态传感器的主控开发板介绍

为了成功完成本次项目设计,特选择ESP32芯片,ESP32是ESP8266的继任者。ESP32搭载了许多新功能。它结合了Wi-Fi和蓝牙无线功能,并且是双处理器,具备了USB-to-UART接口和稳压电路。引脚标记在电路板的顶部和底部。锂电池连接器是该电路板的重要特点,这非常适合我们本次项目。

2.系统的采集数据模块设计

本次项目我们采用了9轴的姿态角度传感器JY901,利用内部集成的姿态解算法进行数据姿态解算,之后通过IIC与主控芯片ESP32进行通信与传输姿态数据。

(1)JY901陀螺仪介绍

此模块采用了先进的数字滤波技术,能够有效的降低测量产生的噪声,提高测量精度。并且还集成了高精度的陀螺仪、加速度计、地磁场传感器,采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法,能够快速求解出模块当前的实时运动姿态。

模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态,姿态测量精度静态0.05度,动态0.1度,稳定性极高,性能甚至优 于某些专业的倾角仪!模块内部自带电压稳定电路,工作电压 3.3v~5v,引脚电平兼容 3.3V/5V 的嵌入式系统,连接方便。支持串口和 IIC 两种数字接口。方便用户选择最佳的连接方式。

(2) JY901陀螺仪姿态解算

本次使用的JY901模块的数据采用的是16进制的方式进行传输数据,这种方法的有点就是效率比较高,可以用较少的字节传输需要的数据,比如一个数据5.214如果用ASCII码的话需要5个字节,但是用16进制方式传输的话只需要2个字节,但是16进制也有缺点,就是可读性不强,不想ASCII码可以直接读数据。

16进制的传输原理是这样的,首先要确定表示的范围,然后是每个数据的用字节数。比如一个角度的数据是±180°,而两个字节16进制的表示范围则是-32767~32768之间,那么我们就把±180°的数据映射到这个范围内。假设原理的数据是x,变换以后的数据是y,那么y=x/180*32768,两个字节能表示的最小精度则是1/32768*180=0.0055°这种精度对于我们来说已经非常够用了。

三、系统软件程序设计

1.系统的无线发送数据设计

本次项目选用的无线传输技术是Wi-Fi,ESP32里提供了Wi-Fi和蓝牙的传输协议,可利用Arduino开发平台对ESP32进行开发。本次项目利用Arduino作为开发ESP32的开发平台。

2.系统的无线接收模块程序设计

无线接收模块程序是基于C#语言开发的,程序结构如图2所示。由于要同时收八台设备,且一台设备就需要跑2个线程,一个为客户端的线程,另一个为用户界面接收的线程,所以一共需要跑16个线程。在此之前,还需要设计主界面的设计,另外还设计了一个辅助窗体用来调试,但最主要的显示界面还是需要使用主窗体,通过控制主窗体的界面来选用模式和填相关的IP地址来进行传输。

四、系统总结与测试

测试数据分析:

为验证数据采集是否正确,8台数据接收实时性是否一致,本次设计做了一个验证设备进行数据验证,让8台设备处于同一水平线并同时进行翻转,然后来判断其加速度是否一致,以及他们的变化过程是否一样。方法则是通过.csv文件中的数据进行比对丢包率。

让设备连接我们的手机热点,并且同时电脑也连接我们手机热点,为了验证八台设备收集数据的同步性,可以观察到各设备收集的数据总数,并且还要计算八台设备之间的丢包率,为此本次项目进行了10次数据的采集,采集时间不同,为了避免巧合性,本次实验进行了10 次数据采集的验证,十台设备的丢包率小于0.17%。

之后通过翻转自制的平台将8台设备同时进行转动,翻动10圈,则停止,然后通过客户端接收的部分来停止数据的采集,并将搜集到的数据利用Excel的画折线图的功能来绘制变化的数据,本次项目选取其中的共收集了911个数据,选择其中的200至700的X轴的加速度数据进行绘制折线图。由之后绘制的图像可观察出八台设备X轴加速度绘制出的波形基本一致,即可证明8台设备之间的数据同步性。将八台设备固定上松紧带即可戴在人体上进行采集人体动作的数据,以下为姿态传感器穿戴实物图:

五、结论

本文介绍了一种基于姿态传感器的人体步态特征识别感测系统方案。该感测系统由可穿戴传感器和上位机接收程序实现。穿戴传感器以ESP32作为主控芯片,使用JY901作为本次项目使用的陀螺仪,并进行姿态解算,通过ESP32中集成的WIFI模组将穿戴者的数据上传至上位机,位机接收程序将文件保存至.csv文件中,能够实现多台设备同时进行无线采集人体步态动作。

参考文献:

[1] 容志能.惯性运动捕捉系統中传感数据的传输与处理[D].杭州:浙江大学, 2012.

[2] 李爽,罗志增,孟明.基于加速度传感器的下肢运动信息获取方法[J].机电工程,2009.26(1):5-16.

[3] 李娜.基于人体运动状态识别的可穿戴健康检测系统研究[D].北京:北京工业大学,2013.

[4] 余晓强,黄剑,陶春静.基于无线穿戴式传感系统的智能步态检测研究[J].华中科技大学学报(自然科学版),2017.45(10):105-110.

[5] 刘震,王雪梅,倪文波.基于MEMS传感器的高精度姿态角测量研究[J].中国测试,2017.43(2):6-13.

作者简介:张昭(1982—),男,汉族,讲师,研究方向:电子信息技术。

基金项目:福建省大学生创新训练项目“基于人工智能的人体步态生物特征辨识系统设计”(项目编号:S202010397064)。

猜你喜欢

步态
银河水滴
老年人出现异常步态别大意
步态识人
能充电并识别步态的新设备
步态异常,老人病了