彭振華+梁凱甲+曾麗
摘要:本文對(duì)自行小車的避障系統(tǒng)進(jìn)行了研究,主要包括環(huán)境感知模塊,中央處理模塊和控制執(zhí)行模塊??刂扑惴ㄒ肴斯?shì)場(chǎng)法和最短切線路徑法,將小車、障礙物、目標(biāo)點(diǎn)簡(jiǎn)化為一點(diǎn),在行駛過程中通過對(duì)障礙物距離及相對(duì)位置的探測(cè),來實(shí)現(xiàn)局部路徑規(guī)劃,得出相應(yīng)的避障路徑,使小車順利通過障礙物。通過對(duì)避障行為的研究,無論是軟硬件還是算法,對(duì)自行小車的避障都有積極作用,具有一定的現(xiàn)實(shí)意義。
關(guān)鍵詞:避障;路徑規(guī)劃;最短切線路徑法;傳感器
中圖分類號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0257-04
Abstract: The self car obstacle avoidance system is studied,including environmental perception module, central processing module and control module. Control algorithm is introduced artificial potential field and the method of the shortest tangent path, the car, obstacles, simplify the target point is that in the process of moving through the obstacle distance and the relative position of the probe, to achieve local path planning, draw the appropriate obstacle avoidance path, so that the car passed the obstacle. Based on the research of the obstacle avoidance behavior, both hardware and software, or algorithms, self-avoidance car has a positive effect on, has certain practical significance.
Key words:obstacle avoidance;the tangent to the shortest path method;path planning; sensor
1引言
避障問題是目前自行小車運(yùn)動(dòng)的關(guān)鍵技術(shù)之一。但是在自行小車的發(fā)展過程中,因自行小車需要在不同的環(huán)境運(yùn)行,常面臨著這樣的問題:當(dāng)遇到障礙物時(shí),如何根據(jù)環(huán)境和障礙物的情況選擇最佳路徑。
目前,計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)[1-2]以及傳感器技術(shù)[3]的發(fā)展給人們從重復(fù)簡(jiǎn)單或危險(xiǎn)的勞動(dòng)中解放出來提供了可能。因此,在工廠、倉庫中常有一些用于物流的自行小車,生活中也有一些擁有自主導(dǎo)航能力的車輛。但是在自行小車的發(fā)展過程中,因自行小車需要在不同的環(huán)境運(yùn)行,常面臨著這樣的問題:當(dāng)遇到障礙物時(shí),如何根據(jù)環(huán)境和障礙物的情況選擇最佳路徑。自行小車避障問題是目前自行小車運(yùn)動(dòng)的關(guān)鍵技術(shù)之一。對(duì)避障技術(shù)的研究有很大的現(xiàn)實(shí)意義。這項(xiàng)技術(shù)可以帶來交通運(yùn)輸業(yè)的巨大改革,也為車輛的自主導(dǎo)航能力的實(shí)現(xiàn)和無人自動(dòng)駕駛車輛的實(shí)現(xiàn)提供了重要技術(shù)[4-7]。
本文就是通過對(duì)自行小車的避障系統(tǒng)的研究,制作一個(gè)可以避障運(yùn)行的自行小車,提出一個(gè)切實(shí)可行的路徑規(guī)劃算法。主要工作有:
1)研究傳感器的類型和工作原理,通過比較和研究,選擇理想的傳感器用于自行小車的避障系統(tǒng),進(jìn)一步提高小車的避障能力。
2)自行小車在單片機(jī)的控制下運(yùn)動(dòng),通過超聲波傳感器和紅外傳感器來探測(cè)周圍環(huán)境的情況。通過小車上的傳感器來探測(cè)小車和目標(biāo)終點(diǎn)之間是否存在障礙物,如果存在,則通過相應(yīng)的算法算出小車和障礙物之間的距離,在進(jìn)行信息處理后,通過控制自行小車的執(zhí)行機(jī)構(gòu)(電機(jī))做出調(diào)整進(jìn)行避障。
3)提出一種新的路徑規(guī)劃算法,可以縮短自行小車的運(yùn)動(dòng)路徑,使小車以最短的路徑無碰撞地到達(dá)終點(diǎn)。
2方案概述
本文的主要研究?jī)?nèi)容為自行小車的避障系統(tǒng)實(shí)現(xiàn)和對(duì)路徑規(guī)劃算法的研究[8]。
圖1是自行小車的硬件框圖,其中自行小車的完成主要是小車平臺(tái)的組裝,傳感器系統(tǒng)和單片機(jī)系統(tǒng)的搭建。傳感器系統(tǒng)主要是通過紅外傳感器和超聲波傳感器對(duì)小車周圍環(huán)境的進(jìn)行感知,獲得避障所需要的信息。單片機(jī)系統(tǒng)主要是將傳感器系統(tǒng)獲得的數(shù)據(jù)通過一定的避障算法進(jìn)行處理,建立外部環(huán)境模型,再根據(jù)目的地算出最優(yōu)路徑。因此,以自行小車平臺(tái)作為載體,搭載相應(yīng)的避障系統(tǒng)并在避障算法的控制下實(shí)現(xiàn)避障,到達(dá)目的地。
3系統(tǒng)設(shè)計(jì)
3.1硬件設(shè)計(jì)
3.1.1單片機(jī)最小系統(tǒng)
Arduino Mega是一塊以ATmega1280為核心的微控制器開發(fā)板,由于具有bootloader,因此能夠通過USB直接下載程序而不需經(jīng)過其他外部燒寫器。ATmega1280是高性能、低功耗的AVR8位微處理器,具有先進(jìn)的RISC 結(jié)構(gòu),具有86個(gè)可編程I/O口。其中兩個(gè)具有獨(dú)立的預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器,四個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16 位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立晶振的實(shí)時(shí)時(shí)鐘計(jì)數(shù)器,四路8位PWM頻道,12路分辨率可編程的PWM頻道輸出,四個(gè)可編程的串行USART,具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器等[9-12]。
3.1.2紅外傳感電路
紅外反射光強(qiáng)法的測(cè)量原理是將發(fā)射信號(hào)送到紅外二極管發(fā)射,當(dāng)有障礙物時(shí),光敏管可接收到反射回來的紅外信號(hào),然后把有障礙物的信息傳給單片機(jī)。
紅外傳感器電路如圖2所示,接收頭在接收到反射光后,其阻值發(fā)生變化,通過運(yùn)放的比較,當(dāng)達(dá)到設(shè)定的閾值后,輸出低電壓,觸發(fā)單片機(jī)中斷。其中R為可調(diào)電阻,用來調(diào)節(jié)傳感器的靈敏度。
3.1.3超聲波傳感器
本系統(tǒng)中采用DYP-ME007型超聲波傳感器,它是一款具有溫度補(bǔ)償?shù)亩喙δ艹暡▊鞲衅?,具有PWM脈寬輸出模式,可以使用單片機(jī)直接讀取脈沖;同時(shí)具有溫度補(bǔ)償電路提高測(cè)量的精度,同時(shí)可以輸出分辨率0.1攝氏度的環(huán)境溫度數(shù)據(jù)[13-14]。
3.1.4舵機(jī)驅(qū)動(dòng)
本系統(tǒng)中由于環(huán)境感知需要,安裝有帶動(dòng)超聲波傳感器掃描的舵機(jī)。其中數(shù)字舵機(jī)的轉(zhuǎn)動(dòng)位置是靠控制PWM(脈沖寬度調(diào)制)信號(hào)的占空比來實(shí)現(xiàn)的,標(biāo)準(zhǔn)PWM信號(hào)的周期固定為20ms,占空比0.5~2.5ms 的正脈沖寬度和舵機(jī)的轉(zhuǎn)角-90°~90°相對(duì)應(yīng)。
在本系統(tǒng)中,利用舵機(jī)帶動(dòng)距離傳感器轉(zhuǎn)動(dòng)掃描,可以獲得前方一個(gè)扇面的障礙物分布情況,不僅方便路徑規(guī)劃尋找最佳線路,同時(shí)節(jié)約了大量傳感器。
3.1.5電源系統(tǒng)
小車的供電系統(tǒng)分為三個(gè)部分,其中單片機(jī)需要5V電源,舵機(jī)需要6V電源,而驅(qū)動(dòng)電機(jī)需要9V電源,因此小車用9V電池組供電,首先將電源連接在底板上,然后將其分成三路,其中一路直接給L298N供電,用來驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn),一路利用7805穩(wěn)壓芯片輸出5V為單片機(jī)供電,另一路通過7806穩(wěn)壓芯片來獲得6V電源為舵機(jī)供電。最后在各部分兩端并聯(lián)電容和串聯(lián)電感等濾波電路將各模塊間的干擾盡量減小,提高系統(tǒng)穩(wěn)定性。
3.2算法研究
3.2.1傳統(tǒng)人工勢(shì)場(chǎng)法
人工勢(shì)場(chǎng)法[15-16]是由Khatib于1986年提出的。其基本思想是將小車在工作空間中的運(yùn)動(dòng)看成是引力場(chǎng)中的運(yùn)動(dòng),目標(biāo)點(diǎn)對(duì)小車產(chǎn)生引力,而障礙物對(duì)小車產(chǎn)生斥力。按照這種思路,對(duì)小車所處的離散環(huán)境中的每一點(diǎn)賦予一個(gè)勢(shì)場(chǎng)值F,其中F等于目標(biāo)點(diǎn)的引力和所有障礙物的斥力的疊加,在合力的作用下,小車將從起始點(diǎn)沿著勢(shì)場(chǎng)下降最快的方向運(yùn)動(dòng),直至目標(biāo)點(diǎn)。
人工勢(shì)場(chǎng)法的原理比較簡(jiǎn)單,而且具有計(jì)算量小,實(shí)時(shí)性好的特點(diǎn),但存在局部最優(yōu)問題。因而擴(kuò)展基本算法,設(shè)計(jì)合理的引力場(chǎng),從而防止陷入局部最優(yōu)化是應(yīng)用該方法的重要一環(huán)。
3.2.2最短切線路徑算法
(1)首先判斷小車和目標(biāo)終點(diǎn)之間是否存在障礙物。如圖5所示,以T代表目標(biāo)終點(diǎn),其坐標(biāo)為(xT,yT),以R、O分別代表小車及障礙物,坐標(biāo)為(xR,yR)、(xO,yO)。其中碰撞距離為小車碰撞半徑和障礙物碰撞半徑的和,即RO+RD。
3.3軟件設(shè)計(jì)
小車軟件設(shè)計(jì)的總體思想是:通過單片機(jī)對(duì)超聲波模塊、紅外模塊和舵機(jī)等功能模塊的信號(hào)采樣處理,配合對(duì)電機(jī)驅(qū)動(dòng)模塊的編程實(shí)現(xiàn)小車自動(dòng)避障循跡,并將各模塊的編程以函數(shù)形式合理封裝,供以后調(diào)用。
圖6顯示的為程序主流程,主流程首先對(duì)各種模塊進(jìn)行初始化,然后通過小車上的傳感器模塊確定目標(biāo)終點(diǎn)的方向,再利用舵機(jī)帶動(dòng)超聲波傳感器對(duì)前方各個(gè)方向進(jìn)行探測(cè),確定前方每個(gè)角度是否有障礙物及與障礙物的距離。根據(jù)獲得的信息,用人工勢(shì)場(chǎng)法和最短切線路徑算法進(jìn)行處理,選擇最優(yōu)方向后,控制小車向其運(yùn)動(dòng)。在運(yùn)動(dòng)途中,系統(tǒng)會(huì)實(shí)時(shí)采集信息,對(duì)小車采取相應(yīng)的控制,使小車到達(dá)目標(biāo)終點(diǎn)。
4實(shí)際測(cè)試與分析
4.1集成測(cè)試
在完成所有的子系統(tǒng)的測(cè)試安裝工作之后對(duì)整個(gè)系統(tǒng)進(jìn)行集成測(cè)試。
在整個(gè)實(shí)驗(yàn)的過程中,我們是讓障礙物和目標(biāo)終點(diǎn)的位置靜止,其中四個(gè)大紙箱為障礙物,遠(yuǎn)處的塑料盒為目標(biāo)終點(diǎn),障礙物分布在小車與目標(biāo)終點(diǎn)之間的空間里,小車在運(yùn)動(dòng)中,通過傳感器測(cè)得數(shù)據(jù),再進(jìn)行推理計(jì)算。
4.2系統(tǒng)的性能分析
本系統(tǒng)所采用的是一種新的幾何路徑規(guī)劃算法,主要是通過應(yīng)用切線最短的理論算法來改進(jìn)智能小車的運(yùn)動(dòng)過程,并通過實(shí)驗(yàn)來進(jìn)行了論證。
在剛才的試驗(yàn)中,小車有A、B、C、D四條路徑可供選擇,如圖7,在初始化完成后,小車首先確定有四條路徑可以通過,根據(jù)最短切線路徑算法,由于A、D兩條路徑都屬于路徑較長(zhǎng)的切線,因此小車排除A、D兩條路徑,然后根據(jù)人工勢(shì)場(chǎng)法,選擇障礙物間距較大即較容易通過的B路徑。
實(shí)驗(yàn)證明此系統(tǒng)可縮短了小車的運(yùn)動(dòng)路徑,并進(jìn)行了順利避障。這種算法可以應(yīng)用于各種運(yùn)動(dòng)小車,比如足球小車、搬運(yùn)小車等。而且應(yīng)用在現(xiàn)實(shí)生活中可以有效地減少燃料的損耗,簡(jiǎn)單易行,使用方便。
5總結(jié)
本文設(shè)計(jì)旨在提高自行小車的避障能力,進(jìn)行了環(huán)境感知方式和路徑規(guī)劃算法的研究。完成了環(huán)境感知模塊的設(shè)計(jì)制作;算法結(jié)合了人工勢(shì)場(chǎng)法和最短切線路徑算法,通過自行小車環(huán)境感知模塊獲得的障礙物分布信息,經(jīng)過運(yùn)算比較選擇合適的路徑避開障礙物。在真實(shí)環(huán)境中對(duì)障礙物進(jìn)行避障以檢驗(yàn)系統(tǒng)性能,實(shí)驗(yàn)結(jié)果較為滿意。
自行小車采用復(fù)雜的應(yīng)用技術(shù),涵蓋了計(jì)算機(jī)、電子、機(jī)械、傳感器、控制和系統(tǒng)等所有現(xiàn)代工程專業(yè)的內(nèi)容。在民用方面自行小車的應(yīng)用代替?zhèn)鹘y(tǒng)的人工操縱的方式,大大促進(jìn)了企業(yè)的技術(shù)進(jìn)步,改善工作條件和環(huán)境,提高自動(dòng)化生產(chǎn)水平,有效的釋放勞動(dòng)生產(chǎn)力,減輕工人的勞動(dòng)強(qiáng)度,縮減人員配置,優(yōu)化生產(chǎn)結(jié)構(gòu)節(jié)約人力、物力和財(cái)力。在軍用方面由于大量高科技武器裝備的應(yīng)用以及戰(zhàn)場(chǎng)上的運(yùn)送補(bǔ)給的危險(xiǎn)性給軍隊(duì)運(yùn)輸提出了更高的要求,自行小車的出現(xiàn)為保證補(bǔ)給運(yùn)輸?shù)耐瑫r(shí)保證人員安全給出了一個(gè)較好的解決方案。
參考文獻(xiàn):
[1] 蒙建波,梁錫昌. 機(jī)械智能學(xué)[M].重慶: 重慶出版社,1997:50-52.
[2] 王耀南.智能控制系統(tǒng)[M].長(zhǎng)沙,湖南大學(xué)出版社,1996.
[3] 陳懂,劉榮,金世俊. 智能小車的多傳感器數(shù)據(jù)融合[J].現(xiàn)代電子技術(shù),2005(6):3.
[4] 王燕,智能小車的避障研究[J].控制理論與控制工程,2007(1).
[5] 范紅,智能小車路徑規(guī)劃及避障的研究[J].控制理論與控制工程,2003(1)
[6] 盧韶芳,劉大維.自主式移動(dòng)小車導(dǎo)航研究現(xiàn)狀及相關(guān)技術(shù)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2002,33(2):112-116.
[7] 李小海,程君實(shí),陳佳品.自主式微小型移動(dòng)小車的自動(dòng)避障行為研究[J].小車,2001,23(3):234-237.
[8] 倪小雷,佳俊.自主移動(dòng)小車混合式體系結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2006,14(11):26-28.
[9] 張毅剛.單片機(jī)原理及應(yīng)用[M].高等教育出版社,2003.
[10] 王浩.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].湖南大學(xué)出版社,2005.
[11] 汪道輝.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].電子工業(yè)出版社,2006.
[12] 王浩.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].湖南大學(xué)出版社,2005.
[13] 曾德懷,謝存禧.行走小車的超聲波測(cè)距系統(tǒng)的研究[J].機(jī)械科學(xué)與技,2004,23(5):613-616.
[14] 孟慶浩.用于移動(dòng)小車避障的超聲測(cè)距系統(tǒng)軟硬件設(shè)計(jì)[J].河北工業(yè)大學(xué)學(xué)報(bào),1997.26(1):86-89
[15] 易良.基于激勵(lì)學(xué)習(xí)和人工勢(shì)場(chǎng)法的小車路徑規(guī)劃[J].計(jì)算機(jī)應(yīng)用技術(shù),2007(3).
[16] 張樂杰.基于融合和人工勢(shì)場(chǎng)的自主移動(dòng)小車路徑規(guī)劃研究[J].山東大學(xué)學(xué)報(bào):工學(xué)版,2005,35(3):28-31.
[17] 孟祥甫.移動(dòng)小車路徑規(guī)劃[J].控制理論與控制工程,2008(3).
[18] 盧曉軍.一種基于自由空間法的虛擬人行走規(guī)劃方法[J].計(jì)算機(jī)工程與科學(xué),2005(8).
[19] 黃素平,何清華.一種移動(dòng)小車路徑規(guī)劃方法[J].機(jī)床與液壓,2004(5):45-46.
[20] 姚佳,智能小車的避障及路徑規(guī)劃[J].測(cè)試計(jì)量技術(shù)與儀器,2005(3).