本文內容轉載《計算機測量與控制》2019年第9期,版權歸《計算機測量與控制》編輯部所有。
夏為浩,張少帥
廣西桂林國營長虹機械廠,北京航天測控技術有限公司
摘要:針對傳統的如光學式、機械式等動作捕捉系統在成本、使用環境及精度等方面各有優劣的特點,設計了一套基於慣性傳感器的動作捕捉系統,通過在人體各部位佩戴慣性傳感器節點,實時採集各部位的運動慣性數據,通過WIFI通信發送至數據處理終端,對數據進行存儲和顯示;經實驗驗證所設計動作捕捉系統能夠正確採集人體慣性運動數據,系統的使用不受時間和地點的限制,具有成本低廉、穿戴方便和操作簡單等特點,可以深入應用於醫學、體育和軍事等多個領域。
關鍵詞:慣性式動作捕捉系統;數據傳輸節點;無線通信
0引言
動作捕捉技術是通過數字測量技術實時獲取人體的三維運動信息,然後對信息進行分析和使用。弗萊舍在1915年發明的動態遮罩技術被認為是動作捕捉技術的始祖。20世紀70年代,紐約計算機圖形實驗室設計了一種光學動作捕捉裝置,能夠實時地在屏幕上顯示演員的動作,成為了現代動作捕捉技術的起始。現代動作捕捉系統基於捕捉原理的不同,包括聲學式、電磁式、光學式、機械式、視頻捕捉式和慣性式。聲學式和電磁式的捕捉系統精度比較差,且受環境噪聲和磁場的影響比較大;光學式的捕捉系統精度高,但安裝複雜,成本高和對環境要求高;機械式的動作系統穿戴困難,且會影響人體的自由活動;視頻捕捉式的捕捉系統雖然不需要在人體身上佩戴傳感節點,但算法複雜,實現難度大。
基於慣性傳感器的動作捕捉系統,其具有便攜穿戴、操作簡單和成本低廉的特點,能夠不受時間和地點的限制,持續不斷地採集人體各個部位的實時運動信息,在跌倒監測、體育訓練、軍事訓練、體感遊戲、虛擬實境和增強現實方面都得到了廣泛應用。例如在跌倒監測方面,通過在手腕或其他部位佩戴慣性傳感器,實時採集佩戴部位的加速度、角速度等信息,當人體突然跌倒時,佩戴部位的慣性數據會發生突然變化,從而判斷出人體發生跌倒,及時向家屬和醫護人員進行求助。
典型的基於慣性傳感器的動作捕捉系統主要由慣性傳感器節點、數據傳輸節點和遠程數據處理終端三部分組成。慣性傳感器節點通過採集人體相應部位的運動慣性數據如:加速度和角速度等數據;數據傳輸節點將傳感器節點採集的慣性信息進行整合和處理,通過有線或無線的方式發送到處理終端。遠程數據處理終端對接收自傳輸節點的數據進行處理、存儲和顯示,以備下一步的應用。
目前,美國Inertiallabs公司已經推出了商業化的慣性式動作捕捉系統3Dsuit,荷蘭的Xsens公司也推出了自己的Xsens MVN慣性動作捕捉系統,兩者都可以實時採集人體各部位的姿態數據,快速地完成人體姿態地測量,已經廣泛應用與國外的CG電影製作。當前國內慣性式動作捕捉系統的商業化的程度比較低,大多數仍停留在實驗室階段,浙江大學的李啟雷等人研發的慣性式動作捕捉系統,可以採集人體運動的加速度和磁力數據;中國科學院大學的汪俊等人所設計的慣性動作捕捉系統,各慣性傳感器節點通過無線WIFI模塊進行連接,節點的體積較大;馬傑和劉莉琛兩人所在的團隊設計了基於Zigbee通訊的慣性式動作捕捉系統,但Zigbee的通訊速率限制了捕捉系統的採樣速度與精度。
本文基於當前對慣性式動作捕捉系統的研究,提出了一種基於慣性傳感器的動作捕捉系統,各慣性傳感器節點與數據傳輸節點間通過485總線進行連接,數據傳輸節點與數據處理終端間通過無線WIFI通訊進行數據交換,在減小傳感器節點體積的同時,提高了動作捕捉系統數據傳輸速率,極大提高了人體的活動範圍,具有成本低、可靠性高和穿戴方便等特點。
1系統結構及原理
本文所設計的慣性式動作捕捉系統的總體結構如圖1所示。慣性式動作捕捉系統包括MEMS慣性傳感器節點、數據傳輸節點、數據接收節點和數據處理終端四部分組成。慣性傳感器節點佩戴在人體的手部、腳部等各個部位,實時採集各部位的慣性運動數據。數據傳輸節點按照一定的採樣頻率通過485總線向各個傳感器節點發送請求慣性數據的指令,傳感器節點在接收到請求指令後,通過485總線將慣性運動數據發送到數據傳輸節點。數據傳輸節點在完成一次對485總線上所有傳感器節點的數據採集後,對數據進行打包,然後通過WIFI發送到數據接收節點。數據接收節點在接收到數據傳輸節點發送來的數據後,通過USB將數據發送至數據處理終端。數據處理終端對接收到的慣性運動數據包進行校驗、處理、存儲和顯示,完成一次完整的慣性運動數據的傳輸流程。
圖1 慣性式動作捕捉系統總體結構圖
2 系統硬體設計
2.1 慣性傳感器節點的設計
圖2所示是慣性傳感器節點的硬體設計圖,慣性傳感器節點板載一個型號為MPU9150的九軸慣性傳感器晶片,STM32F051主控晶片通過I2C接口即可讀取慣性傳感器所採集的三軸加速度數據、角速度數據與磁力計數據。節點擴展多路AD採集接口,擴展接口可以連接肌電傳感器等生理信號傳感器,從而實現對更多人體運動生理數據的採集。各個傳感器、主控晶片與485通訊晶片通過一個3.3V的低壓差線性穩壓晶片進行供電,以減少電源的紋波噪聲對傳感器輸出信號的影響。
圖2 慣性傳感器節點的硬體設計
2.2 數據傳輸節點的設計
數據傳輸節點的硬體設計圖如圖3所示,節點上各個晶片通過3.3V線性穩壓晶片進行供電,STM32F405主控晶片通過485總線向各個傳感器節點發送慣性數據請求指令,然後接收各個傳感器節點發送來的慣性數據。對數據進行校驗和打包後,通過SPI總線發送至CC3200晶片。
圖3 數據傳輸節點的硬體設計
CC3200是TI公司推出的一款具有片上SOC的WIFI通信晶片,支持站點(STA,Station)和無線接入點(AP,Access Point)兩種工作模式,在TCP通信協議下可以達到12Mbps的通信速率,在UDP連接下可以達到16Mbps的通信速率。同時CC3200內部具有一個Cortex-M4核心的專用ARM CPU,負責建立兩個設備之間的WIFI連接和協議通訊,使得主控晶片可以免於無線通信的處理負擔,提高數據的處理速度。CC3200在通過SPI接收到自STM32F405發送的慣性數據後,通過WIFI通訊發送至數據接收節點。
2.3 數據接收節點的設計
圖4所示是數據接收節點的硬體設計圖,數據接收節點的CC3200在接收到數據傳輸節點發送來的運動慣性數據幀後,向主控晶片發送外部中斷,主控晶片在接收到外部中斷後,通過SPI接口讀取CC3200接收到的慣性數據幀,然後通過ULIP接口將數據經USB3300晶片發送至數據處理設備。USB3300是一款支持USB2.0 High Speed的PHY晶片,其最高可以達到480Mbps的通信速度,滿足所設計的動作捕捉系統對數據傳輸速率的要求。
圖4 數據接收節點的硬體設計
3 系統軟體設計
3.1 慣性傳感器節點的軟體設計
慣性傳感器節點的軟體流程圖如圖5所示,傳感器節點在上電後,stm32主控MCU按照設定的採樣頻率對定時器中斷進行初始化,然後對I2C和USART通訊接口進行初始化,等待定時器中斷的置位,通過I2C接口讀取MPU9150傳感器的三軸加速度、角速度和磁力計數據,將數據保持到緩存buffer中,等待下次定時中斷的出現,對緩存buffer中的數據進行更新。在循環採集的過程中,當數據傳輸節點向傳感器節點發送請求指令的數據幀後,傳感器節點的串口接收中斷置位,程序進入串口中斷服務函數中,首先對接收的數據幀進行校驗,保證接收數據幀是完整無誤的,然後判斷數據幀是否為針對本節點的請求數據指令幀,如果指令請求地址與本節點地址相同,程序將對緩存buffer中存儲的數據進行打包和校驗,然後使能串口將節點慣性數據幀發送至數據傳輸節點,最後退出串口接收中斷服務函數。
圖5 慣性傳感器節點的軟體流程圖
為保證慣性傳感器節點與數據傳輸節點之間的數據傳輸的可靠性,防止由於數據丟包而產生數據異常,節點之間的數據交換採用ModBus通信協議,通過數據幀中的CRC16校驗碼保證數據的有效性,表1所示為慣性傳感器節點發送的慣性數據幀定義。如果數據傳輸節點接收數據幀異常,數據傳輸節點將向相應節點重新發送請求數據指令。
表1 傳感器節點慣性數據幀定義
3.2 數據傳輸節點的軟體設計
圖6所示,數據傳輸節點在上電後,對stm32的各個外設進行初始化,首先按照系統允許的傳感器節點地址範圍,依次發送對應各節點地址的請求慣性數據指令幀,如果485總線上存在相應地址的傳感器節點,該節點將回復慣性數據幀。當數據傳輸節點接收到傳感器節點發送來的數據,且校驗成功後,就將對應的節點地址存儲到節點輪詢地址表中,生成完整的節點輪詢地址表。按照系統設定的採樣頻率使能定時器中斷,當中斷標誌置位後,數據傳輸節點按照節點輪詢地址表依次向各個傳感器節點發送指令幀,請求慣性數據,在接收到慣性數據幀並校驗成功後,保存至緩存buffer中。完成節點輪詢地址表中所有傳感器節點的輪詢後,對接收到的數據進行校驗和打包,生成數據傳輸節點的慣性數據幀,通過SPI接口發送至CC3200無線通信晶片,通過WIFI通訊發送至數據接收節點。
圖6 數據傳輸節點的軟體流程圖
數據傳輸節點的程序設計中,主控處理器的串口接收和發送,SPI接口的發送和接收,均採用DMA傳輸,在數據發送和接收的過程中,不需要處理器參與操作,可以大大減少處理器的負擔。
3.3 數據接收節點的軟體設計
數據接收節點作為數據處理終端與數據傳輸節點之間的通訊橋梁,完成數據透傳,其程序的運行流程如圖7所示。在上電完成stm32外設和CC3200的初始化後,當數據處理終端通過USB接口向數據接收節點發送使能數據接收的指令後,主控MCU使能外部中斷。當CC3200接收到數據傳輸節點發送來的慣性數據幀後,向主控MCU發送一個脈衝信號,主控MCU在接收到脈衝信號,外部中斷標誌位置位,主控MCU通過SPI接口讀取CC3200接收到的慣性數據幀,然後通過USB接口將慣性數據幀發送至數據處理終端,完成一次數據處理終端與數據傳輸節點之間的數據交換。
圖7 數據接收節點的軟體流程圖
3.4 WIFI通信的軟體設計
圖8所示是數據傳輸節點和數據接收節點上WIFI通信晶片CC3200各自的軟體流程圖。數據傳輸節點的WIFI通信晶片被配置為STA模式,其在無線區域網中是一般客戶端,可以認為是我們日常使用的接入無線網的智慧型手機。數據接收節點的WIFI通信晶片被配置為AP模式,其可以認為是日常生活中所使用的無線路由器,當用戶識別碼(SSID,Service Set Identifier)被設置後,數據接收節點向周圍設備廣播自己的SSID。數據傳輸節點在掃描到數據接收節點廣播的SSID後,向數據接收節點發送連接請求命令,數據接收節點在接受連接請求後,向數據傳輸節點分配IP位址,建立數據傳輸節點與數據接收節點之間的WIFI通信鏈路。
數據鏈路層和網絡層建立連接後,動作捕捉系統使用具有重傳功能的TCP通訊協議實現數據傳輸節點與數據接收節點之間的數據通訊,以保證節點之間數據通訊的正確性和完整性。如圖所示,配置數據接收節點為TCP伺服器,創建一個TCP套接字(Socket),綁定IP位址、埠等信息到套接字上,開啟監聽,等待TCP客戶端的連接。當接收到來自TCP客戶端的連接請求後,接受請求,建立TCP連接,創建新的套接字用於與TCP客戶端進行連接,循環等待TCP客戶端發送慣性數據幀,在接收到慣性數據幀後,向主控MCU發送脈衝信號。數據傳輸節點配置為TCP客戶端,創建套接字以連接到TCP伺服器上,當接收到主控MCU發送來的慣性數據幀後,通過TCP連接將數據幀發送至TCP伺服器。
圖8 WIFI通信的軟體流程圖
3.5 數據處理終端的軟體設計
數據處理終端的軟體程序由數據處理模塊、數據存儲模塊和數據顯示模塊三部分組成,數據處理終端通過USB接口接收數據接收節點發送來的慣性數據幀,對數據進行校驗和處理,顯示各個節點的慣性運動數據,同時將各節點的慣性數據儲存到本地文件中,以備後續進一步的處理和使用。
4 實驗結果與分析
基於上述設計,本文完成了慣性動作捕捉系統的硬體與軟體調試工作,並進行了慣性數據採集試驗。將慣性傳感器節點附著在身體的腳踝、手腕和手臂等各個部位,數據傳輸節點以100Hz的採樣頻率採集實驗者在慢走、快走和跑步等多種動作下各個傳感器節點測量的慣性運動數據,通過WIFI發送到數據接收節點,數據處理終端通過USB讀取數據接收節點接收到的數據,保存到本地存儲中。經試驗驗證,所設計的動作捕捉系統能夠長時間穩定地採集人體各個部位的慣性運動數據,圖9所示為數據處理終端保存在本地的節點慣性運動數據文件。
圖9 慣性運動數據保存文件
使用存儲的慣性運動數據繪製了人體的手腕和腳踝在慢走和跑步兩種動作下加速度的變化曲線,如圖10所示。由圖可以看出,在跑步動作下,人體腳踝部位的加速度信號的變化頻率比慢走動作要快,且跑步動作加速度信號的峰值超出慢走動作10m/s2左右,這是由於跑步動作下人體的步頻比慢走要快,且腳部對地面的衝擊比慢走動作要大。相反,在跑步動作下手腕部位的加速度信號比慢走動作下要規律地多,且跑步動作下的加速度峰值為60m/s2左右,慢走動作下只有20m/s2左右,這是由於人在跑步動作時手部要進行大幅度且有規律的擺動,從而保持人體平衡。而慢走狀態對人的手部運動沒有要求,手部的運動會更加的自由和隨意。由以上可知,所設計的慣性式動作捕捉系統採集的不同動作下人體各關節部位的運動慣性數據的變化特徵符合人體運動的一般規律,驗證了本文所設計慣性式動作捕捉系統的有效性。
圖10 慢走和跑步下手腕和腳踝加速度信號
5 結束語
本文基於MPU9150九軸慣性傳感器、CC3200無線通信晶片等設備,設計了一款基於慣性傳感器的動作捕捉系統。通過在人體各部位佩戴複數慣性傳感器節點,實時採集人體不同部位的運動加速度、角速度和磁力計數據,通過WIFI無線通信發送至數據處理終端,對數據進行存儲和顯示。所設計的系統成本低、可靠性高,穿戴方便,能夠最大限度地減少捕捉系統對人體活動的限制,具有實際應用意義。後續將增加數據處理終端對採集的運動數據進行進一步地處理和分析的功能,將其應用於健康監測、康復訓練、體育訓練和軍事等多個領域。
推薦培訓:
《運動(慣性)傳感器核心技術培訓課程》將於11月15日~17日在無錫舉行,本課程邀請MEMS領域優秀講師和產業專家,重點講解運動(慣性)傳感器核心技術,包括:(1)運動傳感器產業及應用綜述;(2)MEMS慣性傳感器技術及產業分析;(3)MEMS慣性傳感器設計技術詳解;(4)高精度MEMS加速度計技術詳解;(5)工業級MEMS加速度計及應用:振動傳感器;(6)MEMS高度計/氣壓傳感器技術及產業分析;(7)MEMS慣性傳感器系統特性分析;(8)運動傳感器ASIC技術詳解;(9)高精度單晶片多軸MEMS慣性傳感器技術詳解。如果您有興趣,請聯繫:
麥姆斯諮詢
聯繫人:趙婷婷
電話:18021192087
郵箱:ZHAOTingting@MEMSConsulting.com