国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單目視覺的自主尋跡智能車設計與實現(xiàn)

2016-11-17 02:16:45劉永濤
重慶理工大學學報(自然科學) 2016年10期
關鍵詞:舵機賽道攝像頭

李 亭,喬 潔,劉永濤

(1.西安航空學院 車輛工程學院, 西安 710077; 2.長安大學 汽車學院,西安 710064)

?

基于單目視覺的自主尋跡智能車設計與實現(xiàn)

李亭1,喬潔2,劉永濤2

(1.西安航空學院 車輛工程學院, 西安 710077; 2.長安大學 汽車學院,西安 710064)

介紹了一種基于單目視覺的自主尋跡智能車的設計與實現(xiàn)方案。系統(tǒng)使用OV7725攝像頭采集道路圖像信息,將道路信息傳輸至MK60FN核心板進行處理,通過直流電機控制車速、舵機控制智能車的轉向實現(xiàn)路徑自動識別,同時采用測速編碼器獲得電機轉速信號,將該信號實時反饋到核心板,實現(xiàn)車速的閉環(huán)控制。另外,為了便于快速有效地調(diào)試系統(tǒng)參數(shù),在該系統(tǒng)中加入TFT顯示模塊和SD卡模塊。實驗結果表明:該智能車設計方案有效可行,能準確控制尋跡智能車在賽道上穩(wěn)定運行。

路徑識別;單目視覺;MK60FN 單片機;直流電機;舵機

隨著社會的發(fā)展,汽車保有量持續(xù)增長,加重了交通道路網(wǎng)絡的負荷,在此背景下,智能交通與智能汽車應運而生。近幾年,智能汽車技術已經(jīng)成為眾多學者的研究熱點及難點。該技術涉及的知識面非常廣,涵蓋了機械、傳感技術、計算機編程、人工智能等領域[1]。智能汽車發(fā)展的目的是使車輛能在較為復雜的道路條件下自主識別道路,同時排除干擾物,選擇合理的路徑和速度進行安全穩(wěn)定的行駛。此外,智能車輛相關技術的研究與應用在提升交通安全、提高交通效率、增強國防科技等方面都有著重要的理論意義和現(xiàn)實意義。

本文以 “飛思卡爾杯” 全國大學生智能汽車競賽為背景,采用Freescale公司生產(chǎn)的MK60FN核心板為主控制器,使用 OV7725數(shù)字攝像頭采集道路圖像信息,相關道路信息被MK60FN單片機分析處理,引導智能車自動進行路徑識別,結合舵機控制智能車的轉向、電機控制車速,最終設計的智能車在專用道路上能自主識別道路并保持安全穩(wěn)定的行駛。

1 智能車硬件系統(tǒng)設計

本研究中智能車行駛的專用賽道為白底黑邊,智能車需要完成自主識別道路并穩(wěn)定行駛的要求。該系統(tǒng)總體結構如圖1所示。系統(tǒng)電力由電源模塊提供,OV7725攝像頭采集道路圖像信息,將信息傳輸至MK60FN核心板處理,對舵機及電機驅動輸出控制信號,實現(xiàn)路徑識別,同時編碼器獲得電機轉速信號,將該信號實時反饋至核心板,實現(xiàn)閉環(huán)控制。為了便于調(diào)試系統(tǒng)參數(shù),在該系統(tǒng)中加入TFT顯示模塊和SD卡存儲模塊。智能車硬件系統(tǒng)主要包括電源模塊、MK60FN最小系統(tǒng)控制單元、路徑識別模塊、電機驅動模塊、舵機控制模塊、車速測量模塊、TFT顯示及SD卡存儲模塊[2-3]。

1.1MK60FN最小系統(tǒng)

本研究采用美國Freescale公司生產(chǎn)的32位基于ARM Cortex-M4系列的最小系統(tǒng)板MK60FN,標準頻率為150 MHz,flash為1 MHz,帶硬件浮點。共有4個FTM模塊,其內(nèi)部可以細分為Cortex-M4內(nèi)核、GPIO、UART、I2C、SPI、ADC、DAC、DMA、PIT、FTM等模塊。MK60FN具有強大的定時控制,能實現(xiàn)舵機和電機的PWM控制功能。此外,系統(tǒng)功耗低,且具有很高的安全性與可靠性,硬件條件足以滿足智能車運行要求。

圖1 硬件系統(tǒng)總體結構

1.2電源模塊

電源模塊的穩(wěn)定是保證智能車正常運行的根本要求。本系統(tǒng)中所使用電源為7.2 V鎳-鉻充電電池。在設計電源模塊時,需要考慮系統(tǒng)中不同硬件所需要的電壓值,并進行電壓調(diào)節(jié)與分配,各模塊之間獨立供電且最大程度減少模塊間的電磁干擾。

各模塊電壓分配解決方案如下:

1) 舵機工作電壓為6 V,使用可調(diào)穩(wěn)壓芯片LM2941。

2) 編碼器工作電壓為5 V,使用穩(wěn)壓芯片AMS1117-5.0。

3) 核心板、OV7725攝像頭、OLED和SD卡供電電壓為3.3 V,使用穩(wěn)壓芯片AMS1117-3.3。

1.3路徑識別模塊

本研究采用OV7725數(shù)字攝像頭作為路徑識別元件,采用BGA封裝,無需視頻分離和采樣電路,去除噪點能力極強。同時增加高速硬件二值化技術,不僅縮短后期圖像處理時間,而且能更快適應周圍環(huán)境,避免因燈光影響而頻繁地對二值化閾值進行修改。雖然其傳輸速率可達150幀/s,但MK60FN擁有的DMA傳輸方式提供了該攝像頭高速傳輸圖片的解決方案[4]。OV7725與MK60FN管腳的連接方式如圖2所示。

圖2 OV7725與MK60FN管腳的連接方式

OV7725攝像頭管腳Y0~Y7分別連接MK60FN的管腳PTB0~PTB7,8位數(shù)據(jù)線1次傳輸8個像素,輸出順序為從左到右,從上到下,即第1個接收字節(jié)的最高位為第1個像素,最低位為第8個像素。行、場中斷HREF、VSYNC分別連接引腳 PTA28、PTA29。行中斷信號由寄存器配置,然后進行信號輸出。場中斷信號觸發(fā)后開始采集每幀的數(shù)據(jù)。SCCB是OV7725攝像頭的控制信號通信的協(xié)議,兼容I2C協(xié)議。SCCB配置引腳SCL和SDA分別連接PTA25和PTA26。像素同步信號PLCK連接引腳PTA27。

1.4電機驅動模塊

智能車的速度控制是該系統(tǒng)操控的關鍵。本研究設計了一款電機驅動電路,該電路采用兩片BTN7971并聯(lián)組成H橋驅動電路[5],使用74LS244進行隔離,保護主控芯片,通過控制芯片的電壓輸出占空比實現(xiàn)正、反轉和制動。電機驅動模塊電路如圖3所示,74LS244芯片1A3和1A4管腳分別接入MK60FN的A5和A7管腳。該驅動電路相比MOS管電路結構簡單,質(zhì)量小,而且可以保證電機穩(wěn)定運行。

圖3 電機驅動模塊電路

1.5舵機控制模塊

舵機模塊主要實現(xiàn)智能車的轉向精確控制,本系統(tǒng)采用的是F3010型舵機。由于舵機的響應速度正比于其工作電壓,故系統(tǒng)采用6 V的供電電壓。采用立式的固定方式且舵機的兩端連桿在直線行駛時與底盤成一定角度,利用杠桿原理減少舵機的輸出轉角,可以提高智能模型車的轉彎響應速度。最小系統(tǒng)通過輸出不同占空比的PWM信號來控制舵機的轉動角度,進而控制智能車的轉向大小。

1.6車速測量模塊

要實現(xiàn)對智能車速度的閉環(huán)控制,主控芯片需要掌握智能車實時車速,并對電機速度實施控制。本設計方案采用在智能車系統(tǒng)上加裝測速編碼器的方法。該編碼器通過定做支架安裝在智能車上,應用齒輪嚙合的方式與智能車電機速度同步。智能車電機旋轉帶動光電編碼器,產(chǎn)生脈沖信號,根據(jù)位置變化的方向用計數(shù)器對脈沖進行加/減計數(shù)以實現(xiàn)測速。通過檢測B相端口脈沖的相位差實現(xiàn)對旋轉方向的判定。

1.7TFT顯示與SD卡存儲模塊

為了適應不同的路面背景和光線環(huán)境下智能車能夠穩(wěn)定運行,需要采集更多的實驗數(shù)據(jù)來確定和完善相關參數(shù)。本系統(tǒng)選擇在主控板中加入山外1.44寸彩色TFT屏幕。該屏幕使用8位并行總線方式通訊,擁有5向導航按鍵,不僅可以隨時查看攝像頭采集到的道路圖像情況,而且可以對程序中預留參數(shù)進行不掉電修改和調(diào)試,從而大大提高程序的開發(fā)效率。

智能車SD卡的存儲技術相當于汽車的行車記錄儀。智能車可以將在運行過程中拍攝并預處理的信息和運行參數(shù)存儲進入SD卡中,以備離線分析,優(yōu)化路徑。SD卡管腳DATA0~DATA3分別連接MK60FN的管腳PTE0~PTE3,CMD管腳連接PTE4,CLK管腳連接PTE5。

2 智能車軟件系統(tǒng)設計

模塊化和系統(tǒng)化程序是智能車可靠穩(wěn)定運行的保障。智能車系統(tǒng)的程序設計包括硬件底層程序、傳感器采集與處理程序、執(zhí)行程序及人機交互程序等。智能車軟件系統(tǒng)主程序設計流程如圖4所示。智能車的軟件算法程序是基于IAR Embedded Workbench IDE 開發(fā)環(huán)境開發(fā),采用C語言編寫實現(xiàn)[6-7]。該軟件開發(fā)環(huán)境可以模擬多個ARM內(nèi)核進行仿真,并且人機交互友好,方便編寫程序。

2.1系統(tǒng)底層程序設計

系統(tǒng)板MK60FN通過電源模塊通電后,所有硬件進行初始化,初始化的主要內(nèi)容有:設定系統(tǒng)時鐘頻率,并關閉系統(tǒng)中斷;執(zhí)行攝像頭OV7725行、場中斷初始化;執(zhí)行舵機驅動初始化;執(zhí)行電機驅動初始化。

圖4 智能車系統(tǒng)主程序流程

2.2圖像采集與處理程序設計

OV7725數(shù)字攝像頭采集圖像的頻率為25幀/s,每幀圖像又包括奇數(shù)場和偶數(shù)場。當攝像頭采集到圖像信號時,控制器首先捕捉PTA27 的場中斷信號,進入場中斷,場中斷標志置 1。接著捕捉 PTB23 行中斷信號,執(zhí)行行中斷服務函數(shù)。根據(jù) PTC19 接收到的像素中斷信號,由行中斷服務函數(shù)采用 DMA 方式逐像素點采集道路圖像。另外,為了減少圖像采集的數(shù)據(jù)量,本系統(tǒng)方案采用隔行采集的方式進行圖像采集,并且設定采集起始行及終止行。

圖像及傳感器信號采集結束后,控制器開始進行數(shù)據(jù)處理和控制決策。攝像頭采集的圖像分辨率較高,直接進行處理會占用大量的控制器資源。為了方便智能車路徑識別和轉向控制,利用壓縮圖像提取道路關鍵特征信息即可,并在此基礎上進行圖像二值化。為避免圖像中噪點和路徑上雜點影響路徑信息判斷,須對二值化圖像進行濾波。由于智能小車的運行速度較快,采集的圖像噪聲一般含椒鹽噪聲較多,因此本系統(tǒng)采用中值濾波的方法去噪[8-9],最大程度地保留原圖像的信息。濾波后路徑外側為黑色,內(nèi)側為白色。完成上述處理后通過尋找路徑邊緣,并根據(jù)邊緣位置求出賽道中心線,提取效果如圖5所示。

OV7725攝像頭由近及遠掃描每一行的點,采集的道路圖像經(jīng)過二值化處理之后保存在1個60×80二維數(shù)組中,從圖像的行中點分別向左、右方向掃描,尋找由連續(xù)白點向連續(xù)黑點跳變的臨界位置,即為賽道的左右邊線點。根據(jù)左右邊線擬合出圖像中的賽道中心線,賽道中心點的求取公式為:Centerline[line]=(Right_line[line]+Left_line[line])/2。 賽道中線提取效果如圖6所示,圖中黑線表示逐行掃描法擬合的賽道左右邊線,紅線表示根據(jù)賽道左右邊線擬合的賽道中心線。

圖5 賽道邊緣提取效果

圖6 賽道中心線擬合效果

賽道中線擬合的偽代碼如下:

for(point=Center;point>Left_boundary;point--)

{

if(img[line][point]==0&&img[line][point-1]==0)

{ Left_line[line]=point;

break;}

if(point==(Left_boundary+1))

{Left_line[line]=0;

break; }

}

for(point=Center;point

{

if(img[line][point]==0&&img[line][point-1]==0)

{

Right_line[line]=point;

break;

}

if(point==(Right_boundary-1))

{

Right_line[line]=79;

break;}

}

Centerline[line]=(Right_line[line]+Left_line[line])/2;

dev[line]=Centerline[line]-40;

其中dev[line]為賽道某行的中心點相對于圖像中點的偏移量。

2.3執(zhí)行程序設計

本文設計思路的核心之處在于舵機控制智能車的轉向,實現(xiàn)路徑自動識別,且舵機和電機的控制是依據(jù)圖像打舵參考行的中點相對圖像中心的偏移量。本文智能車路徑識別的策略為:首先要快捷準確地識別賽道的形狀,確定賽道是直道、左彎道、右彎道等。以60行80列的CCD圖像為例,取采集圖像中間偏上某一行(比如第25行)作為路徑判別行,如果圖像的中心是白點且這行擬合的道路中心點相對于圖像的第40列偏移量小于某個閾值時,則判別為直道;如果圖像路徑判別行的中心偏移量大于某閾值,且賽道路徑判別行的中點大于40列時,則判別為右彎道。反之為左彎道。如果智能車在行駛過程中因干擾或者過十字路口出現(xiàn)突然丟道的情況,這時車輛以上一時刻的打舵量繼續(xù)行駛。

為了確保智能車轉向和路徑識別的準確性,首先采用中值濾波算法去除賽道圖像的噪聲干擾點,最大程度地保留原圖像的信息;接著根據(jù)賽道和攝像頭的空間位置關系計算出實時的道路曲率半徑,結合智能車的機械結構參數(shù),通過標定確定賽道曲率半徑與對應的轉向控制PWM占空比的關系,利用Matlab軟件擬合出轉向控制信號PWM輸出和攝像頭采集賽道中心線位置之間的函數(shù)關系作為打舵公式,即可保證智能車路徑識別的準確性。通過在賽道上大量的實驗測試,智能車能較平穩(wěn)地運行,并且進入彎道時會準確轉向,不會沖出賽道,所以路徑識別和轉向的策略有效可行。

舵機的打舵量以本文賽道中心線擬合之后的打舵參考行相對于圖像中心的偏移量dev[line]作為控制基礎。舵機的PWM輸出使用偏移量的二次函數(shù)公式,相對于一次函數(shù)打舵來說,可使打舵更加靈敏和精確。舵機控制部分核心程序代碼如下:

Turn_PWMOUT_Old=Turn_PWMOUT_New;

Turn_PWMOUT_New=(int16)(dev*turn1+fabs(dev)*dev/100*turn2; //得出轉向PWM

if(Turn_PWMOUT_New>400)Turn_PWMOUT_New=400;

if(Turn_PWMOUT_New<-400) Turn_PWMOUT_New=-400;

FTM_CnV_REG(FTMN[FTM1],FTM_CH0)=Turn_PWMOUT_New+duoji_center;

lastlasterror=lasterror;

lasterror=error;

其中:turn1為打舵參考值1;turn2為打舵參考值2;FTM_CnV_REG(FTMN[FTM1],FTM_CH0)為舵機轉向控制函數(shù);Turn_PWMOUT_New為轉向PWM輸出值;duoji_center為舵機中值;設定舵機的左右極限值為400。

電機速度根據(jù)路況信息控制,以實現(xiàn)平均速度最大化。直道時加速,彎道時適當減速。通過目標速度與實際速度作差得出速度增量Errory,電機速度控制是通過電機速度增量PID進行調(diào)節(jié)。電機速度控制部分核心代碼如下:

void SpeedPID()

{

PrevErrory=LastErrory;

LastErrory=Errory;

Errory=(int)(g_Speedgoal-RightMotorPulse)

RightMotorPulse=0;

PWM_outy = (int)(PWM_outy+(Motor_P*(Errory-LastErrory)+Motor_D*(Errory-2*LastErrory+PrevErrory)+Motor_I*Errory));//微分先行偏差

if(PWM_outy<0)

{

PWM_outy=-PWM_outy;

FTM_CnV_REG(FTMN[FTM0],FTM_CH3)= PWM_outy;

}

if(PWM_outy>10000)

{

PWM_outy=10000;//速度限幅

FTM_CnV_REG(FTMN[FTM0],FTM_CH2)= PWM_outy;

}

}其中:Errory為目標速度與實際速度差值;Motor_P為電機PID控制的P值;Motor_D為電機PID控制的D值。

2.4人機交互程序設計

通過TFT屏實時顯示攝像頭采集到的圖像,可以隨時調(diào)節(jié)攝像頭的俯仰角度,從而使攝像頭所采集到的圖像為最佳拍攝角度。通過5向按鍵可以調(diào)節(jié)舵機PID值和電機PID值[10],實現(xiàn)快速調(diào)試。

另外,使用SD卡存儲的攝像頭采集到的道路數(shù)據(jù)可以以第一視角觀測智能車狀態(tài),通過軟件分析賽道圖像可優(yōu)化路徑,為智能車快速、穩(wěn)定地運行提供有力保障。

2.5跑道測試與實驗分析

完成智能模型車的軟硬件設計之后,選取了一段賽道進行整車測試分析。測試跑道1圈為38 m,采用普通PVC材質(zhì),跑道元素有直道、彎道、十字路等。整車測試主要以開環(huán)及速度PID算法控制兩種模式,分別在下午及晚上兩個時間段進行,不同運行模式的部分測試效果如圖7所示。

圖7 智能車賽道測試效果

智能車進行了多組測試,測試圈數(shù)為5圈,可以得到每組測試參數(shù)的對比,如表1所示。

表1智能車測試參數(shù)對比

時間節(jié)點控制算法平均速度/(m·s-1)整圈完成度/%14:00—15:00開環(huán)控制145.814:00—15:00PID2.285.719:00—20:00開環(huán)控制110019:00—20:00PID2.5100

從表1中可以看出:下午的測試易受太陽光的影響,晚上的測試效果較好;速度開環(huán)算法對于智能車進入彎道時影響較大,而采用速度PID控制算法的模型車行駛速度相對較快,最高速度可達3 m/s。可見本研究設計的相關算法有效可行,達到了設計目標。

3 結束語

設計并實現(xiàn)了基于單目視覺的自主尋跡智能車,實物如圖8所示。智能車系統(tǒng)采用 OV7725 數(shù)字攝像頭采集賽道圖像黑色邊緣引導線,以參考行相對圖像中心的偏移量作為智能車方向和車速控制的基礎,運用PID 算法實現(xiàn)智能車轉向和車速的精細化控制。實驗結果證明:該智能車能可靠穩(wěn)定地按照指定的賽道自主尋跡行駛,并具有抗干擾能力強、響應速度快等特點,最高車速可達3 m/s。同時,為進一步克服智能車高速運行時出現(xiàn)的振蕩和穩(wěn)定性不足問題,對相關控制算法的優(yōu)化將是下一步的研究重點。

圖8 智能車實物

[1]韓毅,楊天.基于紅外傳感器的智能尋跡賽車的設計與實現(xiàn)[J].計算機工程與設計,2009,30(11):2687-2690.

[2]劉允峰,韓建群.基于飛思卡爾S12單片機的智能車系統(tǒng)設計與實現(xiàn)[J].渤海大學學報(自然科學版),2015,36(4):359-362.

[3]韓建文.基于飛思卡爾單片機智能車的設計[J].電子制作,2014(1):59-60.

[4]于豐華.基于K60的智能汽車控制系統(tǒng)的研究[D].長春:吉林農(nóng)業(yè)大學,2014.

[5]張雙喜,王金洋,丁磊,等.基于飛思卡爾單片機智能車雙線路徑識別設計與實現(xiàn)[J].山東交通學院學報,2012,20(4):14-17.

[6]張睿.基于K60的智能智能小車控制系統(tǒng)設計與實現(xiàn)[D].杭州:杭州電子科技大學,2014.

[7]楊正才,呂科,朱樂.基于飛思卡爾32位Kinetis-K60單片機的直立行駛智能車設計[J].湖北汽車工業(yè)學院學報,2014,28(2):47-50.

[8]王曉凱,李鋒.改進的自適應中值濾波[J].計算機工程與應用,2010,46(3):175-176.

[9]劉永濤,王鵬,魏朗,等.基于DSP的前方車輛位置關系辨識研究[J].計算機工程與設計,2014,35(5):1738-1742.

[10]李晨,宓超.基于飛思卡爾單片機MC9S12XS128的智能車設計[J].上海海事大學學報,2012,33(1):82-84.

(責任編輯劉舸)

Design and Implementation of Auto-Guided Smart Car Based on Monocular Vision

LI Ting1, QIAO Jie2, LIU Yong-tao2

(1.School of Vehicle Engineering, Xi’an Aeronautical University, Xi’an 710077, China;2.School of Automobile, Chang’an University, Xi’an 710064, China)

A design and implementation of an auto-guided smart car based on monocular vision was introduced. The OV7725 camera was used to collect road image information, which was processed by the MK60FN single-chip microcomputer. Speed was controlled by the DC motor, and the steering of smart car was controlled by the servo, and then the path recognition was achieved. Meanwhile, motor speed signal was got by the speed encoder, and the speed was controlled with the closed loop through transmitting real-time signal to the core board. In addition, in order to debug the system parameters quickly and effectively, the TFT display module and the SD card module was added. Experiment result shows that the smart car design is effective and feasible, and also it can control the stable running of the smart car on the track.

path recognition; monocular vision; MK60FN single-chip microcomputer; DC motor;servo

2016-06-08

國家自然科學基金資助項目(51278062); 浙江省交通科技項目(20150224)

李亭(1988—),男,陜西綏德人,碩士,主要從事車輛智能控制研究;E-mail:liuyongtao86@163.com.

format:LI Ting,QIAO Jie,LIU Yong-tao.Design and Implementation of Auto-Guided Smart Car Based on Monocular Vision[J].Journal of Chongqing University of Technology(Natural Science),2016(10):16-22.

10.3969/j.issn.1674-8425(z).2016.10.003

TP368.1

A

1674-8425(2016)10-0016-07

引用格式:李亭,喬潔,劉永濤.基于單目視覺的自主尋跡智能車設計與實現(xiàn)[J].重慶理工大學學報(自然科學),2016(10):16-22.

猜你喜歡
舵機賽道攝像頭
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
自制冰墩墩不能滑出“法律賽道”
公民與法治(2022年4期)2022-08-03 08:20:24
科創(chuàng)引領,搶跑新賽道
走向世界(2022年3期)2022-04-19 12:38:58
攝像頭連接器可提供360°視角圖像
征服蒙特卡洛賽道
含齒隙彈載舵機的全局反步模糊自適應控制
自動化學報(2019年6期)2019-07-23 01:18:36
基于dsPIC單片機的飛艇舵機控制實現(xiàn)
電子制作(2018年1期)2018-04-04 01:48:14
無人駕駛,先上賽道如何?
空中之家(2017年11期)2017-11-28 05:28:21
基于高速同步485總線通信的多通道舵機控制器設計
奔馳360°攝像頭系統(tǒng)介紹
东城区| 确山县| 同心县| 天气| 德钦县| 台江县| 沂水县| 阿荣旗| 苍溪县| 勃利县| 冷水江市| 高阳县| 洮南市| 平江县| 东方市| 咸宁市| 平舆县| 金门县| 上蔡县| 霞浦县| 杨浦区| 台安县| 岢岚县| 临潭县| 海丰县| 瑞金市| 循化| 正安县| 万州区| 丹江口市| 太和县| 南充市| 镇沅| 广东省| 聂拉木县| 梨树县| 陇川县| 平乡县| 汾西县| 瓦房店市| 依安县|