【導讀】本系統是對超聲波傳感器功能上的一次延伸,是對移動(dòng)機器人的現有探測系統的一個(gè)很好的補充。其在實(shí)驗應用中得到充分的展示,他在障礙物探測和機器人位姿的調整上具有一定的實(shí)用性。但該方法在實(shí)時(shí)性、精確性上有待進(jìn)一步提高。
移動(dòng)機器人要獲得自主行為,其最重要的任務(wù)之一是獲取關(guān)于環(huán)境的知識。這是用不同的傳感器測量并從那些測量中提取有意義的信息而實(shí)現的。視覺(jué)、紅外、激光、超聲波等傳感器都在移動(dòng)機器人中得到實(shí)際應用。超聲波傳感器以其性?xún)r(jià)比高、硬件實(shí)現簡(jiǎn)單等優(yōu)點(diǎn),在移動(dòng)機器人感知系統中得到了廣泛的應用。但是超聲波傳感器也存在一定的局限性,主要是因為波束角大、方向性差、測距的不穩定性(在非垂直的反射下)等,因此往往采用多個(gè)超聲波傳感器或采用其他傳感器來(lái)補償。為了彌補超聲波傳感器本身的不足,又能提高其獲取環(huán)境信息的能力,本文設計由一體式超聲波傳感器與步進(jìn)電機組成的探測系統。
1 超聲波傳感器的探測原理及方法分析
超聲波傳感器的基本原理是發(fā)送(超聲)壓力波包,并測量該波包發(fā)射和回到接收器所占用的時(shí)間。

其中,L為目標距超聲波傳感器的距離;c為超聲波波速(為了簡(jiǎn)化說(shuō)明,本文以下討論的測量距離時(shí)不考慮波速受溫度的影響);t為發(fā)射到接收的時(shí)間間隔。
由于用超聲波測量距離并不是一個(gè)點(diǎn)測量。超聲波傳感器具有一定的擴散特性,發(fā)射的超聲能量主要集中在主波瓣上,沿著(zhù)主波軸兩側呈波浪型衰減,左右約30°的擴散角。事實(shí)上,式(1)計算度越時(shí)間的方式是基于超聲波成功、垂直的反射名義下進(jìn)行的。但對于移動(dòng)機器人很難保證其自身運動(dòng)姿態(tài)的穩定性,采用超聲波傳感器固定在移動(dòng)機器人車(chē)身的探測方式,當移動(dòng)機器人偏離平行墻面時(shí),探測系統往往很難得到實(shí)際的距離。另外,超聲波這種發(fā)散特性在應用于測量障礙物的時(shí)候,只能提供目標障礙物的距離信息,而不能提供目標的方向和邊界信息。這些缺陷都大大限制了超聲波傳感器的實(shí)際應用和推廣。
本文在通過(guò)理論的分析和不斷地試驗的基礎上,采用四相步進(jìn)電機帶動(dòng)單個(gè)一體式超聲波傳感器旋轉的方式,組成一個(gè)動(dòng)態(tài)的感測系統。
2 一體式超聲波傳感器與步進(jìn)電機組成的探測系統
2.1 結構設計
實(shí)物照片如圖1所示,超聲波傳感器焊在PCB板上,板子通過(guò)鋼管樹(shù)起,鋼管另一端和步進(jìn)電機軸相連,步進(jìn)電機固定在機器人底盤(pán)下方。傳感器控制信號與輸出信號通過(guò)信號線(xiàn)和車(chē)身上的控制板相連。另外在超聲波傳感器的探頭前加一泡沫材料制成的圓臺形套筒,上口直徑為22 mm,下口直徑為16 mm,高20 mm。這樣發(fā)射波的波束角以及反射波被接收的角度都大大受限制。為了機器人自我調整姿態(tài),需要確定其自身的轉動(dòng)方向和基準位置。因而自制一片由直射式紅外光電傳感器和轉盤(pán)組成的簡(jiǎn)易光電編碼器。2個(gè)直射式紅外光電傳感器分布如圖2中2個(gè)I,Ⅱ所示以180°間隔水平安置在機器人小車(chē)車(chē)身兩側邊的中點(diǎn)連接線(xiàn)上。轉盤(pán)與轉臂連接在同心圓上,如圖中外圓所示,1,3刻線(xiàn)間相隔27°;2,1刻線(xiàn)相隔180°,其中1刻線(xiàn)與超聲波傳感器的中心保持在同一水平線(xiàn)上。I單獨導通作為基準坐標,I,Ⅱ同時(shí)導通用來(lái)判斷旋轉方向,Ⅱ單通作為機器人沿墻回歸時(shí)的導航基準。


通過(guò)步進(jìn)電機帶動(dòng)一體式超聲波傳感器轉動(dòng),以傳感器中軸垂直于機器人車(chē)體的方向作為其自身姿態(tài)調整的坐標基準,步進(jìn)電機采用4相4拍步距角為1.8°,每轉1步,超聲波傳感器檢測1次,將測量值通過(guò)串口送上位機。
2.2 探測系統硬件設計
探測系統硬件主要由超聲波發(fā)生電路、超聲波接收電路,步進(jìn)電機調速模塊等組成。如圖3所示,系統的核心為單片機89S51,主要完成信號的發(fā)射和接收、控制步進(jìn)電機、并傳送數據給機器人上位機進(jìn)行處理。

超聲波的發(fā)射電路采用單片機ATM89S51的P11口輸出發(fā)射脈沖,由74HC04作為驅動(dòng)來(lái)連接超聲波傳感器,74HC04是為了增強其輸出電流的能力,提高超聲波傳感器的發(fā)射距離。
超聲波接收處理電路采用集成電路CX20106。CX20106為紅外接收專(zhuān)用集成電路,在此利用CX20106作為超聲波傳感器接收信號的放大檢波裝置,亦取得良好的效果。CX20106中前置放大器接收到超聲波接收探頭的反射信號后,對信號進(jìn)行放大,電壓增益約80 dB。然后將信號送到限幅放大器,使其變?yōu)榫匦蚊}沖,再由濾波器進(jìn)行頻率選擇,濾除干擾信號,由檢波器濾掉載頻檢出指令信號,再經(jīng)過(guò)整形后,由7腳輸出低電平。7腳輸出的脈沖下降沿通過(guò)單片機INT0口輸入。如圖4所示。

一體式超聲波傳感器發(fā)射電路與接收電路都用相同的傳感器引腳輸入/輸出,如不將輸入/輸出隔離開(kāi),接收電路與發(fā)射電路會(huì )相巨影響,采用CMOS雙向模擬開(kāi)關(guān)CD4066BE實(shí)現發(fā)射與接收的隔離。步進(jìn)電機控制模塊,采用環(huán)形脈沖分配器L297+雙H橋功率集成電路L298的控制方式。單片機的P1.6,P1.7,P2.3分別接L297的CW,clock,enable控制端,控制電機的正反轉、時(shí)鐘信號、啟停。
2.3 探測系統軟件設計
探測系統的軟件主要由主程序模塊、中斷服務(wù)程序模塊、傳感器發(fā)射接收模塊組成。這里主要對探測系統主程序模塊加以說(shuō)明。主程序流程圖如圖5所示。

超聲波傳感器和步進(jìn)電機測控模塊分屬不同的單片機控制,因此感測系統與移動(dòng)機器人的上位機必須依靠單片機間的I/O口線(xiàn)及串行異步通訊實(shí)現。標志位T是用來(lái)切換動(dòng)作,T=0,OFF=0同時(shí)滿(mǎn)足時(shí),是超聲波傳感器尋常的探測過(guò)程;T=1,OFF=0時(shí)是每一個(gè)循環(huán)測量前調整方位角用;OFF=1是等待下一次動(dòng)作。計算回波的時(shí)間采用定時(shí)器T0,因此距離值d=0.334×(TH0×256+TL0)/2。每測完1次,給步進(jìn)電機1個(gè)觸發(fā)脈沖。然后判斷下一個(gè)動(dòng)作,是做傳感器探測還是機器人自身方位角調整,這樣又進(jìn)入一個(gè)新的循環(huán)。
3 探測系統在移動(dòng)機器人上的實(shí)驗與應用
3.1 尋找離墻最近點(diǎn)
本文在尋找離墻最近點(diǎn)的設計思想足基于超聲波測距。選擇時(shí)間度越式的測距方法,通過(guò)對接收回波閾值的設定和探頭前加一具有吸音作用的套筒,來(lái)限制超聲波傳感器接收范圍。實(shí)驗所測在距離75 cm時(shí)其發(fā)射波束角在±20°左右,能接收反射波的有效角度大約在±40°范圍內。
超聲波傳感器的近似圓錐形的波束,決定了其每一次所測距離是最近點(diǎn)的反射距離。如圖3所示,當波束角度即使偏離到虛線(xiàn)所示,其實(shí)際所得距離仍舊是沿波束中心線(xiàn)所測的值。按理論上說(shuō)在發(fā)射波束角度內所測的距離應該是相同的,但由于超聲波傳感器起震時(shí)間、以及接收閾值的設置,包括墻面的反射情況等都會(huì )對距離的測量造成一定的影響。由實(shí)驗測得,當在一定的角度(約±20°)內,其測量的距離值變化不明顯,其相鄰值比較接近(不超過(guò)2 mm)。當偏角繼續增大時(shí),相鄰測量值變化也明顯增大。因而一種方法就是利用這2個(gè)臨界點(diǎn),來(lái)找尋其波束與墻垂直的角度(即與墻距離最近點(diǎn)),步進(jìn)電機帶動(dòng)超聲波旋轉找尋這2個(gè)臨界點(diǎn)。當連續檢測到兩相鄰的值低于2 mm時(shí),認為已進(jìn)入穩定區,則前后出現變化的點(diǎn)設為臨界點(diǎn),在這臨界點(diǎn)內的所有點(diǎn)都記下來(lái),然后求取中點(diǎn),中點(diǎn)位置即是墻面與超聲波傳感器的最近點(diǎn)。如圖6所示為其中一組所測數據,在72°~108°內,是距離測量的穩定區域,而在這之外,所測距離的相鄰偏差超過(guò)8 mm,而且隨著(zhù)角度的旋向兩邊時(shí)將進(jìn)一步拉大。在50 cm與200 cm內改變一體式超聲波傳感器與墻面距離進(jìn)行實(shí)驗,其結果與墻面垂直角度所測誤差限制在2個(gè)步距角內。

3.2 探測系統應用于機器人沿墻導航
自主式移動(dòng)機器人是在運動(dòng)過(guò)程中探測當前環(huán)境的信息。每次探測的距離信息都以當前機器人的運動(dòng)姿態(tài)為前提來(lái)測量。而在沿墻直線(xiàn)行走過(guò)程中,機器人是通過(guò)測距和自身姿態(tài)的共同感知保證運行軌跡的準確性。超聲波測距已被廣泛運用,在試驗超聲波探測角度與測距的關(guān)系后,則可以根據計算最近點(diǎn)的方法用超聲波傳感器來(lái)測量車(chē)身的方位角(確定自身姿態(tài))。所測最近點(diǎn)是機器人實(shí)際與墻面的距離,通過(guò)簡(jiǎn)易編碼器上的直射紅外傳感器1來(lái)確定機器人的基準坐標,根據步進(jìn)電機每一步走過(guò)時(shí)存儲的信息來(lái)計算最近點(diǎn)。在基準坐標和最近點(diǎn)間,用步進(jìn)電機所走過(guò)的角度確定機器人與墻面的偏角,然后偏角傳達給車(chē)輪驅動(dòng)控制系統以調整方位角。
3.3 搜尋障礙物
采用步進(jìn)電機帶動(dòng)超聲波傳感器旋轉的方式在功能上近似于多傳感器檢測。移動(dòng)機器人通常采用周身圍繞固定多個(gè)超聲波傳感器來(lái)獲取更多的信息,從而增加搜索障礙物的范圍,確定目標方向和邊界信息。與之相比,采用旋轉的方式的一個(gè)優(yōu)點(diǎn),就是可以根據障礙物的緊密程度自動(dòng)調整檢測的密度。采用增加傳感器的數量是受自身條件限制的,而旋轉方式的緊密只和步進(jìn)電機的步距角相關(guān)。檢測密度的增加可以大大提高對角度的分辨力,從而加強對目標方向和邊界信息的確定。
4 結 語(yǔ)
本系統是對超聲波傳感器功能上的一次延伸,是對移動(dòng)機器人的現有探測系統的一個(gè)很好的補充。其在實(shí)驗應用中得到充分的展示,他在障礙物探測和機器人位姿的調整上具有一定的實(shí)用性。但該方法在實(shí)時(shí)性、精確性上有待進(jìn)一步提高。
推薦閱讀: