一種視覺導(dǎo)航機(jī)器人的設(shè)計(jì)
機(jī)器視覺系統(tǒng)是智能機(jī)器人的重要標(biāo)志,機(jī)器人視覺系統(tǒng)模仿了人的視覺感知能力,允許對(duì)環(huán)境做非接觸式的測量。增加了視覺系統(tǒng)的機(jī)器人,其自主和自適應(yīng)能力可以大大提高。目前,機(jī)器視覺系統(tǒng)在圖像處理方面多采用封裝式圖像處理方法,把圖像傳感與處理分成獨(dú)立的兩個(gè)部分。系統(tǒng)通過圖像傳感器獲取圖像并傳入計(jì)算機(jī),由計(jì)算機(jī)完成圖像處理任務(wù)。
本文所介紹的設(shè)計(jì)為簡易機(jī)器人(能力風(fēng)暴機(jī)器人)添加了視覺模塊和無線通信模塊,并研究了相關(guān)算法和策略,實(shí)現(xiàn)了自主路徑跟蹤。為了使系統(tǒng)真正做到穩(wěn)定快速,在圖像預(yù)處理、路徑識(shí)別和路徑跟蹤等各個(gè)環(huán)節(jié)都充分考慮到算法的實(shí)時(shí)性與魯棒性。
1 系統(tǒng)結(jié)構(gòu)
視覺導(dǎo)航機(jī)器人的整個(gè)系統(tǒng)由兩部分構(gòu)成:添加了無線通信模塊和無線攝像頭的能力風(fēng)暴機(jī)器人和遠(yuǎn)程計(jì)算機(jī)。這兩部分之間的通信由無線通信模塊完成。系統(tǒng)結(jié)構(gòu)如圖1所示。圖1中,機(jī)器人包括能力風(fēng)暴機(jī)器人、無線攝像頭和無線通信模塊三個(gè)部分。在機(jī)器人工作時(shí),無線攝像頭將采集到的視頻信號(hào)傳送給無線視頻接收器,無線視頻接收器再通過視頻采集卡(Osprey210)將待處理的視頻信號(hào)傳送給計(jì)算機(jī),計(jì)算機(jī)經(jīng)過處理后,做出相應(yīng)的決策,并將決策信號(hào)通過無線通信模塊發(fā)送給機(jī)器人,這樣就建立了一個(gè)簡單的閉環(huán)控制系統(tǒng)。無線通信模塊由兩個(gè)完全相同的無線串口通信模塊組成,工作在全雙工狀態(tài)。在機(jī)器人中無線通信模塊與機(jī)器人的串口控制器連接,在計(jì)算機(jī)中無線通信模塊與計(jì)算機(jī)的COM口相連。
2 軟件流程
整個(gè)系統(tǒng)的軟件分為機(jī)器人接收到遠(yuǎn)程計(jì)算機(jī)指令后的處理軟件和遠(yuǎn)程計(jì)算機(jī)針對(duì)到機(jī)器人發(fā)來視頻信號(hào)進(jìn)行處理的視覺導(dǎo)航軟件。
機(jī)器人的軟件處理流程如圖2所示。機(jī)器人不停地掃描串口,一旦串口接收到遠(yuǎn)程計(jì)算機(jī)的指令信號(hào)后,機(jī)器人便根據(jù)指令做出響應(yīng),整個(gè)處理過程比較簡單。
計(jì)算機(jī)的視覺導(dǎo)航軟件處理流程如圖3所示。機(jī)器人視覺系統(tǒng)的原始輸入圖像是經(jīng)圖像采集卡A/D變換之后得到的連續(xù)數(shù)字圖像。系統(tǒng)工作時(shí),首先,圖像預(yù)處理模塊對(duì)原始輸入圖像進(jìn)行平滑濾波,去除噪音點(diǎn),并進(jìn)行閾值分割,挑選出對(duì)機(jī)器人有用的目標(biāo)點(diǎn)(即引導(dǎo)線);然后,路徑跟蹤模塊根據(jù)檢測到的路徑信息,做出策略分析,并對(duì)機(jī)器人發(fā)送相應(yīng)的運(yùn)動(dòng)指令。
3 主要算法描述
3.1 圖像預(yù)處理
3.1.1 圖像的平滑處理
在圖像采集系統(tǒng)中實(shí)際獲得的圖像,會(huì)因?yàn)楦鞣N原因受到干擾和噪聲的污染而引起圖像質(zhì)量的下降,圖像平滑處理就是為了消除圖像中存在的噪聲而對(duì)圖像施加的一種處理。本系統(tǒng)中采用中值濾波技術(shù)對(duì)原始圖像和二值化后的圖像進(jìn)行濾波,這是一種非線性空間域?yàn)V波技術(shù)。這種技術(shù)不僅能有效地抑制圖像中的噪聲,而且能保持圖像中固有的輪廓邊界,不使其變模糊。對(duì)平面圖像進(jìn)行中值濾波時(shí)我們一般采用二維中值濾波器。它由下式定義: Yij=MedianXij=Median(Xn)(r,s)∈s
這里,Xij為坐標(biāo)(i,j)的待處理像素;S為平面窗口;而Yij為處理結(jié)果,即平面窗口中各像素值的中值。中值是指大小排序后,中間的數(shù)值。本系統(tǒng)中采用的是3X3的正方形窗口,經(jīng)實(shí)驗(yàn)證明選用該窗口濾波后可以較好地濾除噪音。
3.1.2 彩色圖像二值化
圖像二值化的目的是將圖像一分為二,即將圖像劃分為物體和背景兩個(gè)部分。本系統(tǒng)中原始輸入圖像為(320×240)像素的RGB24格式圖像,采用直接對(duì)每個(gè)像素點(diǎn)進(jìn)行閾值分割的方法即可達(dá)到對(duì)圖像實(shí)現(xiàn)二值化的目的。由于HSL顏色模型中亮度L分量與圖像的顏色信息無關(guān),而與顏色信息有關(guān)的色調(diào)H(表征顏色的種類)和飽和度S分量(表征顏色的深淺程度)對(duì)外界光照條件的變化敏感程度低。機(jī)器人在移動(dòng)和旋轉(zhuǎn)時(shí)會(huì)引起光的亮度變化,RGB顏色模型對(duì)光的亮度魯棒性較差,所以在進(jìn)行圖像二值化時(shí)應(yīng)該先將RGB顏色模型轉(zhuǎn)換為具有較強(qiáng)光亮不變性的HSL顏色模型。RGB顏色空間變換到HSL顏色空間的變換公式如下:
選取色調(diào)H作為路徑識(shí)別時(shí)的主參數(shù)。同時(shí),考慮到實(shí)際當(dāng)RGB值較小,即亮度L較小時(shí),H值會(huì)趨向于不確定的情況,選取亮度L作為輔助識(shí)別參數(shù)。算法為:
其中,Hmin、Hmax為某種顏色色調(diào)分量的最小閾值和最大閾值;Lmin為亮度的最小閾值。
3.2 引導(dǎo)線檢測
掃描白線(即引導(dǎo)線)的策略是每隔五行掃描,當(dāng)每行的白色像素點(diǎn)超過35個(gè),而滿足這個(gè)條件的行超過16行時(shí),才認(rèn)為在機(jī)器人視野范圍存在白線。因?yàn)橹挥羞B續(xù)的白色區(qū)域是可以利用的,所以每隔五行進(jìn)行掃描白線是可行的。這樣做不僅可以節(jié)省計(jì)算機(jī)的處理時(shí)間,加快程序處理速度,提高機(jī)器人響應(yīng)的實(shí)時(shí)性;而且還可以濾除機(jī)器人視野范圍內(nèi)可能出現(xiàn)的噪聲點(diǎn)。
引導(dǎo)線檢測的目的不僅僅是為了確定機(jī)器人視野范圍內(nèi)是否存在引導(dǎo)線,還需要確定引導(dǎo)線與距離機(jī)器人所在點(diǎn)的距離,以及引導(dǎo)線的角度信息。在本系統(tǒng)中,坐標(biāo)約定如圖4所示。其中灰色小點(diǎn)代表機(jī)器人,很顯然,機(jī)器人在坐標(biāo)系中的坐標(biāo)應(yīng)該為(160,240)。L表示白線中線與直線Y=240的交點(diǎn)和機(jī)器人所處位置之間的距離。當(dāng)L>0時(shí),上述交點(diǎn)處于機(jī)器人左方;L0時(shí),上述交點(diǎn)處于機(jī)器人右方。系統(tǒng)中規(guī)定的白線中線的△=△X/△Y,△值可以直接反映出白線角度信息。當(dāng)△>0時(shí)白線沿/方向;△0白線沿\方向。由此可知,圖4中的白線中線的△應(yīng)該是大于0的。
pid控制器相關(guān)文章:pid控制器原理
評(píng)論