杜雨馨,張建化,梁 良,宋 彬
(徐州工程學院電氣與控制工程學院 江蘇 徐州 221018)
“傳感器與檢測技術”是電器類、自動化類、機械類等專業的必修課程,通過實驗教學可以幫助學生掌握傳感器的工作原理、測量電路、數據處理方法等,培養學生的邏輯思維和解決工程實際問題的能力。將虛擬仿真實驗系統應用于傳感器與檢測技術課程的實驗教學,能夠避免真實實驗或操作帶來的危險、彌補現有教學條件或經費的不足、有效提高學生的學習興趣與創造力。
LabVIEW 編程使用圖形化的語言構建系統結構圖,以向用戶提供有效的學習環境[1]。本文設計了基于LabVIEW的深度視覺傳感器虛擬仿真實驗系統,可以同時展現同一場景的彩色圖像、深度圖像與三維點云,經數值運算后結合設定好的障礙物檢測規則,可實現障礙物檢測及預警功能。
Kinect 傳感器屬于深度視覺傳感器的一種,它通過獲取三維空間的深度信息,無須控制器或標記即可識別用戶手部和身體等動作[2],在機器人技術、醫學、科研等領域都得到了廣泛應用。
Kinect 包含三個重要部件:彩色VGA 視頻攝像頭、深度傳感器和多陣列麥克風。它們協同工作以檢測用戶的動作并在屏幕上創建人、物或環境的三維深度圖像。攝像頭檢測紅、綠、藍成分及體型和面部特征。深度傳感器包含一個單色CMOS傳感器和紅外投影儀,還通過傳輸不可見的近紅外光,測量“飛行時間(TOF)”獲取深度信息。麥克風為四個麥克風組成的陣列,可以在去噪的同時讓用戶獲取附加控制功能。
Kinect v2 工作原理如圖1 所示(p40),紅外(Infrared,IR)發射器將預定義好的紅外光圖像投影至被拍攝物體上,反射光被深度傳感器采集后,利用三角測量法分析調制前后的圖像相位差,可計算出被測點的垂直距離,即像素的深度信息。

圖1 Kinect v2 使用飛行時間(TOF)法獲取深度信息
另一個巧妙設計是,IR 發射器會周期性地打開和關閉。當開燈時輸出為A,關燈時輸出為B。A 包含來自發射的IR 光和環境光,而B 只包含環境光。因此,從A 中減去B 得到的信息僅包含來自IR 發射器的反射調制光,從而可以準確地計算深度,這種設計使Kinect v2 可以產生質量更高的紅外圖像和深度圖像。
將Kinect 應用于虛擬仿真實驗教學,有利于提高本科生教育教學質量。作為一種學習工具,Kinect 有能力創造愉快、有趣的交互類型,提高學生的積極性,加深學生對于深度傳感器工作原理與應用場景的理解,并通過利用多媒體和多感官能力促進學習。
在移動機器人技術中,障礙物的檢測對于機器人完成任務非常重要。常見的可用于障礙物檢測的傳感器有:紅外、激光、超聲波、視覺測距傳感器等。Kinect 作為主動視覺傳感器的一種,獲取信息豐富,可實現較高精度、實時、非接觸式的測量。若將Kinect 傳感器用于實時障礙物檢測,需事先完成相機標定、圖像配準與障礙物檢測規則設定等工作。
使用Kinect 進行深度測量之前,必須先進行標定。重要固有參數包括:焦距(fx,fy)和離光軸的距離(cx,cy)。這里我們假設鏡頭畸變非常小,可以忽略不計。使用Kinect傳感器拍攝一組棋盤圖像,通過張正友標定法完成深度相機的標定[3]。
此外,Kinect 返回的原始深度圖像數值在0 到2047 之間,可經下式轉換為深度信息depth。
之后將固有參數輸入方程(2),便可由初始深度信息(x,y,z)得到真實世界坐標(X,Y,Z)。
由Kinect 實物圖可以看出,深度相機與彩色相機的位置有一定距離,故拍攝到的原始圖像不能完全配對,故在障礙物檢測之前,需對同一場景下的兩幅圖像進行配準。深度相機坐標系與彩色相機坐標系間的空間關系,可使用旋轉平移變換表示。
其中,
帶入后,有:
旋轉矩陣R 與位移矩陣T 為深度相機與彩色相機坐標系間的變換矩陣,即兩圖像間的配準矩陣。
對于移動機器人而言,正前方的物體對于行走路徑的影響較大,而左右兩側的物體不會干擾到機器人的正常行走。依據Kinect 獲取深度信息的原理與安裝高度,2m 范圍以內的物體檢測精度較高,大于2m時,檢測精度會降低。故,設定如下檢測規則:①每間隔0.1s采樣一次;②獲取到的點云數據中min(Y)<30cm,或min(|X|)<30cm 時,認為檢測到障礙物,發出警報。
2012 年,利茲大學為Kinect 開發了運動感覺工具包(Kinesthesia Toolkit)[4],幫助NI LabVIEW編程人員快速驅動Kinect 的主要功能,如:RGB 視頻、深度相機、骨骼跟蹤等。除Kinesthesia Toolkit 外,主機還需安裝配準好Microsoft Kinect SDK 1.5 等。
圖2(p41)給出了數據采集程序界面,圖3(p41)為對應的可視化前面板。其中,中間窗口用于顯示彩色圖像,右側窗口顯示深度圖像,左側窗口顯示三維點云。用戶界面允許操作人員執行“啟動”“終止”“暫停”“測量”“保存數據”等操作。在窗口中啟動應用程序后,彩色圖像與深度圖像經Kinect 顯示,三維點云經運算后在窗口中顯示。計算得到的三維點云信息,依據設定好的障礙物檢測規則,給出判斷結果并發出警報。實驗數據如表1 所示。

表1 障礙物檢測結果

圖2 LabVIEW 程序界面

圖3 LabVIEW 可視化前面板
由實驗結果可以看出,實驗結果符合設定的檢測規則,本系統可以滿足移動機器人行走過程中對障礙物檢測的需求。
本文研究了基于LabVIEW 的深度視覺傳感器虛擬仿真實驗系統。首先使用張正友法獲取深度相機與彩色相機的內外參數。之后,依據標定結果對同一場景下的兩幅圖像進行配準,得到像素點三維空間坐標。利用LabVIEW虛擬仿真軟件構建移動機器人障礙物檢測實驗平臺,能夠實時顯示彩色圖像、深度圖像與三維點云信息,可實現障礙物檢測功能,達到了預期效果。除了進行障礙物檢測外,還可讓學生在平臺上通過自主編程,完成人體姿態識別、手勢識別、空間三維重建等實驗應用,對同類實驗課程的設計具有一定參考價值。