<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è) > 嵌入式系統 > 設計應用 > 基于機器視覺(jué)的智能導覽機器人控制系統設計

基于機器視覺(jué)的智能導覽機器人控制系統設計

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

1 引言

移動(dòng)機器人是機器人學(xué)一個(gè)重要分支,且隨著(zhù)相關(guān)技術(shù)的迅速發(fā)展,它正向著(zhù)智能化和多樣化方向發(fā)展,應用廣泛,幾乎滲透所有領(lǐng)域。于春和采用激光雷達的方式檢測道路邊界,效果較好,但干擾信號很強時(shí),就會(huì )影響檢測效果。付夢(mèng)印等提出以踢腳線(xiàn)為參考目標的導航方法,可提高的實(shí)時(shí)性。

這里采用方式,機器人在基于結構化道路的環(huán)境下實(shí)現道路跟蹤,目標點(diǎn)的???,以及導游解說(shuō),并取得較好的效果。

2 簡(jiǎn)介

用在大型展覽館、博物館或其他會(huì )展中心,引導參訪(fǎng)者沿著(zhù)固定路線(xiàn)參訪(fǎng),向參訪(fǎng)者解說(shuō)以及進(jìn)行簡(jiǎn)單對話(huà)。因此必須具有自主導航、路徑規劃、智能避障、目標點(diǎn)的??颗c定位、語(yǔ)音解說(shuō)以及能與參訪(fǎng)者進(jìn)行簡(jiǎn)單對話(huà)等功能,并具有對外界環(huán)境快速反應和自適應能力?;趯哟谓Y構,導覽機器人可分為:人工智能層、控制協(xié)調層和運動(dòng)執行層。其中人工智能層主要利用CCD攝像頭規劃和自主導航機器人的路徑,控制層協(xié)調完成多傳感信息的融合,而運動(dòng)執行層完成機器人行走。圖1為智能導覽機器人的總體結構框圖。

3 導覽機器人硬件設計

3.1 人工智能層硬件實(shí)現

考慮到移動(dòng)機器人控制系統要求處理速度快、方便外圍設備擴展、體積和質(zhì)量小等要求,因此上位機選用PC104系統,其軟件用C語(yǔ)言編程。采用USB攝像頭,采集機器人前方的視覺(jué)信息,為機器人,路徑規劃提供依據。外設麥克和揚聲器,當機器人到達目標點(diǎn)后,進(jìn)行導覽解說(shuō)。

3.1.1 控制協(xié)調層的硬件實(shí)現

機器人傳感器的選取應取決于機器人的工作需要和應用特點(diǎn)。這里選用超聲波傳感器、紅外傳感器、電子羅盤(pán)及陀螺儀,采集機器人周?chē)h(huán)境信息,為機器人避障、路徑規劃提供幫助。利用ARM處理平臺,通過(guò)RS-485總線(xiàn)驅動(dòng)電機,驅動(dòng)機器人行走。

導覽機器人要求傳感器精度稍高,重復性好,抗干擾能力強,穩定性和可靠性高。機器人在行進(jìn)過(guò)程中必須能夠準確獲得其位置信息,數字羅盤(pán)可靠輸出航向角,陀螺儀測量偏移并進(jìn)行必要修正,以保證機器人行走的方向不偏離。采用超聲波傳感器和紅外傳感器相結合的方法獲取前方障礙物信息。該選用6個(gè)超聲波傳感器和6個(gè)紅外傳感器。其中,正前方和正后方各1個(gè),其余4個(gè)超聲波傳感器分別位于正前方和正后方的兩邊,夾角為45°,紅外傳感器分別安裝在超聲波傳感器的正上方1~2 cm處。超聲波傳感器主要通過(guò)測距實(shí)現避障,而紅外傳感器主要是用于補償超聲波傳感器的盲區,判斷近距離是否有障礙物。

3.1.2 運動(dòng)執行層的硬件實(shí)現

該智能導覽機器人的執行機構采用直流伺服電機。這里選用三洋電機Super_L (24 V/3.7 A)額定輸出功率為60 W,最大空載轉速為3 000 r/rain,并帶500線(xiàn)的光學(xué)碼盤(pán),使機器人完成相應動(dòng)作。導覽機器人采用閉環(huán)控制,通過(guò)光學(xué)碼盤(pán)測量車(chē)輪速度的實(shí)際值并反饋給微控制器?;趯?shí)際轉速與給定轉速的差值,驅動(dòng)器按一定的計算方法(如PID算法)調整相應電壓,如此反復,直到達到給定轉速。機器人調速采用FAULHABER公司的 MCDC2805實(shí)現。它能實(shí)現速度同步性能,同時(shí)轉矩波動(dòng)最小,內置PI調節器能準確到達指定位置。當配備Super_L電機及集成編碼器時(shí),即使在轉速非常低的情況下,也能達到0.180的定位控制精度。

3.2 導覽機器人軟件設計

通過(guò)USB攝像頭或其他攝像頭采集導覽機器人前方的視覺(jué)信息,通過(guò)圖像處理算法處理視頻,使機器人能夠進(jìn)行路徑規劃和自主導航。通過(guò)接收下層的多傳感融合信息,能夠實(shí)現近距離的避障,因此在遇到障礙物時(shí)進(jìn)行報警。到達目標點(diǎn)后,能夠語(yǔ)音解說(shuō),解說(shuō)完后能與參訪(fǎng)者進(jìn)行簡(jiǎn)單對話(huà)。

4 視覺(jué)導航

視覺(jué)導航是移動(dòng)機器人一種導航方式,并且基本視覺(jué)導航的研究是未來(lái)移動(dòng)機器人導航的主要發(fā)展方向之一。該視覺(jué)子系統在整個(gè)系統中的作用是將攝像頭采集周?chē)h(huán)境的視覺(jué)信息進(jìn)行圖像理解,并根據圖像處理算法控制機器人運動(dòng)。所謂“圖像理解”就是通過(guò)處理圖像數據來(lái)獲得對圖像所反映的場(chǎng)景的理解,包括圖像中含有哪些物體以及它們在圖像中的位置。罔像中蘊含豐富信息,只需從中提取出有用信息即可。因此,罔像理解算法往往是根據具體目的而制定的,有一定的適用條件和局限性。

4.1 圖像預處理

原始圖像為L(cháng)ogiteeh攝像頭采集的一幅室內用藍色標簽制作的結構化道路圖片,像素大小為320x240,首先將原始圖像進(jìn)行灰度變換,并通過(guò)選取合適的閾值進(jìn)行二值化處理。然后提取罔像有用信息,通過(guò)形態(tài)學(xué)的膨脹腐蝕等操作提取前進(jìn)方向。如圖2所示。

圖3為常見(jiàn)的邊緣算子檢測效果比較。從圖3中可看出Canny和Sobel算子檢測效果相對好些,其中Sobel算子對噪聲具有平滑作用,能提供較為精確的邊緣方向信息。這里采用Sobel算子進(jìn)行檢測,如圖4所示。

根據圖4,系統通過(guò)hough變換檢測兩條直線(xiàn)的位置,測出圖像的兩條邊緣線(xiàn)離兩端的像素大小,再根據實(shí)際地面距離進(jìn)行標定,便可獲知機器人所在位置。

4.2 算法

技術(shù)是圖像目標識別技術(shù)中一個(gè)重要的研究方向,具有算法簡(jiǎn)單、計算量小以及識別率高等特點(diǎn),目前在目標識別領(lǐng)域得到廣泛應用。它是用一個(gè)較小的圖像,將模板與源圖像相比較,確定在源圖像中是否存在與該模板相同或相似的區域,若該區域存在,可確定其位置并提取該區域。它常采用模板與源圖像對應區域的誤差平方和作為測度。

設f(x,y)為MxN的源圖像,g(s,t)為SxT(s≤M,T≤N)的模板圖像,則誤差平方和測度定義為:


當A為常數時(shí),則可用2B相匹配,當D(x,y)取得最大值時(shí),便認為模板與圖像相匹配。通常假設A為常數時(shí)會(huì )產(chǎn)生誤差。嚴重時(shí)將無(wú)法正確匹配,因此可用歸一化互相關(guān)作為誤差平方和測度,定義為:


4.3 改進(jìn)算法

但是按模板匹配算法求匹配計算工作量非常大,考慮到相關(guān)是卷積的一種特定形式以及 Matlab計算功能的強大,采用FFT方法,在頻域中計算后再進(jìn)行逆變換即可求出。圖像和定位模板圖像旋轉180°的傅里葉變換后作點(diǎn)乘運算,再求其逆 FFT變換并返回空間域值也就相當于相關(guān)運算。在求取空間域值的最大值后,再根據最大值選取合適的閾值,便可確定目標點(diǎn)的位置。實(shí)驗中在模板匹配成功后,可將目標和背景顏色二值化,并用紅色“十”字符號標記,不斷更新數據信息。將??奎c(diǎn)設定在自己期望的像素位置(如圖像的中心位置偏下),然后自動(dòng)調整機器人位置,設計成如圖5形式,可知機器人需要向右行駛。

圖6為視覺(jué)導航算法流程。

5 實(shí)驗結果與結論

基于以上設計,對進(jìn)行機器人運動(dòng)控制和路徑規劃進(jìn)行實(shí)驗。實(shí)驗分別采用Matlab語(yǔ)言進(jìn)行圖像仿真,能夠自動(dòng)選擇合適的閾值分割,并得到較好的邊緣檢測,然而在實(shí)驗中有時(shí)會(huì )因為光照強度或其他因素影響,在進(jìn)行閾值分割時(shí)不能達到理想效果,在 VC環(huán)境下能夠控制機器人運動(dòng),模板匹配取得較好效果,后續將著(zhù)重在Visual C++6.0環(huán)境進(jìn)行圖像處理方法研究。這樣可以更好控制機器人運動(dòng)??傊?,該可使機器人能夠在復雜多變的環(huán)境下準確識別圖像信息,并做出正確決策,完成所需動(dòng)作,從而實(shí)現既定目標。

pid控制相關(guān)文章:pid控制原理


c++相關(guān)文章:c++教程


伺服電機相關(guān)文章:伺服電機工作原理


pid控制器相關(guān)文章:pid控制器原理


攝像頭相關(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>