深入淺出地理解機(jī)器人手眼標(biāo)定
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
參考代碼:https://github.com/christianwengert/calib_toolbox_addon
所謂手眼系統(tǒng),就是人眼睛看到一個東西的時候要讓手去抓取,就需要大腦知道眼睛和手的坐標(biāo)關(guān)系。如果把大腦比作B,把眼睛比作A,把手比作C,如果A和B的關(guān)系知道,B和C的關(guān)系知道,那么C和A的關(guān)系就知道了,也就是手和眼的坐標(biāo)關(guān)系也就知道了。

相機(jī)知道的是像素坐標(biāo),機(jī)械手是空間坐標(biāo)系,所以手眼標(biāo)定就是得到像素坐標(biāo)系和空間機(jī)械手坐標(biāo)系的坐標(biāo)轉(zhuǎn)化關(guān)系。
在實(shí)際控制中,相機(jī)檢測到目標(biāo)在圖像中的像素位置后,通過標(biāo)定好的坐標(biāo)轉(zhuǎn)換矩陣將相機(jī)的像素坐標(biāo)變換到機(jī)械手的空間坐標(biāo)系中,然后根據(jù)機(jī)械手坐標(biāo)系計(jì)算出各個電機(jī)該如何運(yùn)動,從而控制機(jī)械手到達(dá)指定位置。這個過程中涉及到了圖像標(biāo)定,圖像處理,運(yùn)動學(xué)正逆解,手眼標(biāo)定等。
常用的標(biāo)定方法有:九點(diǎn)標(biāo)定
九點(diǎn)標(biāo)定:

九點(diǎn)標(biāo)定直接建立相機(jī)和機(jī)械手之間的坐標(biāo)變換關(guān)系。
讓機(jī)械手的末端去走這就9個點(diǎn)得到在機(jī)器人坐標(biāo)系中的坐標(biāo),同時還要用相機(jī)識別9個點(diǎn)得到像素坐標(biāo)。這樣就得到了9組對應(yīng)的坐標(biāo)。
由下面的式子可知至少需要3個點(diǎn)才能求出標(biāo)定的矩陣。

(1)、標(biāo)定,Halcon中進(jìn)行9點(diǎn)標(biāo)定的算子
C#
%前面求出圖像坐標(biāo)
area_center(SortedRegions,Area,Row,Column) %
Column_robot := [275,225,170,280,230,180,295,240,190]
%機(jī)器人末端運(yùn)動到9點(diǎn)的列坐標(biāo)
Row_robot := [55,50,45,5,0,-5,-50,-50,-50]
%機(jī)器人末端運(yùn)動到9點(diǎn)的行坐標(biāo)
vector_to_hom_mat2d(Row,Column,Row_robot,Column_robot,HomMat2D)
%求解變換矩陣,HomMat2D是圖像坐標(biāo)和機(jī)械手坐標(biāo)之間的關(guān)系(2)、求解
C#
affine_trans_point_2d(HomMat2D,Row2,Column2,Qx,Qy)
%由像素坐標(biāo)和標(biāo)定矩陣求出機(jī)器人基礎(chǔ)坐標(biāo)系中的坐標(biāo)一些特殊情況的解釋:
有些情況中我們看到相機(jī)固定在一個地方,然后拍照找到目標(biāo),控制機(jī)械手去抓取,這種就很好理解。我們也叫做eye-to-hand
還有一種情況是相機(jī)固定在機(jī)械手上面,這種情況的標(biāo)定過程實(shí)際上和相機(jī)和機(jī)械手分離的標(biāo)定方法是一樣的,因?yàn)橄鄼C(jī)拍照時,機(jī)械手會運(yùn)動到相機(jī)標(biāo)定的時候的位置,然后相機(jī)拍照,得到目標(biāo)的坐標(biāo),再控制機(jī)械手,所以簡單的相機(jī)固定在末端的手眼系統(tǒng)很多都是采用這種方法,標(biāo)定的過程和手眼分離系統(tǒng)的標(biāo)定是可以相同對待的。我們也叫做eye-in-hand


版權(quán)聲明:本文為CSDN博主「南山二毛」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_16481211/article/details/79764730
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

