丁 芳,王 蕊,劉游龍,林建偉
(中國民航大學a.航空自動化學院;b.計算機科學與技術學院,天津 300300)
基于模糊自適應PID的智能車設計與實現(xiàn)
丁 芳a,王 蕊a,劉游龍a,林建偉b
(中國民航大學a.航空自動化學院;b.計算機科學與技術學院,天津 300300)
在智能車控制過程中,由于方向控制與速度控制都是非線性的、時變的,采用傳統(tǒng)的PID算法進行控制效果不理想。模糊自適應PID算法能夠在線修改參數(shù),從而使智能車能夠根據(jù)路況的變化做出適當?shù)目刂茮Q策。該模糊自適應PID算法,通過Simulink在Freescale單片機MK60DN512ZVLQ10環(huán)境中編程實現(xiàn),并與傳統(tǒng)的PID算法的控制結果相比較。仿真和實驗結果表明模糊自適應PID控制器具有超調量小,響應快,適應能力強的優(yōu)點。
模糊控制;PID控制;智能車;Simulink
智能車沿白色底板兩邊的黑線行駛,其行駛軌道如圖1所示,總長度約為36.5 m,最小曲率半徑為0.5 m,賽道設有虛線,間隔0.1 m,虛線長度為2 m。使用的傳感器為OV7620 CMOS攝像頭。由于智能車控制系統(tǒng)具有高度非線性和時變不確定性等特點,在噪聲、負載擾動等因素影響下,其過程參數(shù)甚至模型結構均會發(fā)生變化。這就要求在PID控制中不僅PID參數(shù)的整定不依賴于數(shù)學模型,并且PID參數(shù)能在線調整,以滿足實時控制的要求[1]。將傳統(tǒng)的PID控制器和模糊控制器結合,實現(xiàn)了對智能車的快速穩(wěn)定控制。
圖1 智能車跑道圖Fig.1 Smart car track
智能車控制部分的電路大體由3部分組成,包括傳感器電路、電機、舵機驅動電路和主控電路。速度傳感器模塊是通過和后輪同軸的E6A2-CW3C歐姆龍編碼器雙相測速產(chǎn)生脈沖,由單片機LPTMR脈沖累加器捕捉10 ms時間內(nèi)的脈沖數(shù)來計算出賽車當前行駛速度的大小。采集到脈沖數(shù)和速度大致呈線性關系。道路信息采集模塊使用OV7620,分辨率可達640× 480,其結構如圖2所示。
圖2 智能車控制部分硬件結構Fig.2 Hardware structure of smart vehicle control part
常規(guī)的PID控制只要得到被控對象精確的數(shù)學模型,然后設置正確的KP、KI、KD參數(shù)就能工作。但在小車的實際控制過程中,在直道應設置較小的KP,以保證較小的抖動,而在彎道上則需要較大的KP,使舵機能快速達到過彎所需角度,并且在曲率不同的彎道,應設置不同的KP值。因此就需要PID控制器的參數(shù)具有自適應功能。
2.1 確定模糊控制器結構
模糊自適應PID控制器以誤差e和誤差的變化率ec作為輸入,利用模糊推理機對PID控制器的3個參數(shù)進行在線修改,輸出變量為ΔKP、ΔKI、ΔKD,自動校正初始KP、KI、KD,控制系統(tǒng)結構如圖3所示。
圖3 模糊自適應PID控制系統(tǒng)結構Fig.3 Fuzzy adaptive PID control system structure
2.2 確定語言變量并確定語言值的隸屬度函數(shù)
當攝像頭采集完一場圖像后,關閉所有中斷,軟件提取出黑色的邊沿線,并進行修正,計算出中心引導線,對有效行的中心點值累加再取平均值,將這個量與攝像頭視野的中心值求差,得到誤差e,誤差變化率ec=ei-ei-1。設誤差e的語言變量為E,誤差變化率ec為EC。E的論域為{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},EC的論域為{-3,-2,-1,0,1,2,3},輸出變量ΔKP的論域與E的論域相同,ΔKP、ΔKI的論域與EC相同,其中模糊子集為E,EC={NB,NM,NS,ZO,PS,PM,PB},分別表示負大、負中、負小、零、正小、正中、正大[2]。輸入變量E,EC的模糊子集的隸屬度函數(shù)采用高斯曲線隸屬度,輸出變量ΔKP、ΔKI、ΔKD的隸屬度函數(shù)均采用三角形函數(shù),如圖5所示。
圖4 輸入變量E的隸屬度函數(shù)Fig.4 Membership function of input variable E
圖5 輸出變量ΔKP、ΔKI、ΔKD的隸屬度函數(shù)Fig.5 Membership function of output variable ΔKP、ΔKI、ΔKD
2.3 編碼
實際測量中,誤差e的基本論域為[-70,70],誤差變化率ec的基本論域為[-10,10],而e、ec均為精確輸入量,通過量化使其成為離散量。誤差量化因子Ke= 6/70,誤差變化率量化因子Kc=3/10。
2.4 建立模糊控制規(guī)則
PID控制算法存在3種控制作用,其特點如下:①比例系數(shù)KP的作用是加快系統(tǒng)的響應,提高系統(tǒng)的調節(jié)精度。但若該參數(shù)調得過大就會形成過快響應,容易產(chǎn)生超調,甚至會導致原系統(tǒng)不穩(wěn)定;若該參數(shù)調得過小,就會使響應速度緩慢,從而延長調節(jié)時間,破壞系統(tǒng)的動態(tài)和靜態(tài)特性。②積分系數(shù)KI的作用是消除系統(tǒng)的穩(wěn)態(tài)誤差。如果該參數(shù)調得過大,在響應初期就會產(chǎn)生積分飽和,引起較大的超調,如果該參數(shù)調得過小,則難以消除靜差,影響系統(tǒng)精度。③微分作用系數(shù)KD的作用是改善系統(tǒng)的動態(tài)特性,在響應過程中抑制偏差向任何方向的變化,對偏差變化進行提前預報。但若該參數(shù)調得過大,則會影響系統(tǒng)的動態(tài)性能,系統(tǒng)會對誤差非常敏感,降低系統(tǒng)的抗干擾能力[3]。根據(jù)以上規(guī)則和實際經(jīng)驗建立模糊控制規(guī)則表,如表1所示。
2.5 去模糊化
采用Mamdani模糊推理類型,即模糊蘊含關系為[4]
表1 模糊控制規(guī)則表Tab.1 Fuzzy control rule
以Kp為例,假設輸出量為u,第1條語句所確定的模糊關系為
令此時刻計算出的誤差為e且誤差變化率為ec,可得
共7×7=49條模糊規(guī)則,可分別計算得到u1,u2,…,u49,采用重心法將這些控制量由模糊量變?yōu)榫_量,其計算公式為
在Matlab中建立FIS文件,設置輸入變量e和 ec、輸出變量ΔKP、ΔKI、ΔKD的隸屬度函數(shù)并添加模糊規(guī)則;然后進行仿真,并和傳統(tǒng)的PID響應曲線作比較,如圖6~圖8所示。
圖6 FIS編輯器設置輸入輸出變量Fig.6 Input and output variables of FIS editor
圖7 添加模糊控制規(guī)則Fig.7 Adding fuzzy control rules
圖8 模糊自適應PID控制器和傳統(tǒng)PID控制器仿真框圖Fig.8 Simulation block diagram of fuzzy adaptive PID controller and conventional PID controller
由圖9中的仿真結果可知:在傳統(tǒng)PID控制下,當外界參數(shù)發(fā)生改變時,系統(tǒng)超調量大,調節(jié)時間較長。而采用模糊自適應PID控制方法的超調量小,調節(jié)時間也較短。主要因為模糊自適應PID能夠自動調節(jié)PID參數(shù)的值,使系統(tǒng)響應具有較好的動態(tài)特性和穩(wěn)定性。
圖9 Simulink仿真結果Fig.9 Simulink simulation results
將模糊自適應PID算法和傳統(tǒng)PID算法程序下載到同一個MCU上,進行實驗。實驗室跑道總長為36.5 m,跑完1圈所花的時間如表2所示。
表2 不同算法跑完1圈所花的時間Tab.2 Lap time spent of different algorithms
智能車在行駛過程中,路徑信息不斷發(fā)生改變,具有時變非線性特點。模糊自適應PID算法能根據(jù)系統(tǒng)偏差和偏差變化率自動調節(jié)相關參數(shù),有效提高了系統(tǒng)的控制性能,增強了系統(tǒng)對外界干擾和參數(shù)變化的適應性,保證了系統(tǒng)的穩(wěn)定性和準確性,減小了系統(tǒng)的調節(jié)時間。該算法與傳統(tǒng)PID控制算法相比,取得了較好的控制效果。
[1]陶永華,尹怡欣,葛蘆生.新型PID控制及其應用[M].北京:機械工業(yè)出版社,1998.
[2]李士勇.模糊控制、神經(jīng)控制和智能控制論[M].哈爾濱:哈爾濱工業(yè)大學出版社,1998.
[3]叢自龍,袁朝輝,楊 芳.基于模糊自適應PID控制的定位系統(tǒng)設計[J].機床與液壓,2013,41(7):138-142.
[4]曹 菁.電動舵機模糊自適應PID控制方法[J].微電機,2007,40(10):89-92.
(責任編輯:黨亞茹)
Fuzzy adaptive PID design and implementation of intelligent car
DING Fanga,WANG Ruia,LIU You-longa,LIN Jian-weib
(a.College of Aeronautical Automation,b.College of Computer Science&Technology,CAUC,Tianjin 300300,China)
As directional control and speed control are nonlinear and time-varying during intelligent car controlling process,it's not ideal to use traditional PID algorithm.With online parameter modifying ability,fuzzy adaptive PID algorithm helps smart cars make appropriate controlling decisions according to road conditions.Fuzzy adaptive PID algorithm is achieved by Simulink in Freescale microcontroller(MK60DN512ZVLQ10)programming environment,and is compared with traditional PID control algorithm.Simulation and experimental results show that fuzzy adaptive PID controller has smaller overshoot,faster response and stronger adaptability.
fuzzy control;PID control;intelligent car;simulink
TP29;TP242.6
:A
:1674-5590(2014)06-0038-04
2013-10-18;
:2013-11-22
天津市自然基金項目(13JCYBJC39000);國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(201210059038)
丁芳(1960—),女,山西太原人,副教授,碩士,研究方向為檢測技術和智能控制.