張波波,李明偉,徐舒宇
(1.大連理工大學電信學部,遼寧大連 116024;2.大連65044部隊,遼寧大連 116024)
?
機械手嵌入式視覺系統(tǒng)
張波波1,李明偉1,徐舒宇2
(1.大連理工大學電信學部,遼寧大連 116024;2.大連65044部隊,遼寧大連 116024)
設計了一種基于ARM和FPGA技術,針對傳送帶上塊狀物料的按規(guī)則有序擺放問題,能為機械手提供定位定向數據的嵌入式視覺系統(tǒng)。系統(tǒng)前端通過FPGA驅動傳感器采集圖像并進行初步處理,后端以ARM9(s3c2440)為主控制器,識別物料目標,計算定位定向數據,將數據發(fā)送至機械手控制器,兩端并行運算。實驗表明該系統(tǒng)能對傳送帶上物料塊快速準確的進行定位和定向,滿足精度和實時性要求同時使設備小型化。
嵌入式技術;視覺系統(tǒng);機械手
在生產線物料傳輸過程中存在一些高度重復且需要一定智能性的物料有序擺放問題,往往需要耗費大量的人力,使用自動化機械設備能夠減少人力使用,提高生產的效率。目前,機器手視覺系統(tǒng)的實現大多使用微機為數據處理平臺,采用專用CCD相機,成本較高,設備體積較大[1-2]。針對這種現狀,本文設計了一種嵌入式機械手視覺系統(tǒng),該系統(tǒng)能夠完成特征識別、標定后的空間幾何量測量和控制的功能,特點是僅僅作為系統(tǒng)的一個外設,體積小、性價比高、便于批量化生產。
機械手系統(tǒng)和視覺系統(tǒng)聯機整體示意圖如圖1所示。
圖1 系統(tǒng)整體示意圖
圖1中,光電開關能夠檢測物料移動位置,并作為曝光觸發(fā)信號連接到相機裝置內,物料塊運動至光電開關處,會觸發(fā)光電開關,相機裝置在收到觸發(fā)信號后延時一定時間,等物料塊進入相機視野后曝光,采集物料圖像,對圖像進行處理,識別物料塊并計算物料塊空間坐標和方向數據,最后將數據通過局域以太網發(fā)送至機械手控制器。機械手控制器移動機械手吸盤到機械手操作區(qū)指定位置抓取物料塊,然后吸盤旋轉一定角度使物料塊標記朝向統(tǒng)一方向,最后釋放物料塊到下一流程生產線上。
視覺系統(tǒng)組成如圖2所示,主要由圖像采集、圖像預處理、目標識別與計算3部分組成。
圖2 視覺系統(tǒng)組成
在圖像采集部分,FPGA驅動圖像傳感器,在適當時刻曝光,采集物料塊圖像。圖像預處理部分由FPGA對物料圖像濾波、二值化,檢測物料塊邊緣,提取邊緣坐標并存儲。目標識別與計算部分由ARM9主控芯片S3C2440分析邊緣坐標數據,識別出物料及上面的方向標志,計算物料質心坐標、方向標志坐標,并根據相機標定參數進行圖像坐標與三維空間坐標變換,最后將數據通過局域以太網發(fā)送至機械手控制器。
系統(tǒng)硬件主要由圖像傳感器、FPGA和ARM 3部分組成。系統(tǒng)總體硬件結構如圖3所示。
圖3 系統(tǒng)硬件框圖
圖像傳感器采用MT9P031,它是一款CMOS圖像傳感器,具有體積小、質量輕、功耗低、易于編程控制等優(yōu)點,MT9P031輸出有效圖像尺寸最大為水平2592像素、垂直1944像素[3]。相同視野下,圖像有效像素越多,計算質心時精度越高,但是當圖像太大時,由于數據量太大又會降低系統(tǒng)處理速度,為了兼顧處理速度和計算精度,通過配置寄存器可動態(tài)設置為全幀全幅或設置為1280V像素×720H像素。
FPGA采用Spartan-3E系列中的XC3S250E,該芯片片內邏輯資源豐富,最高頻率可達300 MHz[4],能夠滿足本設計對實時性的要求。FPGA作為前端的處理器件,接收ARM處理器通過SPI接口發(fā)送的指令并返回器件的工作狀態(tài)給ARM,驅動MT9P031進行圖像采集,此外,FPGA還對圖像數據進行預處理,并將數據存入存儲器件SRAM中。
ARM采用S3C2440,其內部集成了ARM920T核,最高工作頻率可達533 MHz,外圍資源豐富,便于擴展功能[5]。S3C2440外圍連接SDRAM、FLASH、RS232、DM9000網卡。SDRAM作為程序運行時的內存使用;FLASH具有掉電非易失的特點,用來存儲操作系統(tǒng)及應用程序;RS232作為串口,可以用來下載調試應用程序,觀察程序運行狀態(tài);DM9000網卡作為通信接口與上位機測試軟件和機械手控制器通信。
S3C2440是本設計的主控制器件,它與FPGA共享存儲器件SRAM[6]。FPGA采集數據時,連接S3C2440地址線的管腳為高阻態(tài),ARM將不能讀取數據,FPGA采集數據完畢后,將地址線切換到ARM上,此時對于ARM來說,FPGA是透明的,SRAM通過FPGA直接連接到ARM上,如圖4所示。
圖4 共享存儲示意圖
在傳送帶裝置上適當位置安裝光電開關,每當光電信號被觸發(fā)產生一個電平變化,表示有物料已經到位,根據傳送帶速度設定適當延時使物料進入相機視野時恰好進行曝光。
該系統(tǒng)程序分為FPGA程序和ARM程序2部分。
3.1 FPGA程序設計
FPGA程序有5個模塊:SPI通信模塊、傳感器配置、曝光控制、圖像預處理、SRAM讀寫控制。SPI通信模塊接收ARM發(fā)送的配置參數;傳感器配置模塊根據參數配置圖像傳感器;曝光控制模塊檢測光電開關信號,產生傳感器曝光信號;圖像預處理模塊對圖像數據濾波消除噪聲干擾,然后二值化、檢測物料目標邊緣,將邊緣處坐標以坐標對的形式存入SRAM中。
3.2 嵌入式系統(tǒng)
ARM采用嵌入式Linux操作系統(tǒng),該操作系統(tǒng)以其開放源代碼、可靈活裁剪的內核、支持的硬件廣泛、開發(fā)資源眾多等特點,在嵌入式領域得到廣泛應用[7]。系統(tǒng)上電后,首先執(zhí)行一段引導程序,完成硬件初始化,引導Linux內核加載到內存中,然后運行Linux內核并掛載文件系統(tǒng),再然后加載驅動模塊,有SRAM驅動、SPI驅動、I/O口驅動,這三個驅動模塊提供了讀寫SRAM、SPI、GPIO的操作接口,最后運行應用程序,完成系統(tǒng)功能,如圖5所示。
圖5 嵌入式系統(tǒng)運行流程
3.3 應用程序流程
嵌入式系統(tǒng)中的應用程序分為主線程和工作線程,如圖6所示。
(a)主線程
(b)工作線程
主線程首先進行系統(tǒng)初始化,然后與對方建立網絡連接,判斷接收數據內容是相機參數還是線程控制指令,執(zhí)行存儲參數或創(chuàng)建/停止線程操作。
工作線程初始化完成后,讀取相機參數,通過SPI接口將相機參數發(fā)送給FPGA,延時一定時間等待FPGA初始化。然后發(fā)送開始曝光指令,等待FPGA返回指令,讀取共享存儲SRAM中的數據。最后依次調用坐標計算子程序、坐標轉換子程序,并將結果數據通過以太網發(fā)送。工作線程在運行時檢查線程停止標志判斷是否停止運行。
3.4 圖像質心計算方法
該方法的主要功能是根據FPGA預處理后的坐標對數據來判斷連通性,計算目標的質心坐標值及方向標志中心坐標值。預處理的坐標對數據包含目標的邊緣信息,格式為(X1,X2,Y),X1,X2分別表示一個掃描線段頭部列坐標和掃描線段尾部的列坐標,Y表示這個線段的行坐標。
計算步驟如下:
(1)從第i個線段的Y坐標開始。若Y不為0,表示沒有遍歷過該線段,將該線段作為目標的起始線段,若為0,表示已經遍歷過,跳過此線段。
(2)取第i+1個線段坐標,先判斷是否滿足連通條件:若滿足,再區(qū)分是方向標志線段還是目標內普通線段,分別統(tǒng)計符合條件線段行數、像素個數等值,并將遍歷過的線段Y值置0,取下一個線段,繼續(xù)步驟(2);若不滿足,執(zhí)行(3)。
(3)根據步驟(2)中的統(tǒng)計值計算質心坐標和方向標志中心坐標,存入緩沖區(qū),然后執(zhí)行(1),直至所有坐標都被遍歷。
3.5 坐標值轉換方法
根據相機線性透視投影模型,從二維圖像坐標轉換為三維空間坐標首先需求取相機內、外部參數。
圖7 透視投影模型
圖7中,三維空間中一點P(XW,YW,ZW) 投影到圖像平面上點p(u,v)的變換公式如下[8]:
(1)
式中:ax,ay,u0,v0為相機內參數;R為旋轉矩陣;t為平移向量;M1為內參矩陣;M2為外參數矩陣;s為常數因子。
傳統(tǒng)求參數方法利用三維立體靶標,相當于已知靶標上面各點的三維空間坐標和圖像坐標,直接求取未知的相機內外參數矩陣。由于制作精度很高的立體靶標成本較高,該方法在實際應用中受到很大的限制[8]。文獻[9]給出一種基于平面靶標的方法。該方法利用一種平面棋盤格作為靶標,假設靶標平面位于空間坐標系XWOWYW的XY平面上,即Z=0,靶標平面上點P(XW,YW,0)和圖像坐標之間變換公式為[8]
(2)
式中:ax,ay,u0,v0為相機內參數;r1,r2分別為旋轉矩陣R的第1列和第2列;t為平移向量;s為常數因子。
根據文獻[9]中求相機標定參數的原理,利用Matlab軟件中calib工具箱求解上述公式中的內外參數[10]。
計算步驟如下:
(1)采集N(N≥10)幅棋盤格圖像,每幅圖中棋盤格位姿都不相同;
(2)手工標定棋盤最外圍4個頂點,修改參數,使所有角點都盡可能被準確標出;
(3)計算內部參數,根據誤差結果,選取誤差最大的圖像,反復調整數次,減小誤差;
(4)取一幅平放在傳輸帶上的棋盤格圖像,計算外部參數,這樣將傳送帶平面作為三維坐標系的xy平面,z軸垂直于傳送帶平面。物料塊在傳送帶上的運動可視為在xy平面內的運動。
求解出相機內外參數后,通過上位機將參數發(fā)送給ARM存儲備用,ARM在工作線程中坐標轉換子程序主要根據式(2)和相機內外參數完成。
利用本文設計的視覺系統(tǒng)完成實驗,標定用棋盤大小為8×13,每個格子尺寸20 mm×20 mm,圖像大小為1 280×720。
實驗結果如表1所示。由表1數據可看出,系統(tǒng)精度在1 mm以內。
表1 視覺系統(tǒng)輸出結果比較
圖像坐標/像素系統(tǒng)計算的三維坐標/mm真實三維坐標/mm344.413,137.448-0.017,19.9900,20412.586,201.92119.876,40.01720,40615.428,331.01860.092,99.98460,100816.032,392.40379.894,159.91480,1601018.956,586.402139.929,219.689140,220
注:因設傳送帶表面為xy平面,表中三維坐標z坐標均為0 mm。
本文基于圖像的二值化、邊緣檢測、質心計算和相機標定方法,結合實際生產過程中對物料傳輸的具體需求設計出一種能夠為機械手提供定位定向數據的嵌入式視覺系統(tǒng),該系統(tǒng)定位精度高,體積小,成本低,應用前景廣闊。
[1] 于宇.基于圖像的視覺伺服機器人系統(tǒng):[學位論文].哈爾濱:哈爾濱工業(yè)大學,2007.
[2] 段彥婷.機械臂視覺伺服系統(tǒng)的研究:[學位論文].哈爾濱:哈爾濱工業(yè)大學,2008.
[3] Micron Tech.MT9P031:1/2.5-inch 5Mp Digital Image Sensor[EB/OL].[2007- 09-16].http://www.micron.com/ima-ging.
[4] XILINX.Spartan-3E FPGA Family Com- plete Data Sheet.2005.
[5] SAMSUNG Electronics.S3C2440A 32- BIT CMOS MICROCONTROL - LER USER'S MANUAL Revision 1.2004.
[6] 關杰.嵌入式網絡圖像處理系統(tǒng)的實現:[學位論文].大連:大連理工大學,2010.
[7] 韋東山.嵌入式Linux應用開發(fā)完全手冊.北京:人民郵電出版社,2008.
[8] 張廣軍.機器視覺上.北京:科學出版社,2005.
[9] ZHANG Z Y.A flexible new tec- hnique for camera calibration .IEEE Trans,Pattern Analysis and Machine Intelligence,2000,22(11): 1330~1334.
[10] BOUGUET J Y.Camera Calibr- ation Toolbox for Matlab [EB/OL].(2004.10.15)[2013.12.02].http://www.vision.caltech.edu/ bouguetj/calib_doc/htmls/example.html.
Embedded Vision System of Manipulator
ZHANG Bo-bo1,LI Ming-wei1,XU Shu-yu2
(1. College of Electronic Engineering,Dalian University of Technology,Dalian 116024,China; 2.Dalian 65044 Troops,Dalian 116024,China)
An embedded vision system based on technology of ARM and FPGA was designed to resolve the difficulty of sorting lump materials on conveyor. It could provide positioning and orientation data for manipulator. In frontend of the system, FPGA drove image sensor to acquire the images and processed data initially. In backend, the main controller ARM9 (s3c2440) recognized materials, calculated positioning and orientation data, and sent data to manipulator controller. These two parts worked parallelly. The experiments show that this system can orientate lump material on conveyor rapidly and accurately, thus meeting accuracy and real-time demands, and miniaturizing equipments at same time.
embedded technology; vision system; manipulator;
2015-01-13 收修改稿日期:2015-07-12
TP274.2
A
1002-1841(2015)10-0079-03