翁 哲,蘇思偉,陳群元,翁宇涵,唐小煜
(華南師范大學(xué) a.物理與電信工程學(xué)院;b.心理學(xué)院,廣東 廣州 510006)
在互聯(lián)網(wǎng)技術(shù)、人工智能技術(shù)迅猛發(fā)展的背景下,智能化、自動(dòng)化的要求在各行業(yè)中都顯得越發(fā)重要,無論是農(nóng)林業(yè)、工業(yè)控制、高校科研和日常生活中,以機(jī)器視覺為代表的人工智能系統(tǒng)都有重要的應(yīng)用. 在實(shí)驗(yàn)教育領(lǐng)域中,各高校積極開展與人工智能和自動(dòng)化控制相關(guān)的教學(xué)項(xiàng)目和科研項(xiàng)目. 而自動(dòng)化控制的智能車導(dǎo)航及相關(guān)項(xiàng)目作為其中的一大板塊,自然受到各高校的重視[1]. 由國(guó)家教育部委托各高校舉辦的大學(xué)生智能汽車競(jìng)賽是一項(xiàng)探索性高的工程實(shí)踐活動(dòng). 本文探究了智能車運(yùn)行過程中穩(wěn)定性的可改善因素,并以追尋信標(biāo)的智能車為例提出了相關(guān)的改進(jìn)型處理方式.
為了保證智能車在運(yùn)行過程中安全有效,較強(qiáng)的魯棒性是智能車系統(tǒng)的基本需求,這也是相關(guān)智能車競(jìng)賽的考察重點(diǎn). 然而智能車在實(shí)際運(yùn)行過程中,常常有各種不可控因素出現(xiàn). 在理論算法的可行性基礎(chǔ)上,如何使用策略優(yōu)化智能車系統(tǒng)的穩(wěn)定性便顯得尤為重要. 這顯然也是相關(guān)競(jìng)賽中影響成績(jī)高低的關(guān)鍵因素.
以全國(guó)大學(xué)生智能汽車競(jìng)賽中信標(biāo)組為例,競(jìng)賽內(nèi)容包括:在比賽場(chǎng)地中布置若干信標(biāo)燈(圖1),智能車在運(yùn)行過程中自動(dòng)完成尋找信標(biāo)、駛進(jìn)信標(biāo)、熄滅信標(biāo)等操作. 為完成基本比賽要求,智能車通常通過攝像頭采集圖像,利用電機(jī)與舵機(jī)驅(qū)動(dòng)行駛,運(yùn)用單片機(jī)算法控制運(yùn)行. 為保證運(yùn)行的穩(wěn)定性,在運(yùn)行過程中需要滿足圖像識(shí)別穩(wěn)定性、姿態(tài)控制穩(wěn)定性、突發(fā)處理穩(wěn)定性等3方面的要求.
(a)信標(biāo)系統(tǒng)組成
(b)單個(gè)信標(biāo)圖示圖1 信標(biāo)賽制系統(tǒng)
通常的智能車CMOS攝像頭采集的有效圖像經(jīng)過二值化處理,如圖2(a)所示. 然而CMOS攝像頭在運(yùn)行過程中常常因?yàn)槭艿綇?qiáng)光照射干擾、外界亮度突變等不可控因素等導(dǎo)致圖像丟幀和圖像質(zhì)量損壞,如圖2(b)所示,從而影響智能車判斷. 為了消除這些不可控因素,可在硬件光路和軟件圖像濾波2方面對(duì)攝像頭及其圖像進(jìn)行處理,去除噪點(diǎn),還原有效的圖像,以供運(yùn)行策略算法識(shí)別和判斷.
(a)真實(shí)信標(biāo)圖像
(b)受干擾信標(biāo)圖像圖2 常見的信標(biāo)圖像
在光路上,信標(biāo)光線由紅外光(峰值波長(zhǎng)為850 nm)、紅光(波長(zhǎng)為620~625 nm)和超聲波(頻率為40 kHz)組成[2]. 實(shí)際運(yùn)行過程中可以在CMOS攝像頭上安裝濾光片,只讓紅外光(波長(zhǎng)為800~1 600 nm)通過;同時(shí)添加遮光板,減少上方陽(yáng)光直射或反光的影響,提高圖像質(zhì)量. 攝像頭光路處理如圖3所示.
在軟件處理上,由于攝像頭角度及廣度、透鏡焦距等參量已確定,實(shí)際上信標(biāo)大小在圖像上有固定范圍. 信標(biāo)距離智能車越遠(yuǎn),接收的光強(qiáng)越小,表現(xiàn)為信標(biāo)在圖像上越小. 在80×60 pixel的圖像上,信標(biāo)的寬度d、信標(biāo)質(zhì)心在圖像中y軸示數(shù)、信標(biāo)真實(shí)距離的對(duì)應(yīng)關(guān)系測(cè)量值l如表1所示. 通過信標(biāo)寬度與信標(biāo)圖像位置的函數(shù)關(guān)系表,結(jié)合實(shí)際運(yùn)行效果調(diào)整,進(jìn)行圖像濾波,可以去除噪聲,從而定位出正確的信標(biāo)位置.
圖3 攝像頭的光路處理
y/pixeld/pixell/cmy/pixeld/pixell/cm5251035917010223040721015175045426020158050333025131105514103011140
對(duì)于智能車的穩(wěn)定性運(yùn)行要求,智能車的姿態(tài)控制是很重要的環(huán)節(jié). 在智能車運(yùn)行過程中,目標(biāo)參量與實(shí)際效果通常不是線性,會(huì)受到摩擦力、車輪扭力矩、回程誤差等影響. 為此引入了PID算法. 姿態(tài)控制分為對(duì)智能車轉(zhuǎn)彎角度的穩(wěn)定控制以及對(duì)運(yùn)行速度的穩(wěn)定控制,對(duì)于不同的變量控制,需要引入不同的PID算法.
智能車在運(yùn)行過程中常利用舵機(jī)進(jìn)行轉(zhuǎn)彎,角度增量的變化范圍小,變化幅度小,可采用增量式的PID控制算法[3]:
Δu(k)=KpΔe(k)+Kie(k)+
KD[Δe(k)-Δe(k-1)],
Δe(k)=e(k)-e(k-1),
u(k)=Δu(k)+u(k-1).
角度控制中第k次改變的增量Δu(k)是設(shè)定量與實(shí)際量的誤差e(k)的函數(shù),大小幅度由系數(shù)Kp,Ki和KD控制,具體值在實(shí)驗(yàn)中測(cè)得. 在智能車控制中通常由圖像處理計(jì)算得到e(k),意義是信標(biāo)位置與視野中線的差值. 通過增量式PID算法驅(qū)動(dòng)舵機(jī)擺角使智能車視野中線朝向信標(biāo),起到追尋信標(biāo)的作用.
對(duì)于智能車運(yùn)行速度的控制,由于在實(shí)際運(yùn)行過程中智能車速度的變換范圍比較大,而且在執(zhí)行剎車、變速等操作過程中速度變化幅度很大而且次數(shù)頻繁,可以添加前饋控制保證粗調(diào). 同時(shí)利用微分現(xiàn)行的PID算法閉環(huán)控制減少設(shè)定值變化帶來的振蕩. 綜上所述可以采用前饋-微分先行式PID算法[4-5]:
Δu(k)=KvΔx(k)+KpΔe(k)+Kie(k)+
KD[Δe(k)-Δe(k-1)]-KaΔy(k),
Δx(k)=x(k)-x(k-1),
Δy(k)=y(k)-y(k-1),
Δe(k)=e(k)-e(k-1),
u(k)=Δu(k)+u(k-1).
式中,Δy(k)表示實(shí)際速度的微分,由安裝在電機(jī)上的編碼器返回值得到;Δx(k)表示設(shè)定值的微分和幅度,分別由系數(shù)Ka和Kv控制. 加入了前饋和微分先行控制使電機(jī)的速度更加穩(wěn)定,抗干擾性更強(qiáng).
穩(wěn)定性運(yùn)行要求智能車在路徑規(guī)劃中自動(dòng)規(guī)避風(fēng)險(xiǎn),諸如繞開障礙、防止突發(fā)制動(dòng)、防止傾倒等操作. 應(yīng)對(duì)突發(fā)事件的處理能力需要多種傳感器配合,同時(shí)也要結(jié)合硬件資源,盡量選擇數(shù)據(jù)量少且處理方式簡(jiǎn)單的傳感器. 保證不影響智能車軟件處理速度從而降低智能車整體的運(yùn)行速度. 綜合考慮后,采用線性CCD攝像頭、紅外對(duì)管、輕觸開關(guān)、防倒保護(hù)開關(guān)多種傳感器檢測(cè)突發(fā)事件,利用舵機(jī)擺臂、電機(jī)倒轉(zhuǎn)等操作規(guī)避突發(fā)事件.
對(duì)于障礙物如不亮的信標(biāo)、墻壁等,利用線性CCD攝像頭配合紅外對(duì)管檢測(cè)[6],在占用硬件資源較少的情況下完成對(duì)靜止障礙物的檢測(cè),舵機(jī)或電機(jī)作出響應(yīng)可規(guī)避障礙,如圖4所示.
對(duì)于突然出現(xiàn)在視野中的障礙使智能車突然被制動(dòng)的問題,可以采用置于前方的輕觸開關(guān)持續(xù)檢測(cè),如圖5(b)所示. 同時(shí)結(jié)合CMOS攝像頭等其他傳感,也可以列出其他突發(fā)制動(dòng)情況,如紅外對(duì)管長(zhǎng)期被遮蔽[圖5(a)],編碼器返回的速度值長(zhǎng)期過小[圖5(c)]等情況,迅速作出倒車處理,保證運(yùn)行的穩(wěn)定性.
(a)追尋信標(biāo)途中遇到障礙
(b)熄滅信標(biāo)后遇到障礙圖4 障礙的規(guī)避
(a)紅外對(duì)管被阻 (b)觸發(fā)輕觸開關(guān)
(c)編碼器讀數(shù)過小圖5 被動(dòng)制動(dòng)的規(guī)避
采用防倒保護(hù)開關(guān)持續(xù)檢測(cè),若智能車在運(yùn)行過程中發(fā)生傾倒,傳感識(shí)別后可以利用舵機(jī)擺臂支撐,將智能車回正,避免發(fā)生翻車的現(xiàn)象,如圖6所示.
圖6 傾倒?fàn)顟B(tài)的規(guī)避
在普通場(chǎng)地中利用智能車的CMOS攝像頭采集圖像,使用光路、軟件改進(jìn)處理的方案得到的圖像以及對(duì)噪聲干擾的圖像的判斷結(jié)果如圖7所示,只有紅色部分為算法識(shí)別的信標(biāo)位置.
(a)獲取穩(wěn)定圖像
(b)干擾圖像的軟件處理圖7 穩(wěn)定識(shí)別信標(biāo)
如圖7(a)所示,使用了光路改進(jìn)后CMOS攝像頭獲得的圖像正確率在99.3%以上. 這說明基本能夠消除外界干擾光對(duì)判斷的穩(wěn)定性影響. 如圖7(b)所示,對(duì)受干擾的圖像處理結(jié)果也更加穩(wěn)定,而且無誤判,能夠滿足圖像識(shí)別穩(wěn)定性所需要的要求.
分別利用無姿態(tài)控制算法改進(jìn)的方案(藍(lán)色曲線)和引進(jìn)PID的控制算法方案(紅色曲線)操控智能車,將速度值穩(wěn)定在210(210為編碼器的返回參量,250代表電機(jī)轉(zhuǎn)速達(dá)到100%),并且對(duì)智能車行駛狀態(tài)進(jìn)行制動(dòng)干擾,利用串口返回真實(shí)的速度值,如圖8所示.
結(jié)果顯示,在智能車啟動(dòng)后,PID的控制算法方案穩(wěn)定在速度210上的時(shí)間僅需0.3 s,相對(duì)無PID控制算法的方案所需的2.3 s有較大優(yōu)勢(shì). 受到干擾后恢復(fù)時(shí)間在0.5 s以內(nèi). 而無PID算法的方案下恢復(fù)穩(wěn)定速度至少需要2.0 s. 這說明引入PID的控制算法方案保證了姿態(tài)控制穩(wěn)定性.
圖8 電機(jī)速度值
利用帶有障礙的賽道,如圖9所示,測(cè)試智能車對(duì)不同障礙的傳感檢測(cè),同時(shí)制造情景使智能車強(qiáng)制制動(dòng)或者翻倒,測(cè)試智能車對(duì)各種突發(fā)情景的響應(yīng).
圖9 測(cè)試地圖
由多次實(shí)驗(yàn)測(cè)試結(jié)果得知,無突發(fā)處理的智能車對(duì)測(cè)試地圖的完成時(shí)間在30.5 s以上,同時(shí)由于無法應(yīng)對(duì)強(qiáng)制制動(dòng)和翻倒等其他情況,導(dǎo)致更多的實(shí)驗(yàn)無法完成. 利用本文提出的突發(fā)處理控制智能車完成測(cè)試地圖的時(shí)間為15.7 s左右,同時(shí)也能夠規(guī)避其他突發(fā)情況,維持了突發(fā)處理穩(wěn)定性.
以追尋信標(biāo)的智能車為例,說明了智能車在運(yùn)行過程中圖像識(shí)別穩(wěn)定性、姿態(tài)控制穩(wěn)定性和突發(fā)處理穩(wěn)定性的重要性. 通過對(duì)CMOS及圖像的光路、軟件處理,引入PID及其改進(jìn)算法,結(jié)合多傳感規(guī)避的一系列策略完善了智能車,保證了智能車控制的穩(wěn)定性.