基于超聲波傳感器的自主移動(dòng)機(jī)器人的探測(cè)系統(tǒng)
移動(dòng)機(jī)器人要獲得自主行為,其最重要的任務(wù)之一是獲取關(guān)于環(huán)境的知識(shí)。這是用不同的傳感器測(cè)量并從那些測(cè)量中提取有意義的信息而實(shí)現(xiàn)的。視覺、紅外、激光、超聲波等傳感器都在移動(dòng)機(jī)器人中得到實(shí)際應(yīng)用。超聲波傳感器以其性價(jià)比高、硬件實(shí)現(xiàn)簡單等優(yōu)點(diǎn),在移動(dòng)機(jī)器人感知系統(tǒng)中得到了廣泛的應(yīng)用。但是超聲波傳感器也存在一定的局限性,主要是因?yàn)椴ㄊ谴?、方向性差、測(cè)距的不穩(wěn)定性(在非垂直的反射下)等,因此往往采用多個(gè)超聲波傳感器或采用其他傳感器來補(bǔ)償。為了彌補(bǔ)超聲波傳感器本身的不足,又能提高其獲取環(huán)境信息的能力,本文設(shè)計(jì)由一體式超聲波傳感器與步進(jìn)電機(jī)組成的探測(cè)系統(tǒng)。
本文引用地址:http://cafeforensic.com/article/90366.htm1 超聲波傳感器的探測(cè)原理及方法分析
超聲波傳感器的基本原理是發(fā)送(超聲)壓力波包,并測(cè)量該波包發(fā)射和回到接收器所占用的時(shí)間。
其中,L為目標(biāo)距超聲波傳感器的距離;c為超聲波波速(為了簡化說明,本文以下討論的測(cè)量距離時(shí)不考慮波速受溫度的影響);t為發(fā)射到接收的時(shí)間間隔。
由于用超聲波測(cè)量距離并不是一個(gè)點(diǎn)測(cè)量。超聲波傳感器具有一定的擴(kuò)散特性,發(fā)射的超聲能量主要集中在主波瓣上,沿著主波軸兩側(cè)呈波浪型衰減,左右約30°的擴(kuò)散角。事實(shí)上,式(1)計(jì)算度越時(shí)間的方式是基于超聲波成功、垂直的反射名義下進(jìn)行的。但對(duì)于移動(dòng)機(jī)器人很難保證其自身運(yùn)動(dòng)姿態(tài)的穩(wěn)定性,采用超聲波傳感器固定在移動(dòng)機(jī)器人車身的探測(cè)方式,當(dāng)移動(dòng)機(jī)器人偏離平行墻面時(shí),探測(cè)系統(tǒng)往往很難得到實(shí)際的距離。另外,超聲波這種發(fā)散特性在應(yīng)用于測(cè)量障礙物的時(shí)候,只能提供目標(biāo)障礙物的距離信息,而不能提供目標(biāo)的方向和邊界信息。這些缺陷都大大限制了超聲波傳感器的實(shí)際應(yīng)用和推廣。
本文在通過理論的分析和不斷地試驗(yàn)的基礎(chǔ)上,采用四相步進(jìn)電機(jī)帶動(dòng)單個(gè)一體式超聲波傳感器旋轉(zhuǎn)的方式,組成一個(gè)動(dòng)態(tài)的感測(cè)系統(tǒng)。
2 一體式超聲波傳感器與步進(jìn)電機(jī)組成的探測(cè)系統(tǒng)
2.1 結(jié)構(gòu)設(shè)計(jì)
實(shí)物照片如圖1所示,超聲波傳感器焊在PCB板上,板子通過鋼管樹起,鋼管另一端和步進(jìn)電機(jī)軸相連,步進(jìn)電機(jī)固定在機(jī)器人底盤下方。傳感器控制信號(hào)與輸出信號(hào)通過信號(hào)線和車身上的控制板相連。另外在超聲波傳感器的探頭前加一泡沫材料制成的圓臺(tái)形套筒,上口直徑為22 mm,下口直徑為16 mm,高20 mm。這樣發(fā)射波的波束角以及反射波被接收的角度都大大受限制。為了機(jī)器人自我調(diào)整姿態(tài),需要確定其自身的轉(zhuǎn)動(dòng)方向和基準(zhǔn)位置。因而自制一片由直射式紅外光電傳感器和轉(zhuǎn)盤組成的簡易光電編碼器。2個(gè)直射式紅外光電傳感器分布如圖2中2個(gè)I,Ⅱ所示以180°間隔水平安置在機(jī)器人小車車身兩側(cè)邊的中點(diǎn)連接線上。轉(zhuǎn)盤與轉(zhuǎn)臂連接在同心圓上,如圖中外圓所示,1,3刻線間相隔27°;2,1刻線相隔180°,其中1刻線與超聲波傳感器的中心保持在同一水平線上。I單獨(dú)導(dǎo)通作為基準(zhǔn)坐標(biāo),I,Ⅱ同時(shí)導(dǎo)通用來判斷旋轉(zhuǎn)方向,Ⅱ單通作為機(jī)器人沿墻回歸時(shí)的導(dǎo)航基準(zhǔn)。
通過步進(jìn)電機(jī)帶動(dòng)一體式超聲波傳感器轉(zhuǎn)動(dòng),以傳感器中軸垂直于機(jī)器人車體的方向作為其自身姿態(tài)調(diào)整的坐標(biāo)基準(zhǔn),步進(jìn)電機(jī)采用4相4拍步距角為1.8°,每轉(zhuǎn)1步,超聲波傳感器檢測(cè)1次,將測(cè)量值通過串口送上位機(jī)。
2.2 探測(cè)系統(tǒng)硬件設(shè)計(jì)
探測(cè)系統(tǒng)硬件主要由超聲波發(fā)生電路、超聲波接收電路,步進(jìn)電機(jī)調(diào)速模塊等組成。如圖3所示,系統(tǒng)的核心為單片機(jī)89S51,主要完成信號(hào)的發(fā)射和接收、控制步進(jìn)電機(jī)、并傳送數(shù)據(jù)給機(jī)器人上位機(jī)進(jìn)行處理。
超聲波的發(fā)射電路采用單片機(jī)ATM89S51的P11口輸出發(fā)射脈沖,由74HC04作為驅(qū)動(dòng)來連接超聲波傳感器,74HC04是為了增強(qiáng)其輸出電流的能力,提高超聲波傳感器的發(fā)射距離。
超聲波接收處理電路采用集成電路CX20106。CX20106為紅外接收專用集成電路,在此利用CX20106作為超聲波傳感器接收信號(hào)的放大檢波裝置,亦取得良好的效果。CX20106中前置放大器接收到超聲波接收探頭的反射信號(hào)后,對(duì)信號(hào)進(jìn)行放大,電壓增益約80 dB。然后將信號(hào)送到限幅放大器,使其變?yōu)榫匦蚊}沖,再由濾波器進(jìn)行頻率選擇,濾除干擾信號(hào),由檢波器濾掉載頻檢出指令信號(hào),再經(jīng)過整形后,由7腳輸出低電平。7腳輸出的脈沖下降沿通過單片機(jī)INT0口輸入。如圖4所示。
一體式超聲波傳感器發(fā)射電路與接收電路都用相同的傳感器引腳輸入/輸出,如不將輸入/輸出隔離開,接收電路與發(fā)射電路會(huì)相巨影響,采用CMOS雙向模擬開關(guān)CD4066BE實(shí)現(xiàn)發(fā)射與接收的隔離。步進(jìn)電機(jī)控制模塊,采用環(huán)形脈沖分配器L297+雙H橋功率集成電路L298的控制方式。單片機(jī)的P1.6,P1.7,P2.3分別接L297的CW,clock,enable控制端,控制電機(jī)的正反轉(zhuǎn)、時(shí)鐘信號(hào)、啟停。
2.3 探測(cè)系統(tǒng)軟件設(shè)計(jì)
探測(cè)系統(tǒng)的軟件主要由主程序模塊、中斷服務(wù)程序模塊、傳感器發(fā)射接收模塊組成。這里主要對(duì)探測(cè)系統(tǒng)主程序模塊加以說明。主程序流程圖如圖5所示。
超聲波傳感器和步進(jìn)電機(jī)測(cè)控模塊分屬不同的單片機(jī)控制,因此感測(cè)系統(tǒng)與移動(dòng)機(jī)器人的上位機(jī)必須依靠單片機(jī)間的I/O口線及串行異步通訊實(shí)現(xiàn)。標(biāo)志位T是用來切換動(dòng)作,T=0,OFF=0同時(shí)滿足時(shí),是超聲波傳感器尋常的探測(cè)過程;T=1,OFF=0時(shí)是每一個(gè)循環(huán)測(cè)量前調(diào)整方位角用;OFF=1是等待下一次動(dòng)作。計(jì)算回波的時(shí)間采用定時(shí)器T0,因此距離值d=0.334×(TH0×256+TL0)/2。每測(cè)完1次,給步進(jìn)電機(jī)1個(gè)觸發(fā)脈沖。然后判斷下一個(gè)動(dòng)作,是做傳感器探測(cè)還是機(jī)器人自身方位角調(diào)整,這樣又進(jìn)入一個(gè)新的循環(huán)。
3 探測(cè)系統(tǒng)在移動(dòng)機(jī)器人上的實(shí)驗(yàn)與應(yīng)用
3.1 尋找離墻最近點(diǎn)
本文在尋找離墻最近點(diǎn)的設(shè)計(jì)思想足基于超聲波測(cè)距。選擇時(shí)間度越式的測(cè)距方法,通過對(duì)接收回波閾值的設(shè)定和探頭前加一具有吸音作用的套筒,來限制超聲波傳感器接收范圍。實(shí)驗(yàn)所測(cè)在距離75 cm時(shí)其發(fā)射波束角在±20°左右,能接收反射波的有效角度大約在±40°范圍內(nèi)。
超聲波傳感器的近似圓錐形的波束,決定了其每一次所測(cè)距離是最近點(diǎn)的反射距離。如圖3所示,當(dāng)波束角度即使偏離到虛線所示,其實(shí)際所得距離仍舊是沿波束中心線所測(cè)的值。按理論上說在發(fā)射波束角度內(nèi)所測(cè)的距離應(yīng)該是相同的,但由于超聲波傳感器起震時(shí)間、以及接收閾值的設(shè)置,包括墻面的反射情況等都會(huì)對(duì)距離的測(cè)量造成一定的影響。由實(shí)驗(yàn)測(cè)得,當(dāng)在一定的角度(約±20°)內(nèi),其測(cè)量的距離值變化不明顯,其相鄰值比較接近(不超過2 mm)。當(dāng)偏角繼續(xù)增大時(shí),相鄰測(cè)量值變化也明顯增大。因而一種方法就是利用這2個(gè)臨界點(diǎn),來找尋其波束與墻垂直的角度(即與墻距離最近點(diǎn)),步進(jìn)電機(jī)帶動(dòng)超聲波旋轉(zhuǎn)找尋這2個(gè)臨界點(diǎn)。當(dāng)連續(xù)檢測(cè)到兩相鄰的值低于2 mm時(shí),認(rèn)為已進(jìn)入穩(wěn)定區(qū),則前后出現(xiàn)變化的點(diǎn)設(shè)為臨界點(diǎn),在這臨界點(diǎn)內(nèi)的所有點(diǎn)都記下來,然后求取中點(diǎn),中點(diǎn)位置即是墻面與超聲波傳感器的最近點(diǎn)。如圖6所示為其中一組所測(cè)數(shù)據(jù),在72°~108°內(nèi),是距離測(cè)量的穩(wěn)定區(qū)域,而在這之外,所測(cè)距離的相鄰偏差超過8 mm,而且隨著角度的旋向兩邊時(shí)將進(jìn)一步拉大。在50 cm與200 cm內(nèi)改變一體式超聲波傳感器與墻面距離進(jìn)行實(shí)驗(yàn),其結(jié)果與墻面垂直角度所測(cè)誤差限制在2個(gè)步距角內(nèi)。
3.2 探測(cè)系統(tǒng)應(yīng)用于機(jī)器人沿墻導(dǎo)航
自主式移動(dòng)機(jī)器人是在運(yùn)動(dòng)過程中探測(cè)當(dāng)前環(huán)境的信息。每次探測(cè)的距離信息都以當(dāng)前機(jī)器人的運(yùn)動(dòng)姿態(tài)為前提來測(cè)量。而在沿墻直線行走過程中,機(jī)器人是通過測(cè)距和自身姿態(tài)的共同感知保證運(yùn)行軌跡的準(zhǔn)確性。超聲波測(cè)距已被廣泛運(yùn)用,在試驗(yàn)超聲波探測(cè)角度與測(cè)距的關(guān)系后,則可以根據(jù)計(jì)算最近點(diǎn)的方法用超聲波傳感器來測(cè)量車身的方位角(確定自身姿態(tài))。所測(cè)最近點(diǎn)是機(jī)器人實(shí)際與墻面的距離,通過簡易編碼器上的直射紅外傳感器1來確定機(jī)器人的基準(zhǔn)坐標(biāo),根據(jù)步進(jìn)電機(jī)每一步走過時(shí)存儲(chǔ)的信息來計(jì)算最近點(diǎn)。在基準(zhǔn)坐標(biāo)和最近點(diǎn)間,用步進(jìn)電機(jī)所走過的角度確定機(jī)器人與墻面的偏角,然后偏角傳達(dá)給車輪驅(qū)動(dòng)控制系統(tǒng)以調(diào)整方位角。
3.3 搜尋障礙物
采用步進(jìn)電機(jī)帶動(dòng)超聲波傳感器旋轉(zhuǎn)的方式在功能上近似于多傳感器檢測(cè)。移動(dòng)機(jī)器人通常采用周身圍繞固定多個(gè)超聲波傳感器來獲取更多的信息,從而增加搜索障礙物的范圍,確定目標(biāo)方向和邊界信息。與之相比,采用旋轉(zhuǎn)的方式的一個(gè)優(yōu)點(diǎn),就是可以根據(jù)障礙物的緊密程度自動(dòng)調(diào)整檢測(cè)的密度。采用增加傳感器的數(shù)量是受自身?xiàng)l件限制的,而旋轉(zhuǎn)方式的緊密只和步進(jìn)電機(jī)的步距角相關(guān)。檢測(cè)密度的增加可以大大提高對(duì)角度的分辨力,從而加強(qiáng)對(duì)目標(biāo)方向和邊界信息的確定。
4 結(jié) 語
本系統(tǒng)是對(duì)超聲波傳感器功能上的一次延伸,是對(duì)移動(dòng)機(jī)器人的現(xiàn)有探測(cè)系統(tǒng)的一個(gè)很好的補(bǔ)充。其在實(shí)驗(yàn)應(yīng)用中得到充分的展示,他在障礙物探測(cè)和機(jī)器人位姿的調(diào)整上具有一定的實(shí)用性。但該方法在實(shí)時(shí)性、精確性上有待進(jìn)一步提高。
評(píng)論