GigE Vision接口攝像機(jī)及其應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: GigE Vision接口技術(shù)成為了機(jī)器視覺(jué)工業(yè)的一項(xiàng)非常具有吸引力的技術(shù),Basler scout系列GigE Vision攝像機(jī)具有卓越的性能, Basler提供了Pylon驅(qū)動(dòng)包開(kāi)發(fā)包,可方便用戶(hù)二次開(kāi)發(fā)。將該攝像機(jī)應(yīng)用于10 m水位試驗(yàn)臺(tái)銦鋼尺圖像獲取并在計(jì)算機(jī)上顯示。
關(guān)鍵詞: GigE Vision;攝像機(jī);Pylon API;圖像顯示和縮放
水位試驗(yàn)臺(tái)(簡(jiǎn)稱(chēng)水位臺(tái))是對(duì)水位計(jì)進(jìn)行檢定的實(shí)驗(yàn)裝置,它的參考標(biāo)準(zhǔn)是具有很低膨脹系數(shù)的銦鋼尺,而10 m水位試驗(yàn)臺(tái)的銦鋼尺高達(dá)10多米,必須通過(guò)攝像機(jī)跟蹤水位攝取銦鋼尺水位圖像在計(jì)算機(jī)上顯示才能讀取標(biāo)準(zhǔn)水位值。本文選用了Basler公司機(jī)器視覺(jué)專(zhuān)用Scout系列以太網(wǎng)接口攝像機(jī),該相機(jī)支持GigE Vision機(jī)器視覺(jué)的標(biāo)準(zhǔn)接口。
1 GigE Vision標(biāo)準(zhǔn)和Pylon驅(qū)動(dòng)包
1.1 GigE Vision標(biāo)準(zhǔn)
目前工業(yè)攝像機(jī)接口有火線1394、GigE Vision、Camera-Link、USB等幾種?;鹁€1394接口為了延長(zhǎng)通信距離,使用Repeater或者Hub通信距離只能達(dá)到72 m,不僅增加了功耗和使用的電纜的條數(shù),還增加了遭受電磁干擾的可能。Camera-Link和USB最長(zhǎng)通信距離只有30 m,而GigE Vision接口在不使用Repeater和Hub情況下通信距離就可達(dá)100 m。GigE Vision標(biāo)準(zhǔn)由自動(dòng)化圖像協(xié)會(huì)AIA(Automated Imaging Association)委員會(huì)定義,委員會(huì)包括Basler AG和視覺(jué)工業(yè)領(lǐng)域的主要公司,目標(biāo)是定義基于以太網(wǎng)的應(yīng)用于機(jī)器視覺(jué)的標(biāo)準(zhǔn)接口,讓相機(jī)和軟件無(wú)縫連接。GigE Vision標(biāo)準(zhǔn)由4個(gè)主要部分組成[1]:
(1)定義了讓?xiě)?yīng)用程序發(fā)現(xiàn)和枚舉設(shè)備的機(jī)制,定義了設(shè)備如何獲得一個(gè)有效的IP地址;
(2)定義了GigE Vision控制協(xié)議(GVCP),允許對(duì)被發(fā)現(xiàn)的設(shè)備進(jìn)行配置,保證傳輸?shù)目煽啃裕?br /> (3)定義了GigE Vision流協(xié)議(GVSP),允許應(yīng)用程序接收發(fā)自設(shè)備的信息;
(4)定義了bootstrap寄存器,描述了設(shè)備自身,如當(dāng)前IP地址、序列號(hào)、制造商信息等。
可以借用TCP/IP的結(jié)構(gòu)來(lái)描述GigE Vision的結(jié)構(gòu),但TCP/IP用于機(jī)器視覺(jué)性能是不夠的。GigE Vision標(biāo)準(zhǔn)是基于UDP協(xié)議的,UDP使用端口允許應(yīng)用程序之間的連接,雖然UDP不如TCP可靠,但增加了性能,特別適用于機(jī)器視覺(jué)中的高速圖像傳輸。為了克服UDP的不可靠,GigE Vision引入了兩個(gè)額外的協(xié)議: (1)GVCP協(xié)議。該協(xié)議依賴(lài)于UDP的應(yīng)用層協(xié)議,將保證圖像傳輸?shù)目煽啃詸C(jī)制引入到UDP中,允許設(shè)備配置1個(gè)或多個(gè)信道的實(shí)例化??刂菩诺婪譃橹鞔涡诺溃餍诺烙芍鲬?yīng)用產(chǎn)生,允許對(duì)設(shè)備讀寫(xiě)寄存器;次信道由次應(yīng)用產(chǎn)生,允許應(yīng)用只讀寄存器。(2)GVSP協(xié)議。該協(xié)議建立在UDP傳輸層上的應(yīng)用層協(xié)議,應(yīng)用接收?qǐng)D像數(shù)據(jù)、圖像信息和其他信息,數(shù)據(jù)包總是由設(shè)備發(fā)送給應(yīng)用程序,GVSP提供了保證包傳輸可靠性的機(jī)制和讓流控最少化的機(jī)制。OSI模型和GigE Vision結(jié)構(gòu)如圖1所示。
Basler Scout系列以太網(wǎng)接口攝像機(jī)應(yīng)用了高質(zhì)量的Sony CCD傳感器,支持從VGA到200萬(wàn)像素的分辨率和具有體積小設(shè)計(jì)牢靠的特點(diǎn),能夠方便地集成到用戶(hù)的機(jī)器視覺(jué)系統(tǒng)。使用Gigabit以太網(wǎng)帶寬可獲得最高70幀/s的速度。使用CAT6電纜,經(jīng)過(guò)測(cè)試圖像傳送距離可達(dá)100 m。
1.2 Basler Pylon驅(qū)動(dòng)包
Pylon驅(qū)動(dòng)包(Pylon Driver Package)是為所有的具有FireWire和GigE接口的Basler相機(jī)設(shè)計(jì)的,可以選擇最適合應(yīng)用的接口技術(shù)或者兩者同時(shí)使用。Pylon驅(qū)動(dòng)提供可靠實(shí)時(shí)的圖像數(shù)據(jù)傳輸?shù)絇C存儲(chǔ)器而只需要很低的CPU負(fù)擔(dān)。Pylon開(kāi)發(fā)包結(jié)構(gòu)圖如圖2所示。
Pylon內(nèi)部結(jié)構(gòu)基于GenICam技術(shù),Pylon API 2.1支持GenIcam標(biāo)準(zhǔn)的1.1版本,它提供了很簡(jiǎn)單的訪問(wèn)新的攝像機(jī)模型的方法。GenICam的核心是用XML描述文件對(duì)相機(jī)屬性的描述。使用該文件,解釋器能直接產(chǎn)生叫做GenAPI的C++應(yīng)用程序接口(API)和圖形用戶(hù)接口(GUI)的元件。這使得用戶(hù)可方便地鑒別相機(jī)類(lèi)型以及詳細(xì)的特性和所支持的功能以及功能參數(shù)。
Pylon GigE Vision驅(qū)動(dòng)快速地把圖像數(shù)據(jù)從網(wǎng)絡(luò)上的數(shù)據(jù)中分離開(kāi),使得應(yīng)用程序能用很低的CPU負(fù)擔(dān)獲得可用的圖像數(shù)據(jù),驅(qū)動(dòng)只能用于有特定Intel芯片的網(wǎng)卡。Pylon GigE Vision濾波器驅(qū)動(dòng)支持各種硬件、GigE網(wǎng)卡和主板上的GigE端口。利用最新的驅(qū)動(dòng)棧技術(shù),Basler增加了服務(wù)質(zhì)量(QoS)超過(guò)了微軟(Microsoft)的標(biāo)準(zhǔn)。Pylon Viewer軟件提供了方便的測(cè)試評(píng)估Basler相機(jī)的應(yīng)用程序。
2 使用Pylon驅(qū)動(dòng)包