1. 程式人生 > >halcon 手眼標定的坐標轉換原理講解

halcon 手眼標定的坐標轉換原理講解

其中 坐標 特性 log too 但是 detail 機械 相機

原文鏈接:https://blog.csdn.net/opencv_learner/article/details/82113323

一直以來,對於手眼標定所涉及到的坐標系及坐標系之間的轉換關系都沒能有一個很好的理解,最近找了halcon手眼標定的實例在研究,發現對於相機的兩種安裝方式(眼在手和眼在手外),其坐標轉換關系是類似的,這樣說好像太抽象了,下面具體說說。

我覺得標定最基本的是要將坐標系理清楚,這裏涉及到的坐標系有四個:機器人基坐標系base、法蘭上的工具坐標系tool、相機坐標系camera和標定板坐標系cal;此外,涉及到了四個關鍵的4x4齊次轉換矩陣,對於眼在手和眼在手外分別進行說明,下面是兩種配置方式的坐標轉換過程:

技術分享圖片技術分享圖片

每一種配置方式,都是兩個移動的坐標系和兩個靜止的坐標系,並且這四個坐標系構成了一個閉環。

對於moving camera方式,如下圖所示,機械臂基坐標系和標定板坐標系是靜止的,兩者之間存在一個固定的轉換矩陣;法蘭上的工具坐標系和相機坐標系是移動的,兩者之間存在一個固定的轉換矩陣;需要求的是法蘭上的工具坐標系與相機坐標系之間的轉換矩陣。其中,M1可以從機器人示教器或者控制讀出,Mx是需要求取的未知矩陣,M2可以從拍攝照片計算出來,M3未知,但是是一個固定的轉換矩陣,利用坐標轉換,有如下的等式關系:Mx=M2*M3^(-1)*M1,如果我有許多個這樣的等式,利用M3不變,可以構建關於Mx的方程組,解方程組,求得Mx中各個元素的值,在這個過程中我們不必去求M3具體是多少,只是利用了其固定不變這個特性而已。

技術分享圖片

對於stationary camera方式,如下圖所示,機械臂基坐標系和相機坐標系是靜止的,兩者之間存在一個固定的轉換矩陣;法蘭上的工具坐標系和標定板坐標系是移動的,兩者之間存在一個固定的轉換矩陣;需要求的是相機坐標系和機械臂基坐標系之間的轉換矩陣。其中,M1可以從機器人示教器或者控制讀出,Mx是需要求取的未知矩陣,M3可以從拍攝照片計算出來,M2未知,但是是一個固定的轉換矩陣,利用坐標轉換,有如下的等式關系:Mx=M1*M2*M3^(-1),如果我有許多個這樣的等式,利用M2不變,可以構建關於Mx的方程組,解方程組,求得Mx中各個元素的值,在這個過程中我們不必去求M2具體是多少,只是利用了其固定不變這個特性而已。

技術分享圖片

halcon 手眼標定的坐標轉換原理講解