文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)06-135-03
假肢是人體缺損肢體的替代物,用以彌補(bǔ)缺損肢體的形狀和功能。本文針對(duì)失去整個(gè)手臂的情況,設(shè)計(jì)出一種仿人手臂形假肢的控制系統(tǒng)。使用者可以補(bǔ)償部分缺失的功能,達(dá)到生活自理甚至于可以從事基本勞動(dòng),減少身心痛苦,同時(shí)也相應(yīng)地解放了護(hù)理工作用。在設(shè)計(jì)中,采用C8051F020[1]單片機(jī)作為主控制器,并通過(guò)CPLD(Complex Programmable Logic Device)完成對(duì)各個(gè)關(guān)節(jié)控制量的檢測(cè)以及凌陽(yáng)61單片機(jī)實(shí)現(xiàn)語(yǔ)音控制功能。
1 機(jī)器人假肢結(jié)構(gòu)
多自由度機(jī)器人型假肢(上肢)擁有6個(gè)自由度,其結(jié)構(gòu)原理圖如圖1所示。
2 假肢控制系統(tǒng)的硬件設(shè)計(jì)
2.1 控制器的工作原理
控制系統(tǒng)原理框圖如圖2所示,主要由控制、驅(qū)動(dòng)、被控對(duì)象和檢測(cè)反饋四個(gè)部分構(gòu)成??刂撇糠种饕蒀8051f020完成;驅(qū)動(dòng)部分由6個(gè)電機(jī)驅(qū)動(dòng)器構(gòu)成;被控對(duì)象即是六自由的假肢;檢測(cè)反饋部分主要由CPLD檢測(cè)目標(biāo)位置各個(gè)關(guān)節(jié)的控制量。系統(tǒng)主要采用按鍵控制和語(yǔ)音控制兩種控制方式。
2.1.1 按鍵控制
系統(tǒng)采用了12個(gè)獨(dú)立式按鍵對(duì)6個(gè)電機(jī)正反方向轉(zhuǎn)動(dòng)的控制,電機(jī)的轉(zhuǎn)動(dòng)驅(qū)動(dòng)著各個(gè)關(guān)節(jié)進(jìn)行運(yùn)動(dòng)。各個(gè)按鍵對(duì)應(yīng)控制關(guān)節(jié)運(yùn)動(dòng)情況如表1所示。
2.1.2 語(yǔ)音控制
語(yǔ)音識(shí)別模塊由SPCE061A單片機(jī)完成。首先,對(duì)各個(gè)命令進(jìn)行訓(xùn)練,并將訓(xùn)練結(jié)果保存下來(lái)。在系統(tǒng)運(yùn)行過(guò)程中,當(dāng)SPCE061A單片機(jī)識(shí)別出某條命令時(shí),它會(huì)通過(guò)串口給C8051F020發(fā)送指令,當(dāng)C8510F020接收到相應(yīng)的指令時(shí),控制相應(yīng)的關(guān)節(jié)做相應(yīng)的運(yùn)動(dòng)[2]。例如:當(dāng)SPCE061A識(shí)別出“手指張開”命令時(shí),將會(huì)通過(guò)串口發(fā)送如“0x10”的十六進(jìn)制的數(shù),當(dāng)C8051F020通過(guò)串口接收到“0x10”后,就會(huì)控制手指做張開運(yùn)動(dòng)。其他關(guān)節(jié)控制亦如此。其語(yǔ)音命令的控制形式如圖3所示。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件主要包括:初始化程序、頻率輸出子程序、PWM信號(hào)輸出子程序、鍵盤控制子程序、通信子程序、語(yǔ)音識(shí)別系統(tǒng)、CPLD檢測(cè)編碼器輸出子程序。
3.1系統(tǒng)主流程
圖4所示為整個(gè)控制系統(tǒng)的流程圖。首先對(duì)系統(tǒng)硬件進(jìn)行初始化;然后設(shè)計(jì)出兩種工作方式:按鍵方式和語(yǔ)音方式;之后選擇示教3個(gè)位置,并通過(guò)CPLD保存示教位置的各個(gè)關(guān)節(jié)的脈沖控制量,最后的設(shè)計(jì)是手動(dòng)運(yùn)動(dòng)到示教的目標(biāo)或是自動(dòng)運(yùn)動(dòng)到示教的目標(biāo)位置,至此即可完成對(duì)目標(biāo)位置的物體的抓取功能[3]。
3.2 CPLD檢測(cè)編碼器設(shè)計(jì)
由系統(tǒng)流程圖可以看出,對(duì)各個(gè)示教位置的各個(gè)關(guān)節(jié)控制量的檢測(cè)與保存由CPLD完成。由于本設(shè)計(jì)采用旋轉(zhuǎn)編碼器的傳感器,通常其輸出A和B兩路占空比為50%的脈沖,A、B的脈沖個(gè)數(shù)反映主軸轉(zhuǎn)過(guò)的角度,A、B的相位關(guān)系反映主軸的旋轉(zhuǎn)方向。為了檢測(cè)上述兩個(gè)變量即主軸轉(zhuǎn)過(guò)的角度和主軸旋轉(zhuǎn)的方向,系統(tǒng)采用了一種辨向細(xì)分電路。
將A和B兩路輸入信號(hào)分別組成四種狀態(tài)(A,B):(0,0)、(0,1)、(1,0)和(1,1)。當(dāng)主軸正向旋轉(zhuǎn)時(shí),狀態(tài)轉(zhuǎn)移過(guò)程為:(0,0)、(1,0)、(1,1)、(0,1)、(0,0),反向旋轉(zhuǎn)時(shí)正好相反。故只需要判斷狀態(tài)(1,0)和狀態(tài)(1,1)的先后順序即可判斷出主軸旋轉(zhuǎn)的方向,并且由出現(xiàn)狀態(tài)(1,0)和(1,1)之間的轉(zhuǎn)換次數(shù)就可以確定轉(zhuǎn)軸轉(zhuǎn)過(guò)的角度,即出現(xiàn)一次狀態(tài)轉(zhuǎn)換就是主軸轉(zhuǎn)過(guò)1°[4]。由旋轉(zhuǎn)編碼器的特性設(shè)計(jì)的CPLD的檢測(cè)系統(tǒng)框圖如圖5所示。
3.3 語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)
語(yǔ)音識(shí)別是使假肢能夠準(zhǔn)確地聽出操作者的語(yǔ)音內(nèi)容,并能準(zhǔn)確完成操作者的命令。本系統(tǒng)只針對(duì)特定人進(jìn)行訓(xùn)練,并且只能對(duì)特定人的語(yǔ)音進(jìn)行識(shí)別。主要由凌陽(yáng)SPCE061A單片機(jī)完成。其系統(tǒng)框圖如圖6所示。
4 實(shí)驗(yàn)結(jié)果分析
完成以上的軟件和硬件的設(shè)計(jì)后,對(duì)整個(gè)系統(tǒng)進(jìn)行了實(shí)際的控制調(diào)試。在調(diào)試過(guò)程中,各個(gè)關(guān)節(jié)都可以運(yùn)動(dòng)自如,并且每個(gè)按鍵對(duì)應(yīng)的控制都是完全正確的。按鍵在按下的過(guò)程中會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,為此,在程序的設(shè)計(jì)過(guò)程中通過(guò)延時(shí)程序進(jìn)行了消抖。在語(yǔ)音控制模塊中,由于采用的是兩級(jí)命令控制,即如圖3所示控制形式。語(yǔ)音系統(tǒng)經(jīng)過(guò)多次訓(xùn)練,對(duì)特定人的語(yǔ)音識(shí)別率達(dá)到了96%以上,辨識(shí)率很高。但只是針對(duì)特定的人進(jìn)行試驗(yàn)。如果對(duì)其他人的語(yǔ)音信號(hào)進(jìn)行識(shí)別還會(huì)存在誤差,會(huì)出現(xiàn)個(gè)別誤操作。但這種誤差是可以控制的。只要對(duì)特定的人進(jìn)行訓(xùn)練,并由被訓(xùn)練人來(lái)控制設(shè)備,即可以避免由于控制者與語(yǔ)音錄入者不同而給系統(tǒng)帶來(lái)的控制誤差。
該控制系統(tǒng)最大的特點(diǎn)是可以人為自由地進(jìn)行手動(dòng)控制假肢做相應(yīng)的活動(dòng),或者運(yùn)用佩戴者的語(yǔ)音實(shí)現(xiàn)語(yǔ)音智能化控制假肢做相應(yīng)的運(yùn)動(dòng)。實(shí)現(xiàn)了設(shè)計(jì)方法和控制都簡(jiǎn)單,操作安全、穩(wěn)定的目的。此外,可以給佩戴者設(shè)計(jì)一個(gè)遙控器(前提是針對(duì)只失去一只臂膀的用戶),如果是失去了雙臂膀,則可以在其適當(dāng)?shù)牟课话惭b一個(gè)語(yǔ)音控制裝置,使用語(yǔ)音進(jìn)行控制。
參考文獻(xiàn)
[1] 萬(wàn)光毅,孫九安,蔡建平.SoC單片機(jī)實(shí)驗(yàn)、實(shí)踐與應(yīng)用設(shè)計(jì)—基于C8051F020系列[M].北京:北京航空航天大學(xué)出版社,2006.
[2] 盧勝利.基于凌陽(yáng)SPCE061A設(shè)計(jì)實(shí)驗(yàn)平臺(tái)的專業(yè)綜合設(shè)計(jì)教程[M].北京:機(jī)械工業(yè)出版社,2006.
[3] 李長(zhǎng)有,武學(xué)東.基于C8051F020的SD卡主控制器設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007(9-2):120-122.
[4] 應(yīng)卓瑜,梁堅(jiān),邵亮,等.基于CPLD的辨向細(xì)分電路設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2005,18(1):143-145.