當(dāng)前位置:全球供應(yīng)網(wǎng) > 技術(shù)中心 > 所有分類
機(jī)器人是如何標(biāo)定的呢?與人一樣,機(jī)器人的標(biāo)定方式離不開手眼系統(tǒng)的助力——通俗的說,就是當(dāng)眼睛看到一個(gè)東西需要讓手去抓取或者做其他動(dòng)作,這個(gè)時(shí)候大腦必須知道手與眼睛的坐標(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ī)檢測(cè)到目標(biāo)在圖像中的像素位置后,通過標(biāo)定好的坐標(biāo)轉(zhuǎn)換矩陣將相機(jī)的像素坐標(biāo)變換到機(jī)械手的空間坐標(biāo)系中,然后根據(jù)機(jī)械手坐標(biāo)系計(jì)算出各個(gè)電機(jī)該如何運(yùn)動(dòng),從而控制機(jī)械手到達(dá)位置。這個(gè)過程中涉及到了圖像標(biāo)定,圖像處理,運(yùn)動(dòng)學(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個(gè)點(diǎn)得到在機(jī)器人坐標(biāo)系中的坐標(biāo),同時(shí)還要用相機(jī)識(shí)別9個(gè)點(diǎn)得到像素坐標(biāo)。這樣就得到了9組對(duì)應(yīng)的坐標(biāo)。
由下面的式子可知至少需要3個(gè)點(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)動(dòng)到9點(diǎn)的列坐標(biāo)
Row_robot := [55,50,45,5,0,-5,-50,-50,-50]
%機(jī)器人末端運(yùn)動(dòng)到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ī)固定在一個(gè)地方,然后拍照找到目標(biāo),控制機(jī)械手去抓取,這種就很好理解。我們也叫做eye-to-hand
還有一種情況是相機(jī)固定在機(jī)械手上面,這種情況的標(biāo)定過程實(shí)際上和相機(jī)和機(jī)械手分離的標(biāo)定方法是一樣的,因?yàn)橄鄼C(jī)拍照時(shí),機(jī)械手會(huì)運(yùn)動(dòng)到相機(jī)標(biāo)定的時(shí)候的位置,然后相機(jī)拍照,得到目標(biāo)的坐標(biāo),再控制機(jī)械手,所以簡(jiǎn)單的相機(jī)固定在末端的手眼系統(tǒng)很多都是采用這種方法,標(biāo)定的過程和手眼分離系統(tǒng)的標(biāo)定是可以相同對(duì)待的。我們也叫做eye-in-hand
來源:機(jī)器人在線