<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > 數(shù)字形態(tài)學(xué)濾波器與智能車路徑記憶

          數(shù)字形態(tài)學(xué)濾波器與智能車路徑記憶

          作者:■ 李剛 李蒙 何鎏 天津大學(xué)精密儀器與光電子工程學(xué)院(天津30072) 時間:2008-04-08 來源:電子產(chǎn)品世界 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/81348.htm

            “飛思卡爾”杯全國大學(xué)生競賽規(guī)則明確指出,在賽道上連續(xù)跑兩圈,并記錄其中最好的單圈成績,這使算法成為可能。如圖1所示,賽道記憶算法在第一圈以最安全的速度緩慢駛過一圈,并將賽道信息保存下來,第二圈根據(jù)保存下來的信息進(jìn)行車速和轉(zhuǎn)角決策的相應(yīng)最優(yōu)化,從而在第二圈取得好成績。無論的傳感器前瞻距離有多遠(yuǎn),在跑圈時它都只能預(yù)測在一段有限距離內(nèi)賽道的情況。而采用賽道記憶算法的智能車,在第二圈時已對整個賽道有了全面的認(rèn)識,從而在相同條件下,將比不使用賽道記憶的智能車更具優(yōu)勢。

            第一圈準(zhǔn)確記憶賽道信息是第二圈控制策略的基礎(chǔ),是比賽成敗的關(guān)鍵。但是在第一圈中不論控制策略如何優(yōu)秀,賽車總會或多或少的偏離賽道,舵機(jī)的轉(zhuǎn)角信息總會出現(xiàn)一定程度的毛刺和擾動等粗大誤差,其幅值足以引起處理器的誤判。如果不加處理直接應(yīng)用于第二圈控制,會對賽車造成嚴(yán)重干擾,不能以極限速度跑完比賽或者沖出賽道。通常的處理方法有兩種:一是通過閾值比較丟棄干擾值,但同時賽道信息也會同干擾信息一起被丟棄;二是通過低通濾波將干擾平均到多個位置,但同時破壞了賽道原始信息,而且在干擾幅值很大的時候效果也不是很明顯。

            數(shù)學(xué)形態(tài)學(xué)(Mathematical Morphology)是一種新型的數(shù)字圖像處理方法和理論,其主要內(nèi)容是設(shè)計一整套的變換(運(yùn)算)、概念和算法,用以描述圖像的基本特征。提供了非常有效的非線性濾波技術(shù),該技術(shù)只取決于信號的局部形狀特征。因此,它在諸如形狀分析、模式識別、視覺校驗、計算機(jī)視覺等方面,要比傳統(tǒng)的線性濾波更為有效。

            算法的選取與實驗結(jié)果對比

            數(shù)學(xué)形態(tài)學(xué)的運(yùn)算以腐蝕和膨脹這兩種基本運(yùn)算為基礎(chǔ),引出了其它幾個常用的數(shù)學(xué)形態(tài)運(yùn)算。數(shù)學(xué)形態(tài)學(xué)中最常見的基本運(yùn)算只有七種,分別為:腐蝕、膨脹、開運(yùn)算、閉運(yùn)算、擊中、細(xì)化和粗化,它們是全部形態(tài)學(xué)的基礎(chǔ)。它們的定義如下:
          設(shè)X代表一個數(shù)字圖像,我們假定該圖像是二值的,即取值只有1或0,則X表示一個二進(jìn)制信號集合,B是一個簡單的緊集合,稱為“結(jié)構(gòu)元素”。X被B膨脹和腐蝕的結(jié)果可以分別定義為:

           


            在數(shù)字圖形處理領(lǐng)域中,數(shù)學(xué)形態(tài)學(xué)主要用于非線性變形,它可以局部地修改信號的幾何特征,并提供有關(guān)信號的幾何特征信息。根據(jù)不同的信號的形態(tài)特征,可以采用不同的數(shù)學(xué)形態(tài)學(xué)運(yùn)算對信號進(jìn)行處理,這些數(shù)學(xué)形態(tài)與運(yùn)算都被視為數(shù)學(xué)形態(tài)濾波器。在這種應(yīng)用方法中,每一個信號都被視為適當(dāng)?shù)木S數(shù)的歐幾里德空間中的集合。數(shù)學(xué)形態(tài)濾波器被定義為集合的運(yùn)算,它使信號的圖形變形,以提供關(guān)于其幾何結(jié)構(gòu)的數(shù)字化信息。對于被視為集合的二進(jìn)制信號,腐蝕、膨脹、開運(yùn)算和閉運(yùn)算是最簡單的形態(tài)運(yùn)算。這些濾波器還可以引申到多維信號中去。此時,形態(tài)濾波器利用的是灰值圖的數(shù)學(xué)形態(tài)運(yùn)算的定義。下面將探討如何將數(shù)學(xué)形態(tài)濾波器應(yīng)用到舵機(jī)轉(zhuǎn)角信號(一維數(shù)字信號)的處理中,實現(xiàn)去除脈沖噪聲和減小擾動,以及在單片機(jī)上編程實現(xiàn)和快速運(yùn)算的方法。

            數(shù)學(xué)形態(tài)濾波器通常是用在二維圖形的處理,為把數(shù)學(xué)形態(tài)濾波器推廣到一維的信號的處理中,下面再介紹一下腐蝕、膨脹、開運(yùn)算和閉運(yùn)算這一個基本運(yùn)算在一維信號處理中的定義:

            設(shè)H、K分別為h[n]和k[n]的定義域,長度分別為N和M,一般N>M。H和K均為整數(shù)集合。

            h[n]指包含舵機(jī)轉(zhuǎn)角信號的數(shù)字化序列,k[n]指結(jié)構(gòu)元素序列。

            h被k腐蝕:

            采用數(shù)字形態(tài)濾波方法,還要選用合理的算法。其中,如何選取模板序列的長度是關(guān)鍵,如果模板序列過長會將有用信號當(dāng)作噪聲濾除,過短則達(dá)不到濾除噪聲的目的。在采樣速率一定的情況下,序列的長度與時間成正比,這要求模板的長度要小于模型車的最小轉(zhuǎn)彎時間,大于舵機(jī)擾動的最長時間。第一圈讓模型車勻速通過,這樣處理有兩個優(yōu)點(diǎn):

            1) 可以固定最小轉(zhuǎn)彎時間,從而確定模板的長度。非勻速通過時速轉(zhuǎn)彎時間不定,要求模板長度可變,從而造成后續(xù)處理復(fù)雜,穩(wěn)定性不高。

            2) 采樣序列的順序可以直接轉(zhuǎn)化為位移量,便于后續(xù)控制策略處理。相對于非勻速通過速度與時間乘積得到的位移,直接轉(zhuǎn)化得到的位移更準(zhǔn)確(在標(biāo)準(zhǔn)的韓國賽道上,實驗?zāi)P蛙囍苯愚D(zhuǎn)化得到的賽道長度誤差小于5cm,速度與時間乘積得到賽道長度誤差在10cm以上)。

            實驗系統(tǒng)在圖2所示的賽道上,智能車對賽道信息的采樣速率為200Hz,以1.5m/s的速度勻速跑完第一圈的數(shù)據(jù)如圖3所示??梢钥吹皆趶澋乐?,舵機(jī)的轉(zhuǎn)角信息存在著嚴(yán)重的毛刺和擾動,不能直接用于第二圈的控制策略。圖4為matlab中采用3階巴特沃茲濾波處理后的結(jié)果,干擾的抑制效果仍然不理想,而且運(yùn)算量偏大,單片機(jī)難以承受。圖5為采用處理后的數(shù)據(jù),賽道信息完整準(zhǔn)確,可以較好的應(yīng)用于后續(xù)控制策略。


          圖2  實驗系統(tǒng)采用的賽道

          圖3  第一圈記錄的賽道信息

          圖 4  3階巴特沃茲濾波器處理后數(shù)據(jù)

          圖5  處理后的數(shù)據(jù)

            數(shù)學(xué)形態(tài)濾波的快速算法

            由于數(shù)學(xué)形態(tài)濾波器只由加法、減法和比較運(yùn)算構(gòu)成,其運(yùn)算相對簡單,因此,它很適合于在計算功能相對較弱的單片機(jī)上應(yīng)用并能取得很好的效果。以往單片機(jī)由于受存儲容量、計算速度及字長的限制而使大多數(shù)的數(shù)字濾波器較難實現(xiàn),而形態(tài)濾波器則為單片機(jī)應(yīng)用數(shù)字濾波器代替以往的模擬濾波器提供了一條新的途徑。

            由腐蝕的定義可知,欲計算f(n)的腐蝕值,需要知道該點(diǎn)前w(w為結(jié)構(gòu)元素的寬度)點(diǎn)的數(shù)據(jù);而要計算f(n)膨脹后的結(jié)果,則需要知道該點(diǎn)后w點(diǎn)的數(shù)據(jù)。由于運(yùn)算是一個腐蝕運(yùn)算接著一個膨脹運(yùn)算后得到的,在長度為L的數(shù)據(jù)中只有從第w點(diǎn)到第(L-w+1)點(diǎn),才可以得到開運(yùn)算的結(jié)果。

            如圖6所示,我們定義一個模板序列,該序列的長度和結(jié)構(gòu)元素的寬度相同。該模板的初始值由前w個點(diǎn)的腐蝕值組成。以第n點(diǎn)為例,沿該點(diǎn)向前的方向?qū)δ0逍蛄械闹颠M(jìn)行膨脹運(yùn)算,運(yùn)算的結(jié)果即為該點(diǎn)的開運(yùn)算的結(jié)果。同時,沿該點(diǎn)向后的方向繼續(xù)進(jìn)行腐蝕運(yùn)算,得到第(n+1)點(diǎn)的腐蝕值。將(n+1)點(diǎn)的腐蝕值作為模板序列的最后一個點(diǎn),并將模板序列前(w-1)點(diǎn)順次向前移動一個位置。更新后的模板值即可用來做 (n+1)點(diǎn)的膨脹運(yùn)算,得到在(n+1)點(diǎn)的開運(yùn)算值。如此繼續(xù)下去,就可完成全部的開運(yùn)算。在做閉運(yùn)算也可采用類似的方法來提高計算的速度。


          圖6  數(shù)學(xué)形態(tài)濾波快速算法

            這樣,對長度為N的一段數(shù)據(jù),用M個零作為其結(jié)構(gòu)元素進(jìn)行處理時,當(dāng)采用一般方法進(jìn)行計算,需要進(jìn)行2×M×N次的比較運(yùn)算。而當(dāng)采用快速算法時,能夠在比較最大值的同時得到最小值,減少(N-M+1)×M次比較運(yùn)算,使程序的執(zhí)行速度提高了近一倍,而且,由于采用這種快速算法,可以實現(xiàn)信息的實時處理,很大程度上方便了第二圈控制策略的制定,因此,它使得形態(tài)濾波這種方法更加適合應(yīng)用于路徑信息的處理中。

            實驗及結(jié)論

            通過對不同傳感器方案(光電管和CCD)的智能車在不同賽道多次實驗發(fā)現(xiàn),對于光電管方案和CCD方案的智能車,賽道記憶算法都能一定程度上提高第二圈速度。智能車采用算法處理賽道記憶數(shù)據(jù)后,不但行駛的穩(wěn)定性、準(zhǔn)確性有了較大的提升,而且沒有大幅增加MCU的資源消耗,同時可以支持復(fù)雜的控制策略。上述方案具有很強(qiáng)的通用性,適用于不同傳感器方案、不同控制算法的智能車。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();