邢路寬 楊顯業 梁恒諾 闞江明
摘 要:主要構建了一種基于前臂表面肌電信號控制的智能小車,包括前臂表面肌電信號感知層、肌電信號分析層,智能小車控制層和小車硬件層,前臂表面肌電信號感知層通過4路肌電信號傳感器感知掌長肌、肱繞機、指伸肌、指側腕伸肌的4個位置的肌電信號并傳輸給肌電信號分析層;在肌電信號分析層對4路肌電信號進行預處理、特征計算和給予支持向量機的模式分類,識別前臂的6個動作,并將識別結果通過無線傳輸給智能小車控制層;在智能小車控制層根據前臂動作的識別結果驅動電機轉動。實驗表明,所開發的智能小車可以識別不同手勢,完成設計動作,為將表面肌電信號控制方式進一步拓展應用至其他實際工具提供了技術支持。
關鍵詞:智能小車 表面肌電信號 PMW波模式識別
中圖分類號:TP23 文獻標識碼:A 文章編號:1674-098X(2015)10(a)-0080-04
表面肌電信號由人體肌肉在人體動作時產生的生物電變化,是一種蘊含信息豐富,具有實時性,獲取無損傷性的信號。在文獻[1]中,我們可以看到在康復醫學及智能假肢領域,肌電信號識別技術已經從實驗室研究階段走向臨床商業應用階段。但是在工業機械操作與實際生活中,表面肌電信號控制的應用并不多見,倘若可以使用表面肌電信號控制應用在工業設備上,便能夠讓操作人員通過更加直觀的手勢來取代紛繁復雜的按鈕,也可以讓手指和手掌有功能障礙的人,通過前臂來控制機械設備,將人與設備更好的連接在一起,使人的意識與機械電子設備相統一,從而達到人機一體化的效果。
該文嘗試設計一種由表面肌電信號控制的智能小車,建立一種更加直觀、有效的控制方式,從而進一步解放人類的雙手,滿足日益繁忙的工作任務。首先,本文第一部分介紹了智能小車整體設計;第二部分對小車的硬件結構及控制電路進行設計;第三部分設計了軟件部分,包括:肌電信號分析處理及智能小車的無線傳輸協議、運動控制實現;第四部分,對智能小車在實際道路上的無線傳輸距離進行了測試;第五部分,對本文設計的智能小車控制效果進行了總結。
1 智能小車系統設計
小車分類基于SVM支持向量機分類識別技術,智能小車的整體系統設計結構如圖1,其系統結構主要劃分為4層,分別是:前臂表面肌電信號感知層、肌電信號分析層、智能小車運動控制層、小車硬件層。
第一層是前臂表面肌電信號感知層:我們選擇人體右前臂表面的4個位置,在完成6個動作時所發出的表面肌電信號收集并保存。
第二層是肌電信號分析層:將所獲取的肌電信號轉入MATLAB數學矩陣分析軟件進行分析。通過預處理,濾除噪聲,特征值提取后,進行分類識別,后將分類識別的結果通過無線模塊傳輸發送給智能小車的主控芯片。
第三層是智能小車控制層:小車主控芯片收到肌電信號分析層所得出的分類識別結果后,按照提前制定的通訊協議執行指令,之后對電機驅動板輸出控制電平,最終讓電機驅動板驅動電機運動,電機帶動小車完成動作。
第四層是小車硬件層:由小車主要硬件部分組成,分別是小車承重板,小車下底盤,小車電機、小車輪、小車減震彈簧、小車電池組以及萬向輪,7個硬件部分組成。3D結構如圖2所示。
2 前臂肌電信號采集
在收集試驗中,我們使用上海均康醫用設備有限公司生產的JK-1(A~H)貼片電極,肌電采集器我們選用成都儀器廠生產的RM6240B型多通道勝利信號采集系統。采集時,我們選取掌長肌、肱繞機、指伸肌、指側腕伸肌4塊目標肌肉的肌腹位置。采集6種手勢(握拳,展拳,手掌上切,手掌下切,手掌左切,手掌右切)的信號保存。并且為了擴大樣本廣泛性,我們建立靜態肌電信號庫,采集不同年齡、不同性別、不同體重的20個人,每個人測量6個動作,每個動作采集10次,共計1200個肌電信號。
3 智能小車控制硬件設計
3.1 小車動作硬件實現
考慮到小車載人代步功能,我們參考市場上電動車的電動機,我們選擇36V,350w的有刷直流電機兩臺,設計兩臺電機一左一右放置,兩臺電機同時向前或向后轉動,就可以實現前進后退的動作,調整兩臺電機的轉速,在兩個車輪之間形成差速,完成小車的左轉右轉的動作。小車的硬件工作流程圖如圖3所示。
肌電信號分析層的將分類結果通過無線傳輸發送至下位機的NFR24L01無線模塊,無線模塊將所接收的結果轉化為TTL電平傳輸至STM32主控芯片,STM32將無線模塊傳輸的結果與無線通訊協議相對照,對照后,通過自身豐富的I/O口引腳資源對電機驅動板電機驅動板輸出電平,調節電機的轉向,完成小車動作。
3.2 主控芯片的選擇
文中設計的小車采用意法半導體公司生產的STM32F103ZETT6,用來完成指令識別對比、小車動作控制、外部通信拓展3個任務。它采用的是Cortex-M3內核。Cortex-M3是一種32位嵌入式RISC處理器,工作頻率可達72 MHz,能實現高端的運算。內置有2個基本定時器,4個通用定時器,高速存儲器(高達512 kB的閃存和64 kB的SRAM)且具有112個通用I/O口和連接到3條SPI總線的外設,對其外設的配置可帶來極好的控制和聯接能力。處理器可根據系統設計要求進行合理優化,工作電壓可以再2.0~3.6 V之間,在3.3 V的供電電壓下,其典型的消耗電流僅為1.4 μA。
3.3 硬件電路設計
3.3.1 電機驅動電路
智能小車行駛動力來自于前輪的兩個有刷直流電機,轉向利用兩個電極差速轉向,所以我們需要根據電機輸入需要,要求電機驅動板可以提供足夠的正電壓和負電壓驅動電機。本智能小車采用直流半橋驅動電路來控制電機的雙向運動,而且電路功耗低,并且持續穩定的智能小車提供足夠的動力。兩個直流有刷電機額定電壓為36 V,額定電流為12.4 A,額定輸入功率為350 W,基于以上參數,我們選擇工作電壓4~41 V,MOSFET管峰值電流為110 A,輸出功率最高540 W的半橋驅動器,利用2對半橋電路驅動2個電機,調整MOSFET管的導通狀態,使兩臺電機完成正反轉的動作,并且利用智能小車STM32主控芯片提供定時器功能中的PMW調制功能,調整輸入電機驅動電路的PMW波的占空比來控制電機轉速。
3.3.2 無線通信電路
現如今無線傳輸技術日趨成熟,常用的主要有超寬帶技術、IrDA技術等,但IrDA技術傳輸速率低,超寬帶技術開發難度高,并不適合小車使用。所以,我們選用傳輸速率高、成本低、功率小、體積小的NFR24L01的無線通信模塊來構架智能小車的無線傳輸系統。
模塊簡介如下。
(1)低功耗1.9~3.6 V工作,待機模式下狀態為22 μA;掉電模式下為900 mA。
(2)模塊工作于Enhanced Shock Burst,具有Automatic packet handling,Auto packet transaction handling,具有可選的內置包應答機制,極大地降低丟包率。
(3)模塊內置硬件CRC,檢錯和點對多點通信地址控制。
NFR24L01無線傳輸模塊采用標準的AT指令控制。可以采用串口中斷接受數據的模式,我們設計了串口緩存,而且ARM指令集中提高了CMP指令,可以通過判斷關鍵字來判斷解析命令。NFR24L01模塊通過AT指令設置收發地址。按照一定步驟可以建立一對點對點的通訊機制。
3.3.3 電源電路
文中設計的智能小車,內耗主要為控制電路和電機驅動電路兩部分。主控制器電源為+3.3V,而電機驅動芯片以及電機則需要的電壓+40V,故我們選擇+40V的鋰電池作為電機與電機驅動芯片的驅動電源,而利用+3.3V的恒壓充電電源作為主控芯片的電源,2個電源分別供電,防止電壓過大時,燒毀主控芯片。
4 智能小車控制軟件設計
智能小車軟件是智能小車的邏輯控制部分,在本部分當中,我們設計了肌電信號識別軟件和小車控制軟件。
4.1 肌電信號分析軟件
肌電信號分析層由:預處理,特征值計算,SVM支持向量機分類識別,最終通過無線模塊向下位機發送指令。信號分析與識別的詳細研究請見《基于支持向量機的前臂表面肌電信號動作識別方法》。
4.2 小車動作控制軟件
控制軟件基于windows操作環境,利用Keil ? vision 4軟件,利用C語言格式編寫。
本程序主要實現2個功能:PC機與智能小車之間的無線應答,小車接受指令后執行動作。它包含的控制設備有:NFR24L01無線模塊,主控芯片內部時鐘,I/O管腳。
上位機與智能小車之間的應答:通過主控芯片將無線模塊初始化之后,一直使無線模塊處于接收狀態,在接收到之后,先于無線通訊協議進行對比,判斷是否存在相對指令,有則執行并且返回識別結果,例如返回“前進指令收到”,無則返回“無效指令”,通過上位機與智能小車之間的無線應答機制,可以實時觀察對小車控制,避免了錯誤指令的執行,使控制更加精確。
執行動作:當無線模塊接收到了命令之后,并且判斷存在相應有效指令之后,通過對主控芯片對電機驅動板的I/O口輸出電平與內部時鐘PMW波輸出,電機驅動板驅動電機完成動作。具體軟件流程見圖4所示。
4.3 無線控制協議設計
通過模式識別之后,大多數所得的指令都是相對應的數值,或者是矩陣形式的數據結果,智能小車對此無法做出快速的反應,所以,我們需要將生物信號轉化成數字信號后,進行分析,再將分析用的數字信號結果轉化為對應的機器語言,所以,建立一個簡單實用的傳輸協議至關重要。
4.3.1 指令的傳輸協議
STM32主控芯片中的提供的比較指令CMP,CMP指令格式為:
CMP{條件}{P}
CMP指令允許把一個寄存器中的內容與另外一個寄存器中的內容或立即值進行比較,更改狀態來進行條件允許。如此,CMP指令與IF條件語句配合,我們就可以將指令與協議進行比較,執行正確的指令。
4.3.2 指令幀格式
完整的指令幀格式主要由于本智能小車利用主控制器芯片中的對比函數經行指令的識別,函數規定發送32個字母組成字符串后,進行對比,選擇相應命令進行執行。所以,智完整命令幀當中,共包括:數序字頭8byte,地址8byte,有效的命令數據4byte,還有最后的CRC校驗碼,共4個部分。(見表1)
4.3.3 動作與指令協議
智能小車共有6個動作,分別對應人體相對的6個動作(見圖5):即前進——小臂向前伸直,后退——小臂向后勾,左轉——手掌向左偏,右轉——手掌向右偏,停止——手掌握拳,減速——手掌向下切。
對應的小車動作的指令如表2所示。
5 實驗及測試
通過實驗驗證系統實現無線控制的可行性。實驗具體是:智能小車、無線傳輸模塊、PC模式識別三部分。其傳輸距離實驗具體事實如下。
無線射頻模塊NFR24L01理論最大傳輸距離是100 m左右,但是安裝在智能小車上之后,傳輸距離肯定會受到小車結構的影響,或者是其他環境因素的干擾,所以,我們將無線模塊直接安裝在小車上,在實際道路中進行測試。
由于復雜的地形及其環境因素,信號衰減較嚴重,小車接到信號的時間變長,并且在距離PC模式識別部分32.1 m后,開始出現丟失指令,當小車的運動范圍進一步擴大時,對小車的控制就變得困難,需要多次發送指令后,小車才會產生動作,并且小車反應明顯遲鈍,失去了控制的意義。
最終,小車在距離PC模式識別部分52 m時,出現無法接受指令控制的極限距離。
6 結語
該文設計了一種利用人體肌肉信號作為控制信號源的無線智能小車,實現了人-車之間的人機交互。該智能小車采用ARM系列的STM32芯片作為主控芯片,具有無線通信,指令識別。本論文的主要工作主要有以下幾個方面。
(1)設計了基于ARM系列的STM32小車運動硬件控制系統,主要包括:電源電路、控制系統電路、無線通信系統、電機驅動電路,使用Keil ? vision 4完成了小車軟件設計。
(2)設計了小車的軟件部分:利用MATLAB矩陣分析軟件設計了信號分析識別軟件使用Keil ? vision 4完成了小車軟件設計。
(3)在智能小車內部建立了無線協議,利用NFR24L01模塊建立智能小車的無線通訊系統。
(4)通過實驗測的小車在實際使用狀態下的無線傳輸有線距離,約為26 m,無線傳輸極限距離為32.1 m。
同時本論文設計的智能小車為今后更加復雜的智能小車的設計提供了平臺與拓展,也為手指或者手掌功能障礙的人群控制車輛或者其他提供技術支持。
參考文獻
[1] 許宏,張怡,陳錫愛,等.遠程半自主機器人監控系統的設計及實驗[J].機器人,2010,32(1):127-131.
[2] 張鍇,李世光,朱曉莉,等.基于STM32的智能巡線小車[J].電子測量技術,2012,35(2):105-107.
[3] M.S.Hussain,Md.Mamun. Effectiveness of the Wavelet Transform on the Surface EMG to Understand the Muscle Fatigue During Walk[J].Measurement Science Review,2012,12(1):28-33.
[4] 馮蓉珍.基于ATmega128的智能機器人小車控制系統設計河北軟件職業技術學院報[J].2012,14(1):39-41.
[5] 鄭一維,李長俊,吳訊馳,等.基于STM32的電能質量檢測技術研究[J].國外電子測量技術,2011,30(6):73.
[6] 田建勛,陳香,李云,等.一種基于加速度和肌電信號融合和同濟語言模型連續手語識別方式[J].中國生物醫學工程報,2011,30(3):333-339.
[7] 丁其川,趙新剛,韓建達.基于肌電信號容錯分類的手部動作識別[J].機器人, 2015,37(1):10-16.
[8] Kyoung-Jin Yu,Kab-Mun Cha,Hyun-Chool Shin。Maximum likelihood method for finger motion recognition from sEMG signals[C]//ICBME,2008,Proceedings 23,2009:452-455.
[9] 鄒曉,陽雷敏.基于多尺度最大李雅普諾夫指數的表面肌電信號模式識別[J].中國生物醫學工程學報,2012,31(2):7-12.
[10] 李晶,邵忍平,王偉,等.基于抓握可靠性的肌電控制假手優化和動態性能研究[J].機械科學與技術,2014,33(7):966-970.
[11] 陳玲玲.基于支持向量機下肢肌電信號模式識別的研究[D].天津:河北工業大學,2006.
[12] 吳冬梅,孫欣,張志成,等.表面肌電信號的分析和特征提取[J].中國組織工程研究與臨床康復,2010,14(43):8073-8076.
[13] 加玉濤,羅志增.肌電信號特征值提取綜述[J].電子器件,2007,30(1):327-330.
[14] 楊廣映.基于支持向量機研究肌肉多運動模式識別[J].2008,12(35):6844-6846.
[15] 胡明霞.表面肌電信號識別特征提取方法的仿真研究[J].2013,30(5):345-350.