張航,劉濤,夏嘉斌,張玉虎
(北京信息科技大學儀器科學與光電工程學院,北京 100192)
基于視覺自主決策小車應用與實現
張航,劉濤,夏嘉斌,張玉虎
(北京信息科技大學儀器科學與光電工程學院,北京 100192)
循跡;單目視覺;速度檢測;環境光調節
隨著智能化概念的提出,自動化的進程,人們也將追求更為便捷的生活方式。在汽車行業,眾多的企業開始涉足并考慮,對作為代步工具的汽車進行智能化的研究,最為關鍵的就是無人駕駛技術。
智能汽車最為基礎的功能是通過攝像頭、傳感器采集外部信息如:汽車前側方靜止或動態障礙物;車后追尾風險的汽車;倒車時車后的障礙物等。進行自我決策并作出相應反應:自主識別,自主制動,車速控制,自主駕駛繞開障礙物并沿所設定的軌跡行進。而作為移動機器人的分支,智能小車通過自帶攝像頭、傳感器識別并自主繞過車邊障礙物,沿預設軌跡行進,輔助人類進入復雜的環境到達指定位置進行下一步工作。
根據各類智能車競賽規則,基于視覺自主決策的小車首先要能在平坦路面沿既定路徑引導行駛。本系統采用飛思卡爾單片機MK60DN512ZVLQ10作為系統控制核心,通過TSL1401CL線性CCD、E18-D80NK紅外傳感器識別行進途中隨機出現的障礙物,并重新規劃路線。通過E6A2-CW5C 500P/R光電編碼器檢測并控制電機調整運行速度,通過舵機控制方向偏轉,從而達到自主決策小車的循跡、避障、速度調整、道路信息實時顯示等基本功能。系統總體結構框圖如圖1所示。

圖1 系統總體結構框圖
1.1核心版模塊
系統選擇飛思卡爾 Kinetis系列的 MK60 DN512ZVLQ10微處理器,其電路圖引腳如圖2所示。內核為ARM Cortex-M4,具有32通道的DMA用于與外設進行數據傳輸[1]。自帶的DSP指令可提供不同級別的CPU頻率,可以高速處理大量數據,實現信息與程序的無卡頓處理。而內核針對經典單片機應用設計,功耗小、成本低、中斷響應快,尤其適用于需要圖像采集及處理的實時高速系統。

圖2 MK60DN512ZVLQ10芯片電路圖
1.2圖像采集模塊
檢測小車行進方向與賽道的相對偏移量、轉折方向是實現小車自主行進的信息基礎,本車采用藍宙電子TSL1401CL線性CCD,經調試,由支撐桿固定在車體上方18cm處效果最佳,可以在較遠距離,大范圍地采集賽道信息,其可探測視線寬度可達32cm,分辨率為1mm。

圖3 TSL1401線性傳感器引腳及連接圖
并且TSL1401線性傳感器驅動程序比較簡單,如圖3所示,只需要MCU控制CLK及SI兩個引腳安裝特定的時序發出方波信號AO引腳就會依次輸出128個像素點的模擬信號[2]。以下是TSL1401線性傳感器時序圖:

圖4 TSL1401線性傳感器時序圖
1.3車速檢測模塊
在自主決策小車行駛過程中,會有很多因素對其速度產生影響:道路摩擦力、前輪轉向角度等。容易產生運行不穩,甚至沖出跑道的結果。為了消除大部分影響,自主決策小車的速度采取閉環反饋控制,選用精度較高的歐姆龍500線光電編碼器進行測速。在小車后輪車軸上安裝編碼器,使其齒輪與車輪齒輪緊貼,電動機旋轉時,編碼器與其間速旋轉,編碼器每轉過一圈將產生500個脈沖信息,通過計算每秒光電編碼器輸出脈沖個數即可反映當前車速,其電路原理圖如圖5所示。

圖5 歐姆龍編碼器電路原理圖
2.1系統主程序設計
基于視覺自主決策小車系統軟件框圖如圖6所示,其中主程序內包含了時鐘初始化、PWM初始化、IRQ初始化以及控制算法等程序。全系統操作流程圖如圖7所示,利用線性CCD采集得到車前白線信息,通過圖像處理算法并將CCD探測范圍加大,可提前預測白線走向,從而在彎道前做到提前轉向或從內側弧以較短路徑通過彎道;直道前使用靠前的數據控制轉向,從根本上預防了直道左右擺動的狀況。速度控制方面,采用歐姆龍編碼器采集智能小車的速度信息,通過當前速度以及相關算法對小車舵機、電機進行優化控制。
2.2環境光的優化程序設計
TSL1401程序簡單,但其輸出信息與環境光密切相關:自然光條件下比日光燈下AO引腳輸出電壓值高很多;正對光源比背對光源輸出電壓值高;白熾燈情況輸出電壓高與日光燈。同一參數(曝光時間、光圈大小)下難以適應強弱光變化。因此需要使智能車實時感知環境依據實際情況調整曝光量。在可調節參量中,曝光時間可通過自適應策略進行調節[3]。

圖6 系統軟件規劃框圖

圖7 系統程序總流程圖
如圖8所示,該曝光時間自適應策略時間為閉環控制,調節對象為曝光時間,反饋的是線性CCD感應到的曝光量。其原理為將設定的曝光量減去實際曝光量,得到曝光量的偏差e,調節器用Kp與e相乘并加上上次曝光時間作為新的時間進行曝光[4]。取一次采集到的128個像素電壓平均值作為曝光量當量,即設定了128像素點平均電壓值。

圖9 自適應曝光程序
其中自適應曝光程序流程圖如圖9,曝光控制中斷程序每1ms執行一次,每次中斷將TimerCnt20ms計數器自加,根據曝光時間IntegrationTime計算曝光點integration_piont(取值范圍2~20),如果曝光點等于當前計數器則開始曝光,當TimerCnt20ms等于20時,重置TimerCnt20ms,同時置位TimerFlag20ms標志位,通知主程序20ms程序執行。
2.3道路引導線的提取
利用CCD進行白線提取,判斷出正前方的軌跡線與行進方向的相對位置,從而進行調整。圖10所示為線性CCD采集的128像素點電壓通過CCDView界面模擬繪制的曲線。

圖10 CCDView軟件界面128像素點電壓模擬繪制曲線
從軟件模擬繪制的曲線中,可以明顯看出白線的特征位置[5]。因此選擇采取單行白線提取算法與找凹槽算法提取出位置信息,其中閾值設定為25:從左端第一有效數據點開始依次向右進行比較,以某點N作為原點,判斷其與N+3差值是否大于閾值,若成立則記為i,從i開始繼續判斷自i+3起到最末一位之間差值是否大于閾值,若成立則將N+i/2+2的坐標賦值給白線中心位置。按照白線位置與標定的中心相對位置對舵機進行控制,從而實現方向的調整。利用此算法所得的白線提取除了可靠,實時性也好,失去白線目標后依然可以記住白線信息是從左側或右側消失,從而控制舵機的轉向。
本文研究了基于視覺自主決策小車在比賽環境下的應用,對視覺循跡小車系統進行了論述。小車系統采用自適應曝光的方式減少環境光變化的影響。引用單行白線提取算法實現道路引導線的位置提取,可以準備判斷路徑與行進方向相對位置進行調整,能夠順利通過直角彎、120°彎以及交叉路口。使用光電編碼器對小車速度進行檢測,閉環控制車速的變化。經比賽場地測試,智能小車能夠基于視覺自主進行判斷,完成循跡、避障與速度控制,且系統運行穩定。
[1]于少東,黃丹平,田建平等.基于Kinetis K60的智能車控制系統設計[].四川理工學院學報(自然科學版),2014,27(5):37-42.
[2]趙萬欣,陳思屹.基于TSL1401線性CCD的智能巡線小車[J].工業控制計算機,2014,27(2):121-122.
[3]韋士飛,張建鋒,門思鵬.基于單目視覺的智能尋跡小車設計與實現[].寶雞文理學院學報(自然科學版),2013,33(3):41-45.
[4]魏玉虎,石琛宇,姜建釗等.基于視覺的智能車轉向控制策略[].電子技術應用,2009(01):130-134.
[5]李俊,王軍輝.基于MC9S12XS128控制器的智能車圖像處理技術研究[].化工自動化及儀表,2012(02):190-193.
張玉虎(1991-),安徽人,本科,研究方向為測控技術與儀器
夏嘉斌(1993-),浙江人,本科,研究方向為測控技術與儀器
Tracking;Monocular Vision;Speed Detection;Ambient Light Adjustment
Implementation of Application of Visioin-Based Autonomous Decision-Making Trolley
ZHANG Hang,LIU Tao,XIA Jia-bing,ZHANG Yu-hu
(School of Instrumentation Science and Opto-electronics Engineering,Beijing Information Science&Technology University, Beijing 100192)
張航(1994-),男,湖南東安人,本科,研究方向為光信息科學與技術劉濤(1998-),河北人,碩士,研究方向為光電檢測
2015-11-26
2015-12-26
重點探究基于視覺的自主決策小車在競賽環境下的環境光自主調節,針對復雜多變的環境光影響,對小車的軟件部分進行設計,研究了環境光對CCD成像的影響及處理方案。該小車采用飛思卡爾MK60DN512ZVLQ10單片機,TSL1401CL線性CCD,軟件上基于自適應曝光策略與白線提取、找凹槽算法,實現環境光優化、路徑識別與車速控制。實驗結果表明,可以實現基于視覺的自主決策行駛。
Key explores the vision-based autonomous decision-making in the competitive environment of the car ambient light self-regulation, ambient light for complex,part of the car's software was designed to study the environmental impact of light on the CCD imaging and treatment options.The car MK60DN512ZVLQ10 Freescale microcontroller,TSL1401CL linear CCD,software strategy based on adaptive exposure and white line extraction algorithm to find the groove,to achieve optimization of ambient light,the path identification and speed control.Experimental results show that can be achieved with vision-based autonomous decision-making.