杭州市第一人民醫(yī)院城北院區(qū)(杭州市老年病醫(yī)院) 趙君豪 呂 亞 鐘 怡
隨著人體姿態(tài)捕捉技術(shù)不斷更新迭代,如今市面流行的包括:算法效率高、測量精度良好的光學(xué)式系統(tǒng)和便攜度高、硬件集成度高且技術(shù)先進的慣性動作捕捉系統(tǒng);在此基礎(chǔ)上,又可再分為三大主類:基于計算機視覺的動作捕捉系統(tǒng)、基于標記點的光學(xué)動作捕捉系統(tǒng)以及基于慣性參數(shù)數(shù)據(jù)的動作捕捉系統(tǒng)。其中,第一類的研究主要是對手部信息進行動作捕獲,而后兩類主要針對全身進行動作捕獲。目前,基于計算機視覺的動作捕捉技術(shù)由于測量范圍問題而無法大有所為;基于馬克點光學(xué)式動作捕捉系統(tǒng)又由于需要特殊場地,并且價格昂貴;基于慣性傳感器的動作捕捉系統(tǒng)主要是在軟件的算法問題和硬件的局部線纜連接上存在劣勢。本文旨在設(shè)計一個可穿戴的實時慣性傳感器捕捉系統(tǒng),并能通過無線傳輸將人體姿態(tài)角信息傳輸?shù)缴衔粰C,直觀的量化人體運動軌跡。
本研究目的在于設(shè)計一個可穿戴式的慣性傳感器捕捉系統(tǒng),可單獨佩戴在穿戴者的各個身體部位,并能進行無線實時傳輸,為獲取人體姿態(tài)信息提供一個切實的人機交互方案。該系統(tǒng)從功能需求上主要可分為兩大模塊:數(shù)據(jù)采集模塊和數(shù)據(jù)通訊模塊。其中,數(shù)據(jù)采集模塊通過九軸慣性傳感器進行實時采集,并將采集到的數(shù)據(jù)轉(zhuǎn)化為對應(yīng)的姿態(tài)角度。數(shù)據(jù)通訊模塊集成了數(shù)據(jù)發(fā)送功能和數(shù)據(jù)接收功能,主要負責(zé)將需要發(fā)送的數(shù)據(jù)包高效地發(fā)送出去,并由接收端接收數(shù)據(jù)后通過串口傳輸數(shù)據(jù)到上位機,再進行解包讀取,最終導(dǎo)出直觀的姿態(tài)角數(shù)據(jù)。圖1為慣性參數(shù)捕捉系統(tǒng)的整體流程圖。
圖1 慣性參數(shù)捕捉系統(tǒng)的整體流程圖
慣性參數(shù)采集模塊的設(shè)計需求反映在其采集數(shù)據(jù)的實時性、可穿戴性以及數(shù)據(jù)的準確性上。
具體設(shè)計需求可分為以下幾點:
(1)體積小,容易穿戴;
(2)采樣頻率>20Hz;
(3)連續(xù)使用時間>1h。
慣性參數(shù)通信模塊分為數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊。數(shù)據(jù)發(fā)送模塊與采集數(shù)據(jù)模塊相連,負責(zé)將計算好的姿態(tài)角打包發(fā)送;數(shù)據(jù)接收模塊與上位機通過串口相連,負責(zé)將接收到的數(shù)據(jù)解包并發(fā)送到上位機程序。
(1)全局無線
傳統(tǒng)的慣性動作捕捉系統(tǒng)都是在佩戴者肢體布局大量節(jié)點,并通過數(shù)據(jù)線與發(fā)送節(jié)點連接,而繁瑣的局部線纜束縛了佩戴者的運動能力,本系統(tǒng)設(shè)計各節(jié)點實現(xiàn)獨立數(shù)據(jù)發(fā)送功能。
(2)采集部位自定義
本設(shè)計中針對數(shù)據(jù)發(fā)送模塊進行了自定義標識,可進行1~16個身體部位的運動數(shù)據(jù)采集,用戶可根據(jù)需求自行確定采集部位與采集數(shù)量。
(3)保證一定的傳輸速率
由于本設(shè)計中需要對采集到的人體姿態(tài)角度做出及時的曲線顯示與仿真顯示,并且需要保證數(shù)據(jù)的時效性,因此需要保證傳輸速率≥40Hz。
(4)多種接口輸出擴展功能
慣性參數(shù)通信模塊可以根據(jù)應(yīng)用平臺的不同,通過統(tǒng)一規(guī)定數(shù)據(jù)通訊協(xié)議來使得多個平臺都可以使用本設(shè)備。
慣性傳感器從軸數(shù)上可分為十軸慣性傳感器、九軸慣性傳感器、六軸慣性傳感器。六軸慣性傳感器包括三軸加速度計與三軸陀螺儀。九軸慣性傳感器在六軸傳感器的基礎(chǔ)上加入了三軸磁力計,可更精確定位傳感器的偏向角度。而十軸慣性傳感器加入了溫度與氣壓的測量功能。本課題中需要對人體的運動姿態(tài)角度進行獲取。十軸傳感器的氣壓與高度功能對課題中的作用不大,采用只會增加統(tǒng)搭建的成本,而六軸傳感器由于無法在偏航角上對姿態(tài)角進行修正也不作考慮。表1為多軸的傳感器性能比較。
表1 多軸慣性傳感器的性能比較
通過比對各類慣性傳感器的成本、采樣速率、傳感器以及內(nèi)嵌傳感器等要素,本課題采用九軸MPU9250慣性傳感器作為姿態(tài)角的數(shù)據(jù)采集傳感器。MPU9250具有體積小、集成度高、自帶400KHz的IIC通信以及高分辨率的數(shù)據(jù)輸出等優(yōu)點,也可滿足人體姿態(tài)角的獲取與解析。本課題的硬件電路設(shè)計中MPU9250通過SCL、SDA、VDDIO與GND接口與電路板焊接,SCL與SDA連接MCU端進行數(shù)據(jù)交互。
慣性參數(shù)采集模塊的主芯片是一個32位的內(nèi)核為Cortex-M3的STM32F103單片機芯片,STM32系列是ARM微控制器的中低端產(chǎn)品,該芯片有功耗低、成本低但又具備高性能的優(yōu)勢,芯片的工作頻率高達72MHz,可滿足獲取MPU9250慣性傳感器的交互需求。STM32內(nèi)部集成了定時器功能、IIC通訊功能以及Uart功能,也滿足數(shù)據(jù)所需的姿態(tài)解析與數(shù)據(jù)傳輸?shù)墓δ?。圖2為整個慣性參數(shù)捕捉系統(tǒng)的功能構(gòu)成。
圖2 慣性參數(shù)捕捉系統(tǒng)的功能構(gòu)成
針對硬件需求進行了慣性采集節(jié)點的設(shè)計,以保證設(shè)備的可穿戴性,并實現(xiàn)了采集模塊體積小的需求。圖3為慣性參數(shù)捕捉系統(tǒng)的實物圖。
圖3 慣性參數(shù)捕捉系統(tǒng)實物圖(正反面)
串口模塊是慣性傳感器捕捉系統(tǒng)與上位機之間關(guān)鍵的交互接口,串口模塊通過采用CH340芯片來實現(xiàn)串口向USB接口的轉(zhuǎn)換,從而使得接收端的數(shù)據(jù)能夠順利流入上位機程序。
MCU模塊是整個硬件系統(tǒng)的核心部分,它控制數(shù)據(jù)采集模塊的執(zhí)行,實現(xiàn)九軸數(shù)據(jù)向姿態(tài)角數(shù)據(jù)的轉(zhuǎn)換、姿態(tài)角數(shù)據(jù)的打包以及數(shù)據(jù)通信模塊的發(fā)送。
慣性采集模塊的主要工作是采集佩戴位置的九軸數(shù)據(jù)并通過IIC協(xié)議傳輸?shù)組CU模塊進行姿態(tài)解析,該模塊主要以MPU9250芯片組成。LED2用于顯示數(shù)據(jù)發(fā)送模塊的連接狀態(tài),若數(shù)據(jù)發(fā)送模塊未連接上與PC端連接的接收模塊,則LED2顯示紅色;若數(shù)據(jù)發(fā)送模塊連接上與PC端連接的接收模塊,則LED燈顯示紫色。
充電模塊是能通過Mini USB接口對連接的鋰電池進行充電,該模塊主要由TP4056組成。電源為整體硬件電路的運行提供所需能源,也是無線式慣性參數(shù)采集模塊必不可少的部分。經(jīng)測試,每次充滿電之后單獨的慣性參數(shù)采集模塊都可以連續(xù)使用1h以上,滿足硬件需求分析中的要求。
慣性參數(shù)采集系統(tǒng)設(shè)計完之后需要對計算好的姿態(tài)角實施精度測量實驗,證明獲取到的姿態(tài)角是否能精確測量到物體的實際姿態(tài)角信息,測試通過量角尺測量實際Roll(翻滾角)、Pitch(俯仰角)和Yaw(偏航角)的靜態(tài)數(shù)據(jù)在0°、60°和90°與慣性采集系統(tǒng)的三個角數(shù)據(jù)的最大誤差,測量一共進行了30次,表2為測試結(jié)果。
表2 慣性采集系統(tǒng)獲取姿態(tài)角與實際值最大誤差比較
由表2可知,本課題設(shè)計的慣性參數(shù)采集模塊解析的姿態(tài)角與實際量角尺測量的角度誤差基本保持在1.5°以內(nèi),Yaw角的誤差雖然偏大,但也在可接收范圍內(nèi)。
經(jīng)測試,該模塊的其他相關(guān)參數(shù)如下:
質(zhì)量:8g
體積:40mm×25mm×10mm
充電續(xù)航時間>3h(300mAh鋰電池)
因此,本課題中設(shè)計的慣性參數(shù)采集模塊滿足上下肢運動姿態(tài)角解析的需求。
本系統(tǒng)中的慣性參數(shù)通信模塊的功能主要由nRF24L01這款單片射頻收發(fā)模塊所組成的,它主要工作于2.4GHz~2.5Ghz的頻段。nRF24L01的優(yōu)勢在于功耗低,并且在數(shù)據(jù)傳輸方面相較于藍牙模塊距離更遠。
可通過MCU模塊對nRF24L01配置寄存器的數(shù)據(jù)進行修改,將其設(shè)定為發(fā)射、接收、待機、掉電四種工作模式。通過配置nRF24L01的發(fā)射模式和接收模式可進行兩個nRF24L01模塊之間的通訊,此時需要滿足三個條件:
(1)通過設(shè)置配置寄存器中的RF_CH,令發(fā)送端與接收端頻道相同;
(2)設(shè)置TX_ADDR和RX_RDDR_P0,使得發(fā)送端目標地址與接收端地址相同;
(3)保持每次發(fā)送與接收端的字節(jié)數(shù)相同。
根據(jù)以上三個條件,可搭建一對多的收發(fā)數(shù)據(jù)模塊。其中包括一個接收數(shù)據(jù)模塊和多個發(fā)送數(shù)據(jù)模塊,發(fā)送數(shù)據(jù)模塊將MCU解析出的人體姿態(tài)角數(shù)據(jù)發(fā)送出去,通過2.4GHz頻段傳輸至指定地址的接收數(shù)據(jù)模塊,接收數(shù)據(jù)模塊通過串口將數(shù)據(jù)發(fā)送至上位機。最后,對慣性參數(shù)通信模塊的數(shù)據(jù)傳輸性能進行了測試:將數(shù)據(jù)發(fā)送模塊與數(shù)據(jù)接收模塊保持5m的距離,并設(shè)置好不同數(shù)量的發(fā)送端進行數(shù)據(jù)幀傳輸?shù)臏y試,最終測試結(jié)果如表3所示。
表3 數(shù)據(jù)傳輸測試
由表3可知,在使用13個或13個以下節(jié)點用作慣性參數(shù)數(shù)據(jù)通信時,平均傳輸速率≥40Hz,滿足通訊模塊的傳輸速率需求。此外,使用nRF24L01無線模塊既滿足了全局無線的需求,也可以進行采集節(jié)點的自定義。最后,只需要通過硬件的USB線與接收模塊連接的方式獲取發(fā)送模塊傳來的數(shù)據(jù),只需要自行定義好上位機的串口功能就可搭建數(shù)據(jù)通道,滿足了多種接口輸出擴展功能。
結(jié)語:本文設(shè)計并研發(fā)了一款多節(jié)點采集無線傳輸?shù)膽T性傳感器系統(tǒng),改變了傳統(tǒng)的局部有線纜干擾的傳感器佩戴方式,解決了運動時給關(guān)節(jié)帶來的阻礙感。設(shè)備獲取到的角度精度保持在2°以內(nèi),最大傳輸速率達600Hz,滿載工作可連續(xù)使用3h以上。設(shè)備佩戴在受試者身上使用情況如圖4所示。
圖4 受試者佩戴示意圖