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

2021-10-12 11:00:06 字數 1238 閱讀 6600

手眼標定(九點法)

瀏覽次數:1794

所謂手眼系統

,就是人眼鏡看到乙個東西的時候要讓手去抓取,就需要大腦知道眼鏡和手的座標關係。如果把大腦比作b,把眼睛比作a,把手比作c,如果a和b的關係知道,b和c的關係知道,那麼c和a的關係就知道了,也就是手和眼的座標關係也就知道了。

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

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

常用的標定方法有:九點標定

九點標定:

九點標定直接建立相機和機械手之間的座標變換關係。

讓機械手的末端去走這就9個點得到在機械人座標系中的座標,同時還要用相機識別9個點得到畫素座標。這樣就得到了9組對應的座標。

由下面的式子可知至少需要3個點才能求出標定的矩陣。

(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

六軸機械手與相機的手眼標定

利用相機視覺定位,並用機械手抓取。一 相機固定的情況 我們需要的最終結果,即 得到base 與 cam 的空間位置關係,即乙個4 4的變換矩陣。這個可以通過移動tool,多次拍攝標定板來計算得到。矩陣關係 通過多次拍攝標定板,可得到每次標定板在相機座標系中的位置關係,即 cam h cal。每次的t...

手眼標定 九點標定

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

halcon手眼標定

手眼標定最簡單的方法 九點標定 九點標定的目的 建立mark點的影象座標與其在機械手座標系下的仿射變換矩陣,利用求得的仿射變換矩陣,可以把mark點的影象座標轉成物理座標,進而控制機械手完成定點抓取任務。halcon九點標定運算元 mark點畫素座標 area center sortedregion...