在智能車競賽中,速度控制不能采用單純的PID,,而要采用能夠在全加速,、緊急制動和閉環(huán)控制等多種模式中平穩(wěn)切換的“多模式”速度控制算法,才能根據(jù)不同的道路狀況迅速準(zhǔn)確地改變車速,,實現(xiàn)穩(wěn)定過彎,。
系統(tǒng)硬件設(shè)計
按照競賽要求,,本文設(shè)計的智能車速度控制系統(tǒng),以飛思卡爾MC9S12DG128 單片機(jī)為核心[1],,與車速檢測模塊,、直流電機(jī)驅(qū)動模塊、電源模塊等一起構(gòu)成了智能車速度閉環(huán)控制系統(tǒng),。單片機(jī)根據(jù)賽道信息采用合理的控制算法實現(xiàn)對車速的控制,,車速檢測采用安裝于車模后軸上的光電編碼器,直流電機(jī)驅(qū)動采用了由四個MOS管構(gòu)成的H橋電路如圖1所示,,電源模塊給單片機(jī),、光電編碼器和驅(qū)動電機(jī)等供電。
系統(tǒng)建模
一個針對實際對象的控制系統(tǒng)設(shè)計,,首先要做的就是對執(zhí)行器及系統(tǒng)進(jìn)行建模,,并標(biāo)定系統(tǒng)的輸入和輸出。為了對車速控制系統(tǒng)設(shè)計合適的控制器,,就要對速度系統(tǒng)進(jìn)行定階和歸一化[2],。對此,分別設(shè)計了加速和減速模型測定實驗,。通過加裝在車模后輪軸上的光電編碼器測量電機(jī)轉(zhuǎn)速,。編碼器齒輪與驅(qū)動輪的齒數(shù)比為33/76,編碼器每輸出一個脈沖對應(yīng)智能車運(yùn)動1.205mm,。車??梢酝ㄟ^調(diào)節(jié)加給電機(jī)的PWM波的占空比進(jìn)行調(diào)速。單片機(jī)上的PWM模塊可以是8位或16位的,,為了提高調(diào)速的精度,,電機(jī)調(diào)速模塊選用16位PWM,其占空比調(diào)節(jié)范圍從0到65535,,對應(yīng)電機(jī)電樞電壓從0%到100%的電池電壓,。
將車模放置在一段長直跑道上,采用開環(huán)方式給驅(qū)動電機(jī)加上不同的電壓,,記錄車模在速度進(jìn)入穩(wěn)定后的速度值,。然后將所測得的電樞電壓與車速進(jìn)行擬合的曲線如圖2所示,由圖1可將智能車加速模型近似為線性模型,。
根據(jù)實驗數(shù)據(jù)可以確定車速執(zhí)行器系統(tǒng)的零點和增益,。車速V與占空比PWM_Ratio的關(guān)系見公式1:
V = PWM_Ratio×402 + 22000 (1)
其中:PWM_Ratio的取值范圍為0-65535
車模減速有三種方法:自由減速、能耗制動和反接制動,。自由減速動力來自摩擦阻力,,基本認(rèn)為恒定。能耗制動是將能量消耗到電機(jī)內(nèi)阻上,,制動力隨著車速的降低而降低,,也可通過控制使加速度減小得更快。反接制動通過反加電壓實現(xiàn),,制動力與所加的反向電壓有關(guān),。
由于輪胎抓地力有限,制動力超過一定值后會發(fā)生輪胎打滑的情況,。一旦發(fā)生打滑,,會使剎車距離變長,過彎半徑變大,。如果能使剎車力始終控制在臨界打滑點上,,則可以獲得最短的剎車距離。在這三種減速方法中,,只有反接制動可以根據(jù)不同的車速給出不同的反接剎車力,,讓車速以最大斜率下降。因此,,通過大量實驗測定出不打滑的最高剎車電壓,,最高不打滑劃占空比約為55000。因為不同賽道會有差異,,在編程時留有了余量,。以震蕩作為識別車模在剎車時是否打滑的標(biāo)志??梢苑秩讉€典型的車速,,讓車模在直道上加到預(yù)設(shè)的速度,然后分別用一組反接電壓進(jìn)行反接制動,,觀察并記錄最高不打滑的剎車電壓,。這樣,每個典型車速都得到一個對應(yīng)的最大剎車電壓,。將最大不打滑反接電壓與車速對比后,,發(fā)現(xiàn)最大不打滑反接電壓與車速成比例關(guān)系??紤]直流電機(jī)的模型,,外部電壓加到電機(jī)電樞上時,電機(jī)轉(zhuǎn)子開始轉(zhuǎn)動,,產(chǎn)生反電勢,,此電壓與車速成正比例關(guān)系。當(dāng)轉(zhuǎn)子上產(chǎn)生的反電勢等于外加電壓后,,電機(jī)速度達(dá)到穩(wěn)態(tài),。因此,反接制動電壓減去電機(jī)產(chǎn)生的反電勢之后剩下的電壓部分才是用于減速的,。在車模要減速的時候,,可以先通過當(dāng)前車速計算出轉(zhuǎn)子的反電勢,,然后在這個基礎(chǔ)上再疊加一個反接制動電壓,送到執(zhí)行器上,。
車模前進(jìn)的阻力主要分為地面滑動摩擦力和風(fēng)阻,,車模在行駛過程中質(zhì)量保持恒定不變。在車速較低的情況下,,風(fēng)阻也可認(rèn)為是恒值,。結(jié)合以上實驗數(shù)據(jù)和推理可知,車速模型的主要部分為一階慣性環(huán)節(jié),。
速度控制策略
經(jīng)分析,,賽道大致分為直道,90度和90度以上的彎道和S形彎道等類型,,要想在不同道路上發(fā)揮出最大速度,,關(guān)鍵問題是如何判斷出道路的情況,以下是幾種道路的判斷條件和通過策略,。
a. 直道的判斷條件和通過策略
當(dāng)小車在中間三個光電管的檢測范圍內(nèi)檢測到黑線,,則認(rèn)為小車行駛在直道上,滿足直道的條件就使小車加速,,直至加到某個較大的值時滿足剎車的條件,。如果連續(xù)幾十個周期都檢測到了黑線,說明小車行駛在長直道上,,而轉(zhuǎn)彎時需要剎車,。
直道最高限速度是賽車從長直道入彎時不沖出彎道的最高速度,小車行駛時不能高于這個速度,。當(dāng)然,,剎車越及時,越靈敏,,則直道上速度就可以越大,。實驗得到約為55000(對應(yīng)PWM的占空比)。
需要剎車的最小速度是讓小車從長直道入彎,,不用剎車時能夠順利通過彎道的最高速度,。當(dāng)車的瞬時速度高于這個速度入彎時,啟動剎車,,反之,,不用剎車。實驗測得長直道入彎最高速度不超過50000(對應(yīng)PWM的占空比),。
b. 彎道判斷條件和通過策略
當(dāng)小車不滿足直道的條件時,,則行駛在彎道上。由于彎道的曲率半徑和角度的不同分為90度和90度以上的彎道和S形彎道,。當(dāng)小車行駛在彎道時,,只有某一邊的傳感器連續(xù)檢測到黑線,,再根據(jù)兩邊的傳感器檢測到黑線時間的長短來確定彎道角度的大小;如果小車行駛在S形彎道上,則傳感器檢測到的值會在水平偏差范圍內(nèi)連續(xù)變化,??傊趶澋郎?,要以彎道最大速度行駛,。
彎道最大速度是讓小車在彎道上一直加速,直至沖出賽道的速度,。當(dāng)賽車在彎道上的速度小于彎道最大速度時,,就要調(diào)整PWM信號的占空比,使小車逐漸加速,。實驗測得所有彎道最大速度不超過32000(對應(yīng)PWM的占空比),。
c.交叉線識別
按比賽規(guī)則,還有交叉線,,但由于是直角交叉,,因此只需要在多個傳感器都檢測到黑線的情況下保持原來的行進(jìn)方向和速度繼續(xù)前進(jìn)即可。
結(jié)語
全國智能車競賽最終比的是速度,,要想取得好成績就要讓小車在不同的道路上都能以極限速度行駛,。通過大量的實驗得出小車在不同形狀道路上的極限速度參數(shù),根據(jù)不同道路的判斷條件選擇合適的參數(shù),,再根據(jù)速度值來調(diào)節(jié)PWM,,從而實現(xiàn)智能車的快速穩(wěn)定巡線行駛。