0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手眼標(biāo)定_全面細(xì)致的推導(dǎo)過程

工業(yè)機(jī)器人 ? 來源:工業(yè)機(jī)器人 ? 2020-07-11 09:57 ? 次閱讀

本文解決的問題: 機(jī)械手搭載雙目相機(jī),手眼標(biāo)定。 本文有細(xì)致的推導(dǎo)過程,非常全面。 什么是手眼標(biāo)定 確定像素坐標(biāo)系和空間機(jī)械手坐標(biāo)系的坐標(biāo)轉(zhuǎn)化關(guān)系; 為什么會(huì)存在這個(gè)? 舉一個(gè)生活中常見的例子——用手移動(dòng)物體: 第一步:眼睛觀察到三維世界,并將其轉(zhuǎn)換到視網(wǎng)膜平面(三維空間轉(zhuǎn)換到二維平面)傳送信息給大腦; 第二步:大腦想要移動(dòng)某個(gè)物體,假設(shè)想要將物體從A點(diǎn)移動(dòng)B點(diǎn)(二維坐標(biāo)),但是物體是三維空間中的物體,是三維坐標(biāo),需要將二維坐標(biāo)換算成三維坐標(biāo); 第三步:大腦已經(jīng)獲得A點(diǎn)和B點(diǎn)的三維坐標(biāo),大腦給手(執(zhí)行機(jī)構(gòu))發(fā)出指令去完成這個(gè)任務(wù); 其中第二步就是手眼標(biāo)定,得到二維坐標(biāo)(像素坐標(biāo))到三維坐標(biāo)的轉(zhuǎ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)定等。 相機(jī)的裝載位置 不在手上(eye-to-hand) 相機(jī)固定在一個(gè)地方,機(jī)械手的運(yùn)動(dòng)不會(huì)帶著相機(jī)一起移動(dòng)。 在手上(eye-in-hand) 相機(jī)安裝在機(jī)械手上,隨著機(jī)械手一起移動(dòng)。較為常用。這個(gè)實(shí)際上和eye-to-hand類似。 可以快速有效地標(biāo)定被測(cè)物體的坐標(biāo)。 這種情況的標(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ì)待的。 ●基于圖像的視覺控制 ●基于位置的視覺控制 ●結(jié)合兩者的混合視覺控制 在正式開始講解之前,可以看一下:深入淺出地理解機(jī)器人手眼標(biāo)定 對(duì)手眼標(biāo)定有一個(gè)直觀的認(rèn)識(shí)。 正式開始 本文的相機(jī)搭載方案是,hand-in-eye。移動(dòng)相機(jī),標(biāo)定求解過程 在推導(dǎo)過程中,我們會(huì)用到四個(gè)坐標(biāo)系,分別是: ●基礎(chǔ)坐標(biāo)系(用base表示) ●機(jī)械手坐標(biāo)系(用tool表示) ●相機(jī)坐標(biāo)系(用cam表示) ●標(biāo)定物坐標(biāo)系(用cal表示) 下面先給出示意圖:

坐標(biāo)系之間的轉(zhuǎn)換關(guān)系說明: ●baseHtool:表示機(jī)械手坐標(biāo)系到基礎(chǔ)坐標(biāo)系的轉(zhuǎn)換關(guān)系,可以由機(jī)器人系統(tǒng)中得出。(已知) ●toolHcam:表示相機(jī)坐標(biāo)系到機(jī)械手坐標(biāo)系的轉(zhuǎn)換關(guān)系;這個(gè)轉(zhuǎn)化關(guān)系在機(jī)械手移動(dòng)過程中是不變的;(未知,待求) ●calHcam:表示相機(jī)坐標(biāo)系到標(biāo)定板坐標(biāo)系的轉(zhuǎn)換關(guān)系(相機(jī)外參),可以由相機(jī)標(biāo)定求出;(相當(dāng)于已知) ●baseHcal:表示標(biāo)定板坐標(biāo)系到基礎(chǔ)坐標(biāo)系的變換,這個(gè)是最終想要得到的結(jié)果;只要機(jī)械手和標(biāo)定板的相對(duì)位置不變,這個(gè)變換矩陣不發(fā)生變化。

所以:其中的A已知,X待求,B需要通過相機(jī)標(biāo)定得知(張正友標(biāo)定法可以求得)。 驗(yàn)證結(jié)果

1. 基礎(chǔ)坐標(biāo)系(求解baseHtool) 符合右手定則的XYZ三個(gè)坐標(biāo)軸 ●原點(diǎn):機(jī)器人底座的中心點(diǎn) ●X軸正向:指向機(jī)器人的正前方 ●Z軸正向:指向機(jī)器人的正上方 ●Y軸正向:由右手定則確定

六個(gè)自由度 ●三個(gè)位置:x、y、z(第六軸法蘭盤圓心相對(duì)于原點(diǎn)的偏移量) ●三個(gè)角:Rx、Ry、Rz(第六軸法蘭盤的軸線角度,由初始姿態(tài)即豎直向上繞x軸旋轉(zhuǎn)Rx度,再繞Y軸旋轉(zhuǎn)Ry度,再繞Z軸旋轉(zhuǎn)Rz度得到) ●旋轉(zhuǎn)方式(機(jī)器人RPY角和Euler角 – 基本公式)(機(jī)器人學(xué)-熊有倫36-40頁(yè)) ●繞定軸X-Y-Z旋轉(zhuǎn)(判斷機(jī)械臂輸出四元數(shù)與代碼得到的四元數(shù)是否相等得到)

一定要注意歐拉角和李代數(shù)不一樣,非常容易搞混,因?yàn)樗麄兌际?個(gè)量 歐拉角:分別繞x、y、z軸旋轉(zhuǎn)的角度,不一樣的旋轉(zhuǎn)次序,得到的R不一樣; 李代數(shù):維度是3,是繞一個(gè)軸轉(zhuǎn)動(dòng)一定的角度。歐拉角可以理解成李代數(shù)在x、y、z軸上的分解旋轉(zhuǎn)。(不一定正確,不過比較形象) 注:不同機(jī)械臂示教器顯示的法蘭盤的數(shù)據(jù)格式不一樣,有的是用歐拉角顯示的,有的是用角軸顯示的。 2. camHcal相機(jī)到標(biāo)定板 ●注意:標(biāo)定板坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換到相機(jī)坐標(biāo)系下

思路大致如下: ●已知雙目相機(jī)的內(nèi)參、畸變系數(shù)、外參(Pr=R?Pl+t P_r=R*P_l+tP r=R?P l +t), ●對(duì)左右相機(jī)的兩張圖片調(diào)用OpenCV中的findChessboardCorners函數(shù),找到內(nèi)角點(diǎn)(如果結(jié)果不好,繼續(xù)提取亞像素點(diǎn)); ●將左右相機(jī)的像素點(diǎn)對(duì)應(yīng)起來,得到匹配的2d點(diǎn); ●使用空間異面直線的方法,用對(duì)應(yīng)的2d點(diǎn)計(jì)算出以右相機(jī)為世界坐標(biāo)系的3維坐標(biāo)Pcam P_{cam}P cam ;(立體視覺匹配) ●計(jì)算出每個(gè)角點(diǎn)以棋盤格為世界坐標(biāo)的3維坐標(biāo)Pcal P_{cal}P cal; ●通過解方程Pcam=camHcal?Pcal P_{cam}=camHcal*P_{cal}P cam=camHcal?P cal 求解出外參(3d-3d:ICP,SVD奇異值分解(十四講173頁(yè))) 張正友相機(jī)標(biāo)定Opencv實(shí)現(xiàn)

參數(shù)解釋: ●第一個(gè)參數(shù)Image,傳入拍攝的棋盤圖Mat圖像,必須是8位的灰度或者彩色圖像; ●第二個(gè)參數(shù)patternSize,每個(gè)棋盤圖上內(nèi)角點(diǎn)的行列數(shù),一般情況下,行列數(shù)不要相同,便于后續(xù)標(biāo)定程序識(shí)別標(biāo)定板的方向; ●第三個(gè)參數(shù)corners,用于存儲(chǔ)檢測(cè)到的內(nèi)角點(diǎn)圖像坐標(biāo)位置,一般用元素是Point2f的向量來表示:vector image_points_buf; ●第四個(gè)參數(shù)flage:用于定義棋盤圖上內(nèi)角點(diǎn)查找的不同處理方式,有默認(rèn)值。 3. 求解AX=XB 以下四篇論文對(duì)應(yīng)著四種求解方法 Tsai, Roger Y., and Reimar K. Lenz. “A new technique for fully autonomous and efficient 3D robotics hand/eye calibration.” IEEE Transactions on robotics and automation 5.3 (1989): 345-358.(博客:Tsai-Lenz的OpenCV實(shí)現(xiàn)) Horaud, Radu, and Fadi Dornaika. “Hand-eye calibration.” The international journal of robotics research 14.3 (1995): 195-210. Park, Frank C., and Bryan J. Martin. “Robot sensor calibration: solving AX= XB on the Euclidean group.” IEEE Transactions on Robotics and Automation10.5 (1994): 717-721.(博客:Navy的OpenCV實(shí)現(xiàn)) Daniilidis, Konstantinos. “Hand-eye calibration using dual quaternions.” The International Journal of Robotics Research 18.3 (1999): 286-298. 網(wǎng)上有源代碼可以下載:經(jīng)典手眼標(biāo)定算法C++代碼 文獻(xiàn)3采用的是李群的理論,將AX=XB轉(zhuǎn)化成最小二乘問題; 文獻(xiàn)4采用的時(shí)對(duì)偶四元數(shù)的知識(shí),用對(duì)偶四元數(shù)表達(dá)旋轉(zhuǎn)和平移,從而進(jìn)行統(tǒng)一計(jì)算; 著四種算法精度差不多,不過文獻(xiàn)4的效果要更好點(diǎn)。 具體實(shí)現(xiàn)文獻(xiàn)3的算法,下面具體介紹 對(duì)數(shù):乘法變加法 李群李代數(shù)

利用李群知識(shí)求解AX=XB

采用“兩步法”求解上述方程,先解算旋轉(zhuǎn)矩陣,再求得平移向量。

求解旋轉(zhuǎn)矩陣

代碼:用兩組數(shù)據(jù)求解方程AX=XB

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)械手
    +關(guān)注

    關(guān)注

    7

    文章

    333

    瀏覽量

    29599
  • 視網(wǎng)膜
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    12755

原文標(biāo)題:手眼標(biāo)定_全面細(xì)致的推導(dǎo)過程

文章出處:【微信號(hào):indRobot,微信公眾號(hào):工業(yè)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    傳感器靜態(tài)標(biāo)定的主要步驟是什么

    壓力、位移等)作為輸入量,這些標(biāo)準(zhǔn)量將用于標(biāo)定傳感器。 二、標(biāo)定過程 分點(diǎn) : 將傳感器的全量程分成若干個(gè)等間距點(diǎn)。這些點(diǎn)將作為標(biāo)定過程中的
    的頭像 發(fā)表于 09-19 17:02 ?775次閱讀

    用PGA309 -USB DAQ板標(biāo)定PGA309的過程中,ADC無法采集到電壓信號(hào),為什么?

    在用PGA309 -USB DAQ板標(biāo)定PGA309的過程中,ADC無法采集到電壓信號(hào),后查找原因發(fā)現(xiàn)U20(ADS1100A01IDBVT)以及Q4(MMBT4003)損壞,換完這兩個(gè)器件后
    發(fā)表于 09-13 07:31

    buck電路穩(wěn)態(tài)電壓推導(dǎo)過程

    buck電路(也稱為降壓轉(zhuǎn)換器或降壓穩(wěn)壓器)的穩(wěn)態(tài)電壓推導(dǎo)過程涉及理解其工作原理以及電路中的電壓和電流關(guān)系。以下是一個(gè)簡(jiǎn)化的推導(dǎo)過程: Buck電路基本組成 Buck電路主要由以下幾個(gè)
    的頭像 發(fā)表于 09-12 15:24 ?429次閱讀

    使用基于模型的標(biāo)定提高開發(fā)效率

    嵌入式系統(tǒng)中往往包含大量的可標(biāo)定參數(shù),這些參數(shù)通常以單值、曲線(1 維表格)、MAP 圖(2 維表格)的形式存在。最終產(chǎn)品的質(zhì)量不僅取決于算法的設(shè)計(jì),也取決于這些可標(biāo)定參數(shù)的值設(shè)置是否達(dá)到最優(yōu)。
    的頭像 發(fā)表于 09-05 09:54 ?178次閱讀
    使用基于模型的<b class='flag-5'>標(biāo)定</b>提高開發(fā)效率

    基于CW32的儀表精度測(cè)量實(shí)現(xiàn)(三):標(biāo)定與校準(zhǔn)

    標(biāo)定的概念 標(biāo)定是一種校準(zhǔn)過程,它通過與已知的標(biāo)準(zhǔn)或參考值進(jìn)行比較來確保測(cè)量設(shè)備、儀器或系統(tǒng)的準(zhǔn)確性和可靠性。這個(gè)過程涉及調(diào)整設(shè)備,以消除系統(tǒng)誤差和提高測(cè)量結(jié)果與真實(shí)值的一致性,從而確
    的頭像 發(fā)表于 09-02 10:07 ?262次閱讀
    基于CW32的儀表精度測(cè)量實(shí)現(xiàn)(三):<b class='flag-5'>標(biāo)定</b>與校準(zhǔn)

    助力風(fēng)電行業(yè)!深視智能SR7400線激光以機(jī)器人手眼標(biāo)定實(shí)現(xiàn)風(fēng)力葉片切割引導(dǎo)

    機(jī)器人手眼標(biāo)定在機(jī)器人視覺領(lǐng)域,手眼標(biāo)定是重要的一步,也是使自動(dòng)化系統(tǒng)更加精確高效的關(guān)鍵一環(huán)。手眼標(biāo)定
    的頭像 發(fā)表于 07-27 08:45 ?284次閱讀
    助力風(fēng)電行業(yè)!深視智能SR7400線激光以機(jī)器人<b class='flag-5'>手眼</b><b class='flag-5'>標(biāo)定</b>實(shí)現(xiàn)風(fēng)力葉片切割引導(dǎo)

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的推導(dǎo)過程

    反向傳播算法的推導(dǎo)過程,包括前向傳播、損失函數(shù)、梯度計(jì)算和權(quán)重更新等步驟。 前向傳播 前向傳播是神經(jīng)網(wǎng)絡(luò)中信息從輸入層到輸出層的傳遞過程。在多層前饋神經(jīng)網(wǎng)絡(luò)中,每個(gè)神經(jīng)元都與前一層的所有神經(jīng)元相連,并通過激活函數(shù)進(jìn)行非線性變換。
    的頭像 發(fā)表于 07-03 11:13 ?411次閱讀

    機(jī)器視覺定位及引導(dǎo)系統(tǒng)的方案

    手眼標(biāo)定是機(jī)器視覺與機(jī)器人結(jié)合應(yīng)用的核心,它解決了相機(jī)(眼)與機(jī)械手(手)之間的坐標(biāo)轉(zhuǎn)換關(guān)系。
    發(fā)表于 04-22 12:34 ?856次閱讀
    機(jī)器視覺定位及引導(dǎo)系統(tǒng)的方案

    機(jī)器人手眼標(biāo)定技術(shù)你真的懂嗎?

    相機(jī)知道的是像素坐標(biāo),機(jī)械手是空間坐標(biāo)系,所以手眼標(biāo)定就是得到像素坐標(biāo)系和空間機(jī)械手坐標(biāo)系的坐標(biāo)轉(zhuǎn)化關(guān)系。
    發(fā)表于 03-18 09:44 ?927次閱讀
    機(jī)器人<b class='flag-5'>手眼</b><b class='flag-5'>標(biāo)定</b>技術(shù)你真的懂嗎?

    霍爾效應(yīng)公式推導(dǎo)過程

    霍爾效應(yīng)公式的推導(dǎo)過程可以從電磁力的角度出發(fā)。首先我們先了解一下霍爾效應(yīng)的基本原理。 霍爾效應(yīng)是指當(dāng)電流通過一定材料時(shí),垂直于電流方向的磁場(chǎng)會(huì)產(chǎn)生一種電勢(shì)差。這個(gè)電勢(shì)差稱為霍爾電壓,它與電流
    的頭像 發(fā)表于 01-10 17:51 ?2575次閱讀

    什么是電機(jī)電控標(biāo)定?到底標(biāo)的啥?

    什么是電機(jī)電控標(biāo)定?到底標(biāo)的啥? 電機(jī)電控標(biāo)定是指對(duì)電機(jī)和電控系統(tǒng)進(jìn)行精確的參數(shù)設(shè)定和校準(zhǔn)的過程。這個(gè)過程旨在確保電機(jī)和電控系統(tǒng)能夠以準(zhǔn)確可靠的方式工作,并實(shí)現(xiàn)所需的性能和功能。
    的頭像 發(fā)表于 12-25 11:47 ?3639次閱讀

    AS2S1210環(huán)路公式的具體推導(dǎo)過程是怎樣的?

    ,根據(jù)此頁(yè)上的公式(10)里的參數(shù)c,在公式(15) 婦女(15)里沒有體現(xiàn),想請(qǐng)問下該公式的具體推導(dǎo)過程,或提供一下這款手冊(cè)的勘誤,謝謝您!
    發(fā)表于 12-04 06:24

    相機(jī)標(biāo)定中各種標(biāo)定板介紹以及優(yōu)缺點(diǎn)分析

    在選擇標(biāo)定板時(shí),一個(gè)重要的考慮因素是它的物理尺寸。這最終關(guān)系到最終應(yīng)用的測(cè)量視場(chǎng)(FOV)。這是因?yàn)橄鄼C(jī)需要聚焦在特定的距離上標(biāo)定。改變焦距長(zhǎng)度會(huì)輕微地影響對(duì)焦距離,這會(huì)影響之前的標(biāo)定。即使是光圈的改變通常也會(huì)對(duì)
    的頭像 發(fā)表于 11-25 14:36 ?936次閱讀
    相機(jī)<b class='flag-5'>標(biāo)定</b>中各種<b class='flag-5'>標(biāo)定</b>板介紹以及優(yōu)缺點(diǎn)分析

    淺析傳感器的外參標(biāo)定和在線標(biāo)定問題

    作為無人車以及智能機(jī)器人而言,在裝配過程中各個(gè)傳感器之間的外參標(biāo)定一直是比較頭疼的問題。這里作者也系統(tǒng)的學(xué)習(xí)了一下,傳感器的外參標(biāo)定和在線標(biāo)定問題。
    發(fā)表于 11-20 15:45 ?721次閱讀
    淺析傳感器的外參<b class='flag-5'>標(biāo)定</b>和在線<b class='flag-5'>標(biāo)定</b>問題

    IMU/GNSS與車體外參標(biāo)定

    作為無人車以及智能機(jī)器人而言,在裝配過程中各個(gè)傳感器之間的外參標(biāo)定一直是比較頭疼的問題。這里作者也系統(tǒng)的學(xué)習(xí)了一下,傳感器的外參標(biāo)定和在線標(biāo)定問題。 下圖是我們常用的幾個(gè)坐標(biāo)系,而對(duì)于
    的頭像 發(fā)表于 11-20 15:34 ?1351次閱讀
    IMU/GNSS與車體外參<b class='flag-5'>標(biāo)定</b>