黃曉林,周浩鋒,曾泳達(dá),謝志雄
(廣東松山職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,廣東 韶關(guān) 512126)
隨著智能控制為核心技術(shù)的新型控制體系的高速發(fā)展,智能控制已經(jīng)深入到工作生活的方方面面,在各個領(lǐng)域得到了越來越廣泛的應(yīng)用,對傳統(tǒng)工作方式的改變發(fā)揮越來越重的作用,成為生產(chǎn)現(xiàn)代化不可替代的至關(guān)重要的環(huán)節(jié)。用機(jī)械臂替代傳統(tǒng)人工方式作業(yè),不僅可改善勞動條件,減輕勞動強(qiáng)度,降低生產(chǎn)成本,還可大大提高生產(chǎn)效率和提升生產(chǎn)質(zhì)量,而且可以減少因人工疏忽造成的安全事故[1]。然而傳統(tǒng)機(jī)械臂完成預(yù)期的各種任務(wù)作業(yè),要么是執(zhí)行根據(jù)特定工作場合實(shí)現(xiàn)特定功能的任務(wù)作業(yè)而事先編寫好的程序,其環(huán)境適應(yīng)能力差,靈活性不強(qiáng);要么是通過控制臺復(fù)雜按鈕進(jìn)行組合操作,操作起來比較復(fù)雜,必須要經(jīng)過專業(yè)訓(xùn)練過的操作人員才能做到安全操作,精確控制,這些都使機(jī)械臂難以推廣普及。
針對傳統(tǒng)機(jī)械臂完成預(yù)期各種作業(yè)任務(wù)時操作復(fù)雜、環(huán)境適應(yīng)能力差等實(shí)際存在問題,提出了一種基于手勢識別遠(yuǎn)程同步控制的智能機(jī)械臂系統(tǒng)設(shè)計方案。手勢包含著大量信息,以其直觀、形象和生動等特點(diǎn)在日常生活中被廣泛使用,是人們最自然和最直觀的交流方式,能在特定的場合表達(dá)特定的意義[2-3]。現(xiàn)在手勢識別成為像點(diǎn)擊鼠標(biāo)一樣的人機(jī)交互信息的重要手段,手勢識別在人機(jī)交互控制領(lǐng)域扮演著越來越重要的角色[4]。將手勢識別技術(shù)與智能機(jī)械臂控制技術(shù)進(jìn)行完美結(jié)合,不但簡化了機(jī)械臂操控步驟,降低了機(jī)械臂控制難度,使機(jī)械臂控制更加精準(zhǔn)靈活,而且增強(qiáng)了機(jī)械臂工作環(huán)境的適應(yīng)能力,在實(shí)現(xiàn)手勢動作與機(jī)械臂控制完全同步的基礎(chǔ)上,完全滿足機(jī)械臂完成預(yù)期作業(yè)任務(wù)時實(shí)時控制的需要。
系統(tǒng)由手勢識別器和智能機(jī)械臂兩部分組成,系統(tǒng)整體架構(gòu)示意框圖如圖1所示。手勢識別器是一種智能穿戴設(shè)備,設(shè)計時需要符合普通人手的活動習(xí)慣,以穿戴在使用者的手指和手腕上部為宜。手勢識別器由電池為其供電,姿態(tài)傳感器實(shí)時感知手腕運(yùn)動傾斜姿態(tài),手指間檢測器識別規(guī)定的手勢動作,經(jīng)ARM單片機(jī)綜合評判后形成對應(yīng)控制命令并通過無線通信傳輸?shù)竭h(yuǎn)程的智能機(jī)械臂。智能機(jī)械臂以ARM單片機(jī)為核心控制部件,由關(guān)節(jié)舵機(jī)、機(jī)械抓手舵機(jī)和壓力傳感器等組成,具有多輸入多輸出、非線性和強(qiáng)耦合等特點(diǎn)。智能機(jī)械臂不但每個關(guān)節(jié)舵機(jī)和抓手舵機(jī)是可以獨(dú)立控制,而且能實(shí)時監(jiān)測每個關(guān)節(jié)舵機(jī)的位姿信息。當(dāng)智能機(jī)械臂收到不同的控制命令時,其本身的自主決策系統(tǒng)能結(jié)合各個關(guān)節(jié)舵機(jī)和抓手舵機(jī)的位姿信息,快速決策,迅速規(guī)劃機(jī)械臂的運(yùn)動軌跡,控制有關(guān)舵機(jī)協(xié)同完成組合動作。為提高系統(tǒng)控制效率,可同時啟動抓取關(guān)節(jié)舵機(jī)控制,實(shí)現(xiàn)手勢控制協(xié)同智能機(jī)械臂同步控制機(jī)械臂的平移、伸展和機(jī)械手、旋轉(zhuǎn)、抓取等動作。機(jī)械手安裝有壓力傳感器,使機(jī)械手既穩(wěn)固又柔性的抓取物品,不會因抓取力度過大而使物品變形。
圖1 系統(tǒng)總體架構(gòu)示意框圖
手勢識別器是一種智能穿戴設(shè)備,穿戴固定于手指間和手腕上部,實(shí)時感知手指間的相互接觸動作和檢測手腕活動的姿態(tài)信息等特征信息,經(jīng)ARM單片機(jī)分析和綜合評判后形成對應(yīng)的手勢控制指令。為使手勢識別器獲取的手勢控制指令更加高效精準(zhǔn),手勢識別器只識別被定義的特定手勢動作,其余沒有被定義的手勢動作則均認(rèn)為是手在活動中產(chǎn)生的噪聲而棄去。手勢動作定義基本原則是手勢動作不但要使手勢識別器易于識別,而且對于使用者本身來說應(yīng)該是容易學(xué)習(xí)和記憶,操作簡單,便于重復(fù)[5]。如表1所示為當(dāng)使用者的手掌面垂直于地面朝下時被定義的特定手勢動作。
表1 手勢動作定義
手勢識別器穿戴固定于手指間和手腕上部,實(shí)時采集手勢動作及手腕傾斜的姿態(tài)等特征信息,經(jīng)ARM單片機(jī)分析和綜合評判形成相應(yīng)的控制命令并通過無線通信傳輸?shù)竭h(yuǎn)程智能機(jī)械臂以實(shí)現(xiàn)保持同步控制。控制命令由主命令和命令數(shù)據(jù)兩個部分組成,其中主命令包含抓手順反時鐘旋轉(zhuǎn)、抓取和釋放等動作控制,也包含機(jī)械臂的左右移動和機(jī)械臂的上下伸展等動作控制,還包含智能機(jī)械臂維持當(dāng)前狀態(tài)的控制。除維持當(dāng)前狀態(tài)的控制命令外,其它主命令可以組合同時進(jìn)行,以提高智能機(jī)械臂完成預(yù)期作業(yè)任務(wù)的效率。命令數(shù)據(jù)主要控制機(jī)械臂完成預(yù)期作業(yè)任務(wù)時相應(yīng)動作的幅度大小。手勢識別器與智能機(jī)械臂之間數(shù)據(jù)信息傳輸是通過無線通信來實(shí)現(xiàn)的,相互之間采用主從通信方式。手勢識別器作為主設(shè)備,將實(shí)時采集的手勢動作及手腕傾斜的姿態(tài)等特征信息,經(jīng)ARM單片機(jī)分析和綜合評判后形成相應(yīng)的控制命令并通過無線通信發(fā)出。智能機(jī)械臂始終處于從設(shè)備地位,只能被動的接收控制命令,但其本身具有的自主決策系統(tǒng)能根據(jù)接收的控制命令及命令數(shù)據(jù)并結(jié)合自身抓手舵機(jī)和關(guān)節(jié)舵機(jī)的位姿信息,迅速規(guī)劃最優(yōu)運(yùn)動軌跡,協(xié)調(diào)抓手舵機(jī)和關(guān)節(jié)舵機(jī)動作,達(dá)到與手勢識別器相互之間同步完成各種預(yù)期作業(yè)任務(wù)。
手勢識別器與智能機(jī)械臂相互之間命令信息是以數(shù)據(jù)幀格式傳輸,手勢識別器發(fā)送的命令信息必須按照相互規(guī)定的通信協(xié)議幀格式進(jìn)行封裝,智能機(jī)械臂收到的命令信息也必須嚴(yán)格遵守相互規(guī)定的通信協(xié)議幀格式進(jìn)行解析,信息數(shù)據(jù)規(guī)定的通信協(xié)議幀格式如表2所示。
表2 數(shù)據(jù)幀格式
幀頭占1個字節(jié),表示幀數(shù)據(jù)信息的開始,數(shù)據(jù)信息是一幀幀傳輸?shù)?,每一幀?shù)據(jù)都必須有一個固定值為0x1b幀頭。
地址占1個字節(jié),是受控智能機(jī)械臂被設(shè)置的地址編碼。手勢識別器發(fā)出的每幀數(shù)據(jù)必須包含智能機(jī)械臂的地址編碼,而智能機(jī)械臂收到數(shù)據(jù)幀只有地址編碼與自身設(shè)置的地址編碼相一致時,才解析數(shù)據(jù)幀的數(shù)據(jù)信息并執(zhí)行相應(yīng)的控制命令。系統(tǒng)支持用一個手勢識別器對一定區(qū)域范圍內(nèi)進(jìn)行作業(yè)任務(wù)的多臺智能機(jī)械臂進(jìn)行指揮,地址編碼為0x00的數(shù)據(jù)幀比較特殊,表示此數(shù)據(jù)幀進(jìn)行廣播方式傳輸,要求區(qū)域范圍內(nèi)作業(yè)任務(wù)的所有智能機(jī)械臂都要執(zhí)行對應(yīng)的控制命令。
主控制命令占1個字節(jié),其中字節(jié)低4位對應(yīng)智能機(jī)械臂抓手如狀態(tài)維持、抓手順反時鐘旋轉(zhuǎn)、抓手抓取或釋放等控制動作。字節(jié)高4位對應(yīng)智能機(jī)械臂關(guān)節(jié)舵機(jī)如左右移動或上下伸展等控制動作。由此可知智能機(jī)械臂在完成預(yù)期作業(yè)任務(wù)時可以將機(jī)械臂動作和抓手動作組合同時進(jìn)行,大大提高智能機(jī)械臂的工作效率。
命令數(shù)據(jù)占4字節(jié),必須和主控命令配合使用,表示智能機(jī)械臂完成當(dāng)前預(yù)期作業(yè)任務(wù)相應(yīng)控制命令的動作幅度。其中第1個字節(jié)為機(jī)械臂抓手旋轉(zhuǎn)動作的旋轉(zhuǎn)幅度參數(shù)或抓取物體的抓取力度參數(shù),其余3個字節(jié)是機(jī)械臂左右移動或上下伸展時分別對應(yīng)X軸、Y軸和Z軸3個方向的傾斜程度參數(shù)值。
校驗和占1字節(jié),是幀數(shù)據(jù)從地址編碼開始至校驗和之間所有字節(jié)之和并對0xff取余得到的校驗值。手勢識別器先計算發(fā)送幀數(shù)據(jù)的校驗和,在發(fā)送幀數(shù)據(jù)時連同校驗和一并發(fā)送。智能機(jī)械臂收到的幀數(shù)據(jù)包含校驗和,先自己計算本幀數(shù)據(jù)的校驗和,只有自己計算的校驗和與接收的校驗和一致才認(rèn)為接收的數(shù)據(jù)信息是正確的并執(zhí)行相應(yīng)的控制命令。
手勢識別器是遠(yuǎn)程同步控制智能機(jī)械臂系統(tǒng)的核心,由電池為其供電,能夠根據(jù)手指間相互接觸動作和手腕活動傾斜姿態(tài)等特征信息迅速評判手勢要表達(dá)的控制命令,并把控制命令通過無線可靠傳輸?shù)街悄軝C(jī)械臂,實(shí)現(xiàn)手勢動作同步控制智能機(jī)械臂完成預(yù)期作業(yè)任務(wù),如圖2所示為手勢識別器電路原理圖。其中fg0連接地線穿戴在拇指中,F(xiàn)g1、fg2、fg3和fg4分別穿戴在其它手指中并被上拉電阻拉成高電平,當(dāng)拇指與其它任何一個手指接觸時,對應(yīng)手指的輸入信號就會變成低電平而表示相應(yīng)的手勢控制命令。傳感器ADXL335是一款低功耗超薄型的完整三軸加速度測量系統(tǒng)芯片,具有開環(huán)加速度測量架構(gòu),加速度最小測量范圍為±3 g,并輸出經(jīng)過信號調(diào)理的模擬電壓。芯片ADXL335既可測量傾斜檢測的靜態(tài)重力加速度,也可測量沖擊或振動運(yùn)動導(dǎo)致的動態(tài)加速度。由于ADXL335芯片X、Y和Z三軸的軸方向檢測的正交特性很高但跨軸檢測靈敏度很低,所以采用三軸單一結(jié)構(gòu)檢測。為更好地實(shí)現(xiàn)軸上引腳的抗混疊和噪聲抑制,X、Y和Z三軸方向引腳具有限帶功能,各引腳必須添加一個電容,以便利用低通濾波實(shí)現(xiàn)抗混疊和噪聲抑制??筛鶕?jù)實(shí)際應(yīng)用需要選擇合適的帶寬,帶寬的大小可以通過并聯(lián)在對應(yīng)軸上低通濾波電容進(jìn)行調(diào)整。帶寬經(jīng)驗計算公式為:
圖2 手勢識別器電路原理圖
F=5μF/C
根據(jù)帶寬的經(jīng)驗計算公式,X、Y和Z三軸方向并聯(lián)的低通濾波電容都為0.1 μf時,則其選取的帶寬值為50 Hz。
本系統(tǒng)中手勢識別器與智能機(jī)械臂是通過無線Wifi實(shí)現(xiàn)數(shù)據(jù)通信,使用的無線通信Wifi模塊型號為ESP-12F,如圖3所示為無線Wifi電路原理圖。無線通信Wifi模塊ESP-12F由深圳市安信可科技有限公司開發(fā)的一款高性能串行口轉(zhuǎn)無線Wifi模塊,模塊核心是處理器 ESP8266,支持標(biāo)準(zhǔn)的IEEE802.11b/g/n協(xié)議,內(nèi)置完整的TCP/IP協(xié)議棧和板載天線,僅需極少的外部電路,能夠與其它MCU快速搭建實(shí)現(xiàn)串行口與無線Wifi之間的轉(zhuǎn)換。
圖3 無線Wifi電路原理圖
手勢識別器的控制命令通過無線通信傳輸?shù)竭h(yuǎn)程的智能機(jī)械臂,為降低電路噪聲,提高無線通信傳輸數(shù)據(jù)的穩(wěn)定性,需要進(jìn)一步優(yōu)化無線通信的供電性能,如圖3所示為通信供電性能優(yōu)化電路原理圖。其中芯片RT9193是專為便攜式射頻或無線通信應(yīng)用在性能和空間要求比較苛刻的高紋波抑制比、低壓差高PRSS而設(shè)計的線性穩(wěn)壓器,能穩(wěn)定輸出3.3 V電壓,電容C11是噪聲旁路電容,可進(jìn)一步降低噪聲優(yōu)化供電性能輸出。
圖4 通信供電性能優(yōu)化電路原理圖
系統(tǒng)智能機(jī)械臂關(guān)節(jié)數(shù)量較多,各個關(guān)節(jié)由舵機(jī)組成,通過對機(jī)械臂的相關(guān)關(guān)節(jié)舵機(jī)的運(yùn)動控制,使得機(jī)械臂能夠完成抓手旋轉(zhuǎn)、抓取、釋放以及機(jī)械臂左右移動、上下伸展等各種復(fù)雜的動作。為保證關(guān)節(jié)舵機(jī)擺角的準(zhǔn)確性,各個關(guān)節(jié)舵機(jī)的控制必須是獨(dú)立的,所以需要多個驅(qū)動引腳。為了防止多個舵機(jī)同時工作導(dǎo)致電流過大而燒毀供電穩(wěn)壓電路,每個關(guān)節(jié)舵機(jī)都采取獨(dú)立供電方式。關(guān)節(jié)舵機(jī)的旋轉(zhuǎn)位置是通過控制旋轉(zhuǎn)角度來實(shí)現(xiàn)的,而旋轉(zhuǎn)角度可以利用控制占空比來實(shí)現(xiàn)。關(guān)節(jié)舵機(jī)旋轉(zhuǎn)角度可以從0度轉(zhuǎn)到180度之間,旋轉(zhuǎn)角度越大則占空比越大,旋轉(zhuǎn)角度越大則舵機(jī)的轉(zhuǎn)速越快。為了使舵機(jī)轉(zhuǎn)動時連貫均速和速度可控,甚至快要到達(dá)目標(biāo)角度時降低轉(zhuǎn)動速度,可以將舵機(jī)旋轉(zhuǎn)角度分割成若干小的角度,并在轉(zhuǎn)動時加上很小的適當(dāng)延時。
智能機(jī)械臂關(guān)節(jié)舵機(jī)的工作電壓為3.3 V,而系統(tǒng)為5 V的供電電壓,故需要對系統(tǒng)供電進(jìn)行電壓轉(zhuǎn)換處理,如圖5所示為智能機(jī)械臂關(guān)節(jié)舵機(jī)控制電路原理圖。智能機(jī)械臂關(guān)節(jié)舵機(jī)旋轉(zhuǎn)位置控制端PWM通過P2接口連接到ARM單片機(jī),調(diào)節(jié)關(guān)節(jié)舵機(jī)PWM占空比來調(diào)節(jié)關(guān)節(jié)舵機(jī)的旋轉(zhuǎn)位置。開關(guān)電源調(diào)節(jié)器LM2596是降壓型電源管理芯片,內(nèi)部高度集成固定頻率發(fā)生器和頻率補(bǔ)償,能夠持續(xù)供電輸出3.3 V電壓,輸出最大驅(qū)動電流為3 A,同時具有很好的線性和負(fù)載調(diào)節(jié)特性[6]。LM2596芯片具有自我保護(hù)電路,極大地簡化了開關(guān)電源電路設(shè)計,在一定的輸入電壓和輸出負(fù)載情況下,輸出電壓誤差穩(wěn)定在4%的范圍內(nèi)。
圖5 機(jī)械臂關(guān)節(jié)舵機(jī)控制電路原理圖
手勢識別的準(zhǔn)確性對整個系統(tǒng)的穩(wěn)定性具有決定性影響力。手勢識別準(zhǔn)確性測試是指在各種復(fù)雜環(huán)境影響下,手勢識別器對控制智能機(jī)械臂狀態(tài)維持、抓手旋轉(zhuǎn)、抓手的抓取與釋放、機(jī)械臂左右移動、機(jī)械臂上下伸展等手指手腕動作的識別。如表3所示為5名同學(xué)被要求以自己的習(xí)慣方式在滿足手勢定義的前提下,每個手勢動作各做20次共100次手勢數(shù)據(jù)樣本采集的手勢識別準(zhǔn)確性測試結(jié)果。
表3 手勢識別準(zhǔn)確性測試
從表3手勢識別準(zhǔn)確性測試結(jié)果可以看出,手指手勢動作控制狀態(tài)維持、抓手旋轉(zhuǎn)、抓手抓取與釋放等規(guī)定動作的識別達(dá)到100%,而手腕手勢動作中控制機(jī)械臂左右移動、上下伸展的動作卻分別只有92%和90%的識別率,這跟個人手臂傾斜保持習(xí)慣有關(guān),同樣的轉(zhuǎn)動傾斜角度,不同段的轉(zhuǎn)動加速度是有差別的。手腕轉(zhuǎn)動盡量在平穩(wěn)中轉(zhuǎn)動,不要出現(xiàn)抖動現(xiàn)象,因為手勢控制的數(shù)據(jù)信息發(fā)送頻率較高,在極短時間內(nèi)出現(xiàn)相互相反的手勢動作時,智能機(jī)械臂的自主決策系統(tǒng)將會誤判為無效手勢,并將此次手勢控制命令剔除,但不影響手勢實(shí)時操作智能機(jī)械臂。
手勢控制實(shí)時性是指識別手勢動作并協(xié)同完成智能機(jī)械臂同步控制的時間,一般是指單位時間內(nèi),通過更換不同手勢的次數(shù)進(jìn)行測試。如表4所示為20 s時間內(nèi)手勢動作更換次數(shù)以及手勢動作識別次數(shù)的測試結(jié)果。
表4 手勢控制實(shí)時性測試
從表3測試結(jié)果可以看出,20 s時間手勢更換在40次以內(nèi),手勢動作識別失誤較小,手勢控制成功率較高,手勢識別并協(xié)同完成同步控制可以在500 ms左右完成,此時手勢控制執(zhí)行效率最高,可以達(dá)到較好的實(shí)時性控制要求。
本系統(tǒng)是將手勢識別技術(shù)與機(jī)械臂智能控制進(jìn)行完美結(jié)合,集手勢識別、遠(yuǎn)程控制、智能決策于一體的智能機(jī)械臂控制系統(tǒng)。對整個系統(tǒng)進(jìn)行綜合性功能測試的結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定,環(huán)境適應(yīng)能力強(qiáng),手勢識別準(zhǔn)確性較高,簡化了機(jī)械臂操控步驟,降低了機(jī)械臂控制難度,使控制更加靈活更加精準(zhǔn),完全滿足完成預(yù)期作業(yè)任務(wù)時要求同步實(shí)時控制的需要,在工農(nóng)業(yè)安全生產(chǎn)、野外探險與救援等領(lǐng)域具有較好的實(shí)用性和廣泛的應(yīng)用前景。