手眼標定 - 最終精度和誤差優化心得

手眼標定 - 標定誤差優化項

  • 一、TCP標定誤差優化
    • 1、注意標定針擺放范圍
    • 2、TCP標定時的點次態與工作姿態盡可能保持相近
  • 二、深度相機對齊矩陣誤差
    • 1、手動計算對齊矩陣
  • 三、手眼標定拍照姿態
    • 1、TCP標定姿態優先
    • 2、水平放置棋盤格優先

為減少最終手眼標定的誤差,可做或注意以下步驟(環節)。

一、TCP標定誤差優化

1、注意標定針擺放范圍

如:在實際焊接、碼垛等工作時,機械臂的工作范圍或擺動范圍主要集中在X軸的[150mm , 1500mm]范圍,Y軸的[-150mm , 350mm]范圍,Z軸的[-200mm , 600mm]范圍,那么在做TCP時,應將標定針(或標定點)擺放在X =(150 + 1500)/ 2 = 825mm 左右的位置,而不宜擺放在過于靠近最小值和最大值的附近。(Y軸和Z軸計算方式同理)
在這里插入圖片描述

2、TCP標定時的點次態與工作姿態盡可能保持相近

如:實際焊接時槍頭與XY平面的夾角在[30-50]°之間,焊接的方向一般指向+X+Y、+X-Y、-X+Y、-X-Y,那么做TCP時的點位也應該與焊接時的姿態、夾角保持一致或相近。
在這里插入圖片描述
在這里插入圖片描述

二、深度相機對齊矩陣誤差

1、手動計算對齊矩陣

市面上常見的深度相機一般有彩色點云和非彩色點云(深度點云),彩色點云和深度點云之間一般有對齊矩陣,該矩陣可通過上位機獲取,但一般都不夠精準。盡量自己計算。

方法: 同一位置下,分別進行彩色點云和深度點云拍照,然后將兩點云進行配準(配準算法可使用Open3D或PCL可提供的接口),最終的配準矩陣,即我們需要的對齊矩陣。然后重復拍照N次(每組照片盡量拍攝不同物體),計算對齊矩陣的平均值(N越大,對齊矩陣精度越高)。

三、手眼標定拍照姿態

1、TCP標定姿態優先

手眼標定時,處于拍照姿態時此時的工具的姿態(本文指的是:工具向量與機器人坐標系下的XY平面的夾角)盡可能與做TCP標定時(工具向量與機器人坐標系下的XY平面的夾角)的姿態保持一致(或相近),如果在該姿態下相機無法拍到棋盤格,則可將棋盤格傾斜放置。傾斜角度慢慢調整,直到工具姿態接近TCP姿態且相機可以拍到棋盤格為最佳。
局限性: 如果相機精度不是很高,得通過增加拍照次數的方式減少手眼誤差,則該方案可能有局限性,因為棋盤格斜立擺放拍照姿態會受到限制,一般只能讓相機朝XY平面方向上的一個固定范圍方向,不能繞Z軸拍照360°,所以最終的手眼矩陣不具有可靠的全方位都可用的最佳效果!

2、水平放置棋盤格優先

水平放置棋盤格方法,該方法可顯著增加拍照次數:拍照姿態一般讓相機Z軸與棋盤格平面法向量夾角處于0°-25°范圍(夾角過大亦會影響手眼矩陣精度),讓相機調整至可拍到整個棋盤格的位置,然后繞Z軸360°都拍下,精度差的相機拍照次數最好在大幾十次甚至100次以上,而精度高的工業相機配合精度高的機器人手眼拍照次數可控制在10次以下。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214070.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214070.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214070.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Get職場新知識:做分析,用大數據分析工具

為什么企業每天累積那么多的數據,也做數據分析,但最后決策還是靠經驗?很大程度上是因為這些數據都被以不同的指標和存儲方式放在各自的系統中,這就導致了數據的分析口徑和標準不一致,無法在同一個分析軟件上做綜合分析…

Rsync+Sersync

服務器相關參數 源服務器 192.168.17.101 目標服務器(同步到的服務器) 192.168.17.103 ##目標服務器配置 ###1、配置rsync服務 1、安裝rsync yum -y install rsync 2、配置rsync vim /etc/rsyncd.conf 配置文件內容 uid root gid root use c…

Module build failed : Error : Vue packages version mismatch:

Vue packages version mismatch: - vue2.7.15 (E:\Workspace_ce\erp\erp-web\node_modules\vue\dist\vue.runtime.common.js) - vue-template-compiler2.6.11 (E:\Workspace_ce\erp\erp-web\node_modules\vue-template-compiler\package.json) 【問題解決了,我很不…

bootstrap:選項卡功能DEMO

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>選項卡</title> <link rel"stylesheet" type"text/css" href"/cdn.bootcss.com/bootstrap/3.3.2/css/bootstrap.min.css" />…

記一次測試環境git翻車經歷

本來想拉一個功能分支進行新的功能開發&#xff0c;合并代碼發現沒有沖突居然有文件被修改了&#xff0c;貿然選擇最近的一次回滾提交&#xff0c;沒想到不假思索的push -f 導致一部分dev主干的代碼不見了。 事故記錄 開發分支origin/dev&#xff0c;功能分支file 合并之后發…

Java 實現 文檔 添加 水印 工具類

一、pom 文件引用 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>…

MeterSphere實戰(一)

MeterSphere是一位朋友講到的測試平臺&#xff0c;說這東西是開源的&#xff0c;因為我是做測試的&#xff0c;很樂意了解一些新鮮事物。在我看來&#xff0c;測試就是要專注一些領域&#xff0c;然后要啥都會一點點&#xff0c;接著融會貫通起來&#xff0c;這樣就可以萬變不離…

C語言--不使用庫函數,把一個數字轉為字符串【詳細解釋】

一.題目描述 輸入一個數字&#xff0c;把他轉為字符串 比如&#xff1a;輸入數字&#xff1a;12345 輸出&#xff1a;12345&#xff08;這里的12345是字符串12345&#xff09; 二.思路分析 比如給定一個數字12345&#xff0c;先把它轉為字符54321&#xff08;“54321”&#…

線程互斥與同步

用戶級線程 內核的LWP Linux線程 OS概念中經常說的 用戶級線程 和 內核級線程 也就是線程實現真的是在OS內部實現&#xff0c;還是應用層或用戶層實現 很明顯Linux是屬于用戶級線程 用戶級執行流&#xff08;用戶級線程&#xff09; &#xff1a;內核lwp 1 : 1 也有1&…

驍龍8 Gen 3 vs A17 Pro

驍龍8 Gen 3 vs A17 Pro——誰會更勝一籌&#xff1f; Geekbench、AnTuTu 和 3DMark 等基準測試在智能手機領域發揮著至關重要的作用。它們為制造商和手機愛好者提供了設備性能的客觀衡量標準。這些測試有助于評估難以測量的無形方面。然而&#xff0c;值得注意的是&#xff0c…

騷操作:NanoDrop測蛋白濃度

?大家好&#xff0c;最近實驗室的BCA儀器壞了&#xff0c;偶然發現nanodrop也可以測蛋白濃度&#xff0c;省不少時間&#xff01;本方法原理是&#xff1a;紫外吸收 友情提示&#xff1a;由于表格的存在&#xff0c;用電腦看本推文&#xff0c;效果更好 紫外吸收法 較為靈…

31條PCB設計布線技巧:

大家在做PCB設計時&#xff0c;都會發現布線這個環節必不可少&#xff0c;而且布線的合理性&#xff0c;也決定了PCB的美觀度和其生產成本的高低&#xff0c;同時還能體現出電路性能和散熱性能的好壞&#xff0c;以及是否可以讓器件的性能達到最優等。 本篇內容&#xff0c;將…

分布式鎖實現方案 - Lock4j 使用

一、Lock4j 分布式鎖工具 你是不是在使用分布式鎖的時候&#xff0c;還在自己用 AOP 封裝框架&#xff1f;那么 Lock4j 你可以考慮一下。 Lock4j 是一個分布式鎖組件&#xff0c;其提供了多種不同的支持以滿足不同性能和環境的需求。 立志打造一個簡單但富有內涵的分布式鎖組…

Redis分布式緩存超詳細總結!

文章目錄 前言一、Redis持久化解決數據丟失問題1.RDB&#xff08;Redis Database Backup file&#xff09;持久化&#xff08;1&#xff09;執行RDB&#xff08;2&#xff09;RDB方式bgsave的基本流程&#xff08;3&#xff09;RDB會在什么時候執行&#xff1f;save 60 1000代表…

VBA信息獲取與處理:在EXCEL中隨機函數的利用

《VBA信息獲取與處理》教程(版權10178984)是我推出第六套教程&#xff0c;目前已經是第一版修訂了。這套教程定位于最高級&#xff0c;是學完初級&#xff0c;中級后的教程。這部教程給大家講解的內容有&#xff1a;跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互…

RabbitMQ學習

一、RabbitMQ 采用 AMQP 高級消息隊列協議的一種消息隊列技術,最大的特點就是消費并不需要確保提供方存在,實現了服務之間的高度解耦 1、在分布式系統下具備異步,削峰,負載均衡等一系列高級功能; 2、擁有持久化的機制&#xff0c;進程消息&#xff0c;隊列中的信息也可以保存下…

計算機網絡(三) | 數據鏈路層 PPP協議、廣播CSMA/CD協議、集線器、交換器、擴展and高速以太網

文章目錄 1 數據鏈路基本概念和問題1.1 基本概念1.2 基本問題&#xff08;1&#xff09;封裝成幀&#xff08;2&#xff09;透明傳輸&#xff08;3&#xff09;差錯控制 2.數據鏈路層協議2.1 點對點 PPP協議2.1.1 需要實現的2.1.2 PPP組成2.1.3 幀格式2.1.4 工作流程 2.2 廣播 …

內網穿透的應用-如何結合Cpolar內網穿透工具實現在IDEA中遠程訪問家里或者公司的數據庫

文章目錄 1. 本地連接測試2. Windows安裝Cpolar3. 配置Mysql公網地址4. IDEA遠程連接Mysql小結 5. 固定連接公網地址6. 固定地址連接測試 IDEA作為Java開發最主力的工具&#xff0c;在開發過程中需要經常用到數據庫&#xff0c;如Mysql數據庫&#xff0c;但是在IDEA中只能連接本…

配置BFD多跳檢測示例

BFD簡介 定義 雙向轉發檢測BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一種全網統一的檢測機制&#xff0c;用于快速檢測、監控網絡中鏈路或者IP路由的轉發連通狀況。 目的 為了減小設備故障對業務的影響&#xff0c;提高網絡的可靠性&#xff0c;網…

“==”和“equals”的區別

“”和“equals”的區別 Java中“”和“equals”的區別在于&#xff0c;它們比較的內容不同。""比較的是對象的引用是否相等&#xff0c;而equals比較的是對象的值是否相等。 具體來說&#xff0c;以下是兩個操作符之間的區別&#xff1a; “”比較的是對象的引用&…