聚豐項目 > 手部動作捕捉與生理參數監測硬件平臺
本項目基于中科藍訊AB32VG1開發版以及RT-Thread軟件框架,利用集成前端傾角傳感器MPU6050與雙通道血氧檢測傳感器MAX30100,設計了一套完整的可采集手部位姿、血氧飽和度、溫度、心率等參數的硬件平臺。 該硬件平臺,具有且不限于以下應用場景: 手功能康復評估(醫療):對手部殘疾或手指受傷術后康復患者,可以借助對指節溫度、血氧飽和度、手指可活動范圍(ROM)等客觀指標進行可復現、高精度的手功能康復評估。 人機交互(VR/MR/MetaVerse):借助六軸陀螺儀對操作者手部姿勢的高準確度還原,形成更自然、操作信息更豐富的人機交互手段。 動作捕捉(影視、游戲):同樣借助六軸陀螺儀對操作者手部姿勢的高準確度還原,應用于游戲、電影、動畫制作等需要對真人手部動作捕捉的場景。 低成本多通道模擬開關的設計,大幅降低物料成本和MCU的IO占用,配套以自行設計的小尺存傳感器電路板,整套設備成本控制在200元以內,結合基于RT-Thread框架的開源軟件包的使用,十分方便復現。
jf_25703341
分享jf_25703341
團隊成員
楊炳乾 軟件設計
徐茂源 硬件設計
首先根據需求進行硬件方案的設計,在經過反復比對、開發板資源驗證后,最終選擇了五路獨立傳感器通道+開發板+DIY開發板拓展版的硬件方案。
硬件整體設計框圖如下:
為了系統的表述硬件的設計思路,我們可以從最接近需求的設計部分——傳感器電路開始介紹。
為了完成對手部動作的完整捕捉,以及考慮到醫療用途中患者手部受傷狀況的復雜性。
傳感器部分采取了獨立、并行的硬件設計,分別布置在人手指末端的五個指節處,并可以根據需求進行放置位置的移動。
傳感器電路主要完成以下四個參數的采集:指節位姿、血氧飽和度、心率以及溫度。
指節位姿信息的采集,目前市面上主要流行的方法有應變電阻、電位器以及IMU的測量方案,考慮到在醫療場景中使用時,方便佩戴以及體積小巧是很重要的考慮因素,因此選擇了使用IMU的測量方案,這里我們選擇了MPU6050的六軸集成傳感模塊。
血氧飽和度以及心率的測量,由于考慮到醫療安全的角度,且對精度沒有十分準確的要求,我們最好采用非侵入式的監測手段,而PPG(光電容積脈搏波)是一種很成熟的非侵入式監測方案,大致原理是通過人體血液中氧合血紅蛋白與還原血紅蛋白,對不同波長入射光的投、反射系數不同,通過對特定波長反射光光強的量化,即可得到PPG信號,單通道的PPG信號我們可以獲得心率和血壓信息,而雙通道(雙波長)的PPG信號則可以獲得血氧飽和度的信息,最終考慮到傳感器集成體積和成本,選擇了MAX30100集成傳感器進行血氧飽和度、心率以及溫度信息采集。
電源設計及通信接口,MPU6050為3.3V供電,MAX30100同時需要3.3V和1.8V的供應電壓,因此設計了3.3V和1.8V兩路LDO。通信接口方面,兩個集成傳感器都使用IIC通信的方式。考慮到模塊的更換方便與外觀簡潔,設計了Type-c的端口進行供電與數據傳輸。
傳感器電路原理圖與布局示意圖如下:
傳感器電路原理圖
傳感器電路立體圖
電路布局示意圖(背離人體面)
電路布局示意圖(朝向人體面)
實物焊接效果如下:
二、前端數據電路(AB32VG1開發板拓展版)
此次拓展版的設計,主要考慮到以下兩個方面的需求:
1. AB32VG1開發板的供電電流(500mA)可能無法支持5路傳感器+開發板的同時工作。
2. 前端傳感器出現IIC地址重疊
因此,為了滿足這些需求,我們為拓展版設計了以下三個方面的模塊:
電源管理模塊,主要包括12V直流輸入、DC-DC降壓、LDO穩壓,為開發板和前端傳感器提供電源供應與基準電壓,后續還可根據需要加入電池管理與充電IC。
多路模擬開關模塊,利用TI的CD4051多路模擬開關,在采集對應通道的傳感器數據時,進行特定選通,較低成本的解決了IIC地址復用問題。
OLED顯示模塊,方便設備在脫機使用時,顯示一些本地信息和調試。
拓展板電路原理圖及布局示意如下:
拓展板原理圖
拓展板立體圖
拓展板布局示意圖
實物焊接效果如下:
最后是此次設計基于的開發板AB32VG1,廠商提供了詳細的開發板資料、datasheet與例程,可以參考此次大賽的首頁或公司首頁獲取這些資料。
焊接完成后,完成整體組裝,因時間緊迫,尚未來得及設計外殼,后續視情況添加。
在硬件部分完成設計后,進行了軟件框架的設計與編寫調試。
首先說明一些本次設計引用到的開源代碼與RT-Thread相關軟件包:Invensense官方提供的eMPL姿態解算庫MAX30102的軟件包(與MAX30100驅動部分有差異,需自己修改)
軟件部分流程如下圖所示:
傳感器初始化部分: 各通道輪流初始化,全部工作寄存器配置完成后,查詢各傳感器ID及狀態,確保正常工作。
傳感器數據采集: 這里采用信號量的方式進行各采集線程的同步,主要考慮到多路模擬開關只在各線程采集進入時切換通道,若中途發生線程優先級搶占或輪轉,會采集到錯誤通道數據。
數據上傳及查詢: 原先的設計是增加串口上傳線程,進行數據上報,但是由于時間緊張,上位機顯示部分尚未完工,因此目前先采取MSH命令行查詢的方式,驗證采集數據的正確性。
最終佩戴至人體如圖(后續會增加感器外殼,增加安全性):
上電工作:
各通道初始化(紅光為MAX30100光電傳感器光源):
血氧、心率數據采集(單通道顯示):
以及原本計劃編寫手部實時捕捉的上位機顯示部分尚未完工,因此暫時借用匿名四軸上位機進行數據顯示,需要按照匿名上位機的格式進行數據發送(拇指):
多指節數據借助msh命令行輸出進行驗證(指節2、3的roll角度變化較為明顯):
Gitee倉庫地址:https://gitee.com/YangBingQ/RTT
jf_12392931: 這個軟件做的不錯
回復
jf_25703341: 匿名四軸上位機是別人做的哈哈哈哈,借用來演示。新的上位機正在完成
回復
jf_12392931: 為你點贊
回復
jf_60544308: 思路不錯
回復
dianzi_0101: 666
回復
jf_82262998: 您好,我對這個項目很感興趣,請問怎么聯系您呢?
回復