李成成 張曉玲
(江蘇理工學(xué)院機械工程學(xué)院 常州 213000)
智能小車[1]作為一種智能化的交通工具[2],綜合了車輛工程、測控工程、人工智能等多個學(xué)科領(lǐng)域的理論技術(shù),具有良好的民事和軍用[3]應(yīng)用前景,尤其是固定場地搬運車和自動料車等技術(shù)領(lǐng)域。
循跡避障智能小車有多種實現(xiàn)方法,基本依靠各種傳感器[4]獲取外界環(huán)境信息加以處理。文獻[5]設(shè)計了多超聲波避障系統(tǒng),具有較高的避障準度,但適應(yīng)環(huán)境相對簡單。文獻[6]采用多傳感器,其優(yōu)點是交叉避障結(jié)合,能夠較大范圍的避障且提高了避障的效率。而文獻[7]則采用單紅外和雙超聲波避障方式,避障更加準確。文獻[8]用3個紅外傳感器多角度排列,避障方便,計算簡單。文獻[9]采用磁傳感器陣列系統(tǒng)來尋跡和循跡,但容易被引導(dǎo)線影響。文獻[10~11]均采用紅外傳感器自主尋/循跡,一般采用8對紅外反射式傳感器作為路徑識別模塊。文獻[12]采用激光對管采集路況,實現(xiàn)尋跡。這些智能小車[13]只能簡單地尋找道路中間的黑線以及簡單繞離障礙物,具有很多局限性。文獻[14]利用CCD攝像頭采集路徑信息,能有效地跟蹤引導(dǎo)線但是計算量大。在路徑規(guī)劃方面,采用較多的是蟻群算法[15]、人工勢場法與其他算法結(jié)合[16]等。在某些復(fù)雜的環(huán)境中[17~20]例如不規(guī)則障礙物的路徑規(guī)劃,但此設(shè)計環(huán)境特定且簡單,將不采用這些算法。
本設(shè)計為在循跡功能基礎(chǔ)上智能小車規(guī)劃了新的避障路徑,即半圓路徑,利用避障功能,通過控制車輪轉(zhuǎn)向角度與前進距離,使小車遇到障礙物后,執(zhí)行動作讓小車完成近似半圓的軌跡。同時利用擬合多項式使小車實現(xiàn)不同距離的避障路徑。
設(shè)計系統(tǒng)主要包括Arduino控制板,電機驅(qū)動模塊,避障模塊,紅外循跡模塊。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)功能框圖
小車通過直流電機來控制動作,采用L293D驅(qū)動芯片驅(qū)動,避障模塊由HC-SR04超聲波組成,循線模塊由3路紅外集成傳感器構(gòu)成。
將小車分為感知部分,智能控制部分和動作執(zhí)行部分,如圖2所示。
圖2 小車軟件組成部分
小車感知部分檢測路況,小車控制部分控制傳感器采集數(shù)據(jù),然后控制器控制車輪實現(xiàn)動作。循跡中同時檢測障礙物,根據(jù)障礙物距離的遠近判斷執(zhí)行不同動作,分別實現(xiàn)避障或者循跡功能。
首先小車要實現(xiàn)循跡與避障功能。在特定環(huán)境中,當(dāng)小車脫離循跡路線后,通過這兩個功能的結(jié)合與半圓形避障路線的設(shè)計,能夠使小車完美避開障礙物后再次檢測到黑色路線,繼續(xù)循跡。在小車硬件功能很少的情況下使小車按照理想的路線循跡避障是研究的重點和難點。
為實現(xiàn)設(shè)計中小車的功能,要為小車規(guī)劃一條避障路徑。規(guī)劃避障路徑如圖3所示。
以障礙物為圓心規(guī)劃一個半圓,將此半圓平均分成十份,小車從位置①到達位置⑦,需要依次經(jīng)過若干位置點,最后才能到達終點。且狀態(tài)要與起始狀態(tài)保持一致。將位置①到位置③部分分解出來,如圖4所示。
圖3 路徑規(guī)劃示意圖
圖4 分解示意圖
已知角度值,根據(jù)余弦定理,前進距離S很容易求出,公式如下:
具體方法:
第一步:讓小車從位置①到達位置②,動作如下:1)第一次轉(zhuǎn)向,右轉(zhuǎn)81°;2)前進距離S。
第二步:讓小車位置②到達位置③,動作如下:1)第二次轉(zhuǎn)向,左轉(zhuǎn)18°;2)前進距離s。
第三步:重復(fù)第二步動作N次。
第四步:重復(fù)第一步一次。
第五步:結(jié)束。
根據(jù)圖4所示,假設(shè)小車共執(zhí)行轉(zhuǎn)向n次,第二步動作執(zhí)行N次,需要求出N。公式可表達為
小車若要最終保持前進方向,根據(jù)前進方向最終不變原則,可很容易計算出N=9,n=11。
只需知道s與θ,便可使小車完成規(guī)劃的路徑。假設(shè)動作時間公式:
式中:t1為前進s路程所需要的動作延時時間,f(s)為數(shù)據(jù)擬合的方程;t2為轉(zhuǎn)角θ所需要的動作延時時間,g(θ)為數(shù)據(jù)擬合的方程。
上述公式由數(shù)據(jù)擬合求出。擬合的結(jié)果如圖5、圖6所示。
圖5 路程時間擬合曲線
圖6 角度時間擬合曲線
擬合公式如下:
通過圖5和圖6可知,擬合出的數(shù)據(jù)與觀察值基本吻合,且誤差很小。但是也不能忽略誤差的累加。
算法的核心在于擬合出時間t與路程s的多項式,以及t與角度θ的多項式。經(jīng)過多次數(shù)據(jù)采集,得到的數(shù)據(jù)如表1、表2所示。
表1中數(shù)據(jù)是經(jīng)過執(zhí)行小車右轉(zhuǎn)不同時間得到的角度值,然后取平均值。
表2是經(jīng)過小車執(zhí)行前進動作的不同時間得到的路程s數(shù)據(jù),最后取平均值。
實驗結(jié)果如圖7所示。
表1 時間-角度對應(yīng)數(shù)據(jù)
表2 時間-路程對應(yīng)數(shù)據(jù)
由圖7可知,圖(a)~(f)為小車的循跡過程,小車始終沿引導(dǎo)線前進。圖(g)~(p)與實驗一過程相同,結(jié)果小車依然在引導(dǎo)線上,可以繼續(xù)循跡與避障。
圖7 實驗結(jié)果二
由于車輪誤差,前進時會有1°-2°的右偏,若是n次積累,不可忽略。誤差補償方法1:在每次動作執(zhí)行后加上一個2°的左轉(zhuǎn)動作。方法2:在最后一步動作后將累計誤差彌補,即將右轉(zhuǎn)動作減少18°的延時時間。
本設(shè)計研究的循跡避障小車,在基本的先循跡后避障功能基礎(chǔ)上,提出了一種避障的新策略,通過規(guī)劃半圓路徑,再經(jīng)過小車動作不斷調(diào)整執(zhí)行,實現(xiàn)了小車能夠基本完成規(guī)劃的路徑。經(jīng)過循線與避障算法的融合,運用數(shù)據(jù)擬合出小車轉(zhuǎn)角和路程與時間的關(guān)系,由擬合多項式計算出小車動作時間,提高了小車系統(tǒng)的穩(wěn)定性。研究內(nèi)容可用于倉庫貨物搬運或者汽車自主避障領(lǐng)域。