光電丨rx li投球亞廣聯在2002年8月31日在日本東京舉行首屆亞太地區大學生機器人大賽,有包括中國在內的20個國家參賽。于是中央電視臺決定從2002年開始在國內舉行一年一度的全國大學生機器人電視大賽,以選拔代表參加東京大賽。2002年6月中旬,兩隊中國科大機器人在中國首屆大學生機器人大賽中囊括冠亞軍,其中有視覺控制的機器人奪得冠軍。8月31日,中國科大機器人在東京的亞太地區的比賽中獲亞軍。視覺控制機器人還榮獲最高技術獎,受到日本機器人專家的一致認同,并且指出這是機器人發展的一個方向。
目前工業機器人已經廣泛應用,日本還有類人的雙足舞蹈機器人,但是始終有一個仿生的瓶頸無法突破,那就是視覺識別。機器人視覺實際上是計算機視覺的一個應用,但由于運行環境,圖像采集方式及處理速度等因素的限制,機器人視覺領域對識別方法和人工智能都有新的要求。在這個方面,我們做了一些嘗試。
2整體系統設計介紹我們的機器人的基本任務是:在場地上找到帶有彩色堅條的有機塑料桶并將一個充氣氣球投入其中,如。機器人控制圖如所示。
主控制機控制機是機器人的大腦,處理所有信息和控制機器人的所有行為。
cpu:中央處理系統采用計算機系統,即:工控機主板+pi866cpu+bbbbbbs操作系統,這樣就構成一個視覺控制系統的中央處理器。imi控制示意圖圖像采集:實時圖像處理信息量大,處理速度快,對輸入設備要求很高,于是我們采用pci接口的專業圖形采集卡,可以得到每秒29幀的高保真圖像。當取景設備較快移動或場景較快變化時,圖像無延遲,采集的設備無關位圖基本沒有模糊和重影現象。當運動很快時,位圖中物體的邊緣發生模糊,對識別有一些影響。實時圖像處理建議不要使用usb接口的圖像采集設備,采集速度小,容易出現模糊的位圖。
i/控制:計算機的浮點和整數運算能力都很強,足以應付一般的數字控制。為了得到更快,信息量更大的數字控制,我們采用了專業ad/da數字信號采集輸出卡,為pci接口的。這塊卡可以提供32個模擬量監控,4個模擬量輸出,8位數字輸入,8位數字輸出,3個8位計數器等,還可以提供中斷服務。cpu處理得號輸出到模擬和數字輸出口。
驅動器接口控制板:由ad/da卡輸出的數字信號無法直接控制機器人的運動,專門設計了一塊用數字電路搭建的將這些數字信號放大或轉換為可以直接發到電機驅動板的信號,通過數字編碼解碼電路擴充輸入輸出信號量。還包括一塊模擬信號!pwm信號電路板。
電機驅動板:采用傳統的輪式驅動結構,為直流伺服電機,帶有一定的減速比。除驅動輪外還有幾個用作其他用途的伺服電機。自制了一種驅動板,采用成品3952a直流電機驅動芯片,用pwm信號調節速度。
執行機構包括機器人地盤,投球機構等機械機構。
傳感器我們采用的傳感器及用途如表1.表1傳感器及用途傳感器名稱數量型號,說明及用途攝像頭1或2真彩480線,建議使用320" 240分辨率,可變焦拉伸鏡頭,建議使用數控變焦或變光圈。用來采集機器人前方圖像。
紅外近距光電開關10厘米以上感知距離,用來判斷是否將球投出。
點觸式碰撞開關若干用來判斷是否接觸到球桶或障礙物,并將相應信息通過開關量傳回中央處理器。
3視覺識別系統視覺控制系統從采集的位圖中得到球桶的位置及是否有球等信息,從而決策機器人的運動。關鍵就是分析出球桶信息。但由于特定的識別環境和目標不同,需要更新不同的識別算法。從中我們可以看到球桶的形態,規格。我們處理的圖像是通過線陣ccd攝像頭實時獲取的,通過采集卡得到bbbbbbs環境下通用的d舊位圖數據rgb24真彩),處理流程如。
3.1顏色過濾和預處理圖像在從攝像頭傳輸到采集卡的過程中,機器人運動,機器人振動和攝像頭采集信號失真,不同環境光線的變化,以及復雜背景等產生噪聲干擾。所以處理的第一步是采用一個最佳的去噪方法,并且盡量不受光線的影響。
如所示,三種球桶的顏色分別為熒光橙色,熒光綠色,熒光黃色。此三種顏色在rgb分量上都有典型的特征,如熒光橙色,在r分量上接近0xff,熒光綠色在g分量上接近0xff,而熒光黃色在g分量上也接近飽和,但是和熒光綠色在r分量上有明顯的不同。所以,通過在現場拍攝圖片,然后通過rgb分量分析軟件很容易取得一個較好的閾值。滿足顏色閾值關系的像素,將其三個分量均置為0xff,即黑色,而不滿足顏色關系的像素的三個分量均置為0x00,即白色。將經過處理輸出的圖像灰度化。即將24位的真彩圖像數據格式轉存為8位的灰度圖像數據格式。
我們還嘗試了將rgb格式轉化為hls色調,亮度,飽和度)格式再設閾值去噪聲的辦法,這樣就可以直接去除光線的影響。但是考慮到室內比賽場地光源穩定,并且轉化hls比較耗費時間,這樣做是沒有必要的,只用rgb設閾值就可以滿足要求了。
直接采用rgb去噪聲的方法和將圖像先轉化為hls格式出噪的方法相比,受光線強弱的影響較大,但由于比賽在室內進行,光源穩定,因此可以忽略光線強弱影響。相反,在實時圖像處理中,從rgb到hls的轉化,320"240的圖片,采用)61加1866的工控機需要30ms,耗時較長。
3.2邊緣檢測與二值化球桶的輪廓主要由兩部分主成,即橫條和堅條。這是選擇邊緣檢測算子的出發點。常用的邊緣檢測算子有:laplacian算子,diff變換,sobel算子。laplacian算子對噪聲很敏感。的模板,e點的灰度值在水平方向上,考慮到要精確定位的原因,先用laplacian算子進行了卷積,然后再用sobelhorizontal處理。經過上述處理后,對圖像進行二值化,將8位表3laplacian算子模板的位圖轉化為2位的位圖。
3.3輪廓跟蹤輪廓跟蹤的目的是確定桶的中心在拍攝圖片中的坐標位置,從而確定機器人的運動方向。步驟如下:d)堅直方向和水平方向的直線檢測堅直方向直線檢測的目的是求直線長度和直線中心的坐標位置。因此,在輪廓跟蹤時候,必須得到完整正確的直線。經過sobelvertical算子作用并二值化后,得到的堅直方向的直線有以下情況:當滿足關系:可以認為當前屏幕中有一球桶存在。球桶的中心坐標即為(xayi)。
堅直方向的直線長度為l,中心坐標位置為、/,2"則0sobelhorizontal并二值化后x,y:x代表橫坐標的增量,代表縱坐標的增量再回到1)。
總之,通過方向數組的設置,可以實現直線的矯正,斷點的跳躍,達到求得完整直線長度的目的。
水平方向和堅直方向情況類似,不再贅述。
2)水平方向和堅直方向的匹配關系和球桶中心位置的確定水平方向的直線長度為lx,中心坐標為(x“堅直方向的直線長度為ly,中心坐標位置為(x2,y2)。則3.4實際處理結果每幅圖像的處理時間<30ms.)當有球桶在視野內時,有以上算法可以得到它的水平坐標x設x為圖像寬度)如果x小于x/2-d時,機器人向左偏移行走;如果x大于x/2+d時,機器人享有偏移行走;如果x介于x/2-d和x/2+d之間時,認為目標在視野正中,機器人直走。
其中,d表示擬定的中心區域的寬度,一般設為10~20像素。這樣就可以實現機器人跟蹤目標行走。當機器人行至球桶前時,一旦前方的碰撞開關撳動,則認為已經到位,開始投球。前方光電開關檢測到球已通過,則結束所有動作,尋找下一個投球目標。
當沒有球桶在視野內時,機器人原地旋轉與前后行走隨機運動,直至捕獲下一個目標在視野中,重復以上動作。
4結束語我們所研制的機器人實際上是一個比較完整的機器人視覺系統,根據不同的條件,可以更新不同的視覺識別算法,甚至采用更高級的帶有人工智能模式匹配的識別算法。但其系統的原理和構成和上述基本是一致的。
通過比賽,驗證了我們的完全基于視覺的機器人控制系統的可行性和穩定性。而且這一類機器人有一個最大的優點在比賽中得到了肯定,就是抗干擾能力強。在日本東京的比賽中,我們遇到了兩個非常強勁的對手,一個是日本的冠軍豐橋科學技術大學,一個是泰國的冠軍隊。日本代表隊的機器人動作非常迅速,10秒鐘就可完成所有投球,我們的視覺機器人出發后直接行駛到對方的路線上,結果成功阻擋了對方,發生碰撞后兩方的機器人都偏離了既定路線,豐橋的機器人完全無法繼續工作,而我們的機器人在搜索過后又返回場地中央繼續投球,結果我們以18比5勝出。泰國隊有一個非常長而堅固的鏈條機器人,可以橫亙在場地上使對方機器人無法通過,比賽開始后我們的視覺機器人直接向泰國的阻擋機器人開去,兩個機器人沖撞到一起,使對方的阻擋策略完全實效,我們的其他自動機器人順利出發完成投球,而我們的視覺機器人感知到障礙存在后,前后移動左右旋轉,終于擺脫泰國阻擋機器人回到中心場地繼續投球,結果我們以17比1勝出。
視覺的采用在一定程度上替代了一部分人工智能的作用,使其更容易適應復雜的運行環境,并且更容易從外界獲取更多,變化更快的信息。這也就是為什么人類不能沒有眼睛的原因。參與這次亞廣聯機器人競賽評獎的日本機器人專家對我們的視覺控制系統給與很高的評價并且指出這是機器人發展的重要方向之一。










