引言
機器視覺系統是智能機器人的重要標志,機器人視覺系統模仿了人的視覺感知能力,允許對環境做非接觸式的測量。增加了視覺系統的機器人,其自主和自適應能力可以大大提高。目前,機器視覺系統在圖像處理方面多采用封裝式圖像處理方法,把圖像傳感與處理分成獨立的兩個部分。系統通過圖像傳感器獲取圖像并傳入計算機,由計算機完成圖像處理任務。
本文所介紹的設計為簡易機器人(能力風暴機器人)添加了視覺模塊和無線通信模塊,并研究了相關算法和策略,實現了自主路徑跟蹤。為了使系統真正做到穩定快速,在圖像預處理、路徑識別和路徑跟蹤等各個環節都充分考慮到算法的實時性與魯棒性。
1 系統結構
視覺導航機器人的整個系統由兩部分構成:添加了無線通信模塊和無線攝像頭的能力風暴機器人和遠程計算機。這兩部分之間的通信由無線通信模塊完成。系統結構如圖1所示。圖1中,機器人包括能力風暴機器人、無線攝像頭和無線通信模塊三個部分。在機器人工作時,無線攝像頭將采集到的視頻信號傳送給無線視頻接收器,無線視頻接收器再通過視頻采集卡(Osprey210)將待處理的視頻信號傳送給計算機,計算機經過處理后,做出相應的決策,并將決策信號通過無線通信模塊發送給機器人,這樣就建立了一個簡單的閉環控制系統。無線通信模塊由兩個完全相同的無線串口通信模塊組成,工作在全雙工狀態。在機器人中無線通信模塊與機器人的串口控制器連接,在計算機中無線通信模塊與計算機的COM口相連。
2 軟件流程
整個系統的軟件分為機器人接收到遠程計算機指令后的處理軟件和遠程計算機針對到機器人發來視頻信號進行處理的視覺導航軟件。
機器人的軟件處理流程如圖2所示。機器人不停地掃描串口,一旦串口接收到遠程計算機的指令信號后,機器人便根據指令做出響應,整個處理過程比較簡單。
計算機的視覺導航軟件處理流程如圖3所示。機器人視覺系統的原始輸入圖像是經圖像采集卡A/D變換之后得到的連續數字圖像。系統工作時,首先,圖像預處理模塊對原始輸入圖像進行平滑濾波,去除噪音點,并進行閾值分割,挑選出對機器人有用的目標點(即引導線);然后,路徑跟蹤模塊根據檢測到的路徑信息,做出策略分析,并對機器人發送相應的運動指令。
3 主要算法描述
3.1 圖像預處理
3.1.1 圖像的平滑處理
在圖像采集系統中實際獲得的圖像,會因為各種原因受到干擾和噪聲的污染而引起圖像質量的下降,圖像平滑處理就是為了消除圖像中存在的噪聲而對圖像施加的一種處理。本系統中采用中值濾波技術對原始圖像和二值化后的圖像進行濾波,這是一種非線性空間域濾波技術。這種技術不僅能有效地抑制圖像中的噪聲,而且能保持圖像中固有的輪廓邊界,不使其變模糊。對平面圖像進行中值濾波時我們一般采用二維中值濾波器。它由下式定義: Yij=MedianXij=Median(Xn)(r,s)∈s
這里,Xij為坐標(i,j)的待處理像素;S為平面窗口;而Yij為處理結果,即平面窗口中各像素值的中值。中值是指大小排序后,中間的數值。本系統中采用的是3X3的正方形窗口,經實驗證明選用該窗口濾波后可以較好地濾除噪音。
3.1.2 彩色圖像二值化
圖像二值化的目的是將圖像一分為二,即將圖像劃分為物體和背景兩個部分。本系統中原始輸入圖像為(320×240)像素的RGB24格式圖像,采用直接對每個像素點進行閾值分割的方法即可達到對圖像實現二值化的目的。由于HSL顏色模型中亮度L分量與圖像的顏色信息無關,而與顏色信息有關的色調H(表征顏色的種類)和飽和度S分量(表征顏色的深淺程度)對外界光照條件的變化敏感程度低。機器人在移動和旋轉時會引起光的亮度變化,RGB顏色模型對光的亮度魯棒性較差,所以在進行圖像二值化時應該先將RGB顏色模型轉換為具有較強光亮不變性的HSL顏色模型。RGB顏色空間變換到HSL顏色空間的變換公式如下:
選取色調H作為路徑識別時的主參數。同時,考慮到實際當RGB值較小,即亮度L較小時,H值會趨向于不確定的情況,選取亮度L作為輔助識別參數。算法為:
其中,Hmin、Hmax為某種顏色色調分量的最小閾值和最大閾值;Lmin為亮度的最小閾值。
3.2 引導線檢測
掃描白線(即引導線)的策略是每隔五行掃描,當每行的白色像素點超過35個,而滿足這個條件的行超過16行時,才認為在機器人視野范圍存在白線。因為只有連續的白色區域是可以利用的,所以每隔五行進行掃描白線是可行的。這樣做不僅可以節省計算機的處理時間,加快程序處理速度,提高機器人響應的實時性;而且還可以濾除機器人視野范圍內可能出現的噪聲點。
引導線檢測的目的不僅僅是為了確定機器人視野范圍內是否存在引導線,還需要確定引導線與距離機器人所在點的距離,以及引導線的角度信息。在本系統中,坐標約定如圖4所示。其中灰色小點代表機器人,很顯然,機器人在坐標系中的坐標應該為(160,240)。L表示白線中線與直線Y=240的交點和機器人所處位置之間的距離。當L》0時,上述交點處于機器人左方;L《0時,上述交點處于機器人右方。系統中規定的白線中線的△=△X/△Y,△值可以直接反映出白線角度信息。當△》0時白線沿“/”方向;△《0白線沿“\”方向。由此可知,圖4中的白線中線的△應該是大于0的。
在系統中,△的計算方法如下:首先計算出每隔五行掃描到的某一行白線的中點的△值,然后將機器人視野范圍內掃描得到的所有行的白線△值累加后求得均值,這個均值就是機器人視野范圍內白線的△值。采取這種算法是為了方便處理機器人視野范圍內存在多段白線時的情況。以圖5為例,機器人視野范圍內有兩段白線。這個時候,系統將兩條白線等效為平均△值對應的白線,這樣在機器人眼里始終只有一條白線,有效降低了機器人所應對的狀況的復雜度。
在計算出△值后,系統根據幾何原理便可計算出L,計算公式如下:
L=Xr-[Xc-(Yr-Yc)×△]
Xr為機器人所在點橫坐標;Yr為機器人所在點縱坐標;Xc為白線中點橫坐標的均值;Yc為白線中點縱坐標的均值。
3.3 路徑跟蹤
移動機器人的路徑跟蹤就是通過調節機器人的運動速度和方向,使機器人沿期望的路徑運動。即L=0且△=0。機器人對路徑的跟蹤控制可以采用PID控制器、最優控制器、模糊控制器等方式。由于能力風暴機器人是一個具有延遲的非線性時變系統,難以建立精確的數學模型,故采用模糊控制器有一定的優越性。
根據人的駕駛經驗,當人駕駛汽車跟蹤附近路面上的一條車道線時,他首先要進行觀察,將此直線當作參考路徑,衡量車體與參考路徑段的橫向距離以及它們所處方向的夾角,而這種衡量是以一種模糊的概念給出的,如“距離比較大,角度很小”等。當發現車體離參考路徑很遠且與期望方向偏角較大時,可以駕駛汽車快速轉彎,向期望位置靠攏;而在離參考路徑很近,汽車朝向已正對前方車道線上某一位置時,就不需轉動方向盤來改變行駛方向,而是一直保持當前行駛狀態,直至離車道線上拐點比較近時,再找下一個參考路徑段。可以根據上述人的駕駛經驗設計模糊控制器,視覺導引的機器人控制系統結構如圖6所示。
3.3.1 模糊化
系統中模糊控制器的輸入量為距離偏差L和角度偏差△,輸出量為機器人小車相對車體軸線的轉向偏轉角β,輸入輸出量的論域、模糊子集以及模糊子集論域如表1所示。
由于在機器人實際運行過程中,偏差的產生具有隨機性,所以輸入輸出量的模糊子集的隸屬函數都采用高斯函數加以描述,即
Ci為隸屬函數的均值;δi為隸屬函數的標準差。
3.3.2 確定模糊規則
根據汽車駕駛的經驗可得出如表2所示的49條模糊控制規則。
3.3.3 模糊推理和解模糊
模糊推理采用間接合成法推理公式,假設現有輸入L*、△*,需求出輸出β*,推理過程如下:
其中合成運算“。”采用取大一取小(MAX-MIN)法。
采用質心法進行解模糊處理,從而得到精確的輸出值,解模糊計算公式如下:
將上述結果制成模糊控制表存儲起來,在機器人運行過程中只需在線查詢出相應的β值,而不必進行大量的數學運算,這樣可以節省運算時間,提高控制的實時性。
4 綜述
目前此系統已經通過中國科學技術大學教育處驗收,并作為本科生智能機器人教學實驗系統運行。為驗證本文提出的控制方法的有效性,我們按照上述控制策略在實驗場地中對機器人進行路徑跟蹤實驗。實驗場地為-2×2的綠色背景場地,在場地上貼上3 cm寬的白線作為引導線,如圖7所示。在實驗中,機器人能準確地跟蹤指定路徑。實驗表明,在實際應用中,采用模糊控制方法具有較好的穩定性和精度。通過HSL空間內運算有效地提高圖像信號對光照的魯棒性。此設計可作為簡單的算法驗證和策略測試平臺。
-
機器人
+關注
關注
211文章
28380瀏覽量
206918 -
無線通信模塊
+關注
關注
10文章
62瀏覽量
32788 -
機器視覺系統
+關注
關注
1文章
83瀏覽量
18863
發布評論請先 登錄
相關推薦
評論