999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于閉環控制算法和PID優化算法的智能小車軟件系統設計

2016-05-14 10:33:52李碧月
軟件工程 2016年9期

摘 要:在全國大學生“飛思卡爾”杯智能汽車競賽的背景下,設計出一種能夠自動識別路徑、跟蹤賽道雙邊引導線的智能小車軟件控制系統。智能小車以飛思卡爾(Freescale)公司的MC9S12XS128為檢測和控制核心,根據不同的環境狀況動態確定黑白二值化閾值之后,對攝像頭采集到的圖像進行處理,從而準確判斷不同類型的賽道,進一步控制舵機和電機。使用舵機轉向閉環控制算法和電機速度閉環控制算法,結合經典的PID控制算法,實現直道加速、彎道減速的優化。智能小車最終可以在黑色雙邊引導線的白色背景賽道上自動識別路徑行駛。

關鍵詞:智能小車;MC9S12XS128;圖像處理;閉環控制;PID控制

中圖分類號:TP311 文獻標識碼:A

Abstract:Under the background of "Freescale" cup national college students smart car competition,design a control system software.Under this system,the smart car can automatically identify paths and trace the track of bilateral guide line.Tracking smart car system is designed based on the control chip of system of Freescale MC9S12XS128 MCU.After determine the black and white binarization threshold according to the different environmental conditions,run a series of processing on the images captured by the camera.Then,make an accurate judgment in the different shapes of the circuit to further control of steering gear and motor.Using steering gear steering closed-loop control algorithm and motor speed closed-loop control algorithm,combined with the classic PID control algorithm to achieve optimization of car was straight-line acceleration,deceleration in bend.Smart car could eventually automatically identify route which has the bilateral guide line of the white on black background and run steadily.

Keywords:smart car;MC9S12XS128;image processing;closed-loop control;PID control

1 引言(Introduction)

智能車控制系統的設計以汽車電子為背景,涵蓋自動控制、模式識別、傳感技術、計算機、機械與汽車工程等多門學科,是一項新興的綜合性技術。智能車系統是智能汽車的迷你版本,二者在信息提取及處理、控制系統構成和控制方案整定方面有諸多相似之處,可以說智能車系統是智能汽車良好的實驗平臺。

智能車系統主要包括三個大部分,分別為車模總體機械結構、硬件電路系統、軟件算法控制系統。如果說硬件是智能車行駛的基礎,那么程序算法就是靈魂。高效的程序則是智能車高速平穩自動尋跡的基礎。

2 系統總體設計(General design of system)

2.1 概述

智能小車控制系統采用飛思卡爾公司的16位單片機MC9S12XS128為檢測和控制核心[1]。以COMS數字攝像頭OV7620為路徑檢測傳感器,以歐姆龍500線編碼器為速度檢測傳感器,根據攝像頭檢測到的賽道信息[2],以及編碼器采集到的小車速度信息,基于XS128單片機通過智能小車軟件控制系統對小車進行舵機轉向和電機驅動的控制,使智能車系統達到所需的穩定性及快速性要求,從而實現小車的智能化行駛,如圖1所示。

2.1.1 需求規定

(1)在小車功能方面

最終完成的基于攝像頭傳感器的智能小車,要能夠做到在此軟件控制系統的支撐下,完成按規則繞賽道運行一周的任務。在準確識別賽道并穩定運行一周的基礎上[3],期望小車的速度越快越好,即完成比賽的用時越短越好。

(2)在小車性能方面

第一,要求智能小車軟件控制系統應具有良好的運行效率,行駛速度盡可能快,能夠快速準確判斷出不同類型的彎道,并及時躲避在賽道上的障礙物;第二,應具有良好的靈活性,使行駛速度、自身調整角度都可以靈活改變;第三,應提供良好的測試模式,使設計人員可以方便的觀察、調整的小車運行模式;第四,應具有良好的可擴展性,從而為日后升級系統提供方便。

2.1.2 運行環境

2.2 系統各模塊設計

2.2.1 基于核心板MC9S12XS128的主程序(main函數)設計

(1)流程圖(圖2)

PLL_Init( ):初始化鎖相環函數;

SCI_Init( ):串口初始化函數;

PIT_Init( ):PIT定時器中斷初始化函數;

PWM_Init( ):脈沖寬度調試模塊初始化函數;

PH_Init( ):初始化單片機PH口函數(用于接收編碼器測速信息);

OV7620_Init( ):初始化攝像頭函數(用于OV7620信息采集)。

2.2.2 圖像采集模塊

(1)流程圖(圖3)

(2)定義

存儲原始圖像矩陣的二維數組:Image_Data[ROW][LIN]。

(3)解釋

攝像頭是智能車的眼睛,我們將采用數字攝像頭進行賽道采集,在采集時,我們利用行、場中斷進行數據采集。在每次捕捉到40個行中斷之后,觸發一次場中斷,其中,在行中斷的中斷子函數中利用單片機讀出圖像數據。由于單片機的處理能力有限,所以不能對攝像頭的一場圖像中所有行的所有像素點都進行處理,但為了獲得理想的賽道信息和足夠的前瞻量,需要通過多次實驗,需要選擇出合適的行和每一行中需要采集的像素點數。最終,將所采集的數據存在一個二維數組中,得到原始的圖像矩陣,以便后續處理。

2.2.3 圖像處理模塊

(1)流程圖(圖4)

(2)定義

BEST_THRESHOLD( ):確定最佳黑白二值化閾值函數。

(3)解釋

在圖像處理模塊,為了能夠做到識別不同光線環境下的賽道,首先需要確定一個合適的黑白二值化閾值,確定閾值后,在保持原始圖像矩陣大小不變的前提下,對其進行均值濾波,在此算法基礎上對原始圖像進行二值化處理,從而達到降噪的目的,最終通過攝像頭的上位機獲取到賽道的二值圖像。

2.2.4 電機驅動模塊

(1)電機驅動模塊采取速度閉環控制原理,結構示意圖如圖5所示。

speed_error=setV-backV:本次速度的偏差值=設定速度值-編碼器讀回的小車實際速度值;

last_speed_error:上一次的速度偏差值;

pre_speed_error:上上次的速度偏差值;

derta_M:經過PID控制器處理過后的速度改變量。

(3)解釋

取三次速度偏差值,經過PID控制器的處理,得到處理后的速度改變量,作用在設定速度setV上,通過調整過后的PWM波來控制電機的轉動,使小車在不同類型賽道上行駛時有一個合適的速度。

2.2.5 舵機轉向模塊

(1)舵機轉向模塊采取運動方向閉環控制算法,結構示意圖如圖6所示。

Error[S_ROW]:原始偏差數組;

angle_error=E2:本次角度的偏差值=處理后的偏差值E2;

last_angle_error:上一次的角度偏差值;

pre_angle_error:上上次的角度偏差值;

derta_S經過PID控制器處理過后的角度改變量。

(3)解釋

通過獲取到的賽道信息,提取出賽道的中線,與圖像的中線進行比較,將每一行的偏差值存儲在數組Error[S_ROW]中,使用加權算法得到偏差值E2,取三次角度偏差值(指E2),經過PID控制器的處理,得到處理后的角度改變量,作用在舵機的參考零點上,通過調整過后的PWM波來控制舵機的轉向量。

2.2.6 調試模塊

為了能夠對編碼器采集到的小車速度以及攝像頭采集到的賽道圖像進行檢測,還需要完善調試檢測模塊。實際使用中,我們將成品藍牙模塊與USB-TTL模塊連接并連接至電腦,將另一個藍牙模塊連接至單片機的UART1組,即S2、S3口,該口定義為TXD、RXD,通過串口SCI接收與發送數據,接受到的數據我們通過上位機軟件,串口助手進行接收。所接收到的圖像如圖7所示(以十字路口的識別為例)。

3.1 PID控制算法

3.1.1 PID控制算法簡介

PID控制器是一種線性控制器,它根據給定值與實際輸出值構成控制偏差。將偏差的比例(P)、積分(I)和微分(D)通過線性組合構成控制量[4],對被控對象進行控制,故稱PID控制器,原理框圖如圖8所示。

在計算機控制系統中,使用的是數字PID控制器,控制規律為

式中,:采樣序號,=0,1,2,…;:第次給定值;:第次實際輸出值;:第次輸出控制量;:第次偏差;:第次偏差;:比例系數;:積分時間常數;:微分時間常數;:采樣周期。

3.1.2 增量式PID

由上文中公式可得

得增量式PID控制算法公式

可以看出由于一般計算機控制系統采用恒定的采樣周期T,一旦確定了KP、KI、KD,只要使用前后三次量值的偏差,即可由上式求出控制增量[5]。

3.2 圖像采集時如何躲避消隱區

在攝像頭進行圖像信息采集時會產生消隱區失真的問題,故使用延時函數,通過延時作用來跳過圖像采集時的消隱信號,保證圖像不失真。

3.3 黑白二值化閾值的確定

要想從原始圖像數組中分離出白色賽道、黑色邊界和藍色的底布,必須在程序上設置一個灰度的閾值,當像素點灰度值大于該閾值時為白色賽道,當像素點灰度值小于該閾值時為非賽道,所以要將此值設置在藍色底布和白色賽道之間。但是由于比賽場地燈光,以及底布藍色深淺的不同,所界定的閾值也應該相應的改變,所以采用動態閾值可以大大提高小車對比賽環境的適應性[6]。

在此采用最大類間方差法:對原始圖像矩陣,記為前景與背景的分割閾值,前景點數占圖像比例為,平均灰度為;背景點數占圖像比例為,平均灰度為。圖像的總平均灰度為;從最小灰度值到最大灰度值遍歷,當使得值最大時,即為分割的最佳閾值。

3.4 圖像降噪時的均值濾波算法

為了使獲取到的圖像信息更加準確,需要對原始的圖像進行降噪處理,在這里我們使用均值濾波算法。均值濾波的基本原理是用平均值代替原圖像中的各個像素值,即對待處理的當前像素點[7],選擇一個小窗口(如一個3×3的矩陣),該窗口由其近鄰的若干像素點組成,求窗口中所有像素點的平均值,再把該均值賦予當前像素點,作為處理后圖像在該點上的灰度,即為該模板中包含當前像素點在內的像素總個數。

在具體實現過程中,我們將在原始圖像矩陣中依次取3*3的矩陣,采用九宮格形式[8],將每一次計算的均值賦給該矩陣的左上角元素,得到處理過后圖像矩陣,根據動態設定的閾值進行二值化操作,得到最終的賽道的二值圖像。

3.5 電機驅動模塊Set_V的確定

由于在不同類型的賽道上小車行駛的速度不同,故設定值Set_V不能始終為一個固定值參與到電機控制環中。

解決方法:考慮到直道速度快,彎道速度較慢,建立Set_V

和E2之間的二次曲線的模型關系,即,其中,,使用MATLAB仿真結果如圖9所示。

3.6 賽道中線的提取

前提:規定白色為1,黑色為0。具體操作:提取二值化賽道圖像(圖10)的一行,從該行數組的第一個元素開始判斷,當連續的1達到一定個數時(暫時規定10個1為標準),則第一個檢測到的1所在的位置確定為Left;從該行數組的最后一個元素開始倒序判斷,同樣,當連續的1達到一定個數時,第一個檢測到的1所在的位置確定為Right,每行數組均進行此操作,將每一行的所在的位置進行存儲,得到賽道中線信息,并分別與圖像的中心線位置做差,得到的數據存儲到Error[S_ROW]即為原始偏差數組。

3.7 對原始偏差數組的加權處理算法

小車速度大小V對圖像遠近處偏差值權重大小的影響:車速慢時舵機不用提前打角,只需利用近處的圖像便可跑好,但是車速快時,由于舵機要提前打角,所以即使遠處的圖像不夠真實準確,對于快速行駛的小車來說遠處的圖像也顯得很重要。

因此,當獲取到原始偏差數組Error[S_ROW]后,需要通過加權處理,對數組中不同行的元素乘以不同的權值,最終得到較為準確的偏差量E2,該權值分配需滿足如圖11所示的關系。

圖11 對原始偏差數組的加權處理示意圖

Fig.11 The deviation of the original array weighting diagram

4 結論(Conclusion)

經過調試和檢測的結果證明,在基于MC9S12XS128的智能車軟件控制系統的作用下,小車能夠在黑色雙邊引導線的白色背景賽道上自動識別路徑平穩行駛。通過PID控制算法的優化,實現了直道加速、彎道減速的設想;在圖像采集時,使用延時函數在一定程度上解決了圖像消隱區失真問題;均值濾波的降噪處理對于采集到的圖像進行了進一步的完善;閉環控制算法更是保證了小車行駛的穩定性和快速性。相信通過進一步的探索與完善,這個智能小車軟件控制系統會得到越來越廣泛的應用。

參考文獻(References)

[1] Zhang.L.,Q.H.Song.Design of Smart Car Servosystem Based on Camera[J].Manufacturing Science and Technology,2012:5923-5927.

[2] Jiang.Z.J.,M.F.Wang,P.Guo.The Road Information Video Capture and Processing Research for Smart Car Based on CMOS Camera[J].Proceedings of 2009 International Conference on Information,Electronic and Computer Science,Vols I and II,2009:96-101.

[3] Ye.M.J.,C.H.Hu.Design of Electromagnetic Smart Car System[J].Mechanical and Electronics Engineering III,2012:343-346.

[4] 張飛飛,楊雪松.基于MC9S12XS128單片機的路徑圖像識別智能小車[J].甘肅科技,2013(13):12-14.

[5] 陶永華.新型PID控制及其應用──第一講PID控制原理和自整定策略[J].工業儀表與自動化裝置,1997(04):60-64;46.

[6] 孔巖,董奧,王勇.攝像頭型智能車的賽道類型處理[J].電子世界,2016(11):134.

[7] 王惠華,等.基于二值圖像連通域提取的圖像濾波方法[J].北京印刷學院學報,2015,06:39-41.

[8] 李旭東,廖中浩,孟嬌.基于CMOS攝像頭的智能車控制系統設計及實現[J].吉林大學學報(信息科學版),2013(04):414-418.

作者簡介:

李碧月(1996-),女,本科生.研究領域:電子信息工程.

主站蜘蛛池模板: 国产网站免费| 免费毛片网站在线观看| 美女扒开下面流白浆在线试听| 永久毛片在线播| 91口爆吞精国产对白第三集| 国产精品久线在线观看| 亚洲精品成人片在线观看| 毛片视频网| 免费无码一区二区| 精品欧美视频| 国产亚洲精品91| 日韩成人在线网站| 91福利片| 久久久久无码精品| 4虎影视国产在线观看精品| 九月婷婷亚洲综合在线| 狠狠色噜噜狠狠狠狠色综合久| 亚洲无码高清视频在线观看| 亚洲品质国产精品无码| 亚洲无卡视频| 四虎永久在线精品影院| 亚洲欧洲日韩久久狠狠爱| 婷婷伊人五月| 日韩资源站| www.国产福利| 欧美19综合中文字幕| 亚洲一区国色天香| 亚洲系列无码专区偷窥无码| 国产在线观看精品| 2021精品国产自在现线看| 亚洲日韩高清在线亚洲专区| 97成人在线观看| 99精品这里只有精品高清视频| 91久久国产综合精品女同我| 欧美在线中文字幕| 国产va在线观看免费| 亚洲无码91视频| 一本大道视频精品人妻| 久视频免费精品6| 日本成人精品视频| 久久久久久午夜精品| 无码啪啪精品天堂浪潮av | 日韩AV手机在线观看蜜芽| 国产最新无码专区在线| 亚洲黄色网站视频| 激情综合图区| 成人字幕网视频在线观看| 1024国产在线| 免费A级毛片无码无遮挡| 中日韩欧亚无码视频| 亚洲欧美另类视频| 综合色在线| 久久精品中文字幕少妇| 亚洲天堂久久新| 一本久道久久综合多人 | 好紧好深好大乳无码中文字幕| 97精品伊人久久大香线蕉| 亚洲AV无码精品无码久久蜜桃| 国产在线啪| 久久一日本道色综合久久| 久久黄色一级视频| 国产新AV天堂| 91网址在线播放| 黄色网址免费在线| 动漫精品啪啪一区二区三区| 91福利免费视频| 久视频免费精品6| 欧美69视频在线| 野花国产精品入口| 在线看片中文字幕| 欧美日本不卡| 最新加勒比隔壁人妻| 亚洲欧美日本国产综合在线| 第九色区aⅴ天堂久久香| 高h视频在线| 国产精品分类视频分类一区| 国产成人a毛片在线| 免费99精品国产自在现线| 欧美 亚洲 日韩 国产| 午夜精品影院| 亚洲永久精品ww47国产| 好久久免费视频高清|