喬 杰,李致金,郝一飛,胡鳴蕾
(南京信息工程大學 江蘇 南京 210044)
智能假肢沒有明確的定義,其具體評價指標也是隨著假肢技術進步而不斷提升的。實際上,假肢本身是一種機械/機電產品,之所以冠以智能是強調其具有主動適應外部條件變化的能力[1]。目前假肢的智能水平都還是非常初級的。隨著機械、電子信息、傳感器等技術的發展,截肢者對假肢提出了更高的要求。國內外的一些研究機構已經開展了相關的研究并取得了一些進展,能夠主動伸膝的動力膝關節、運動靈活精巧的多指多自由度假手等高性能智能假肢也逐漸推向市場[2]。本文在采用基于語音信號控制的基礎上,對智能假手控制做了進一步的設計與研究。
本系統設計中,智能假手的動作命令由安裝假手的人(以下簡稱裝手者)通過語音命令控制。例如,裝手者發出“抓握”的命令,語音識別模塊識別“抓握”語音命令后,將其轉換成主控系統能夠識別的數字信號,通過串行接口傳遞給主控系統。主控系統采用新穎的Arduino控制模塊,Arduino基于開放原代碼Simple I/O平臺。主控系統發送相應“抓握”命令給指關節控制模塊。指關節控制模塊控制五個指關節電機的轉動,從而彎曲手指,實現抓握。在每個指關節上裝有靈敏的壓力傳感器,當手指抓握物品后,壓力傳感器受力并將壓力信號通過指關節控制器傳送給主控系統。主控系統根據預置的抓取物品的專家系統,再向指關節控制系統發送調整后抓握數據,實現可靠的抓握動作。系統設計框圖如圖1所示。

圖1 系統設計框圖Fig.1 Block diagram of system
語音識別技術是把語音信號轉變成相應的文本或命令,從而使機器識別和理解的一種技術。語音識別技術可分為兩類:一為對特定發音者的模式識別,使用前需要進行簡單的訓練;二為對非特定發音者的模式識別,無需訓練,任何人都可使用。LD3320語音識別模塊[3]具有以下特點:1)非特定人的語音識別技術:不需要進行錄音訓練可直接使用;2)具有可動態編輯的識別關鍵詞語列表。只要把識別的關鍵詞語以字符串的形式輸進芯片,就可以在下次識別中即刻生效。除此之外,該芯片的關鍵詞語列表編輯極為方便,只需把相應關鍵詞的漢語拼音寫入程序指定位置即可;3)內置高精度A/D、D/A通道,不需外接AD芯片,麥克風可直接接在芯片AD引腳上;4)高準確度實用語音識別效果。
本系統中LD3320語音識別模塊通過麥克識別語音后發送到語音指令處理系統,如圖1所示。語音信號經過處理后轉換成相應數字信號,再通過串行接口RX、TX發送到Arduino控制模塊中。
在語音識別模式中,識別的質量和有效作用距離與麥克風的質量有較大的關系。麥克風的質量決定了入送識別芯片的距離,即也決定了語音識別效果的距離。LD3320語音識別系統中MIC的增益、對周圍聲音強度的靈敏度、以及響應速度都可通過內置的寄存器調節。說話人的嘴巴離麥克風的距離一般應該在0.5米以上,再接近可能會產生過激響應[4]。如果增加靈敏度、擴大識別距離,調節相應的寄存器設置值可以實現效果,但會導致識別率的下降,所以合理地設置寄存器的數值是非常重要的。LD3320語音識別模塊外圍接口如圖2所示。 圖2中,VDD為數字電路用電源輸入,電壓范圍3~3.3 V。VDDIO為數字I/O電路用電源輸入,電壓范圍1.65 V-VDD;VDDA為模擬電路電源輸入,電壓范圍3~4 V。VDD電源必須和主控系統arduino控制模塊電源共地,否則串口傳輸數據可能出現無法傳輸的問題[5]。

圖2 LD3320接口圖Fig.2 LD3320 interface circuit
LD3320芯片通過8根數據線(P0-P7)與主控系統CPU并行連接,通過 4個控制信號(WRB*,RDB*,CS*,A0)和一個中斷返回信號(INTB*)實現與主控系統CPU之間的數據讀寫。 LD3320串行接口通過SPI協議與外部主CPU連接。
本系統采用Arduino模塊[6]作為系統的總控制部分,Arduino模塊采用低價格微處理控制器(AVR系列)作為核心控制芯片,內置多種外圍信號接口。輸入部分可直接完成與傳感器連接,輸出部分可直接驅動伺服或步進馬達。同時,Arduino模塊開放源代碼電路圖設計,程序開發接口可以免費下載,也可根據自己需求修改。本系統中采用Arduino uno R3,內部最小系統電路圖如圖3所示。
Arduino模塊內置14路輸入輸出口,工作電壓5 V,每一路可輸出和接入最大電流40 mA。每一路配置有20-50K內部上拉電阻。6路模擬信號輸入口,每一路可實現10位的A/D轉換。接口輸入電壓默認輸入信號范圍為0到5 V。如需改變,可通過AREF調整輸入電壓的上限。
本系統在設計中,指關節動作由舵機實現。舵機由舵盤、位置反饋電位器、控制電路和伺服電機構成。伺服電機驅動位置反饋電位器,位置電位器變化反映指關節位置的變化。位置電位器的轉角線性地轉換成為電壓并反饋給控制電路,控制電路會把反饋信號和輸入控制脈沖信號做一個比較,從而產生糾正脈沖,驅動伺服電機正向或反向轉動,使指關節的位置與期望值相符。其工作原理框圖4所示。

圖3 Arduino模塊最小系統電路圖Fig.3 Minimum system circuit diagram of Arduino

圖4 舵機設計框圖Fig.4 Block diagram of servo system
為了反饋假手抓握物品情況,保護假手和物品不受壓力過大而損壞,本系統在設計中,每個指尖上都裝有一個壓力傳感器FSR402。FSR402壓力傳感器采用聚合體薄膜力敏電阻材料,對其表面的正壓力十分敏感,能夠精確地將壓力信號轉換成電壓信號[6]。FSR402傳感器為貼片式,體積小,精度高,靈敏性好,使用非常便捷。FSR402壓力傳感器接出3個引腳,分別為模擬電壓輸出端子,電源正、負端子,其連接電路示意如圖5所示。
本系統設計中將圖5中的模擬電壓輸出端子接在相應的A/D轉換模塊中,實現壓力模擬信號到數字信號的轉換。因本系統中,每個假手有5個手指,因此主控系統中設計有5路的A/D轉換接口電路。

圖5 傳感器連接電路Fig.5 Connection circuit of sensor
本系統軟件設計主要包括兩部分,一部分為語音識別的程序;一部分是主控系統的控制程序,本文主要闡述語音識別程序部分。語音識別程序基于C語言編程[7],識別的過程如圖6所示。

圖6 語音識別過程圖Fig.6 Block diagram of speech recognition
語音識別可以用中斷方式或查詢方式工作。系統初始化后,將相關數據寫入相應的寄存器中。系統讀取寄存B2H的值,若其值是21H即表明已有識別結果產生。初始化的流程圖如圖7所示。

圖7 初始化流程圖Fig.7 Flow diagram of initialization
當麥克風采集到聲音后,則不管識別結果是否正確,都將產生一個中斷信號。中斷程序通過寄存器的值來分析結果。讀取BA寄存器的值,知道候選答案個數。特別的,C5寄存器里的答案是正確可能性最大。如發音為“抓起”并被成功識別(且無其他候選),那么 BA寄存器里的數值是1,而C5寄存器里的值是對應的編碼3。識別流程圖如圖8所示。

圖8 語音識別流程圖Fig.8 Flow diagram of speech recognition
本系統實現了通過語音識別控制假手的動作,可實現較為復雜的手指動作,可為截肢提供有益的幫助。當然假手要想代替部分人手的功能還要在智能和仿生兩方面做進一步的研究。仿生方面分為運動仿生和控制仿生,這兩方面始終是假肢研究的核心問題。前者可以使假肢具有自然肢體的運動能力,后者可以使假肢系統的動作能隨心所欲。目前機器人技術、生物信息、信息科學、生物材料、微型技術、顯微外科、等多種領域中的新技術進展為假肢技術進一步發展創造了條件,相信在不久的將來,智能仿生假手一定會慢慢市場化。
[1]王人成,金德聞.仿生智能假肢的研究與進展[J].中國醫療器械信息,2009,15(1):3-5.WANG Ren-cheng,JIN De-wen.Research and development bionic and intelligent limb prosthesis[J].China Medical Device Information,2009,15(1):3-5
[2]王人成.假肢技術的研究熱點及發展趨勢[J].中國康復醫學雜志,2005,20(7):483 WANG Ren-cheng.Research focus and development trend of limb prosthesis[J].Chinese Journal of Rehabilitation Medicine,2005,20(7):483.
[3]劉么和,宋庭新.語音識別與控制應用技術[M].北京:科學出版社,2008.
[4]馮成林,吳淑珍.一種噪聲環境下的語音識別方法(線性預測誤差法)的研究[J].北京大學學報:自然科學版,2000,36(5):665-671.FENG Cheng-lin,WU Shu-zhen.A study on noisy speech recognition (Linear Predictive Coding Prediction Error)[J].Acta Scientiarum Natrualium Universitatis Pekinensis,2000,36(5):665-671.
[5]童詩白,華成英.模擬電子技術基礎[M].3版.高等教育出版社,2000.
[6]蔡睿妍.基于Arduino的舵機控制系統設計[J].電腦知識與技術,2012,8(15):3719-3721.CAI Rui-yan.Design of servo control system based on arduino[J].Computer Knowledge and Technology,2012,8(15):3719-3721.
[7]胡輝.51單片機原理及應用設計[M].北京:水利工程出版社,2003.