孫握瑜
隨著智能機器人技術的快速發展,機器人應用已經從工業領域逐步延伸到各行各業.在醫療康復領域,下肢康復訓練機器人具有比傳統人工醫療師輔助訓練更多的優點,得到康復工作者和下肢偏癱患者認可與接受[1].在實際應用中,康復訓練機器人需要最大程度地理解患者主動運動意愿,實現人機協同控制訓練,提高康復效果.為了實現人機運動協同,康復機器人需要對穿戴者的運動類型進行監測,實時提取下肢運動類別來建立主動柔性控制策略[2].
表面肌電信號蘊含了運動信息,其被廣泛應用于姿勢和動作的識別[3?4],但是肌電信號模糊性強,加之人體姿態信息非常復雜,單獨基于肌電信號對運動類型進行判斷,很難對人體運動類別進行準確識別.很多研究者通過各種傳感器采集運動對象運動期間的關節角度等幾何特征,以及三軸加速度表示的物理特征,通過這些信號有機融合來提升運動類型識別的準確率[5?7].本文基于物聯網技術設計了一種下肢運動實時監測系統,融合了肌電信號、足底壓力信號、腿部運動的加速度和角速度,對下肢運動類別進行識別.
設計的下肢運動實時監測系統主要包括硬件系統和與其對應的APP應用兩部分.其中硬件系統由主控模塊、傳感器模塊、無線傳感模塊構成,具體結構如圖1所示,其中主控模塊采用STM32作為主控芯片,在無線傳出模塊中采用藍牙透傳模塊HC?05作為數據收發模塊,傳感器模塊中主要包括OYMothion表面肌電傳感器、柔希科技D207薄膜壓力傳感器和維特智能WT901姿態傳感器.

圖1 下肢運動實時監測系統硬件部分件結構框圖
肌電傳感器和壓力傳感器采集的為標準電壓值,通過模擬口與STM32相連,姿態傳感器信號與STM32串口相連.硬件系統中使用了兩個薄膜壓力傳感器,分別用于采集前腳掌和后腳跟的壓力.考慮到人體不同部分肌肉電釋強度不同、采集部位不同時,肌電信號值可能出現較大的波動,系統使用了雙通道表面肌電傳感器采集兩個部位的表面肌電信號.系統中姿態傳感器模塊在使用前,將其回傳數據設置為加速度、角速度和歐拉角.STM32單片機采集的數據最后由藍牙透傳模塊通過無線轉發給APP應用.
針對實時采集傳感器數據需求,主控芯片完成四項主要功能,一是從四個模擬輸入端口分別讀取前腳掌和后腳跟的壓力信號值;二是獲取兩通道的表面肌電信號值;三是從serial1串口讀取姿態傳感器的數據;四是以不同頻率發送到藍牙模塊.STM32對數據的發送邏輯如圖2所示,首先STM32上電后對系統進行初始化,然后持續讀取與藍牙透傳模塊相連的serial2串口數據,當接收到來自手機APP應用發出的“發送數據”指令,就立即將采集的數據以不同頻率發送出去.每次轉發前先讀取serial2串口接收的數據,如果收到“停止發送”,則停止藍牙數據發送.

圖2 單片機對信號發送邏輯流程圖
STM32在通過藍牙透傳模塊發送時,需要以不同速率發送各種傳感器的數據.本系統中設置肌電信號頻率為1000 Hz,前腳掌和后腳跟壓力傳感器和姿態傳感器的信號發送速率為100 Hz.在程序中的邏輯是每發送9次肌電信號后,在第10次發生數據時將兩組壓力傳感器和姿態傳感器的數據一起發送.
為實現手機應用和硬件系統藍牙模塊的穩定可靠通信,本系統制定了手機藍牙發送指令到BLE藍牙通訊模塊的數據幀和BLE藍牙通訊模塊響應給手機藍牙的響應數據幀.手機藍牙發送指令到BLE藍牙通訊模塊的數據幀如表1所示.

表1 手機藍牙發送指令到BLE藍牙通訊模塊的數據幀
LEN:數據長度,從LEN字節開始到校驗碼字節的長度,值為3.
CMD:命令類型,取值為0x00時表示讀取傳感器數據請求,取值為0x01表示停止讀取傳感器數據請求.
校驗碼:是整個數據幀的校驗碼,通信雙方選擇CRC校驗、奇偶校驗中一種即可.
BLE藍牙通訊模塊響應給手機藍牙的響應數據幀如表2所示.

表2 BLE藍牙通訊模塊響應給手機藍牙的響應數據幀
LEN:表示數據區的長度,取值可以為2或7,表示2個字節或7個字節.數據區為7個字節時,從左向右,第1、2個字節為兩個通道的肌電信號值,第3、4個字節為前腳掌和后腳跟的壓力值,第5、6、7個字節為姿態傳感器的歐拉角、角速度和加速度三個數據值.校驗碼含義與手機藍牙發送指令到BLE藍牙通訊模塊的數據幀中校驗碼含義相同.當藍牙模塊本次僅僅傳輸兩個通道的機電信號值時,數據區的7個字節只用前2個字節,數據量為0x02.ACK:反饋字節,為0x00表示正常,為其他值時表示有其他情況,ACK異常取值規則為:Bit6~Bit0,每一位代表1路傳感器工作狀態,0表示狀態正確,1表示異常.
在系統上位機設計中,下肢運動實時監測APP需要完成手機與監測硬件模塊的藍牙連接,根據采集的各種傳感器信號值進行運動類型的識別.APP應用主要實現兩大功能,一是對硬件系統中藍牙透傳模塊的搜索、連接,連接后給硬件系統發送開始和結束發送的命令;二是對采集到的傳感器數據流進行接收、分割,并進行下肢運動類型的模式識別.下肢運動分為靜態動作和動態動作兩種模式,靜態動作主要包括站立和坐立兩種,姿態傳感器固定在運動對象的大腿位置,當運動對象站立或坐立時,姿態傳感器的角速度信號幾乎為0且穩定,根據壓力傳感器數據信號就可以進行識別.動態動作是一種循環連續的運動,本系統對采集的sEMG肌電信號、姿態傳感器信號,基于線性判別分析算法(Linear Discriminant Analysis,LDA)[8]進 行 動作識別.下肢動靜態運動類型模式識別流程如圖3所示.如果姿態傳感器的角速度信號值大于靜止時姿態傳感器角速度值,則當前運動類型為動態動作,然后進一步根據截取的sEMG肌電信號依據LDA算法進行模式識別,得出識別結果;如果判定為靜態動作模式,則只需要根據足底壓力與站立時足底壓力比較結果即可以得出處于站立狀態還是坐立狀態.

圖3 動靜態運動類型模式識別流程
為了檢驗本文設計的下肢運動實時監測系統設計的有效性,在Android端APP中進行如下操作:進入APP主界面,首先點擊右上角設備按鈕,進入連接設備界面,系統電子硬件連接界面如圖4所示,搜索附近藍牙設備,手動選擇進行連接;然后返回主界面運動數據監測界面,當系統的硬件設備綁在腿部時,即可在運動數據監測界面看到運動類別提示,數據監測界面如圖5所示.

圖4 APP中藍牙設備連接主界面

圖5 數據監測界面
系統APP應用主要對行走、跑步、高抬腿、原地踏步、站立和坐立6種下肢運動進行訓練和識別.其中靜態運動類型根據采集的姿態傳感器和足底壓力傳感器信號可以準確識別;動態運動類型的識別,LDR算法截取sEMG肌電信號段不同,識別準確率會有所差異.為了提升下肢動態運動類型的準確率,系統測試時,對每個運動周期按照后腳跟最大壓力和前腳掌最大壓力兩個關鍵時間節點T1、T2來分段,將每個運動周期分為四個階段,即T1前200 ms、T1后200 ms、T2前200 ms、T2后200 ms,分別用T1?、T1+、T2?、T2+表示.系統測試表明LDA算法截取不同階段進行運動類型訓練和動作識別的準確率不同,表3為系統對各個階段各種下肢動態運動類型識別準確率一覽表.

表3 下肢動態運動類型識別準確率一覽表
從表3中可以發現,系統對運動類型的識別率均較高,其中LDR算法選取T1+、T2?兩個階段的識別率更高一些,這兩個時段腳接觸地面,肌電信號更具有代表性.因此本系統APP應用LDA算法截取階段均選取T1+階段作為動作訓練和識別時間窗口.
本文針對康復機器人系統中需要實時提取下肢運動類別問題,設計了一種基于物聯網技術的下肢運動實時監測系統.系統能根據肌電信號、角速度信號、加速度信號和壓力信號,對六種下肢動作類型進行識別,測試結果表明系統具有較高的準確率.
本文僅考慮了六種下肢運動類型的識別,其他類型運動的識別有待進一步研究與驗證.同時,本文實驗測試時,從安全性角度考慮,選擇的測試對象為下肢健全人.健全人的運動識別結論對于下肢有損傷或殘疾的患者是否有效仍有待進一步驗證.