基于FPGA技術(shù)的手勢(shì)識(shí)別控制型多功能機(jī)械臂系統(tǒng)設(shè)計(jì)方案?


基于FPGA技術(shù)的手勢(shì)識(shí)別控制型多功能機(jī)械臂系統(tǒng)設(shè)計(jì)方案
一、設(shè)計(jì)概述
隨著信息技術(shù)的快速發(fā)展,人機(jī)交互技術(shù)逐漸由傳統(tǒng)的鍵盤、鼠標(biāo)等基于圖形用戶界面的方式,轉(zhuǎn)變?yōu)橐阅M和類似人類感知傳輸?shù)男畔㈩愋?。手?shì)識(shí)別因其自然、直接、有效的交互特點(diǎn),越來越受到研究人員的關(guān)注。傳統(tǒng)的手勢(shì)識(shí)別依賴于配置有傳感器的手套,成本高且操作不便,不具有推廣性。而基于機(jī)器視覺的手勢(shì)識(shí)別技術(shù),突破硬件局限,從模式識(shí)別算法層面革新人機(jī)交互方式,更適應(yīng)未來人機(jī)交互的發(fā)展趨勢(shì)。
機(jī)械臂作為現(xiàn)代工業(yè)領(lǐng)域自動(dòng)化智能加工中最常見的執(zhí)行終端,通過各個(gè)關(guān)節(jié)的協(xié)調(diào)運(yùn)動(dòng)與機(jī)械末端的配合,可進(jìn)行多自由度模擬仿真。通過對(duì)舵機(jī)進(jìn)行控制設(shè)計(jì),使機(jī)械臂能夠完成抓取分揀、連續(xù)動(dòng)作,從而具有比人手更好的動(dòng)作組合靈活性和指令完成準(zhǔn)確性。
本系統(tǒng)基于機(jī)器視覺,聚焦手勢(shì)識(shí)別,利用攝像頭獲取單目圖像信息,實(shí)現(xiàn)手勢(shì)分割、手勢(shì)建模、手勢(shì)形狀特征提取,對(duì)多種不同手勢(shì)圖像進(jìn)行識(shí)別。以舵機(jī)控制的機(jī)械臂模塊作為響應(yīng)終端,借助手勢(shì)變化來控制機(jī)械臂執(zhí)行多種功能。該系統(tǒng)不僅延長(zhǎng)了人手的作用范圍,還在工業(yè)自動(dòng)化、物流行業(yè)等領(lǐng)域有著極好的應(yīng)用前景。
二、系統(tǒng)組成及功能說明
本系統(tǒng)以Xilinx ZYNQ SoC作為主控制芯片,分為處理器模塊、攝像頭模塊、顯示器模塊、舵機(jī)驅(qū)動(dòng)模塊、通訊傳輸模塊。
處理器模塊
本系統(tǒng)采用基于ZYNQ-7020芯片的PYNQ-Z2開發(fā)板進(jìn)行系統(tǒng)開發(fā)。ZYNQ分為PS(Processing System)和PL(Programmable Logic)兩部分。在PS上運(yùn)行Linux操作系統(tǒng),在Linux操作系統(tǒng)上運(yùn)行Python,通過調(diào)用PYNQ中的庫Overlay,對(duì)連接到PS端的接口進(jìn)行解析,進(jìn)而控制FPGA邏輯資源,加速系統(tǒng)數(shù)據(jù)處理。
對(duì)于本系統(tǒng)所設(shè)計(jì)的基于機(jī)器視覺的手勢(shì)識(shí)別算法和“井字游戲”人機(jī)大戰(zhàn)算法,直接利用硬件語言進(jìn)行編寫在邏輯上十分復(fù)雜,故采用Python進(jìn)行編程實(shí)現(xiàn),利用FPGA對(duì)圖像處理部分進(jìn)行硬件加速,不僅提高了圖像處理速度,還更好地?cái)U(kuò)展了圖像應(yīng)用。
攝像頭模塊
本系統(tǒng)采用奧尼C11款的高清攝像頭對(duì)手勢(shì)進(jìn)行畫面捕捉,通過USB完成圖像輸入。相比于傳統(tǒng)的傳感器手套對(duì)手勢(shì)姿態(tài)的采集,攝像頭減輕了硬件端的負(fù)擔(dān),使得整個(gè)系統(tǒng)可推廣性更好。
顯示器模塊
采用顯示屏作為圖像輸出端,展示手勢(shì)識(shí)別圖像處理過程及結(jié)果,不僅有利于過程中的算法調(diào)試與驗(yàn)證,并且具有更好的視覺效果。
機(jī)械臂(舵機(jī))模塊
本系統(tǒng)使用的機(jī)械臂是Learm公司開發(fā)的一款六自由度機(jī)械臂,能通過上位機(jī)對(duì)其進(jìn)行動(dòng)作設(shè)計(jì),通過PWM控制舵機(jī)運(yùn)轉(zhuǎn),從而完成抓取和連續(xù)復(fù)雜動(dòng)作兩種不同的模式功能。舵機(jī)(機(jī)械臂)模塊與處理器的模塊采用UART串行通信,采用特定的通信協(xié)議進(jìn)行指令交互。
通訊傳輸模塊
該模塊用于處理器模塊與其他模塊之間的數(shù)據(jù)傳輸,確保系統(tǒng)的各個(gè)部分能夠協(xié)同工作。
三、手勢(shì)識(shí)別
本系統(tǒng)可以對(duì)常用的八種手勢(shì)進(jìn)行識(shí)別處理,分別為“0”、“1”、“2”、“3”、“4”、“5”、“Best of luck”、“ok”。啟動(dòng)系統(tǒng)后,在攝像頭端擺出相應(yīng)手勢(shì),即完成手勢(shì)輸入,顯示器會(huì)顯示出對(duì)應(yīng)的識(shí)別結(jié)果。顯示器畫面有矩形框定位識(shí)別區(qū)域,在該矩形框中會(huì)有多邊形框出手部輪廓,右上方會(huì)顯示識(shí)別結(jié)果。當(dāng)識(shí)別區(qū)域沒有放入手進(jìn)行識(shí)別時(shí),顯示器畫面靜止。
機(jī)械臂內(nèi)部封裝有存儲(chǔ)“動(dòng)作組”的部件,用來存儲(chǔ)動(dòng)作指令。用戶如果要進(jìn)行動(dòng)作設(shè)計(jì),在機(jī)械臂通電的情況下,通過USB通信與電腦端上位機(jī)進(jìn)行連接,在上位機(jī)中設(shè)置傳輸給六個(gè)舵機(jī)的PWM值,形成一個(gè)包含這個(gè)動(dòng)作指令的“動(dòng)作組”,下載進(jìn)存儲(chǔ)部件以便后續(xù)調(diào)用。
四、詳細(xì)主控芯片型號(hào)及其作用
Xilinx ZYNQ-7020
型號(hào):Xilinx ZYNQ-7020
作用:作為主控制芯片,ZYNQ-7020芯片將處理器系統(tǒng)(PS)和可編程邏輯(PL)結(jié)合在一起,形成一個(gè)高度集成的系統(tǒng)。PS部分運(yùn)行Linux操作系統(tǒng),支持Python編程,便于實(shí)現(xiàn)復(fù)雜的手勢(shì)識(shí)別算法和人機(jī)交互邏輯。PL部分則利用FPGA進(jìn)行硬件加速,提高圖像處理速度。這種架構(gòu)使得系統(tǒng)既具有強(qiáng)大的處理能力,又具備高度的靈活性。
PAJ7620U2(備選方案)
型號(hào):PAJ7620U2
作用:PAJ7620U2是原相科技(PixArt)公司推出的一款光學(xué)數(shù)組式傳感器,內(nèi)置光源和環(huán)境光抑制濾波器集成的LED,鏡頭和手勢(shì)感測(cè)器在一個(gè)小的立方體模組內(nèi),能在黑暗或低光環(huán)境下工作。該傳感器內(nèi)置手勢(shì)識(shí)別功能,支持9個(gè)手勢(shì)類型和輸出的手勢(shì)中斷結(jié)果,并且內(nèi)置接近檢測(cè)功能,可用于感測(cè)物體接近或離開。PAJ7620U2可以作為手勢(shì)識(shí)別的備選方案,通過I2C接口與主控制器進(jìn)行通信,實(shí)現(xiàn)手勢(shì)識(shí)別功能。
五、工作流程
圖像采集
通過攝像頭模塊捕捉手勢(shì)圖像信息。
圖像預(yù)處理
圖像預(yù)處理由四個(gè)主要步驟組成:定義識(shí)別區(qū)域、顏色空間轉(zhuǎn)換、膨脹處理、高斯濾波。
定義識(shí)別區(qū)域:主要用來減小識(shí)別區(qū)域面積,從而提高識(shí)別效率。
顏色空間轉(zhuǎn)換:將攝像頭捕捉到的RGB顏色空間下的圖像信息轉(zhuǎn)化為HSV顏色空間下的圖像信息,便于后續(xù)對(duì)背景和手部進(jìn)行顏色分割。
膨脹處理:使得識(shí)別區(qū)域高亮區(qū)域增長(zhǎng),消除手部?jī)?nèi)的噪聲點(diǎn)。
高斯濾波:通過加權(quán)求和的方式,消除圖像內(nèi)的高斯噪聲點(diǎn)。
手勢(shì)建模與特征提取
利用道格拉斯-普克(Douglas-Pucker)算法,將手部輪廓擬合為多邊形曲線,同時(shí)計(jì)算面積,以得到輪廓內(nèi)手部面積最大的手部輪廓。在此基礎(chǔ)上,分別計(jì)算出輪廓總面積(areacnt)、輪廓中手的面積(areahull)、以及手的面積占輪廓總面積的百分比(arearatio)。與此同時(shí),得到最大輪廓面積中的凸缺陷(即凹陷)數(shù)(defects),并通過計(jì)算凸缺陷中起始點(diǎn)、終點(diǎn)、離起始點(diǎn)終點(diǎn)連線最遠(yuǎn)處的點(diǎn)構(gòu)成的三角形的高(d)和頂角(angle)值,來去除因噪聲而得到的凸缺陷點(diǎn),得到消除噪聲點(diǎn)后的凸缺陷數(shù)(l)。
手勢(shì)識(shí)別
根據(jù)手勢(shì)分析后得到的模型參量,通過手勢(shì)識(shí)別流程圖,輸出“0”、“1”、“2”、“3”、“4”、“5”、“ok”、“best of luck”八種手勢(shì)識(shí)別結(jié)果。
機(jī)械臂響應(yīng)
處理器內(nèi)部通過不同的邏輯運(yùn)算,將對(duì)應(yīng)的動(dòng)作指令通過相應(yīng)的PWM信號(hào)輸出給各個(gè)舵機(jī),驅(qū)動(dòng)六自由度機(jī)械臂完成要求動(dòng)作,從而實(shí)現(xiàn)對(duì)應(yīng)的組合功能。
六、應(yīng)用場(chǎng)景與前景
工業(yè)自動(dòng)化
本系統(tǒng)可應(yīng)用于操控大型機(jī)械進(jìn)行物體分揀的工業(yè)自動(dòng)化領(lǐng)域,通過手勢(shì)識(shí)別控制機(jī)械臂,實(shí)現(xiàn)自動(dòng)化生產(chǎn)線的智能控制。
物流行業(yè)
在物流行業(yè)中,本系統(tǒng)可應(yīng)用于貨物的分揀、搬運(yùn)等環(huán)節(jié),提高物流效率。
娛樂領(lǐng)域
本系統(tǒng)可用于開發(fā)AR游戲、虛擬現(xiàn)實(shí)游戲等娛樂應(yīng)用,通過手勢(shì)識(shí)別實(shí)現(xiàn)更加自然、直觀的游戲交互體驗(yàn)。
醫(yī)療領(lǐng)域
在醫(yī)療領(lǐng)域,本系統(tǒng)可用于手術(shù)輔助、康復(fù)訓(xùn)練等場(chǎng)景,通過手勢(shì)識(shí)別控制醫(yī)療設(shè)備或康復(fù)器械,提高醫(yī)療效率和準(zhǔn)確性。
教育領(lǐng)域
在教育領(lǐng)域,本系統(tǒng)可用于開發(fā)互動(dòng)教學(xué)應(yīng)用,通過手勢(shì)識(shí)別實(shí)現(xiàn)更加生動(dòng)、有趣的教學(xué)方式。
智能家居
在智能家居領(lǐng)域,本系統(tǒng)可用于控制家電設(shè)備、智能窗簾等家居產(chǎn)品,通過手勢(shì)識(shí)別實(shí)現(xiàn)智能家居的便捷控制。
七、結(jié)論
基于FPGA技術(shù)的手勢(shì)識(shí)別控制型多功能機(jī)械臂系統(tǒng),通過結(jié)合機(jī)器視覺和FPGA硬件加速技術(shù),實(shí)現(xiàn)了高效、準(zhǔn)確的手勢(shì)識(shí)別功能。該系統(tǒng)具有廣泛的應(yīng)用前景,可應(yīng)用于工業(yè)自動(dòng)化、物流行業(yè)、娛樂領(lǐng)域、醫(yī)療領(lǐng)域、教育領(lǐng)域和智能家居等多個(gè)領(lǐng)域。未來,隨著人工智能和物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,該系統(tǒng)將具有更加廣闊的應(yīng)用空間和發(fā)展?jié)摿Α?/span>
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。