何恩節(jié),鄭磊
(安徽科技學(xué)院電氣與電子工程學(xué)院,鳳陽233100)
智能車系統(tǒng)的搭建與調(diào)控是一項綜合了傳感器技術(shù)、自動控制、模電等多學(xué)科知識的系統(tǒng)工程。近年來,該領(lǐng)域需求與日俱增,這也在很大程度上推動了智能車的迅速發(fā)展。當(dāng)前,隨著電子技術(shù)的快速發(fā)展,各類特別是實訓(xùn)類智能車變得越來越智能化和信息化。此外,走在智能車發(fā)展前端的實訓(xùn)類智能車的發(fā)展趨勢與技術(shù)變革也日趨多樣化[1]。
在實訓(xùn)類智能車系統(tǒng)設(shè)計與調(diào)試的研發(fā)中,電路布局、信息采集與處理、機(jī)械校正、算法優(yōu)化更是智能車總體方案設(shè)計中的重點,其優(yōu)劣程度直接影響系統(tǒng)動態(tài)響應(yīng)的性能。當(dāng)前研究基于實訓(xùn)教學(xué)的實踐經(jīng)驗,系統(tǒng)討論了一種新穎的實訓(xùn)類CCD 智能車系統(tǒng)的搭建與性能調(diào)控優(yōu)化。
整個車體由車底盤、軸承、齒輪、連桿、支架、固定部件以及車輪組成。車后輪由電機(jī)通過齒輪帶動,后輪旋轉(zhuǎn)以摩擦力為動力前進(jìn);前輪以數(shù)字舵機(jī)為核心,車輪、連桿等轉(zhuǎn)向機(jī)構(gòu)輔助實現(xiàn)轉(zhuǎn)向功能。
舵機(jī)是智能車轉(zhuǎn)向的直接驅(qū)動裝置,其性能的優(yōu)劣關(guān)系到車體的轉(zhuǎn)向響應(yīng)和過彎時車輛的穩(wěn)定性,其固定方式也在一定程度上決定了小車的整體轉(zhuǎn)向性能。舵機(jī)固定方式共有三種:立式安裝(圖1)、臥式安裝(圖2)、側(cè)(躺)式安裝(圖3)。
圖1 立式安裝
圖2 臥式安裝
圖3 側(cè)式安裝
小車轉(zhuǎn)向需受力,且所受力需傳遞至車輪。下面從力矩、連桿和車輪響應(yīng)角度對比分析三種安裝方式的優(yōu)劣。
立式安裝:固定至車體正中間位置,用兩根等長的拉桿牽住前輪。優(yōu)點:力臂長,前輪的響應(yīng)速度快。若舵機(jī)輸出的力F 一定,連接臂長L 可變,則運(yùn)用杠桿原理,易知連接臂輸出給車輪的力??梢娺^長的力臂會致使舵機(jī)輸出給車輪的力減小,導(dǎo)致力矩減小,在轉(zhuǎn)向中前輪轉(zhuǎn)不到位,高速狀態(tài)下易使小車偏離道路中心線。立式安裝時,要考慮到舵機(jī)力臂與轉(zhuǎn)向機(jī)構(gòu)的響應(yīng)速度和舵機(jī)輸出到車輪的力矩之間的關(guān)系,故需選取合適的力臂(通常選取3-4cm),且兩連桿長度相同。方向前輪左右最大轉(zhuǎn)動角度相同,當(dāng)舵機(jī)轉(zhuǎn)動時,拉桿帶動車輪機(jī)械部件做曲線運(yùn)動,符合阿克曼原理;立式安裝占車體縱向空間較后敘兩種方式小。缺點:車體前部重心略高,經(jīng)實際測試對車體行進(jìn)影響不大。
臥式安裝:固定至車體正中間位置,舵機(jī)輸出軸朝下。優(yōu)點:優(yōu)勢與立式安裝大體相同,同時克服了立式安裝重心略高的缺點。缺點:由于臥式安裝的安裝高度不同,會使連桿與水平面呈現(xiàn)夾角α,由力學(xué)分析可知:車輪受到的力F1=f cos α,其中,連接臂輸出到車輪的力會有所衰減;臥式安裝占車體縱向空間最大,不便于安裝調(diào)試以及后期的維護(hù)、更換以及檢修等操作。
側(cè)式安裝:舵機(jī)側(cè)躺安裝。優(yōu)點:鏈接在連接臂上的連桿左右長度不相同,有助于轉(zhuǎn)向;側(cè)式安裝舵機(jī)側(cè)面緊貼車體底部,車體前部重心最低,有利于車體轉(zhuǎn)向穩(wěn)定。缺點:調(diào)試難度大。較另外兩種固定難度大;舵機(jī)連接臂很短,舵機(jī)工作轉(zhuǎn)角與車輪響應(yīng)轉(zhuǎn)角差距過大,導(dǎo)致車前輪響應(yīng)差。
三種安裝方式各有優(yōu)劣,綜合比較立式安裝最為簡單有效,這也是是多數(shù)智能車采用的方案。
智能車行進(jìn)過程中,后輪為驅(qū)動輪,前輪為方向輪,車輪的參數(shù)整定主要以前輪為主,同時又以四個指標(biāo)衡量車前輪調(diào)校效果:主銷內(nèi)傾、主銷后傾、車輪外傾、前輪前束。
主銷內(nèi)傾(圖4):從車前端正視車輪,可知主銷內(nèi)傾是將主銷向車內(nèi)中心傾斜一個角度,傾斜后,主銷與車輪中心垂線的夾角即為主銷內(nèi)傾角。當(dāng)車前輪轉(zhuǎn)向時,由于存在主銷內(nèi)傾,車輪和車體前部被抬起一定高度,方向輪回正時,車輪會在重力作用下恢復(fù)至原來位置。通常智能車的主銷內(nèi)傾角為0-3°。
圖4 主銷內(nèi)傾角示意圖
圖5 主銷后傾角示意圖
主銷后傾(圖5):從車側(cè)端側(cè)視車輪,將主銷向車后傾斜一個角度,傾斜后,主銷與車輪中心垂線的夾角即為主銷后傾角。由于存在主銷后傾的作用,車輪偏轉(zhuǎn)后會產(chǎn)生回正力矩,這個回正力矩會使方向輪出完后自動回正,有利于小車出彎咬線直行。后傾角越大,回正力矩越大,但過大的后傾角會導(dǎo)致方向輪出彎回正過猛,車輪猛擺,引起小車系統(tǒng)震蕩,同時過大的力矩也會使轉(zhuǎn)向困難,增加了轉(zhuǎn)向機(jī)構(gòu)的響應(yīng)時間。通常智能車主銷后傾角為1-3°。
車輪外傾(圖6):從車前端正視車輪,前輪中心線向車外側(cè)傾斜,使車輪不與地面垂直貼合,外傾為正角,內(nèi)傾為負(fù)角。車輪外傾角可以減小前輪的轉(zhuǎn)向阻力,也降低了轉(zhuǎn)向機(jī)械部件的負(fù)荷,增加了機(jī)械的使用壽命。但對于實訓(xùn)類的智能競速小車來說,一般采用車輪內(nèi)傾(外傾為負(fù)角),相當(dāng)于給方向輪接地面積留下一入彎的提前量。當(dāng)車以較高的速度入彎時,隨著方向輪的偏角逐步增大,原本方向輪底部較小的接地面積會逐步增大,使車重心更靠近彎道圓心,輪胎與賽道的附著力隨之增大,車在彎道時的高速穩(wěn)定性得到顯著提升。通常車輪內(nèi)傾1-2°。
圖6 車輪外傾實物圖
圖7 前輪前束實物圖
前輪前束(圖7):從上車頂端俯視車輪,左右輪前端距離略小于后端距離,呈現(xiàn)出內(nèi)“八”,一般取6-10mm。前輪前束的作用減輕了因車輪外傾導(dǎo)致增大前輪磨損的副作用,與車輪外傾共同作用下,保證了前輪在小車行進(jìn)過程中的滾動。前輪前束能夠保證車在直線加速時減少細(xì)微抖動,保持直行穩(wěn)定,通常前輪前束為3°左右[2]。
行進(jìn)過程中車胎與地面直接接觸,因此在高速狀態(tài)下,車胎的處理顯得尤為重要,若某一個速度比為一道鴻溝,則車胎的處理過程,就是在逾越這道鴻溝。
常規(guī)的輪胎一般是套在輪轂上,但是車輪在高速旋轉(zhuǎn)的情況下,車胎會逐步脫離輪轂并向輪轂外側(cè)滑動,與輪轂產(chǎn)生相對的橫向位移,在車輪空轉(zhuǎn)情況下車胎會在短時間內(nèi)脫落。對此,需要使用膠將輪轂與輪胎貼合處粘合,避免橫向位移的產(chǎn)生。
全新的車胎其摩擦系數(shù)最小,新車胎使用一段時間后,摩擦系數(shù)會逐步提升,同樣的軟件、硬件條件下,小車行進(jìn)會穩(wěn)定很多。隨著小車路程的增加,車胎的摩擦系數(shù)會呈現(xiàn)“小→大→小”的變化趨勢。
在調(diào)車的過程中,應(yīng)當(dāng)把摩擦系數(shù)最大的車胎取下備用,換上新胎重新磨合。當(dāng)輪胎摩擦系數(shù)達(dá)到最大階段時,取下車胎,用車胎軟化劑浸泡輪胎,或者潤濕輪胎后使用保鮮膜包裹,使輪胎變軟,進(jìn)一步增加輪胎摩擦系數(shù)。正常情形下,一周后車胎在不進(jìn)行物理處理情況下摩擦系數(shù)達(dá)到最大。
大多數(shù)智能車驅(qū)動電機(jī)的控制策略通常采用閉環(huán)PID 控制?;仞亗鞲衅魍ǔ_x取光電編碼器,運(yùn)用光電編碼器實時監(jiān)控電機(jī)的實際轉(zhuǎn)速,并反饋到數(shù)字系統(tǒng)當(dāng)中完善閉環(huán)控制[3]。
PID 控制分為硬件和軟件PID。硬件PID 含有冗雜的硬件電路,占據(jù)電路板空間,較少應(yīng)用,當(dāng)前大都使用數(shù)字系統(tǒng)的軟件PID 控制,其核心便是PID 算法。PID 算法原理如8 所示。
圖8 控制系統(tǒng)原理框圖
位置式PID 算法的時域形式為:
另一種簡單形式是每一次計算輸出時,只取距離當(dāng)次計算最近的幾十個偏差的和替代總和:
調(diào)節(jié)Kp、Ki、Kd三個參數(shù)即可調(diào)節(jié)算法的效果。
比例系數(shù)Kp影響著電機(jī)設(shè)定轉(zhuǎn)速與測量轉(zhuǎn)速的差值,是控制輸出大小的決定部分。小的Kp值使設(shè)定值與期望值之差過大,而過大的Kp值又會使超調(diào)量過大,引起系統(tǒng)震蕩,造成小車不能勻速,當(dāng)逐步增大Kp值至系統(tǒng)恰好發(fā)生震蕩,此時略微減小Kp即可。
微分系數(shù)Kd影響著電機(jī)提速的快慢,即調(diào)節(jié)時間的長短。系統(tǒng)離散化處理后,差值代表了整個系統(tǒng)的響應(yīng)趨勢,運(yùn)用響應(yīng)趨勢控制系統(tǒng),提升了系統(tǒng)的響應(yīng)速度,進(jìn)而提高了系統(tǒng)的動態(tài)性能,解決了純Kd帶來的震蕩問題。調(diào)試過程中粗取,然后細(xì)調(diào)。
積分系數(shù)Ki影響著電機(jī)轉(zhuǎn)速能否穩(wěn)定在期望值。和值代表了整個系統(tǒng)的累積偏差,將累差輸出,時間越長,積分環(huán)節(jié)消除系統(tǒng)的靜態(tài)誤差效果越明顯。但過大的Ki值會使系統(tǒng)超調(diào)量增高,引起系統(tǒng)的不可恢復(fù)震蕩。
PID 參數(shù)整定過程中,按順序分別確定Kp、Ki、Kd的值。
由式(2)可得t-1時刻的輸出:
(2)式減去(3)式,得:
上式中ΔU 表示輸出增量,故式(5)為增量型PID的控制規(guī)律[4]。為化簡后對應(yīng)的參數(shù),但其意義與位置式中的Kp、Ki、Kd不同。增量式由位置式經(jīng)過數(shù)學(xué)變換得到,本質(zhì)相同,但經(jīng)過變換后,控制效果略有差異。比較式(5)與式(2),都擁有項,而控制輸出大小的決定部分是xe(t),分析公式后得出結(jié)果:參數(shù)整定過程中,增量式PID 整定順序為,與位置式略有不同。
由于增量式輸出ΔU 是增量,式(5)中也只使用了最近三次的誤差進(jìn)行計算,而位置式中需用到累差計算后得到U 直接輸出給執(zhí)行機(jī)構(gòu),在受到相同干擾的情況下,增量式顯然誤動作更小,抗干擾性強(qiáng),并且增量式在軟件程序中不需做累加處理,也就不需對累加進(jìn)行限幅,受編程語言變量上限值影響,位置式需要對累差進(jìn)行限幅。根據(jù)式(4)、(5),得到增量式輸出為:
在整定三個參數(shù)時,需弄清電機(jī)的負(fù)載。當(dāng)后輪抬起并空載時,電機(jī)的負(fù)載為齒輪和車輪,此時調(diào)節(jié)系數(shù)意義不大,車在賽道上跑時,電機(jī)負(fù)載為整個車體,觀察車在賽道上的穩(wěn)定速度、加速距離、穩(wěn)定所需時間,結(jié)合車的實際情況來調(diào)節(jié)三個參數(shù)才有實踐意義;確定參數(shù)同時,需對輸出進(jìn)行限幅,否則會出現(xiàn)不可預(yù)知的錯誤,如電機(jī)轉(zhuǎn)速失控、電機(jī)不轉(zhuǎn)等。
舵機(jī)分為模擬和數(shù)字舵機(jī),內(nèi)置電平比較模塊,方便人們使用控制。模擬舵機(jī)通常固定工作頻率50Hz,數(shù)字舵機(jī)擁有工作頻率高,響應(yīng)速度快等優(yōu)勢。舵機(jī)旋轉(zhuǎn)在0-180°范圍內(nèi)對應(yīng)單個周期內(nèi)高電平持續(xù)時間0-2.5ms,與高電平占空比無任何關(guān)系,通常取1.5±0.05ms 為中值(具體根據(jù)控制信號精度確定);取周期為 2.6ms,數(shù)字舵機(jī)實際最大工作頻率為:,一般選在50-350Hz 范圍內(nèi)。工作電壓通常選取5V,而在實際實訓(xùn)競速中,可采用6-7V 的電壓,以換取較高的輸出扭矩和響應(yīng)速度。由于舵機(jī)的機(jī)械特性,安裝舵機(jī)后首先得測定機(jī)械允許的最大轉(zhuǎn)角對應(yīng)的數(shù)值,對轉(zhuǎn)角進(jìn)行軟件限幅,否則會損傷舵機(jī)。
根據(jù)CCD 傳回的道路信息,計算處理出路徑信息后與設(shè)定中心信息比較,提取出差值e(t),運(yùn)用這個差值給予舵機(jī)轉(zhuǎn)向信號,實現(xiàn)智能車的轉(zhuǎn)向控制。舵機(jī)一般采用PD 控制:
式(7)中e(t )為期望轉(zhuǎn)角減去當(dāng)前轉(zhuǎn)角,比例Kp使舵機(jī)能夠根據(jù)道路的偏差大小進(jìn)行線性輸出,由于微分Kd的存在,運(yùn)用變化趨勢控制輸出,顯著提高了舵機(jī)的預(yù)見性,減少了轉(zhuǎn)向系統(tǒng)在大彎的過沖。
線性CCD 具有高靈敏度、動態(tài)性能好、線性度良好、體積小、接口簡單等優(yōu)點,易于使用單片機(jī)驅(qū)動,尤其適合實訓(xùn)類智能車賽道采樣工作。線性CCD 內(nèi)含128 像素檢測點,可將車前分為128 份進(jìn)行觀測,配合128×64 OLED 顯示屏,交互界面顯得更簡單有效。智能車在賽道上行進(jìn),完全依賴于圖像處理后的結(jié)果,圖像處理也是智能車系統(tǒng)性能優(yōu)化的重要一環(huán)。
CCD 經(jīng)過曝光后通過AD 轉(zhuǎn)換器及單片機(jī)得出128 個電壓值,通過增加或減少曝光時間可以提高或降低讀取電壓值的相對數(shù)值。若是在亮度均勻或光線干擾較小的賽道中,固定的曝光時間滿足CCD 采集信息穩(wěn)定的條件,但在光強(qiáng)不勻或亮度較小的環(huán)境下,固定的曝光時間就會嚴(yán)重干擾到CCD 采集的穩(wěn)定性,采集到的信息會出現(xiàn)混亂,甚至采集到錯誤的信息。此時引入曝光自適應(yīng)調(diào)節(jié),在光強(qiáng)較弱時,增加曝光時間;光強(qiáng)較強(qiáng)時,減少曝光時間,這樣能夠很好地減小干擾。
黑白賽道具有明顯的誤差,所以CCD 反饋回的128 個電壓值會有明顯的、區(qū)域性的差值。傳回的數(shù)據(jù)經(jīng)過濾波處理以后才能作為準(zhǔn)確的數(shù)據(jù)去運(yùn)用。由于CCD 觀察角度的差別等原因,同等光強(qiáng)情況下,賽道邊緣的電壓值會自然降低,同時,因CCD 畸變等緣故,得到的圖形效果不符合預(yù)期理想圖形(圖9 所示),圖中兩邊下降沿有漸變的過程,設(shè)定的閾值可能恰好位于平緩的下降沿,可能導(dǎo)致賽道識別錯誤。此時可引入濾波:采用多點取電壓平均值的方法,排除噪點,使抖動部分變得平滑。試驗多組128 個數(shù)據(jù),進(jìn)行比對,得到一個含有128 個數(shù)的加權(quán)數(shù)組,讓每個像素點采集到的電壓值乘以權(quán)值作為待處理的數(shù)據(jù),而后輔助濾波函數(shù),即可得到如圖10 所示的較為平穩(wěn)的圖形。
圖9 未濾波處理讀取的電壓值
圖10 濾波處理后讀取的電壓值
CCD 鏡頭角度分為45°、90°、120°三種。以900為例,由于CCD 俯視賽道,所以對于CCD 的128 個像素點來說,離攝像頭越近的區(qū)域,像素點對應(yīng)的寬度越小;越遠(yuǎn)的區(qū)域,像素點對應(yīng)寬度越大,導(dǎo)致每個像素點對應(yīng)的寬度不等,攝像頭兩端像素點對應(yīng)寬度大,中部像素點對應(yīng)寬度?。▓D11),無法真實有地反映出賽道的具體情況。
將CCD 前瞻距離與垂直于賽道的水平線構(gòu)成直角三角形(圖12),輔以正切函數(shù)進(jìn)行距離解算,將每個像素點對應(yīng)的賽道寬度平均化,即可得到穩(wěn)定的數(shù)據(jù)。首先定義一個正切函數(shù)數(shù)組,表示0-800正切函數(shù)值,以0.50為精度,數(shù)組內(nèi)共定義160 個數(shù)。根據(jù)圖12可得出:
式(8)中,β 是解算必需的底角,賽道邊界是CCD直接讀取出的賽道左右兩邊界,±0.5 為補(bǔ)償系數(shù);式(9)中,X 為最終解算的邊界結(jié)果,d 為CCD 前瞻距離,由于邊界解算是以賽道中心為零點進(jìn)行解算,所以在最終結(jié)果中需要加上中值補(bǔ)償,作為實際的解算結(jié)果。當(dāng)車體處于不同的賽道時,反饋回的左右邊界數(shù)據(jù)正負(fù)號需要調(diào)整,因此在式(8)和(9)中引入符號調(diào)整:無論是左、右邊界,只要當(dāng)賽道邊界大于賽道中值時,符號一律取正;當(dāng)賽道邊界小于64 時,符號一律取負(fù)。單片機(jī)通過解算公式對數(shù)據(jù)處理后,就得到了寬度平均化的賽道信息(圖13)。具體的圖像處理流程如圖14 所示。
圖11 未等分前CCD 像素點對應(yīng)賽道寬度
圖12 均分解算圖示
圖13 等分后CCD 像素點對應(yīng)賽道寬度
圖14 圖像處理流程框圖
智能車控制策略近年來初步分化為:勻速、直道提速—減速過彎、加速過彎等,這些控制策略均需對CCD數(shù)據(jù)進(jìn)行處理,識別出賽道的種類并加以控制。
加速過彎策略對車的控制算法,對機(jī)械特性要求非常高,而勻速耗時較長,鮮有人采取這兩種做法。目前直道提速—彎道減速策略因控制算法易于實現(xiàn),對客觀條件要求稍低,故選擇此種行進(jìn)策略。當(dāng)車在直道上高速行駛,識別出彎道時開始減速,但真正進(jìn)行減速時,車即將入彎或已經(jīng)入彎,此狀態(tài)車容易打滑或沖出賽道。直線減速階段,出彎后加速階段都比較浪費(fèi)時間,如何選取差速數(shù)值也是該策略直道與彎道差速控制的一個難點,需要多次試驗才能得出合適的數(shù)值。
車直線高速行駛時識別出彎道時,不對其進(jìn)行減速,而是給電機(jī)反轉(zhuǎn)信號,使其反轉(zhuǎn)并提供最大制動力,讓車迅速減速甚至短停,而后使用正常PID 控制,車會在入彎前以超低速重新加速,在彎道內(nèi)仍然保持提速狀態(tài),不過此時車速仍然在系統(tǒng)可控范圍內(nèi),出彎后甚至彎道內(nèi)車已經(jīng)提至設(shè)定速度,減少了“直道提速—減速過彎”策略的入彎減速和出彎加速的時間,有效地縮短了車的單圈耗時。該行進(jìn)策略可行性高且效果明顯,只需多次試驗,得出數(shù)據(jù),做好微分D 控制以及何時進(jìn)行剎車等即可,該策略也稱之為彎道點剎[6]。
本文從機(jī)械、控制、圖像處理、行進(jìn)策略多個角度由深入淺出地剖析了智能車系統(tǒng)的主要構(gòu)成,介紹了系統(tǒng)搭建與調(diào)控,比較了兩種PID 的性能,提出了采用增量式控制驅(qū)動電機(jī)、對賽道信息進(jìn)行濾波處理的較為新穎的方案和采用點剎過彎的行進(jìn)策略。該策略和方案具有系統(tǒng)響應(yīng)快、穩(wěn)定性優(yōu)良、咬線準(zhǔn)確、動態(tài)性能好、易于控制等優(yōu)點,相比于比其他策略可顯著縮短單圈耗時。