趙思蕊 吳亞東,2 楊文超 蔣宏宇
(1.西南科技大學計算機科學與技術學院 四川綿陽 621010;2.西南科技大學核廢物與環(huán)境安全國防重點學科實驗室 四川綿陽 621010)
?
基于模擬CCD傳感器和圖像矯正的自循跡機器人設計
趙思蕊1吳亞東1,2楊文超1蔣宏宇1
(1.西南科技大學計算機科學與技術學院 四川綿陽 621010;2.西南科技大學核廢物與環(huán)境安全國防重點學科實驗室 四川綿陽 621010)
設計了一種基于模擬CCD圖像傳感器和圖像透視矯正算法的自動循跡機器人。分別完成了機器人的總體設計和軟硬件設計。該循跡機器人以32位單片機MK60DN512ZVLQ10為主控制器,采用模擬CCD攝像頭獲取黑色引導線信息,并轉化為有效的舵機和電機控制量。為提高控制精度,利用PID控制算法實現機器人的閉環(huán)控制。由于采集的圖像存在梯形失真,所以利用圖像透視變換對原始圖像校正,實現機器人精確的循跡。測試結果表明:該循跡機器人對場地適應性強,具有低成本、低功耗等優(yōu)點,在核輻射和高壓電等特殊環(huán)境下有很大的使用價值。
模擬CCD 圖像傳感器 自循跡 機器人 透視校正
循跡機器人是一種集環(huán)境感知、規(guī)劃策略、自動行駛等功能于一體的綜合系統(tǒng)[1],在核輻射和高壓電力等環(huán)境下具有重要的使用價值和廣闊的應用前景,如利用循跡機器人對人工難以作業(yè)的核輻射環(huán)境進行檢測與預警、對關鍵設施進行維護等[3]。根據循跡采用傳感器的不同,循跡機器人循跡方式主要分為光電循跡、電磁循跡和視覺循跡。光電和電磁因為易受光線和場地等環(huán)境因素的影響,應用范圍十分有限,而視覺循跡依靠圖像處理技術有著更強的適應性和更廣泛的應用場景[2]。
本文借鑒Freescale智能汽車競賽經驗,在核輻射實驗室鋪設雙黑線引導線,將模擬CCD攝像頭作為循跡機器人的視覺傳感器,實現路徑識別和自動循跡的功能。由于視覺傳感器安裝的朝向位置傾斜向下,所以采集到的圖像存在梯形失真,這種失真將會造成后續(xù)的引導線識別以及計算出的圖像偏差存在較大誤差,從而無法達到準確按規(guī)定路線循跡的目的[4],所以利用透視變換對原圖像進行矯正,從而大大提高了循跡機器人循跡的準確度。該循跡機器人能為核輻射、高壓電等特殊環(huán)境的監(jiān)測和檢修提供一種低成本、低功耗的有效解決辦法,具有一定的應用價值。
循跡機器人系統(tǒng)采用Freescale高性能的32位單片機MK60DN512ZVLQ10作為主控制器,利用模擬CCD圖像傳感器獲取路徑信息,根據采集的路徑圖像中黑色引導線與機器人的體中心線的偏差,完成對舵機轉角的控制,采用500線光電編碼器實時采集和反饋速度信號,并利用增量式PID算法實現對循跡機器人速度的精確控制。整個系統(tǒng)采用模塊化設計,硬件由主控模塊、電源管理模塊、圖像采集模塊、電機驅動模塊、舵機驅動模塊、速度檢測模塊、輔助調試模塊組成。軟件編寫相應的圖像信號采集、信號處理、路徑引導線提取識別和PID控制等功能模塊函數,從而達到機器人準確的循跡目的。系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)整體框圖Fig.1 Block diagram of the system
2.1 主控模塊
主控模塊采用MK60DN512ZVLQ10最小系統(tǒng)板。K60是飛思卡爾公司推出的Kinetis系列微控制器,基于32位處理器內核ARM Cortex-M4[6],內部加入了DSP運算指令,能進行浮點運算,運算頻率可高達1.25 DMIPS/MHz,而且提供了50 MHz,72 MHz,100 MHz,120 MHz和150 MHz的CPU頻率,本系統(tǒng)采用超頻技術使主控模塊安全工作在150 MHz,從而大大提升了機器人實時處理信息的能力。此外,K60在定時器和控制方面,FlexTimers支持通用、PWM和電機控制功能,豐富的外部IO接口更是為后續(xù)的開發(fā)提供了保障。
2.2 電源模塊
電源模塊是整個系統(tǒng)的能源動力機構,所以良好的電源供給是系統(tǒng)穩(wěn)定運行的前提。系統(tǒng)的總電源采用7.2 V,2 A/h的可充電鎳鎘電池供電。由于電路中的不同電路模塊所需要的工作電壓和電流容量各不相同,因此電源模塊應該包括多個穩(wěn)壓電路,將充電電池電壓轉換成各個模塊所需要的電壓,系統(tǒng)的電源管理模塊設計如圖2所示。
圖2 電源模塊框圖Fig.2 Block diagram of power module
2.2 圖像采集模塊
2.2.1 圖像傳感器選型
攝像頭是使用最為廣泛的圖像傳感器,根據信號處理方式的不同,主要分為模擬攝像頭和數字攝像頭[7],而根據采用的傳感器芯片的不同,主要分為CMOS和CCD兩種類型。由于模擬CCD攝像頭在圖像質量、感光度、噪聲等方面都大大優(yōu)于數字CMOS攝像頭,經過實際環(huán)境測試,最終采用Sony模擬CCD攝像頭作為循跡機器人的圖像傳感器,該攝像頭像素可達30萬,按一定的分辨率,以隔行掃描的方式采集圖像上的點[7],輸出標準視頻信號每秒有60場圖像,分辨率為640×480,所以每一場輸出312.5行圖像,行周期為64 μs。
2.2.2 視頻信號處理
循跡機器人采用模擬CCD攝像頭作為圖像傳感器,模擬式的采集需要先將攝像頭輸出的復合視
頻信號進行分離,得到獨立的行同步脈沖信號和場同步脈沖信號。本系統(tǒng)采用經典的LM1881視頻同步信號同步分離芯片進行電路設計提取圖像信號中的時序信息,并轉換成TTL電平直接輸出給單片機的I/O口作中斷控制信號。
2.2.3 硬件二值化電路
由于模擬攝像頭采集到的圖像信號為模擬信號,不能直接被單片機處理,所以需要先將模擬的圖像灰度信號轉換為數字信號。模數轉化通常利用AD轉換芯片或單片機自帶的AD資源進行處理??紤]到單片機的處理能力有限,而且即使利用AD轉化得到圖像灰度數據,最終還是需要利用軟件設置二值化閥值進行黑白判斷,由于不同環(huán)境下的二值化閥值的大小往往不同,從而極大地影響軟件算法的適應性。對此,設計如圖3所示的硬件二值化電路,將模擬CCD采集到的灰度信號通過模擬比較器LM393后得到一組方波信號,然后直接輸入到單片機的一位I/O口,對該位的端口進行讀取,高電平“1”表示采集到的為白色圖像,低電平“0”表示采集到黑色圖像。根據現場環(huán)境光照等因素,調節(jié)滑動變阻器就可以改變圖像二值化閥值。
2.3 電機驅動模塊
電機驅動電路采用兩片IR2104半橋驅動芯片和四片NMOS管組合搭建成全橋驅動。IR2104是半橋驅動芯片,可以驅動高端和低端兩個 N 溝道 MOSFET,能提供較大的柵極驅動電流,并具有硬件死區(qū)、硬件防同臂導通等功能。使用兩片 IR2104半橋驅動芯片可以組成完整的直流電機 H 橋式驅動電路。
圖3 硬件二值化電路Fig.3 Circuit of hardware binarization
循跡機器人的系統(tǒng)軟件采用C語言編程實現,主要使用到了單片機的普通I/O模塊、PWM輸出控制模塊、定時器模塊、串口通信模塊和中斷模塊。系統(tǒng)軟件由圖像信號采集、黑色引導線提取、轉向控制和速度控制等功能組成。
3.1 圖像采集
圖像采集根據攝像頭的行同步脈沖信號和場同步脈沖信號對圖像模擬量進行采集。在攝像頭機械位置固定的情況下,采集圖像的行數和列數決定了循跡機器人前瞻、盲區(qū)的大少以及視野的寬度。本系統(tǒng)使用的Sony CCD圖像傳感器分辨率為480×320,即采集的一幅圖像最大為320行和480列,考慮到微處理器K60的存儲容量和處理能力有限,不可能對每一行圖像都采集,而且黑色引導線的線寬為25 mm,圖像縱向至少精度要達到25 mm,因此通過現場調試,均勻采集110行和220列,使用二維數組保存單片機讀取到圖像黑白像素值。采集到的幾種典型路徑二值化圖像如圖4所示,圖4(a)為直道入彎,圖4(b)為彎道,圖4(c)為十字交叉路口。
圖4 幾種典型路徑二值化圖像Fig.4 Binarization images of several typical path
3.2 圖像信號處理
3.2.1 圖像濾波
由于圖像在生成、傳輸過程中極易產生噪聲[10],圖像中存在的的噪點對圖像邊沿檢測、軌跡識別等影響比較大,所以圖像去噪是后續(xù)圖像處理的前提。考慮單片機的處理能力有限,不可能使用復雜的去噪算法,此外攝像頭采集的圖像信號中噪聲點占少數,所以選用經典的中值圖像濾波算法對采集的圖像進行去噪,中值濾波是基于排序統(tǒng)計理論的一種能有效抑制噪聲的非線性信號處理技術[11]。其思想是:在采集的圖像窗口范圍內對像素樣本P(n-N)…P(n)…P(n+N)取中值,即第n個像素點的灰度值為:
Y(n) = med[P(n-N)…P(n)…P(n+N)]
(1)
其中med[ ]表示對所選圖像范圍內的所有像素點進行從小到大的排序后,然后取中間值。實際中,我們對采集到的每一行圖像進行中值濾波,在待處理像素點的設置領域內,對所有像素點的灰度值進行排序后取中間點的灰度值代替當前像素點的灰度值。經過實驗測試,該方法取得了很好的去噪效果,并能保持圖像中的邊緣特性。
3.2.2 梯形失真矯正
由于循跡機器人的攝像頭與地面成一定角度安裝,造成了采集的圖像存在梯形畸變,即采集到的圖像存在近端物體寬大,遠端物體窄小[4],這樣的畸變對后續(xù)黑色引導線的識別以及計算出的偏差控制量存在較大誤差,從而不能實現循跡機器人的準確循跡的目的。因此,采用圖像透視投影變換對原始圖像進行正投影校正。
如果將攝像頭獲取到的圖像信息映射到平行于地面的平面上,即重投影變換,其效果相當于將攝像頭鏡頭垂直于地面向下看得到的物體真實形狀。設循跡機器人采集到的圖像所在的坐標平面為XOY,校正后的坐標平面為X' O' Y',其中坐標原點O和O' 為圖像的左上頂點,再設(x,y)是平面XOY中任意待校正的點,(x,y)在校正平面X' O' Y' 的像點坐標為(x',y' ),則有
(2)
式中a,b,c,d,e,f,u,v均為常數。分析式(2)可知,實現圖像的重投影變換只需在平面XOY和X'O'Y' 上找到4對“物點和像點”,有了這4對點的對應關系就可以確定常數a,b,c,d,e,f,u,v的值。
實際校正中,使用規(guī)范化坐標系作為重投影平面,則重投影平面的4個頂點坐標依次為A' (0,0),B' (1,0),C' (0,1),D' (1,1),由于他們依次對應原圖像的4個定點ABCD的坐標可以通過PC上位機圖像得到,設A點坐標為(x1,y1),C點坐標為(x2,y2),則B點和D點的坐標依次為(L-x1,y1),(L-x2,y2),其中x1和y1為采集的有效路徑圖像的左上頂點相對坐標系原點O的橫軸和縱軸的距離,x2和y2為有效路徑圖像的右上頂點相對坐標系原點O的橫軸和縱軸的距離,L為采集的原有效路徑圖像的寬度,將以上四組坐標分別帶入(2)式聯立形成方程組即可得到常數a,b,c,d,e,f,u,v的值:
(3)
在計算得到a,b,c,d,e,f,u,v的值后,就可以在單片機程序中編寫常量表,利用(2)式完成相應的梯形失真校正。
3.3 黑色引導線提取
在黑線引導線提取時,采用經典的邊沿跟蹤提取算法。黑線提取算法如圖5所示。通過分析攝像頭采集到的圖像數據,發(fā)現圖像在近端比較清晰,即使是外界自然光線變化比較大,采集到的圖像也基本不變,所以對前4行進行全行掃描,直到找到黑線行為止,并且提取左右的黑白跳變點。在前4行確定的情況下,以此4行作為基準,在確定的有效引導線范圍內,對后面的所有的行進行邊沿搜索:先計算搜索到的3行黑線的斜率K,根據路徑的連續(xù)性,若K<0,黑線的變化趨勢向右,從左向右搜索;若K>0,黑線的變化趨勢向左,從右向左搜索。此外,循跡環(huán)境中存在十字交叉口,為了排除十字叉的干擾,在計算斜率的基礎上,判斷前一行的列值,若列值過大,則采取從右向左搜索,若過小,則從左向右搜,搜索范圍會根據黑線的遠近端以及前一行是否丟失黑線來確定。若前3行沒有搜索到黑線,則認為黑線丟失,黑線丟失標志置1,即退出搜索,黑線提取完畢,有效行在退出前要再次進行更新。
圖5 黑線引導線提取算法流程圖Fig.5 Flow chart of black guide line extraction
3.4 速度控制算法
循跡機器人在循跡過程中,對于不同的路徑,攝像頭所采集的圖像的有效行數和偏差值也各不相同。直道采集到的有效圖像行數最多,偏差值最小,在進入彎道時,采集到的有效圖像行數會減少,偏差值會增大,所以將圖像偏差值作為電機的PWM控制量,并結合搜索到的圖像引導線的有效行,使用魯棒性很好的經典PID算法多循跡機器人實現閉環(huán)控制。由于增量式PID控制算法計算量小[8],適合本循跡機器人系統(tǒng),所以采用增量式PID控制算法對循跡機器人的速度進行控制,將速度的增量作為電機的控制量。將(4)式減去(5)式即可得到增量式PID控制算法,其表達形式為式(6)。
(4)
(5)
Δu(k)= KpΔe(k)+Kie(k)+
Kd[Δe(k)-Δe(k-1)]
(6)
本循跡機器人系統(tǒng)的測試主要包括兩個部分:圖像梯形失真校正效果測試和機器人循跡準確性測試,其中機器人循跡準確性測試又分為圖像校正影響對比測試和環(huán)境適應性測試。
為了驗證本文圖像梯形失真校正算法的正確性。將循跡機器人采集到的路徑圖像通過單片機串口發(fā)送到PC上位機顯示,并保存圖像灰度信息。圖6(a)為采集到的直道路徑灰度圖像,圖像底邊實際長度為0.6 m,縱向長度為1.9 m。利用(3)式計算得到常量表,并通過Matlab編寫程序,利用式(2)進行透視重投影校正,圖像校正后采用灰度插值算法填補像素間隙。原始灰度圖6(a)經過校正最終顯示結果如圖6(b)所示。
圖6 圖像校正效果圖Fig.6 Pictures of correction effect
對比圖6(a)和圖6(b)可知,直道路徑圖像中的黑色引導線由原來的上窄下寬校正為寬度一致,可見此梯形失真校正算法能正確還原路徑圖像,達到預期效果。
為了測試圖像校正對循跡機器人循跡準確度和速度的影響,在核輻射實驗室鋪設雙黑色引導線,讓機器人在相同日光燈照射下,分別以2 m/s和2.7 m/s的速度進行循跡,循跡路徑包括10 m長直道,十字交叉,30°,45°,75°,135°彎道。測試結果如表1所示。
表1 圖像校正影響測試結果Table 1 Experimental results of image correction effect
從表1測試數據可以看出,當機器人以2 m/s速度循跡時,使用和不使用圖像校正算法,對機器人的循跡準確性影響不大。當機器人的循跡速度提高到2.7 m/s時,不使用圖像校正算法情況下的機器人循跡失敗率明顯高于使用圖像校正的情況。可見使用本文的圖像失真校正算法可以大大提高機器人循跡的準確性和循跡速度。
與此同時,為了測試循跡機器人對環(huán)境的適應性,讓機器人分別在自然光和日光燈照射下以2.5 m/s的速度進行循跡,循跡路徑也是10 m長直道,十字交叉,30°,45°,75°,135°彎道。測試結果如表2所示。
表2 機器人適應性測試實驗結果Table 2 Experimental results of robot tracking
分析表2數據可知,本循跡機器人在自然光和日光燈照射條件下均能以2.5 m/s的速度穩(wěn)定循跡,并且兩種光照條件下測試結果相差不大,說明循跡機器人有一定的環(huán)境適應性,循跡成功率較高,具有一定的實用價值。
本文設計了一種基于模擬CCD圖像傳感器和圖像梯形失真矯正算法的自動循跡機器人,實現了對雙黑色引導線的準確循跡。機器人以32位單片機MK60DN512ZVLQ10為核心控制芯片,采用模擬CCD攝像頭提取核輻射實驗室地面鋪設的雙黑色路徑引導線,利用路徑圖像中的黑色引導線與車體中心線的偏差,完成了對舵機轉角的控制,并使用增量式PID控制算法實現對機器人速度的閉環(huán)控制。針對采集到的路徑圖像存在梯形失真問題,使用透視重投影變換對原圖像進行了正投影校正。測試結果表明,本文設計的循跡機器人循跡成功率較高,并且具有嵌入式系統(tǒng)低功耗、低成本的優(yōu)點,在核輻射和高壓電力等環(huán)境下具有重要的使用價值和廣闊的應用前景。
[1] 徐文福,毛志剛. 核電站機器人研究現狀與發(fā)展趨勢[J]. 機器人,2011, 33(6): 758-766.
[2] 瞿哲奕,唐秦崴,朱熀秋. 基于路徑識別的巡線機器人控制系統(tǒng)設計 [J]. 制造業(yè)自動化,2010, 32(10): 30-34.
[3] 謝寧,周翔,劉露露. 基于XS128單片機的智能循跡車硬件系統(tǒng)設計 [J]. 應用天地,2012, 31(12): 63-66.
[4] 胡榮春,楊濤,馬娟. 視覺訓線機器人中的攝像頭圖像透視校正方法 [J]. 計算機與數字工程,2012, 40(6): 104-108.
[5] 夏澎,郝衛(wèi)東,劉溯奇. 基于S3C6410的視覺巡線機器人系統(tǒng)設計 [J]. 計算機系統(tǒng)應用,2009, (5): 111-114.
[6] 劉穎. 基于K60單片機的智能車控制算法的仿真與實現 [D]. 西安:長安大學,2014.
[7] 李興澤,王福平. 基于CCD攝像頭的小區(qū)自動循跡停車系統(tǒng) [J]. 計算機系統(tǒng)應用,2013, 33(S1): 321-323.
[8] 柯其延,闕大順,楊錦濤,等. 基于邊緣檢測算法的智能車循跡系統(tǒng)設計 [J]. 計算機技術及其應用,2014, 36(3): 48-50.
[9] GAO Zhen-dong, WANG Xiao-hui, LI Zhi-wen. Design of intelligent line-tracking robot based on STM32 [J]. Journal of Measurement Science and Instrumentation, 2014, 5(2): 55-58.
[10] 胡越黎,計慧杰,吳頻,等. 圖像中值濾波算法及其FPGA實現 [J]. 計算機測量與控制,2008, 16(11): 1672-1675.
[11] 劉國宏,郭文明. 改進的中值濾波去噪算法應用分析 [J]. 計算機工程與應用,2010, 46(10): 187-189.
Design of Self-tracking Robot Based on Analog CCD Sensor and Image Correction
ZHAO Si-rui1, WU Ya-dong1,2, YANG Wen-chao1, JIANG Hong-yu1
(1.SchoolofComputerScienceandTechnology,SouthwestUniversityofScienceandTechnology,Mianyang621010,Sichuan,China; 2.FundamentalScienceonNuclearWastesandEnvironmentalSafetyLaboratory,SouthwestUniversityofScienceandTechnology,Mianyang621010,Sichuan,China)
A self-tracking robot has been designed based on analog CCD image sensor and image perspective correction. The overall design as well as hardware/software design is completed. The tracking robot uses the MK60DN512ZVLQ10 as main controller and collects the black guide line image information using analog CCD camera,the image information is converted to effective steering gear and motor control. In order to improve control accuracy,using the PID control algorithm to realize the closed-loop control of the robot. Due to the collection of image is trapezoidal distortion, perspective transformation is used to correct the original image and realize accurate tracking of robot. Result of the test indicates that the tracking robot which has strong adaptability is strong and has the advantages of low cost,low power consumption, it has great value in the special environment such as radiation, high voltage, etc.
Analog CCD; Image sensor; Self-tracking; Robot; Perspective correction
2015-03-19
國防基礎研究項目(10ZG6102, 13ZXNK12);四川省科技廳項目(2011JQ0041, 11ZS2009);中國科學院“西部之光”人才培養(yǎng)計劃(13ZS0106);四川省教育廳重點項目(11ZA130, 13ZA0169)。
趙思蕊(1991—),男,碩士研究生,研究方向為嵌入式系統(tǒng)、圖形圖像處理。E-mail:1174936496@qq.com
TP391.41
A
1671-8755(2015)02-0081-07