靖固 馮曉雪 張學松
摘要:以預瞄與跟隨理論為基礎,設計了以FPGA為控制核心的導盲小車控制系統(tǒng),可實現正常盲道行進、障礙物避障行進和紅綠燈識別行進控制,為盲人出行提供安全保障.系統(tǒng)首先建立了基于平面幾何約束的角度與速度綜合控制模型,在此基礎上提出了一種適于FPGA實現的基于模糊規(guī)則的自校正舵機控制算法,進而實現對導盲小車的方向與速度綜合控制,本設計首先在Matlab環(huán)境下進行建模與調試,調試成功后運用Quanus II對控制器進行設計與仿真,實驗證明該系統(tǒng)具有很強的實時性與可靠性,可極大程度的保障盲人出行的安全。
關鍵詞:導盲系統(tǒng);FPGA;方向與速度綜合控制模型;模糊規(guī)則的自校正舵機控制
DoI:10.15938/j.jhust.2016.06.011
中圖分類號:TP391.41
文獻標志碼:A
文章編號:1007-2683(2016)0-0055-06
0.引言
導盲小車是盲人出行的重要輔助工具,而導盲小車控制系統(tǒng)的實時性與可靠性是尤為重要的,目前常用的導盲控制系統(tǒng)大都采用GPS定位和超聲波導盲控制,使系統(tǒng)成本高,實時性不理想;而模糊PID算法具有超調小穩(wěn)定性高的特點,但響應速度一般,本文采用了高度集成的FP-GA芯片作為導盲小車的控制核心,與預瞄跟蹤理論相結合,建立了基于平面幾何約束的角度與速度綜合控制模型,根據預期路徑獲取預瞄點位置和路徑方向的相關信息,經基于模糊規(guī)則的自校正舵機控制算法,實現對導盲小車的方向與速度綜合控制,進而提高盲人出行的安全性。
1.導盲小車的硬件系統(tǒng)
導盲小車以FPGA為控制核心,同時配備了電機和舵機以及他們的驅動裝置、紅外傳感器檢測裝置、速度光電編碼器、轉角光電編碼器以及電源和時鐘模塊.導盲小車的控制系統(tǒng)結構圖如圖1所示。
1.1遠紅外檢測裝置
本文采用紅外測距傳感器對小車行駛的盲道線邊界進行檢測,紅外測距傳感器具有一對紅外信號發(fā)射和接收二極管,發(fā)射管發(fā)射特定頻率的紅外信號,接收管接收這種頻率的紅外信號,當紅外檢測方向遇到障礙物時,紅外信號反射回來,被接收管接收,由于光的傳播速度為3×108m/s,只要記錄下光信號的往返時間,用光速乘以往返時間的二分之一就是所需測量的距離。
1.3其他裝置
驅動裝置主要包括電機驅動和舵機驅動,電機的驅動采用PWM來控制電機的正反轉,改變其占空比調節(jié)電機的轉速,產生的控制信號通過BTS7960驅動電路控制電機,復位、時鐘以及電源模塊為系統(tǒng)上電時提供復位信號、時鐘信號和電源的供給,以確保整個系統(tǒng)的正常運行,整個系統(tǒng)的電源控制選用LM317可調穩(wěn)壓電源實現。
2.導盲小車方向與速度綜合控制
2.1參數設定
2.1.1盲道小車的速度與預瞄周期T的確定
本設計假設在正常盲道上行進時為勻速運動,考慮盲人行進過程中的心理因素和生理因素的影響,選取速度介于正常人行進速度1.2m/s與病人的步行速0.7m/s之間;根據時間與速度計算公式t=s/v(s為導盲小車到盲道中線的最大距離),預瞄周期取最長控制時間870ms的八分之一;根據《城市道路和建設無障礙設計規(guī)范》取s=0.8m,選取的預瞄周期因速度不同而不同,在正常盲道上,選取v=0.9m/s,預瞄周期選取T1=134ms;當遇到障礙時導盲小車做加速度為α1,=-0.2m/s2的勻減速運動,預瞄周期選取T2=126ms;當行進至交叉路口時,遇到綠燈則做加速度為α2=0.2m/s2的勻加速運動,預瞄周期選取T3=167ms;遇到紅燈則停止.
2.1.2車與盲道中線距離的測定
導盲小車在行進過程中的最佳控制是沿著盲道中線前行,由于紅外檢測只能檢測小車到盲道兩個邊緣的距離,建立一個以小車為坐標原點的絕對坐標系f(x.y),經過任意一個預瞄周期Tp時(p為任意采樣時刻),檢測到小車距盲道左右邊緣的坐標分別為f(xm.yn)和f(Xn,yn),由此得到導盲小車到盲道中線的距離L(lp)為:
2.2角度與速度綜合控制模型設計
2.2.1基于平面幾何約束的方向控制
根據預瞄與跟蹤理論,對盲道小車的方向進行基于模糊規(guī)則的自動校正舵機控制.在每次預瞄控制的間隔時間Tp,根據傳感器所采集的路況信息,確定最優(yōu)曲率預瞄點,當檢測到L(lp)>0,則小車向右轉,反之,J(tp)<0,向左轉.小車行進軌跡如圖2所示,在建立的坐標系中,P1為某位置的預瞄點,P2為經過一個預瞄周期后的預瞄點,α1和α1分別為他們的預瞄角度。
2.2.2基于平面幾何約束的綜合控制模型
當導盲小車遇到障礙物或是交叉路口時,需要對小車的速度和方向同時進行控制,在原勻速運動的基礎上做如下的假設:
1)遇障礙物做小曲率勻減速運動;
2)遇綠燈做小曲率勻加速運動;
控制模型的外圍觸發(fā)邏輯狀態(tài)圖如圖3所示,當紅燈亮、避障失敗、尋徑失敗這3個條件中的任何一個觸發(fā)時,則導盲小車停止前行;綠燈亮和避障成功觸發(fā)時,系統(tǒng)進行勻加速或勻減速方向與速度綜合控制;在尋徑成功觸發(fā)后,系統(tǒng)再回到原有小曲率勻速運動的模糊舵機自校正控制,交叉口狀態(tài)和避障狀態(tài)只有系統(tǒng)探測到交通燈和障礙物時才會觸發(fā),而尋徑狀態(tài)則一直伴隨導盲系統(tǒng)整個工作過程中。
2.3基于模糊規(guī)則的自動校正舵機控制算法
在理想狀態(tài)下,預瞄角度α等于小車的實際轉角y'但是由于阻力等環(huán)境因素以及自身結構因素的影響,α和y存在一定的角度偏差.所以本文提出了基于模糊規(guī)則的自動校正舵機控制算法.該算法的目的就在于得到自校正角度β,使得實際轉角y無限接近于預瞄角度α基于平面幾何約束的自校正控制算法設計流程如圖4所示。
2.3.1模糊控制方案設計
基于模糊規(guī)則的自動校正舵機控制系統(tǒng)如圖5所示。
模糊控制器采用典型的雙輸入單輸出的模糊控制結構,輸入量分別為α與y的偏差E以及α的變化率△E,輸出量u為自校正角度屆.
對偏差E、偏差變化AE以及控制量U的模糊集及其論域定義如下:
假設小車做小曲率的勻速運動,所以E的論域為M,M的范圍[-30,30].在論域上定義7個模糊子集{負大,負中,負小,零,正小,正中,正大},記為{NB,NM,NS,NO,Ps,PM,PB}。
小車速度為0.9m/s,則在預瞄周期內小車行進距離為0.6m,偏差變化率AE變化不會太大,因此,AE的論域N為{-10,10},在論域上定義7個模糊子集{負大,負中,負小,零,正小,正中,正大},記為{NB,NM,NS,NO,PS,PM,PB}。
u的模糊集為{SB,SM,ss,SO,Js,JM,JB}7檔,分別表示{減大,減中,減小,零,加小,加中,加大}.u的論域范圍為[-20,20]。
描述輸入、輸出變量的詞匯都具有模糊的特性,可用模糊集合來表示,因此模糊概念的確定問題就直接轉變?yōu)槟:想`屬函數的問題。
模糊控制器的控制規(guī)則是以手動控制策略為基礎的,手動控制策略一般都可以用if then形式的條件語句來加以描述。
根據專家經驗總結出的舵機校正模糊控制規(guī)則如表1所示。
當小車預瞄角度與實際的轉角的偏差正大以及α的變化率都正大時,輸出一個負的較大的β;當偏差正大而偏差變化率向負方向變化很大時,說明偏差正在變小,此時輸出一個負較小的β。
3.FPGA控制系統(tǒng)的設計與仿真
利用Matlab對控制系統(tǒng)進行建模和控制算法的設計與仿真.在預瞄與跟蹤理論的基礎上,在Matlab軟件的simulink環(huán)境下搭建了基于平面幾何約束的方向與速度綜合控制模型,并使用Fuzzy log—ic模塊設計模糊控制器及模糊規(guī)則,圖6為自校正舵機控制系統(tǒng)的simulink仿真模型圖。
將清晰化的控制量u制成表放在FPGA中,用來進行查詢的對應輸出值,調用在Quartus II中的LPM—ROM的IP核,通過查詢該表得到每對e和Ae所對應的輸出值。
根據導盲小車檢測到是否在盲道上,將控制系統(tǒng)分為2大模塊,頂層設計采用自下而上的設計思想進行模塊劃分,并采用了模糊規(guī)則自校正算法的并行處理方法,利用Quartus II的原理圖輸入法進行頂層設計的輸入.控制系統(tǒng)的頂層設計原理圖如圖7所示,圖8為導盲小車控制系統(tǒng)仿真波形圖,仿真結果表明導盲小車的實際轉角y與預瞄角度α非常接近,在一個控制周期內y和α的差不超過0.9°,響應時間為80ns,控制效果能滿足系統(tǒng)要求,
4.結論
應用Quartus II完成了導盲系統(tǒng)控制器的設計與仿真,實驗證明該系統(tǒng)具有很強的實時陛,能很好地實現正常盲道行進、障礙物避障行進和紅綠燈識別行進過程控制,特別在小車的速度與方向綜合控制的響應時間方面較文[4]所耗時節(jié)省20%(文[4]的PID模糊控制器的響應時間為97.25ns);由于本系統(tǒng)采用FPGA技術、并行處理算法,最大程度地節(jié)省了時間,具有省時、高效、處理效果好的優(yōu)點,能滿足盲道控制系統(tǒng)的實時性和準確性要求,不足之處是在復雜的交通環(huán)境下,路徑是否為最佳選擇還有待驗證。