吳文冀,李福東
(揚州大學,江蘇 揚州 225000)
隨著工業自動化設備需求量的增大及機器視覺技術的發展,自動化生產中對于三維裝配技術的智能化和柔性化水平要求越來越高,同時,基于視覺的三維裝配技術也越來越重要,尤其是在分揀機器人應用方面,對不同工件位姿的測量是關鍵。與傳統的位姿測量技術,諸如使用陀螺儀,或者多激光傳感器配合等的位姿測量技術相比,視覺系統具有結構簡單、測量范圍廣、靈活性高等優點,有良好的發展前景。
在Windows中,利用QT軟件和OpenGL庫直接繪制出仿真圖像,為仿真零件加入不同光照,以一定的視角生成二維場景圖像,然后將生成的二維場景圖像導入MATLAB,同時生成2D邊緣圖像作為目標物的模板,并記錄此二維場景圖像的視角信息,即虛擬相機相對于目標物坐標的位姿數據,最后使用MATLAB所生成的模板與加入噪聲后的圖像進行匹配,以獲取位姿。
由于所獲得的三維位姿受限于視圖采樣間隔和匹配過程中的二維位姿采樣間隔,所以,在實際應用中,其所能達到的精度并不夠,需要對位姿進行調整優化。
本文采用最小二乘法對三維位姿進行優化調整,即:①將三維物體通過位姿投影到搜索圖像中,并將在此投影中不可見的邊緣通過OpenGL剔除,同時,對于可見的CAD模型邊緣點,按照一個像素的距離采樣。由于對每個采樣的邊緣點局部搜索會首先確定與之對應的亞像素邊緣點,所以,搜索被限制在垂直于CAD模型邊緣的方向上。此外,垂直于模型投影邊緣與圖像梯度之間的角度差也會被考慮進去,因此,不會錯過潛在真正有效的對應點。②通過Levenberg-Marquardt算法(LM算法)進行魯棒的非線性優化迭代,以得到優化的3D位姿。作為適用范圍廣泛的最小二乘算法,LM算法可以表示為高斯-牛頓算法與梯度下降法的結合,所以,其兼具Gauss-Newton算法的局部收斂性和梯度下降法的全局性。
對于LM算法,設xk為由第k次迭代的權值和閾值所組成的向量,則.對于牛頓法則,其中為誤差指標函數E(x)的Hessian矩陣,?E(x)為梯度。設誤差指標函數為為誤差,則.所以,由LM算法得.其中,I為單位矩陣,μ為大于0的常數。如果μ=0,則為高斯牛頓算法;如果μ較大,則LM算法更接近于梯度下降法,并且每迭代一次,μ隨之減小。實踐證明,采用LM算法能夠使迭代效率提高許多。

圖1 當前場景下的三維模型

圖2 MATLAB生成的二維圖像

圖3 噪聲圖像匹配結果
本文利用QT軟件和OpenGL庫實現位姿的測量,為驗證算法的正確性,本文在仿真圖像上進行了實驗,從而進行驗證。圖1、圖2、圖3是不同實驗位姿下的部分實驗結果。
從OpenGL導出二維圖像時會保存視角位姿,下面給出3組實驗結果,如表1所示。表1中,X,Y,Z,α,β,γ分別為物體在空間上沿X,Y,Z 3個直角坐標軸方向的移動自由度和繞這3個直角坐標軸的轉動自由度。
本文簡要闡述了工件位姿的測量以及優化方法。實驗得出,使用本文提出的方法和算法能正確測量出物體的位姿,且誤差能夠控制在合理的范圍內,結果令人較為滿意。

表1 3組實驗結果
[1]劉俊.基于單目視覺的物體位姿估計方法研究[D].哈爾濱:哈爾濱工業大學,2016.
[2]宋薇,周揚.基于CAD模型的單目六自由度位姿測量[J].光學精密工程,2016,24(4):882-891.