閆 浩,張迪洲,李永科
(1.軍械工程學院 導彈工程系,河北 石家莊 050003;2.軍械工程學院 光學與電子工程系,河北 石家莊 050003)
基于激光傳感器智能車,利用單個水平照射的激光傳感器,有效地檢測坡道信息,并針對坡道做出相應的控制方案。由于該車模是自動循跡的,因此對賽道信息的依靠程度比較高,對傳感器的精度和抗干擾能力要求也比較高。激光傳感器通過調制發射避免了自然光對其造成的影響,提高了抗干擾能力。激光傳感器相比于紅外傳感器在作用距離方面要遠遠優先,因此前瞻距離較大,大大提升了控制效果,而且激光傳感器的接收電路能直接得到二值化后的結果,省去了中間模數轉換和二值化的過程,采集到的信號返回給單片機直接是0和1,減少了單片機的工作量,提高單片機的整體運算速度[1]。但激光傳感器也存在不能克服的問題,正是因為激光的作用距離遠,也就出現了難以檢測坡道信息的問題。
激光傳感器的智能車在上坡時,由于光作用距離的變化以及坡面對光的反射,會產生干擾信號,導致激光傳感器無法正常識別黑線的位置,最終使車模無法通過坡道[2]。針對這一問題,目前已有多種解決方案,這些方案大體上可以分為兩類,一類是盲過法,另一類是非盲過法。非盲過法過程如下:首先由紅外傳感器采集數據,然后對所采得的數據進行模數轉換,此時在黑線附近采得的數據會比干擾信號高,再經過簡單的濾波,就能很容易判斷出黑線的位置。但這種方法需要模數轉換,而且需要紅外傳感器的參與,還需要設定閾值進行二值化來判斷黑線位置,硬件實現和算法過程都較為復雜,且占用較多單片機的資源。盲過法過程如下:首先由某種坡道傳感器檢測坡道,一旦檢測到立即屏蔽激光傳感器,利用上一時刻傳感器采集到的數據進行估算,當坡道傳感器檢測到車模已經通過坡道時,立即打開激光傳感器,車模進入正常行駛狀態。盲過法相比與非盲過法,主要問題是盲目性太大,但因為賽道上的坡道大多數都在直道上,所以影響不會很大,也可以通過再加一排紅外傳感器或者作用距離比較近的激光傳感器來克服這個缺陷。本文主要以盲過法為例進行介紹[3]。
激光傳感器的工作原理如圖1所示,當發射管發射的激光照射到賽道的白色部分時,大量光線經過漫反射被反射回去,接收管接收到光線,傳送到單片機的數據為0,當激光照射到賽道的黑色部分時,大量光線被吸收,接收管沒有接收到光線,傳送到單片機的數據[4]為1。

圖1 激光傳感器原理示意圖Fig.1 Schemes of laser sensor principle
根據以上傳感器識別賽道的原理,可以把激光管和接收管放置在車模前側的左邊或右邊,使發射的激光平行于賽道,如圖2所示,還可以通過調整激光的作用距離來調整檢測坡道提前量的大小。

圖2 傳感器安裝示意圖Fig.2 Schemes of sensor installation
當車模前方沒有坡道時,激光平行于賽道,此時,光線不會被反射,即接收管不會接收到光線,單片機收到的返回值為1。當車模靠近坡道到一定距離時,由于賽道的兩側是白色部分,激光管又置于車模的兩側,所以此時激光照射到賽道的白色部分,光線被反射,接收管接收到光線,單片機收到的返回值為0。當車模處于爬坡狀態和坡頂時,光線照射不到賽道,不會被反射,接收管不會接收到光線,單片機收到的返回值為1。當車模處于下坡階段時,光線照射到賽道的白色部分,發生反射,接收管接收到光線,單片機收到的返回值變為0。當車模通過坡道后,光線又照射不到賽道,不會被反射,接收管不會接收到光線,單片機收到的返回值為1。具體過程如圖3所示。

圖3 智能車坡道檢測示意圖Fig.3 Schemes of smart car ramp detection
在車模通過坡道的整個過程中,不難發現,單片機接收到的信號由以下變化過程1-0-1-0-1,共發生了4次跳變,根據這個原理設計算法。當發生第一次跳變時,說明車模前方有坡道,此時車模進入盲過階段,車模按前一狀態保持運動,直至單片機檢測到最后一次跳變為止,具體程序流程如圖4所示,如此便可以實現單個激光傳感器對坡道的檢測[5]。
將該方案應用到智能車實際的賽道檢測算法中,通過實驗,該方案可以提前檢測到跑道,而且提前量可以根據自己的需要進行調整。相比于用傾角傳感器和加速度傳感器檢測坡道的方案,該方案既經濟實惠又能提前檢測出坡道。但應用盲過法對車模的機械要求較高,在通過坡道的過程中不能自行調整,實驗過程中可以根據實際情況選擇是否再加一排紅外傳感器或作用距離比較近的激光管來克服這個不足。

圖4 坡道檢測流程圖Fig.4 Ramp detection flow chart
實驗過程中還發現一些問題,即在車模前部的左側或右側放置的激光管如果太靠近地面,則容易把周圍的淺色物品識別為坡道,因此傳感器的放置位置應當盡可能高一些,或者把激光的功率適當調小,使其作用距離不要太遠,減小誤判的幾率[6]。
本文介紹了一種激光傳感器智能車利用單個激光管檢測坡道的方法,通過記錄信號跳變次數,從而得到了智能車通過坡道時的相關信息[7]。通過實驗,該方法簡便可行,易于實現,成本較低,可以提前檢測到坡道,且提前量的大小可以調整,利用該方案智能車可以順利地通過坡道。
[1]卓晴,黃開勝,邵貝貝.學做智能車——挑戰“飛思卡爾”杯[M].北京:北京航空航天大學出版社,2007.
[2]邵貝貝.微控制器嵌入式應用的在線開發方法 [M].北京:清華大學出版社,2007.
[3]吳懷宇,程磊,章政.大學生智能汽車設計基礎與實踐[M].北京:電子工業出版社,2008.
[4]安鵬,馬偉.S12單片機模塊應用及程序調試[J].電子產品世界,2006(211):162-163.AN Peng,MA Wei.S12 microcontroller module application and program test[J].Electronics World,2006(211):162-163.
[5]Gillespie T D.車輛動力學基礎 [M].北京:清華大學出版社,2006.
[6]周斌,李立國,黃開勝.智能車光電傳感器布局對路徑識別的影響研究[J].電子產品世界,2006(5):139-140.ZHOU Bin,LILi-guo,HUANG Kai-sheng.Smartcar photoelectric sensor arrangement of the influence of the path recognition[J].Electronics World,2006(5):139-140.
[7]譚浩強.C程序設計[M].北京:清華大學出版社,2001.