夏雨磊



【摘要】 為了實現無人控制智能車在特殊道路上實現的自主行走的目的;采用光電攝像頭作為實時采集單元結合軟件控制單元閉環反饋的方法,在特殊賽道下自行調整舵機轉向,電機的加減速,成功實現了在非人為環境下按照黑色引導路線快速準確的行駛。
【關鍵詞】 攝像頭 自主行駛 智能小車
一、引言
進入21世紀以來,智能化與自動化這一課題,隨著時代的發展,愈發扮演者重要的角色。到如今,汽車行業在時代的前進腳步中同樣不斷進行著蛻變,隨著自動化產業的高速發展,無人控制領域的誕生,無人自主智能車應運而生。本設計以單片機為控制核心,采用CCD攝像頭實現對引導路線圖像的獲取,并通過軟件對圖像進行處理提取路徑,然后通過控制算法控制智能小車實現自動行駛。
二、系統的總體設計
2.1 系統的工作原理
智能車系統的工作原理是:CCD攝像頭拍攝賽道圖像,通過片外AD進行模數轉換,將得到的數據輸入MC9SXS128單片機,通過程序提取黑色引導線;通過編碼器檢測車速,通過單片機輸入捕捉功能進行脈沖計數得到小車的實時速度。由得到的引導線,選擇參考行,通過分段P系數算法來控制舵機;通過賽道的曲率,計算得到目標速度,利用PID相結合的閉環控制算法調整電機來控制小車速度。
2.2 系統的總體設計框圖
三、硬件模塊的設計
攝像頭采用TSL1401線性CCD模塊,此芯片主要是以TAOS公司生產的芯片TSL1401R為核心構成,并且繼承高達128像素的線性陣列傳感器并且配套專門用于線性CCD的透鏡。該模塊成像所反映的是一維的圖像,當在伴隨車身運動的過程中可以獲得二維的圖像。
小車轉向控制使用的是SD-5數字舵機。主驅動電機采用RS-540速度電機,其轉速高達20000r/min,內裝散熱風扇,最大功率可達118w,能夠快速有力的帶動車身前進后退,是一款較為理想的驅動電機。測量速度采用歐姆龍編碼器將車輪轉速轉換成以數字脈沖。RS-540電機功率比較大,驅動電路板采用TC4427MOSFET驅動器加四支N溝道功率MOSFET管設計了一個直流電動機可逆橋式驅動電路,其電路圖如圖2所示。
單片機選用Freescale公司16位的高速單片機MC9SXS128其可以達到25MHz的處理速度。
四、軟件控制方案
4.1 攝像頭圖像處理
圖像信號采集作為整個控制算法的基礎,其效果好壞直接影響到智能車整體的穩定性、準確性。因而經過多次試驗與反復嘗試最終決定采用自適應曝光方案。由TSL1401線性CCD傳感器的用戶手冊的分析可知,每個像素所采集的圖像灰度值與他所感知的光強和積分時間成正比,積分時間越長亮度也就越高,CCD上就是采集到的電壓值的高低。
在試驗的過程中發現曝光時間最終確定在10-15ms是最為合理的,原因有兩個:首先曝光時間的增加就表示對于圖像的采集周期變長,不利于對于系統的控制,就會導致系統的反應滯后,降低了系統的穩定性,準確性。其次曝光時間的延長會使采集回來的圖像變得模糊,不利于后期對于圖像的分析提取。
4.2 路徑提取算法
由于智能車系統對實時性的要求很高,過于復雜的黑線提取算法,會導致決策周期溢出,使程序崩潰,所以必須采用簡單高效的圖像識別算法。在這里采用直接邊緣檢測算法。采用逐點掃描的方法,首先從定義的起始點開始進行往兩邊掃描的方式,這里的起始點是定義為中間64點處開始掃描,找到從路面白色像素到路面邊緣黑色像素的邊沿,計算兩個沿的位置差,通過閾值判斷合理的話通過求平均值估算出路面的中心。
邊沿的檢測,可以通過比較前后兩次采樣數的差值的絕對值是否大于一個閾值來判斷,如果差值為負,則為上升沿;否則為下降沿。這里,閥值可以根據經驗設定,基本上介于8~15之間(當A/D模塊的參考電壓為2.5 V時),也可以采用全局自適應法設定,每次采樣后首先都遍歷一次圖像,得到圖像灰度值的平均值,然后用這個平均值乘以一個調試系數即可得到所要的閾值。
4.3 PID速度閉環控制
速度控制策略的好壞就決定小車能否取得優秀成績,為了使賽車能快速達到給定速度,經過很長時間的測試,我們最終采用了增量式PID,PdIt=Kp*(e(t)-e(t-1)+Ki*e(t)+Kd*(e(t)-2*e(t-1)+e(t-2));其返回的值是控制量所需加上的增量。其中e(t)是當前測量真實值與設定的目標差。是當前測量真實值與設定的目標差。
比例項主要使快速達到目標,但是過沖可能大,積分以減小過沖但使反應變慢,微分項可以提高系統靈敏度但是也會對于干擾信號進行放大。
五、結束語
在智能小車車開發過程中,在行駛過程中發現,如果對于前瞻過遠容易發生丟失道路現象,但是過于近的前瞻在直道入急彎時會發生舵機打角反應滯后現象,所以好的前瞻可提高小車的反應速度,通過對PID等參數的調整,成功實現了小車通過CCD光電攝像頭對路徑的快速跟蹤行駛。