一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

機(jī)器人手眼標(biāo)定的推導(dǎo)過程

jt_rfid5 ? 來源:CSDN博主騎士——永不止步 ? 2023-04-20 16:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文解決的問題:

機(jī)械手搭載雙目相機(jī),手眼標(biāo)定。

本文有細(xì)致的推導(dǎo)過程,非常全面。

什么是手眼標(biāo)定

確定像素坐標(biāo)系和空間機(jī)械手坐標(biāo)系的坐標(biāo)轉(zhuǎn)化關(guān)系;

為什么會存在這個?

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

第一步:眼睛觀察到三維世界,并將其轉(zhuǎn)換到視網(wǎng)膜平面(三維空間轉(zhuǎn)換到二維平面)傳送信息給大腦;

第二步:大腦想要移動某個物體,假設(shè)想要將物體從A點移動B點(二維坐標(biāo)),但是物體是三維空間中的物體,是三維坐標(biāo),需要將二維坐標(biāo)換算成三維坐標(biāo);

第三步:大腦已經(jīng)獲得A點和B點的三維坐標(biāo),大腦給手(執(zhí)行機(jī)構(gòu))發(fā)出指令去完成這個任務(wù);

其中第二步就是手眼標(biāo)定,得到二維坐標(biāo)(像素坐標(biāo))到三維坐標(biāo)的轉(zhuǎn)換矩陣

在實際控制中,相機(jī)檢測到目標(biāo)在圖像中的像素位置后,通過標(biāo)定好的坐標(biāo)轉(zhuǎn)換矩陣將相機(jī)的像素坐標(biāo)變換到機(jī)械手的空間坐標(biāo)系中,然后根據(jù)機(jī)械手坐標(biāo)系計算出各個電機(jī)該如何運(yùn)動,從而控制機(jī)械手到達(dá)指定位置。這個過程中涉及到了圖像標(biāo)定,圖像處理,運(yùn)動學(xué)正逆解,手眼標(biāo)定等。

相機(jī)的裝載位置

不在手上(eye-to-hand)

相機(jī)固定在一個地方,機(jī)械手的運(yùn)動不會帶著相機(jī)一起移動。

在手上(eye-in-hand)

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

可以快速有效地標(biāo)定被測物體的坐標(biāo)。

這種情況的標(biāo)定過程實際上和相機(jī)和機(jī)械手分離的標(biāo)定方法是一樣的,因為相機(jī)拍照時,機(jī)械手會運(yùn)動到相機(jī)標(biāo)定的時候的位置,然后相機(jī)拍照,得到目標(biāo)的坐標(biāo),再控制機(jī)械手,所以簡單的相機(jī)固定在末端的手眼系統(tǒng)很多都是采用這種方法,標(biāo)定的過程和手眼分離系統(tǒng)的標(biāo)定是可以相同對待的。

●基于圖像的視覺控制

●基于位置的視覺控制

●結(jié)合兩者的混合視覺控制

在正式開始講解之前,可以看一下:深入淺出地理解機(jī)器人手眼標(biāo)定

對手眼標(biāo)定有一個直觀的認(rèn)識。

正式開始

本文的相機(jī)搭載方案是,hand-in-eye。移動相機(jī),標(biāo)定求解過程

在推導(dǎo)過程中,我們會用到四個坐標(biāo)系,分別是:

●基礎(chǔ)坐標(biāo)系(用base表示)

●機(jī)械手坐標(biāo)系(用tool表示)

●相機(jī)坐標(biāo)系(用cam表示)

●標(biāo)定物坐標(biāo)系(用cal表示)

下面先給出示意圖:

5b74edca-db75-11ed-bfe3-dac502259ad0.png

坐標(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)系;這個轉(zhuǎn)化關(guān)系在機(jī)械手移動過程中是不變的;(未知,待求)

●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)系的變換,這個是最終想要得到的結(jié)果;只要機(jī)械手和標(biāo)定板的相對位置不變,這個變換矩陣不發(fā)生變化。

5b88528e-db75-11ed-bfe3-dac502259ad0.png

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

驗證結(jié)果

5b92135a-db75-11ed-bfe3-dac502259ad0.png

1. 基礎(chǔ)坐標(biāo)系(求解baseHtool)

符合右手定則的XYZ三個坐標(biāo)軸

●原點:機(jī)器人底座的中心

●X軸正向:指向機(jī)器人的正前方

●Z軸正向:指向機(jī)器人的正上方

●Y軸正向:由右手定則確定

5ba105a4-db75-11ed-bfe3-dac502259ad0.png

5ba9fb96-db75-11ed-bfe3-dac502259ad0.png

六個自由度

●三個位置:x、y、z(第六軸法蘭盤圓心相對于原點的偏移量)

●三個角: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頁)

●繞定軸X-Y-Z旋轉(zhuǎn)(判斷機(jī)械臂輸出四元數(shù)與代碼得到的四元數(shù)是否相等得到)

5bb47b7a-db75-11ed-bfe3-dac502259ad0.png

一定要注意歐拉角和李代數(shù)不一樣,非常容易搞混,因為他們都是3個量

歐拉角:分別繞x、y、z軸旋轉(zhuǎn)的角度,不一樣的旋轉(zhuǎn)次序,得到的R不一樣;

李代數(shù):維度是3,是繞一個軸轉(zhuǎn)動一定的角度。歐拉角可以理解成李代數(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),

●對左右相機(jī)的兩張圖片調(diào)用OpenCV中的findChessboardCorners函數(shù),找到內(nèi)角點(如果結(jié)果不好,繼續(xù)提取亞像素點);

●將左右相機(jī)的像素點對應(yīng)起來,得到匹配的2d點;

●使用空間異面直線的方法,用對應(yīng)的2d點計算出以右相機(jī)為世界坐標(biāo)系的3維坐標(biāo)Pcam P_{cam}P cam ;(立體視覺匹配)

●計算出每個角點以棋盤格為世界坐標(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頁))

張正友相機(jī)標(biāo)定Opencv實現(xiàn)

5bbaba9e-db75-11ed-bfe3-dac502259ad0.png

參數(shù)解釋:

●第一個參數(shù)Image,傳入拍攝的棋盤圖Mat圖像,必須是8位的灰度或者彩色圖像;

●第二個參數(shù)patternSize,每個棋盤圖上內(nèi)角點的行列數(shù),一般情況下,行列數(shù)不要相同,便于后續(xù)標(biāo)定程序識別標(biāo)定板的方向;

●第三個參數(shù)corners,用于存儲檢測到的內(nèi)角點圖像坐標(biāo)位置,一般用元素是Point2f的向量來表示:vector image_points_buf;

●第四個參數(shù)flage:用于定義棋盤圖上內(nèi)角點查找的不同處理方式,有默認(rèn)值。

3. 求解AX=XB

以下四篇論文對應(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實現(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實現(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ù)的知識,用對偶四元數(shù)表達(dá)旋轉(zhuǎn)和平移,從而進(jìn)行統(tǒng)一計算;

著四種算法精度差不多,不過文獻(xiàn)4的效果要更好點。

具體實現(xiàn)文獻(xiàn)3的算法,下面具體介紹

對數(shù):乘法變加法

李群李代數(shù)

5bcc6140-db75-11ed-bfe3-dac502259ad0.png

利用李群知識求解AX=XB

5bd4cd94-db75-11ed-bfe3-dac502259ad0.png

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

求解旋轉(zhuǎn)矩陣

5bdb90d4-db75-11ed-bfe3-dac502259ad0.png

5be62166-db75-11ed-bfe3-dac502259ad0.png

5beaa4d4-db75-11ed-bfe3-dac502259ad0.png

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

5bf14622-db75-11ed-bfe3-dac502259ad0.png

5c14db5a-db75-11ed-bfe3-dac502259ad0.png

5c2b3580-db75-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    213

    文章

    29723

    瀏覽量

    212788
  • 相機(jī)
    +關(guān)注

    關(guān)注

    4

    文章

    1464

    瀏覽量

    54668
  • 坐標(biāo)系
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    7488
  • 機(jī)械手
    +關(guān)注

    關(guān)注

    7

    文章

    345

    瀏覽量

    30392
  • 視覺控制
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    6994

原文標(biāo)題:【光電智造】手眼標(biāo)定—全面細(xì)致的推導(dǎo)過程

文章出處:【微信號:今日光電,微信公眾號:今日光電】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Realsense+大象機(jī)器人手眼標(biāo)定方案詳解

    踩坑 手眼標(biāo)定的算法網(wǎng)上是比較多的,但是很多都不好用。github上高贊的easy_handeye,試了一下,但是mycobot600沒有提供moveit的配置,而我ROS基礎(chǔ)不是很好,不太會修改
    的頭像 發(fā)表于 06-24 15:49 ?7651次閱讀
    Realsense+大象<b class='flag-5'>機(jī)器人手眼</b><b class='flag-5'>標(biāo)定</b>方案詳解

    詳解機(jī)器人手眼標(biāo)定MATLAB及C++實現(xiàn)

    現(xiàn)在的機(jī)器人少不了有各種傳感器,傳感器之間的標(biāo)定機(jī)器人感知環(huán)境的一個重要前提。所謂標(biāo)定,是指確定傳感器之間的坐標(biāo)轉(zhuǎn)換關(guān)系。由于標(biāo)定的傳感器
    發(fā)表于 11-25 09:34 ?4391次閱讀

    機(jī)器視覺手眼標(biāo)定

    本帖最后由 lilin0734 于 2017-11-15 20:09 編輯 機(jī)器視覺手眼標(biāo)定
    發(fā)表于 11-06 10:45

    NI VISION 與機(jī)器人做引導(dǎo)

    NI VISION 與機(jī)器人做引導(dǎo)怎么樣實現(xiàn)手眼標(biāo)定好像沒有像其他視覺類似的函數(shù)...哪位大俠可以指點一二謝謝了
    發(fā)表于 04-09 15:35

    如何使用labview實現(xiàn)手眼標(biāo)定

    求指教如何使用labview實現(xiàn)手眼標(biāo)定謝謝
    發(fā)表于 04-22 18:24

    請問各位高手,如何用labview的vision實現(xiàn)手眼標(biāo)定

    有個項目要用視覺定位,視覺拍好產(chǎn)品之后,把產(chǎn)品的坐標(biāo)發(fā)送到PLC,PLC再執(zhí)行定位指令?,F(xiàn)在查到的資料都沒有涉及這一塊,都是講相機(jī)標(biāo)定,而不是手眼標(biāo)定。哪位有這方面的資料,怎么用labview實現(xiàn)
    發(fā)表于 05-28 14:42

    CMAC網(wǎng)絡(luò)在機(jī)器人手眼系統(tǒng)位置控制中的應(yīng)用

    摘要:在機(jī)器人手眼系統(tǒng)位置控制中,用CMAC神經(jīng)網(wǎng)絡(luò)建立了機(jī)器人非線性視覺映射關(guān)系模型,實現(xiàn)了圖像坐標(biāo)到機(jī)器人坐標(biāo)的變換。該模型采用了一種新的多維CMAC
    發(fā)表于 03-24 12:46 ?1431次閱讀
    CMAC網(wǎng)絡(luò)在<b class='flag-5'>機(jī)器人手眼</b>系統(tǒng)位置控制中的應(yīng)用

    高級機(jī)器人手

    高級機(jī)器人手冊初學(xué)者必備高級機(jī)器人手冊高級機(jī)器人手
    發(fā)表于 12-10 16:42 ?28次下載

    凸松弛全局優(yōu)化機(jī)器人手眼標(biāo)定

    針對機(jī)器人運(yùn)動學(xué)正解及相機(jī)的外參數(shù)標(biāo)定存在偏差時,基于非線性最優(yōu)化的手眼標(biāo)定算法無法確保目標(biāo)函數(shù)收斂到全局極小值的問題,提出基于四元數(shù)理論的凸松弛全局最優(yōu)化
    發(fā)表于 12-03 10:05 ?0次下載
    凸松弛全局優(yōu)化<b class='flag-5'>機(jī)器人手眼</b><b class='flag-5'>標(biāo)定</b>

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

    這種情況的標(biāo)定過程實際上和相機(jī)和機(jī)械手分離的標(biāo)定方法是一樣的,因為相機(jī)拍照時,機(jī)械手會運(yùn)動到相機(jī)標(biāo)定的時候的位置,然后相機(jī)拍照,得到目標(biāo)的坐標(biāo),再控制機(jī)械手,所以簡單的相機(jī)固定在末端的
    的頭像 發(fā)表于 07-11 09:57 ?6551次閱讀
    <b class='flag-5'>手眼</b><b class='flag-5'>標(biāo)定</b>_全面細(xì)致的<b class='flag-5'>推導(dǎo)</b><b class='flag-5'>過程</b>

    手眼標(biāo)定的詳細(xì)推導(dǎo)過程

    機(jī)械手搭載雙目相機(jī),手眼標(biāo)定。
    的頭像 發(fā)表于 07-11 11:18 ?3389次閱讀
    <b class='flag-5'>手眼</b><b class='flag-5'>標(biāo)定</b>的詳細(xì)<b class='flag-5'>推導(dǎo)</b><b class='flag-5'>過程</b>

    如何利用旋轉(zhuǎn)中心進(jìn)行手眼標(biāo)定呢?

    首先,我們要了解一下常規(guī)的手眼標(biāo)定流程是怎么樣的。
    的頭像 發(fā)表于 07-25 16:52 ?6213次閱讀
    如何利用旋轉(zhuǎn)中心進(jìn)行<b class='flag-5'>手眼</b><b class='flag-5'>標(biāo)定</b>呢?

    常見的機(jī)器人視覺伺服中的標(biāo)定技術(shù)有哪些

    常見的機(jī)器人視覺伺服中要實現(xiàn)像素坐標(biāo)與實際坐標(biāo)的轉(zhuǎn)換,首先就要進(jìn)行標(biāo)定,對于實現(xiàn)視覺伺服控制,這里的標(biāo)定不僅包括攝像機(jī)標(biāo)定,也包括機(jī)器人系統(tǒng)
    發(fā)表于 08-04 11:48 ?1077次閱讀
    常見的<b class='flag-5'>機(jī)器人</b>視覺伺服中的<b class='flag-5'>標(biāo)定</b>技術(shù)有哪些

    機(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 ?1492次閱讀
    <b class='flag-5'>機(jī)器人手眼</b><b class='flag-5'>標(biāo)定</b>技術(shù)你真的懂嗎?

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

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