假肢是人體缺損肢體的替代物,,用以彌補(bǔ)缺損肢體的形狀和功能。本文針對(duì)失去整個(gè)手臂的情況,,設(shè)計(jì)出一種仿人手臂形假肢的控制系統(tǒng),。使用者可以補(bǔ)償部分缺失的功能,,達(dá)到生活自理甚至于可以從事基本勞動(dòng),減少身心痛苦,,同時(shí)也相應(yīng)地解放了護(hù)理工作用,。在設(shè)計(jì)中,采用 C8051F020 單片機(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)成??刂撇糠种饕?C8051f020 完成,;驅(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)。例如:當(dāng) SPCE061A 識(shí)別出“手指張開(kāi)”命令時(shí),,將會(huì)通過(guò)串口發(fā)送如“0x10”的十六進(jìn)制的數(shù),,當(dāng) C8051F020 通過(guò)串口接收到“0x10”后,就會(huì)控制手指做張開(kāi)運(yùn)動(dòng),。其他關(guān)節(jié)控制亦如此,。其語(yǔ)音命令的控制形式如圖 3 所示。
3,、 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件主要包括:初始化程序,、頻率輸出子程序、PWM 信號(hào)輸出子程序,、鍵盤(pán)控制子程序,、通信子程序、語(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.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°。由旋轉(zhuǎn)編碼器的特性設(shè)計(jì)的 CPLD 的檢測(cè)系統(tǒng)框圖如圖 5 所示,。
3.3 語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)
語(yǔ)音識(shí)別是使假肢能夠準(zhǔn)確地聽(tīng)出操作者的語(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)行控制。