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