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