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