曾 杰 陳超波 趙 楠 馬嘉躍 胡海濤
(西安工業(yè)大學(xué) 西安 710021)
隨著計(jì)算機(jī)科學(xué)與網(wǎng)絡(luò)技術(shù)的不斷創(chuàng)新,為智能機(jī)器人技術(shù)的發(fā)展帶來了新的發(fā)展機(jī)遇,各種機(jī)器人在不同的領(lǐng)域發(fā)揮著越來越重要的作用[1]。在一些對(duì)人們?nèi)松戆踩型{性的領(lǐng)域廣泛應(yīng)用移動(dòng)機(jī)器人,對(duì)于消除危險(xiǎn)隱患,減少人員傷亡具有重要意義[2]。國(guó)外自20世紀(jì)80年代起,就開始系統(tǒng)地研究小型移動(dòng)機(jī)器人,用以代替人做一些監(jiān)測(cè)巡檢工作。近年我國(guó)對(duì)移動(dòng)機(jī)器人的研究也取得了一些進(jìn)展,“排爆奇兵”就是由中國(guó)航天科工集團(tuán)研究開發(fā)的新一代大型排爆機(jī)器人,可較好適應(yīng)惡劣環(huán)境并排除危險(xiǎn)物品[3]。
用傳統(tǒng)AMR芯片作為主控芯片,無法連續(xù)執(zhí)行較多次的圖像處理步驟[4],處理速度較慢。不能使用OpenCV圖像處理函數(shù)庫,灰度化、二值化、拉普拉斯邊緣檢測(cè)函數(shù)需要單獨(dú)寫出,增大了工作量并且處理效果不理想。
本設(shè)計(jì)采用的樹莓派作為一個(gè)微型計(jì)算機(jī),可以安裝OpenCV圖像處理函數(shù)庫,更便于調(diào)用圖像處理函數(shù),高速的處理器可以更加快速地得到圖像處理結(jié)果。
樹莓派做為微型計(jì)算機(jī)相比于傳統(tǒng)計(jì)算機(jī)樹莓派只是缺少了顯示屏幕和鍵盤,被廣泛用于圖像,文字處理。樹莓派擁有強(qiáng)大的處理器可以對(duì)攝像頭采集到的圖像進(jìn)行實(shí)時(shí)處理,完成采集和識(shí)別,USB端口可以方便地連接LINUX免驅(qū)攝像頭,具有獨(dú)立的40個(gè)GPIO引腳,可以在完成圖像處理的同時(shí)輸出電機(jī)、機(jī)械臂的控制信號(hào),HDMI接口可以接入顯示器方便圖像顯示。樹莓派可以運(yùn)行Python語言進(jìn)行編譯,其內(nèi)置了Python-GPIO函數(shù)庫,在利用GPIO引腳輸出控制信號(hào)時(shí)并不需要獨(dú)立編寫底層的IO控制驅(qū)動(dòng),可以直接使用Python-GPIO函數(shù)庫驅(qū)動(dòng)GPIO[5~8]。十分便捷而且易于學(xué)習(xí)。樹莓派運(yùn)算速度快,價(jià)格低。鑒于樹莓派的種種優(yōu)點(diǎn)本設(shè)計(jì)選擇使用樹莓派作為系統(tǒng)主控。
本設(shè)計(jì)用樹莓派進(jìn)行圖像處理還需用到的一個(gè)重要工具是OpenCV,OpenCV全稱是Open Source Copputer Vision Libra,是一種跨平臺(tái)的計(jì)算機(jī)視覺庫,基于BSD許可(開源)可在Linux,Windows,Android和Mac OS操作系統(tǒng)上運(yùn)行。它是輕量級(jí)和高效的,由一系列C函數(shù)和少量的C++類組成,它還提供了諸如Python,Ruby和Matlab之類的語言接口,并且實(shí)現(xiàn)了許多用于圖像處理和計(jì)算機(jī)視覺的通用算法[9~12]。本設(shè)計(jì)正是利用其Python接口調(diào)用OpenCV圖像庫完成圖像的處理。
開啟攝像頭后采集一幀目標(biāo)物體的照片,OpenCV默認(rèn)讀取圖像是RGB通道,現(xiàn)需要轉(zhuǎn)化到HSV顏色空間,設(shè)置HSV空間中目標(biāo)顏色的閾值,覆蓋掩模后只剩下目標(biāo)顏色,經(jīng)過腐蝕和膨脹后目標(biāo)物體邊緣變得更加清晰,利用中值濾波和低通濾波過濾掉噪聲后,進(jìn)行Canny邊緣檢測(cè)。經(jīng)過Canny邊緣檢測(cè)后的圖片就處理的只剩物體輪廓,之后進(jìn)行霍夫邊緣檢測(cè)返回目標(biāo)物體的邊緣數(shù)量從而完成對(duì)目標(biāo)物體的識(shí)別。流程圖如圖1所示。
以三角形,長(zhǎng)方體和圓柱體為例,經(jīng)上述步驟得出圖2的檢測(cè)結(jié)果,對(duì)于目標(biāo)物體的邊緣進(jìn)行直線檢測(cè),并將邊緣數(shù)量返回。三角形的檢測(cè)結(jié)果是三條直線,長(zhǎng)方體的檢測(cè)結(jié)果是四條直線,易與長(zhǎng)方體混淆的圓柱體上下邊緣是曲線,所以只能檢測(cè)到兩條直線,這樣就可正確識(shí)別目標(biāo)物體。
圖2 檢測(cè)結(jié)果
本設(shè)計(jì)由機(jī)械結(jié)構(gòu)部分和智能控制系統(tǒng)兩部分構(gòu)成。機(jī)械結(jié)構(gòu)部分包括可移動(dòng)載體平臺(tái)和機(jī)械手臂。其中可移動(dòng)載體是本設(shè)計(jì)的硬件基礎(chǔ),搜檢機(jī)器人的信號(hào)采集系統(tǒng),驅(qū)動(dòng)系統(tǒng)和控制系統(tǒng)都要以可移動(dòng)平臺(tái)為載體??紤]到履帶式移動(dòng)載體的支撐面積大,對(duì)地面的壓力較小,履帶支撐面上附有多條棱起,移動(dòng)時(shí)不易產(chǎn)生滑動(dòng),牽引附件性能好,有較好的越障能力,可更好地適應(yīng)各種惡劣的路面環(huán)境[13],故而本設(shè)計(jì)選用履帶行走方式。實(shí)物圖如圖3所示。
圖3 履帶式移動(dòng)機(jī)器人底盤
多自由度機(jī)械臂具有高速,靈活等特點(diǎn),在生產(chǎn)和生活中的應(yīng)用越來越廣泛并起著非常重要的作用[14]。本設(shè)計(jì)要求搜檢機(jī)器人可識(shí)別出目標(biāo)物體并用機(jī)械手夾取放置到安全地方,故采用了4自由度的多關(guān)節(jié)機(jī)械手臂,可使夾持器到達(dá)臂長(zhǎng)范圍內(nèi)任一三維坐標(biāo)點(diǎn),滿足設(shè)計(jì)要求。最大臂展接近30cm,屬于小型專用機(jī)械臂,它由四個(gè)轉(zhuǎn)動(dòng)舵機(jī)組成,固定于履帶式移動(dòng)機(jī)器人底盤的前端,實(shí)現(xiàn)對(duì)目標(biāo)物體的抓取。機(jī)械臂由舵機(jī)驅(qū)動(dòng)板驅(qū)動(dòng),由樹莓派提供控制信號(hào),外接鋰電池供電。結(jié)構(gòu)圖如圖4所示。
圖4 機(jī)械臂機(jī)構(gòu)圖
本系統(tǒng)采用Linux免驅(qū)USB攝像頭完成對(duì)目標(biāo)物體的圖像采集,樹莓派作為系統(tǒng)主控處理和識(shí)別攝像頭采集到的圖像,手機(jī)通過無線WIFI熱點(diǎn)與樹莓派連接顯示圖像識(shí)別結(jié)果。同時(shí)由樹莓派產(chǎn)生驅(qū)動(dòng)信號(hào),經(jīng)過驅(qū)動(dòng)電路后控制機(jī)械臂和電機(jī)運(yùn)動(dòng)。超聲波模塊通過GPIO口與樹莓派連接,測(cè)量履帶式移動(dòng)底盤與目標(biāo)物體之間的距離,使得能在攝像頭最佳焦距內(nèi)完成對(duì)目標(biāo)物體的識(shí)別。系統(tǒng)結(jié)構(gòu)如圖5所示。
圖5 系統(tǒng)結(jié)構(gòu)圖
本設(shè)計(jì)基本工作原理描述如下:首先向控制器發(fā)出啟動(dòng)信號(hào),控制器啟動(dòng)超聲波測(cè)距模塊測(cè)量履帶移動(dòng)底盤與目標(biāo)物體的距離后,驅(qū)動(dòng)電機(jī)向前或向后轉(zhuǎn)動(dòng)。當(dāng)?shù)竭_(dá)預(yù)定距離后停止移動(dòng)并開啟攝像頭模塊采集一幀圖像,進(jìn)行圖像處理后將結(jié)果返回至控制器。在得到正確的識(shí)別結(jié)果并且履帶式移動(dòng)底盤與目標(biāo)物體的距離為預(yù)定值時(shí),驅(qū)動(dòng)機(jī)械臂完成對(duì)目標(biāo)物體的抓取。當(dāng)未能正確識(shí)別目標(biāo)物體時(shí),調(diào)節(jié)攝像頭與目標(biāo)物體的位置后重新進(jìn)行識(shí)別直到產(chǎn)生正確結(jié)果。
1)該方案采用樹莓派+USB攝像頭模塊。使用高清USB攝像頭完成對(duì)目標(biāo)物體的采集,采集到的圖像由樹莓派進(jìn)行處理與識(shí)別。因?yàn)闃漭煽梢园惭bOpenCV圖像處理函數(shù)庫,更便于調(diào)用圖像處理函數(shù),高速的處理器可以更加快速地得到圖像處理結(jié)果。
2)樹莓派具有40個(gè)IO引腳,可以在完成圖像處理的同時(shí)輸出電機(jī)、機(jī)械臂的控制信號(hào),完全可以實(shí)現(xiàn)設(shè)計(jì)要求。
在本次設(shè)計(jì)中電源模塊外圍電路由4個(gè)電容和1個(gè)二極管組成,2個(gè)電容相結(jié)合完成對(duì)輸入輸出電流的高低次諧波的濾波,二極管可以防止電源模塊短接。電源模塊原理圖如圖6所示。
圖6 電源模塊原理圖
由于系統(tǒng)采用外接12V鋰電池供電,而驅(qū)動(dòng)板中芯片均需要5V電壓供電,所以整體需要進(jìn)行電壓轉(zhuǎn)換。本設(shè)計(jì)采用常見的ASM1117-5.0電壓轉(zhuǎn)換芯片完成電壓轉(zhuǎn)換。
添加穩(wěn)壓模塊是因?yàn)殡娫茨K的最大輸出電流為1.2A,而穩(wěn)壓模塊最大輸出電流為3A,為保證整個(gè)驅(qū)動(dòng)板安全使用大電流驅(qū)動(dòng)機(jī)械臂,保證不會(huì)因?yàn)殡娏鬟^大而燒毀芯片。添加穩(wěn)壓模塊還可以隔離電路中的干擾和噪聲,使用單獨(dú)的模塊為機(jī)械臂供電保證機(jī)械臂不受其他模塊干擾,盡量較少機(jī)械臂操作過程中的不正常抖動(dòng),保持運(yùn)行平穩(wěn)。穩(wěn)壓模塊原理圖如圖7所示。
圖7 穩(wěn)壓模塊原理圖
本設(shè)計(jì)采用的是輸出可調(diào)式電路,根據(jù)式(1)可計(jì)算出外圍電阻阻值。其中VREF=1.23V,為了確保輸出穩(wěn)定,R1選用標(biāo)稱阻值為1KΩ,精度為1%的電阻。
電機(jī)驅(qū)動(dòng)模塊采用常見的電機(jī)驅(qū)動(dòng)芯片L298N配合外圍電路實(shí)現(xiàn)對(duì)2個(gè)直流電機(jī)的正反轉(zhuǎn)控制。
L298N是專用驅(qū)動(dòng)集成芯片,屬于H橋集成電路,具有輸出電流大負(fù)載能力強(qiáng)等特點(diǎn),可以直接控制兩臺(tái)直流電機(jī),并可實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),實(shí)現(xiàn)此功能只需要改變輸入邏輯電平,通過使用PWM波即可實(shí)現(xiàn)速度調(diào)節(jié)。L298N電機(jī)驅(qū)動(dòng)模塊原理圖如圖8所示。
圖8 電機(jī)驅(qū)動(dòng)模塊原理圖
因?yàn)槭褂肔298N控制2個(gè)直流電機(jī)正反轉(zhuǎn)正常需要使用6路控制信號(hào),需要從樹莓派的GPIO中引出6個(gè)引腳,為了保護(hù)主控的引腳安全在設(shè)計(jì)時(shí)就使用高速光耦進(jìn)行隔離,為了降低硬件成本,減少高速光耦的數(shù)量,在這里使用74LS046非門反相器將IN1、IN3輸入信號(hào)進(jìn)行反向處理后得到IN2、IN4控制信號(hào)。74LS04反相器原理圖如圖9所示。
圖9 74LS04反相器原理圖
在系統(tǒng)啟動(dòng)前需要先使用樹莓派連接手機(jī)分享的WIFI熱點(diǎn),在遠(yuǎn)程登錄后使用手機(jī)控制啟動(dòng)整體程序,還可通過手機(jī)控制機(jī)器人的動(dòng)作,在完成對(duì)個(gè)模塊和GPIO引腳的初始化后,首先啟動(dòng)超聲波測(cè)距模塊,測(cè)量履帶式移動(dòng)底盤與前進(jìn)方向上障礙物體之間的距離,如果距離大于預(yù)先設(shè)定的距離值則可前進(jìn),若小于預(yù)定值則避障,然后再次判斷底盤與障礙物體的距離,判斷是否到達(dá)設(shè)定位置,到達(dá)攝像頭采集一幀圖像,將圖像返回樹莓派進(jìn)行圖像處理,得到識(shí)別結(jié)果后驅(qū)動(dòng)機(jī)械臂進(jìn)行抓取,并將目標(biāo)物體帶到指定的位置,系統(tǒng)流程圖如圖10所示。
圖10 系統(tǒng)流程圖
搜檢機(jī)器人的樣機(jī)如圖11所示,能否通過樹莓派及OpenCV進(jìn)行圖像處理正確識(shí)別出目標(biāo)物體(以三角體,長(zhǎng)方體,圓柱體為目標(biāo)做測(cè)試)并夾取該物體到特定地方是衡量智能移動(dòng)搜檢機(jī)器人性能優(yōu)劣的關(guān)鍵條件。本文以樹莓派作為圖像處理的核心,用OpenCV做為圖像處理的工具,圓柱體作為要識(shí)別且夾取的目標(biāo)物體,長(zhǎng)方體,三角體作為識(shí)別的干擾項(xiàng),在機(jī)器人自主運(yùn)行的情況下進(jìn)行了實(shí)驗(yàn)。通過實(shí)驗(yàn)證明該機(jī)器人可控制自身正常移動(dòng),能準(zhǔn)確識(shí)別出目標(biāo)物體且夾取到指定地方。樹莓派可以完成對(duì)機(jī)械臂和履帶式移動(dòng)底盤的驅(qū)動(dòng),各部分可協(xié)調(diào)工作。使用樹莓派做為搭載在機(jī)器人上的主控芯片,使圖像處理更加簡(jiǎn)單方便的同時(shí)又能實(shí)現(xiàn)對(duì)電機(jī)、機(jī)械臂的控制,實(shí)驗(yàn)證明這是一種簡(jiǎn)單有效的方案。
圖11 搜檢機(jī)器人樣機(jī)
鑒于一些工作危險(xiǎn)性較大或有些區(qū)域人類難以到達(dá)設(shè)計(jì)了基于樹莓派的智能移動(dòng)式搜檢機(jī)器人,本設(shè)計(jì)融合了自動(dòng)化技術(shù)和圖像處理技術(shù),以樹莓派作為核心平臺(tái),完成圖像處理的同時(shí)也能對(duì)機(jī)器人的行動(dòng)進(jìn)行控制,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單。以樹莓派為平臺(tái),OpenCV為圖像處理工具,簡(jiǎn)化了圖像處理過程,提高了識(shí)別率。該機(jī)器人機(jī)械結(jié)構(gòu)簡(jiǎn)單,靈活性高,機(jī)動(dòng)性強(qiáng),便于攜帶,易維修,成本低,可自主對(duì)危險(xiǎn)品完成識(shí)別與抓取,并將危險(xiǎn)品放置于便于處理的地方。也可利用手機(jī)或遙控器控制機(jī)器人的移動(dòng)和機(jī)械臂的抓取,最大程度地適應(yīng)真實(shí)環(huán)境,減少未知干擾對(duì)機(jī)器人的影響。如能將本設(shè)計(jì)用于實(shí)際中,將大大較少人力物力,方便在一些狹小的地方進(jìn)行安檢。