<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 攝像頭智能車(chē)方案設計

攝像頭智能車(chē)方案設計

作者: 時(shí)間:2012-01-09 來(lái)源:網(wǎng)絡(luò ) 收藏

 其他部分電路

本文引用地址:http://dyxdggzs.com/article/149837.htm

  采用LED、按鍵及無(wú)線(xiàn)發(fā)送模塊開(kāi)發(fā)的人機界面,提高了調試效率。 使用片外FLASH存儲賽道信息,由于高存儲速率得到了廣泛應用。但FLASH每頁(yè)的存儲量有限,大容量的數組需要分割開(kāi)之后分頁(yè)存儲,這會(huì )導致程序超時(shí)。電機驅動(dòng)采用遙控車(chē)用電子調速器作為驅動(dòng)芯片,加速能力強但控制較為復雜,反轉控制延時(shí)過(guò)長(cháng),需要3個(gè)控制周期。 速度傳感器采用歐姆龍光電編碼器,檢測精度高,360線(xiàn),最高轉速可達4000rpm。

  車(chē)軟件設計方案

  圖像方面,由于硬件做了二值化處理,單片機得到的賽道信息少而精準,使得圖像處理程序變得簡(jiǎn)練。由于單片機運行時(shí)間和存儲空間的限制,我們將賽道信息以鏈表的形式進(jìn)行存貯。該方法的優(yōu)點(diǎn)是速度快、占用的存儲空間很少,缺點(diǎn)是數據查找較為困難,并且難以利用賽道垂直方向的信息。

  預處理

  在進(jìn)行圖像處理的過(guò)程中,我們首先對每行賽道的信息進(jìn)行預處理,根據賽道位置和寬度的信息將賽道進(jìn)行過(guò)濾,找到符合要求的賽道位置,并且將這些位置進(jìn)行存貯,存貯形式同樣為鏈表。接下來(lái)圖像處理的信息就是預處理得到的這些賽道片段。建立有效片段起始行在得到的預處理賽道信息中首先要找到能夠建立賽道的每一段的起始位置。

  具體的判斷依據: 第一個(gè)起始片段是連續三行賽道中只有唯一滿(mǎn)足寬度限制的賽道片段,這些賽道片段滿(mǎn)足二階連續性。其余的起始片段是滿(mǎn)足以上兩個(gè)條件并且滿(mǎn)足起始片段前的一行不滿(mǎn)足起始片段的條件。

 在找到的起始片段的基礎上進(jìn)行賽道生長(cháng),繼續判斷如果下一行賽道存在預處理得到的有用信息,再進(jìn)行以下判斷:預處理出的黑線(xiàn)片段是否滿(mǎn)足嚴格一些的寬度條件限制 ;黑線(xiàn)中心是否滿(mǎn)足一階連續性;黑線(xiàn)中心是否滿(mǎn)足二階連續性。是則將賽道標志置位,將賽道中心信息記錄,否則將賽道標志置零。

  在生長(cháng)之后的賽道間進(jìn)行賽道修補,尋找每段生長(cháng)之后的賽道的起始行與結束行,判斷上一段賽道結束行與下一段賽道起始行之間的距離是否超出閾值。沒(méi)有超出閾值則進(jìn)行修補,如果修補上賽道則記錄賽道中心位置信息,并將修補段賽道的標志置位;否則將賽道標志置零。經(jīng)過(guò)圖像處理基本上能夠充分得到賽道的有用信息。經(jīng)過(guò)后期對圖像處理中閾值的調整基本上解決了誤識別雜點(diǎn)的問(wèn)題。

  賽道元素判斷

  這一屆車(chē)加入了收緊彎元素,由于CCD路徑上可能存在的內切特性,導致了在收緊彎部分可能出現車(chē)子壓出賽道的情況,導致比賽失敗。這一元素的出現迫使我們必須在進(jìn)入收緊彎之前識別出來(lái)用于提示的三角形,并且將策略進(jìn)行相應的變化。CCD有很大的特點(diǎn)就是圖像會(huì )產(chǎn)生畸變,導致三角形的特點(diǎn)變得不明顯。并且三角形之前的坎也會(huì )使得賽道信息變得無(wú)效,增加了識別三角形的難度。針對這一特點(diǎn),我們采集了大量圖像,并且進(jìn)行分析,找到了能夠較為穩定的識別三角形的方法。

  1.從上一行道路點(diǎn)開(kāi)始向兩邊,在一定寬度內找邊沿,這樣可以避免賽道邊緣的影響。

  2.根據需要,可以做一下圖像的梯形校正。需不需要梯形校正,應該根據實(shí)際情況判斷。

  3.三角形的判別是在每個(gè)周期都要執行的,需要存儲前幾行的數據,可以通過(guò)設計良好的流程來(lái)盡量避免識別三角算法中的重復工作。

  4.對于圖像失真,可能的處理方法如下: 三角形底邊寬度與道路寬度相比有突變,而三角形尖端的寬度與道路寬度是連續變化的,根據這個(gè)特征設計算法。正三角形:如果發(fā)現寬度突變,那么懷疑可能是正三角;以后判斷邊線(xiàn)的連續性,直到寬度由大到小,最終與道路連接,且寬度由大到小變化的行數足夠多,則可以判斷出遇到正三角。倒三角形:如果發(fā)現從道路點(diǎn)開(kāi)始,一定行數內寬度由小到大,并且在最終出現寬度突變,則判斷出遇到倒三角。

  另一個(gè)必須識別出來(lái)的元素是終點(diǎn)線(xiàn)。最初的圖像識別方法是判斷賽道黑線(xiàn)與白線(xiàn)的寬度,如果滿(mǎn)足以下條件則認為是終點(diǎn)線(xiàn): 如果連續兩行出現多于一個(gè)的黑色片段,進(jìn)行賽道的尋找。 找到是賽道的黑色片段之后判斷左右相鄰的黑色片段是否滿(mǎn)足終點(diǎn)線(xiàn)黑線(xiàn)寬度的要求。 判斷黑線(xiàn)之間的白線(xiàn)是否滿(mǎn)足寬度標準。 如果滿(mǎn)足以上三個(gè)條件則認為是終點(diǎn)線(xiàn)。

  控制算法

  CCD相對來(lái)說(shuō)有兩個(gè)優(yōu)勢,一是前瞻遠,二是可以一次得到一段賽道的信息從而進(jìn)行整幀策略的制定。所以控制算法上一定要利用起來(lái)整幀賽道的信息,才能夠出現優(yōu)化賽道的效果。我們的整體控制思想是分段進(jìn)行賽道中點(diǎn)的線(xiàn)性擬合。
由于我們的前瞻較遠所以遠處圖像有些不可靠,所以使用最遠有效點(diǎn)以下的5~10行進(jìn)行擬合。實(shí)驗結果是車(chē)子能夠較好的切內彎,并且在連續彎道上能夠穩住車(chē)身。缺點(diǎn)是車(chē)子控制上不是很穩定,總是太過(guò)于切內彎而沖出賽道。于是我們又加入了一條對賽道位置進(jìn)行積分的控制線(xiàn)對控制進(jìn)行限制,實(shí)驗結果較好。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 方案設計 智能 攝像頭

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>