李恒+徐小力+左云波
摘 要: 測距避障是移動機器人適應(yīng)未知復(fù)雜環(huán)境的能力之一,準確測出移動機器人和障礙物之間的距離是關(guān)鍵。以dsPIC33FJ256MC710單片機為核心研究設(shè)計了一種移動機器人超聲波測距避障系統(tǒng)。該系統(tǒng)利用脈沖回波法測距,針對超聲波在空氣中的傳播速度受環(huán)境溫度的影響,設(shè)計了超聲波速度溫度補償電路。實驗結(jié)果表明該超聲波測距避障系統(tǒng)測量數(shù)據(jù)準確,能夠滿足移動機器人在復(fù)雜環(huán)境中避障的需求。
關(guān)鍵詞: 移動機器人; 測距避障; 超聲波; 硬件電路
中圖分類號: TN710?34; TP73 文獻標識碼: A 文章編號: 1004?373X(2014)03?0157?03
Design of obstacle avoidance system with ultrasonic ranging based on mobile robot
LI Heng, XU Xiao?li, ZUO Yun?bo
(Ministry of Education Key Laboratory of Modern Measurement & Control Technology, Beijing Information Science & Technology University,
Beijing 100192, China)
Abstract: Obstacle avoidance with ranging is one of robot′s competencies in adapting to unknown complex environment. It is very important to measure the distance between the robot and the obstacles accurately. An obstacle avoidance system with ultrasonic ranging by mobile robot is designed with dsPIC33FJ256MC710 as the core. The distance between the robot and the obstacles is measured with pulse echo method. Ultrasonic velocity temperature compensation circuit is designed for ultrasonic velocity changes as the ambient temperature. Experimental results show that the system ranging accurately and is able to meet the requirement of obstacle avoidance for mobile robot in complex environments.
Keywords: mobile robot; obstacle avoidance by ranging; ultrasonic; hardware circuit
0 引 言
在某些特種環(huán)境,如反恐排爆、災(zāi)難救援等現(xiàn)場,特種機器人被廣泛地用于代替人類執(zhí)行信息獲取、搜索救援、環(huán)境檢測等工作。作業(yè)環(huán)境的復(fù)雜多變,要求特種機器人有較好的環(huán)境適應(yīng)能力,能夠在未知或者部分未知的環(huán)境中通過傳感器獲取周圍環(huán)境信息,包括障礙物的尺寸,位置和距離等信息,并使機器人找到一條無碰撞最優(yōu)路線[1]。移動機器人測距避障的傳感器有很多,如聲吶、視覺、紅外線、超聲波和羅盤等[2],紅外對障礙物的衍射能力比較差,視覺處理起來比較復(fù)雜而且貴,而超聲波不易受干擾,能量消耗緩慢,傳播距離相對較遠,因此在各種測距避障系統(tǒng)中被廣泛使用。
1 超聲波測距避障的基本原理
超聲波是指頻率高于20 kHz的在彈性介質(zhì)中產(chǎn)生的機械振蕩波[3]。超聲波測距避障的基本原理是通過超聲發(fā)射換能器不斷發(fā)出聲脈沖,聲波脈沖通過空氣介質(zhì)傳播,當(dāng)聲波脈沖遇到障礙物后反射回來被接收換能器接收,根據(jù)聲速及時間差計算出障礙物的距離,移動機器人利用左右輪之間的速度差轉(zhuǎn)向避障。假定[L]為超聲波換能器到障礙物間的距離,超聲波發(fā)射與接收的時間差為[T](單位:s)在空氣中的傳播速度為V(單位:m/s),關(guān)系如式(1):
[L=VT2] (1)
由于聲波在空氣中傳播的速度與溫度有關(guān),在精度要求比較高的情況下需要做溫度補償校正[4],按式(2)對聲速進行修正。
[V=331.4+0.607T] (2)
式中:[T]為測量時的實際溫度;[V]為超聲波在空氣介質(zhì)中的傳播速度。
2 系統(tǒng)的總體方案設(shè)計
本系統(tǒng)主要由超聲波發(fā)射電路、超聲波接收電路、信號轉(zhuǎn)換電路、測溫電路以及報警電路組成??傮w方案圖如圖1所示。超聲波控制系統(tǒng)由美國Microchip公司生產(chǎn)的dsPIC33FJ256MC710單片機控制,該單片機擁有多路PWM脈寬調(diào)制模塊、輸入捕捉模塊以及4個32位的定時器。單片機通過PWM產(chǎn)生40 kHz的方波,經(jīng)過放大后驅(qū)動超聲波發(fā)射換能器產(chǎn)生40 kHz的超聲波,經(jīng)過空氣介質(zhì)傳播,遇到前方障礙物后發(fā)射回來,被超聲接收換能器接收后經(jīng)過信號放大和檢出后變?yōu)榈碗娖接|發(fā)單片機輸入捕捉模塊產(chǎn)生中斷。通過定時器1可以知道超聲波發(fā)射和返回之間的時間間隔[T,]同時通過溫度傳感器DS18B20測出實時溫度,通過式(2)對聲速進行調(diào)節(jié)補償,利用式(1)可以計算出障礙物的距離。另外本系統(tǒng)還設(shè)置了距離預(yù)警信號,通過單片機計算出的距離[L]與預(yù)設(shè)的距離[L0]比較,當(dāng)[L
圖1 系統(tǒng)總體方案圖
3 系統(tǒng)硬件電路設(shè)計
3.1 超聲波發(fā)射電路設(shè)計
超聲波發(fā)射電路主要由三極管P1、三極管N1、變壓器T1和超聲波發(fā)射換能器TCT40?16T構(gòu)成,如圖2所示。圖中,Send?Ctrl、Cut?off端由單片機控制。單片機的I/O口設(shè)置為推挽輸出模式,這樣可以保證三極管有足夠的驅(qū)動能力和快速通斷性能。變壓器的次級電感與發(fā)射器構(gòu)成諧振回路,提高了發(fā)射效率。通過電阻[R6]可以增加諧振回路的損耗加速余波結(jié)束。同時[R4、][R5、][P1]也構(gòu)成了余波抑制電路,由單片機控制,在發(fā)射完脈沖后[P1]導(dǎo)通,強制短路變壓器初級線圈,快速消耗掉諧振能量,達到消除余波的目的。電阻[R5]越小效果越好,但是如果控制失靈會導(dǎo)致短路燒壞[P1]或[N1,]所以在電路中設(shè)計了一個開關(guān),在軟件調(diào)試好之前斷開,避免燒毀三極管。
3.2 超聲波接收電路設(shè)計
超聲波接收電路是超聲波測距的核心,主要由美國TI公司的專用聲吶測距芯片TL852和超聲波接收換能器TCT40?16R構(gòu)成,如圖3所示。TL852可操作頻率范圍為20~90 kHz的超聲波,并且具有數(shù)字控制的可變增益和可變帶寬放大器,接口與TTL兼容。作為聲吶接收器BIAS引腳需要接一個電阻為68 kΩ的TL852提供內(nèi)部偏壓參考。LC引腳與VCC引腳間要并聯(lián)一個外部電感和電容以提供一個刻外部控制增益的放大器,不僅可以控制增益以補償信號隨距離的衰減,而且可以最大限度地抑制噪聲。通過向GCA、GCB 、GCC、GCD輸入0.1 μs的同步脈沖調(diào)節(jié)數(shù)字放大器的增益,輸入脈沖必須同步以消除由于無效的邏輯計數(shù)而導(dǎo)致的外部錯誤信號。
圖2 超聲波發(fā)射電路
圖3 超聲波接收電路
3.3 信號電平轉(zhuǎn)換電路設(shè)計
TL852組成的超聲波接收電路輸出信號不是標準的數(shù)字信號,因此需要設(shè)計電平轉(zhuǎn)換電路,如圖4所示??紤]到主控芯片的電源電壓為3.3 V,選擇TI公司的LMV358低電壓滿幅輸出運放轉(zhuǎn)換電平。LM358額定工作電壓為3~5 V,而且可以同時作為一個電壓跟隨器和一個電壓比較器使用。TL852的輸出電壓信號首先通過U4A進行電壓跟隨,然后輸入U4B的6引腳與5引腳進行比較,當(dāng)輸入電平高于5引腳的參考電平時,從7引腳輸出低電平,該電平可以作為單片機外部觸發(fā)信號產(chǎn)生中斷,實現(xiàn)對回波的計時。圖中二極管D1和D2主要是為比較其提供參考電壓1.2 V。
3.4 測溫電路設(shè)計
超聲波傳播速度受溫度的影響比較大,如果不進行補償,測量誤差將會比較大,為了提高整個系統(tǒng)的測量精度,設(shè)計了溫度補償電路。該系統(tǒng)采用DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20單線智能溫度傳感器,該傳感器具有體積小,接口方便,測量精度高等特點,而且與單片機連接時僅僅需要一條口線就可以實現(xiàn)雙向通信。DS18B20與傳統(tǒng)的熱敏電阻相比,能夠直接讀出溫度并且可以根據(jù)實際要求通過簡單地編程實現(xiàn)9~12位的數(shù)字讀取,能夠在很短的時間內(nèi)完成溫度數(shù)字量轉(zhuǎn)換。讀取溫度后利用公式(2)就可以算出溫度補償后的聲波速度,準確的算出障礙物的距離。
圖4 信號電平轉(zhuǎn)換電路設(shè)計
3.5 報警電路設(shè)計
報警電路主要由一個蜂鳴器和一個三極管9012構(gòu)成,如圖5所示。三極管主要是功率放大驅(qū)動蜂鳴器發(fā)聲,當(dāng)實際測量的障礙物距離小于設(shè)定的距離時,Buzzer端口輸出低電平,三極管導(dǎo)通,蜂鳴器發(fā)出預(yù)警信號。
圖5 報警電路的設(shè)計
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計主要包括主程序模塊、T1定時器計時模塊、外部輸入捕捉模塊、測溫程序模塊、距離計算模塊和報警模塊,具體工作流程圖如圖6所示。編寫系統(tǒng)程序時要考慮硬件的連接,同時還要設(shè)置存儲空間、寄存器和外部中斷引腳的使用。Send?Ctrl連接到單片機的RE4引腳,該引腳也是PWM復(fù)用引腳,主要用于產(chǎn)生40 MHz的方波脈沖驅(qū)動超聲波發(fā)射使能器產(chǎn)生超聲波。UltrIN連接到單片機的RD8輸入捕捉復(fù)用引腳,用于檢測回波信號產(chǎn)生中斷。
系統(tǒng)初始化之后啟動PWM模塊,連續(xù)發(fā)送7個40 MHz的脈沖,同時打開定時器T1開始計時。在開啟定時器的同時關(guān)閉外部中斷,這樣可以避免折射波的繞射,經(jīng)過延時1 ms后再打開外部中斷,等待回波。當(dāng)RD8引腳出現(xiàn)低電平將進入到輸入捕捉中斷子程序。在中斷程序中停止定時器T1計時,把定時器T1的值存儲到相應(yīng)的存儲器,同時設(shè)置回波成功接收標志。當(dāng)主程序檢測到回波接收標志就調(diào)用測溫程序,采集移動機器人所處環(huán)境溫度,計算出準確的聲速保存到相應(yīng)的單元。接著單片機調(diào)用距離計算程序計算,計算出障礙物離移動機器人的實際距離。當(dāng)該實際測得的距離小于預(yù)設(shè)的距離時,蜂鳴器就會響起報警。移動機器人會根據(jù)攝像頭拍到的障礙物方向轉(zhuǎn)彎,繞過障礙物。
圖6 主程序流程圖
5 實驗結(jié)果分析
為了驗證移動機器人的實際避障能力,在實驗室中人為的設(shè)置不同的障礙,在不同時刻每個障礙測量5次得到結(jié)果見表1。
表1 測距實驗結(jié)果 cm
[標準值\&測量值\&1\&2\&3\&4\&5\&平均值相對誤差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
從實驗數(shù)據(jù)可以知道移動機器人避障測距模塊在40~280 cm范圍內(nèi)測量相對誤差不超過5%,實際應(yīng)用中可以滿足應(yīng)用需求。當(dāng)測量距離小于20 cm和大于280 cm時測量誤差比較大。這是因為當(dāng)測量距離太短時,單片機來不及迅速處理測量結(jié)果,而且回波誤差大;當(dāng)測量距離太遠時,回波信號太微弱,混有大量噪音,影響了實際測距。
6 結(jié) 論
基于單片機dsPIC33FJ256MC的移動機器人超聲波測距避障系統(tǒng),結(jié)構(gòu)簡單、性能穩(wěn)定、操作方便??紤]了環(huán)境溫度對測距系統(tǒng)的影響,在硬件和軟件設(shè)計上都進行了必要的補償校正,因此在一定的障礙范圍內(nèi)具有比較高的測量精度,具有一定的實用價值。
參考文獻
[1] 常健,吳成東,李斌.移動機器人避障方法綜述[J].儀器儀表學(xué)報,2010,31(8):439?442.
[2] 蔣林,閆繼宏,朱延河,等.基于冗余超聲波信息融合的絕對定位研究[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2008,36(5):63?66.
[3] 張攀峰,王玉萍,張健,等.帶有溫度補償?shù)某暡y距儀的設(shè)計[J].計算機測量與控制,2012,20(6):1717?1719.
[4] 溫宗周,李福寧,夏自幫.高精度超聲波測距系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2012(11):89?91.
[5] 施超,陳愛華,楊本全,等.基于C8051F020的高精度超聲波測距系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(16):15?16.
[6] 齊婉玉,孟英紅,沈滿.用DS18B20進行溫度檢測的方法與技巧[J].儀器儀表學(xué)報,2003,24(4):235?236.
[7] 章小兵,宋愛國,唐鴻儒.基于單接收頭的超聲波多目標測距[J].傳感技術(shù)學(xué)報,2007,20(5):1167?1170.
[8] 陳娟,李長庚,寧新鮮.基于移動信標的無線傳感器網(wǎng)絡(luò)節(jié)點定位[J].傳感技術(shù)學(xué)報,2009,22(1):121?125.
[9] 沈進棋,諸靜,阮鋒.移動機器人多路超聲波數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn)[J].電子技術(shù),2003(11):6?9.
[10] 賈莉娜.高精度的超聲波測距系統(tǒng)在移動機器人導(dǎo)航方面的應(yīng)用[J].計量與測試技術(shù),2004(9):23?25.
[標準值\&測量值\&1\&2\&3\&4\&5\&平均值相對誤差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
從實驗數(shù)據(jù)可以知道移動機器人避障測距模塊在40~280 cm范圍內(nèi)測量相對誤差不超過5%,實際應(yīng)用中可以滿足應(yīng)用需求。當(dāng)測量距離小于20 cm和大于280 cm時測量誤差比較大。這是因為當(dāng)測量距離太短時,單片機來不及迅速處理測量結(jié)果,而且回波誤差大;當(dāng)測量距離太遠時,回波信號太微弱,混有大量噪音,影響了實際測距。
6 結(jié) 論
基于單片機dsPIC33FJ256MC的移動機器人超聲波測距避障系統(tǒng),結(jié)構(gòu)簡單、性能穩(wěn)定、操作方便??紤]了環(huán)境溫度對測距系統(tǒng)的影響,在硬件和軟件設(shè)計上都進行了必要的補償校正,因此在一定的障礙范圍內(nèi)具有比較高的測量精度,具有一定的實用價值。
參考文獻
[1] 常健,吳成東,李斌.移動機器人避障方法綜述[J].儀器儀表學(xué)報,2010,31(8):439?442.
[2] 蔣林,閆繼宏,朱延河,等.基于冗余超聲波信息融合的絕對定位研究[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2008,36(5):63?66.
[3] 張攀峰,王玉萍,張健,等.帶有溫度補償?shù)某暡y距儀的設(shè)計[J].計算機測量與控制,2012,20(6):1717?1719.
[4] 溫宗周,李福寧,夏自幫.高精度超聲波測距系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2012(11):89?91.
[5] 施超,陳愛華,楊本全,等.基于C8051F020的高精度超聲波測距系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(16):15?16.
[6] 齊婉玉,孟英紅,沈滿.用DS18B20進行溫度檢測的方法與技巧[J].儀器儀表學(xué)報,2003,24(4):235?236.
[7] 章小兵,宋愛國,唐鴻儒.基于單接收頭的超聲波多目標測距[J].傳感技術(shù)學(xué)報,2007,20(5):1167?1170.
[8] 陳娟,李長庚,寧新鮮.基于移動信標的無線傳感器網(wǎng)絡(luò)節(jié)點定位[J].傳感技術(shù)學(xué)報,2009,22(1):121?125.
[9] 沈進棋,諸靜,阮鋒.移動機器人多路超聲波數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn)[J].電子技術(shù),2003(11):6?9.
[10] 賈莉娜.高精度的超聲波測距系統(tǒng)在移動機器人導(dǎo)航方面的應(yīng)用[J].計量與測試技術(shù),2004(9):23?25.
[標準值\&測量值\&1\&2\&3\&4\&5\&平均值相對誤差 /%\&20\&22\&19\&18\&21\&23\&10.3\&80\&78\&81\&80\&83\&79\&0.25\&100\&99\&101\&102\&98\&99\&0.2\&180\&183\&188\&186\&182\&179\&2\&240\&238\&248\&252\&246\&256\&3.3\&300\&330\&312\&294\&334\&328\&6.5\&400\&453\&483\&473\&458\&486\&17.7\&]
從實驗數(shù)據(jù)可以知道移動機器人避障測距模塊在40~280 cm范圍內(nèi)測量相對誤差不超過5%,實際應(yīng)用中可以滿足應(yīng)用需求。當(dāng)測量距離小于20 cm和大于280 cm時測量誤差比較大。這是因為當(dāng)測量距離太短時,單片機來不及迅速處理測量結(jié)果,而且回波誤差大;當(dāng)測量距離太遠時,回波信號太微弱,混有大量噪音,影響了實際測距。
6 結(jié) 論
基于單片機dsPIC33FJ256MC的移動機器人超聲波測距避障系統(tǒng),結(jié)構(gòu)簡單、性能穩(wěn)定、操作方便??紤]了環(huán)境溫度對測距系統(tǒng)的影響,在硬件和軟件設(shè)計上都進行了必要的補償校正,因此在一定的障礙范圍內(nèi)具有比較高的測量精度,具有一定的實用價值。
參考文獻
[1] 常健,吳成東,李斌.移動機器人避障方法綜述[J].儀器儀表學(xué)報,2010,31(8):439?442.
[2] 蔣林,閆繼宏,朱延河,等.基于冗余超聲波信息融合的絕對定位研究[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2008,36(5):63?66.
[3] 張攀峰,王玉萍,張健,等.帶有溫度補償?shù)某暡y距儀的設(shè)計[J].計算機測量與控制,2012,20(6):1717?1719.
[4] 溫宗周,李福寧,夏自幫.高精度超聲波測距系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2012(11):89?91.
[5] 施超,陳愛華,楊本全,等.基于C8051F020的高精度超聲波測距系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(16):15?16.
[6] 齊婉玉,孟英紅,沈滿.用DS18B20進行溫度檢測的方法與技巧[J].儀器儀表學(xué)報,2003,24(4):235?236.
[7] 章小兵,宋愛國,唐鴻儒.基于單接收頭的超聲波多目標測距[J].傳感技術(shù)學(xué)報,2007,20(5):1167?1170.
[8] 陳娟,李長庚,寧新鮮.基于移動信標的無線傳感器網(wǎng)絡(luò)節(jié)點定位[J].傳感技術(shù)學(xué)報,2009,22(1):121?125.
[9] 沈進棋,諸靜,阮鋒.移動機器人多路超聲波數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn)[J].電子技術(shù),2003(11):6?9.
[10] 賈莉娜.高精度的超聲波測距系統(tǒng)在移動機器人導(dǎo)航方面的應(yīng)用[J].計量與測試技術(shù),2004(9):23?25.