嚴(yán)大考,李 猛,鄒 棟,張純梁
(華北水利水電學(xué)院,河南鄭州450045)
進(jìn)入21世紀(jì)以來(lái),隨著自動(dòng)控制技術(shù)、單片機(jī)技術(shù)、汽車電子技術(shù)、通信技術(shù)[1]等的飛速發(fā)展,可實(shí)現(xiàn)將各種高新技術(shù)以及實(shí)際駕駛操作經(jīng)驗(yàn)融入汽車設(shè)計(jì)中,以提高汽車駕駛的安全性能和能源利用率,所以,涵蓋多種前沿科學(xué)技術(shù)的智能車輛[2]成為研究熱點(diǎn).
筆者以電動(dòng)小車為研究對(duì)象,以具有良好分辨率和前瞻性的CMOS攝像頭作為循跡傳感器,提取賽道黑色帶狀引導(dǎo)線的中心,由核心控制器做出決策,輸出一定的占空比控制電機(jī)和舵機(jī),從而實(shí)現(xiàn)對(duì)小車轉(zhuǎn)向和速度的自動(dòng)控制.最后運(yùn)用CodeWarrior和MATLAB軟件對(duì)程序和參數(shù)進(jìn)行調(diào)試,使小車達(dá)到最佳行駛狀態(tài).
良好的硬件電路是智能車平穩(wěn)快速前行的保障,因此設(shè)計(jì)過(guò)程中要充分考慮其可靠性、簡(jiǎn)潔性和兼容性.其硬件系統(tǒng)框架如圖1所示.
電源模塊能夠給整個(gè)系統(tǒng)提供穩(wěn)定的電源,從而使系統(tǒng)穩(wěn)定運(yùn)行.在電路中,除了要考慮電壓、電容和電流等參數(shù)之間的相互影響外,還要在電源電能利用效率和抗干擾方面做出優(yōu)化.硬件電路的電源由壽命長(zhǎng)、污染小的7.2 V鎳鎘充電電池提供,由于各模塊所需電壓不一樣,采用穩(wěn)壓芯片對(duì)其進(jìn)行分壓,同時(shí)采用多路供電,以減少各模塊間的相互干擾,電源管理模塊如圖2所示.
采用的電機(jī)是RS380-ST,其轉(zhuǎn)速是由單片機(jī)的PWM模塊輸出的占空比控制,由BTS7960半H橋[3]驅(qū)動(dòng)芯片來(lái)控制電機(jī)的正反轉(zhuǎn),從而實(shí)現(xiàn)對(duì)小車加減速和制動(dòng)的控制,驅(qū)動(dòng)芯片與單片機(jī)接口電路如圖3所示.該芯片是完全針對(duì)驅(qū)動(dòng)電機(jī)設(shè)計(jì)的集成大電流半橋芯片,其在一個(gè)封裝中集成了一個(gè)P通道場(chǎng)效應(yīng)管上橋臂和N通道場(chǎng)效應(yīng)管下橋臂以及一個(gè)控制電路,有過(guò)壓、過(guò)流、過(guò)溫、短路保護(hù)以及輸入信號(hào)隔離保護(hù)等作用.將2個(gè)BTS7960組成一個(gè)全H橋電路,有助于小車在過(guò)彎道前提前減速,以順利通過(guò).
圖3 驅(qū)動(dòng)芯片接口電路
圖像采集模塊是整個(gè)智能車設(shè)計(jì)過(guò)程中的核心部分,是智能小車能否精確循跡的重要環(huán)節(jié).由此選擇體積小、耗電量小、圖像穩(wěn)定性高的CMOS攝像頭來(lái)采集圖像,其工作方式是按一定的分辨率對(duì)外界環(huán)境掃描,同時(shí)通過(guò)芯片將采集到的灰度值轉(zhuǎn)換為與之對(duì)應(yīng)的電信號(hào).掃描信號(hào)由圖像信號(hào),行場(chǎng)消隱信號(hào)和行場(chǎng)同步信號(hào)組成,因此為了提取有效的視頻信號(hào),通過(guò)LM1881視頻分離芯片分離出行場(chǎng)同步信號(hào)、奇偶場(chǎng)信號(hào),然后將分離出的這些信號(hào)分別接入單片機(jī)的外部中斷口PT0和PT1,如圖4所示.在采集的過(guò)程中,一定要保證中斷的優(yōu)先級(jí),若把握不好時(shí)序,圖像就會(huì)丟失.
圖4 圖像采集原理圖
增強(qiáng)型捕捉計(jì)時(shí)器(ECT)模塊的核心就是一個(gè)16位的可編程計(jì)數(shù)器,主要功能為輸入捕捉和輸出波形,是實(shí)現(xiàn)攝像頭采集圖像時(shí)行場(chǎng)中斷的重要模塊.利用其特有的脈沖捕捉工作方式,通過(guò)程序判定中斷標(biāo)志寄存器(TFLG1)中的相應(yīng)標(biāo)志位是否獲得相應(yīng)的行、場(chǎng)中斷信號(hào),從而確定每場(chǎng)視頻信號(hào)是否到來(lái),最后完成視頻信號(hào)的采集.
車速檢測(cè)模塊是對(duì)當(dāng)前小車的速度進(jìn)行實(shí)時(shí)檢測(cè),結(jié)合PID控制算法對(duì)速度進(jìn)行校正,使小車能夠以最快的速度跑完全程,其主要目的就是實(shí)現(xiàn)對(duì)小車的閉環(huán)反饋控制.將100線光電編碼器通過(guò)齒輪連接到差速器上,與單片機(jī)的ECT脈沖累加器相連,然后由單片機(jī)依據(jù)光電編碼器輸出的脈沖頻率計(jì)算小車的行駛速度.
由于賽道中一些不確定因素的存在,如反光、干擾點(diǎn)、十字交叉、賽道背景,這些因素會(huì)給小車的循跡帶來(lái)嚴(yán)重干擾,致使小車跑偏,沖出賽道.因此必須通過(guò)程序算法排除這些干擾因素,提取清晰有效的黑線,使小車沿黑線平穩(wěn)快速地前行.
二值化處理就是通過(guò)設(shè)定一個(gè)閾值把圖像中的像素點(diǎn)分為只有2種灰度等級(jí)的像素點(diǎn),也就是把圖像中的每個(gè)像素值與設(shè)定的閾值相比較,如果閾值小于等于該像素值,則該點(diǎn)為白色,反之為黑色.經(jīng)過(guò)處理的圖像黑白界限分明,有利于循跡.因此閾值的確定是至關(guān)重要的,其分為動(dòng)態(tài)閾值和固定閾值.經(jīng)驗(yàn)證,固定閾值不能較好地適應(yīng)外界環(huán)境的變化,易失效,不利于提取有效的黑線.由此選用動(dòng)態(tài)閾值,其能較好地適應(yīng)外界環(huán)境的變化,能夠有效排除噪聲和脈沖的干擾,保護(hù)圖像的邊緣,其設(shè)定辦法如下:
1)找出圖像中每一行最黑點(diǎn)的像素值dp和最白點(diǎn)的像素值wp;
2)動(dòng)態(tài)閾值設(shè)定為0.5(dp+wp),經(jīng)驗(yàn)證其能有效地平滑噪聲,排除干擾.
經(jīng)二值化處理后的圖像可以用0,1表示黑白像素點(diǎn),如圖5所示.
在提取黑線時(shí),由于某些因素的影響,如系統(tǒng)噪聲、曝光不足、外界雜點(diǎn)等,會(huì)造成圖像質(zhì)量下降以及失真.中值濾波是一種經(jīng)典的非線性除噪辦法,其不僅可以除噪且可以有效保護(hù)圖像的邊緣,復(fù)原效果良好.其基本原理是,將數(shù)組中某一點(diǎn)的像素值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)像素值的中值代替,使其接近真實(shí)值.如圖6和圖7所示,加入噪點(diǎn)后的圖像經(jīng)過(guò)處理后,滿足系統(tǒng)的要求.
為使小車能夠沿著黑線中心[4]平穩(wěn)快速前行,采用邊緣檢測(cè)法提取黑線,由于經(jīng)過(guò)處理的圖像只有2種像素值且黑白跳變明顯,故能快速尋找邊緣.由于賽道上的黑色帶狀引導(dǎo)線是連續(xù)的,相鄰兩行的跳變點(diǎn)也是相鄰的,利用這一特性,可根據(jù)上一行查找到的邊緣,在其附近對(duì)下一行的邊緣進(jìn)行搜索.這種算法可有效減少單片機(jī)的運(yùn)算量,高效尋找邊緣,同時(shí)也提高了程序的抗干擾能力.黑線的提取思想如下.
1)求黑線中心時(shí),由于近處黑線清晰且穩(wěn)定,遠(yuǎn)處黑線模糊不穩(wěn)定,故由近到遠(yuǎn)地提取黑線中心.考慮遠(yuǎn)處黑線分辨率低且存在失真,因此要?jiǎng)討B(tài)地確定查找黑線邊緣的閾值和相鄰行黑線中心的位置差別.
2)對(duì)圖像逐行掃描,判定掃描行的第一個(gè)點(diǎn)是否為白點(diǎn),如果是就開(kāi)始計(jì)數(shù)直至遇到黑點(diǎn),記下此時(shí)白點(diǎn)的個(gè)數(shù)a.而后開(kāi)始對(duì)黑點(diǎn)計(jì)數(shù)直至遇到白點(diǎn),記下黑點(diǎn)數(shù)為b,由此得到的黑線中心為(a+b)/2.
3)黑線的寬度是固定的,通過(guò)設(shè)定閾值的辦法判定提取的黑線是否有效,可以濾除“過(guò)寬”、“過(guò)細(xì)”黑線的干擾.
4)由于黑色引導(dǎo)線是連續(xù)的,因此可根據(jù)上一行求出的黑線中心的位置來(lái)判定本行求出的黑線中心是否有效,從而避免影響單片機(jī)的處理速度,滿足實(shí)時(shí)性的要求.
PID控制器是由比例、積分和微分三部分組成的控制調(diào)節(jié)器,其應(yīng)用廣泛,易于控制,精度高.采用PID[5]控制算法,能夠有效提升小車控制系統(tǒng)的整體性能,預(yù)期效果良好.
對(duì)電機(jī)的控制就是為了提高其動(dòng)態(tài)響應(yīng)速度和加減速性能:若為直道,通過(guò)單片機(jī)控制PWM輸出占空比,一般為90%以上,使電機(jī)兩端的平均電壓值達(dá)到最大,使電機(jī)迅速加速,如果超過(guò)預(yù)設(shè)的最大速度,PWM輸出占空比為0,此時(shí)為自由減速,一旦其小于預(yù)設(shè)的最小速度,則將其調(diào)至最大;判斷進(jìn)入彎道時(shí),則輸出較小的占空比,使電機(jī)反轉(zhuǎn),迅速減速,且要依據(jù)不同的彎道設(shè)定合適的占空比,以使小車順利快速通過(guò)彎道.
該小車采用的是直流驅(qū)動(dòng)電機(jī),其型號(hào)為RS380,主要參數(shù)是:轉(zhuǎn)速為255 r/s,額定電壓為7.2 V,電磁時(shí)間常數(shù)為 0.019 s,電動(dòng)勢(shì)常數(shù)為0.016 V/(r/min),電機(jī)時(shí)間常數(shù)為 0.13 s.由于電機(jī)的控制系統(tǒng)是二階系統(tǒng),故其傳遞函數(shù)模型為[6]
由于小車在行駛過(guò)程中,會(huì)受許多因素的干擾,因此對(duì)電機(jī)的控制是閉環(huán)反饋控制,以減小行駛過(guò)程中的偏差,提升行駛速度,其在MATLAB中建立的控制模型如圖8所示.
圖8 電機(jī)閉環(huán)控制結(jié)構(gòu)
選擇合適的PID控制參數(shù)是提升電機(jī)的加減速性能和舵機(jī)的轉(zhuǎn)彎能力的重要過(guò)程,因此借助MATLAB對(duì)PID參數(shù)進(jìn)行整定.
1)只有比例環(huán)節(jié)參與系統(tǒng)控制時(shí),KP值的選取對(duì)控制系統(tǒng)的影響有很大作用,如圖9所示.
圖9 不同KP值時(shí)的階躍響應(yīng)曲線
由圖9可知:比例系數(shù)能夠快速反映誤差的大小,能夠抑制穩(wěn)態(tài)誤差;KP的大小決定控制作用的強(qiáng)弱,KP越大,其控制偏差產(chǎn)生的作用就愈強(qiáng),同時(shí)也會(huì)提升系統(tǒng)的響應(yīng)速度,但是如果過(guò)大,系統(tǒng)會(huì)產(chǎn)生震蕩,從而影響系統(tǒng)的控制精度.
2)當(dāng)控制系統(tǒng)為PI控制時(shí)(KP=10),輸入不同的KI,得到系統(tǒng)的階躍響應(yīng)曲線如圖10所示.
由圖9和圖10可知:KI的作用主要是消除系統(tǒng)的穩(wěn)態(tài)誤差,提高系統(tǒng)的無(wú)差度;但隨著KI的增大,超調(diào)量減小,系統(tǒng)的響應(yīng)速度會(huì)變慢,甚至?xí)a(chǎn)生積分飽和的現(xiàn)象.
圖10 不同KI時(shí)的階躍響應(yīng)曲線
3)當(dāng)控制系統(tǒng)為 PID控制時(shí)(KP=10,KI=0.1),輸入不同的KD,得到系統(tǒng)的階躍響應(yīng)曲線如圖11所示.
圖11 不同KI時(shí)的階躍響應(yīng)曲線
由圖11可知:微分系數(shù)反映偏差的變化率,起預(yù)見(jiàn)的作用,可改善系統(tǒng)的動(dòng)態(tài)性能;如果KD過(guò)大,系統(tǒng)就會(huì)提前制動(dòng),使調(diào)節(jié)時(shí)間延長(zhǎng),同時(shí)也會(huì)使系統(tǒng)的抗干擾能力下降.
通過(guò)對(duì)以上仿真結(jié)果的分析,并結(jié)合試驗(yàn),最終選取 KP=9,KI=0.1,KD=0.01,其能夠滿足系統(tǒng)的各項(xiàng)性能指標(biāo),如圖12所示.
圖12 最終PID階躍仿真曲線
舵機(jī)控制是影響整個(gè)控制系統(tǒng)性能的主要因素,通過(guò)連桿機(jī)構(gòu)將傳動(dòng)變?yōu)槲灰?,從而改變受控物體的位置,結(jié)合單片機(jī)輸出的PWM波形控制舵機(jī)的轉(zhuǎn)角,使其能夠又快又準(zhǔn)地通過(guò)彎道.
舵機(jī)系統(tǒng)是一個(gè)隨動(dòng)系統(tǒng),對(duì)實(shí)時(shí)性要求很高,為控制其在轉(zhuǎn)彎過(guò)程中產(chǎn)生偏差導(dǎo)致小車沖出賽道,選用增量式PID控制算法對(duì)轉(zhuǎn)向舵機(jī)進(jìn)行控制,結(jié)合實(shí)際情況不斷調(diào)整PID參數(shù),以使小車平穩(wěn)快速轉(zhuǎn)彎.P系數(shù)是由路況和車速?zèng)Q定的:若是直道,可以適當(dāng)減小P系數(shù),以使小車在直道上減小轉(zhuǎn)彎分量,充分發(fā)揮小車加速性能;如果是大彎道或者直角彎道,P系數(shù)要加大,使小車提前減速做好轉(zhuǎn)彎準(zhǔn)備;如果是大 S或者小 S彎道,P系數(shù)介于兩者之間.
由于I系數(shù)會(huì)影響系統(tǒng)的隨動(dòng)性,會(huì)使系統(tǒng)延遲,直接令KI=0.微分項(xiàng)D系數(shù)主要起迅速校正的作用,車速慢時(shí),D系數(shù)起的效果不明顯.但是當(dāng)小車在直道上高速行駛過(guò)程時(shí),若沒(méi)有D系數(shù),小車將左右晃動(dòng).D系數(shù)的校正程度也是和賽道狀況相關(guān)的:若為直道,選擇較小的D系數(shù),因?yàn)檫^(guò)度的修復(fù)勢(shì)必讓小車喪失穩(wěn)定性;如果是大彎道或者直角彎道;D系數(shù)要加大,使其能順利地沿著黑線中心通過(guò);小S彎道,選擇適中的 D系數(shù)值,使其直沖過(guò)去.
用模塊化思想設(shè)計(jì)了以MC9S12XS128為核心的硬件控制電路,各個(gè)模塊間的協(xié)調(diào)很好地滿足了小車的控制要求.以PID算法為主要控制策略并結(jié)合其他各種算法,有效地提升了單片機(jī)的處理速度和系統(tǒng)控制的響應(yīng)速度和精度.經(jīng)試驗(yàn)驗(yàn)證,該小車能夠精確循跡,快速轉(zhuǎn)彎,且系統(tǒng)具有良好的魯棒性和抗干擾能力,滿足設(shè)計(jì)要求.
[1]梁玉紅.智能汽車研究與發(fā)展策略[J].汽車電子技術(shù),2010(6):66-69.
[2]胡海峰,史忠科,徐德文.智能汽車發(fā)展研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(6):20 -23.
[3] Baeuvais M,Kreucher C,Lakshmanan S.Building word models for mobile platforms using heterogeneous sensors fusion and temporal analysis[J].Intelligent Transportation System,1997(9):230-235.
[4]許寰,魯五一,趙治平.攝像頭路徑識(shí)別和小車控制策略[J].計(jì)算機(jī)工程與科學(xué),2009(5):110-115.
[5]杜云超.PID過(guò)程控制及其參數(shù)整定策略淺析[J].化學(xué)工程與裝備,2010(9):142-144.
[6]梁亦鉑,王正茂,何濤.全數(shù)字直流電機(jī)調(diào)速系統(tǒng)的原理及數(shù)學(xué)模型[J].中小型電機(jī),2001,28(6):17 -20.