李成成 張曉玲
(江蘇理工學院機械工程學院 常州 213000)
智能小車[1]作為一種智能化的交通工具[2],綜合了車輛工程、測控工程、人工智能等多個學科領域的理論技術,具有良好的民事和軍用[3]應用前景,尤其是固定場地搬運車和自動料車等技術領域。
循跡避障智能小車有多種實現方法,基本依靠各種傳感器[4]獲取外界環境信息加以處理。文獻[5]設計了多超聲波避障系統,具有較高的避障準度,但適應環境相對簡單。文獻[6]采用多傳感器,其優點是交叉避障結合,能夠較大范圍的避障且提高了避障的效率。而文獻[7]則采用單紅外和雙超聲波避障方式,避障更加準確。文獻[8]用3個紅外傳感器多角度排列,避障方便,計算簡單。文獻[9]采用磁傳感器陣列系統來尋跡和循跡,但容易被引導線影響。文獻[10~11]均采用紅外傳感器自主尋/循跡,一般采用8對紅外反射式傳感器作為路徑識別模塊。文獻[12]采用激光對管采集路況,實現尋跡。這些智能小車[13]只能簡單地尋找道路中間的黑線以及簡單繞離障礙物,具有很多局限性。文獻[14]利用CCD攝像頭采集路徑信息,能有效地跟蹤引導線但是計算量大。在路徑規劃方面,采用較多的是蟻群算法[15]、人工勢場法與其他算法結合[16]等。在某些復雜的環境中[17~20]例如不規則障礙物的路徑規劃,但此設計環境特定且簡單,將不采用這些算法。
本設計為在循跡功能基礎上智能小車規劃了新的避障路徑,即半圓路徑,利用避障功能,通過控制車輪轉向角度與前進距離,使小車遇到障礙物后,執行動作讓小車完成近似半圓的軌跡。同時利用擬合多項式使小車實現不同距離的避障路徑。
設計系統主要包括Arduino控制板,電機驅動模塊,避障模塊,紅外循跡模塊。系統框圖如圖1所示。

圖1 系統功能框圖
小車通過直流電機來控制動作,采用L293D驅動芯片驅動,避障模塊由HC-SR04超聲波組成,循線模塊由3路紅外集成傳感器構成。
將小車分為感知部分,智能控制部分和動作執行部分,如圖2所示。

圖2 小車軟件組成部分
小車感知部分檢測路況,小車控制部分控制傳感器采集數據,然后控制器控制車輪實現動作。循跡中同時檢測障礙物,根據障礙物距離的遠近判斷執行不同動作,分別實現避障或者循跡功能。
首先小車要實現循跡與避障功能。在特定環境中,當小車脫離循跡路線后,通過這兩個功能的結合與半圓形避障路線的設計,能夠使小車完美避開障礙物后再次檢測到黑色路線,繼續循跡。在小車硬件功能很少的情況下使小車按照理想的路線循跡避障是研究的重點和難點。
為實現設計中小車的功能,要為小車規劃一條避障路徑。規劃避障路徑如圖3所示。
以障礙物為圓心規劃一個半圓,將此半圓平均分成十份,小車從位置①到達位置⑦,需要依次經過若干位置點,最后才能到達終點。且狀態要與起始狀態保持一致。將位置①到位置③部分分解出來,如圖4所示。

圖3 路徑規劃示意圖

圖4 分解示意圖
已知角度值,根據余弦定理,前進距離S很容易求出,公式如下:

具體方法:
第一步:讓小車從位置①到達位置②,動作如下:1)第一次轉向,右轉81°;2)前進距離S。
第二步:讓小車位置②到達位置③,動作如下:1)第二次轉向,左轉18°;2)前進距離s。
第三步:重復第二步動作N次。
第四步:重復第一步一次。
第五步:結束。
根據圖4所示,假設小車共執行轉向n次,第二步動作執行N次,需要求出N。公式可表達為

小車若要最終保持前進方向,根據前進方向最終不變原則,可很容易計算出N=9,n=11。
只需知道s與θ,便可使小車完成規劃的路徑。假設動作時間公式:

式中:t1為前進s路程所需要的動作延時時間,f(s)為數據擬合的方程;t2為轉角θ所需要的動作延時時間,g(θ)為數據擬合的方程。
上述公式由數據擬合求出。擬合的結果如圖5、圖6所示。

圖5 路程時間擬合曲線

圖6 角度時間擬合曲線
擬合公式如下:

通過圖5和圖6可知,擬合出的數據與觀察值基本吻合,且誤差很小。但是也不能忽略誤差的累加。
算法的核心在于擬合出時間t與路程s的多項式,以及t與角度θ的多項式。經過多次數據采集,得到的數據如表1、表2所示。
表1中數據是經過執行小車右轉不同時間得到的角度值,然后取平均值。
表2是經過小車執行前進動作的不同時間得到的路程s數據,最后取平均值。
實驗結果如圖7所示。

表1 時間-角度對應數據

表2 時間-路程對應數據
由圖7可知,圖(a)~(f)為小車的循跡過程,小車始終沿引導線前進。圖(g)~(p)與實驗一過程相同,結果小車依然在引導線上,可以繼續循跡與避障。

圖7 實驗結果二
由于車輪誤差,前進時會有1°-2°的右偏,若是n次積累,不可忽略。誤差補償方法1:在每次動作執行后加上一個2°的左轉動作。方法2:在最后一步動作后將累計誤差彌補,即將右轉動作減少18°的延時時間。
本設計研究的循跡避障小車,在基本的先循跡后避障功能基礎上,提出了一種避障的新策略,通過規劃半圓路徑,再經過小車動作不斷調整執行,實現了小車能夠基本完成規劃的路徑。經過循線與避障算法的融合,運用數據擬合出小車轉角和路程與時間的關系,由擬合多項式計算出小車動作時間,提高了小車系統的穩定性。研究內容可用于倉庫貨物搬運或者汽車自主避障領域。