摘 要: 目前循跡智能車的跑道識別都依賴于跑道上的特殊標志,一旦識別失敗,,小車將脫離原有道路,。針對該現狀,提出一種基于圖像特征提取的循跡方案,。該方案將循跡信息與跑道分離,,循跡系統(tǒng)由信息采集和動作執(zhí)行兩部分組成。將目標路線圖畫在透明壓克力板上,,通過CCD攝像頭采集圖像,,利用MC9S12XS128單片機對圖像數組進行邊緣提取和角點檢測得到路徑信息,然后將路徑信息經無線模塊NRF24L01發(fā)送給智能車,,通過精確的縮放比例將繪圖區(qū)域映射到實際路徑,,完成分離循跡。行駛過程中無需判別跑道特征,。
關鍵詞: CCD攝像頭,;邊緣提取,;角點檢測,;分離循跡
循跡智能車的形式多種多樣,根據傳感器的不同,,可以分為紅外循跡,、激光循跡,、攝像頭循跡以及電磁循跡等[1]。循跡原理雖各不相同,,但其實現都依賴于專用跑道,,即貼有黑色膠布的KT板或者鋪有通電導線的路面等,如圖1所示,。
本文提出一種基于圖像分析的分離循跡方案,,使智能車擺脫專用跑道的限制。該方案利用攝像頭采集路徑信息,,將路線圖包含于一幅圖像內,,經邊緣提取和角點檢測取得路線的長度和方位角,然后通過無線模塊NRF24L01將數據發(fā)送給智能車,。智能車利用地磁傳感器HMC5883L檢測方位角,,控制小車按照計算路徑行駛,而且行駛過程中無需多次判斷路徑特征,;此外,可利用行駛前獲得的路線圖信息優(yōu)化智能車控制算法,提升小車行駛速度,。
1 系統(tǒng)設計
系統(tǒng)整體方案框圖設計如圖2所示。
1.1 主控芯片MC9S12XS128
本系統(tǒng)選用飛思卡爾HCS12架構的16位單片機MC9S12XS128為主控芯片,,擁有128 KB的Flash,,以及8 KB的RAM,片內集成SPI接口,、增強型定時器ECT(Enhanced Capture Timer)以及PWM模塊等,。通過設置鎖相環(huán)(PLL)寄存器,可以將總線時鐘提高至80 MHz,,大大加快圖像處理的速度,。
1.2 圖像采集硬件設計
將透明壓克力板支撐于CCD攝像頭正上方,作為繪圖區(qū),,使用黑色油性筆畫下智能車的路線圖供CCD攝像頭采集,,實物如圖3所示。
本系統(tǒng)采用的CCD攝像頭為PAL信號輸出,,包含有復合同步信號,、復合消影信號和視頻信號。由于視頻信號是模擬信號,,為保證圖像的分辨率,,選用8位高速A/D芯片TLC5510將其離散化,并行輸出0~255的灰度值,,直接經MC9S12XS128單片機的PA口讀取,。同時,利用LM1881視頻信號分離芯片VSS(Video Sync Separator)分離出行信號和場信號作為圖像采集的控制信號,,完成一幅二維圖像數組的采集與存儲,。
1.3 無線數據傳輸模塊
MC9S12XS128完成圖像的采集與處理后,,將路線信息以一維數組方式存儲。本系統(tǒng)采用NRF24L01無線模塊向智能車發(fā)送路線數組,。NRF24L01工作于2.4 GHz ISM頻段,,有32 B數據緩沖區(qū),與單片機SPI接口進行通信,。為建立有效通信,,規(guī)定如下的通信格式:數組首字節(jié)記錄有效數據長度,接下來每3個字節(jié)數據表征一段路線信息,,前兩個字節(jié)表示方位角(0°~360°),,最后一個字節(jié)表示路程,數據長度不固定,,決定于具體路線圖,。智能車接收到數據后,還原路線信息,,并接序執(zhí)行,。
1.4 HMC5883L模塊
在本系統(tǒng)中,利用兩個后輪直流電機不同的旋轉組合來控制轉向,。如何檢測方位角是正確轉向的關鍵,,將路徑化曲為直,看作是由許多折線段連接而成,,計算得折線斜率的反正切值即為方位角,。利用霍尼韋爾(Honeywell)HMC5883L磁阻(MR)傳感器作為智能車的電子羅盤,精確控制轉向方位角,。
HMC5883L是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器[2],。HMC5883L通過檢測地磁場平行于地面的X軸和Y軸方向的磁場分量來計算相對磁北的偏向角,。地球上某點的磁場矢量分析[3]如圖4所示。方位角?琢(X軸與磁北的夾角)可由式(1)計算:
HMC5883L采用I2C接口與單片機進行通信,,數據更新速率可達1 000次/s,。X軸、Y軸和Z軸的磁場分量值分別存儲于數值輸出寄存器X,、Y和Z,,單片機利用PIT(Periodic Interrupt Timer)中斷程序以20 ms為周期定時讀取。
2 軟件設計
2.1 圖像采集
經過LM1881得到視頻信號的行信號和場信號,,行信號周期約為70 ?滋s,,場信號周期約為20 ms。行信號表示新一行數據的到來,,場信號表示下一幅圖像數據的開始,。行,、場信號都是方波,設置MC9S12XS128單片機定時器0和定時器1為輸入捕捉模式,,并且使能中斷,。定時器0為上升沿捕捉,行中斷觸發(fā),;定時器1為下降沿捕捉,,場中斷觸發(fā)。因為攝像頭在路線圖下方,,與繪圖者的視角相反,,所以在采集程序中將圖像關于X軸鏡像存儲。程序流程如圖5所示,。
2.2 邊緣提取
理想的路徑信息是線條型的,,但是油性筆畫出的路線有粗有細,所以通過邊緣提取將路線圖線條化,。邊緣提取屬于圖像的低層次特征,,類似于微分處理[4]。目前,,有很多成熟的邊緣提取算法,,但考慮到圖像是白色背景上的黑色線條,對比度很大,,故選用閾值法提取邊緣,。通過合理選取閾值,計算灰度差提取邊緣,。
2.3 角點檢測
角點是路徑信息的重要特征之一,,在實際應用中,將路徑折線化之后,,每段路徑就可以用3個字節(jié)表示,,前兩個字節(jié)表示方位角,最后一個字節(jié)表示路程值,,由此看來角點的重要性不言而喻,。本系統(tǒng)采用梯度檢測算法提取角點坐標。角點肯定是邊緣像素點,,因此在邊緣提取的基礎上計算梯度值可以大大減少運算量,。以路線圖左下角為起始點,建立一維數組依次記錄角點像素坐標,。根據路線的連續(xù)性,,對一維數組進行濾波,統(tǒng)計斜率值的個數,,設置閾值去除“偽角點”,。程序流程如圖6所示,。
3 結果分析
在壓克力板上繪圖區(qū)(20 cm×30 cm)畫下“N”形路線,將其映射到2 m×3 m的實際區(qū)域,, 轉向時通過左轉或者右轉都能達到目標方位角,,分別進行兩次實驗。方位角誤差保持在-5°~+5°內,,路程誤差在-10 cm~+10 cm之間,。
分離循跡擺脫了傳統(tǒng)循跡方式對跑道的依賴,當循跡路線改變時更具有靈活性,。經實驗驗證,,循跡誤差小(包括方位角誤差和路程誤差),,在短距離定點運輸等領域具有實用性,,具有一定應用前景。
參考文獻
[1] 卓晴,,黃開勝,,邵貝貝.學做智能車:挑戰(zhàn)飛思卡爾杯[M]. 北京:北京航空航天大學出版社,2007.
[2] 霍尼韋爾公司.HMC5883L中文規(guī)格書[EB/OL].[2012-11-04].http://www.honeywell-sensor.com/.
[3] 汪雪蓮.電子羅盤的方位測量誤差及其補償校正[J].聲學與電子工程,,2005(4):40-43.
[4] NIXON M S,,AGUADO A S.Feature extraction and image processing[M].Beijing:Publishing House of Electronics Industry,2010.