《基于閉環(huán)控制算法和PID優(yōu)化算法的智能小車軟件系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《基于閉環(huán)控制算法和PID優(yōu)化算法的智能小車軟件系統(tǒng)設計(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于閉環(huán)控制算法和PID優(yōu)化算法的智能小車軟件系統(tǒng)設計
摘 要:在全國大學生"飛思卡爾";杯智能汽車競賽的背景下,設計出一種能夠自動識別路徑、跟蹤賽道雙邊引導線的智能小車軟件控制系統(tǒng)。智能小車以飛思卡爾(Freescale)公司的MC9S12XS128為檢測和控制核心,根據(jù)不同的環(huán)境狀況動態(tài)確定黑白二值化閾值之后,對攝像頭采集到的圖像進行處理,從而準確判斷不同類型的賽道,進一步控制舵機和電機。使用舵機轉向閉環(huán)控制算法和電機速度閉環(huán)控制算法,結合經(jīng)典的PID控制算法,實現(xiàn)直道加速、彎道減速的優(yōu)化。智能小車最終可以在黑色雙邊引導線的白色背景賽道上自動識別路徑行駛。
關鍵詞:智能小車;M
2、C9S12XS128;圖像處理;閉環(huán)控制;PID控制
中圖分類號:TP311 文獻標識碼:A
Design of Smart Car Software System Based on Closed-Loop Control Algorithm and PID Optimization Algorithm
LI Biyue
(Dept . of Electronic Engineering,College of Information and Electrical Engineering ,China Agricultural University ,Beijing 10
3、0083,China )
Abstract:Under the background of "Freescale" cup national college students smart car competition,design a controlsystem software.Under this system,the smart car can automatically identify paths and trace the track of bilateral guideline.Tracking smart car system is designed based on
4、the control chip of system of Freescale MC9S12XS128 MCU.Afterdetermine the black and white binarization threshold according to the different environmental conditions,run a series ofprocessing on the images captured by the camera.Then,make an accurate judgment in the different shapes of the circuit t
5、ofurther control of steering gear and motor.Using steering gear steering closed-loop control algorithm and motor speed closedloopcontrol algorithm,combined with the classic PID control algorithm to achieve optimization of car was straight-lineacceleration,deceleration in bend.Smart car could eventua
6、lly automatically identify route which has the bilateral guide line ofthe white on black background and run steadily.
Keywords:smart car;MC9S12XS128;image processing;closed-loop control;PID control
1 引言(Introduction)
智能車控制系統(tǒng)的設計以汽車電子為背景,涵蓋自動控制、模式識別、傳感技術、計算機、機械與汽車工程等多門學科,是一項新興的綜合性技術。智能車系統(tǒng)是智能汽
7、車的迷你版本,二者在信息提取及處理、控制系統(tǒng)構成和控制方案整定方面有諸多相似之處,可以說智能車系統(tǒng)是智能汽車良好的實驗平臺。
智能車系統(tǒng)主要包括三個大部分,分別為車??傮w機械結構、硬件電路系統(tǒng)、軟件算法控制系統(tǒng)。如果說硬件是智能車行駛的基礎,那么程序算法就是靈魂。高效的程序則是智能車高速平穩(wěn)自動尋跡的基礎。
2 系統(tǒng)總體設計(General design of system)
2.1 概述
智能小車控制系統(tǒng)采用飛思卡爾公司的16位單片機MC9S12XS128為檢測和控制核心【1】。以COMS數(shù)字攝像頭OV7620為路徑檢測傳感器,以歐姆龍500線編碼器為速度檢測傳感器,
8、根據(jù)攝像頭檢測到的賽道信息【2】,以及編碼器采集到的小車速度信息,基于XS128單片機通過智能小車軟件控制系統(tǒng)對小車進行舵機轉向和電機驅動的控制,使智能車系統(tǒng)達到所需的穩(wěn)定性及快速性要求,從而實現(xiàn)小車的智能化行駛,如圖1所示。
2.1.1 需求規(guī)定
(1)在小車功能方面
最終完成的基于攝像頭傳感器的智能小車,要能夠做到在此軟件控制系統(tǒng)的支撐下,完成按規(guī)則繞賽道運行一周的任務。在準確識別賽道并穩(wěn)定運行一周的基礎上【3】,期望小車的速度越快越好,即完成比賽的用時越短越好。
(2)在小車性能方面
第一,要求智能小車軟件控制系統(tǒng)應具有良好的運行效率,行駛速度盡可能
9、快,能夠快速準確判斷出不同類型的彎道,并及時躲避在賽道上的障礙物;第二,應具有良好的靈活性,使行駛速度、自身調整角度都可以靈活改變;第三,應提供良好的測試模式,使設計人員可以方便的觀察、調整的小車運行模式;第四,應具有良好的可擴展性,從而為日后升級系統(tǒng)提供方便。
2.1.2 運行環(huán)境
2.2 系統(tǒng)各模塊設計
2.2.1 基于核心板MC9S12XS128的主程序(main函數(shù))設計
(2)定義
PLL_Init( ):初始化鎖相環(huán)函數(shù);
SCI_Init( ):串口初始化函數(shù);
PIT_Init( ):PIT定時器中斷初始化函數(shù);
10、PWM_Init( ):脈沖寬度調試模塊初始化函數(shù);
PH_Init( ):初始化單片機PH口函數(shù)(用于接收編碼器測速信息);
OV7620_Init( ):初始化攝像頭函數(shù)(用于OV7620信息采集)。
2.2.2 圖像采集模塊
(2)定義
存儲原始圖像矩陣的二維數(shù)組:Im a g e _ D a t a 。
(3)解釋
攝像頭是智能車的眼睛,我們將采用數(shù)字攝像頭進行賽道采集,在采集時,我們利用行、場中斷進行數(shù)據(jù)采集。在每次捕捉到40個行中斷之后,觸發(fā)一次場中斷,其中,在行中斷的中斷子函數(shù)中利用單片機讀出圖像數(shù)據(jù)。由于單片機的處理能力有限,所
11、以不能對攝像頭的一場圖像中所有行的所有像素點都進行處理,但為了獲得理想的賽道信息和足夠的前瞻量,需要通過多次實驗,需要選擇出合適的行和每一行中需要采集的像素點數(shù)。最終,將所采集的數(shù)據(jù)存在一個二維數(shù)組中,得到原始的圖像矩陣,以便后續(xù)處理。
2.2.3 圖像處理模塊
(2)定義
BEST_THRESHOLD( ):確定最佳黑白二值化閾值函數(shù)。
(3)解釋
在圖像處理模塊,為了能夠做到識別不同光線環(huán)境下的賽道,首先需要確定一個合適的黑白二值化閾值,確定閾值后,在保持原始圖像矩陣大小不變的前提下,對其進行均值濾波,在此算法基礎上對原始圖像進行二值化處理,從而達到降
12、噪的目的,最終通過攝像頭的上位機獲取到賽道的二值圖像。
2.2.4 電機驅動模塊
(1)電機驅動模塊采取速度閉環(huán)控制原理,結構示意圖如圖5所示。
(2)定義
speed_error=setV-backV:本次速度的偏差值=設定速度值-編碼器讀回的小車實際速度值;
last_speed_error:上一次的速度偏差值;
pre_speed_error:上上次的速度偏差值;
derta_M:經(jīng)過PID控制器處理過后的速度改變量。
(3)解釋
取三次速度偏差值,經(jīng)過PID控制器的處理,得到處理后的速度改變量,作用在設定速度setV上,通過
13、調整過后的PWM波來控制電機的轉動,使小車在不同類型賽道上行駛時有一個合適的速度。
2.2.5 舵機轉向模塊
(1)舵機轉向模塊采取運動方向閉環(huán)控制算法,結構示意圖如圖6所示。
(2)定義
Error:原始偏差數(shù)組;
angle_error=E2:本次角度的偏差值=處理后的偏差值E2;
last_angle_error:上一次的角度偏差值;
pre_angle_error:上上次的角度偏差值;
derta_S經(jīng)過PID控制器處理過后的角度改變量。
(3)解釋
通過獲取到的賽道信息,提取出賽道的中線,與圖像的中線進行比較,將每一
14、行的偏差值存儲在數(shù)組Error中,使用加權算法得到偏差值E2,取三次角度偏差值(指E2),經(jīng)過PID控制器的處理,得到處理后的角度改變量,作用在舵機的參考零點上,通過調整過后的PWM波來控制舵機的轉向量。
2.2.6 調試模塊
為了能夠對編碼器采集到的小車速度以及攝像頭采集到的賽道圖像進行檢測,還需要完善調試檢測模塊。實際使用中,我們將成品藍牙模塊與USB-TTL模塊連接并連接至電腦,將另一個藍牙模塊連接至單片機的UART1組,即S2、S3口,該口定義為TXD、RXD,通過串口SCI接收與發(fā)送數(shù)據(jù),接受到的數(shù)據(jù)我們通過上位機軟件,串口助手進行接收。所接收到的圖像如圖7所示(以十字路
15、口的識別為例)。
3 關鍵技術及難點(Key technology and difficulty)
3.1 PID控制算法
3.1.1 PID控制算法簡介
PID控制器是一種線性控制器,它根據(jù)給定值與實際輸出值構成控制偏差。將偏差的比例(P)、積分(I)和微分(D)通過線性組合構成控制量【4】,對被控對象進行控制,故稱PID控制器,原理框圖如圖8所示。
3.1.2 增量式PID
可以看出由于一般計算機控制系統(tǒng)采用恒定的采樣周期T,一旦確定了KP、KI、KD,只要使用前后三次量值的偏差,即可由上式求出控制增量【5】。
3.
16、2 圖像采集時如何躲避消隱區(qū)
在攝像頭進行圖像信息采集時會產生消隱區(qū)失真的問題,故使用延時函數(shù),通過延時作用來跳過圖像采集時的消隱信號,保證圖像不失真。
3.3 黑白二值化閾值的確定
要想從原始圖像數(shù)組中分離出白色賽道、黑色邊界和藍色的底布,必須在程序上設置一個灰度的閾值,當像素點灰度值大于該閾值時為白色賽道,當像素點灰度值小于該閾值時為非賽道,所以要將此值設置在藍色底布和白色賽道之間。但是由于比賽場地燈光,以及底布藍色深淺的不同,所界定的閾值也應該相應的改變,所以采用動態(tài)閾值可以大大提高小車對比賽環(huán)境的適應性【6】。
3.4 圖像降噪時的均值濾波算法
17、
點在內的像素總個數(shù)。
在具體實現(xiàn)過程中,我們將在原始圖像矩陣中依次取3*3的矩陣,采用九宮格形式,將每一次計算的均值賦給該矩陣的左上角元素,得到處理過后圖像矩陣,根據(jù)動態(tài)設定的閾值進行二值化操作,得到最終的賽道的二值圖像。
3.5 電機驅動模塊Set_V的確定
由于在不同類型的賽道上小車行駛的速度不同,故設定值Set_V不能始終為一個固定值參與到電機控制環(huán)中。
3.6 賽道中線的提取
前提:規(guī)定白色為1,黑色為0。具體操作:提取二值化賽道圖像(圖10)的一行,從該行數(shù)組的第一個元素開始判斷,當連續(xù)的1達到一定個數(shù)時(暫時規(guī)定10個1為標準),則第一個
18、檢測到的1所在的位置確定為Left;從該行數(shù)組的最后一個元素開始倒序判斷,同樣,當連續(xù)的1達到一定個數(shù)時,第一個檢測到的1所在的位置確定為Right,每行數(shù)組均進行此操
3.7 對原始偏差數(shù)組的加權處理算法
小車速度大小V對圖像遠近處偏差值權重大小的影響:車速慢時舵機不用提前打角,只需利用近處的圖像便可跑好,但是車速快時,由于舵機要提前打角,所以即使遠處的圖像不夠真實準確,對于快速行駛的小車來說遠處的圖像也顯得很重要。
因此,當獲取到原始偏差數(shù)組Error后,需要通過加權處理,對數(shù)組中不同行的元素乘以不同的權值,最終得到較為準確的偏差量E 2,該權值分配需滿足如圖11
19、所示的關系。
4 結論(Conclusion)
經(jīng)過調試和檢測的結果證明,在基于MC9S12XS128的智能車軟件控制系統(tǒng)的作用下,小車能夠在黑色雙邊引導線的白色背景賽道上自動識別路徑平穩(wěn)行駛。通過PID控制算法的優(yōu)化,實現(xiàn)了直道加速、彎道減速的設想;在圖像采集時,使用延時函數(shù)在一定程度上解決了圖像消隱區(qū)失真問題;均值濾波的降噪處理對于采集到的圖像進行了進一步的完善;閉環(huán)控制算法更是保證了小車行駛的穩(wěn)定性和快速性。相信通過進一步的探索與完善,這個智能小車軟件控制系統(tǒng)會得到越來越廣泛的應用。
參考文獻(References)
【1】 Zhang.L.,Q.H.So
20、ng.Design of Smart Car ServosystemB a s e d o n C a m e r a . M a n u f a c t u r i n g S c i e n c e a n dTechnology,2012:5923-5927.
【2】 Jiang.Z.J.,M.F.Wang,P.Guo.The Road Information VideoCapture and Processing Research for Smart Car Basedon CMOS Camera.Proceedings of 2009 InternationalConfere
21、nce on Information,Electronic and ComputerScience,Vols I and II,2009:96-101.
【3】 Ye.M.J.,C.H.Hu.Design of Electromagnetic Smart CarS y s t e m . M e c h a n i c a l a n d E l e c t r o n i c s E n g i n e e r i n gIII,2012:343-346.
【4】 張飛飛,楊雪松.基于MC9S12XS128單片機的路徑圖像識別智能小車.甘肅科技,2013(13):12-14.
【5】 陶永華.新型PID控制及其應用──第一講PID控制原理和自整定策略.工業(yè)儀表與自動化裝置,1997(04):60-64;46.
【6】 孔巖,董奧,王勇.攝像頭型智能車的賽道類型處理.電子世界,2016(11):134.
【7】 王惠華,等.基于二值圖像連通域提取的圖像濾波方法.北京印刷學院學報,2015,06:39-41.
李旭東,廖中浩,孟嬌.基于CMOS攝像頭的智能車控制系統(tǒng)設計及實現(xiàn).吉林大學學報(信息科學版),2013(04):414-418.
作者簡介:
李碧月(1996-),女,本科生.研究領域:電子信息工程.