黃永青 胡清濤
摘 要:介紹了基于VC++的模糊控制汽車倒車仿真系統基本設計,建立在汽車倒車數學模型的基礎上,通過模糊控制程序,并通過微軟基礎類設計仿真界面,使汽車在倒車時的狀態及其運動軌跡能夠動態的顯示。在設計中,汽車倒車模型與控制器采用模塊化設計方法,具有一定的通用性,易于擴展。通過該系統可以找到汽車倒車的“死區”范圍,檢驗并改進控制方法。模糊控制方法控制汽車倒車運動軌跡圓滑,倒車準確,具有很好的魯棒性。
關鍵詞:汽車倒車;模糊控制;仿真系統;微軟基礎類(MFC)
0 引言
倒車行駛時由于視線受到限制,不易看清車后道路和障礙,加之倒車時,后輪變為前導,前輪變為后跟,主觀感覺上發生差異,控制轉向的位置也發生了變化,使之成為困擾駕駛者的一個難題。如果我們給汽車裝一個智能倒車系統就可以有效的避免由于倒車而造成的經濟損失和人身安全。本文利用模糊控制理論,把人的經驗控制策略的自然語言轉化為計算機能夠接受的算法語言所描述的控制算法,模擬人的思維方式對一些無法構造數學模型的被控對象進行有效地控制。
1 汽車倒車的詳細描述
在停車場上停著一輛汽車(如圖1所示)。現要求將汽車倒回場地的一端的中點(0,0)處,使汽車順直向前。在倒車的過程中只能后退不能向前并且不能超過X軸。設v為汽車的速度;L為汽車的長度;X為汽車后端中點橫坐標;Y為汽車后端中點縱坐標;Θ為汽車前輪舵角;Ψ為汽車傾角;α為停車區中點(0.,0)到汽車后端中點的連線與汽車中軸線的夾角;β為汽車中軸線與y軸的夾角。α,β的值可有X,Y和Ψ通過幾何運算求得,所以控制對象的狀態變量為X,Y,Ψ。初始狀態t=0時,X,Y,Ψ已知,分別為X[0],Y[0],Ψ[0]。終止狀態t=tf時,上述變量的值也已給定,分別為:X[tf]=-0,Y[tf]=0,Ψ[tf]=90o。倒車的約束條件:-45o≤Θ≤45o;汽車倒車運動的微分方程組為:
2 汽車倒車模糊控制器構建
2.1 根據經驗產生模糊控制策略
當距離比較遠的時候,應當努力調整小車的正向,使之與終點到(X,Y)連線的方向一致,同時應當減小汽車實際的正向與最終要求正向的夾角β。當距離比較近的時候,應當努力減小汽車與終點水平位置的偏差,同是減小汽車實際的正向與最終要求正向的夾角β。
2.2 模糊控制專家經驗數學簡化如下
當距離遠時:θ=x/8+β;當距離近時:θ=-3α+2β;由于θ的計算比較復雜,我們可以將θ的計算過程放在模糊推理系統之外完成。先計算出θ1(遠距離)和 θ2(近距離),再將θ1和θ2根據遠近的模糊感念來進行模糊綜合。我們再通過汽車的坐標計算出來:D=(X2+Y2)1/2
2.3 建立T-S模型的模糊推理系統
由以上分析可知,其輸入變量為(D,θ1,θ2),輸出變量為θ。其中D的隸屬度函數有兩條,分別代表“遠”和“近”。由于在模糊規則的前項條件里不包含θ1,θ2,因而不用給他們指定隸屬度函數。這樣的T-S模型系統的模糊規則只有兩條:如果D是“遠”的,則θ=θ1;如果D是“近”的,則θ=θ2。
3 汽車仿真系統詳細設計
3.1 汽車倒車仿真模型
在實際的倒車中,根據汽車的當前狀態(Xt,Yt,Ψt),計算θ1、θ2和距離D,把計算的結果傳輸給模糊控制器進行模糊綜合后得到控制量θ,再把控制量θ輸入到汽車倒車的數學模型求得汽車新的狀態(Xt+1,Yt+1,Ψt+1)。同時把此狀態送入顯示模塊進行顯示,并且判斷是否到達車位或者越界,如此循環進行直到停止。
3.2 模糊控制器的程序設計如下
模糊控制器采用加權平均解模糊,作為CTruckDlg類的內部程序,代碼如下:
float CTruckDlg::Controler(float dis,float W1,float W2)
{
// dis為距離D,W1為θ1,W2為θ2
float m_wheel;
if(dis>7)
m_wheel=W2;
else if(dis>=3&&dis<=7)
m_wheel=-0.25*(dis-7)*W1+0.25*(dis-3)*W2;
else
m_wheel=W1;
if(m_wheel>45)
m_wheel=45;
if(m_wheel<-45)
m_wheel=-45;
return m_wheel;
}
3.3 顯示模塊設計
顯示模塊包括3部分:汽車倒車顯示區域、參數設置和顯示區域和汽車模型繪制函數。汽車倒車顯示區域是有MFC的圖片控件構成,背景坐標為一幅事先畫好的坐標圖像。汽車模型在該圖片控件上進行繪制。參數設置和顯示區域由MFC的編輯框控件、靜態控件和按鈕控件組成。主要對汽車的形狀(長度)、位置以及仿真系統的參數進行設置,并可在整個仿真過程中動態顯示。
4 結語
通過對模糊控制汽車倒車仿真系統的設計,可以加快對智能倒車系統的開發,同時模糊控制作為汽車倒車的控制算法具有倒車準確、魯棒性強的優點,與傳統控制算法相比有明顯優勢。
參考文獻
[1]于偉,張乃堯,白帆.倒車問題的模糊優化控制方案[J].機電一體化,2001,(5):21-24.
[2]吳小莉,林哲輝.MATLAB輔助模糊系統設計[M].西安:西安電子科技大學出版社,2002.
[3]楊智,楊李成.在MATLAB語言中間接實現C語言鏈接[J].蘭州理工大學學報,1998,(4):56-60.
(作者單位:1.華潤水泥(封開)有限公司;2.華潤水泥(金沙)有限公司)