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