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