杭州市第一人民醫院城北院區(杭州市老年病醫院) 趙君豪 呂 亞 鐘 怡
隨著人體姿態捕捉技術不斷更新迭代,如今市面流行的包括:算法效率高、測量精度良好的光學式系統和便攜度高、硬件集成度高且技術先進的慣性動作捕捉系統;在此基礎上,又可再分為三大主類:基于計算機視覺的動作捕捉系統、基于標記點的光學動作捕捉系統以及基于慣性參數數據的動作捕捉系統。其中,第一類的研究主要是對手部信息進行動作捕獲,而后兩類主要針對全身進行動作捕獲。目前,基于計算機視覺的動作捕捉技術由于測量范圍問題而無法大有所為;基于馬克點光學式動作捕捉系統又由于需要特殊場地,并且價格昂貴;基于慣性傳感器的動作捕捉系統主要是在軟件的算法問題和硬件的局部線纜連接上存在劣勢。本文旨在設計一個可穿戴的實時慣性傳感器捕捉系統,并能通過無線傳輸將人體姿態角信息傳輸到上位機,直觀的量化人體運動軌跡。
本研究目的在于設計一個可穿戴式的慣性傳感器捕捉系統,可單獨佩戴在穿戴者的各個身體部位,并能進行無線實時傳輸,為獲取人體姿態信息提供一個切實的人機交互方案。該系統從功能需求上主要可分為兩大模塊:數據采集模塊和數據通訊模塊。其中,數據采集模塊通過九軸慣性傳感器進行實時采集,并將采集到的數據轉化為對應的姿態角度。數據通訊模塊集成了數據發送功能和數據接收功能,主要負責將需要發送的數據包高效地發送出去,并由接收端接收數據后通過串口傳輸數據到上位機,再進行解包讀取,最終導出直觀的姿態角數據。圖1為慣性參數捕捉系統的整體流程圖。

圖1 慣性參數捕捉系統的整體流程圖
慣性參數采集模塊的設計需求反映在其采集數據的實時性、可穿戴性以及數據的準確性上。
具體設計需求可分為以下幾點:
(1)體積小,容易穿戴;
(2)采樣頻率>20Hz;
(3)連續使用時間>1h。
慣性參數通信模塊分為數據發送模塊和數據接收模塊。數據發送模塊與采集數據模塊相連,負責將計算好的姿態角打包發送;數據接收模塊與上位機通過串口相連,負責將接收到的數據解包并發送到上位機程序。
(1)全局無線
傳統的慣性動作捕捉系統都是在佩戴者肢體布局大量節點,并通過數據線與發送節點連接,而繁瑣的局部線纜束縛了佩戴者的運動能力,本系統設計各節點實現獨立數據發送功能。
(2)采集部位自定義
本設計中針對數據發送模塊進行了自定義標識,可進行1~16個身體部位的運動數據采集,用戶可根據需求自行確定采集部位與采集數量。
(3)保證一定的傳輸速率
由于本設計中需要對采集到的人體姿態角度做出及時的曲線顯示與仿真顯示,并且需要保證數據的時效性,因此需要保證傳輸速率≥40Hz。
(4)多種接口輸出擴展功能
慣性參數通信模塊可以根據應用平臺的不同,通過統一規定數據通訊協議來使得多個平臺都可以使用本設備。
慣性傳感器從軸數上可分為十軸慣性傳感器、九軸慣性傳感器、六軸慣性傳感器。六軸慣性傳感器包括三軸加速度計與三軸陀螺儀。九軸慣性傳感器在六軸傳感器的基礎上加入了三軸磁力計,可更精確定位傳感器的偏向角度。而十軸慣性傳感器加入了溫度與氣壓的測量功能。本課題中需要對人體的運動姿態角度進行獲取。十軸傳感器的氣壓與高度功能對課題中的作用不大,采用只會增加統搭建的成本,而六軸傳感器由于無法在偏航角上對姿態角進行修正也不作考慮。表1為多軸的傳感器性能比較。

表1 多軸慣性傳感器的性能比較
通過比對各類慣性傳感器的成本、采樣速率、傳感器以及內嵌傳感器等要素,本課題采用九軸MPU9250慣性傳感器作為姿態角的數據采集傳感器。MPU9250具有體積小、集成度高、自帶400KHz的IIC通信以及高分辨率的數據輸出等優點,也可滿足人體姿態角的獲取與解析。本課題的硬件電路設計中MPU9250通過SCL、SDA、VDDIO與GND接口與電路板焊接,SCL與SDA連接MCU端進行數據交互。
慣性參數采集模塊的主芯片是一個32位的內核為Cortex-M3的STM32F103單片機芯片,STM32系列是ARM微控制器的中低端產品,該芯片有功耗低、成本低但又具備高性能的優勢,芯片的工作頻率高達72MHz,可滿足獲取MPU9250慣性傳感器的交互需求。STM32內部集成了定時器功能、IIC通訊功能以及Uart功能,也滿足數據所需的姿態解析與數據傳輸的功能。圖2為整個慣性參數捕捉系統的功能構成。

圖2 慣性參數捕捉系統的功能構成
針對硬件需求進行了慣性采集節點的設計,以保證設備的可穿戴性,并實現了采集模塊體積小的需求。圖3為慣性參數捕捉系統的實物圖。

圖3 慣性參數捕捉系統實物圖(正反面)
串口模塊是慣性傳感器捕捉系統與上位機之間關鍵的交互接口,串口模塊通過采用CH340芯片來實現串口向USB接口的轉換,從而使得接收端的數據能夠順利流入上位機程序。
MCU模塊是整個硬件系統的核心部分,它控制數據采集模塊的執行,實現九軸數據向姿態角數據的轉換、姿態角數據的打包以及數據通信模塊的發送。
慣性采集模塊的主要工作是采集佩戴位置的九軸數據并通過IIC協議傳輸到MCU模塊進行姿態解析,該模塊主要以MPU9250芯片組成。LED2用于顯示數據發送模塊的連接狀態,若數據發送模塊未連接上與PC端連接的接收模塊,則LED2顯示紅色;若數據發送模塊連接上與PC端連接的接收模塊,則LED燈顯示紫色。
充電模塊是能通過Mini USB接口對連接的鋰電池進行充電,該模塊主要由TP4056組成。電源為整體硬件電路的運行提供所需能源,也是無線式慣性參數采集模塊必不可少的部分。經測試,每次充滿電之后單獨的慣性參數采集模塊都可以連續使用1h以上,滿足硬件需求分析中的要求。
慣性參數采集系統設計完之后需要對計算好的姿態角實施精度測量實驗,證明獲取到的姿態角是否能精確測量到物體的實際姿態角信息,測試通過量角尺測量實際Roll(翻滾角)、Pitch(俯仰角)和Yaw(偏航角)的靜態數據在0°、60°和90°與慣性采集系統的三個角數據的最大誤差,測量一共進行了30次,表2為測試結果。

表2 慣性采集系統獲取姿態角與實際值最大誤差比較
由表2可知,本課題設計的慣性參數采集模塊解析的姿態角與實際量角尺測量的角度誤差基本保持在1.5°以內,Yaw角的誤差雖然偏大,但也在可接收范圍內。
經測試,該模塊的其他相關參數如下:
質量:8g
體積:40mm×25mm×10mm
充電續航時間>3h(300mAh鋰電池)
因此,本課題中設計的慣性參數采集模塊滿足上下肢運動姿態角解析的需求。
本系統中的慣性參數通信模塊的功能主要由nRF24L01這款單片射頻收發模塊所組成的,它主要工作于2.4GHz~2.5Ghz的頻段。nRF24L01的優勢在于功耗低,并且在數據傳輸方面相較于藍牙模塊距離更遠。
可通過MCU模塊對nRF24L01配置寄存器的數據進行修改,將其設定為發射、接收、待機、掉電四種工作模式。通過配置nRF24L01的發射模式和接收模式可進行兩個nRF24L01模塊之間的通訊,此時需要滿足三個條件:
(1)通過設置配置寄存器中的RF_CH,令發送端與接收端頻道相同;
(2)設置TX_ADDR和RX_RDDR_P0,使得發送端目標地址與接收端地址相同;
(3)保持每次發送與接收端的字節數相同。
根據以上三個條件,可搭建一對多的收發數據模塊。其中包括一個接收數據模塊和多個發送數據模塊,發送數據模塊將MCU解析出的人體姿態角數據發送出去,通過2.4GHz頻段傳輸至指定地址的接收數據模塊,接收數據模塊通過串口將數據發送至上位機。最后,對慣性參數通信模塊的數據傳輸性能進行了測試:將數據發送模塊與數據接收模塊保持5m的距離,并設置好不同數量的發送端進行數據幀傳輸的測試,最終測試結果如表3所示。

表3 數據傳輸測試
由表3可知,在使用13個或13個以下節點用作慣性參數數據通信時,平均傳輸速率≥40Hz,滿足通訊模塊的傳輸速率需求。此外,使用nRF24L01無線模塊既滿足了全局無線的需求,也可以進行采集節點的自定義。最后,只需要通過硬件的USB線與接收模塊連接的方式獲取發送模塊傳來的數據,只需要自行定義好上位機的串口功能就可搭建數據通道,滿足了多種接口輸出擴展功能。
結語:本文設計并研發了一款多節點采集無線傳輸的慣性傳感器系統,改變了傳統的局部有線纜干擾的傳感器佩戴方式,解決了運動時給關節帶來的阻礙感。設備獲取到的角度精度保持在2°以內,最大傳輸速率達600Hz,滿載工作可連續使用3h以上。設備佩戴在受試者身上使用情況如圖4所示。

圖4 受試者佩戴示意圖