日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

标定学习笔记(四)-- 手眼标定详解

發布時間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 标定学习笔记(四)-- 手眼标定详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 本文主要介紹了機器人手眼標定的相關原理與思路,介紹了兩種不同安裝條件下如何通過同組固定點進行手眼標定,及通過解決 ?問題進行手眼標定,最后給出了手眼標定的相關評價方式。文章重在進行標定過程的梳理以及相關公式的推導,主要目的還是為了厘清什么是手眼標定,以及如何進行手眼標定。

????????本文依舊作為自己學習的一些記錄,如有謬誤,歡迎斧正!

? ? ? ? 文章參考資料:

????????相機標定(一):機器人手眼標定 - 知乎 (zhihu.com)

????????手眼標定_全面細致的推導過程 (360doc.com)

????????手眼標定傳統方法 - 研究僧小陳 - 博客園 (cnblogs.com)

????????手眼標定之基本原理_3D視覺工坊-CSDN博客_手眼標定

????????手眼標定(Hand in Eye) - 簡書 (jianshu.com)


1? 如何理解手眼標定

? ? ? ? 我們不妨想象,在生活中,我們需要用手移動某一物體時,需要經過哪些步驟?

? ? ? ? 第一步:通過眼睛去觀察三維世界,將三維世界的信息傳遞至視網膜,轉換成二維平面的信息傳遞給我們的大腦;

? ? ? ? 第二步:假設,當我們需要移動三維空間下的物體時,對我們的大腦而言,是將一個物體從二維平面的 A' 點移動至 B' 點,因此大腦需要計算從二維坐標轉換到三維坐標 A 點和 B 點。

? ? ? ? 第三步:當大腦獲得了 A 點和 B 點的坐標,就可以用手將物體進行相應的移動。

? ? ? ? 其中,第二步就是進行手眼標定,即得到二維坐標(像素坐標系)到三維坐標(世界坐標系)的轉換矩陣

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

2? 坐標系與轉換關系

2.1? 基礎坐標系

? ? ? ? 對于上面的講解我們將其推及一個簡單的機械手系統,我們不難得知其中涉及的坐標系包括:

? ? ? ? 1)機械手基礎坐標系

? ? ? ? 2)機械手末端夾具坐標系

? ? ? ? 3)相機坐標系

? ? ? ? 由之前介紹的相機標定相關知識,我們也可以知道,這里說的相機坐標系不僅包括相機本身的坐標系,還包括像素坐標系

? ? ? ? 4)工件坐標系(標定板坐標系):

2.2? 坐標系轉換關系

? ? ? ? 坐標系之間的轉換關系可以記為:

? ? ? ? 1)機械手末端夾具坐標系到機械手基礎坐標系的轉換關系

? ? ? ? 該轉換關系可以通過機器人系統得出,在手眼標定過程中我們認為其是已知的,其轉換關系用矩陣進行表示可以記為:?。

? ? ? ? 2)相機坐標系到機械手末端夾具坐標系的轉換關系:

? ? ? ? 盡管該轉換關系視相機的裝載方式有所區別,但相同點是我們認為其是未知的,也正是我們需要去進行求解的,其轉換關系用矩陣進行表示可以記為:?。

? ? ? ? 3)相機坐標系到標定板坐標系的轉換關系:

? ? ? ? 該轉換關系我們可以通過相機標定進行獲得,因此我們也認為其是已知的,其轉換關系用矩陣進行表示可以記為:?。

? ? ? ? 4)標定板坐標系到機械手基礎坐標系的轉換關系

? ? ? ? 該轉換關系也正是我們最終希望求解的,只要機械手整體與標定板的相對位置不發生變化,這個變換矩陣也就不發生變化。

3? 利用同組固定點進行標定

3.1? 通用思路

? ? ? ? 機器人的手眼標定其實就是兩個坐標系之間的轉換關系的標定。我們希望計算出相機坐標系到機械手坐標系的轉換關系,并且我們已知對應的幾個固定點 在這兩個坐標系的坐標?和??。根據坐標轉換公式,可以得出:

? ? ? ? 上式中的??表示我們希望計算出的相機到機械手的轉換矩陣。

3.2? 相機不在機械手上(eye to hand)

3.2.1? 待求量

? ? ? ? 相機固定在一個地方,機械手的運動不會帶著相機一起移動。對于 Eye-to-Hand 而言,相機坐標系相對于機械手基礎坐標系是固定的,而對于機械手末端夾具坐標系是變化的

? ? ? ? 在 Eye-to-Hand 的問題下,待求量為相機到機械手基座坐標系固定轉換矩陣? 。考慮到相機是固定在一個位置,因此相機只有相對于基座坐標系才是固定不變的,這樣我們的待求量?是一個固定的參數,這樣的標定才是有意義的。

3.2.2? 標定思路

? ? ? ? 根據?第3.1節?中所介紹的通用求解思路,下一步需要通過棋盤格圖像上的固定點 ?來獲得機械手基座坐標系下的固定點坐標??和相機坐標系下的坐標?。

? ? ? ? 通過識別棋盤格,我們可以得到棋盤格中的角點相機坐標系下的坐標?,但是這是二維坐標,通過相機內參和物體的深度信息我們可以計算出?。接下來我們只要測量出來對應的棋盤格點在機械手基座坐標系下的坐標?,便可以標定出機械手和相機之間的轉換矩陣?。

3.2.3? 轉換關系推導

? ? ? ? 在 Eye-to-Hand 問題下,棋盤格在標定的時候,會固定在機械手的末端夾具上,而機械手的末端夾具坐標系到基座坐標系的轉換矩陣,可以通過機器人正向運動學計算得到。因此我們可以通過如下關系測量出棋盤格點在機器人基座坐標系下的坐標??:

? ? ? ? 在上述公式中,?和??分別代表機械手末端夾具坐標系(tool)到基座坐標系(base)的轉換矩陣和棋盤格坐標系(board)到機械手末端夾具坐標系(tool)的轉換矩陣。

????????其中,?可以實時根據機器人正向運動學得到,而??可以通過設計一個固定尺寸棋盤格得到。當棋盤格尺寸以及安裝固定后,我們可以設棋盤格的左上角點為原點,然后通過測量或者設計尺寸計算棋盤格原點機器人末端坐標原點平移坐標,而棋盤格平面一般與機械手末端載具平面平行,因此該原點的法向量也可以獲得,接下來就可以計算出??。

?????????代表棋盤格角點再棋盤格坐標系下的坐標,這個同樣可以根據設計棋盤格的尺寸得到。需要注意的是棋盤格的角點在機器人坐標系圖像坐標系的順序需要一一對應,但是一般的方形棋盤格會存在旋轉對稱的問題,即我們無法區分棋盤格的原點是在左上角還是右下角,因此在進行手眼標定時可以使用非對稱的棋盤格

? ? ? ? 通過上面的推導,我們已經可以計算出棋盤格角點在機器人基座坐標系中的坐標?,然后根據張正友標定法得到棋盤格在相機坐標系中的坐標?。那么根據 第3.1節?中介紹的計算方法就可以得到相機到機器人的轉換矩陣:

3.3? 相機在機械手上(eye in hand)

3.3.1? 待求量

? ? ? ? 相機安裝在機械手上,隨著機械手一起移動。對于 Eye-in-Hand 而言,相機坐標系相對于機械手末端夾具坐標系固定的,而對于機械手基礎坐標系變化的

? ? ? ? 當相機固定于機械手末端夾具時,此時相機坐標系與機械手末端夾具坐標系的變換關系固定,而與基座坐標系的變換關系會時刻變化,因此此時的待求量變成了相機坐標系(camera)到機械手末端載具坐標系(tool)的變換矩陣?。

3.3.2? 轉換關系推導

????????根據各個坐標系的關系,我們可以給出下述的坐標變換方程:

? ? ? ? 上式中??代表固定在某個位置上的棋盤格中的角點,在機器人基座坐標系下的坐標。可以通過兩種方式計算這個坐標:

? ? ? ? 1)在機械手末端的夾具上加上探針,直接由末端去觸碰棋盤格上的點,根據機器人正向運動學得到的末端夾具到基座坐標系的轉換矩陣??及棋盤格角點到末端坐標系的坐標?,我們可以得到固定的棋盤格角點在機器人基座坐標系下的坐標??。

? ? ? ? 2)在機械手末端的夾具上安裝相機,由相機去直接測量棋盤格角點機器對應的坐標?,通過計算機器手末端夾具到基座坐標系的轉換矩陣??和相機坐標系到機器人末端坐標系的轉換矩陣?,便可以求出棋盤格在機器人基座坐標系下的坐標?。

? ? ? ? 在第二種方式中,相機坐標系到機器人末端坐標系的轉換矩陣??是我們的待求量,因此我們需要對開始時描述的坐標變換方程進行簡單的變換

? ? ? ? 在上式中,坐標的三個變量都是已知量,由此我們可以計算出相機到機器人末端坐標系的轉換矩陣?。

3.4? 小結

? ? ? ? 本部分所探討的標定方法其實是最直接的方式,即盡量測量出同一組點不同坐標系下的坐標,從而直接可以通過偽逆矩陣的方式計算出坐標變換矩陣。當然,還有更加具有普適性的方法,在不滿足上述條件下的情況也可以標定出矩陣,也就是經典的??問題的求解,其中?,已知,為待求量。這種方法將在下章進行討論。

4???問題推導

4.1? 轉換關系推導(以Eye-in-Hand為例)

? ? ? ? 首先,我們控制機械手從初始位置移動至位置 1 ,我們可以獲取此時的機械臂基座坐標夾具坐標相機坐標以及標定板坐標

? ? ? ? 對上面的三個公式進行聯立,我們可以得出:

? ? ? ? 同理,將機械手移動到位置 2 時,可以得出:

? ? ? ? 在 Eye-in-Hand 問題中,機械臂基座與標定板之間的關系是固定的,所以可得:

? ? ? ? 在 Eye-in-Hand 問題中,待求量機械臂末端夾具坐標系到相機坐標系的轉換關系,我們不妨記:

? ? ? ? 因此,上面的推導公式可以寫做:

? ? ? ? 令

? ? ? ? 則上面的推導公式又可以簡寫為:

? ? ? ? 至此,我們可以將手眼標定問題歸結為對上述公式中??的求解問題。其中,?可以通過機器人正向運動學獲得,?可以通過相機標定獲得。

4.2? 求解?

? ? ? ? 求解??問題的方式有很多種,包括但不限于:利用李群理論,轉化為最小二乘問題和采用時對偶四元數的知識,進行統一計算。下面主要介紹使用李群李代數求解的方法。

? ? ? ? 李代數到李群的轉換滿足指數映射關系,假設??,而??,則其指數映射滿足羅德里格斯公式

? ? ? ? 其中??,需要注意的是,正常的指數映射不是這種形式

? ? ? ? 將??寫成矩陣形式為:

? ? ? ? 展開上述矩陣可得:

? ? ? ? 對于上述方程我們可以采用兩步法進行求解,即先解算旋轉矩陣再求解平移向量

4.2.1? 求解旋轉矩陣

? ? ? ? 假設?,這里的矩陣都是旋轉矩陣(SO(3)),而非變換矩陣(SE(3))。

? ? ? ? 通過變換可得:

? ? ? ? 方程兩邊取對數可得:

? ? ? ? 令:

? ? ? ? 則上式可化為:

? ? ? ? 從而可化為:

? ? ? ? 當存在多組觀測值時,求解該方程可以轉化為下面最小二乘擬合問題

? ? ? ? 顯然,上述問題是典型的絕對定向問題,因而求解上式與絕對定向相同,其解為:

? ? ? ? 其中,

? ? ? ? 上式僅在??不奇異時可以進行求解,當只有兩組?,?時,不能使用上述方法進行求解

? ? ? ? 當只有兩組?,?時,即存在? 時:

? ? ? ? 其中:

? ? ? ? 綜上所述,可以計算出旋轉矩陣

4.2.2? 求解平移向量

? ? ? ? 已知:

? ? ? ? 通過移項化簡可得:

? ? ? ? 不妨寫作:

? ? ? ? 又因為??不一定可逆,因此在等式兩邊同時乘以?,即:

? ? ? ? 由此可知:

? ? ? ? 當存在多組數據時:

? ? ? ? 即可求得??。

4.3? 小結

? ? ? ? 通過解決??問題進行手眼標定的方法,其步驟大致如下:

? ? ? ? 1)當機器人靜止在 位置1 時,進行攝像機標定,獲得此時的外參矩陣?;

? ? ? ? 2)控制機器人移動至 位置2 ,獲取此時的機器人正向運動矩陣?;

? ? ? ? 3)當機器人靜止在 位置2?時,進行攝像機標定,獲得此時的外參矩陣?;

? ? ? ? 4)控制機器人移動至 位置3?,獲取此時的機器人正向運動矩陣?;

? ? ? ? 5)當機器人靜止在 位置3?時,進行攝像機標定,獲得此時的外參矩陣?;

……測量多組數據……

? ? ? ? n)根據測量得到的數據,求解?。

5? 評價手眼標定效果

? ? ? ? 通過測量幾組不同位置的目標點,我們可以比較:

????????測量值:

? ? ? ? 和預測值:?

? ? ? ? 之間的距離誤差:

? ? ? ? 通過計算各個點的誤差的均值和標準差,最終我們可以計算出標定結果的系統誤差(均值)和隨機誤差(標準差)。

總結

以上是生活随笔為你收集整理的标定学习笔记(四)-- 手眼标定详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。