假肢是人體缺損肢體的替代物,用以彌補缺損肢體的形狀和功能。本文針對失去整個手臂的情況,設計出一種仿人手臂形假肢的控制系統。使用者可以補償部分缺失的功能,達到生活自理甚至于可以從事基本勞動,減少身心痛苦,同時也相應地解放了護理工作用。在設計中,采用 C8051F020 單片機作為主控制器,并通過 CPLD(Complex Programmable Logic Device)完成對各個關節控制量的檢測以及凌陽 61 單片機實現語音控制功能。
1、 機器人假肢結構
多自由度機器人型假肢(上肢)擁有 6 個自由度,其結構原理圖如圖 1 所示。
2、 假肢控制系統的硬件設計
2.1 控制器的工作原理
控制系統原理框圖如圖 2 所示,主要由控制、驅動、被控對象和檢測反饋四個部分構成。控制部分主要由 C8051f020 完成;驅動部分由 6 個電機驅動器構成;被控對象即是六自由的假肢;檢測反饋部分主要由 CPLD 檢測目標位置各個關節的控制量。系統主要采用按鍵控制和語音控制兩種控制方式。
2.1.1 按鍵控制
系統采用了 12 個獨立式按鍵對 6 個電機正反方向轉動的控制,電機的轉動驅動著各個關節進行運動。各個按鍵對應控制關節運動情況如表 1 所示。
2.1.2 語音控制
語音識別模塊由 SPCE061A 單片機完成。首先,對各個命令進行訓練,并將訓練結果保存下來。在系統運行過程中,當 SPCE061A 單片機識別出某條命令時,它會通過串口給 C8051F020 發送指令,當 C8510F020 接收到相應的指令時,控制相應的關節做相應的運動。例如:當 SPCE061A 識別出“手指張開”命令時,將會通過串口發送如“0x10”的十六進制的數,當 C8051F020 通過串口接收到“0x10”后,就會控制手指做張開運動。其他關節控制亦如此。其語音命令的控制形式如圖 3 所示。
3、 系統軟件設計
本系統軟件主要包括:初始化程序、頻率輸出子程序、PWM 信號輸出子程序、鍵盤控制子程序、通信子程序、語音識別系統、CPLD 檢測編碼器輸出子程序。
3.1 系統主流程
圖 4 所示為整個控制系統的流程圖。首先對系統硬件進行初始化;然后設計出兩種工作方式:按鍵方式和語音方式;之后選擇示教 3 個位置,并通過 CPLD 保存示教位置的各個關節的脈沖控制量,最后的設計是手動運動到示教的目標或是自動運動到示教的目標位置,至此即可完成對目標位置的物體的抓取功能。
3.2 CPLD 檢測編碼器設計
由系統流程圖可以看出,對各個示教位置的各個關節控制量的檢測與保存由 CPLD 完成。由于本設計采用旋轉編碼器的傳感器,通常其輸出 A 和 B 兩路占空比為 50%的脈沖,A、B 的脈沖個數反映主軸轉過的角度,A、B 的相位關系反映主軸的旋轉方向。為了檢測上述兩個變量即主軸轉過的角度和主軸旋轉的方向,系統采用了一種辨向細分電路。
將 A 和 B 兩路輸入信號分別組成四種狀態(A,B):(0,0)、(0,1)、(1,0)和(1,1)。當主軸正向旋轉時,狀態轉移過程為:(0,0)、(1,0)、(1,1)、(0,1)、(0,0),反向旋轉時正好相反。故只需要判斷狀態(1,0)和狀態(1,1)的先后順序即可判斷出主軸旋轉的方向,并且由出現狀態(1,0)和(1,1)之間的轉換次數就可以確定轉軸轉過的角度,即出現一次狀態轉換就是主軸轉過 1°。由旋轉編碼器的特性設計的 CPLD 的檢測系統框圖如圖 5 所示。
3.3 語音識別系統設計
語音識別是使假肢能夠準確地聽出操作者的語音內容,并能準確完成操作者的命令。本系統只針對特定人進行訓練,并且只能對特定人的語音進行識別。主要由凌陽 SPCE061A 單片機完成。其系統框圖如圖 6 所示。
4、 實驗結果分析
完成以上的軟件和硬件的設計后,對整個系統進行了實際的控制調試。在調試過程中,各個關節都可以運動自如,并且每個按鍵對應的控制都是完全正確的。按鍵在按下的過程中會出現抖動現象,為此,在程序的設計過程中通過延時程序進行了消抖。在語音控制模塊中,由于采用的是兩級命令控制,即如圖 3 所示控制形式。語音系統經過多次訓練,對特定人的語音識別率達到了 96%以上,辨識率很高。但只是針對特定的人進行試驗。如果對其他人的語音信號進行識別還會存在誤差,會出現個別誤操作。但這種誤差是可以控制的。只要對特定的人進行訓練,并由被訓練人來控制設備,即可以避免由于控制者與語音錄入者不同而給系統帶來的控制誤差。
該控制系統最大的特點是可以人為自由地進行手動控制假肢做相應的活動,或者運用佩戴者的語音實現語音智能化控制假肢做相應的運動。實現了設計方法和控制都簡單,操作安全、穩定的目的。此外,可以給佩戴者設計一個遙控器(前提是針對只失去一只臂膀的用戶),如果是失去了雙臂膀,則可以在其適當的部位安裝一個語音控制裝置,使用語音進行控制。