基于視覺(jué)的高速尋線(xiàn)機器人設計與實(shí)現
在最近一些機器人競賽中,對于機器人的尋線(xiàn)行走,除了要求精確之外,對機器人尋線(xiàn)速度也提出了很高的要求,速度往往成為某些比賽制勝的關(guān)鍵。在最近教育部推出的全國大學(xué)生智能汽車(chē)大賽中,更是將尋線(xiàn)速度定為比賽的主題。本文在總結參加此類(lèi)賽事的基礎上,提出了一種將單片機作為核心控制器,利用低分辨率攝像頭代替通用光電傳感器的機器人高速尋線(xiàn)行走機構設計方法。
本文引用地址:http://dyxdggzs.com/article/173882.htm1 車(chē)體機械設計
為了體現速度要求,采用仿真賽車(chē)模型作為車(chē)體機械平臺。采用后輪驅動(dòng),前輪轉向的工作方式,實(shí)現高速轉向運動(dòng);而如果采用兩輪式結構,通過(guò)雙電機差速方式實(shí)現的轉向運動(dòng),在高速轉向情況下,對電機同步控制要求很高,難以實(shí)現。前輪轉向采用舵機驅動(dòng),后輪驅動(dòng)通過(guò)直流電機傳動(dòng)到后輪軸,利用機械差速機構避免轉向打滑。其各主要部件安裝位置如圖1所示。
圖1 車(chē)體實(shí)物及結構示意圖
機器人采用攝像頭作為尋線(xiàn)傳感器,為了使攝像頭獲得很好的前方視野,將攝像頭安裝在車(chē)體前部高處,從而捕獲車(chē)體前方足夠豐富的路線(xiàn)信息,實(shí)現線(xiàn)路預判,這是視覺(jué)方案在尋線(xiàn)速度上大大優(yōu)于光電傳感器方案的關(guān)鍵。
2 硬件電路設計
這里主要介紹作為核心控制器的單片機性能以及視頻采集模塊電路結構,簡(jiǎn)要介紹其他模塊硬件實(shí)現。系統整體結構如圖2所示:
圖2 系統硬件結構設計圖
2.1 核心控制器設計
為了實(shí)現視頻采集,考慮綜合性?xún)r(jià)比、設備安裝等因素,核心控制器選用Freescale公司的16位高性能單片機――MC9S12DG128(以下簡(jiǎn)稱(chēng)S12)。它的指令處理時(shí)鐘可以達到38MHz,其A/D轉換器的工作時(shí)鐘可以達到16MHz,用于采集視頻。同時(shí)它擁有8路PWM通道,控制舵機和直流電機完成轉向和速度控制;8路捕捉/比較通道獲取作為速度傳感器的編碼器脈沖信號;串行通信接口用于無(wú)線(xiàn)調試;多達64個(gè)IO(通過(guò)IO復用方式)足夠用于狀態(tài)顯示及參數設置。另外,其擁有128k的flash存儲空間,無(wú)需進(jìn)行存儲器擴展,在片內就可以實(shí)現視頻數據存儲和調用。如圖2所示,整個(gè)系統采用一塊單片機,無(wú)需添加其他控制器、存儲器,成為真正的“單片”系統。
2.2視頻采集模塊
由于單片機A/D速度限制,需要選用低分辨率的黑白攝像頭。因為低分辨率意味著(zhù)視頻單行掃描時(shí)間的增加,而黑白攝像頭意味著(zhù)只需要單路A/D就可以完成視頻采集工作。選擇了Omvision生產(chǎn)的ov5116芯片為內核的CMOS黑白攝像頭,分辨率為320×240,圖像刷新頻率50Hz。同時(shí)選用LM1881視頻同步信號分離芯片提取視頻信號中的行同步和場(chǎng)同步信號,連入s12的脈沖捕捉通道。通過(guò)捕捉信號觸發(fā)AD模塊工作,采集存儲視頻數據。
圖3 視頻采集電路原理圖
2.3電機控制及電源
選用Mabuchi公司生產(chǎn)的RS-380SH直流電機作為主驅動(dòng)電機,通過(guò)PWM信號控制。選用Freescale公司的MC33886全橋驅動(dòng)芯片,通過(guò)兩路半橋實(shí)現電機正反轉。這里的電機反轉并不為實(shí)現倒車(chē),而主要用于車(chē)體減速。在進(jìn)行電機正反轉切換時(shí),電機驅動(dòng)電流會(huì )隨著(zhù)負載增大而瞬間放大,因此需要增大穩壓能力,保證系統正常工作電壓,避免單片機自動(dòng)重啟。在整個(gè)系統中,有多種電壓需求,單片機和舵機為5V供電;CMOS攝像頭為6~9V。因此,為了方便開(kāi)發(fā),這里選用最常用的7.2V充電電池組。只需在系統內加入5V穩壓芯片,提供5V電壓。
3 視頻采集與處理
這里重點(diǎn)介紹用s12片內A/D實(shí)現視頻采集和視頻處理工作。
3.1視頻采集
S12上AD標準工作時(shí)鐘為2MHz,而AD采樣至少需要14個(gè)時(shí)鐘周期。由此可得,每采集一次需要7us=14/2M。根據視頻傳輸原理和CMOS攝像頭參數,視頻單行掃描時(shí)間為 。因此,在默認時(shí)鐘工作情況下,A/D模塊單行只可以采集9個(gè)視頻點(diǎn),采集效果如圖5。
圖4 2MHz A/D時(shí)鐘下視頻采集效果
這種采集效果顯然無(wú)法滿(mǎn)足尋線(xiàn)控制要求,因此需要加快AD工作時(shí)鐘,將速度提高8倍,達到16MHz,采樣所需時(shí)間也同比視頻加快8倍,理論上,單行可以采集77個(gè)點(diǎn)。實(shí)際采集效果如圖5,精度達到40×76象素。這樣的視頻效果足已達到尋線(xiàn)精度要求。(由于采集精度很高,其中每行視頻中多個(gè)采樣點(diǎn)位于視頻行消隱區,即圖像兩側黑色區域)
圖5 16MHz A/D時(shí)鐘情況下視頻采集和視頻處理效果
3.2視頻處理
通過(guò)視頻處理,提取視頻中的黑線(xiàn)位置。由于視頻圖像簡(jiǎn)單,視頻處理算法采用邊緣檢測算法,即每行相鄰兩點(diǎn)數據做差,根據差值大小及正負,獲取視頻圖像中的“白變黑”和“黑變白”的黑線(xiàn)邊緣位置。同時(shí),通過(guò)計算兩個(gè)邊緣位置的距離,判斷“黑線(xiàn)”寬度,過(guò)濾其他干擾。視頻處理效果見(jiàn)圖5。
為了節省系統資源,系統并沒(méi)有將320行視頻全部采集,而選取視頻中的40行進(jìn)行采集,仍然可以達到尋線(xiàn)控制要求。同時(shí),利用非采集視頻行的系統空閑時(shí)間進(jìn)行視頻處理和運動(dòng)控制工作,實(shí)現邊采集邊處理邊控制。另外,這種方法并不需要保存全部視頻數據,而僅存儲視頻處理后的黑線(xiàn)位置數組,減少系統存儲空間占用和程序執行時(shí)間。
4 運動(dòng)控制策略
該行走機器人主要設計目的是提高尋線(xiàn)行走速度。攝像頭的使用,正是為了增加前方線(xiàn)路探測距離,給運動(dòng)控制提供充足的決策時(shí)間。因此,其運動(dòng)控制策略也基于此方案。本系統采用預瞄與PID相結合的方法實(shí)現速度和轉向控制。
基于單片機采集的視頻,判斷車(chē)體前方道路情況,可以明顯區分彎道直道以及彎道曲率大小。而在不同道路情況下,車(chē)體受自身機械結構和電機特性等因素影響,有不同的行駛表現。在彎道行駛中存在最佳入彎速度,彎道行駛速度以及彎道行駛路線(xiàn)。而在直道行駛中,雖然車(chē)體速度越快越好,但是為了安全地完成直道入彎道,必須進(jìn)行入彎提前減速。這點(diǎn)是攝像頭方案在速度上優(yōu)于紅外光電傳感器方案的關(guān)鍵:足夠充分的預判距離,保證了足夠充分的減速時(shí)間和距離,取得最快入彎效果
控制算法說(shuō)明如下:首先求取黑線(xiàn)位置數據方差,根據方差大小,判斷黑線(xiàn)彎曲程度,將賽道簡(jiǎn)單分成3種:直道、小彎道和大彎道。通過(guò)大量試驗,獲取三種賽道的最佳車(chē)速,采用閉環(huán)PID控制實(shí)現車(chē)速控制。對于轉向控制,由于追求尋線(xiàn)速度并不追求精確橫向控制,采用PD控制算法結合預瞄算法。根據線(xiàn)路情況,動(dòng)態(tài)調整轉向控制距離。按照模糊控制模型,根據人駕駛車(chē)輛習慣,在直道運行時(shí),利用較遠視頻行進(jìn)行橫向控制,當進(jìn)入彎道,采用近端視頻行。轉向公式如下:
根據此速度和轉向控制策略,經(jīng)過(guò)大量實(shí)際的試驗,最終獲得良好的車(chē)體尋線(xiàn)運動(dòng)效果,平均尋線(xiàn)速度可以達到2.5m/s,明顯高于普通行走機器人設計方案。由于本文重點(diǎn)闡述系統構建方案,而對于采用的控制算法部分,各個(gè)車(chē)體機械和電機差異很大,試驗數據不具備參考性?xún)r(jià)值,因此在此僅對算法策略進(jìn)行說(shuō)明。
5總結與展望
本文設計了一個(gè)基于視覺(jué)的以高速尋線(xiàn)為目的的行走機器人系統。系統采用一塊高性能單片機,完成了從視頻采集到視頻處理,最終實(shí)現速度和轉向控制的一套尋線(xiàn)行走功能。系統輕便靈巧,無(wú)需存儲器擴展和其他可編程器件配合,搭建費用低。該方案在參加第一屆全國大學(xué)生智能車(chē)大賽中,系統運行平穩,取得了非常優(yōu)異的成績(jì)。
創(chuàng )新點(diǎn):系統沒(méi)有采用通用的紅外光電對管,而采用低分辨率攝像頭作為尋線(xiàn)傳感器。同時(shí)打破傳統觀(guān)念,僅利用一塊單片機完成視頻采集處理,由于視頻獲取的路線(xiàn)信息比紅外光電傳感器方案要豐富的多,因此這種低成本的視頻尋線(xiàn)解決方案,使運動(dòng)控制算法開(kāi)發(fā)提供很高的靈活性。系統由于單片機速度限制,尚不能實(shí)現彩色視頻采集工作,因此無(wú)法實(shí)現復雜視頻圖像的尋線(xiàn)工作。
本系統方案,除了應用在某些機器人大賽中,還可以用于智能車(chē)輛的導航算法研究上。系統實(shí)現簡(jiǎn)單和成本低正好解決了智能車(chē)輛研究中存在的相應問(wèn)題。同時(shí),本系統也可以作為良好的教學(xué)平臺,供控制理論和視頻處理教學(xué)使用。
評論