鄒 斌 ,莊雷雨 ,李超群 ,熊 輝
(1.武漢理工大學(xué) 現(xiàn)代汽車零部件技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430070;2.汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,武漢 430070)
智能車輛是汽車行業(yè)未來發(fā)展的趨勢(shì),它以車載計(jì)算終端為載體,利用車載傳感器系統(tǒng)感知周圍的環(huán)境,自主或者輔助控制車輛的速度和方向,使其在道路上安全行駛。在現(xiàn)有環(huán)境感知方法中,機(jī)器視覺能夠提供豐富的感知信息,具有無(wú)可比擬的優(yōu)勢(shì)[1]。但是在機(jī)器視覺智能車輛的研究過程中,對(duì)視頻信號(hào)的采集和反饋處理缺少仿真手段的支持,大多采用攝像頭拍攝實(shí)景視頻的方法,視頻信號(hào)的采集和反饋很難做到再現(xiàn),視頻信號(hào)中各個(gè)信息不能準(zhǔn)確方便地獲得,也不能根據(jù)不同的需求獲得不同的場(chǎng)景信號(hào)??紤]到視覺系統(tǒng)的魯棒性和實(shí)時(shí)性,本文提出了一種基于Matlab/Simulink 3D Animation的智能車視覺仿真和反饋系統(tǒng),結(jié)合智能車動(dòng)力學(xué)模型與模糊控制算法建立智能車虛擬仿真環(huán)境,實(shí)現(xiàn)對(duì)虛擬環(huán)境路徑的識(shí)別與跟蹤。
機(jī)器視覺智能車虛擬環(huán)境主要包括環(huán)境物理模型、智能車視覺系統(tǒng)和控制系統(tǒng)。3個(gè)模塊通過仿真信號(hào)的傳遞和反饋結(jié)合成有機(jī)整體,機(jī)器視覺智能車虛擬環(huán)境架構(gòu)如圖1所示。
圖1 機(jī)器視覺智能車虛擬環(huán)境架構(gòu)Fig.1 Framework of the computer vision guided intelligent vehicle virtual environment
物理模型在仿真中的作用是模擬車輛在真實(shí)環(huán)境中的行駛規(guī)律,讓整個(gè)虛擬系統(tǒng)趨向于真實(shí)環(huán)境中實(shí)際車輛的運(yùn)動(dòng)規(guī)律。其中物理模型由Matlab/ Simulink中的Simmechanics工具箱搭建完成,包含車輛和道路的三維仿真模型和動(dòng)力學(xué)模型。在物理模型仿真過程中,可以通過Matlab/Simulink窗口,實(shí)時(shí)觀察模型的仿真狀態(tài),也可以在Simmechanics窗口中回放仿真過程。
視覺系統(tǒng)利用Matlab/Simulink中3D Animation工具箱建立基于VRML語(yǔ)言的虛擬現(xiàn)實(shí)環(huán)境,可以根據(jù)需要在場(chǎng)景中添加各種元素,以達(dá)到和真實(shí)環(huán)境相一致的要求。通過VRsink瀏覽器輸出圖片以及視頻信號(hào),該信號(hào)可被編輯處理,可用于系統(tǒng)的反饋控制。整個(gè)視覺系統(tǒng)是一個(gè)對(duì)視頻信號(hào)的采集與反饋的仿真環(huán)境,可實(shí)現(xiàn)對(duì)現(xiàn)實(shí)環(huán)境下視覺智能車輛的仿真功能。
而控制系統(tǒng)則是根據(jù)具體的算法和要求,起到連接視覺系統(tǒng)和物理模型的功能。其作用是按照要求完成特定的功能和目標(biāo)??刂葡到y(tǒng)的搭建靈活多樣,既可以使用C語(yǔ)言、M語(yǔ)言編寫,也可以使用Simulink搭建控制模型。
由于Matlab有豐富的外部接口,所以并不需要在Matlab內(nèi)部建立物理模型,可以使用“Simmechanics link”和Vrml文件,將三維模型導(dǎo)入到Matlab中去。
使用PRO/E、Catia、3D MAX等軟件建立車輛、道路和環(huán)境的三維模型,將模型通過“Simmechanics link”插件導(dǎo)入到Simulink中去,導(dǎo)出的格式為Xml文件。同時(shí)將以上的三維模型另存為Vrml(Wrl格式)文件。這里的 Xml文件可以直接轉(zhuǎn)化成為Simulink中Simmechanics模型,而Vrml文件則可以連接到Simulink/VRsink中去,搭建虛擬現(xiàn)實(shí)模型。為了使仿真速度更快,在智能車相對(duì)次要的結(jié)構(gòu)上做相應(yīng)的簡(jiǎn)化,使整個(gè)系統(tǒng)的實(shí)時(shí)性更好,比如非主要結(jié)構(gòu)中圓形、弧形等曲線可用多邊形代替。
通過三維軟件導(dǎo)入到Simmechanics中的模型只包含約束關(guān)系的三維模型,還需要添加整車的動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)模型[2]。
1)運(yùn)動(dòng)學(xué)模型
運(yùn)動(dòng)學(xué)是從幾何角度研究物體的物理規(guī)律,它包括速度、位置及時(shí)間的關(guān)系。如圖2所示,在直角坐標(biāo)系XOY下,(Xr,Yr)和(Xf,Yf)分別為車輛的后軸和前軸中點(diǎn)坐標(biāo),φ為車體的橫擺角(航向角)。
圖2 車輛運(yùn)動(dòng)學(xué)模型Fig.2 Vehicle kinematical model
后軸中心速度為
由車輛的運(yùn)動(dòng)學(xué)規(guī)律可得:
由式(1)和式(2)聯(lián)立可得:
根據(jù)前后輪關(guān)系:
將式(3)和式(4)代入式(2)中,可得橫擺角速度:
式中:ω為車輛的橫擺角速度;同時(shí)可以通過橫擺角速度ω和車身速度vr得到轉(zhuǎn)向輪的半徑R以及前輪的偏角δf:
由式(2)和式(5)可以得到車輛的運(yùn)動(dòng)學(xué)模型:
2)輪胎與地面接觸力模型
在建立車輛接觸力模型之前,不妨作一下簡(jiǎn)化,在保證合理精度的前提下,減小控制算法的計(jì)算量。
假設(shè)路面無(wú)坑洼不平,不考慮車輛顛簸情況;懸架系統(tǒng)是剛性的,忽略懸架運(yùn)動(dòng);假設(shè)車輛速度不超過10 m/s,簡(jiǎn)化輪胎模型,忽略輪胎側(cè)偏角、外傾角以及回正力矩的影響;忽略空氣動(dòng)力學(xué)的影響。摩擦力模型示意圖如圖3所示。
圖3 車輛輪胎與地面接觸力模型Fig.3 Mechanical model between tire and ground
車輪與地面的摩擦力為
摩擦力等于法向力乘以摩擦因子,而摩擦因子是接觸點(diǎn)相對(duì)速度的函數(shù):
其中:Vpoc為接觸點(diǎn)的速度;Vth為閾值速度;μs為靜摩擦因子;μk為動(dòng)摩擦因子。如圖4所示。
圖4 動(dòng)摩擦因子與靜摩擦因子Fig.4 Dynamic friction coefficient and static friction coefficient
Matlab中沒有可以直接模擬攝像頭的模塊,通過Matlab幾種功能結(jié)合的方法來實(shí)現(xiàn)攝像頭的功能。在視覺引導(dǎo)智能車上,攝像頭的作用是獲取和反饋道路及周圍的信息,所以視覺系統(tǒng)中,要能夠獲取仿真環(huán)境中特定角度的視頻信息,而且能夠?qū)⒁曨l信號(hào)傳遞到控制系統(tǒng)中去。
1)搭建虛擬駕駛環(huán)境
在仿真過程中獲取視頻信號(hào)首先要搭建虛擬的道路環(huán)境,使用Simulink中的3D Animation工具箱中VRsink模塊,結(jié)合VRML建模語(yǔ)言,可以方便地建立虛擬駕駛環(huán)境。在視覺系統(tǒng)中,既有3D虛擬環(huán)境,又能輸出特定視角的視頻信號(hào),既可以直觀地看到仿真過程,又可以實(shí)時(shí)反饋控制無(wú)人駕駛車輛的運(yùn)行。
VRML(virtual reality modeling language)語(yǔ)言,即虛擬現(xiàn)實(shí)建模語(yǔ)言,是一種用于建立真實(shí)世界場(chǎng)景模型的解釋性建模語(yǔ)言。VRML的對(duì)象稱為節(jié)點(diǎn)(node),子節(jié)點(diǎn)的集合可以構(gòu)成復(fù)雜的模型。節(jié)點(diǎn)可以復(fù)用,對(duì)它們賦以名稱,進(jìn)行定義,即可以建立動(dòng)態(tài)虛擬環(huán)境。
在VRsink視覺系統(tǒng)中,將車身節(jié)點(diǎn)分成若干個(gè)子節(jié)點(diǎn),分別是前后輪4個(gè)節(jié)點(diǎn)。其中從前輪中引出縱向位移和轉(zhuǎn)角信號(hào)輸入節(jié)點(diǎn)以及前輪轉(zhuǎn)向信號(hào)輸入節(jié)點(diǎn),從后輪引出縱向位移和轉(zhuǎn)角信號(hào)輸入節(jié)點(diǎn)。在整個(gè)車身節(jié)點(diǎn)中引出位移和車身轉(zhuǎn)角信號(hào)輸入節(jié)點(diǎn),如表1所示。所有車輛的運(yùn)動(dòng)學(xué)參數(shù)的輸入,都使用位移和角度來表示。
2)視頻信號(hào)的獲取
將已經(jīng)建好的虛擬環(huán)境文件(wrl格式)關(guān)聯(lián)到VRsink中,按照表1中節(jié)點(diǎn)設(shè)置好輸入?yún)?shù)與虛擬環(huán)境的連接關(guān)系,設(shè)置好視頻輸出參數(shù),設(shè)置坐標(biāo)參數(shù)關(guān)系,建立如圖5所示的視覺系統(tǒng)模塊。
表1 視覺系統(tǒng)中輸入信號(hào)Tab.1 Input signal in computer vision system
圖5 視覺系統(tǒng)模塊Fig.5 Computer vision system module
3)信號(hào)傳遞
采用Simulink中的3D Animation模塊實(shí)現(xiàn)動(dòng)力學(xué)模型輸出的車輛信息到視覺系統(tǒng)中的傳遞。3D Animation中VRsink瀏覽器,可以通過位置信號(hào)和轉(zhuǎn)角信號(hào)的輸入,把VRML的虛擬場(chǎng)景構(gòu)建和Simulink控制動(dòng)態(tài)仿真有機(jī)結(jié)合在一起,又可通過VRsink視頻信號(hào)輸出,實(shí)時(shí)控制VRML的虛擬場(chǎng)景內(nèi)車輛的運(yùn)動(dòng)狀態(tài),達(dá)到軌跡跟蹤的控制目標(biāo)。
車身的位置信號(hào)、車身的轉(zhuǎn)角信號(hào),前后4個(gè)輪胎的位置信號(hào)和轉(zhuǎn)角信號(hào),通過如圖5所示的方式,輸入到視覺系統(tǒng)中,控制虛擬環(huán)境中車輛的位置、速度和轉(zhuǎn)向角度等物理量。
智能車的控制系統(tǒng)是通過它可以按照所期望的方式保持和改變智能車目標(biāo)量。為了使智能車行駛在預(yù)定的軌跡道路,設(shè)計(jì)了基于模糊控制的視覺控制系統(tǒng),與物理模型、視覺系統(tǒng)一同構(gòu)成閉環(huán)控制。
圖像處理作為控制算法的預(yù)處理步驟,是控制系統(tǒng)的重要組成部分。通過VRsink輸出視頻信息,根據(jù)實(shí)際攝像頭設(shè)置輸出分辨率以及輸出參數(shù),然后經(jīng)過二值化、邊緣檢測(cè)等圖像預(yù)處理步驟,得到可識(shí)別的圖像,處理流程如圖6所示。
圖6 圖像處理過程Fig.6 Imags processing
模糊理論模擬人的思維過程,即對(duì)事物進(jìn)行觀察、思考、判斷和決策。L.A.Zadeh提出不相容原理,當(dāng)系統(tǒng)的復(fù)雜性增大時(shí),其清晰化的能力就會(huì)降低,當(dāng)達(dá)到一定的閾值時(shí),清晰性和復(fù)雜性將互相排斥,于是便產(chǎn)生了模糊控制[3]。
模糊控制不需要知道控制對(duì)象的數(shù)學(xué)模型,是通過大量的實(shí)際操作數(shù)據(jù)歸納總結(jié)出的控制規(guī)則,用自然語(yǔ)言表達(dá)控制策略[4]。模糊控制表現(xiàn)出極強(qiáng)的魯棒性,對(duì)于被控對(duì)象的特性變化不敏感,模糊控制算法比較簡(jiǎn)單,執(zhí)行快,易于實(shí)現(xiàn),控制器的設(shè)計(jì)參數(shù)容易選擇調(diào)整,特別適合非線性系統(tǒng)的控制。智能車視覺控制是一個(gè)復(fù)雜的控制對(duì)象,具有非線性、時(shí)變、強(qiáng)耦合、大慣性和大滯后的特點(diǎn),傳統(tǒng)PID方法對(duì)智能車的路徑的控制效果不太理想,且PID參數(shù)整定的過程較為耗時(shí)[5],因此智能車跟蹤路徑采用模糊控制算法。
1)選取模糊控制器
模糊控制器的輸入為車身與目標(biāo)路徑的視覺差值e,以及e的變化率ec,輸出為智能車的轉(zhuǎn)向角控制因子u。因此為智能車控制系統(tǒng)選用一個(gè)雙輸入單輸出的模糊控制器。
2)模糊化
常見的5種基本隸屬函數(shù)為三角形、鐘形、梯形、Sigmoid型和高斯型。還可以用這5種基本函數(shù)組合成新函數(shù),如由2個(gè)Sigmoid型函數(shù)之積,可以構(gòu)成Sigmoid積型隸屬函數(shù)。也可以根據(jù)實(shí)際情況進(jìn)行自由組合。
很多因素都能影響到模糊控制,在隸屬函數(shù)的選擇上沒有固定的規(guī)則,對(duì)于整個(gè)控制系統(tǒng)的控制效果的影響,論域上各個(gè)模糊子集的分布及相鄰子集的隸屬函數(shù)的交叉重疊情況遠(yuǎn)比隸屬函數(shù)的形狀影響大。因此,考慮到運(yùn)算方便、性能熟悉等因素,在工程控制中常選用三角形、高斯型、梯形和鐘形這幾種隸屬函數(shù)。在設(shè)計(jì)模糊控制器時(shí),選用三角形隸屬函數(shù)與高斯隸屬度函數(shù)結(jié)合的混合隸屬度函數(shù),其中三角形隸屬度解析表達(dá)式為
式中:b為三角形的頂點(diǎn)坐標(biāo)值;a和c分別為三角形左右2個(gè)邊與底邊的交點(diǎn)坐標(biāo)值。
高斯型隸屬度函數(shù)由2個(gè)參數(shù)σ和c確定,即:
式中:參數(shù)σ通常為正;參數(shù)c用于確定曲線的中心。
選定車身與目標(biāo)路徑的視覺差值e的模糊論域?yàn)?E={-3,-2,-1,0,1,2,3}, 所對(duì)應(yīng)的語(yǔ)言值為{NB,NM,NS,0,PS,PM,PB}。
圖7 e的隸屬度函數(shù)Fig.7 Membership function of“e”
設(shè)變化率 ec的模糊論域 EC={-3,-2,-1,0,1,2,3}。則對(duì)應(yīng)的語(yǔ)言值{NB,NM,NS,0,PS,PM,PB}。隸屬度函數(shù)圖形同圖7。
設(shè)輸出量u的模糊論域?yàn)閁=[-3,3]。所對(duì)應(yīng)的語(yǔ)言值為{NB,NM,NS,0,PS,PM,PB}。隸屬度函數(shù)圖形如圖7所示。
1)建立模糊規(guī)則
根據(jù)偏差大小和偏差速度大小,以人的操作經(jīng)驗(yàn)可以建立49條模糊規(guī)則,整理模糊規(guī)則可得到模糊規(guī)則表如表2所示。
表2 模糊控制規(guī)則表Tab.2 Fuzzy control rules
2)設(shè)計(jì)模糊控制器
模糊控制器的任務(wù)是模糊化、模糊推理和解模糊。根據(jù)前文建立模糊規(guī)則,在Matlab模糊工具箱中搭建模糊控制器。
為了驗(yàn)證仿真過程和結(jié)果的可靠性,通過構(gòu)建場(chǎng)景模型和搭建智能車模型,構(gòu)建智能車視覺仿真平臺(tái),通過模塊化將整個(gè)仿真平臺(tái)分成3個(gè)子系統(tǒng),通過視頻控制信號(hào)和坐標(biāo)位置信號(hào)將3個(gè)系統(tǒng)連接起來,使得系統(tǒng)具備更好的兼容性與可擴(kuò)展性。
智能車仿真虛擬環(huán)境如圖8所示,仿真平臺(tái)的驗(yàn)證選取飛思卡爾智能車,通過實(shí)車測(cè)量獲得智能車的運(yùn)動(dòng)學(xué)參數(shù)和輪胎與地面摩擦參數(shù),按照實(shí)際車輛的參數(shù)調(diào)整好虛擬視覺的視角、高度和視野大小。
圖8 智能車仿真虛擬環(huán)境Fig.8 Computer vision guided intelligent vehicle virtual environment
仿真所用的虛擬賽道如圖9所示,在視覺仿真系統(tǒng)模塊中,輸出320×240分辨率的視頻信號(hào),經(jīng)過二值化和邊緣檢測(cè)后得到控制系統(tǒng)可用的視頻信號(hào)。
圖9 仿真實(shí)驗(yàn)的賽道俯視圖Fig.9 Top view of the track used in the simulation
圖10 行駛軌跡Fig.10 Tracking result
圖11 車身和目標(biāo)軌跡偏差率Fig.11 Difference of simulation test results and target path
整個(gè)系統(tǒng)運(yùn)行結(jié)束后,得到如圖10所示的行駛軌跡和如圖11所示的車身和目標(biāo)軌跡偏差率。由圖10可以看出,在整個(gè)虛擬環(huán)境中,智能車可以按照控制算法的具體要求,沿著既定的道路行駛。由圖11可以看出,偏差率基本控制在[-0.1,0.1]內(nèi),在0~5 s內(nèi),由于智能車經(jīng)過斜坡,故偏差率有一個(gè)波峰。當(dāng)智能車通過普通彎道和S彎道時(shí),始終有較好的響應(yīng),偏差e保持在較低的范圍內(nèi)。后面出現(xiàn)了幾個(gè)波峰和波谷是因?yàn)楸疚膶⒅悄苘嚨馁惖肋M(jìn)行了路徑規(guī)劃。當(dāng)智能車通過十字路口時(shí),設(shè)定其轉(zhuǎn)角為0°,這會(huì)導(dǎo)致智能車駛出十字路口時(shí)偏離目標(biāo)值較大。綜合分析,由于視覺系統(tǒng)良好的視頻反饋,運(yùn)用模糊控制理論,本次仿真中智能車的路徑跟隨效果較為理想,偏差控制在合理的范圍內(nèi),滿足機(jī)器視覺智能車虛擬環(huán)境仿真的要求。
將視覺系統(tǒng)的仿真手段引入到智能車輛的研究過程中,使用虛擬環(huán)境進(jìn)行視覺系統(tǒng)的仿真,可以為智能車輛以及智能駕駛的深入研究提供方便可靠的平臺(tái)保障。既解決了視頻信號(hào)采集和反饋再現(xiàn)性問題,又解決了因硬件平臺(tái)的脆弱性和耗時(shí)性而導(dǎo)致的開發(fā)周期長(zhǎng),研發(fā)成本高的問題。該視覺仿真系統(tǒng)的應(yīng)用可推廣到一般的無(wú)人駕駛車輛,為機(jī)器視覺無(wú)人車的進(jìn)一步研究奠定了良好的基礎(chǔ)。
[1]黃偉.基于雷達(dá)和機(jī)器視覺的車輛前方障礙物檢測(cè)系統(tǒng)[D].武漢:武漢理工大學(xué),2010.
[2]龔建偉,姜巖,徐威.無(wú)人駕駛車輛模型預(yù)測(cè)控制[M].北京:北京理工大學(xué)出版社,2014.
[3]張德豐,周靈.VRML的虛擬現(xiàn)實(shí)應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2010.
[4]王寧,孟憲堯.輸入采用廣義梯形隸屬函數(shù)的兩維最簡(jiǎn)模糊控制器結(jié)構(gòu)分析[J].自動(dòng)化學(xué)報(bào),2008(4):466-471.
[5]張?jiān)佨?,王航?基于BP神經(jīng)網(wǎng)絡(luò)的溫度模糊PID控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2008(7):133-135.