胡世林,韓致信,崔繼強
(1. 蘭州理工大學 機電工程學院, 甘肅 蘭州 730050; 2. 濱州學院,山東 濱州 256603)
智能車線性CCD路徑識別方法
胡世林1,韓致信1,崔繼強2
(1. 蘭州理工大學 機電工程學院, 甘肅 蘭州 730050; 2. 濱州學院,山東 濱州 256603)
摘要:論述了TSL1404CL線性CCD的識別原理,設計了CCD路徑識別系統(tǒng)硬件電路,分析固定閥值與動態(tài)閥值以及固定中心點邊緣檢測與浮動中心點邊緣檢測的優(yōu)缺點,運用LabVIEW軟件編寫上位機界面,獲取了不同檢測方法下的賽道信息,優(yōu)化了系統(tǒng)的控制策略,提高系統(tǒng)的響應速度和準確性。實驗證明該系統(tǒng)能在不同光照條件下準確識別賽道,具有很好的魯棒性。
關鍵詞:飛思卡爾;線性CCD;邊緣檢測
Research on Path Identification Method of Intelligent CarBased on Linear CCD
HU Shilin1, HAN Zhixin1, CUI Jiqiang2
(1. College of Mechanical and Electrical Engineering, Lanzhou University of Technology, Lanzhou 730050, China;
2. Binzhou University, Binzhou 256603, China)
Abstract:This paper discusses TSL1404CL linear principle of CCD and designs the hardware circuit of a CCD path identification system, analyzes the fixed threshold and dynamic threshold and the advantages and disadvantages of fixed centre point edge detection algorithm and floating point edge detection algorithm, uses LabVIEW to compile upper computer interface, achieves circuit information with different detection methods and optimizes the system control strategy to improve the response speed and accuracy. The experiment results show that the circuit can be accurately identified in this system and it has good robustness.
Keywords:freescale;linear CCD;edge detection
0引言
圖1 賽道示意圖
路徑識別是自主循跡智能車實現控制并穩(wěn)定運行的基礎,道路信息提取的準確與否直接影響到控制策略能否實現。而道路信息提取的準確性取決于傳感器能否準確地區(qū)分出黑色引導線與白色背景以及其他干擾信息。如圖1所示,第八屆飛思卡爾車模競賽的賽道是一個具有特定幾何尺寸約束、摩擦系數及光學特性的KT板,45 cm寬的白色KT板兩邊貼有寬度為2.5cm對可見光及不可見光均有較強吸收特性的黑色條帶作為引導線。大賽規(guī)定賽道傳感器選用線性CCD。線性CCD提取信號是被動的接受反射回的光線,因此,采集的信號易受外界環(huán)境的影響。例如,賽道黑色引導線很可能由于發(fā)生鏡面反射而被誤判為白色背景。所以,設計一個識別準確,抗干擾能力強的路勁識別系統(tǒng),使智能車在不同光照條件下均能正常運行,這對自主循跡智能車是尤為重要的。
1線性CCD識別方案
該系統(tǒng)采用飛思卡爾MC9S12XS128單片機作為控制核心,將線性CCD捕獲的模擬量賽道信息轉化成數字信號,進行分析計算小車與賽道之間的偏差和賽道走勢,進而控制小車沿賽道行駛而不偏離賽道。
該車道路傳感器使用的是TexasAdvancedOptoelectronicSolution公司的TSL1401CL線性CCD。該傳感器是包含128個光電二極管的線性陣列。每個光電二極管都有各自的積分電路,此電路統(tǒng)稱為像素。每個像素在光電二極管的不同光能量沖擊下產生不同的模擬電荷信號,該信號的大小與光強和積分時間成正比。在驅動時序的作用下,CCD將模擬電荷信號串行位移輸出[1]。如圖2中TSL1401CL的工作時序可知,串行輸入SI控制每一個像素的積分和復位操作;CLK控制每一個像素電壓的依次輸出,每個像素的值可以在CLK的下降沿時從AO采集。
圖2 TSL1401CL工作時序
2線性CCD外圍電路設計
MC9S12XS128單片機的PA0和PA1口分別提供TSL1401CL的時鐘輸入和串行輸入。AD0口與TSL1401CL的模擬電壓輸出口(AO)連接。試驗表明TSL1401CL線性 CCD的輸出信號和環(huán)境光線密切相關,分別在不同的光照環(huán)境進行采樣,采樣數據表明環(huán)境光線較弱時,CCD輸出信號較低,以致賽道黑線信息不明顯。晚上日光燈環(huán)境下輸出信號電壓值更低,幾乎接近 0,根本無法辨別賽道信息。解決該問題的簡單有效的方法就是增大輸出電壓,即放大輸出信號,系統(tǒng)采用運放來放大 AO 輸出信號[2]。其電路原理如圖3所示。由式(1)可以得出電壓增益(放大倍數)Av=11。
(1)
圖3 CCD輸出電壓運放電路
3軟件設計
3.1曝光時間(積分時間)計算
如果競賽環(huán)境各個方向的光線均勻一致,則可以在賽車出發(fā)前根據環(huán)境光線調節(jié)一個合理的曝光時間,以得到合理的輸出,這樣賽車就能采用一個固定的曝光時間跑完全程。實際賽場會有場館的窗戶、賽道上方的燈光等光源,投射在賽道上的光線也并不均勻一致。所以需要賽車在賽道上適時地、動態(tài)地調整曝光參數。從TSL1401CL的工作時序可以看出曝光量和串行輸入(SI)有關,所以系統(tǒng)中通過動態(tài)調整SI的周期實現曝光量的自動調整,該計算策略如圖4所示。
圖4 動態(tài)曝光參數調節(jié)策略
從圖4可以看出,該計算策略是一個典型的閉環(huán)控制,實際曝光量由上一次線性CCD捕獲的白色賽道上的像素數據的平均值(pixel_average)得到。與設定的SI周期比較得出偏差E,根據偏差E調節(jié)本次曝光所需的SI周期,使之達到適應環(huán)境的目的。
3.2像素二值化處理
為了準確判斷黑線的位置以及減弱賽道上噪點的干擾,需將CCD采集的圖像進行二值化處理,把模擬信號轉換成0和1的二值信號,便于后期的數據處理。處于黑線上像素點的模擬量(灰度值)遠遠小于處于白線上像素點的模擬量,故選取處于黑線和白線兩個模擬量之間的一個值作為閥值?;叶戎荡笥谠撻y值為1,反之為0。圖像的閥值變換函數為[4]:
(2)
由于賽場光線的不均勻,該閥值T也需要根據光線的強弱而變化,即動態(tài)閥值。原理是計算出上一次采集的白線灰度值的平均值,再將該值乘以一個系數作為當前場的閥值,以適應不同的光照條件。
如圖5所示,將數據發(fā)送至LabVIEW軟件編寫的上位機可以看到該方法具有良好的效果。
圖5 動態(tài)閥值二值化數據
3.3賽道偏差計算
賽道偏差計算采用邊緣檢測法,即掃描像素二值化之后0和1的跳變沿??赏ㄟ^單邊掃描和從中心向兩邊掃描兩種方式實現,如圖6所示。
圖6 兩種邊緣檢測方法示意圖
由于賽道引導線處于賽道兩邊,若采用單邊檢測容易出現左右兩邊引導線混淆的情況,故系統(tǒng)中采取從中心向兩邊掃描的方式,左右兩邊同時尋找從1跳變到0的像素點位置。第64個像素點向第1個像素點掃描,得到左邊引導線的位置Error_L,第65個像素點向第128個像素點掃描,得到右邊引導線的位置Error_R,Error_L和Error_R符號相反。從中心到兩邊分別取值為64~1和-64~-1,賽道偏差Error=Error_L+Error_R。當小車處于直道時Error_L與Error_R互為相反數,此時Error=0;當小車處于彎道時Error_L與Error_R絕對值不同,兩個值求和之后就可以計算出賽道偏差,用于后期數據處理。由于小車驅動電機的反應具有滯后性,高速行駛于彎道時容易出現第64個像素點與第65個像素點同時落在黑線上的情況,如圖7(a)所示。此時從中心到兩邊像素點都沒有從1到0的跳變,Error就為0,從而出現丟線的情況。為了避免這種情況的發(fā)生,采用浮動中心點的方法,即掃描并不是固定的從第64和65個像素點向兩邊進行,而是根據上一次的賽道偏差計算出本次掃描的起始位置。如圖7(b),當小車處于左轉彎時掃描起始位置向左移動,反之向右移動。實驗證明用該方法很好地避免了因掃描中心點落在黑線上而導致的丟線。如圖8所示,此方法也增大了Error的范圍。這使得小車在轉向時具有更好的連續(xù)性。
圖7 不同方法下掃描示意圖
圖8 掃描中心不同時Error的變化情況
4結語
基于線性CCD設計了兩輪直立智能車的路徑識別系統(tǒng)。采用TSL1401CL 線性 CCD采集賽道信息,MC9S12XS128單片機作為控制核心;利用動態(tài)閥值和邊緣檢測獲取賽道偏差。實驗表明:小車能在不同的光照條件下準確識別賽道信息,并沿黑色引導線平穩(wěn)行駛。該方案已在第八屆“飛思卡爾”杯全國大學生智能車競賽中得以應用,并且取得了優(yōu)異成績。
參考文獻:
[1] 曾峰,易茂祥. 圖像采集系統(tǒng)的線性CCD驅動電路設計[J]. 合肥工業(yè)大學學報,2009,32(1):120-123.
[2] 康華光. 電子技術基礎[M]. 北京: 高等教育出版社,2006.
[3] 李晨,宓超. 基于飛思卡爾單片機MC9S12XS128的智能車設計[J]. 上海海事大學學報,2012,33(1):82-84.
[4] 王爍,孫備,侯代坡,等. 基于Hough的圖像分割在智能車圖像處理中的應用[J]. 機械與電子,2013,(5):65-68.
[5] 李丙旺,張友照,陳文建. 基于PID分段式溫度控制系統(tǒng)[J]. 兵工自動化,2011,30(9):83-85.
收稿日期:2014-01-02
中圖分類號:TP273
文獻標志碼:B
文章編號:1671-5276(2015)04-0123-03
作者簡介:胡世林(1988-),男,陜西漢中人,碩士,研究方向為機械工程。
基金項目:濱州學院創(chuàng)新基金資助(BZXYQNLG201101)