前饋-改進(jìn)PID算法在智能車控制上的應(yīng)用
1 引言
智能車系統(tǒng)是一個(gè)時(shí)變且非線性的系統(tǒng),采用傳統(tǒng)PID算法的單一的反饋控制會(huì)使系統(tǒng)存在不同程度的超調(diào)和振蕩現(xiàn)象,無法得到理想的控制效果。本文將前饋控制引入到了智能車系統(tǒng)的控制中,有效地改善了系統(tǒng)的實(shí)時(shí)性,提高了系統(tǒng)的反應(yīng)速度[1];并且根據(jù)智能車系統(tǒng)的特點(diǎn),對數(shù)字PID算法進(jìn)行了改進(jìn),引入了微分先行和不完全微分環(huán)節(jié),改善了系統(tǒng)的動(dòng)態(tài)特性;同時(shí),利用模糊控制具有對參數(shù)變化不敏感和魯棒性強(qiáng)的特點(diǎn)[2],本文將模糊算法與PID算法相結(jié)合,有效地提高了智能車的適應(yīng)性和魯棒性,改善了系統(tǒng)的控制性能。
2 改進(jìn)PID算法
智能車的控制是由飛思卡爾公司的S12芯片完成,所以對智能車的控制要采用計(jì)算機(jī)控制方法。本文針對智能車控制的特殊性,對傳統(tǒng)數(shù)字PID算法做了一些改進(jìn),這樣可以更好地滿足智能車控制的需要。
2.1不完全微分PID
將微分環(huán)節(jié)引入智能車的方向和速度控制,明顯地改善了系統(tǒng)的動(dòng)態(tài)性能,但對于誤差干擾突變也特別敏感,對系統(tǒng)的穩(wěn)定性有一定的不良影響。為了克服上述缺點(diǎn),本文在PID算法中加入了一階慣性環(huán)節(jié)[3] ,不完全微分PID算法結(jié)構(gòu)如圖1所示。
圖1 不完全微分PID算法機(jī)構(gòu)圖
將一階慣性環(huán)節(jié)直接加到微分環(huán)節(jié)上,可得到系統(tǒng)的傳遞函數(shù)為:
(1)
將(1)式的微分項(xiàng)推導(dǎo)并整理,得到方程如下:
(2)
式中, ,由系統(tǒng)的時(shí)間常數(shù) 和一階慣性環(huán)節(jié)時(shí)間常數(shù) 決定的一個(gè)常數(shù)。
為了編程方便,可以將2-2式寫成如下形式:
(3)
式中,。
分析式(3)可知,引入不完全微分以后,微分輸出在第一個(gè)采樣周期內(nèi)被減少了,此后又按照一定比例衰減[3][4]。實(shí)驗(yàn)表明,不完全微分有效克服了智能車的偏差干擾給速度控制帶來的不良影響,具有較好的控制效果。圖2為不完全微分PID算法的程序流程圖。
2.2 微分先行PID
由于智能車在跑道上行駛時(shí),經(jīng)常會(huì)遇到轉(zhuǎn)彎的情況,所以智能車的速度設(shè)定值和方向設(shè)定值都會(huì)發(fā)生頻繁的變化,從而造成系統(tǒng)的振蕩。為了解決設(shè)定值的頻繁變化給系統(tǒng)帶來的不良影響,本文在智能車的速度和方向控制上引入了微分先行PID算法,其特點(diǎn)是只對輸出量進(jìn)行微分,即只對速度測量值和舵機(jī)偏轉(zhuǎn)量進(jìn)行微分,而不對速度和方向的設(shè)定值進(jìn)行微分。這樣,在設(shè)定值發(fā)生變化時(shí),輸出量并不會(huì)改變,而被控量的變化相對是比較緩和的,這就很好地避免了設(shè)定值的頻繁變化給系統(tǒng)造成的振蕩,明顯地改善了系統(tǒng)的動(dòng)態(tài)性能。
圖3是微分先行PID控制的結(jié)構(gòu)圖,微分先行的增量控制算式如下。
(4)
圖2 不完全微分PID算法的程序流程圖
圖3 微分先行PID控制結(jié)構(gòu)圖
3 前饋控制的應(yīng)用
由于智能車的跑道寬度有限制,所以在經(jīng)過急轉(zhuǎn)彎的時(shí)候,如果速度和方向控制不及時(shí),智能車就可能沖出跑道。由于前饋控制是開環(huán)控制,所以前饋控制的響應(yīng)速度很快。將前饋控制引入到智能車的控制中,能夠提高舵機(jī)和伺服電機(jī)的反應(yīng)速度,改善智能車系統(tǒng)的動(dòng)態(tài)性能。
3.1 智能車控制系統(tǒng)結(jié)構(gòu)
智能車的控制主要體現(xiàn)在兩個(gè)方面:一方面是方向的控制,也就是對舵機(jī)的控制;另一方面是對速度的控制,也就是對伺服電機(jī)的控制。舵機(jī)的數(shù)學(xué)模型較為簡單,具有很好的線性特征,只采用前饋控制;智能車的速度控制相對復(fù)雜一些,速度模型無法準(zhǔn)確建立,采用前饋-改進(jìn)PID算法進(jìn)行控制。智能車的控制系統(tǒng)結(jié)構(gòu)如圖4所示。
圖4中, 和 分別是舵機(jī)和伺服電機(jī)數(shù)學(xué)模型。從圖中可以看出,智能車的方向控制和速度控制是相互獨(dú)立的,而且它們都是由路線偏差決定的。舵機(jī)轉(zhuǎn)角與路線偏差之間的對應(yīng)關(guān)系是根據(jù)舵機(jī)的數(shù)學(xué)模型得到的,在速度控制回路中,既包括反饋回路,又包括前饋環(huán)節(jié),伺服電機(jī)的控制量是在前饋補(bǔ)償基礎(chǔ)上,再由增量式PID算法計(jì)算得到。
圖4 智能車的控制系統(tǒng)結(jié)構(gòu)
3.2 在方向控制中的應(yīng)用
智能車對方向的控制有兩點(diǎn)要求:在直道上,方向保持穩(wěn)定;在轉(zhuǎn)彎處,需要方向變化準(zhǔn)確而且迅速。只有這樣,才能保證智能車在跑道上高速、穩(wěn)定地運(yùn)行。為了提高方向控制的魯棒性,本文還對路線偏差進(jìn)行了模糊化處理。圖5是智能車方向模糊前饋控制的結(jié)構(gòu)圖,圖中和分別是直道和彎道兩種情況下的前饋控制函數(shù)。
圖5 智能車方向控制系統(tǒng)結(jié)構(gòu)圖
3.3 在速度控制中的應(yīng)用
為了使智能車在直道上以較快速度運(yùn)行,在轉(zhuǎn)彎時(shí),防止智能車沖出跑道,則必須將智能車的速度降低,這就要求智能車的速度控制系統(tǒng)具有很好的加減速性能。當(dāng)智能車經(jīng)過連續(xù)轉(zhuǎn)彎的跑道時(shí),路線偏差的頻繁變化會(huì)造成速度設(shè)定的頻繁變化,這會(huì)引起速度控制系統(tǒng)的振蕩,并且微分環(huán)節(jié)對誤差突變干擾很敏感,容易造成系統(tǒng)的不穩(wěn)定。為了解決上述存在的問題,本文對數(shù)字PID算法進(jìn)行了改進(jìn),將不完全微分和微分先行引入到PID算法中,大大改善了速度控制系統(tǒng)的動(dòng)態(tài)性能。
圖6 智能車速度控制系統(tǒng)結(jié)構(gòu)圖
圖6是智能車速度控制系統(tǒng)結(jié)構(gòu)圖。由于賽道路況和智能車的姿態(tài)會(huì)經(jīng)常變化,所以速度控制系統(tǒng)的模型也是不定的,為了提高系統(tǒng)的適應(yīng)性,本文速度控制系統(tǒng)中采用了模糊PID算法。將速度設(shè)定和實(shí)際速度進(jìn)行模糊分檔[5][6],通過調(diào)試得到不同情況下相對最優(yōu)的PID參數(shù),保證了速度控制系統(tǒng)在不同情況下都有較好的控制效果。
4 結(jié)論
本文提出的前饋-改進(jìn)PID算法是智能車控制的有效方法,該算法使智能車系統(tǒng)不僅具有很好的動(dòng)態(tài)性能和反應(yīng)速度,而且改善了系統(tǒng)的適應(yīng)性和魯棒性,使智能車能夠在不同的跑道上以較快的速度運(yùn)行。實(shí)驗(yàn)表明:本文提出的控制算法有效地提高了智能車的性能,在同樣的跑道上運(yùn)行時(shí),采用了新算法的智能車比采用傳統(tǒng)PID算法反饋控制的智能車的速度有所提高,運(yùn)行一圈的時(shí)間平均減少了3.2秒,并且本文提出的算法也使智能車運(yùn)行的穩(wěn)定性得到改善,提高了智能車對跑道的適應(yīng)性。該方法具有很好的應(yīng)用前景。