在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器人手眼標定的推導過程

jt_rfid5 ? 來源:CSDN博主騎士——永不止步 ? 2023-04-20 16:32 ? 次閱讀

本文解決的問題:

機械手搭載雙目相機,手眼標定。

本文有細致的推導過程,非常全面。

什么是手眼標定

確定像素坐標系和空間機械手坐標系的坐標轉化關系;

為什么會存在這個?

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

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

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

第三步:大腦已經獲得A點和B點的三維坐標,大腦給手(執行機構)發出指令去完成這個任務;

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

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

相機的裝載位置

不在手上(eye-to-hand)

相機固定在一個地方,機械手的運動不會帶著相機一起移動。

在手上(eye-in-hand)

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

可以快速有效地標定被測物體的坐標。

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

●基于圖像的視覺控制

●基于位置的視覺控制

●結合兩者的混合視覺控制

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

對手眼標定有一個直觀的認識。

正式開始

本文的相機搭載方案是,hand-in-eye。移動相機,標定求解過程

在推導過程中,我們會用到四個坐標系,分別是:

●基礎坐標系(用base表示)

●機械手坐標系(用tool表示)

●相機坐標系(用cam表示)

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

下面先給出示意圖:

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

坐標系之間的轉換關系說明:

●baseHtool:表示機械手坐標系到基礎坐標系的轉換關系,可以由機器人系統中得出。(已知)

●toolHcam:表示相機坐標系到機械手坐標系的轉換關系;這個轉化關系在機械手移動過程中是不變的;(未知,待求)

●calHcam:表示相機坐標系到標定板坐標系的轉換關系(相機外參),可以由相機標定求出;(相當于已知)

●baseHcal:表示標定板坐標系到基礎坐標系的變換,這個是最終想要得到的結果;只要機械手和標定板的相對位置不變,這個變換矩陣不發生變化。

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

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

驗證結果

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

1. 基礎坐標系(求解baseHtool)

符合右手定則的XYZ三個坐標軸

●原點:機器人底座的中心

●X軸正向:指向機器人的正前方

●Z軸正向:指向機器人的正上方

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

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

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

六個自由度

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

●三個角:Rx、Ry、Rz(第六軸法蘭盤的軸線角度,由初始姿態即豎直向上繞x軸旋轉Rx度,再繞Y軸旋轉Ry度,再繞Z軸旋轉Rz度得到)

●旋轉方式(機器人RPY角和Euler角 – 基本公式)(機器人學-熊有倫36-40頁)

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

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

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

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

李代數:維度是3,是繞一個軸轉動一定的角度。歐拉角可以理解成李代數在x、y、z軸上的分解旋轉。(不一定正確,不過比較形象)

注:不同機械臂示教器顯示的法蘭盤的數據格式不一樣,有的是用歐拉角顯示的,有的是用角軸顯示的。

2. camHcal相機到標定板

●注意:標定板坐標系下的坐標轉換到相機坐標系下

思路大致如下:

●已知雙目相機的內參、畸變系數、外參(Pr=R?Pl+t P_r=R*P_l+tP

r=R?P l +t),

●對左右相機的兩張圖片調用OpenCV中的findChessboardCorners函數,找到內角點(如果結果不好,繼續提取亞像素點);

●將左右相機的像素點對應起來,得到匹配的2d點;

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

●計算出每個角點以棋盤格為世界坐標的3維坐標Pcal P_{cal}P cal;

●通過解方程Pcam=camHcal?Pcal P_{cam}=camHcal*P_{cal}P cam=camHcal?P cal 求解出外參(3d-3d:ICP,SVD奇異值分解(十四講173頁))

張正友相機標定Opencv實現

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

參數解釋:

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

●第二個參數patternSize,每個棋盤圖上內角點的行列數,一般情況下,行列數不要相同,便于后續標定程序識別標定板的方向;

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

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

3. 求解AX=XB

以下四篇論文對應著四種求解方法

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實現)

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實現)

Daniilidis, Konstantinos. “Hand-eye calibration using dual quaternions.” The International Journal of Robotics Research 18.3 (1999): 286-298.

網上有源代碼可以下載:經典手眼標定算法C++代碼

文獻3采用的是李群的理論,將AX=XB轉化成最小二乘問題;

文獻4采用的時對偶四元數的知識,用對偶四元數表達旋轉和平移,從而進行統一計算;

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

具體實現文獻3的算法,下面具體介紹

對數:乘法變加法

李群李代數

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

利用李群知識求解AX=XB

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

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

求解旋轉矩陣

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

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

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

代碼:用兩組數據求解方程AX=XB

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

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

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28693

    瀏覽量

    208652
  • 相機
    +關注

    關注

    4

    文章

    1369

    瀏覽量

    53954
  • 坐標系
    +關注

    關注

    0

    文章

    29

    瀏覽量

    7363
  • 機械手
    +關注

    關注

    7

    文章

    339

    瀏覽量

    29767
  • 視覺控制
    +關注

    關注

    0

    文章

    8

    瀏覽量

    6886

原文標題:【光電智造】手眼標定—全面細致的推導過程

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

收藏 人收藏

    評論

    相關推薦

    Realsense+大象機器人手眼標定方案詳解

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

    詳解機器人手眼標定MATLAB及C++實現

    現在的機器人少不了有各種傳感器,傳感器之間的標定機器人感知環境的一個重要前提。所謂標定,是指確定傳感器之間的坐標轉換關系。由于標定的傳感器
    發表于 11-25 09:34 ?4232次閱讀

    機器視覺手眼標定

    本帖最后由 lilin0734 于 2017-11-15 20:09 編輯 機器視覺手眼標定
    發表于 11-06 10:45

    NI VISION 與機器人做引導

    NI VISION 與機器人做引導怎么樣實現手眼標定好像沒有像其他視覺類似的函數...哪位大俠可以指點一二謝謝了
    發表于 04-09 15:35

    如何使用labview實現手眼標定

    求指教如何使用labview實現手眼標定謝謝
    發表于 04-22 18:24

    請問各位高手,如何用labview的vision實現手眼標定

    有個項目要用視覺定位,視覺拍好產品之后,把產品的坐標發送到PLC,PLC再執行定位指令。現在查到的資料都沒有涉及這一塊,都是講相機標定,而不是手眼標定。哪位有這方面的資料,怎么用labview實現
    發表于 05-28 14:42

    CMAC網絡在機器人手眼系統位置控制中的應用

    摘要:在機器人手眼系統位置控制中,用CMAC神經網絡建立了機器人非線性視覺映射關系模型,實現了圖像坐標到機器人坐標的變換。該模型采用了一種新的多維CMAC
    發表于 03-24 12:46 ?1319次閱讀
    CMAC網絡在<b class='flag-5'>機器人手眼</b>系統位置控制中的應用

    高級機器人手

    高級機器人手冊初學者必備高級機器人手冊高級機器人手
    發表于 12-10 16:42 ?28次下載

    凸松弛全局優化機器人手眼標定

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

    手眼標定_全面細致的推導過程

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

    手眼標定的詳細推導過程

    機械手搭載雙目相機,手眼標定
    的頭像 發表于 07-11 11:18 ?2864次閱讀
    <b class='flag-5'>手眼</b><b class='flag-5'>標定</b>的詳細<b class='flag-5'>推導</b><b class='flag-5'>過程</b>

    如何利用旋轉中心進行手眼標定呢?

    首先,我們要了解一下常規的手眼標定流程是怎么樣的。
    的頭像 發表于 07-25 16:52 ?5806次閱讀
    如何利用旋轉中心進行<b class='flag-5'>手眼</b><b class='flag-5'>標定</b>呢?

    常見的機器人視覺伺服中的標定技術有哪些

    常見的機器人視覺伺服中要實現像素坐標與實際坐標的轉換,首先就要進行標定,對于實現視覺伺服控制,這里的標定不僅包括攝像機標定,也包括機器人系統
    發表于 08-04 11:48 ?912次閱讀
    常見的<b class='flag-5'>機器人</b>視覺伺服中的<b class='flag-5'>標定</b>技術有哪些

    機器人手眼標定技術你真的懂嗎?

    相機知道的是像素坐標,機械手是空間坐標系,所以手眼標定就是得到像素坐標系和空間機械手坐標系的坐標轉化關系。
    發表于 03-18 09:44 ?1129次閱讀
    <b class='flag-5'>機器人手眼</b><b class='flag-5'>標定</b>技術你真的懂嗎?

    助力風電行業!深視智能SR7400線激光以機器人手眼標定實現風力葉片切割引導

    機器人手眼標定機器人視覺領域,手眼標定是重要的一步,也是使自動化系統更加精確高效的關鍵一環。手眼
    的頭像 發表于 07-27 08:45 ?473次閱讀
    助力風電行業!深視智能SR7400線激光以<b class='flag-5'>機器人手眼</b><b class='flag-5'>標定</b>實現風力葉片切割引導
    主站蜘蛛池模板: 狠狠色丁香久久综合婷婷 | 在线观看免费视频片 | 91成人免费观看 | 久久国产美女 | 免费无毒片在线观看 | 四虎影院在线视频 | aaa一级片| 一区二区中文字幕亚洲精品 | 扒开双腿疯狂进出爽爽爽 | 精品综合久久久久久98 | 亚洲国产欧美精品一区二区三区 | 国产综合在线观看视频 | 色干干 | 国产伦精品一区二区免费 | 久久久久激情免费观看 | 日本a级三级三级三级久久 日本a级影院 | 天天夜天干天天爽 | 狠狠五月天小说 | 亚洲高清免费视频 | 色在线国产 | 模特视频一二三区 | 在线亚洲成人 | 操女人网| 夜夜狠狠 | 欧美狠狠| 久久影视免费观看网址 | 色干干 | 天天艹天天 | 天天操夜夜操狠狠操 | 亚洲邪恶天堂影院在线观看 | 久久99国产亚洲高清观看首页 | bt种子搜索在线 | 深夜动态福利gif动态进 | 欧美性受xxxx | 精品女同同性视频很黄很色 | 欧美黄色片在线播放 | 国产精品夜色一区二区三区 | 国产一级特黄aa大片在线 | 久久久久国产精品免费免费不卡 | 日本免费观看网站 | 伊人涩 |