本文是以第五屆“飛思卡爾”杯全國大學(xué)生智能汽車競賽為背景。本屆比賽新增加了電磁組的比賽,在50 cm寬的賽道中心鋪設(shè)有直徑0.1~0.3 mm的導(dǎo)線,其中通有20 kHz,100 mA的交變電流。除此之外,在賽道的起跑線處還有永磁鐵標(biāo)志起跑線的位置。車模要通過自動(dòng)識(shí)別導(dǎo)線所產(chǎn)生的電磁場進(jìn)行路徑檢測。
從道路元素來看,賽道一般可以分成直道、轉(zhuǎn)彎、S道、回環(huán)道等形式。在智能車行駛的過程中,為了選擇最佳路徑,減少行駛距離,在轉(zhuǎn)彎處最好選擇內(nèi)切,小S彎甚至可以近似的走成直線。但是由于電磁傳感器的局限性,不可能像攝像頭一樣檢測到前方賽道的全貌,這就要求在算法上有所突破。
1 智能車系統(tǒng)的硬件組成
1.1 整體硬件結(jié)構(gòu)介紹
圖1所示為智能車控制系統(tǒng)的硬件框圖。系統(tǒng)采用飛思卡爾半導(dǎo)體公司的16位微處理器MC9S12XS128作為核心控制芯片,設(shè)計(jì)最小系統(tǒng)模塊;外圍電路包括路徑檢測模塊,速度檢測模塊,舵機(jī)轉(zhuǎn)向模塊,電機(jī)驅(qū)動(dòng)模塊;電源模塊為整個(gè)系統(tǒng)提供動(dòng)力支持。其中速度檢測模塊采用光電編碼器采集信號(hào),并通過微控制器的ECT模塊進(jìn)行脈沖捕捉計(jì)數(shù),測得速度值;電機(jī)驅(qū)動(dòng)采用H橋,可實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)及制動(dòng)。

1.2 電磁傳感器的設(shè)計(jì)
根據(jù)麥克斯韋電磁場理論,交變電流會(huì)在周圍產(chǎn)生交變的電磁場。本智能車選用工字型10 mH電感作為磁場感應(yīng)傳感器。這類電感體積小,Q值高,具有開放的磁芯,可以靈敏的感應(yīng)周圍交變的磁場,產(chǎn)生響應(yīng)感應(yīng)電動(dòng)勢。圖2所示為路徑檢測模塊電路圖,這里只為其中的一路。

電路中L1為10 mH電感;C4為6.8 nF的諧振電容,實(shí)現(xiàn)20 kHz信號(hào)的選頻電路;Vout為感應(yīng)電動(dòng)勢輸出端。傳感器模塊伸出車體約10 cm,距離地面8 cm。
由畢奧-薩伐爾定律知,通有穩(wěn)恒電流的直導(dǎo)線周圍會(huì)產(chǎn)生磁場,感應(yīng)磁場分布是以導(dǎo)線為軸的一系列同心圓。圓上磁場強(qiáng)度大小相同,并隨著距離導(dǎo)線的徑增加成反比下降。
通電導(dǎo)線周圍的磁場是一個(gè)矢量場。在本設(shè)計(jì)中,根據(jù)法拉第電磁感應(yīng)定律,感應(yīng)電動(dòng)勢可近似為:
。k為比例系數(shù),與線圈擺放方法、線圈面積和一些物理常量有關(guān)。感應(yīng)電動(dòng)勢的方向可用楞次定律來確定。對(duì)于放置在導(dǎo)線上方h處,與導(dǎo)線水平距離為x的線圈中產(chǎn)生的感應(yīng)電動(dòng)勢的大小與
成正比。θ是傳感器所在平面與導(dǎo)線的夾角。
圖3所示為車模與賽道位置示意圖,車體前部即為路徑檢測模塊。α為車體相對(duì)于導(dǎo)線的偏移角度,d為車體相對(duì)于導(dǎo)線的偏離距離(垂直與車體中心線的橫向距離)。在車模行駛的過程中,每個(gè)電感線圈距離導(dǎo)線的距離不同,夾角也不同,因此輸出的感應(yīng)電動(dòng)勢大小不同。

圖4所示為本設(shè)計(jì)中電磁傳感器的布局。每兩個(gè)軸線相互垂直的電感作為一組傳感器,水平放置。

設(shè)每組傳感器中,前端電感輸出的感應(yīng)電動(dòng)勢為Ey,后端電感輸出的感應(yīng)電動(dòng)勢為Ex,則:
1)對(duì)于1號(hào)位的兩個(gè)電感,計(jì)算
,可求得電感所處磁場的導(dǎo)線方向,即車體相對(duì)于導(dǎo)線的偏移角度α;
2)2,3號(hào)位的電感同車體中心線成45°夾角,用來確定α值的正負(fù),即導(dǎo)線所處的象限。當(dāng)2號(hào)位檢測到的磁場強(qiáng)度明顯大于3號(hào)位時(shí),以2號(hào)位前后兩個(gè)電感的電動(dòng)勢之比
作為方向的參考:當(dāng)
時(shí),α為負(fù)(導(dǎo)線處于第二,四象限),
時(shí),α為正(導(dǎo)線處于第一,三象限);3號(hào)位的判別方法與之相反。
3)計(jì)算1號(hào)位前后兩個(gè)電感感應(yīng)電動(dòng)勢平方和之根
,再乘以比例系數(shù)λ,得到
,即為車體偏離導(dǎo)線的距離。
4)4,5號(hào)位的電感用來輔助判斷d值的正負(fù)(左為負(fù),右為正),方法同導(dǎo)線方向的判別類似。
由于實(shí)際賽道中磁導(dǎo)線的電流在50~100 mA之間,因此每次上電智能車都要有一個(gè)15 s的自學(xué)習(xí)的過程:將車體貼近賽道做左右擺動(dòng)(不超出賽道范圍),檢測出不同的車體姿態(tài)下電感感應(yīng)電動(dòng)勢的極值,并由此確定值。實(shí)驗(yàn)測得傳感器模塊距離的檢測精度為1.5 cm,角度的檢測誤差在±5°范圍內(nèi),前瞻距離可達(dá)到25 cm。實(shí)驗(yàn)的結(jié)果表明,這樣的傳感器布局對(duì)于導(dǎo)線的檢測是比較準(zhǔn)確的,而且它可以預(yù)測出導(dǎo)線的方向趨勢,便于前瞻性控制算法的設(shè)計(jì)。
2 整體控制系統(tǒng)的設(shè)計(jì)
智能車的控制結(jié)構(gòu)是以微處理器為核心。電機(jī)控制量、電機(jī)轉(zhuǎn)速和速度檢測構(gòu)成一個(gè)閉環(huán),該閉環(huán)的輸入為路徑檢測后微處理器給定的速度值,輸出控制后輪驅(qū)動(dòng);舵機(jī)控制量構(gòu)成一個(gè)控制系統(tǒng)通道,其輸入為徽處理器給定的轉(zhuǎn)角值,輸出控制前輪轉(zhuǎn)向:最后以運(yùn)動(dòng)軌跡作為路徑檢測反饋控制器的輸入,其與導(dǎo)線比較確定車體姿態(tài)從而構(gòu)成一個(gè)大的閉環(huán)控制系統(tǒng)。智能車的控制系統(tǒng)框圖如圖5所示。

3 轉(zhuǎn)向控制算法的設(shè)計(jì)
對(duì)舵機(jī)的控制,要保證在任何情況下,總能給舵機(jī)一個(gè)合適的偏移量,保證小車能始終連貫地沿導(dǎo)引線行駛,防止出現(xiàn)大的抖動(dòng)。
舵機(jī)轉(zhuǎn)向是一個(gè)雙輸入單輸出的控制器:輸入量為偏移角度α及偏離距離d,輸出量為舵機(jī)的給定值。通過實(shí)驗(yàn)得出,系統(tǒng)可以依靠單個(gè)輸入量來完成控制的舵機(jī),譬如以偏移角度α作為輸入,不考慮偏離距離d的作用。這種情況下系統(tǒng)雖然能夠運(yùn)行,但是控制的精度及響應(yīng)速度較低。同樣,在僅依靠偏離距離d的時(shí)候,系統(tǒng)的穩(wěn)定性較差,會(huì)出現(xiàn)比較明顯的抖動(dòng)。因此,需要綜合分析這兩個(gè)輸入量之間的耦合關(guān)系,實(shí)現(xiàn)更為精確的控制。
3.1 基于模糊控制的變參數(shù)PD控制器
基于模糊控制的PID參數(shù)整定就是將模糊理論應(yīng)用到PID 3個(gè)參數(shù)的整定中,將模糊理論與PID控制結(jié)合起來,構(gòu)成一個(gè)模糊PID控制器。本設(shè)計(jì)去掉了PID中的積分環(huán)節(jié),采用基于模糊控制的變參數(shù)PD控制器。因積分環(huán)節(jié)主要是用于消除靜態(tài)誤差,相對(duì)于干擾較大舵機(jī)控制來說,它的作用并不明顯,反而會(huì)降低響應(yīng)速度。變參數(shù)PD控制器的結(jié)構(gòu)如圖6所示。圖中:rin為系統(tǒng)的輸入;yout為系統(tǒng)的輸出;error為系統(tǒng)輸入與輸出的差;ec為誤差的變化率。

為了實(shí)現(xiàn)變參數(shù)PD控制,算法引入了兩個(gè)新的變量:偏移角度的變化率△α和偏移距離的變化率△d。
3.2 模糊控制規(guī)則及參數(shù)的整定
在模糊控制中取誤差α(或d)和誤差變化率△α(或△d)為輸入語言變量,以構(gòu)成一個(gè)二維模糊控制器,每個(gè)語言變量取負(fù)大(NB)、負(fù)中(NM)、負(fù)小(NS)、零(Z)、正小(PS)、正中(PM)、正大(PB)七個(gè)語言值。根據(jù)各模糊子集的隸屬度賦值表和各參數(shù)模糊控制模型,建立轉(zhuǎn)向模糊規(guī)則表。
參數(shù)的調(diào)整就是尋求Kp、KD與△α、△d之間的關(guān)系。智能車在運(yùn)行中不斷檢測α、d和△α、△d,然后查詢模糊規(guī)則表選擇合適的Kp、KD參數(shù)進(jìn)行控制。實(shí)際控制中,當(dāng)△α,△d增大時(shí),表明車體有偏離導(dǎo)線的趨向,這時(shí)候增加Kp、KD,阻止車體的繼續(xù)偏離;當(dāng)△α,△d減小時(shí),表明車體正逐漸趨近于導(dǎo)線,這時(shí)候就要減小Kp、KD。
設(shè)計(jì)中,系統(tǒng)首先采用基于模糊控制的變參數(shù)PD控制器分別實(shí)現(xiàn)單個(gè)輸入量下的控制量輸出,然后實(shí)驗(yàn)得出的線性耦合關(guān)系將兩個(gè)輸出量耦合為一個(gè)量控制舵機(jī)。
圖7所示為轉(zhuǎn)向控制算法框圖。UA為純偏移角度控制時(shí)舵機(jī)的給定量,UL為純偏離距離控制時(shí)舵機(jī)的給定量,SG為最終的舵機(jī)給定量。通過實(shí)驗(yàn)得到的耦合關(guān)系為:SG=0.6UA+0.4UL。這時(shí)的舵機(jī)響應(yīng)速度快,直道的跟蹤效果很好,通過彎道時(shí)可以看到比較明顯的內(nèi)切。

4 速度控制算法的設(shè)計(jì)
智能車要完成起動(dòng)、加速、減速、制動(dòng)等動(dòng)作。直線行走、拐彎和停車時(shí)要求不同的車速,因此速度必須采用閉環(huán)控制。智能車的速度與轉(zhuǎn)向是兩個(gè)獨(dú)立的被控量,但它們都是根據(jù)偏移角度α及偏離距離d來確定輸出給定量的。
根據(jù)智能車速度控制的特點(diǎn),設(shè)計(jì)采用了變結(jié)構(gòu)控制方法。變結(jié)構(gòu)系統(tǒng)是指在控制過程(活瞬態(tài)過程)中,系統(tǒng)結(jié)構(gòu)(或叫模型)可發(fā)生變化的系統(tǒng)。變結(jié)構(gòu)控制對(duì)加給系統(tǒng)的攝動(dòng)和干擾有良好的白適應(yīng)性。對(duì)于車速的控制,當(dāng)偏差較小時(shí),采用PID控制,提高穩(wěn)態(tài)精度;當(dāng)偏差較大時(shí),采用PD控制,以便加快響應(yīng)速度;當(dāng)偏差大于可調(diào)節(jié)范圍時(shí),采用Bang-Bang控制。圖8所示為速度控制算法框圖。

不同的偏移角α及偏離距離d通過查詢速度模糊規(guī)則表得到給定速度等級(jí)V。系統(tǒng)實(shí)時(shí)檢測電機(jī)的實(shí)際速度值,同當(dāng)前的設(shè)定值做比較,根據(jù)誤差范圍的不同分別采用PID控制、PD控制和Bang-Bang控制。當(dāng)速度誤差在±5%時(shí)采用PID控制;當(dāng)速度誤差在±5%~±10%時(shí)采用PD控制;當(dāng)速度誤差大于±10%時(shí)采用Bang-Bang控制。
5 結(jié)論
基于電磁傳感器的智能車的設(shè)計(jì),可以檢測出車模相對(duì)于導(dǎo)線的偏移角度α及偏離距離d,并以此作為控制的輸入量。通過變參數(shù)的PD控制和變結(jié)構(gòu)控制分別實(shí)現(xiàn)舵機(jī)和電機(jī)的精確控制。整體調(diào)試后車模速度由傳統(tǒng)控制方法下的1.8 m/s提高到目前的2.3 m/s,轉(zhuǎn)彎處可以看到比較明顯的內(nèi)切。實(shí)驗(yàn)結(jié)果表明,這種控制方法相對(duì)于單一的PID控制具有響應(yīng)時(shí)間快,穩(wěn)態(tài)性能好,抗干擾能力強(qiáng)的特點(diǎn)。
