手眼標定的理解附9點標定

2021-10-09 22:59:29 字數 2589 閱讀 1578

什麼是手眼標定?

確定畫素座標系和空間機械手座標系的座標轉化關係

為什麼需要九點標定?

為了得到機械和相機的關係,就好比人的手和眼的關係。我們用手將乙個物體放到空間的乙個位置,用眼看到這個物體,這也存在兩個座標系,乙個是手所在的運動空間的座標系,乙個是視網膜上成像的二維平面座標系。我們用眼看到乙個物體,用手去拿,之所以能夠準確地拿到這個物體,是因為我們的神經系統把這兩個座標系準確地關聯好了。機械和視覺系統也是這樣,相機對工作空間中的物體進行拍照,機械手要想準確地取到這個物體,就必須首先把機械座標系和視覺座標系進行準確地關聯。

九點標定的基本原理:

使用機械手將物體放在工作空間中的9個位置,分別用相機進行拍照,取得9個點的機械座標和畫素座標,然後用halcon提供的求得仿射矩陣hommat2d

眼在外:相機放置乙個固定的位置,與機械人基座標係相對位置不變

眼在手:相機和機器手繫結在乙個位置,機器手移動,相機也跟著移動

舉乙個生活中常見的例子——用手移動物體:

第一步:眼睛觀察到三維世界,並將其轉換到視網膜平面(三維空間轉換到二維平面)傳送資訊給大腦;

第二步:大腦想要移動某個物體,假設想要將物體從a點移動b點(二維座標),但是物體是三維空間中的物體,是三維座標,需要將二維座標換算成三維座標;

第三步:大腦已經獲得a點和b點的三維座標,大腦給手(執行機構)發出指令去完成這個任務;

其中第二步就是手眼標定,得到二維座標(畫素座標)到三維座標的轉換矩陣

在實際控制中,相機檢測到目標在影象中的畫素位置後,通過標定好的座標轉換矩陣將相機的畫素座標變換到機械手的空間座標系中,然後根據機械手座標系計算出各個電機該如何運動,從而控制機械手到達指定位置。這個過程中涉及到了影象標定,影象處理,運動學正逆解,手眼標定等。

根據相機的裝載位置分為兩種情況:

(1)不在手上(eye-to-hand)

相機固定在乙個地方,機械手的運動不會帶著相機一起移動。

(2)在手上(eye-in-hand)

相機安裝在機械手上,隨著機械手一起移動。較為常用。這個實際上和eye-to-hand類似。

可以快速有效地標定被測物體的座標。

這種情況的標定過程實際上和相機和機械手分離的標定方法是一樣的,因為相機拍照時,機械手會運動到相機標定的時候的位置,然後相機拍照,得到目標的座標,再控制機械手,所以簡單的相機固定在末端的手眼系統很多都是採用這種方法,標定的過程和手眼分離系統的標定是可以相同對待的。

相機知道的是畫素座標,機械手是空間座標系,所以手眼標定就是得到畫素座標系和空間機械手座標系的座標轉化關係。

在實際控制中,相機檢測到目標在影象中的畫素位置後,通過標定好的座標轉換矩陣將相機的畫素座標變換到機械手的空間座標系中,然後根據機械手座標系計算出各個電機該如何運動,從而控制機械手到達指定位置。這個過程中涉及到了影象標定,影象處理,運動學正逆解,手眼標定等。

(1)、標定,halcon中進行9點標定的運算元

%前面求出影象座標

area_center

(sortedregions,area,row,column)

%column_robot :=[

275,

225,

170,

280,

230,

180,

295,

240,

190]

%機械人末端運動到9點的列座標

row_robot :=[

55,50,

45,5,

0,-5

,-50,

-50,-

50]%機械人末端運動到9點的行座標

vector_to_hom_mat2d

(row,column,row_robot,column_robot,hommat2d)

%求解變換矩陣,hommat2d是影象座標和機械手座標之間的關係

(2)、求解

affine_trans_point_2d

(hommat2d,row2,column2,qx,qy)

%由畫素座標和標定矩陣求出機械人基礎座標系中的座標

一些特殊情況的解釋:

有些情況中我們看到相機固定在乙個地方,然後拍照找到目標,控制機械手去抓取,這種就很好理解。我們也叫做eye-to-hand

還有一種情況是相機固定在機械手上面,這種情況的標定過程實際上和相機和機械手分離的標定方法是一樣的,因為相機拍照時,機械手會運動到相機標定的時候的位置,然後相機拍照,得到目標的座標,再控制機械手,所以簡單的相機固定在末端的手眼系統很多都是採用這種方法,標定的過程和手眼分離系統的標定是可以相同對待的。我們也叫做eye-in-hand

手眼標定 九點標定

手眼標定 就是建立影象座標系和 機械人座標系之間的轉化關係 換矩陣 機械人座標系 通俗的說就是機械手上的座標點 二維平面,為什麼是二維平面,讀者們可以自己考慮一下 22.40 開始.23.52 其實沒有講 得到九個點的 影象座標 和 機械手位置座標怎麼 求 轉換矩陣的。25.12 開始講原理 如果 ...

python機械手標定 手眼標定(九點法)

手眼標定 九點法 瀏覽次數 1794 所謂手眼系統 就是人眼鏡看到乙個東西的時候要讓手去抓取,就需要大腦知道眼鏡和手的座標關係。如果把大腦比作b,把眼睛比作a,把手比作c,如果a和b的關係知道,b和c的關係知道,那麼c和a的關係就知道了,也就是手和眼的座標關係也就知道了。相機知道的是畫素座標,機械手...

Holcon手眼標定關鍵函式理解(持續更新)

目錄 一 ho手眼標定 影象座標到相機座標 世界座標 轉換 二 關鍵函式理解 define reference coord system ref.bmp cameraparam,calplatefile,windowhandle,poseref 三 關鍵函式理解 image points to wo...