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

?

K60與動態(tài)集成模擬攝像頭的智能車控制策略設(shè)計※*

2015-08-15 06:28:22劉超白興振劉永奎
關(guān)鍵詞:黑線舵機小車

劉超,白興振,劉永奎

(山東科技大學電氣與自動化工程學院,青島266590)

K60與動態(tài)集成模擬攝像頭的智能車控制策略設(shè)計※*

劉超,白興振,劉永奎

(山東科技大學電氣與自動化工程學院,青島266590)

本文設(shè)計了一種能在模擬跑道上順利完成智能循跡的小車。該設(shè)計以嵌入式單片機MK60DN512ZLVQ10作為核心控制器,CMOS動態(tài)集成模擬攝像頭OV5116作為圖像傳感器獲取跑道圖像信息。運用硬件二值化處理圖像并提取賽道特征信息,通過控制舵機的轉(zhuǎn)向和電機的轉(zhuǎn)速,使車模能夠按照規(guī)定的跑道和規(guī)則完成比賽。實驗結(jié)果表明:該智能小車循跡精準,運行快速平穩(wěn),為相關(guān)循跡比賽和設(shè)計提供了參考。

嵌入式系統(tǒng);MK60DN512ZLVQ10;智能循跡;傳感器

引言

智能車輛集中運用了自動控制、多傳感器信息融合、導(dǎo)航技術(shù)、無線通信技術(shù)以及人工智能等高新技術(shù)[1]。在傳統(tǒng)智能車比賽中經(jīng)常應(yīng)用光電傳感器作為圖像數(shù)據(jù)的路徑識別模塊,但光電傳感器的前瞻較小且延伸調(diào)節(jié)不方便,其能獲取到的有效數(shù)據(jù)局限于有限的幾點,因此在多變的賽道環(huán)境中的適應(yīng)性較差。而CMOS OV5116動態(tài)集成模擬攝像頭的前瞻較遠且可調(diào)節(jié)性較強,能及早捕捉和提取循跡軌道信息以便做出加速、減速等處理。圖像數(shù)據(jù)中路徑識別模塊處理的方法決定著智能循跡車的穩(wěn)定性能和行駛速度。以嵌入式單片機MK60DN512ZLVQ10(以下簡稱K60)為核心控制器,利用其強大的數(shù)據(jù)處理能力和豐富的外設(shè)接口設(shè)計,來實現(xiàn)攝像頭圖像數(shù)據(jù)處理、舵機轉(zhuǎn)向控制和電機轉(zhuǎn)速控制等。

1 系統(tǒng)硬件設(shè)計方案

智能車系統(tǒng)主要包括以下幾部分:OV5116攝像頭進行跑道圖形采集;編碼器測量小車當前的運行速度;Freescale系列的K60微處理器進行信息處理;舵機控制車模的轉(zhuǎn)向;電機控制車模的運行速度。系統(tǒng)總體結(jié)構(gòu)如圖1所示。在系統(tǒng)硬件設(shè)計中,對圖像進行硬件二值化處理,不僅提高了圖像采集的可靠性,而且減小了CPU的運算負荷。

圖1 系統(tǒng)總體設(shè)計結(jié)構(gòu)圖

1.1 小車主板設(shè)計

為了合理利用車??臻g,并盡可能把小車的重心放低,在對電路進行詳細分析后,對其進行了簡化,使本系統(tǒng)硬件電路部分輕量化指標都達到了設(shè)計要求,主板整體效果略——編者注。

1.2 電源管理模塊設(shè)計

整個系統(tǒng)的電源由7.2 V、2 Ah的可充電鎳鎘電池提供。由于電路中不同模塊所需要的工作電壓、電流各不相同,因此電源模塊包含多個降壓穩(wěn)壓電路,將電池電壓轉(zhuǎn)換成各個模塊所需要的電壓。

電池經(jīng)過穩(wěn)壓芯片SPX3940為光電編碼器、攝像頭、舵機提供電源,并運用大量電感、電容,從而可以提供較為平穩(wěn)的5 V電壓,避免電壓波動對器件造成損害,電池電壓穩(wěn)壓到5 V電路如圖2所示。

圖2 電池電壓穩(wěn)壓到5 V電路

再經(jīng)穩(wěn)壓芯片LM1117為微處理器模塊提供3.3 V電壓,5 V電壓穩(wěn)壓到3.3 V電路如圖3所示。

圖3 5 V電壓穩(wěn)壓到3.3 V電路

1.3 圖像采集模塊設(shè)計

1.3.1 OV5116攝像頭成像原理

圖像采集模塊主要是通過CMOS OV5116動態(tài)集成模擬攝像頭采集賽道信息,并對信息進行處理以判斷車模在賽道上的位置。CMOS動態(tài)集成模擬攝像頭OV5116采用5 V電源供電,集成了模擬轉(zhuǎn)化為數(shù)字式的電平信號LM393和LM1881視頻分離芯片,具有輸出信號穩(wěn)定且容易測試、功耗低、發(fā)熱小等優(yōu)點。除鏡頭外,攝像頭還有一塊感光處理芯片、時鐘發(fā)生電路及一些外圍電路。感光處理芯片由方陣排列的感光元組成,當外部圖像經(jīng)鏡頭折射、聚焦到感光芯片上時,灰度信息轉(zhuǎn)化為電壓信息存儲在這些感光元中,在時鐘脈沖的作用下這些電壓信息順序輸出到信號線上。為了實現(xiàn)序列圖像的同步順序傳輸,在掃描過程中加入了場同步和行同步信號。現(xiàn)在國內(nèi)通用的視頻信號是PAL制信號,攝像頭傳送的信號也是PAL制。現(xiàn)在通用的視頻信號是625線,即一幅圖像豎著分為625行,這625行又按奇偶分為奇偶場,即每場圖像只有312行。攝像頭每秒掃描25幅圖像,每幅又分奇、偶兩場,先奇場后偶場,故每秒掃描50場圖像。奇場時只掃描圖像中的奇數(shù)行,偶場時則只掃描偶數(shù)行,當一場結(jié)束后,掃描點會從這場右下角掃到下場圖像的左上角[2]。圖4 為PAL制信號時序圖。

圖4 PAL制信號時序圖

1.3.2 圖像硬件二值化處理

將圖像導(dǎo)入MATLAB進行分析,發(fā)現(xiàn)原始圖像像素值均在0~255內(nèi),而白色區(qū)域像素值一般在160以上,黑色區(qū)域一般在70以下。為了提取出黑線,檢測像素值的跳變是最直觀的方案,但是實際中一般黑白線邊沿的像素值不是突然跳變的,而是有一個過渡過程。所以將原始圖像進行二值化處理不但有清晰邊沿線的功能,還能方便后續(xù)路徑識別部分算法的設(shè)計與處理。二值化處理就是對于輸入圖像的各個像素,先確定某個亮度值,當像素的亮度超過該閾值時,將對應(yīng)輸出圖像的像素值設(shè)為1,否則為0。行同步信號為一行掃描的開始信號,結(jié)合處理后的二值化圖像,計時出行同步信號到第一次檢測到的黑線的時間t1來得出第一條黑線的位置,同時計時t2來得到黑線的寬度,計時t2到t3來得到白色賽道的寬度。行分離、輸出二值化的視頻信號如圖5所示。

圖5 行分離、輸出二值化的視頻信號

攝像頭通過賽道的黑線來進行圖像識別,在攝像頭行消隱下降沿啟動定時器,每當有二值化邊沿來到時就會觸發(fā)相應(yīng)的引腳中斷,讀取定時器的值,通過中斷的次數(shù)可以反映對應(yīng)行的賽道信息,通過讀取定時器定時值可以反映車體在當前賽道的位置[2]。定時器中斷的次數(shù)與賽道底色有必然聯(lián)系,對于藍色的賽道底色,在沒有干擾的情況下中斷次數(shù)為2,計數(shù)器的值分別為左右白色起點的位置,而對于白色的賽道底色,在沒有干擾的情況下中斷次數(shù)為6,第2、3次的中斷采用對圖像進行硬件二值化處理,不僅提高了圖像采集的可靠性,而且減小了CPU的運算負荷。設(shè)計的電路圖略——編者注。

1.3.3 賽道識別策略

依據(jù)攝像頭所獲取的賽道信息判斷賽道環(huán)境和車體位置,根據(jù)賽道情況來使智能車控制舵機角度和電機速度。當前的賽道環(huán)境有:直線賽道、“十”字賽道和“S”彎賽道。各個賽道情況如圖6所示。

圖6 賽道情況

當智能車位于直線賽道時依據(jù)攝像頭二值化端口輸出的圖像中t1檢測的時間來判斷車體位置。當t1等于車體位于正中的t0時,舵機不作處理;當偏小時,舵機向左側(cè)打角度;當偏大時,舵機向右側(cè)打角度。

當智能車位于“十”字賽道時,會出現(xiàn)攝像頭看到的許多行全為白色的情況,即中斷次數(shù)為2,此時默認為小車處于賽道中心位置,可以不對小車位置進行調(diào)整,即小車可以保持原來的行駛狀態(tài),直到檢測到彎道為止。

當智能車位于“S”彎賽道時,攝像頭二值化端口輸出的圖像中,t1的計時時間數(shù)值增大,表明智能車進入“S”彎賽道。舵機處理方法類似于“十”字賽道,多行采集的數(shù)據(jù)中,視頻信號由檢測到黑線低電平到無低電平輸出,再到檢測到低電平信號,表明智能車進入的是“S”彎賽道的虛線段。此時可以使小車按之前的舵機角度保持行駛,直至圖像采集完虛線賽道進入實線彎道[3]。

起跑線識別策略:因為需要通過定時器中斷的次數(shù)和定時器的數(shù)據(jù)來對攝像頭采集的數(shù)據(jù)進行處理,在程序中應(yīng)用了很多算法對賽道中的干擾進行濾除,因此當檢測到起跑線時,定時器對應(yīng)行定時器中斷次數(shù)為白底10次、藍底6次,以此作為標志,當檢測到此標志時就認為檢測到了起跑線,從而停車。

1.4 電機驅(qū)動電路設(shè)計

整個電機驅(qū)動電路使用兩路PWM輸入,可以靈活控制電機的正反轉(zhuǎn)、加速以及減速。電機使能端接到單片機的I/O口,可以快速控制電機啟動和停止。使用了由分立元件制作的直流電動機可逆雙極型橋式驅(qū)動器,該驅(qū)動器額定工作電流遠大于電動機正常工作電流,因而不易損壞。電機驅(qū)動電路原理圖略——編者注。

本設(shè)計采用增量式PID控制來調(diào)節(jié)車速,通過控制編碼器對應(yīng)的數(shù)值來調(diào)節(jié)電機的PWM值。增量式PID調(diào)速是指控制的對象是速度的增量Δv(t),此時的控制量Δv(t)對應(yīng)著本次速度的增量,使用寄存器來存儲每次速度的增量。增量式算法優(yōu)點包括:算式中不需要累加,控制增量的確定僅與最近3次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果;計算機每次只輸出控制增量,即對應(yīng)執(zhí)行機構(gòu)位置的變化量,故機器發(fā)生故障時影響范圍小。采用軟件來實現(xiàn)PID控制,可利用算式(1)來完成:

進一步可以改寫成

設(shè)計中選擇周期T=20 ms,當確定了Kp、Ti、Td時,只要從寄存器讀出前后3次的速度偏差值Δv(t),便可由式(1)和式(2)求出控制增量。實驗證明:增量式PID控制能快速精準地調(diào)節(jié)小車的速度,在直道加速和彎道減速過程中平穩(wěn)有效地控制小車的行駛。

2 系統(tǒng)軟件設(shè)計方案

2.1 主程序流程圖

主程序包括系統(tǒng)初始化、自學習矯正圖像并存儲信息、舵機和電機初始化、賽道信息采集與處理、舵機控制、速度監(jiān)測并控制電機的旋轉(zhuǎn)速度、檢測起跑線等過程,主程序流程圖如圖7所示。

圖7 主程序流程圖

主程序包括自學習數(shù)據(jù)處理子函數(shù),根據(jù)采集到行信息的邊沿數(shù)目以及從定時器取出的數(shù)據(jù),從而確定跑道寬度以及黑線的位置;實時處理攝像頭數(shù)據(jù)子函數(shù),對正在運行車模采集到的數(shù)據(jù)根據(jù)邊沿數(shù)進行相應(yīng)的分類處理;通過本行定時器數(shù)據(jù)差值的比較,濾除相鄰跑道干擾的子程序;濾除相鄰行邊沿數(shù)不等且多余的干擾數(shù)據(jù)的子程序;處理數(shù)組列號是5(行信息邊沿觸發(fā)數(shù))轉(zhuǎn)換成4的數(shù)據(jù),便于判斷彎道并計算相鄰行黑線起點位置的子程序。

2.2 控制算法的設(shè)計

2.2.1 舵機控制算法的設(shè)計

首先將車模擺放在直道中間位置,通過初始化自學習采集較為標準的圖像,由于攝像頭采集的圖像是變形的,以攝像頭采集的第0行的數(shù)據(jù)作為基準,將其他行的數(shù)據(jù)與基準數(shù)據(jù)對比生成一系列數(shù)據(jù)并保存。當小車跑起來時,對采集到的數(shù)據(jù)用自學習時生成的系數(shù)進行校正,因為在自學習過程中兩條黑線及跑道中心線的位置已經(jīng)確定,此時可通過對當前攝像頭采集到的黑線位置計算生成的中心線的位置,與自學習生成的中心線位置數(shù)據(jù)進行比較,獲得當前位置的偏差,并根據(jù)偏差來計算當前位置舵機的PWM值。舵機根據(jù)單片機輸出的PWM值旋轉(zhuǎn)一定的角度,從而控制小車實時的轉(zhuǎn)向。

對攝像頭采集到的40行數(shù)據(jù)進行分段,計算出各段的偏差,并根據(jù)不同段偏差值的大小選擇控制舵機旋轉(zhuǎn)的連續(xù)行數(shù)據(jù)段,再根據(jù)不同的系數(shù)通過比例控制得到較為理想的控制舵機連續(xù)的PWM值。為了防止頻繁控制舵機導(dǎo)致車?;蝿?,對偏差值設(shè)置一定的死區(qū),可讓小車平穩(wěn)轉(zhuǎn)彎。針對不同跑道可以相應(yīng)設(shè)置舵機控制標志位,選擇不同的控制函數(shù)。

2.2.2 電機控制算法的設(shè)計

為了更好地控制智能車,舵機控制必須和速度控制結(jié)合起來,因此速度控制算法的實現(xiàn)很重要。在小車運行的過程中直道和彎道的速度不同,直道需要加速,而彎道需要減速才能更好地過彎,這就需要在直道和彎道的交界處提前減速。因為攝像頭的前瞻性,在遠處就可以識別出遠處的彎道,此時就需要減速,但由于車體的慣性因素,智能車不會立即將速度減到預(yù)定的大小,此時通過比較實際運行速度與設(shè)定速度的偏差來控制速度。如果偏差過大,就需要反向制動使智能車急減速,到彎道時速度就會減慢。通過編碼器每20 ms檢測一次速度,不斷判別實際速度與設(shè)定速度的偏差,從而校正車體速度以達到需要的效果。根據(jù)當前控制舵機的偏差值,把車模的速度分成3個檔位,分別對應(yīng)3個不同的速度,足以應(yīng)對不同的彎道,再通過調(diào)節(jié)系數(shù)大小可以實現(xiàn)不同速度檔位下小車的平滑行駛。

結(jié)語

本文論述了以嵌入式單片機K60作為核心控制器,動態(tài)集成模擬攝像頭OV5116作為圖像傳感器獲取跑道信息,以增量式PID算法來控制舵機、電機的運行。實驗證明,此設(shè)計的相關(guān)硬件電路設(shè)計合理,電源模塊能高效穩(wěn)定運行,圖像信息采集快速準確,智能車變向及時、變速迅捷。

編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www. mesnet.com.cn。

[1]王超藝,王宜懷.基于紅外傳感器的自尋跡小車控制系統(tǒng)的設(shè)計[J].電子工程師,2008,34(11).

[2]劉明,王洪軍,李永科.基于智能車中攝像頭的圖像采集的研究[J].電子設(shè)計工程,2012(17).

[3]程亞龍,周怡君.基于CMOS傳感器的智能車路徑識別研究[J].機械制造與自動化,2007(5).

[4]王偉,張晶濤,柴天佑.PID參數(shù)先進整定方法綜述[J].自動化學報,2000(3).

劉超(研究生),研究方向為電力系統(tǒng)及其自動化。

Intelligent Car Control Strategy Based on K60 and Dynamic Integration Analog Camera※

Liu Chao,Bai Xingzhen,Liu Yongkui

(School of Electrical Engineering and Automation,Shandong University of Science and Technology,Qingdao 266590,China)

The paper designs an intelligent car that can smoothly complete tracking on the simulated pathway.The design takes the embedded microcontroller MK60DN512ZLVQ10 as the core controller,uses CMOS dynamic integrated analog camera as image sensor OV5116 to obtain the runway image.Hardware binarization is used to process image and extract the characteristic information of track.The model is able to complete the race in accordance with the provisions of the rules of the game and the runway through controlling the rotation of the steering engine and the speed of the motor.The experimental results show that the intelligent car can track precision,run fastly and smoothly,provides the reference for the related tracking match and design.

embedded system;MK60DN512ZLVQ10;intelligent tracking;sensor

TP249

A

薛士然

2014-10-15)

山東科技大學教育教學研究“群星計劃”(No.qx2013331);山東科技大學自動化學院名校工程(No.MX-KJCX-2)。

猜你喜歡
黑線舵機小車
大車拉小車
快樂語文(2020年36期)2021-01-14 01:10:32
黑線
自制小車來比賽
科學大眾(2020年17期)2020-10-27 02:49:02
含齒隙彈載舵機的全局反步模糊自適應(yīng)控制
自動化學報(2019年6期)2019-07-23 01:18:36
劉老師想開小車
文苑(2018年22期)2018-11-19 02:54:18
兩輪自平衡小車的設(shè)計與實現(xiàn)
電子制作(2018年8期)2018-06-26 06:43:02
基于dsPIC單片機的飛艇舵機控制實現(xiàn)
電子制作(2018年1期)2018-04-04 01:48:14
蝦背黑線真的特別“臟”嗎
基于高速同步485總線通信的多通道舵機控制器設(shè)計
七巧數(shù)獨
石城县| 和龙市| 内乡县| 上杭县| 宜宾县| 哈密市| 博野县| 仁寿县| 民丰县| 枞阳县| 楚雄市| 莎车县| 清苑县| 盖州市| 沧州市| 浪卡子县| 离岛区| 新巴尔虎右旗| 镇沅| 皋兰县| 炎陵县| 上杭县| 新河县| 梁平县| 常州市| 彭水| 新化县| 尉犁县| 沁水县| 新邵县| 房山区| 方正县| 大悟县| 晴隆县| 小金县| 曲水县| 邢台市| 旅游| 江达县| 安仁县| 安徽省|