鄧廣雯 梁嬌嬌 張駕祥 譚會(huì)生
基于現(xiàn)場(chǎng)可編程門陣列的可重構(gòu)手勢(shì)交互教學(xué)機(jī)器人設(shè)計(jì)
鄧廣雯 梁嬌嬌 張駕祥 譚會(huì)生
(湖南工業(yè)大學(xué)軌道交通學(xué)院,湖南 株洲 412007)
針對(duì)傳統(tǒng)教學(xué)機(jī)器人可重構(gòu)性差、系統(tǒng)綜合應(yīng)用性不足、人機(jī)交互功能簡(jiǎn)單等缺點(diǎn),本文設(shè)計(jì)開(kāi)發(fā)一種基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的可重構(gòu)動(dòng)靜態(tài)手勢(shì)交互教學(xué)機(jī)器人。該機(jī)器人以Xilinx的Spartan6為控制器,通過(guò)OV5640攝像頭對(duì)手勢(shì)圖像信息進(jìn)行識(shí)別傳輸,利用I2C總線與FPGA控制芯片進(jìn)行通信,利用WiFi模塊進(jìn)行數(shù)據(jù)傳輸,從而對(duì)機(jī)器人進(jìn)行相應(yīng)的手勢(shì)指令控制,實(shí)現(xiàn)人機(jī)手勢(shì)交互、機(jī)械臂抓物、自動(dòng)循跡、超聲避障、運(yùn)動(dòng)除障、語(yǔ)音播報(bào)等多種功能。同時(shí),該手勢(shì)控制機(jī)器人對(duì)測(cè)試者的數(shù)字手勢(shì)和動(dòng)作手勢(shì)識(shí)別正確率達(dá)95.1%,實(shí)時(shí)識(shí)別響應(yīng)時(shí)間小于0.5s。本文設(shè)計(jì)的基于FPGA的可重構(gòu)動(dòng)靜態(tài)手勢(shì)交互教學(xué)機(jī)器人可應(yīng)用于FPGA系統(tǒng)設(shè)計(jì)等研究類課程教學(xué)中,具有推廣價(jià)值。
可重構(gòu)教學(xué)機(jī)器人;動(dòng)靜態(tài)手勢(shì)控制;現(xiàn)場(chǎng)可編程門陣列(FPGA);實(shí)時(shí)識(shí)別
隨著機(jī)器人教學(xué)方式逐漸多樣化,基于圖像處理的手勢(shì)識(shí)別控制機(jī)器人在課程示教和人機(jī)交互中變得越來(lái)越重要,提高教學(xué)過(guò)程中人機(jī)交互[1]的多樣性至關(guān)重要。
近期關(guān)于人機(jī)交互控制技術(shù)的研究變得非?;钴S,主要研究?jī)?nèi)容包括手勢(shì)識(shí)別、語(yǔ)音識(shí)別[2]等,與傳統(tǒng)交互方式在靈活性[3]和控制距離[4]上有所不同,基于視覺(jué)的手勢(shì)人機(jī)交互方式具有適應(yīng)性強(qiáng)、直觀方便[5]等特點(diǎn)。手勢(shì)識(shí)別系統(tǒng)需要實(shí)時(shí)性強(qiáng)、分辨率高和功耗低的圖像處理能力,中央處理器(central processing unit, CPU)的架構(gòu)性能無(wú)法滿足實(shí)時(shí)圖像處理要求,而傳統(tǒng)圖形處理器(graphic processing unit, GPU)的功耗較高,不利于移動(dòng)式控制系統(tǒng),所以本文采用現(xiàn)場(chǎng)可編程門陣列(field programmable gate array, FPGA)作為圖像處理控制系統(tǒng),不僅可以降低功耗,而且可顯著提高實(shí)時(shí)處理速度[6-9]。
基于手勢(shì)識(shí)別的課程示教方式主要是通過(guò)一系列的圖像處理將手勢(shì)語(yǔ)言轉(zhuǎn)換為其他指令語(yǔ)言[10-11]。在手勢(shì)信息中,最關(guān)鍵的特征是膚色和邊緣信息,然而人的膚色各不相同、手勢(shì)[12]的具體含義多種多樣,而且周圍環(huán)境復(fù)雜、各種視覺(jué)攝像機(jī)硬件之間存在差異,因此基于手勢(shì)識(shí)別控制的機(jī)器人[13-15]在高校課程示教方面的應(yīng)用有很大的研究空間。
相關(guān)學(xué)者對(duì)可重構(gòu)教學(xué)機(jī)器人系統(tǒng)展開(kāi)了相關(guān)研究。文獻(xiàn)[2]針對(duì)語(yǔ)音識(shí)別和體育教學(xué),研究了一種混合體育示教機(jī)器人,擴(kuò)展了人工智能教學(xué)方式的多樣性。文獻(xiàn)[3]為了提高機(jī)器人示教動(dòng)作的準(zhǔn)確穩(wěn)定性和直觀性,利用基于視覺(jué)引導(dǎo)的圖像處理來(lái)進(jìn)行機(jī)械臂抓取實(shí)驗(yàn),研究并實(shí)現(xiàn)了一種基于雙目視覺(jué)的雙臂協(xié)作教學(xué)機(jī)器人。文獻(xiàn)[4]為了讓學(xué)生更加直觀深入地學(xué)習(xí)機(jī)器人的架構(gòu)和原理,設(shè)計(jì)了一款易于拆卸和組裝的可重構(gòu)模塊化教學(xué)機(jī)器人,以提高示教效率。文獻(xiàn)[5]結(jié)合上位機(jī)軟件和下位機(jī)硬件控制,分模塊設(shè)計(jì)示教機(jī)器人的機(jī)械結(jié)構(gòu),研究并實(shí)現(xiàn)了一種基于上位機(jī)控制的拖動(dòng)示教機(jī)器人系統(tǒng)。
在手勢(shì)識(shí)別控制的相關(guān)研究中,何之源[6]在ARM7開(kāi)發(fā)板上使用嵌入式計(jì)算平臺(tái),利用模版匹配法設(shè)計(jì)實(shí)現(xiàn)了靜態(tài)手勢(shì)識(shí)別,但該手勢(shì)識(shí)別控制系統(tǒng)對(duì)模板準(zhǔn)確度的要求較高,且該手勢(shì)識(shí)別系統(tǒng)穩(wěn)定性較低。PATHAN A N等[7]設(shè)計(jì)的機(jī)器人控制系統(tǒng)利用手指計(jì)數(shù)的方式達(dá)到靜態(tài)手勢(shì)識(shí)別,進(jìn)而生成特定信號(hào)值來(lái)控制機(jī)器人執(zhí)行命令,但該識(shí)別方式比較單一,未能將動(dòng)靜態(tài)手勢(shì)結(jié)合來(lái)控制機(jī)器人。朱越等[9]提出一種手勢(shì)輪廓像素變化的靜態(tài)手勢(shì)識(shí)別方法,對(duì)手勢(shì)進(jìn)行實(shí)時(shí)檢測(cè)并顯示,雖然提高了控制系統(tǒng)的魯棒性,但該方法只進(jìn)行了Matlab仿真,未經(jīng)實(shí)物驗(yàn)證,缺乏說(shuō)服力。
本文針對(duì)FPGA系統(tǒng)綜合訓(xùn)練類課程,設(shè)計(jì)開(kāi)發(fā)一種基于FPGA的可重構(gòu)動(dòng)靜態(tài)手勢(shì)交互教學(xué)機(jī)器人,該機(jī)器人系統(tǒng)涉及多種傳感器、手勢(shì)交互圖像處理、無(wú)線通信、機(jī)器人運(yùn)動(dòng)控制與循跡、機(jī)械臂操作控制等綜合應(yīng)用,具有人機(jī)手勢(shì)交互、機(jī)械臂抓物、自動(dòng)循跡、超聲避障、運(yùn)動(dòng)除障、語(yǔ)音播報(bào)等多種功能,以期能有效激發(fā)學(xué)生的學(xué)習(xí)與創(chuàng)造興趣,提高學(xué)生的FPGA應(yīng)用能力。
在攝像頭實(shí)時(shí)采集手勢(shì)圖像的過(guò)程中,外界環(huán)境會(huì)導(dǎo)致各類圖像噪聲,所以需要利用手勢(shì)處理算法對(duì)其進(jìn)行圖像預(yù)處理,保證信息可靠性。
手勢(shì)圖像處理流程如圖1所示。首先對(duì)原始手勢(shì)圖像進(jìn)行RGB轉(zhuǎn)YCbCr操作,然后進(jìn)行二值化處理,為了獲取更清晰明確的圖像邊緣信息,利用形態(tài)學(xué)濾波操作中的腐蝕和膨脹對(duì)圖像邊緣信息做連通域處理,再進(jìn)行Sobel邊緣檢測(cè),經(jīng)過(guò)特征值提取后,就可得到手勢(shì)分割后的手勢(shì)圖像信息。
圖1 手勢(shì)圖像處理流程
手勢(shì)分割至關(guān)重要,其處理結(jié)果直接影響手勢(shì)信息的識(shí)別。手勢(shì)分割的目標(biāo)是將手勢(shì)與背景分離,提取出手勢(shì)中的關(guān)鍵像素,并去除干擾項(xiàng),以獲得更準(zhǔn)確有效的手勢(shì)圖像,提高手勢(shì)識(shí)別準(zhǔn)確率。本文采用經(jīng)多次實(shí)驗(yàn)改進(jìn)后的膚色模型法,基本色彩空間有RGBHSV和YCbCr[16]。本文采用RGB轉(zhuǎn)YCbCr,在RGB色彩空間中,人體膚色所在區(qū)間為
式中,、、分表為RGB色彩空間中輸入圖像的紅色、綠色和藍(lán)色數(shù)值。
在YCbCr色彩空間中,人體膚色的范圍為
式中:r為紅色分量;b為藍(lán)色分量。
RGB與YCbCr之間的轉(zhuǎn)換計(jì)算式為
式中,為亮度,即圖像的灰階值。
手勢(shì)識(shí)別的關(guān)鍵是提取和辨認(rèn)手勢(shì)特征值,它決定了系統(tǒng)的識(shí)別率。手勢(shì)特征可用于描述不同手勢(shì)之間的差異,通過(guò)歸納各種手勢(shì)信息的特性,就可總結(jié)手勢(shì)的信息特征。手勢(shì)信息特征應(yīng)具有代表性和魯棒性,以確保手勢(shì)識(shí)別結(jié)果的準(zhǔn)確性。由于Hu不變矩在物體識(shí)別中具有不變性,因此在離散圖像中,+階的幾何矩可用于描述圖像函數(shù)(,)的特征。
式中:、分別為圖像當(dāng)前的像素橫、縱坐標(biāo)值;、分別為圖像的高度和寬度;、為變量階 數(shù)值。
式中:00為手勢(shì)圖像區(qū)域的總像素點(diǎn)數(shù)量;10為手勢(shì)圖像區(qū)域按行計(jì)算的均值;01為手勢(shì)圖像區(qū)域按列計(jì)算的均值。
手勢(shì)在圖像中的面積發(fā)生改變會(huì)造成幾何矩變化,從而失去縮放不變性。為了解決這一問(wèn)題,需要進(jìn)行歸一化處理,歸一化計(jì)算公式為
式中,00為手勢(shì)圖像的原點(diǎn)中心距。
根據(jù)歸一化計(jì)算式,對(duì)低于三階的幾何矩進(jìn)行中心矩歸一化操作,利用其設(shè)計(jì)三個(gè)不變矩1、2、3,有
式中:20、02、11為各二階歸一化后的幾何矩;30、21、03為各三階歸一化后的幾何矩。
動(dòng)態(tài)手勢(shì)識(shí)別檢測(cè)主要對(duì)圖像質(zhì)心的移動(dòng)軌跡進(jìn)行判斷,動(dòng)態(tài)手勢(shì)識(shí)別檢測(cè)判斷如圖2所示。首先將經(jīng)式(6)計(jì)算得到的圖像質(zhì)心保存并定義為中心區(qū)域,并在其上下左右四個(gè)方向畫出合適邊界,定義為A區(qū)域,該區(qū)域被定義為移動(dòng)區(qū)域,A區(qū)域上方被定義為E區(qū)域,其含義為向上移動(dòng),B區(qū)域表示向下移動(dòng),C、D區(qū)域分別表示左右兩個(gè)方向移動(dòng)。若動(dòng)態(tài)手勢(shì)經(jīng)過(guò)某個(gè)區(qū)域,則表示向這個(gè)方向移動(dòng),按照這種區(qū)域檢測(cè)判斷方式,即可完成對(duì)手勢(shì)方向的動(dòng)態(tài)識(shí)別。
圖2 動(dòng)態(tài)手勢(shì)識(shí)別檢測(cè)判斷
動(dòng)態(tài)手勢(shì)跟蹤算法流程如圖3所示。動(dòng)態(tài)手勢(shì)識(shí)別是對(duì)手的不同運(yùn)動(dòng)軌跡進(jìn)行識(shí)別,通過(guò)改進(jìn)的手勢(shì)膚色模型和手勢(shì)中心點(diǎn)方向向量法跟蹤得到手勢(shì)運(yùn)動(dòng)軌跡,然后提取手勢(shì)運(yùn)動(dòng)軌跡的特征向量,就可以實(shí)現(xiàn)對(duì)手勢(shì)質(zhì)心軌跡的識(shí)別。確定跟蹤手勢(shì)目標(biāo)后,利用鎖定質(zhì)心的方式對(duì)動(dòng)態(tài)手勢(shì)進(jìn)行更精準(zhǔn)的軌跡確定,然后就可以發(fā)出動(dòng)態(tài)手勢(shì)指令對(duì)機(jī)器人系統(tǒng)進(jìn)行控制。
圖3 動(dòng)態(tài)手勢(shì)跟蹤算法流程
圖4為該機(jī)器人的FPGA系統(tǒng)硬件總體框圖。機(jī)器人系統(tǒng)包括數(shù)據(jù)采集模塊、手勢(shì)識(shí)別模塊、控制指令譯碼模塊和輸出驅(qū)動(dòng)模塊。該手勢(shì)控制機(jī)器人接收來(lái)自PC、紅外和超聲波傳感器的控制信息,并通過(guò)數(shù)據(jù)采集模塊傳送到控制指令譯碼模塊。同時(shí),接收來(lái)自O(shè)V5640的手勢(shì)信息,經(jīng)過(guò)手勢(shì)識(shí)別模塊處理后也傳送到控制指令譯碼模塊。指令譯碼模塊根據(jù)指令,結(jié)合攝像頭采集、處理后的手勢(shì)識(shí)別結(jié)果,以及采集的紅外傳感器信號(hào)值和超聲波傳感器距離值,選擇當(dāng)前機(jī)器人的工作模式,在特定工作模式下,系統(tǒng)會(huì)根據(jù)紅外傳感器、超聲波傳感器及手勢(shì)信息的識(shí)別結(jié)果產(chǎn)生控制信號(hào),并發(fā)送給輸出驅(qū)動(dòng)模塊。
圖4 FPGA系統(tǒng)硬件總體框圖
在手勢(shì)識(shí)別模塊中,OV5640攝像頭采集的圖像數(shù)據(jù)經(jīng)過(guò)RGB轉(zhuǎn)YCbCr、高斯濾波、形態(tài)學(xué)處理、手勢(shì)分割及邊緣檢測(cè)等預(yù)處理后存入同步動(dòng)態(tài)隨機(jī)存取內(nèi)存(synchronous dynamic random access memory, SDRAM)中,然后被送到視頻圖形陣列(video graphics array, VGA)驅(qū)動(dòng)模塊用于顯示,并進(jìn)行特征值計(jì)算與特征匹配,得到的識(shí)別結(jié)果被送到指令譯碼模塊,接著各輸出驅(qū)動(dòng)模塊根據(jù)指令譯碼模塊產(chǎn)生的控制信號(hào)來(lái)產(chǎn)生各個(gè)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)信號(hào)。
系統(tǒng)的圖像邊緣檢測(cè)采用廣泛應(yīng)用于圖像處理和計(jì)算機(jī)視覺(jué)的Sobel邊緣檢測(cè)算法。該算法利用兩個(gè)3×3的矩陣對(duì)圖像進(jìn)行卷積運(yùn)算,計(jì)算出圖像在水平與豎直方向的灰度差分估計(jì)值。
式中:和分別為Sobel卷積運(yùn)算的水平和豎直方向的算子;為輸入一幀圖像的3×3矩陣模板;r為梯度估計(jì)值。針對(duì)圖像像素點(diǎn),通過(guò)卷積計(jì)算后將該點(diǎn)的梯度估計(jì)值r與設(shè)定閾值rmax進(jìn)行比較,若r>rmax,則可判定該點(diǎn)為邊界點(diǎn)。
圖5為Sobel邊緣檢測(cè)流程,圖6為Sobel邊緣檢測(cè)模塊時(shí)序仿真結(jié)果。首先讀取位圖(bitmap, BMP)圖像的數(shù)據(jù)信息并存入數(shù)組,同時(shí)模擬攝像頭時(shí)序,按照行、場(chǎng)同步信號(hào)讀取一幀圖像的信息,將該信號(hào)作為圖像處理模塊的輸入信號(hào),接著將圖像傳入Sobel圖像邊緣處理模塊得到處理后的數(shù)據(jù),最后存入數(shù)組,將數(shù)據(jù)寫入BMP圖像。
圖6中,iBmpFileId和oBmpFileId信號(hào)分別代表輸入和輸出的BMP圖片數(shù)據(jù)信息,iBmpWidth、iBmp Hight及iBmpSize分別代表BMP圖像的寬度、高度和圖像總字節(jié)數(shù),coms_vsync和coms_href信號(hào)是模擬攝像頭產(chǎn)生的行、場(chǎng)同步信號(hào)。
特征值計(jì)算是手勢(shì)識(shí)別模塊中至關(guān)重要的操作,用于提取經(jīng)邊緣檢測(cè)后圖像的特征,并用于特征匹配模塊,實(shí)現(xiàn)動(dòng)靜態(tài)手勢(shì)的準(zhǔn)確識(shí)別。系統(tǒng)提取的圖像特征包括周長(zhǎng)、面積和前三階的Hu不變矩。
圖7為前三階Hu不變矩計(jì)算模塊,包括坐標(biāo)計(jì)算模塊、幾何矩計(jì)算模塊、質(zhì)心計(jì)算模塊、歸一化幾何矩計(jì)算模塊及Hu不變矩計(jì)算模塊五部分。其中,坐標(biāo)計(jì)算模塊計(jì)算當(dāng)前像素信息的、坐標(biāo)值,data_rdy信號(hào)用作后面計(jì)算模塊的使能信號(hào);幾何矩計(jì)算模塊與質(zhì)心計(jì)算模塊分別計(jì)算經(jīng)邊緣檢測(cè)后圖像的幾何矩和質(zhì)心,這兩個(gè)模塊的計(jì)算結(jié)果作為歸一化幾何矩計(jì)算模塊的輸入;Hu不變矩計(jì)算模塊計(jì)算圖像的前三階Hu不變矩,用于提取手勢(shì)圖像的特征值。
圖5 Sobel邊緣檢測(cè)流程
圖6 Sobel邊緣檢測(cè)模塊時(shí)序仿真結(jié)果
圖7 前三階Hu不變矩計(jì)算模塊
圖8為特征值計(jì)算模塊流程。首先通過(guò)OV5640采集圖像,經(jīng)圖像二值化操作和形態(tài)學(xué)去噪與濾波處理后進(jìn)行手勢(shì)圖像分割,得到手勢(shì)圖像的數(shù)據(jù)信息,F(xiàn)PGA控制器的計(jì)算模塊接收到圖像信息后,將經(jīng)Sobel邊緣檢測(cè)處理后的圖像用于計(jì)算手勢(shì)的周長(zhǎng),經(jīng)圖像膨脹算法處理后的二值化圖像用于提取手勢(shì)的面積信息。同時(shí),計(jì)算圖像幾何矩、歸一化幾何距、質(zhì)心位置坐標(biāo)、中心距和歸一化中心距,得到圖像的前三階Hu不變矩。
圖8 特征值計(jì)算模塊流程
輸入手勢(shì)圖像的類型決定是靜態(tài)手勢(shì)識(shí)別還是動(dòng)態(tài)手勢(shì)識(shí)別,其中靜態(tài)手勢(shì)識(shí)別的特征值主要利用手勢(shì)的周長(zhǎng)、面積及前三階Hu不變矩,把提取到的特征值與訓(xùn)練好的各手勢(shì)期望特征值做差,得到最小二范數(shù),其手勢(shì)數(shù)據(jù)即為圖片手勢(shì)信息;動(dòng)態(tài)手勢(shì)識(shí)別主要是對(duì)手勢(shì)圖像質(zhì)心的移動(dòng)軌跡進(jìn)行判斷檢測(cè)并跟蹤。
圖9為前三階Hu不變矩特征值計(jì)算仿真結(jié)果。其中HREF[0]信號(hào)置高代表一行有效像素開(kāi)始傳輸,X_POS、Y_POS分別為圖像的橫、縱像素坐標(biāo),SUM_00為幾何矩的原點(diǎn)矩,SUM_01為幾何矩的一階矩,經(jīng)過(guò)公式計(jì)算驗(yàn)證后,該Hu不變矩特征值數(shù)據(jù)正確。
圖10為手勢(shì)指令控制模塊流程。首先通過(guò)攝像頭獲取圖像數(shù)據(jù)流信息作為輸入,然后進(jìn)行圖像預(yù)處理實(shí)現(xiàn)圖像去噪、濾波并減少圖像數(shù)據(jù)量,采用形態(tài)學(xué)中的腐蝕和膨脹操作對(duì)圖像邊界進(jìn)行連通域處理,再利用膚色模型法對(duì)圖像中的手勢(shì)區(qū)域進(jìn)行分割,由于Hu不變矩具有旋轉(zhuǎn)、平移、裁剪等不變性,因此通過(guò)Sobel邊緣檢測(cè)后,再提取分割后手勢(shì)圖像的Hu不變矩、周長(zhǎng)、面積作為特征值,利用最小二范數(shù)進(jìn)行特征值匹配得到靜態(tài)手勢(shì)識(shí)別結(jié)果,同時(shí)通過(guò)質(zhì)心檢測(cè)和軌跡跟蹤完成對(duì)動(dòng)態(tài)手勢(shì)的識(shí)別。
圖9 前三階Hu不變矩特征值計(jì)算仿真結(jié)果
圖10 手勢(shì)指令控制模塊流程
在手勢(shì)信息數(shù)據(jù)識(shí)別成功后,將得到的結(jié)果送到指令譯碼模塊進(jìn)行處理,產(chǎn)生手勢(shì)控制信號(hào),從而控制機(jī)器人系統(tǒng)按指令進(jìn)行相應(yīng)動(dòng)作。靜態(tài)手勢(shì)指令可以控制機(jī)器人前進(jìn)或停止運(yùn)動(dòng),同時(shí)也可以利用手勢(shì)指揮機(jī)器人自動(dòng)循跡和清除路面障礙物,并伴隨相應(yīng)語(yǔ)音播報(bào)提示;動(dòng)態(tài)手勢(shì)指令可以控制機(jī)械臂進(jìn)行各個(gè)方位的操作,使機(jī)器人按照指令完成相應(yīng)動(dòng)作。
圖11為手勢(shì)指令控制仿真結(jié)果。其中,rst_n信號(hào)延遲20ns后拉高,表示數(shù)據(jù)可以正常且有效地輸入,data_wifi信號(hào)用于接收來(lái)自上位機(jī)的數(shù)據(jù),srecog和drecog信號(hào)分別表示靜態(tài)手勢(shì)和動(dòng)態(tài)手勢(shì)的控制指令,servo_mode和motor_mode信號(hào)表示當(dāng)接收到靜態(tài)或動(dòng)態(tài)手勢(shì)時(shí),舵機(jī)和運(yùn)動(dòng)電機(jī)的動(dòng)作指令數(shù)據(jù)信息。經(jīng)計(jì)算驗(yàn)證后,該模塊結(jié)果數(shù)據(jù)正確。
圖11 手勢(shì)指令控制仿真結(jié)果
輸出驅(qū)動(dòng)部分包含電機(jī)驅(qū)動(dòng)、舵機(jī)驅(qū)動(dòng)及語(yǔ)音驅(qū)動(dòng)模塊,輸出驅(qū)動(dòng)控制模塊可根據(jù)指令譯碼模塊的控制信號(hào)產(chǎn)生各個(gè)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)信號(hào)。
圖12為機(jī)器人控制系統(tǒng)工作流程。給機(jī)器人上電后,進(jìn)行一段時(shí)間的初始化操作,確保系統(tǒng)上電穩(wěn)定。初始化完成后,判斷是否接收到來(lái)自上位機(jī)WiFi模塊的命令信號(hào),若沒(méi)有則進(jìn)入初始模式,若接收到命令則由命令解析模塊對(duì)指令進(jìn)行解析譯碼后輸出對(duì)應(yīng)命令的模式選擇信號(hào),使機(jī)器人進(jìn)入相應(yīng)模式。手勢(shì)指令控制模式下機(jī)器人會(huì)根據(jù)不同手勢(shì)信息執(zhí)行相應(yīng)命令。
圖12 機(jī)器人控制系統(tǒng)工作流程
圖13為舵機(jī)輸出驅(qū)動(dòng)控制仿真結(jié)果,圖14為運(yùn)動(dòng)電機(jī)輸出控制仿真結(jié)果。其中,sel_servo1和sel_servo2信號(hào)表示機(jī)械臂兩個(gè)舵機(jī)的選擇執(zhí)行方式,servo_out1和servo_out2信號(hào)分別表示上下兩個(gè)舵機(jī)的輸出轉(zhuǎn)動(dòng)角度,motor_mode信號(hào)用于選擇兩個(gè)運(yùn)動(dòng)電機(jī)的方向和角度,enzuo_cnt和enyou_cnt信號(hào)表示左右運(yùn)動(dòng)電機(jī)的速度計(jì)數(shù)值,speed_zuo和speed_you分別表示左右運(yùn)動(dòng)電機(jī)的實(shí)際速度。經(jīng)計(jì)算驗(yàn)證后,該模塊結(jié)果數(shù)據(jù)正確。
圖13 舵機(jī)輸出驅(qū)動(dòng)控制仿真結(jié)果
圖14 運(yùn)動(dòng)電機(jī)輸出控制仿真結(jié)果
包括FPGA開(kāi)發(fā)板、運(yùn)動(dòng)小車和機(jī)械臂等在內(nèi)的單臺(tái)機(jī)器人制作成本可控制在4 500元人民幣左右。相對(duì)于單價(jià)在10 000~20 000元左右的類似成品教學(xué)機(jī)器人,本文的教學(xué)機(jī)器人的設(shè)計(jì)與制作成本較低。
圖15所示為靜態(tài)手勢(shì)識(shí)別數(shù)字3,經(jīng)過(guò)處理后可見(jiàn)顯示屏左側(cè)所識(shí)別出的圖像,顯示屏右上角藍(lán)色矩形內(nèi)顯示對(duì)應(yīng)的數(shù)字。在測(cè)試過(guò)程中,系統(tǒng)可識(shí)別多種手勢(shì)狀態(tài),經(jīng)過(guò)排列組合可以發(fā)出指令控制機(jī)器人前進(jìn)、后退、循跡、除障等。
圖15 靜態(tài)手勢(shì)識(shí)別數(shù)字3
圖16所示為識(shí)別手勢(shì)指令2進(jìn)行循跡。當(dāng)發(fā)出靜態(tài)手勢(shì)指令2時(shí),機(jī)器人進(jìn)行循跡,當(dāng)發(fā)出手勢(shì)指令1時(shí),機(jī)器人停止運(yùn)動(dòng)。圖17所示為機(jī)器人在循跡過(guò)程中進(jìn)行除障操作。
圖17 循跡過(guò)程中進(jìn)行除障
圖18所示為機(jī)械臂跟隨動(dòng)態(tài)手勢(shì)運(yùn)動(dòng)。機(jī)器人前端機(jī)械臂通過(guò)識(shí)別動(dòng)態(tài)手勢(shì),可進(jìn)行上、下、左、右方位的移動(dòng)。
圖18 機(jī)械臂跟隨動(dòng)態(tài)手勢(shì)運(yùn)動(dòng)
芯片型號(hào)為XC6SLX9FPGA的FPGA控制系統(tǒng)整體硬件資源消耗數(shù)據(jù)見(jiàn)表1。
表1 硬件資源消耗數(shù)據(jù)
在Matlab 2020b環(huán)境下,識(shí)別過(guò)程利用GUI按鈕識(shí)別手勢(shì)圖片,從開(kāi)始檢測(cè)圖片手勢(shì)到最終識(shí)別手勢(shì)信息的時(shí)間為1.1s,而本文利用實(shí)時(shí)檢測(cè)手勢(shì)圖像算法,并在屏幕上顯示識(shí)別結(jié)果,所用識(shí)別時(shí)間小于0.5s。圖19為Matlab手勢(shì)識(shí)別過(guò)程。
圖19 Matlab手勢(shì)識(shí)別過(guò)程
8種手勢(shì)識(shí)別測(cè)試結(jié)果見(jiàn)表2,每種手勢(shì)分別測(cè)試60次,實(shí)驗(yàn)者按照順序依次進(jìn)行測(cè)試。
表2 8種手勢(shì)識(shí)別測(cè)試結(jié)果
由表2可得,8種不同手勢(shì)的總平均識(shí)別率為95.1%。文獻(xiàn)[8]利用STM32F103嵌入式平臺(tái)進(jìn)行手勢(shì)識(shí)別的平均識(shí)別率僅為87.6%,比本文系統(tǒng)低7.5個(gè)百分點(diǎn)。文獻(xiàn)[9]利用Matlab設(shè)計(jì)的手勢(shì)識(shí)別系統(tǒng)的總體有效識(shí)別率為85.9%,比本文系統(tǒng)低9.2個(gè)百分點(diǎn)。
針對(duì)傳統(tǒng)教學(xué)機(jī)器人綜合應(yīng)用不足、功能簡(jiǎn)單、制作成本高、可重構(gòu)性不足等缺點(diǎn),本文采用可批量生產(chǎn)的普通硬件模塊,利用模塊化設(shè)計(jì)方法,設(shè)計(jì)開(kāi)發(fā)了一種基于FPGA的可重構(gòu)動(dòng)靜態(tài)手勢(shì)交互教學(xué)機(jī)器人。該機(jī)器人設(shè)計(jì)制作成本較低,可實(shí)現(xiàn)人機(jī)手勢(shì)交互、機(jī)械臂抓物、自動(dòng)循跡、超聲避障、運(yùn)動(dòng)除障、語(yǔ)音播報(bào)等多種功能,對(duì)測(cè)試者的數(shù)字手勢(shì)和動(dòng)作手勢(shì)的平均識(shí)別正確率達(dá)95.1%,實(shí)時(shí)識(shí)別響應(yīng)時(shí)間小于0.5s。
本文設(shè)計(jì)的基于FPGA的可重構(gòu)動(dòng)靜態(tài)手勢(shì)交互教學(xué)機(jī)器人具有綜合應(yīng)用性強(qiáng)、功能較齊全、系統(tǒng)可觀性好、設(shè)計(jì)制作成本低、系統(tǒng)可重構(gòu)性好等特點(diǎn),提高了示教過(guò)程中的人機(jī)交互多樣性,可用于FPGA系統(tǒng)設(shè)計(jì)等研究類課程教學(xué)使用,具有良好的應(yīng)用推廣價(jià)值。
[1] KARALEKAS G , VOLOGIANNIDIS S, KALOMIROS J. Europa: a case study for teaching sensors, data acquisition and robotics via a ROS-based educational robot[J]. Sensors, 2020, 20(9): 2469.
[2] YANG Dapeng, OH E S, WANG Yingchun. Hybrid physical education teaching and curriculum design based on a voice interactive artificial intelligence educational robot[J]. Sustainability, 2020, 12(19): 8000.
[3] 溫秀蘭, 胡仰, 姚波, 等. 基于雙目視覺(jué)的雙臂協(xié)作教學(xué)機(jī)器人研究與設(shè)計(jì)[J]. 南京信息工程大學(xué)學(xué)報(bào)(自然科學(xué)版), 2021, 13(3): 304-310.
[4] 金安成, 路敦民, 李彬, 等. 可重構(gòu)模塊化教學(xué)機(jī)器人設(shè)計(jì)[J]. 森林工程, 2012, 28(6): 50-53.
[5] 趙藝兵, 王振豪, 倪銀堂, 等. 拖動(dòng)示教教學(xué)機(jī)器人研究與設(shè)計(jì)[J]. 實(shí)驗(yàn)技術(shù)與管理, 2020, 37(6): 128- 131, 175.
[6] 何之源. 高性能嵌入式AI計(jì)算平臺(tái)的人機(jī)交互手勢(shì)控制識(shí)別[J]. 電子技術(shù)與軟件工程, 2022(2): 145-148.
[7] PATHAN A N, SHEJAL S A, SALGAR S A, et al. Hand gesture controlled robotic system[J]. Inter- national Journal of Aquatic Science, 2022, 13(1): 487-493.
[8] 楊建華, 李正, 趙妤, 等. 基于肌電信號(hào)的嵌入式手勢(shì)識(shí)別系統(tǒng)設(shè)計(jì)[J]. 自動(dòng)化與儀表, 2021, 36(12): 62-66.
[9] 朱越, 李振偉, 楊曉利, 等. 基于視覺(jué)的靜態(tài)手勢(shì)識(shí)別系統(tǒng)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2019, 29(2): 69-72.
[10] 李金鑫, 周衛(wèi)華. 移動(dòng)機(jī)器人位姿檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電氣技術(shù), 2018, 19(11): 68-70, 75.
[11] 陳標(biāo)發(fā), 陳傳東, 魏榕山, 等. 基于現(xiàn)場(chǎng)可編程門陣列的智能配電站安防巡檢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電氣技術(shù), 2022, 23(5): 34-38.
[12] 龍樟, 盧成婭, 李國(guó)鵬, 等. 視覺(jué)手勢(shì)識(shí)別的移動(dòng)機(jī)器人手勢(shì)控制系統(tǒng)設(shè)計(jì)[J]. 機(jī)械科學(xué)與技術(shù), 2022, 41(8): 1247-1253.
[13] YU Yuting, QIAO Ya, REN Gangqiang, et al. Design of digital recognition system based on FPGA[J]. Journal of Physics: Conference Series, 2021, 1885(5): 052030.
[14] ZHANG Xuexiang, WU Xuncheng. Robotic control of dynamic and static gesture recognition[C]//2019 2nd World Conference on Mechanical Engineering and Intelligent Manufacturing (WCMEIM), Shanghai, China, 2020: 474-478.
[15] 趙忠宇, 高博, 龍行銳, 等. 實(shí)時(shí)FPGA手勢(shì)識(shí)別算法的設(shè)計(jì)[J]. 電子測(cè)量技術(shù), 2020, 43(20): 89-92.
[16] 黃沛昱, 黃嶺, 袁素真. 基于膚色質(zhì)心與邊緣自生長(zhǎng)的手勢(shì)分割算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2022, 39(3): 159-164, 171.
Design of reconfigurable gesture interactive teaching robot based on field programmable gate array
DENG Guangwen LIANG Jiaojiao ZHANG Jiaxiang TAN Huisheng
(College of Traffic Engineering, Hu’nan University of Technology, Zhuzhou, Hu’nan 412007)
In view of the disadvantages of traditional teaching robots such as poor recon- figurability, insufficient comprehensive application of the system and simple human-computer interaction function, this paper designs and develops a reconfigurable dynamic and static gesture interactive teaching robot based on field programmable gate array (FPGA). The robot uses Spartan6 of Xilinx as the controller, uses OV5640 camera to recognize and transmit the gesture image information, uses I2C bus to communicate with FPGA, and uses WiFi module to transmit data, so as to control the robot with corresponding gesture instructions. It realizes many functions, such as human-computer gesture interaction, mechanical arm grasping, automatic tracking, ultrasonic obstacle avoidance, motion obstacle removal, voice broadcasting and so on. At the same time, the recognition accuracy of the gesture control robot is 95.1%, and the real-time recognition response time is less than 0.5s. A FPGA-based reconfigurable teaching robot controlled by dynamic and static gestures designed in this paper can be used in the teaching of research courses such as FPGA system design, and has promotion value.
reconfigurable teaching robot; dynamic and static gesture control; field programmable gate array (FPGA); real-time recognition
2023-08-15
2023-09-08
鄧廣雯(1998—),男,湖南武岡人,碩士研究生,主要研究方向?yàn)镾OPC控制應(yīng)用、智能機(jī)器人控制系統(tǒng)、目標(biāo)識(shí)別。
湖南省學(xué)位與研究生教學(xué)改革研究項(xiàng)目(2022JGYB183)
湖南省教育廳科學(xué)研究項(xiàng)目(21B0534)