付飛蚺,徐晶,李福善,方明,趙曉軍
(長春理工大學 計算機科學技術學院,長春 130022)
近年來在移動機器人領域,基于視覺傳感器與激光測距的融合技術成為了研究的熱點,特別是在未知環(huán)境中機器人的同時定位與地圖生成(SLAM)問題中激光掃描儀(以下簡稱:掃描儀)與視覺傳感器則起到了決定性的作用[1,2]。當前的研究中,所使用的激光掃描儀不僅體積笨重而且價格昂貴,不適合小型移動機器人裝配[3,4]。本系統(tǒng)采用普通的USB攝像機和360度激光掃描儀RPLIDAR進行組合。攝像機和激光掃描儀經(jīng)本文所提出的方法標定后,能夠捕獲具有特定深度信息的圖像。由于深度信息嵌入到了彩色位圖的第四通道中,并且和圖像信息具有對應關系,因此非常適合應用到機器人視覺導航及環(huán)境地圖的構建應用中。本文首先描述系統(tǒng)的結構,之后提出標定的方法,最后用一個實際的例子驗證了系統(tǒng)的有效性。另外,該系統(tǒng)具有掃描準確,裝配輕便的優(yōu)點。
本系統(tǒng)主要由RPLIDAR與USB攝像機兩部分構成。RPLIDAR可實現(xiàn)360度6米范圍內的激光測距,激光器發(fā)射波長為785nm的不可見紅外光。USB攝像機采用普通中微型攝像機,攝像機采集數(shù)據(jù)格式為YUYV,采集的圖像分辨率為640×480。
當掃描儀與攝像機在同一高度時,攝像機會發(fā)生遮擋,在掃描成像上呈現(xiàn)點云,影響數(shù)據(jù)融合。所以安裝時將攝像機與掃描儀置于同一直線的不同高度。最終得到的裝置如圖1所示。
圖1 系統(tǒng)裝置圖
RPLIDAR需要根據(jù)不同的操作系統(tǒng)安裝不同的驅動,攝像機是免驅的。掃描儀與攝像機均采用USB2.0接口供電和進行數(shù)據(jù)傳輸。掃描儀每個采樣點的數(shù)據(jù)為距離(毫米)、夾角(度),表示當前采樣點相對于掃描儀自身朝向的夾角;信號強度,分為30等級,表示當前采樣點的信號質量。
視覺傳感器和激光傳感器的數(shù)據(jù)信息融合的首要任務是解決傳感器之間的標定問題,并且標定結果的好壞影響后期數(shù)據(jù)信息融合的效果,因此多傳感器的聯(lián)合標定技術是傳感器之間信息融合的橋梁。本系統(tǒng)將掃描儀坐標系標定到圖像坐標系中。
圖2 標定原理圖
圖2所示,OB線為攝像機光軸、掃描儀零度角,∠AOC為攝像機視角,角α為物體P點與攝像機光軸夾角,角β為物體P點與掃描儀零度線夾角,可得角α與角β的關系:
公式中L為掃描儀的測量距離,d為攝像機與掃描儀的水平距離。
本系統(tǒng)的標定原理是:通過標定板在掃描儀中的點云圖像來調整標定板的位置、標定板與掃描儀零度線的夾角;通過攝像機獲取標定板圖像,通過SFM[5]方法來計算攝像機的旋轉矩陣,來求得攝像機的歐拉角;通過獲取同一物體在圖像中的角度和掃描儀中的角度計算圖像的像素偏移量,完成系統(tǒng)標定。
標定板為針對本系統(tǒng)所設計,邊長為10cm的正方形標定板。如圖3所示,標定板中的幾何圖形設計為三等邊三角形嵌套,最外面的三角形邊長為8cm。四邊形為正方形,邊長為10cm。
圖3 標定板
由于360度激光掃描儀是以近似固定的頻率轉動,所以在對同一個物體進行不同距離的測量時,所獲得的數(shù)據(jù)采樣點的個數(shù)會發(fā)生變化。為了獲取精確的點云信息,進行了如下實驗。
分別在標定板與掃描儀距離0.5m、1.0m、1.5m、2.0m、2.5m、3.0m時獲取標定板點云個數(shù),如表1所示。
表1 距離與點云個數(shù)
為了比較精確地裝配采用了點云個數(shù)較多的0.5m作為標定板與掃描儀距離。觀察點云成像,調整掃描儀,使掃描雷達上0°線垂直平分標定板的點云線,通過獲取的點云數(shù)據(jù)來判斷精度,固定掃描儀。如圖4所示,黑色矩形框中點為標定板點云。
圖4 標定板在掃描儀上的成像
通過張正友標定法[6],對攝像機進行標定。計算得出像素焦距為685個像素,在X方向上的像素偏移為0.23152,Y方向的像素偏移為0.33485。攝像機的水平視角為50.0796°。將USB攝像機置于掃描儀前3cm。對標定板進行拍攝,獲取圖像如圖5所示。
圖5 攝像機獲取的圖像
對標準標定板圖像與拍攝圖像進行處理,在兩幅圖像中正方形范圍選取300×300的像素矩陣,標出角點,匹配對應角點的像素點坐標。兩幅圖像中角點的對應坐標從上至下,從左至右的角點對應關系如表2所示。
表2 對應角點的像素坐標
通過SFM算法求得攝像機所拍攝的圖像相對于標準圖像的旋轉矩陣為:
在SFM算法中是以攝像機的光學中心為坐標原點,垂直方向為Y軸光軸方向為Z軸,X軸則垂直于YOZ平面。由旋轉矩陣R求得繞Y軸方向的旋轉角 α=0.82°,繞x軸方向的旋轉角 β=1.27°,繞Z軸方向的旋轉角γ=1.14°。
同時啟動掃描儀與攝像機獲取數(shù)據(jù)。圖6所示為系統(tǒng)的成像結果(左側為掃描儀數(shù)據(jù),右側為攝像機成像)。
圖6 系統(tǒng)成像
通過提取掃描儀數(shù)據(jù),標定板的點云中第5點的角度為0.3906°距離為500.5mm,第6點的角度為-0.4531°距離為500.5mm。此時0°線垂直平分標定板點云線。通過圖7我們可以求得標定板中等邊三角形的中心點坐標為(317,215)。偏移了3個像素點,求得偏移角度為0.234375°,與之前攝像機標定的角度0.2415°相差0.007125°。因此當我們從掃描儀點云數(shù)據(jù)中獲取到物體的角度與距離時我們可以在圖像中得到物體的像素坐標。
圖7 實驗場景圖像
圖8 深度信息成像
圖9 深度信息描點
首先通過OPENCV創(chuàng)建4通道BMP圖像,之后將攝像機采集到的RGB三通道數(shù)據(jù)復制到創(chuàng)建的圖像中前三個通道,第四通道存儲對應的掃描儀獲取的深度信息。
通過掃描儀可以實時獲取360度的點云數(shù)據(jù),數(shù)據(jù)包含角度信息與距離信息。攝像機的廣角為50°所以將掃描儀采集的±25°內的點帶入到公式(1)中,求得角α,再通過角度與像素之間的關系求得理想狀態(tài)的像素點的x坐標:
通過標定可知該系統(tǒng)中實際圖像與理想圖像的像素差為-3,所以實際點x′:
在數(shù)字圖像中,每個通道采用8位存儲,轉化為uchar型的范圍是0到255,而掃描儀采集的數(shù)據(jù)以毫米為單位,范圍在110mm到6000mm,所以在數(shù)據(jù)存儲時需要轉換到uchar的表示范圍進行存儲,之后再保存為bmp圖像。
實驗場景中分別設置兩個標志物,分別是位于圖像左側的飲料瓶,水平的實際距離約為0.8m;位于圖像中心偏右的茶杯,實際測量距離約為0.5m。攝像機采集的圖像如圖7所示,將激光掃描儀獲取的數(shù)據(jù)融合到圖像中,提取第四通道生成的深度信息圖像如圖8所示,其中的灰色點表示該位置的景深信息,越亮的點的位置表示景深越小。圖9則是將存儲的深度信息和角度信息進行描點,從圖中可知參照物飲料瓶相對相機中心的角度約-15°,距離約為822.5mm;參照物水杯相對相機中心的角度約5°,距離約為506.8mm。與實際測量距離相符。
本實驗設備可以精確獲得一定高度的深度圖像。在移動機器人視覺導航方面就有一定的應用價值。在對機器人進行行走控制時通過深度圖像可以很好地實現(xiàn)路徑規(guī)劃功能。本系統(tǒng)的不足在于目前只矯正了水平方向的偏移量,在以后的研究中計劃對裝置進行改進,使其同時獲得垂直方向的偏移量,使深度圖像更精確。
[1]高學海,徐科軍,張瀚,等.基于單目視覺和激光測距儀的位姿測量算法[J].儀器儀表學報,2007,28(8):1479-1485.
[2]陳白帆.移動機器人立體視覺三維重建系統(tǒng)的研究與開發(fā)[D].長沙:中南大學,2011.
[3]李贛華.基于攝像機和二維激光測距儀的三維建模關鍵技術研究[D].長沙:國防科學技術大學,2009.
[4]晁志超,伏思華,姜廣文,等.單目攝像機-激光測距傳感器位姿測量系統(tǒng)[J].光學學報,2011,31(3):75-79.
[5]Wang Kun,Zheng Nanning.3D face modeling based on SFM algorithm[J].Chinese Journal of Computers,2005,28(6):1048-1053.
[6]馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,2003.