張 萍, 陳國壯, 候云雷, 李 東
(江陰職業(yè)技術(shù)學(xué)院 電子信息工程系,江蘇 江陰 214400)
智能小車是集環(huán)境感知、路徑?jīng)Q策與自動行駛等多功能于一體的輪式移動機(jī)器人[1],在倉庫貨物搬運(yùn)、小區(qū)巡邏、險情排除等領(lǐng)域得到了廣泛應(yīng)用[2]。循跡是智能小車移動過程中經(jīng)常需要解決的問題,目前關(guān)于循跡小車的研究很多,其中大多數(shù)研究是從電動機(jī)驅(qū)動原理[3]、循跡算法的實現(xiàn)等方面進(jìn)行分析[4]。本文重點(diǎn)解決循跡小車紅外對管的抗干擾問題、彎道循跡時小車易沖出彎道和彎道循跡抖動等問題,并提出小車車速的模糊控制方案,從而實現(xiàn)小車快速、流暢循跡。
小車循跡是通過循跡傳感器對白色地面上的黑色跑道或者黑色地面上的白色跑道進(jìn)行檢測來實現(xiàn)的,循跡傳感器一般采用紅外對管,其檢測信號調(diào)理電路如圖1所示。
本系統(tǒng)是在白色地面上鋪設(shè)黑色跑道,循跡傳感器通過對黑色跑道進(jìn)行檢測實現(xiàn)循跡。當(dāng)紅外對管檢測到白色地面時,地面將發(fā)光管發(fā)出的光反射給接收管,接收管飽和導(dǎo)通,比較器LM339同相輸入端輸入低電平,輸出信號Uout為低電平;當(dāng)紅外對管檢測到黑色跑道時,發(fā)光管發(fā)出的光被黑色跑道吸收,接收管截止,比較器LM339同相輸入端輸入高電平,輸出信號Uout為高電平。電位器R4給比較器LM339反相輸入端提供了一個基準(zhǔn)電壓,通過調(diào)節(jié)R4可以改變基準(zhǔn)電壓,從而實現(xiàn)在不同循跡環(huán)境下循跡傳感器的正常輸出。
圖1 信號調(diào)理電路
系統(tǒng)采用4對紅外對管實現(xiàn)跑道檢測[8],其安裝位置如圖2所示,左邊安裝了兩對紅外對管L1和L2,右邊對稱安裝了兩對紅外對管R1和R2,中間兩個紅外對管間距為6 cm,旁邊兩個紅外對管間距為10 cm。左右兩邊分別使用兩對紅外對管進(jìn)行檢測,主要原因在于:① 防止車速過快時,小車偏離跑道,傳感器來不及檢測;② 根據(jù)同一邊兩個不同傳感器檢測的信號,可以判斷小車偏離跑道程度不同,從而可以采取程度不同的調(diào)整措施。
圖2 循跡傳感器安裝示意圖
如果L2或者R2檢測到黑線,表示小車右偏或者左偏,需要左轉(zhuǎn)或者右轉(zhuǎn)微調(diào);如果L1或者R1檢測到黑線,表示小車嚴(yán)重右偏或者嚴(yán)重左偏,需要左轉(zhuǎn)或者右轉(zhuǎn)急調(diào)。根據(jù)4對紅外對管檢測的信號對小車進(jìn)行循跡調(diào)整方案具體如表1所示。
表1 循跡方案表
采用紅外對管進(jìn)行路徑檢測很容易受到環(huán)境光源的干擾,因此對紅外接收進(jìn)行抗干擾處理顯得尤為重要。首先循跡小車工作環(huán)境的光線不可太強(qiáng),小車的調(diào)試環(huán)境盡量接近小車工作環(huán)境,以保證調(diào)試成功的小車在工作環(huán)境下能夠正常循跡。其次,發(fā)光管和接收管一般安裝得很接近,為了防止發(fā)光管發(fā)出的光被接收管直接接收,而不是被地面發(fā)射回來接收,發(fā)光管可采用熱縮管套住四周,只露出發(fā)光管前端,以保證光束平行照向地面,而不會向四周發(fā)散,被接收管誤接收。
小車直線循跡一般比較容易實現(xiàn),但是對于彎道循跡,尤其是對于半徑較小的彎道,小車循跡過程中很容易出現(xiàn)這樣兩種情況:① 沖出跑道;② 轉(zhuǎn)彎抖動頻繁。
在調(diào)試過程中,發(fā)現(xiàn)小車經(jīng)常在彎道處沖出跑道,經(jīng)過反復(fù)修改程序、調(diào)整參數(shù),發(fā)現(xiàn)其因為主要存在于兩個方面:
(1) 進(jìn)入彎道時速度過快。在彎道處,當(dāng)循跡傳感器檢測到小車偏離了跑道,還沒有來得及進(jìn)行行駛方向調(diào)整,由于速度過快,小車便完全脫離了跑道。為了解決這個問題,需要減小驅(qū)動直流電動機(jī)的PWM占空比,降低小車的行駛速度。
(2) 小車在方向調(diào)整的過程中,使用了軟件延時。在調(diào)試過程中,發(fā)現(xiàn)小車的行駛速度已經(jīng)降得很低,但是在轉(zhuǎn)彎的過程中,小車運(yùn)行情況并不穩(wěn)定:有時能夠成功轉(zhuǎn)彎,有時會脫離跑道。經(jīng)過分析與調(diào)試,發(fā)現(xiàn)其原因主要是由于小車在方向調(diào)整過程中,使用了軟件延時。方向調(diào)整使用軟件延時,意味著在延時過程中,循跡傳感器檢測的路徑情況沒有傳送給CPU進(jìn)行處理,如果在這個過程中小車方向調(diào)整過度,就很容易沖出跑道。
在去掉小車方向調(diào)整中的軟件延時,并適當(dāng)降低驅(qū)動直流電動機(jī)的PWM占空比后,小車就成功實現(xiàn)了彎道循跡。
小車在彎道循跡的過程中,常常需要停下來進(jìn)行方向調(diào)整,如果調(diào)整次數(shù)過于頻繁,小車看起來就好像是在“顫抖”。對于這個問題,系統(tǒng)采取了如下解決辦法:
經(jīng)過調(diào)試,發(fā)現(xiàn)小車在方向調(diào)整的過程中,如果方向調(diào)整角度越小,小車抖動得越厲害,因此為了減小抖動程度,需要加大方向調(diào)整角度。增大方向調(diào)整角度的方法有兩種:①方向調(diào)整時,增加軟件延時,讓小車在調(diào)整方向的運(yùn)行時間足夠;②增大小車方向調(diào)整的運(yùn)行速度,也就是加大彎道時電動機(jī)驅(qū)動PWM脈沖占空比。對于方法①增大了小車運(yùn)行的不穩(wěn)定性,有時會造成小車脫離跑道,因此系統(tǒng)采用方法②增大小車的方向調(diào)整角度。
跑道寬度和循跡中間兩對管的安裝間距與小車轉(zhuǎn)彎行駛的流暢性也密切相關(guān)。本系統(tǒng)中,4個循跡傳感器都檢測到白色地面時,表示小車正好沿著跑道行駛,應(yīng)該直行。當(dāng)沿著彎道行駛時,根據(jù)循跡傳感器檢測的信號進(jìn)行相應(yīng)的方向調(diào)整。如果中間兩個循跡傳感器的間距與跑道寬度比較接近,在彎道循跡時循跡傳感器會非常頻繁地檢測到跑道,從而造成小車頻繁地調(diào)整方向,引起小車頻繁抖動,因此小車中間兩個循跡傳感器之間的距離與跑道寬度之間的間距必須合適,如果過大,小車不能及時調(diào)整方向;如果過小,小車方向調(diào)整會過于頻繁,影響小車彎道循跡的流暢性。
根據(jù)小車循跡算法分析可知,在彎道循跡時,如果車速過快,小車易脫離跑道;如果車速過慢,小車抖動會比較明顯,因此合適車速的選取對于彎道循跡非常重要。在小車循跡的過程中,由于彎道的半徑是變化的,跑道的寬度不盡相同,小車偏離跑道的程度也在不斷變化,因此循跡的過程很難用一個精確的數(shù)學(xué)模型進(jìn)行描述,而模糊控制對數(shù)學(xué)模型依賴較弱,只要根據(jù)操作經(jīng)驗建立合適的控制規(guī)則,就能夠?qū)π≤囓囁龠M(jìn)行合理控制,從而完成成功循跡。
模糊控制是智能控制方法中的一種,無需預(yù)先知道被控對象的精確數(shù)學(xué)模型,控制規(guī)則以人的經(jīng)驗總結(jié)表示,對被控對象的參數(shù)變化具有較強(qiáng)的魯棒性。模糊控制包含模糊化處理、模糊推理和清晰化處理三部分,如圖3所示。
圖3 模糊控制器結(jié)構(gòu)
小車車速模糊控制器采用位置偏差e和位置偏差變化率ec作為輸入,提供給電動機(jī)驅(qū)動模塊的PWM占空比pwmdc作為輸出。
由圖2可知,e的基本論域為[-5 cm, 5 cm],將其量化為7級,對應(yīng)的模糊變量語言為[NB,NM,NS,ZE,PS,PM,PB]。根據(jù)實際經(jīng)驗,ec的基本論域為[-0.5 cm, 0.5 cm],將其量化為3級,對應(yīng)的模糊變量語言為[N, Z, P]。經(jīng)過反復(fù)實踐,得到pwmdc的基本論域為[0.4, 0.8],將其量化為3個等級,對應(yīng)的模糊語言變量為[V1, V2, V3]。e、ec和pwmdc均采用三角隸屬度函數(shù),如圖4~6所示。
圖4 e的三角隸屬函數(shù)
圖5 ec的三角隸屬函數(shù)
圖6 控制變量pwmdc的三角隸屬函數(shù)
通過對小車反復(fù)調(diào)試、運(yùn)行,總結(jié)得到小車車速的模糊控制規(guī)則為:①直道上車速最快;②彎道上小車減速;③小車略微偏離跑道,傳感器L2或者R2檢測到黑色路徑時車速減小調(diào)整方向,防止方向調(diào)整過度;④小車嚴(yán)重偏離跑道,傳感器L1或者R1檢測到黑色路徑時適當(dāng)加速,快速調(diào)整方向,防止小車抖動。
顯然,上述控制規(guī)則遵循的原則是:偏差較大時,模糊控制量的選擇以消除偏差為主;偏差較小時,模糊控制器的選擇以系統(tǒng)穩(wěn)定性為主,以防系統(tǒng)超調(diào)。根據(jù)上述控制規(guī)則建立的模糊控制表如表2所示。
表2 車速模糊控制規(guī)則表
Matlab 軟件繪制模糊邏輯控制器的輸入輸出三維曲面如圖7所示。
通過模糊控制規(guī)則得到的結(jié)果是一個模糊量,而控制系統(tǒng)輸出的控制信號是一個確定的量值,因此,在模糊控制應(yīng)用中還需要將模糊控制器輸出的模糊量進(jìn)行清晰化處理,以得到一個確定值。常用的清晰化方法有兩種:最大隸屬度法和重心法。由于最大隸屬度法引起的控制偏差較大,而重心法是取模糊隸屬度函數(shù)曲線與橫坐標(biāo)圍成面積的中心為模糊推理輸出的精確值,算法比較精確。根據(jù)重心法得到的小車速度控制表如表3所示。
圖7 輸出pwmdc的三維曲面
ec/(cm·s-1)e/cm<-5-5~-3-3~-1-1~11~33~5>5<-0.50.60.60.40.80.80.40.6-0.5~0.50.60.40.40.80.40.40.6>0.50.60.40.80.80.40.60.6
在確定了系統(tǒng)控制的模糊規(guī)則,創(chuàng)建了系統(tǒng)的模糊邏輯后,對整個系統(tǒng)進(jìn)行了Simulink仿真實驗。采用e和ec作為仿真輸入,pwmdc作為仿真輸出,建立的模糊控制仿真模型如圖8所示。
圖8 模糊控制仿真模型
e采用[-5 5]鋸齒波輸入,ec采用[-0.5 0.5]鋸齒波輸入,仿真波形如圖9所示。從仿真波形可以看出,當(dāng)e和ec很大時,PWM占空比為60%,小車方向調(diào)整速度較快,避免了彎道循跡時小車抖動;當(dāng)e和ec較小時,PWM占空比較小,小車方向調(diào)整速度較慢,以防止小車方向調(diào)整過度;當(dāng)e和ec幾乎為0時,表示小車正沿著軌道正常行駛,此時PWM占空比為80%,小車快速行駛。
圖9 模糊控制仿真波形
為了驗證模糊控制小車循跡的效果,在S形跑道、橢圓跑道和蛇形跑道上對小車性能分別進(jìn)行了測試[14-16]。系統(tǒng)控制電路供電電壓采用5 V,電動機(jī)驅(qū)動模塊供電電壓采用7.5 V。每種跑道分別測試10次,測試結(jié)果如表4所示。
表4 測試結(jié)果
從表4可知,對于彎道半徑大于10 cm的跑道,模糊邏輯控制的小車循跡流暢,基本沒有抖動,每次都能成功循跡。根據(jù)S形和蛇形跑道測試數(shù)據(jù)來看,由于S形跑道彎道較短,小車循跡速度較快;根據(jù)S形和橢圓形跑道的測試數(shù)據(jù)來看,彎道半徑越大,小車運(yùn)行速度也越快。
本文介紹了紅外循跡智能小車的循跡原理、紅外接收抗干擾處理的方法,分析了小車彎道循跡過程中易沖出跑道和頻繁抖動的原因和解決方案,并采用模糊控制策略對小車車速進(jìn)行合理控制。實驗結(jié)果表明,在跑道寬度適中的情況下,模糊控制的紅外智能小車循跡流暢,速度較快,系統(tǒng)穩(wěn)定可靠。