張俊 歐陽(yáng)孝培
【摘 要】在現(xiàn)代社會(huì)的發(fā)展中,機(jī)器人的應(yīng)用逐漸出現(xiàn)在多個(gè)領(lǐng)域,其中輪式機(jī)器人在家庭、服務(wù)行業(yè)、企業(yè)中均有不同的應(yīng)用。文章對(duì)輪式機(jī)器人在自主導(dǎo)航問(wèn)題中的目標(biāo)定位和路徑規(guī)劃算法進(jìn)行初步研究和應(yīng)用。通過(guò)實(shí)驗(yàn)驗(yàn)證該方法可行且取得了較好的效果。
【關(guān)鍵詞】輪式機(jī)器人;目標(biāo)定位;路徑規(guī)劃;單目視覺(jué)
【中圖分類(lèi)號(hào)】TP242 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1674-0688(2019)08-0076-03
1 概述
輪式機(jī)器人在多個(gè)領(lǐng)域有著不同的應(yīng)用。目前,對(duì)輪式機(jī)器人的研究主要集中在自主導(dǎo)航的相關(guān)問(wèn)題上。其中,目標(biāo)定位方法及路徑規(guī)劃算法的研究是非常重要的兩個(gè)方面。我們?cè)陧?xiàng)目中基于一種輪式機(jī)器人,附加單目攝像頭作為實(shí)驗(yàn)平臺(tái),在單目視覺(jué)條件下,獲取的圖像中缺乏深度信息,在確定目標(biāo)具體位置時(shí)往往會(huì)有偏差,因此必須采取一定的處理,才能估算出目標(biāo)位置;而在路徑規(guī)劃算法的選擇上,也必須選擇具有一定穩(wěn)定性、準(zhǔn)確性和一定實(shí)時(shí)性的算法。本文在目標(biāo)定位和路徑規(guī)劃算法的實(shí)際應(yīng)用上進(jìn)行了初步探索。
2 視覺(jué)目標(biāo)檢測(cè)與定位方法
2.1 輪式機(jī)器人視覺(jué)系統(tǒng)
本項(xiàng)目中基于xPartner公司的IN-RE輪式機(jī)器人作為研究平臺(tái),在IN-RE機(jī)器人上通過(guò)USB口連接CMOS攝像頭,用以采集視頻圖像。
視頻采集系統(tǒng)的硬件部分主要包括單目攝像頭、圖像采集卡等;軟件開(kāi)發(fā)是在Windows7操作系統(tǒng)上基于Visual Studio 2012開(kāi)發(fā)環(huán)境及Open CV視覺(jué)庫(kù)進(jìn)行的。
2.2 視覺(jué)目標(biāo)檢測(cè)
通過(guò)單目攝像頭采集的圖像幀經(jīng)過(guò)去噪、圖像通道轉(zhuǎn)換、顏色閾值分割和形態(tài)學(xué)變換等處理對(duì)目標(biāo)物進(jìn)行提取,獲取目標(biāo)物質(zhì)心像素坐標(biāo)[1]。
(1)圖像去噪處理。根據(jù)具體使用的單目攝像頭獲取圖像效果及實(shí)驗(yàn)測(cè)試,對(duì)圖像中的噪聲采用高斯濾波法進(jìn)行濾波降噪,并能較好地保留圖像中物體的邊緣特征[1]。圖1(a)、(b)是圖像處理前和處理后的對(duì)比。
(2)圖像通道轉(zhuǎn)換和顏色閾值分割。攝像頭獲取的圖像為RGB圖像。但在視覺(jué)感知方面,RGB模型略顯不足,因此將圖像從RGB轉(zhuǎn)換為HSV。圖1(c)為RGB圖像轉(zhuǎn)換成HSV圖像。實(shí)驗(yàn)中采用黃色乒乓球,這樣我們可以通過(guò)HSV模型中對(duì)應(yīng)需要的顏色的H、S、V值范圍定位目標(biāo)物(圖1中的乒乓球),并對(duì)圖像進(jìn)行二值化處理,處理情況如圖1(d)所示[1]。
(3)形態(tài)學(xué)運(yùn)算,通過(guò)形態(tài)學(xué)的開(kāi)運(yùn)算和閉運(yùn)算消除前面二值圖像上的高亮噪聲點(diǎn),使目標(biāo)物更加清晰,有利于計(jì)算目標(biāo)物質(zhì)心坐標(biāo)[1]。處理效果如圖1(e)所示。
(4)提取目標(biāo)物質(zhì)心坐標(biāo)。搜索圖1中高亮部分的輪廓,并通過(guò)獲取的輪廓點(diǎn)坐標(biāo)計(jì)算輪廓質(zhì)心坐標(biāo)[1]。圖1(f)已標(biāo)識(shí)出高亮部分的質(zhì)心位置。
2.3 目標(biāo)定位
目標(biāo)定位是要獲取目標(biāo)物在實(shí)際環(huán)境中的平面坐標(biāo)。本項(xiàng)目中因考慮到單目視覺(jué)測(cè)距直接通過(guò)坐標(biāo)轉(zhuǎn)換計(jì)算誤差較大,且受光照影響大、魯棒性不強(qiáng),因此采用了通過(guò)繪制測(cè)距網(wǎng)格結(jié)合進(jìn)行實(shí)際物理環(huán)境測(cè)量對(duì)目標(biāo)物環(huán)境坐標(biāo)估算的辦法[1]。
(1)繪制測(cè)距網(wǎng)格。為了減小誤差,將輪式機(jī)器人前端攝像頭加強(qiáng)固定。在攝像頭獲取的畫(huà)面中以近大遠(yuǎn)小的原理繪制一個(gè)測(cè)距網(wǎng)格,如圖2所示。其中,屏幕坐標(biāo)系原點(diǎn)為屏幕左上角點(diǎn)OA,XA水平向右,YA垂直向下;地面坐標(biāo)系原點(diǎn)為屏幕下方中心對(duì)應(yīng)于地面點(diǎn)OM,XM水平向右,YM垂直于XM向前。
(2)物理位置測(cè)量及保存。在攝像采集開(kāi)啟的狀態(tài)下,對(duì)畫(huà)面中網(wǎng)格中心點(diǎn)在實(shí)際環(huán)境中地面位置坐標(biāo)進(jìn)行物理測(cè)量。圖3為攝像頭實(shí)時(shí)攝取的圖像及利用opencv在獲取的圖像上疊加繪制的網(wǎng)格。將得到的坐標(biāo)位置信息進(jìn)行記錄并保存于文檔中。
(3)坐標(biāo)比對(duì)與估算。對(duì)于已獲取的目標(biāo)物質(zhì)心屏幕坐標(biāo),判斷其處于哪個(gè)網(wǎng)格,將對(duì)應(yīng)網(wǎng)格中心位置的地面坐標(biāo)作為估計(jì)的目標(biāo)物地面坐標(biāo)。
3 SOM路徑規(guī)劃算法及測(cè)試
3.1 SOM路徑規(guī)劃算法流程
結(jié)合輪式機(jī)器人將應(yīng)用作為撿垃圾機(jī)器人的初步設(shè)想,對(duì)于其路徑規(guī)劃問(wèn)題滿足TSP(旅行商問(wèn)題)求解思路。由于TSP問(wèn)題屬于典型的NP完全問(wèn)題,所以基本都是采用近似算法進(jìn)行求解,由此得出一個(gè)近似最優(yōu)解。通過(guò)采用不同的算法(遺傳算法、蟻群算法等)進(jìn)行比對(duì)測(cè)試發(fā)現(xiàn),SOM(Self-Organizing Map)自組織特征映射網(wǎng)絡(luò)模型對(duì)于該問(wèn)題的解決方案穩(wěn)定性比較好[2]。
在本次設(shè)計(jì)方案中,由輪式機(jī)器人扮演旅行商角色,視覺(jué)中的各目標(biāo)點(diǎn)集合代表所有城市,從而以TSP的實(shí)現(xiàn)方案滿足機(jī)器人對(duì)識(shí)別的物體進(jìn)行路徑規(guī)劃[2]。
3.2 算法測(cè)試
由于在項(xiàng)目中所需要的目標(biāo)點(diǎn)沒(méi)有達(dá)到類(lèi)似TSP問(wèn)題數(shù)量級(jí)的規(guī)模,為了測(cè)試算法的準(zhǔn)確性和穩(wěn)定性,我們選擇手動(dòng)輸入幾個(gè)數(shù)據(jù),用以模擬小車(chē)通過(guò)視覺(jué)獲取的目的地坐標(biāo)。算法執(zhí)行之前會(huì)以城市數(shù)量為基數(shù)乘以8作為SOM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的神經(jīng)元個(gè)數(shù)進(jìn)行添加。在模型訓(xùn)練次數(shù)上,一般來(lái)說(shuō),迭代上限越高,得到最終結(jié)果越準(zhǔn)確。剛開(kāi)始測(cè)試時(shí),為了測(cè)試算法的準(zhǔn)確性,把迭代上限設(shè)置成10萬(wàn)次,但是算法并沒(méi)有完成該迭代次數(shù),因?yàn)槠渲写嬖谝粋€(gè)衰減變量,每次迭代都會(huì)更新衰減變量,如果判定衰減變量小于閾值,證明隱藏層神經(jīng)元已經(jīng)完成計(jì)算,再迭代下去的意義不大,可以得到最終的輸出。表1中左邊為初始目標(biāo)點(diǎn)坐標(biāo)順序,其中有9個(gè)點(diǎn),1個(gè)點(diǎn)生成了72個(gè)神經(jīng)元結(jié)構(gòu),迭代了14 253次,巡回9個(gè)點(diǎn)可能的最佳路線為(1,2,3,5,
9,8,4,6,7),其總長(zhǎng)度為87.666,在算法中加入時(shí)間函數(shù),用以打印算法執(zhí)行時(shí)間,實(shí)際測(cè)試運(yùn)行時(shí)間為88 304 ms。表1中右邊為算法執(zhí)行后目標(biāo)點(diǎn)順序。圖5為算法計(jì)算的目標(biāo)點(diǎn)巡回最短路線圖[2]。
經(jīng)過(guò)多次的測(cè)試,算法執(zhí)行準(zhǔn)確度基本得到保證,不足的是執(zhí)行時(shí)間長(zhǎng),這樣緩慢的執(zhí)行過(guò)程會(huì)嚴(yán)重影響到智能小車(chē)的運(yùn)行。但是在以上測(cè)試中,存在兩個(gè)延遲算法執(zhí)行時(shí)間的因素。一個(gè)是算法執(zhí)行過(guò)程中會(huì)把運(yùn)算過(guò)程可視化,即把各神經(jīng)元位置變換過(guò)程分別寫(xiě)入圖像文件,這會(huì)嚴(yán)重影響算法的執(zhí)行時(shí)間。并且,這些可視化效果只作用于算法的演示,對(duì)算法的結(jié)果并無(wú)任何作用,所以先把這個(gè)可視化的過(guò)程省略掉。還有一個(gè)因素是迭代次數(shù),在上一次測(cè)試中,為了準(zhǔn)確性而把迭代上限設(shè)置得很高,其實(shí)這是一種極限的做法,實(shí)際上算法并不需要這么多迭代次數(shù)。優(yōu)化算法后,重新測(cè)試算法執(zhí)行效率見(jiàn)表2[2]。
該算法正常的迭代次數(shù)應(yīng)該與衰減變量及目標(biāo)數(shù)量有著線性關(guān)系。在衰減變量設(shè)置完好的情況下,它直接與目標(biāo)數(shù)量級(jí)相關(guān)。在本次設(shè)計(jì)中,由于智能小車(chē)攝像頭的視野比較局限,根本不存在超過(guò)20個(gè)目標(biāo)點(diǎn)的情況,因此在算法的實(shí)際使用中可以考慮適當(dāng)減小迭代上限,從而加快算法運(yùn)算時(shí)間[2]。
4 結(jié)語(yǔ)
本文對(duì)輪式機(jī)器人視覺(jué)目標(biāo)定位方法和路徑規(guī)劃算法進(jìn)行了初步探索。由于采用的是單目視覺(jué),圖像缺乏深度信息,為了能較好地對(duì)目標(biāo)坐標(biāo)位置進(jìn)行估計(jì),采用了通過(guò)繪制測(cè)距網(wǎng)格結(jié)合進(jìn)行實(shí)際物理環(huán)境測(cè)量的方法,在實(shí)驗(yàn)中能達(dá)到估算坐標(biāo)的目的。但是隨著目標(biāo)距離加大,估算的坐標(biāo)值誤差也會(huì)加大。在路徑規(guī)劃方面,通過(guò)實(shí)驗(yàn)測(cè)試了多種常用算法,最終SOM算法在實(shí)際測(cè)試中比較穩(wěn)定和準(zhǔn)確,但是算法的實(shí)時(shí)性略差,實(shí)際使用中在不影響準(zhǔn)確性的情況下減少迭代次數(shù)以加快算法執(zhí)行。綜上,本文在輪式機(jī)器人的目標(biāo)定位和路徑規(guī)劃方面的研究取得了初步效果。在以后的研究中,采用雙目視覺(jué)及結(jié)合多種傳感信息進(jìn)行信息融合可實(shí)現(xiàn)更為準(zhǔn)確的目標(biāo)定位,改進(jìn)現(xiàn)有的算法以提高路徑規(guī)劃的準(zhǔn)確性和實(shí)時(shí)性,都將是我們要努力去探索的方向。
參 考 文 獻(xiàn)
[1]張俊.基于單目視覺(jué)的輪式機(jī)器人目標(biāo)定位[D].泉州:泉州師范學(xué)院,2019.
[2]歐陽(yáng)孝培.智能小車(chē)路徑規(guī)劃算法設(shè)計(jì)[D].泉州:泉州師范學(xué)院,2019.
[3]肖大偉,翟軍勇.輪式移動(dòng)機(jī)器人單目視覺(jué)的目標(biāo)測(cè)距方法[J].計(jì)算機(jī)工程,2017,43(4):287-291.
[4]王鵬,趙汗青,王江峰,等.基于單目視覺(jué)的相機(jī)位姿解算[J].電子科技,2017,30(12):75-78.
[5]馬仕玉,孫承東,朱家利.SOM神經(jīng)網(wǎng)絡(luò)在非法營(yíng)運(yùn)車(chē)輛識(shí)別中的應(yīng)用[J].信息與電腦(理論版),2017(8):
83-85.
[6]T Kohonen.The self-organizing map[J].Neuroco-
mputing,1998(21):1-6.
[責(zé)任編輯:鐘聲賢]