李星云,李眾立,廖曉波
(西南科技大學制造科學與工程學院,四川綿陽621010)
視覺定位技術是機器人領域的一個重要研究方向[1],它綜合運用了機械學、電子學、光學、圖像處理等學科,將其應用到工業生產中,可以對目標尺寸和位姿進行測量,具有非接觸、速度快、柔性好等優點,在現代制造行業中具有非常廣泛的應用前景。G PENG[2]介紹了視覺技術的關鍵問題,實現了對目標的定位。但該方法的缺點是利用單個特征點進行測量,容錯率較低;沈慧杰[3]建立了單目視覺測距的模型,但是要通過設置在場地上特征點與攝像機之間構成三角關系后求出坐標,加大了運算量。周娜[4]建立了基于平面模板的攝像機定位方法,但為了獲得圖像間以及模板與圖像之間對應點的匹配,需要人為干預,不能實現實時定位。
單目視覺定位在理論上有很多的研究,但圖像處理主要是在計算機上進行,所以集成性較低,成本較高。論文從實際生產情況出發,提出了一種在嵌入式平臺上的單目視覺定位方法,選用S3C2440 微處理器和OV3640 圖像傳感器,以工件為目標,設計出一套集成高,計算快,測量準確的單目定位系統。

圖1 靜態圖像采集平臺結構
為了保證目標的空間位置和姿態準確測量,測量模塊要固定在目標的正上方,并且鏡頭的光軸與地面垂直[5]。定位系統的靜態圖像采集平臺結構如圖1 所示。其中f 為攝像機焦距,r 為視場角,c 為測量模塊,1 為光源。
為了提高測量精度和計算速度,應選擇計算速度快的微處理器以及像素高的圖像傳感器[6]
(1)微處理器的選擇
微處理器選擇的是三星公司生產的一款高性能、低功耗、體積小的S3C2440[7]處理芯片。由于該處理芯片有一個專用的Camera-Interface (CAMIF)接口,該接口支持YCrCb8 位的數字視頻接口標準,并且無需接口轉換電路,便可以和圖像傳感器直接連接使用。
(2)圖像傳感器的選擇
圖像傳感器選擇的是OV 公司生產的300W 像素的CMOS 傳感器OV3640[8]。該芯片在QXGA (2 048×1 536)格式下,處理速度高達15 幀/s,可輸出YCb-Cr422、RGB565 等多種格式,并可通過設置其內部寄存器來控制其曝光時間、白平衡、飽和度、增益等參數。
(3)光學鏡頭的選擇
光學鏡頭須選擇固定焦距、固定視場角和景深比較大的防畸變光學鏡頭。
在測量平臺的硬件設計中,將微處理器與圖像傳感器集成在一塊電路板上,并固定在保護外殼的內部,在保護外殼上連接光學鏡頭,構成測量模塊,如圖2 所示。

圖2 測量模塊
視覺定位系統的主要硬件連接圖如圖3 所示。

圖3 視覺定位系統的主要硬件連接圖
首先微處理器向圖像傳感器發出采集圖像的信號,收到信號后,圖像傳感器將光學圖像轉換成電子信號,經過信號放大處理將數據結果通過DMA 傳送到存儲單元;然后微處理器將圖像數據從儲存單元中讀取出,通過計算得到目標的空間位置和姿態;最后通過通信接口將得到的數據發送到機器人控制器去控制機器人運動。
單目視覺定位原理是利用一個攝像機獲取目標圖片,然后將圖像空間中的目標信息通過相關算法,轉化成真實空間中的目標信息[9]。在該系統中,將得到的圖像坐標(u,v)通過相關算法,計算出目標的空間位置與姿態。
(1)成像平面坐標系
如圖4 所示,O-XY 為成像平面坐標系,其中點O 是鏡頭光軸與成像平面的交點,位于圖像中心。XY 平面與地面平行。
(2)圖像坐標系
如圖4 所示,o-uv 為圖像坐標系,由于圖像信息儲存在矩陣中,所以其坐標(u,v)表示圖像中各像素點的行數和列數,其原點o 位于圖像的左上角。u 軸和v 軸分別平行于成像平面坐標系的X 軸和Y 軸。
(3)攝像機坐標系
如圖4 所示,Oc-XcYcZc為攝像機坐標系,其中點Oc為鏡頭的光心,Xc軸和Yc軸與成像平面坐標系的X 軸與Y 軸平行,Zc軸為鏡頭的光軸,與成像平面垂直。
(4)世界坐標系圖
如圖4 所示,Ow-XwYwZw為世界坐標系,用來描述目標的空間位置,為了提高運算速度,此系統定義的世界坐標系的原點Ow為鏡頭光軸與地面的交點,XwYw平面與地面重合。

圖4 定位系統坐標系
在圖像坐標中,像素點坐標(u,v)為該像素在數組中的位置,并非實際的物理坐標值,所以需要轉換到成像平面坐標系中。已知圖像中心的坐標為(uo,vo)和一個像素點的尺寸為dx、dy,通過坐標系之間的關系可得其轉化公式為:

由各坐標系之間的幾何關系可知:點O 為鏡頭的光心,Xc軸和Yc軸與成像平面的X 軸和Y 軸平行,Zc軸為鏡頭的光軸,它與成像平面垂直,其交點即為成像平面的坐標原點O。OOc為攝像機的焦距f。根據圖4 中的各坐標系關系,可以得到成像平面坐標系與攝像機坐標系之間的轉換公式:

通過齊次坐標轉換公式,可以得到攝像機坐標系與世界坐標系的轉換公式:

由于定義的世界坐標系的原點Ow為鏡頭光軸與地面的交點,且攝像機坐標系和世界坐標系沒有相對旋轉,只在Zc軸正方向進行平移,距離為a,所以可以得到R 為3 ×3 的單位矩陣,T 為[0,0,a]T,聯立(1)(2)(3)3 個公式,可以得到公式:

從公式(4)可以看出,只要求出Zc的坐標值,世界坐標(Xw,Yw,Zw)即可求出。
由于已知圖像傳感器的像素陣列為m ×n、靶面長度和寬度為Lu與Lv以及目標的長度和寬度為Lx與Ly,并且通過圖像處理可以得出目標長邊和寬邊的像素點個數分別lx和ly,通過圖像空間與真實空間的轉化關系,可以得到公式:

為了減少誤差,可以通過公式(5)(6)分別求出Zc的值,取其平均值,然后將得到的結果代入公式(4),即可求出目標的空間坐標。
目標的姿態測量主要是計算目標中心線與Xw軸正方向之間的夾角來確定的。經過圖像處理,已知目標兩條平行長邊上像素點的坐標(u,v),因此可以通過計算出對應像素點坐標的斜率來確定其夾角角度。為了縮短計算時間以及減少誤差,通過反復的測試,決定每條長邊取相同間距的10 個像素點。

定位系統采用的圖像數據格式是YCbCr422,其中Y 表示明亮度,而Cb和Cr表示色度,其作用是描述圖像色彩及飽和度,用于指定像素的顏色。在該格式下,每個像素點保存一個Y 值,每2 個像素點保存一個Cb和Cr值。由圖像處理原理可知,圖像的像素點越多,識別與計算精度越高。所以選擇Y 分量圖像來進行二值化處理和計算。
目標Y 分量的灰度圖像及其直方圖和閥值分隔后的二值化圖像如圖5 所示。

圖5 Y 分量圖像及其直方圖和分割后二值化圖像
如圖5 (a)為目標Y 分量的灰度圖像,5 (b)為其灰度直方圖,通過灰度直方圖可以看出,目標與非目標之間的灰度峰值有較大的間隔,可以較好地提取出目標特征(因此盡量提高目標與非目標之間亮度差),通過閾值分割,得到二值化圖像,如圖5 (c)所示,并在二值圖像中,通過邊緣連接法[10]求出目標邊界像素點。
該視覺定位系統圖像處理的主要流程是:首先進行系統初始化,其次采集目標圖像并對圖像Y分量進行二值化處理,然后通過二值化圖像,得到目標邊緣像素點,最后通過目標邊緣的像素點,確定目標的空間位置和姿態。圖像處理的軟件流程圖如圖6所示。

圖6 圖像處理的軟件流程圖
為了保證空間位置和姿態計算的準確性,應該注意以下幾點:
(1)鏡頭的光心盡量是成像平面坐標系的原點,若偏差較小,則需要調整(u0,v0)的坐標值,如果偏差較大,必須進行校正。
(2)圖像傳感器的靶面尺寸必須和光學鏡頭的靶面尺相同,若圖像傳感器的靶面尺寸大于光學鏡頭的靶面,則采集到圖像周圍會有黑影,若小于,則采集圖像的會出現邊緣缺失。
(3)如果作業現場環境光線變化很大,會影響二值化圖像的閾值選取,從而影響計算出的位姿信息。所以在光線變化很大的環境中,應該采用自適應閾值提取法[11]。
在數據采集的過程中,分別讓采集模塊在不同高度對目標圖像進行采集,以判斷不同高度下的系統誤差,采集到的數據如表1 所示。

表1 不同高度下的圖像采集數據
通過表1 的數據可計算出目標上表面中心的世界坐標,結果如表2 所示。

表2 不同高度下的圖像處理結果
在對目標姿態的測量過程中,分別選擇了0°,15°,30°,45° 4 種角度,計算結果如表3 所示。

表3 不同角度的圖像處理結果
通過表1、表2 可知,測量模塊分別距地面為1 600、1 850、2 100 mm 時,系統測量誤差均小于5 mm,通過表3 可知,在不同偏移角度下,測量誤差小于0.5°。通過以上數據可知,目標空間位置與姿態測量的誤差均在操作允許的范圍內,因此該單目視覺定位系統是可行的。
通過選用S3C2440 與OV3640 的硬件配置,提出了一種處理簡單、計算準確的單目視覺定位系統。將該系統應用在工業機器人上,可以準確地獲取工件目標的位置和姿態的信息,從而降低了工人的勞動強度,提高了工作效率。隨著微處理器與圖像傳感器性能的不斷增強,測量精度也會不斷提高,因此具有很高的推廣價值。
[1]倪受東,劉洋,袁祖強.機器人視覺伺服綜述[J].機床與液壓,2007,35(9):1-5.
[2]PENG G,HUANG X H,GA0 J,et al .Vision Based Intelligent Control for Mobile Robot[C]//Intelligent Control and Automation,2006.WCICA 2006.The Sixth World Congress,2006,2:9124-9128.
[3]沈慧杰.基于單目視覺的攝像機定位方法的研究[D].長春:吉林大學,2009.
[4]周娜.基于單目視覺的攝像機定位技術研究[D].南京:南京航空航天大學,2007.
[5]曹毓,馮瑩,趙立雙.相機姿態安裝誤差對單目視覺定位精度的影響[J].傳感器與微系統,2012,31(12):23-26.
[6]彭章君,廖曉波,羅亮,等.拉鉚釘多參數高精度在線檢測系統的設計[J].計算機測量與控制,2011,19(2):260-265.
[7]Samsung Electronics.S3C2440 user's manual[M].Republic of Korea,2004.
[8]OmniVision Technologies.OV3640 user's manual [M].2006.
[9]廖曉波,李眾立,廖璇.磚窯卸垛機器人視覺定位系統研究[J].控制工程,2013,20(4):650-653.
[10]鄒柏賢,林京壤.圖像輪廓提取方法研究[J].計算機工程與應用,2008,44(25):1-4.
[11]郭佳.基于光照不均勻圖像的自適應二值化方法研究[D].武漢:武漢科技大學,2013.