李孟濤 吳 翔
上海振華重工(集團(tuán))股份有限公司
自動(dòng)化集裝箱起重機(jī)一直是港口領(lǐng)域研究的熱點(diǎn),為了讓起重機(jī)在室外的環(huán)境中能夠全天侯自動(dòng)化作業(yè),需要讓起重機(jī)具有識(shí)別集裝箱的能力。3D激光目標(biāo)檢測(cè)系統(tǒng)在起重機(jī)領(lǐng)域應(yīng)用較廣泛[1-4],通過(guò)三維激光數(shù)據(jù)掃描出集裝箱、集卡、AGV的輪廓特征,進(jìn)行特征位置提取,并把位置信息傳遞給起重機(jī)控制系統(tǒng)PLC;控制系統(tǒng)利用目標(biāo)檢測(cè)系統(tǒng)給出的位置信息進(jìn)行準(zhǔn)確安全的作業(yè)。
根據(jù)圖像拓?fù)浞ㄌ岢隽艘环N基于圖像連通域的集裝箱激光點(diǎn)云處理算法,能夠有效提取激光特征數(shù)據(jù),利用提取的數(shù)據(jù)進(jìn)行集裝箱位置信息的計(jì)算及檢測(cè)集裝箱高度、集裝箱尺寸、集裝箱雙箱間隙,為自動(dòng)化作業(yè)提供準(zhǔn)確的信息。
3D激光器通過(guò)掃描起重機(jī)下方的集裝箱收集數(shù)據(jù),結(jié)合小車位置,建立基于起重機(jī)的3D坐標(biāo)系。起重機(jī)大車軌道為X軸,小車運(yùn)行方向?yàn)閅軸,起升方向?yàn)閆軸。在圖1的三維坐標(biāo)系內(nèi),采樣B點(diǎn)的三維坐標(biāo)值為:
圖1 3D坐標(biāo)模型圖
二值圖像就是圖像的亮度值只有兩個(gè)狀態(tài):黑(0)和白(255),其模式簡(jiǎn)單及對(duì)像素在空間上的關(guān)系有著極強(qiáng)的表現(xiàn)力。在實(shí)際應(yīng)用中,很多圖像的分析最終都轉(zhuǎn)換為二值圖像分析,有利于對(duì)圖像的算法處理。
圖像的連通域[5-8]操作就是找出相連的像素點(diǎn),原理為:
從上到下沿第1行開(kāi)始搜索,在第1行,第1個(gè)黑色點(diǎn)上面和左邊都沒(méi)有黑色點(diǎn),則將其標(biāo)記成1,見(jiàn)圖2(a)。
在第2行,第1個(gè)點(diǎn),因?yàn)樽筮厸](méi)有像素點(diǎn),給它分配一個(gè)新的記號(hào)2。第2行,第2個(gè)點(diǎn),其上邊、左邊都有黑色像素點(diǎn),將其中一個(gè)記號(hào)分配給它,此處分配記號(hào)1給該點(diǎn),并做一個(gè)標(biāo)記,1和2是等價(jià)的。同理,第2行第3個(gè)點(diǎn),分配標(biāo)記號(hào)1,見(jiàn)圖2(b)。
第4行,第1個(gè)黑色點(diǎn),分配記號(hào)3,第2個(gè)點(diǎn)分配記號(hào)3。第5行,第1個(gè)點(diǎn)分配記號(hào)4,第2個(gè)點(diǎn)分配記號(hào)3,同時(shí),記錄3和4是等價(jià)的。第6行,第1個(gè)點(diǎn),分配記號(hào)4,見(jiàn)圖2(c)。
通過(guò)第1遍標(biāo)記,可得知1和2是等價(jià)的,3和4是等價(jià)的,然后將2全部用1代替,3和4用2代替。標(biāo)記完成后結(jié)果見(jiàn)圖2(d)。
圖2 圖像的連通域算法原理
(1) 三維數(shù)據(jù)獲取。三維激光掃描系統(tǒng)安裝在起重機(jī)小車架上,用于掃描小車架下方集裝箱的輪廓信息,由于激光器安裝于吊具的一側(cè),只能獲取集裝箱一側(cè)的三維數(shù)據(jù)。雙20 ft裝箱三維數(shù)據(jù)見(jiàn)圖3。
圖3 三維數(shù)激光數(shù)據(jù)
(2)三維數(shù)據(jù)到圖像數(shù)據(jù)的轉(zhuǎn)換。根據(jù)箱子高度信息,把激光器數(shù)據(jù)轉(zhuǎn)化為二值圖像數(shù)據(jù)(見(jiàn)圖4)。
圖4 激光數(shù)據(jù)的二值化圖像
(3)圖像預(yù)處理。根據(jù)箱面數(shù)據(jù)過(guò)濾掉較小的數(shù)據(jù)塊,獲取的箱面二值化圖像(見(jiàn)圖5)。
圖5 預(yù)處理后的二值化圖像
(4)圖像的連通域像素標(biāo)記操作。對(duì)二值化圖像進(jìn)行連通域操作,將箱面數(shù)據(jù)進(jìn)行關(guān)聯(lián),處理后的圖像左邊箱子的標(biāo)簽值為1,右邊箱子的標(biāo)簽值為2,可分別獲取圖像中各邊緣點(diǎn)起始坐標(biāo)[9-10]。
(5)提取集裝箱邊緣數(shù)據(jù)。通過(guò)圖像標(biāo)記信息和三維激光數(shù)據(jù)間的對(duì)應(yīng)關(guān)系,提取圖像中每個(gè)邊緣像素點(diǎn)對(duì)應(yīng)的三維激光數(shù)據(jù)點(diǎn)。
(6)擬合箱子邊緣數(shù)據(jù)。通過(guò)最小二乘法擬合,擬合箱子邊緣直線。
(7)計(jì)算箱子角點(diǎn)位置數(shù)據(jù)。通過(guò)兩條直線相交,可以計(jì)算箱子角點(diǎn)的空間坐標(biāo)。
實(shí)驗(yàn)采用SICK-LMS511-20100型號(hào)激光器,馬達(dá)選用72000線的絕對(duì)值編碼器,基于VS2010集成開(kāi)發(fā)環(huán)境下用C++語(yǔ)言編程,實(shí)現(xiàn)該算法。采集數(shù)據(jù)時(shí),放置箱子長(zhǎng)度方向與大車方向平行,根據(jù)計(jì)算結(jié)果對(duì)箱子的大車方向、小車方向及斜率進(jìn)行補(bǔ)償,補(bǔ)償后的結(jié)果作為檢測(cè)的零位點(diǎn)(見(jiàn)表1)。使用過(guò)程中檢測(cè)箱子的位置信息和零位進(jìn)行對(duì)比,可以計(jì)算出吊具抓箱時(shí)需要吊具平移的距離和扭轉(zhuǎn)的角度。
箱子向左移動(dòng)200 mm后,對(duì)箱子進(jìn)行10次掃描,計(jì)算結(jié)果見(jiàn)表2。
表2 左移200 mm掃描數(shù)據(jù)
箱子向右移動(dòng)200 mm后,對(duì)箱子進(jìn)行10次掃描,計(jì)算結(jié)果見(jiàn)表3。
表3 右移200 mm掃描數(shù)據(jù)
從以上實(shí)驗(yàn)結(jié)果分析,大車方向向左和向右移動(dòng)200 mm后,檢測(cè)出來(lái)的大車方向移動(dòng)距離為(Left_X+Right_X)/2,根據(jù)均值計(jì)算出移動(dòng)距離為-208 mm和196 mm,與理論值的誤差分別為-8 mm和-4 mm,掃描數(shù)據(jù)的跳變范圍在±30 mm內(nèi);小車方向的移動(dòng)距離為(Left_Y+Right_Y)/2,根據(jù)均值計(jì)算出來(lái)的移動(dòng)距離為-1 mm和-3 mm,與理論值0的誤差為-1 mm和-3 mm,小車方向檢測(cè)的數(shù)據(jù)跳變范圍在±30 mm內(nèi);計(jì)算所得的斜率均值為-0.018°和0.05°,數(shù)據(jù)跳變范圍在±0.2°內(nèi)。碼頭自動(dòng)抓箱需要傳感器提供的位置精度是大車方向數(shù)據(jù)范圍在±30 mm,斜率在±0.2°范圍內(nèi)。該算法滿足自動(dòng)化作業(yè)的要求。
基于圖像連通域的集裝箱激光點(diǎn)云數(shù)據(jù)處理算法,通過(guò)標(biāo)簽的方式在一定的區(qū)域范圍內(nèi)區(qū)分出箱子的標(biāo)簽ID,根據(jù)計(jì)算出的箱子ID的像素塊邊緣數(shù)據(jù),能夠較好地實(shí)現(xiàn)對(duì)箱子邊緣數(shù)據(jù)的提取。該算法精度滿足自動(dòng)化抓箱作業(yè)的要求。