常文凱
(華北電力大學 自動化系,保定 071000)
在控制智能車的過程中,精確地識別出中心黑線的位置和道路狀況始終是各種算法的最基礎部分。光電組智能車常采用采集數字信號的方法。該方法直接把固定位置單個傳感器所“看”到的黑白情況反映給單片機,識別電路用硬件電路搭接,電路簡單。但是遇到跑道瑕疵、光線明暗不均的地方容易錯誤判斷。此外,用這種方法判斷的黑線位置是不連續的,容易出現跳躍性打舵機,使系統不穩定。
文獻[1]中利用中斷技術每個1ms 采集一次信號,采集10次求平均值的方法可增強抗干擾能力。文獻[2]中提出采集模擬量,結合環境動態設置閾值的方法受光照影響較大,并且增加了許多額外的電路。文獻[3]提出擬合單個傳感器特性曲線的方法同樣對環境的依賴性較高適應性不強。
結合實踐發現線型擬合識別路徑的方法可以很好地增強智能車的適應能力。該方法的基本思想是讓傳感器采集模擬量,以傳感器的固定位置為x軸,采集的電壓為y軸。經過適當處理后可擬合出一條電壓——位置曲線。結合最高點位置、斜率等特征信息可以識別出黑線中心位置、起跑線等多種路況。
計算求解過程中沒有人為設定的閾值,增強了適應能力。每一個傳感器“看”到的是一片區域而不是一個點的黑白情況,這樣可以明顯減弱環境等因素的干擾。另外,基于該算法本身特性,可以使傳感器的觀測范圍大于PCB板整體寬度、使用傳感器個數少、識別精度高等優點。
經過比較,基于求解超定方程組的擬合方法在單片機上更容易實現。實驗過程中選用擬合4階方程效果最好。

圖1 傳感器布置

圖 2 擬合曲線
如圖1所示,8個傳感器的位置分別為x1~x8,對應采集的模擬信號(電壓值)分別為y1~y8,需要擬合成4階方程(1)和一階導數方程(2):

可以看出只要5組(x , y)(5個采樣點)就可以求解出方程系數a~e的值。在實際應用中把黑線位置附近的值作為擬合的重點。從采集的電壓來看,黑線附近即為ymax或ymin位置的附近。按照上述規則從采集來的8對采樣點中選出以ymax或ymin為中心的5對采樣點參與擬合對于ymax或ymin所對應的傳感器位置靠近PCB板邊上時,即:yi=ymax或yi=ymin且i∈{1,2,3,6,7,8}時應該取最左端或最右端5對值。具體規則見表1。

表1 分類規則表
按照上述規則確定參與擬合的5個點后結合式(1)可得到方程組(3)轉化為矩陣形式為式(4)

超定方程組(4)簡記為

當XTX可逆時方程(5)存在解,并且方程(5)、(6)的解相同,都為表達式(7)[4]

把求解結果L代入(1)、(2)式可得出當前的位置——電壓曲線和位置——斜率曲線,如圖2所示。把任何感興趣的位置xj∈( xmin, xmax)帶入曲線方程可得到該位置的黑白程度和趨近于黑線的程度。
當8個傳感器在PCB板上的位置固定時x1~x9為確定值,因此,按照表1中的分類方法,式(5)中X只有4種值,對應于Ⅰ~Ⅳ類X分別簡記為方程 (7)可表達為方程(8)

同理當傳感器在PCB板上的位置固定時Ci也只有四種情況。因此,傳感器PCB板制作好后可以用matlab等工具計算出C1~C4四個矩陣,以二維數組的形式存進單片機中,這樣可以節約大量的運算時間并調高運算精度。
利用求解出的(1)、(2)式可以獲得道路的多種信息。結合模糊控制等智能控制方法可為智能車整體控制提供強有力的支持。參考文獻[5,6]對模糊控制有較詳盡的說明這里不再贅述。這里僅對求解黑線中心線位置作說明。
從實際情況可知,黑線中心處應該就是(1)式對應曲線的最高/低點,這就把問題轉化為求解曲線在xj∈( xmin, xmax)范圍內的最大/小值的問題。由2.1分析可得曲線最大/小值處在 ymax或ymin對應的位置附近。可以以 ymax或ymin對應的位置Xk為中心,以Δl為間隔,沿x軸正負方向分別擴展M個點,記數組S為:
S = ( xk-MΔl , xk-iΔl ,…xk-iΔl , xk-MΔl ), 其 中i∈( 0 , M )
為方便說明簡記:

把sn帶入式(1)可得電壓數組V

由表1可得需要計算四類Ci,8個接收管間隔x1=-8.00, x2=-5.71, x3=-3.43, x4=-1.14,x5=1.14, x6=3.43, x7=5.72, x8=8.00,以C1為例計算可得


圖3 程序流程圖

圖4 誤差分析
A/D轉換5次并求取平均值可以起到濾波的作用,實際應用時可以靈活調節A/D轉換間隔和轉換次數保證濾波效果。計算黑線中心線位置和斜率后存儲可以為識別道路提供更多的信息。
部分測試結果如圖4所示,硬件經過仔細調整但實際測試依然有誤差。平均誤差整體為正,說明傳感器PCB板中心線相對于車體的中心線偏左。調整PCB板的安裝位置可以減小部分誤差。平均誤差在不同區段也不相同,這是因為8個傳感器的光電特性不可能完全一致,調節起來也十分困難,從軟件方面給予修正相對容易一些。
平均誤差曲線是測量系統不隨路況改變的特性曲線,當硬件固定時曲線也是唯一的。擬合出平均誤差曲線函數f (X, ΔX )在需要黑線絕對位置時按照f (X, ΔX )給予修正可達到更高的精度。 從圖4中可以看出,進過修正后誤差明顯減小。
整體來看,該方法抗干擾能力強,在復雜光電環境中依然保持良好檢測能力;適應性強,識別路徑算法中沒有人為設定閾值,無論光的強弱均可正確識別黑線位置;使用傳感器個數少,共用8個紅外接收管,達到了其他方法需要10~15個傳感器檢測的精度,電路更簡潔、功耗更低。該方法的不足是對硬件的一致性要求比較高,需要反復仔細調節和測試每一個發射管和接受管后才能達到設計精度。
[1] 葛鵬飛, 鄭建立,等. 基于光電傳感器的智能車尋跡方法研究[J], 研究與開發, 2007, 26(8): 40-42.
[2] 牛俊英. 低成本8位單片機控制的光電尋跡智能車[J], 電子設計工程, 2011, 19(10): 128-131
[3] 王德雙, 陳小虎, 于磊磊. 第四屆“飛思卡爾杯”全國大學生智能車競賽技術報告[R], http://www.docin.com/p-220402500.html
[4] 同濟大學數學系. 工程數學. 線性代數[M]. 高等教育出版社, 2007: 71-78
[5] 陳果, 徐家品等. 基于模糊控制的快速循跡智能車的設計與實現[J]. 成都信息工程學院學報, 2008, 23(6): 601-604.
[6] 祝亞峰, 李書剛, 等. 基于紅外激光管的智能車設計[J],信息技術, 2010, 6: 109-112