翁 哲,蘇思偉,陳群元,翁宇涵,唐小煜
(華南師范大學 a.物理與電信工程學院;b.心理學院,廣東 廣州 510006)
在互聯網技術、人工智能技術迅猛發展的背景下,智能化、自動化的要求在各行業中都顯得越發重要,無論是農林業、工業控制、高校科研和日常生活中,以機器視覺為代表的人工智能系統都有重要的應用. 在實驗教育領域中,各高校積極開展與人工智能和自動化控制相關的教學項目和科研項目. 而自動化控制的智能車導航及相關項目作為其中的一大板塊,自然受到各高校的重視[1]. 由國家教育部委托各高校舉辦的大學生智能汽車競賽是一項探索性高的工程實踐活動. 本文探究了智能車運行過程中穩定性的可改善因素,并以追尋信標的智能車為例提出了相關的改進型處理方式.
為了保證智能車在運行過程中安全有效,較強的魯棒性是智能車系統的基本需求,這也是相關智能車競賽的考察重點. 然而智能車在實際運行過程中,常常有各種不可控因素出現. 在理論算法的可行性基礎上,如何使用策略優化智能車系統的穩定性便顯得尤為重要. 這顯然也是相關競賽中影響成績高低的關鍵因素.
以全國大學生智能汽車競賽中信標組為例,競賽內容包括:在比賽場地中布置若干信標燈(圖1),智能車在運行過程中自動完成尋找信標、駛進信標、熄滅信標等操作. 為完成基本比賽要求,智能車通常通過攝像頭采集圖像,利用電機與舵機驅動行駛,運用單片機算法控制運行. 為保證運行的穩定性,在運行過程中需要滿足圖像識別穩定性、姿態控制穩定性、突發處理穩定性等3方面的要求.

(a)信標系統組成

(b)單個信標圖示圖1 信標賽制系統
通常的智能車CMOS攝像頭采集的有效圖像經過二值化處理,如圖2(a)所示. 然而CMOS攝像頭在運行過程中常常因為受到強光照射干擾、外界亮度突變等不可控因素等導致圖像丟幀和圖像質量損壞,如圖2(b)所示,從而影響智能車判斷. 為了消除這些不可控因素,可在硬件光路和軟件圖像濾波2方面對攝像頭及其圖像進行處理,去除噪點,還原有效的圖像,以供運行策略算法識別和判斷.

(a)真實信標圖像

(b)受干擾信標圖像圖2 常見的信標圖像
在光路上,信標光線由紅外光(峰值波長為850 nm)、紅光(波長為620~625 nm)和超聲波(頻率為40 kHz)組成[2]. 實際運行過程中可以在CMOS攝像頭上安裝濾光片,只讓紅外光(波長為800~1 600 nm)通過;同時添加遮光板,減少上方陽光直射或反光的影響,提高圖像質量. 攝像頭光路處理如圖3所示.
在軟件處理上,由于攝像頭角度及廣度、透鏡焦距等參量已確定,實際上信標大小在圖像上有固定范圍. 信標距離智能車越遠,接收的光強越小,表現為信標在圖像上越小. 在80×60 pixel的圖像上,信標的寬度d、信標質心在圖像中y軸示數、信標真實距離的對應關系測量值l如表1所示. 通過信標寬度與信標圖像位置的函數關系表,結合實際運行效果調整,進行圖像濾波,可以去除噪聲,從而定位出正確的信標位置.

圖3 攝像頭的光路處理

y/pixeld/pixell/cmy/pixeld/pixell/cm5251035917010223040721015175045426020158050333025131105514103011140
對于智能車的穩定性運行要求,智能車的姿態控制是很重要的環節. 在智能車運行過程中,目標參量與實際效果通常不是線性,會受到摩擦力、車輪扭力矩、回程誤差等影響. 為此引入了PID算法. 姿態控制分為對智能車轉彎角度的穩定控制以及對運行速度的穩定控制,對于不同的變量控制,需要引入不同的PID算法.
智能車在運行過程中常利用舵機進行轉彎,角度增量的變化范圍小,變化幅度小,可采用增量式的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)是設定量與實際量的誤差e(k)的函數,大小幅度由系數Kp,Ki和KD控制,具體值在實驗中測得. 在智能車控制中通常由圖像處理計算得到e(k),意義是信標位置與視野中線的差值. 通過增量式PID算法驅動舵機擺角使智能車視野中線朝向信標,起到追尋信標的作用.
對于智能車運行速度的控制,由于在實際運行過程中智能車速度的變換范圍比較大,而且在執行剎車、變速等操作過程中速度變化幅度很大而且次數頻繁,可以添加前饋控制保證粗調. 同時利用微分現行的PID算法閉環控制減少設定值變化帶來的振蕩. 綜上所述可以采用前饋-微分先行式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)表示實際速度的微分,由安裝在電機上的編碼器返回值得到;Δx(k)表示設定值的微分和幅度,分別由系數Ka和Kv控制. 加入了前饋和微分先行控制使電機的速度更加穩定,抗干擾性更強.
穩定性運行要求智能車在路徑規劃中自動規避風險,諸如繞開障礙、防止突發制動、防止傾倒等操作. 應對突發事件的處理能力需要多種傳感器配合,同時也要結合硬件資源,盡量選擇數據量少且處理方式簡單的傳感器. 保證不影響智能車軟件處理速度從而降低智能車整體的運行速度. 綜合考慮后,采用線性CCD攝像頭、紅外對管、輕觸開關、防倒保護開關多種傳感器檢測突發事件,利用舵機擺臂、電機倒轉等操作規避突發事件.
對于障礙物如不亮的信標、墻壁等,利用線性CCD攝像頭配合紅外對管檢測[6],在占用硬件資源較少的情況下完成對靜止障礙物的檢測,舵機或電機作出響應可規避障礙,如圖4所示.
對于突然出現在視野中的障礙使智能車突然被制動的問題,可以采用置于前方的輕觸開關持續檢測,如圖5(b)所示. 同時結合CMOS攝像頭等其他傳感,也可以列出其他突發制動情況,如紅外對管長期被遮蔽[圖5(a)],編碼器返回的速度值長期過小[圖5(c)]等情況,迅速作出倒車處理,保證運行的穩定性.

(a)追尋信標途中遇到障礙

(b)熄滅信標后遇到障礙圖4 障礙的規避

(a)紅外對管被阻 (b)觸發輕觸開關

(c)編碼器讀數過小圖5 被動制動的規避
采用防倒保護開關持續檢測,若智能車在運行過程中發生傾倒,傳感識別后可以利用舵機擺臂支撐,將智能車回正,避免發生翻車的現象,如圖6所示.

圖6 傾倒狀態的規避
在普通場地中利用智能車的CMOS攝像頭采集圖像,使用光路、軟件改進處理的方案得到的圖像以及對噪聲干擾的圖像的判斷結果如圖7所示,只有紅色部分為算法識別的信標位置.

(a)獲取穩定圖像

(b)干擾圖像的軟件處理圖7 穩定識別信標
如圖7(a)所示,使用了光路改進后CMOS攝像頭獲得的圖像正確率在99.3%以上. 這說明基本能夠消除外界干擾光對判斷的穩定性影響. 如圖7(b)所示,對受干擾的圖像處理結果也更加穩定,而且無誤判,能夠滿足圖像識別穩定性所需要的要求.
分別利用無姿態控制算法改進的方案(藍色曲線)和引進PID的控制算法方案(紅色曲線)操控智能車,將速度值穩定在210(210為編碼器的返回參量,250代表電機轉速達到100%),并且對智能車行駛狀態進行制動干擾,利用串口返回真實的速度值,如圖8所示.
結果顯示,在智能車啟動后,PID的控制算法方案穩定在速度210上的時間僅需0.3 s,相對無PID控制算法的方案所需的2.3 s有較大優勢. 受到干擾后恢復時間在0.5 s以內. 而無PID算法的方案下恢復穩定速度至少需要2.0 s. 這說明引入PID的控制算法方案保證了姿態控制穩定性.

圖8 電機速度值
利用帶有障礙的賽道,如圖9所示,測試智能車對不同障礙的傳感檢測,同時制造情景使智能車強制制動或者翻倒,測試智能車對各種突發情景的響應.

圖9 測試地圖
由多次實驗測試結果得知,無突發處理的智能車對測試地圖的完成時間在30.5 s以上,同時由于無法應對強制制動和翻倒等其他情況,導致更多的實驗無法完成. 利用本文提出的突發處理控制智能車完成測試地圖的時間為15.7 s左右,同時也能夠規避其他突發情況,維持了突發處理穩定性.
以追尋信標的智能車為例,說明了智能車在運行過程中圖像識別穩定性、姿態控制穩定性和突發處理穩定性的重要性. 通過對CMOS及圖像的光路、軟件處理,引入PID及其改進算法,結合多傳感規避的一系列策略完善了智能車,保證了智能車控制的穩定性.