<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è) > 測試測量 > 設計應用 > 基于超聲波傳感器的AGV避障模塊設計與實(shí)現

基于超聲波傳感器的AGV避障模塊設計與實(shí)現

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

全稱(chēng)Automatecl Guided Vehicles,是一種裝有自動(dòng)導引裝置,能夠沿規定的路徑行駛,具有編程和停車(chē)選擇裝置、安全保護裝置以及各種物料移載功能的自動(dòng)導航車(chē)。障礙物檢測是自動(dòng)導航車(chē)研究的一個(gè)基本問(wèn)題,是實(shí)現安全、正常工作的前提。傳感器以其價(jià)格低廉、測距精度高、測量穩定、體積小等優(yōu)點(diǎn),被廣泛用于。本文以傳感器為基礎,結合技術(shù),設計一種避障模塊,實(shí)現準確、有效、穩定的障礙物檢測,確保AGV的安全運行。

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

1 傳感器波束角測量

該避障模塊使用的超聲波傳感器內部以渡越時(shí)間法進(jìn)行測距。并自帶溫度傳感器對測量結果進(jìn)行校正,能夠對2 cm至4.5 m距離范圍內的障礙物實(shí)現準確的距離測量。開(kāi)始測量時(shí),控制器通過(guò)UART向超聲波傳感器的TX引腳輸入觸發(fā)信號,傳感器發(fā)送探頭啟動(dòng)并發(fā)射超聲波脈沖,然后接收探頭進(jìn)入回波檢測狀態(tài)。在接收探頭檢測到回波信號后,結合溫度補償計算測距結果,并通過(guò)傳感器的RX引腳輸出距離測量數據。

1.1 超聲波傳感器測距數據采集

由于超聲波傳感器的探測波束角較小,在其實(shí)際應用中,一般使用多個(gè)傳感器組成傳感器陣列,以擴大探測范圍。超聲波傳感器陣列的構建,須解決傳感器在A(yíng)GV上的布局問(wèn)題,具體來(lái)說(shuō)就是傳感器數量和安裝間距的選擇問(wèn)題。傳感器數量和安裝間距的選擇須根據最小盲區要求確定,而超聲波傳感器的探測波束角是計算盲區的重要參數,因此需要設計實(shí)驗測量傳感器的探測波束角。

如圖1的(a)所示,將超聲波傳感器固定于某點(diǎn),在其前方選擇與傳感器探頭距離為d的某點(diǎn)放置障礙物,進(jìn)行測距實(shí)驗并記錄測距值。為了使實(shí)驗結果能夠充分反映實(shí)際情況,實(shí)驗中選取不同距離d,且對于每個(gè)距離,以超聲波傳感器中軸線(xiàn)為原點(diǎn),在左右兩側都選擇離中軸線(xiàn)距離為L(cháng)的多個(gè)點(diǎn)來(lái)放置障礙物。實(shí)驗AGV對避障模塊所要求的檢測距離為0~2.5 m, 實(shí)驗中選取的d序列為[100,200,300,400,600,800,1 200,1 600,2 400] mm;常用的超聲波傳感器波束角一般小于60°,所以對于每個(gè)距離d,在離中軸線(xiàn)[-0.6xd,0]和[0,0.6xd]范圍內以相同間隔各選取10個(gè)點(diǎn)作為L(cháng)的值。

a.jpg

1.2 超聲波傳感器測距數據處理

在圖1(a)的實(shí)驗中,利用勾股定理,可以得到障礙物實(shí)驗中擺放位置與超聲波傳感器的實(shí)際距離:

b.jpg

對實(shí)驗中的每一個(gè)測距值s’,結合式(1)和式(2)可計算出相應的相對誤差。將實(shí)驗數據導入至Matlab中,以L(fǎng)為橫坐標、d為縱坐標、σ為豎坐標,對其插值并作圖,如圖1(b)所示。

從實(shí)驗結果可以看出,將障礙物擺放于超聲波傳感器可檢測到的區域時(shí),檢測結果的相對誤差都能夠滿(mǎn)足σ6%,因此在圖1(b)中選取相對誤差σ6%的區域,可得到超聲波傳感器的波束角約為θ=40°。

2 AGV避障傳感器布局設計

2.1 傳感器數量和布局方式選擇

AGV避障模塊檢測的盲區大小與超聲波傳感器的安裝數量、安裝間距有關(guān),傳感器數量越多、安裝間距越小,檢測盲區就越小,反之則大。超聲波傳感器利用障礙物對聲波的反射作用進(jìn)行距離檢測,這一特性也決定了交叉串擾現象的存在,即一個(gè)傳感器發(fā)射的聲波經(jīng)障礙物反射后,能夠被相同檢測方向的傳感器接收到,從而產(chǎn)生錯誤的測距結果。因此在使用多個(gè)超聲波傳感器進(jìn)行障礙物檢測的場(chǎng)合,常采用傳感器交替工作方式,即某一時(shí)刻有且只有一個(gè)超聲波傳感器在檢測障礙物。若傳感器安裝數量過(guò)多,AGV周期就會(huì )增大,影響其檢測實(shí)時(shí)性,從而對AGV的安全工作產(chǎn)生不利因素。從減小盲區和提高實(shí)時(shí)性?xún)煞矫婢C合考慮,從實(shí)驗AGV的500 mm車(chē)寬出發(fā),初步確定在所應用的實(shí)驗AGV的車(chē)頭安裝4個(gè)超聲波傳感器。由于實(shí)驗AGV不需要倒車(chē)和側向移動(dòng),所以其車(chē)尾和側面不需要安裝超聲波傳感器。

為了使每?jì)上噜彸暡▊鞲衅髦g的檢測盲區大小保持一致,4個(gè)傳感器采用等距布局的方式,如圖2(a)所示。兩相鄰傳感器的距離為:

c.jpg

2.2 避障預警距離和檢測盲區計算

如圖2(b)所示,距離AGV兩側250 mm范圍內為側面安全距離。中間的2、3號超聲波傳感器作為主探測器,兩側的1、4號為輔助探測器。其中輔助探測器用于減小主探測器的測量肓區。主探測器和輔助探測器的預警距離分別為:

d.jpg

在A(yíng)GV的避障檢測中,當障礙物進(jìn)入2、3號超聲波傳感器的d3范圍或1、4號超聲波傳感器的d2范圍內時(shí),AGV停車(chē)報警。

f.jpg

在圖2(b)中,AGV車(chē)頭前面的陰影部分為避障檢測模塊的檢測盲區區域,由多個(gè)三角形組成,該區域垂直距離(即三角形的高)為:

e.jpg


可見(jiàn),在此布局方案中,AGV避障模塊的檢測盲區較小,配合安裝于車(chē)頭的防撞桿,能夠滿(mǎn)足AGV安全運行的要求。

3 AGV避障模塊硬件設計

3.1 避障模塊硬件結構

AGV避障模塊的硬件結構如圖3所示,模塊以AVR單片機為控制核心。在避障檢測時(shí),由于每次只有一個(gè)超聲波傳感器處于工作狀態(tài),所以4個(gè)超聲波傳感器可通過(guò)多路模擬選擇開(kāi)關(guān)共享AVR單片機的UART接口。當避障模塊預警區域存在障礙物,AVR控制語(yǔ)音芯片播放語(yǔ)音提示,并通過(guò)將預警狀態(tài)和障礙物距離發(fā)送到AGV的總控制器。

g.jpg

3.2 語(yǔ)音預警功能電路

AGV避障模塊語(yǔ)音預警功能電路如圖4。當障礙物進(jìn)入預警區域,AVR單片機通過(guò)三線(xiàn)串口控制WT588D-U語(yǔ)音芯片讀取內部的音頻文件,并輸出相應音頻信號,經(jīng)LM386功率放大后輸出到小型喇叭。通過(guò)調節R7變阻器調節端可改變語(yǔ)音預警的音量大小。

h.jpg

3.3 超聲波傳感器控制電路

如圖5所示,AVR單片機通過(guò)CD4052多路模擬選擇開(kāi)關(guān)對四個(gè)超聲波傳感器進(jìn)行控制。ChaSelA和ChaSelB信號的四個(gè)不同狀態(tài)組合分別代表模擬開(kāi)關(guān)的四個(gè)通道。CSB_TrigN和CSB_EchoN分別是超聲波傳感器觸發(fā)信號輸入端和測距數據輸出端。工作時(shí),利用ChaSelA和ChaSelB信號選擇所要控制的超聲波傳感器,模塊控制器通過(guò)TXD引腳向所選定的傳感器發(fā)送觸發(fā)信號,傳感器即向前方發(fā)送聲波,并在接收到回波信號后,向控制器發(fā)送測距數據。

i.jpg

3.4 通訊電路

AGV避障模塊引入了CAN總線(xiàn)技術(shù),能夠將預警狀態(tài)和測距數據上傳到總控制器,實(shí)現。CAN總線(xiàn)通信電路主要由CAN通信控制器MCP2515、CAN總線(xiàn)收發(fā)器PCA82C251及相應的復位、時(shí)鐘電路組成,如圖6所示。避障模塊控制器通過(guò)SPI接口將預警狀態(tài)和測距數據發(fā)送到CAN總線(xiàn)控制器MCP2515,由MCP2515轉換成異步信號輸送到CAN總線(xiàn)收發(fā)器PCA82C251,并最終發(fā)送到CAN總線(xiàn)上。

j.jpg

4 AGV避障模塊軟件設計

避障模塊所應用的AGV平臺基于CAN總線(xiàn)構建其車(chē)載系統,控制系統的CAN應用層協(xié)議采用問(wèn)答模式,即CAN通訊網(wǎng)絡(luò )的某個(gè)節點(diǎn)主動(dòng)發(fā)起的數據幀傳輸(詢(xún)問(wèn)幀),必須得到數據幀接收節點(diǎn)的應答(應答幀),否則將進(jìn)行重發(fā)。問(wèn)答模式提高了控制系統運行的可靠性。

AGV運行時(shí),當障礙物進(jìn)入預警范圍,避障模塊播放語(yǔ)音提示,并通過(guò)CAN總線(xiàn)向控制系統總控制器發(fā)送預警消息??刂葡到y總控制器接收到預警消息后,向避障模塊發(fā)送應答幀,并控制電機減速或停車(chē)。此外,控制系統總控制器能夠向避障模塊發(fā)送詢(xún)問(wèn)幀,控制其關(guān)閉或開(kāi)啟避障檢測和語(yǔ)音提示功能,因此AGV在運行時(shí),避障模塊通過(guò)CAN總線(xiàn)發(fā)送的消息有兩類(lèi):主動(dòng)發(fā)起的詢(xún)問(wèn)幀和對其他節點(diǎn)發(fā)來(lái)的詢(xún)問(wèn)幀的應答幀;通過(guò)CAN總線(xiàn)接收的消息也為兩類(lèi):其他節點(diǎn)發(fā)來(lái)的應答幀和詢(xún)問(wèn)幀。

該避障模塊的軟件基于鏈表創(chuàng )建了兩個(gè)CAN消息隊列:CAN發(fā)送隊列和CAN待應答隊列。發(fā)送詢(xún)問(wèn)幀時(shí),創(chuàng )建發(fā)送結點(diǎn),掛接到CAN發(fā)送隊列中,并同時(shí)創(chuàng )建對應的待應答結點(diǎn),兩者通過(guò)指針成員相互綁定。發(fā)送應答幀時(shí),創(chuàng )建發(fā)送結點(diǎn)并掛接到CAN發(fā)送隊列,此時(shí)不需要創(chuàng )建待應答結點(diǎn)。如圖7所示,主函數輪詢(xún)CAN發(fā)送隊列是否為空,若不為空,取出發(fā)送結點(diǎn)并執行CAN數據幀的發(fā)送。如果發(fā)送結點(diǎn)為詢(xún)問(wèn)幀,執行發(fā)送后,將綁定的待應答結點(diǎn)掛接到CAN待應答隊列,等待數據幀接收節點(diǎn)的應答。軟件使用定時(shí)器作為系統時(shí)鐘,在定時(shí)器中斷函數中對CAN待應答隊列中每個(gè)待應答結點(diǎn)的等待時(shí)間進(jìn)行計時(shí)。若某個(gè)待應答結點(diǎn)等待超時(shí),移出待應答隊列并將綁定的發(fā)送結點(diǎn)重新掛接到CAN發(fā)送隊列,執行重發(fā)。在多次重發(fā)都沒(méi)有得到應答時(shí),刪除該待應答結點(diǎn)和綁定的發(fā)送結點(diǎn)。若某個(gè)詢(xún)問(wèn)幀等待應答超時(shí)前接收到應答幀,表示該次CAN詢(xún)問(wèn)幀傳輸成功,并且在CAN數據幀接收處理函數中刪除相應的待應答結點(diǎn)和綁定的發(fā)送結點(diǎn)。

k.jpg

如圖8所示,CAN數據幀接收處理函數也對避障模塊接收到的其他CAN節點(diǎn)發(fā)送的詢(xún)問(wèn)幀進(jìn)行解釋?zhuān)瑘绦邢鄳僮?,并?chuàng )建應答幀掛接到CAN發(fā)送隊列。軟件使用SCI中斷函數輪詢(xún)4個(gè)超聲波傳感器的檢測數據,并在完成一次輪詢(xún)后對檢測數據進(jìn)行融合,根據數據融合處理的結果判斷障礙物是否進(jìn)入預警距離。當障礙物進(jìn)入預警距離,對預警消息創(chuàng )建發(fā)送結點(diǎn)和待應答結點(diǎn),并將發(fā)送結點(diǎn)掛接到CAN發(fā)送隊列,同時(shí)播放語(yǔ)音提示。

l.jpg

5 實(shí)驗應用

將所設計的避障模塊安裝到實(shí)驗AGV上,使AGV上電運行,并在運行中進(jìn)行障礙物檢測測試。在測試時(shí),使用車(chē)載觸摸屏的狀態(tài)顯示界面能夠讀取、顯示超聲波傳感器檢測數據和避障預警信息。當在A(yíng)GV前進(jìn)路徑上放置障礙物時(shí),避障模塊能夠準確檢測到障礙物距離,當障礙物進(jìn)入預警范圍時(shí),及時(shí)向總控制器上報預警信息。通過(guò)實(shí)際應用發(fā)現,該避障模塊測距結果準確。工作穩定可靠。

6 結論

該避障模塊采用超聲波傳感器為探測器,通過(guò)實(shí)驗測量,結合Matlab處理得到傳感器檢測波束角,最終確定超聲波傳感器在A(yíng)GV上布局方式。以AVR單片機為控制核心,融入語(yǔ)音提示功能和CAN總線(xiàn)技術(shù),對避障模塊的硬件和軟件進(jìn)行開(kāi)發(fā),能夠將預警狀態(tài)和檢測數據上傳到AGV總控制器,實(shí)現。實(shí)驗應用表明,該模塊具有運行穩定、工作可靠等特點(diǎn),達到了設計要求。該模塊已應用到實(shí)驗AGV上,檢障效果良好,運行穩定,可靠性高,能夠確保AGV的安全工作,達到了設計要求。



評論


相關(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>