聚丰项目 > 手部动作捕捉与生理参数监测硬件平台

手部动作捕捉与生理参数监测硬件平台

本项目基于中科蓝讯AB32VG1开发版以及RT-Thread软件框架,利用集成前端倾角传感器MPU6050与双通道血氧检测传感器MAX30100,设计了一套完整的可采集手部位姿、血氧饱和度、温度、心率等参数的硬件平台。 该硬件平台,具有且不限于以下应用场景: 手功能康复评估(医疗):对手部残疾或手指受伤术后康复患者,可以借助对指节温度、血氧饱和度、手指可活动范围(ROM)等客观指标进行可复现、高精度的手功能康复评估。 人机交互(VR/MR/MetaVerse):借助六轴陀螺仪对操作者手部姿势的高准确度还原,形成更自然、操作信息更丰富的人机交互手段。 动作捕捉(影视、游戏):同样借助六轴陀螺仪对操作者手部姿势的高准确度还原,应用于游戏、电影、动画制作等需要对真人手部动作捕捉的场景。 低成本多通道模拟开关的设计,大幅降低物料成本和MCU的IO占用,配套以自行设计的小尺存传感器电路板,整套设备成本控制在200元以内,结合基于RT-Thread框架的开源软件包的使用,十分方便复现。

jf_25703341 jf_25703341

分享
4 喜欢这个项目
团队介绍

jf_25703341 jf_25703341

团队成员

杨炳乾 软件设计

徐茂源 硬件设计

分享
项目简介
本项目基于中科蓝讯AB32VG1开发版以及RT-Thread软件框架,利用集成前端倾角传感器MPU6050与双通道血氧检测传感器MAX30100,设计了一套完整的可采集手部位姿、血氧饱和度、温度、心率等参数的硬件平台。 该硬件平台,具有且不限于以下应用场景: 手功能康复评估(医疗):对手部残疾或手指受伤术后康复患者,可以借助对指节温度、血氧饱和度、手指可活动范围(ROM)等客观指标进行可复现、高精度的手功能康复评估。 人机交互(VR/MR/MetaVerse):借助六轴陀螺仪对操作者手部姿势的高准确度还原,形成更自然、操作信息更丰富的人机交互手段。 动作捕捉(影视、游戏):同样借助六轴陀螺仪对操作者手部姿势的高准确度还原,应用于游戏、电影、动画制作等需要对真人手部动作捕捉的场景。 低成本多通道模拟开关的设计,大幅降低物料成本和MCU的IO占用,配套以自行设计的小尺存传感器电路板,整套设备成本控制在200元以内,结合基于RT-Thread框架的开源软件包的使用,十分方便复现。
硬件说明

首先根据需求进行硬件方案的设计,在经过反复比对、开发板资源验证后,最终选择了五路独立传感器通道+开发板+DIY开发板拓展版的硬件方案

硬件整体设计框图如下:

          QQ截图20211219024122.png

为了系统的表述硬件的设计思路,我们可以从最接近需求的设计部分——传感器电路开始介绍。

一、指节传感器电路

为了完成对手部动作的完整捕捉,以及考虑到医疗用途中患者手部受伤状况的复杂性。

传感器部分采取了独立、并行的硬件设计,分别布置在人手指末端的五个指节处,并可以根据需求进行放置位置的移动。

传感器电路主要完成以下四个参数的采集:指节位姿、血氧饱和度、心率以及温度。

指节位姿信息的采集,目前市面上主要流行的方法有应变电阻、电位器以及IMU的测量方案,考虑到在医疗场景中使用时,方便佩戴以及体积小巧是很重要的考虑因素,因此选择了使用IMU的测量方案,这里我们选择了MPU6050的六轴集成传感模块。

2c5a2be01f0ed15f421897bf49144be8.jpeg

2c5a2be01f0ed15f421897bf49144be8

血氧饱和度以及心率的测量,由于考虑到医疗安全的角度,且对精度没有十分准确的要求,我们最好采用非侵入式的监测手段,而PPG(光电容积脉搏波)是一种很成熟的非侵入式监测方案,大致原理是通过人体血液中氧合血红蛋白与还原血红蛋白,对不同波长入射光的投、反射系数不同,通过对特定波长反射光光强的量化,即可得到PPG信号,单通道的PPG信号我们可以获得心率和血压信息,而双通道(双波长)的PPG信号则可以获得血氧饱和度的信息,最终考虑到传感器集成体积和成本,选择了MAX30100集成传感器进行血氧饱和度、心率以及温度信息采集。

e1668f02eebbc517318bd483c03369a4.jpeg

电源设计及通信接口,MPU6050为3.3V供电,MAX30100同时需要3.3V和1.8V的供应电压,因此设计了3.3V和1.8V两路LDO。通信接口方面,两个集成传感器都使用IIC通信的方式。考虑到模块的更换方便与外观简洁,设计了Type-c的端口进行供电与数据传输。

传感器电路原理图与布局示意图如下:

QQ截图20211213023308.png

                                                              传感器电路原理图


                     

QQ截图20211213022336.png

                                                            传感器电路立体图 

                

QQ截图20211216115933.png

                                                         电路布局示意图(背离人体面) 

QQ截图20211216115921.png

                                                        电路布局示意图(朝向人体面)

实物焊接效果如下:

         微信图片_20211219030113.jpg

二、前端数据电路(AB32VG1开发板拓展版)

完成了传感器电路部分的介绍,接下来介绍的是我们为了完成此次设计,结合中科蓝讯AB32VG1开发板设计的拓展版,AB32VG1丰富的开发资源与合理的可拓展硬件设计,为拓展设计提供了极大便利。

此次拓展版的设计,主要考虑到以下两个方面的需求:

1. AB32VG1开发板的供电电流(500mA)可能无法支持5路传感器+开发板的同时工作。

2. 前端传感器出现IIC地址重叠

因此,为了满足这些需求,我们为拓展版设计了以下三个方面的模块:

电源管理模块,主要包括12V直流输入、DC-DC降压、LDO稳压,为开发板和前端传感器提供电源供应与基准电压,后续还可根据需要加入电池管理与充电IC。

多路模拟开关模块,利用TI的CD4051多路模拟开关,在采集对应通道的传感器数据时,进行特定选通,较低成本的解决了IIC地址复用问题。

OLED显示模块,方便设备在脱机使用时,显示一些本地信息和调试。

拓展板电路原理图及布局示意如下:


             

QQ截图20211213023021.png

                                                              拓展板原理图


     

QQ截图20211213022224.png

                                                                 拓展板立体图

QQ截图20211216115944.png

                                                                    拓展板布局示意图


实物焊接效果如下:

微信图片_20211219030110.jpg


最后是此次设计基于的开发板AB32VG1,厂商提供了详细的开发板资料、datasheet与例程,可以参考此次大赛的首页或公司首页获取这些资料。


焊接完成后,完成整体组装,因时间紧迫,尚未来得及设计外壳,后续视情况添加。


        

微信图片_20211219030101.jpg

                     

微信图片_20211219030049.jpg


软件说明

在硬件部分完成设计后,进行了软件框架的设计与编写调试。

首先说明一些本次设计引用到的开源代码与RT-Thread相关软件包:Invensense官方提供的eMPL姿态解算库(主要进行IIC读写函数以及少量系统函数的移植)、MAX30102的软件包(与MAX30100驱动部分有差异,需自己修改)

软件部分流程如下图所示:

QQ截图20211216120449.png


传感器初始化部分: 各通道轮流初始化,全部工作寄存器配置完成后,查询各传感器ID及状态,确保正常工作。

传感器数据采集: 这里采用信号量的方式进行各采集线程的同步,主要考虑到多路模拟开关只在各线程采集进入时切换通道,若中途发生线程优先级抢占或轮转,会采集到错误通道数据。

数据上传及查询: 原先的设计是增加串口上传线程,进行数据上报,但是由于时间紧张,上位机显示部分尚未完工,因此目前先采取MSH命令行查询的方式,验证采集数据的正确性。


演示效果

最终佩戴至人体如图(后续会增加感器外壳,增加安全性):

微信图片_20211219030124.jpg

上电工作:

微信图片_20211219030133.jpg


各通道初始化(红光为MAX30100光电传感器光源):

血氧、心率数据采集(单通道显示):

以及原本计划编写手部实时捕捉的上位机显示部分尚未完工,因此暂时借用匿名四轴上位机进行数据显示,需要按照匿名上位机的格式进行数据发送(拇指):


多指节数据借助msh命令行输出进行验证(指节2、3的roll角度变化较为明显):


Gitee仓库地址:https://gitee.com/YangBingQ/RTT

评论区(6 )
  • jf_12392931: 这个软件做的不错

    回复

    • jf_25703341: 匿名四轴上位机是别人做的哈哈哈哈,借用来演示。新的上位机正在完成

      回复

  • jf_12392931: 为你点赞

    回复

  • jf_60544308: 思路不错

    回复

  • dianzi_0101: 666

    回复

  • jf_82262998: 您好,我对这个项目很感兴趣,请问怎么联系您呢?

    回复