haclon固定相機位標定

  1. 什么是標定?
    工業應用中相機拍到一個mark點的坐標為C1(Cx,Cy),C1點對應的龍門架/機械手等執行端對應的坐標是多少?
    標定就是解決這個問題,如相機拍到一個點坐標C1(Cx,Cy),通過標定公式的計算得到點R1(Rx,Ry),R1就是龍門架/機械手坐標系的真實點位
    C1與R1之間存在一種固定的關系,求解這個關系的過程叫做標定
  2. 為什么是9點標定?
    C1與R1之間的關系只有四種平移、縮放、旋轉、錯切
    矩陣中有對四種關系的公式如下:
    平移矩陣公式 image.png
    縮放矩陣公式 image.png
    旋轉矩陣公式 image.png
    錯切矩陣公式image.png
    上面四種矩陣相乘合成一個矩陣就是仿射變換矩陣 image.png
    最后一個矩陣是根據前4個矩陣相乘得到,故為得到最終的放射變換矩陣,需要知道 Tx,Ty,Sx,Sy,θ,Theta這6個參數。為得到6個參數至少需要6個不同等式,而每個點位包涵(x,y)坐標,所以每個點位可以產生2個不同等式。
    故此我們得出結論最少3個點我們就可以推到出最終的放射變換矩陣。
    那為什么是9點標定呢?答案是為了提高精度,通過9個點我們可以有N種組合算出結果,基于這些結果我們求類似于平均值的東西提高精度
    那為什么不是10個,11個或更多點呢?答案是9個點的計算已經基本滿足大家對精度的要求了,如π=3.1415926已經滿足計算精度了,就沒必要再把π計算到小數點后100位了
  3. 怎么實現9點標定呢?
    拿到9個相機點位[C1,C2…C9],同時拿到這9個點對應的機械手或龍門架真實坐標[R1,R2…R9]
    把上面數據套入halcon的vector_to_hom_mat2d算子,就可以得到放射變換矩陣了
*像素坐標
Row1:=[1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6]
Column1:=[1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3]*機械坐標
Row2:=[50,51.999,54.999,56.999,59.999,62.996,-4.999,-3,0,1.999,4.999,7.995,-59.998,-57.001,-55.001,-52.001,-49.003,-45.005]
Column2:=[-93.3,-47.299,0.002,45.499,91.498,135.493,-92.301,-44.3,0,46.999,91.497,135.494,-90.297,-44.297,1.003,46.999,91.497,134.494]*求解放射變換矩陣
vector_to_hom_mat2d (Row1, Column1, Row2, Column2, HomMat2D)*保存變換矩陣到HomMat2D.mat中
serialize_hom_mat2d (HomMat2D, SerializedItemHandle)
open_file ('HomMat2D.mat', 'output_binary', FileHandle) 
fwrite_serialized_item (FileHandle, SerializedItemHandle) 
close_file (FileHandle)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  1. 傳統的9點標定工具怎么做?
    求解9點工具的難點在于怎么得到相機拍照點C1對應的真實坐標R1?
    傳統的作法是在機械手或龍門架的執行端下掛一個針尖。讓龍門架/機械手到達標定板的點位1使針尖與點位1中心重合,記錄真實位置,同時通過拍照得出點位1的相機坐標
  2. 還有沒有更方便的9點標定工具?其原理是什么?
    有,其核心原理是取消針尖,通過旋轉180度方式求解出相機坐標點C1
    精度更高的方式:可以旋轉任意角度得到5個點,擬合橢圓,然后根據橢圓的圓度判斷這個點是否ok
    如機械手在物理點位R1(Rx,Ry)拍照的到此mark點對應的相機坐標C1(Cx1,Cy1),然后讓機械手旋轉180度再次拍照的到mark點對應相機坐標C2(Cx2,Cy2)。那么物理點R1(Rx,Ry)對應的相機的點位未C1,C2的中心點。 因為物料點圍繞自己旋轉真實點位并未發生變化。
    通過這種方法就可以實現自動化的9點標定工具
    另外評估一個標定結果的精度,可以通過放一塊標定板,用不同的位置來拍照定位他;理論上理論上標定板沒有動,得到的位置點的誤差只有標定誤差

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

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

相關文章

# 代碼寫作風格:優雅編程的藝術

在編程的世界里,代碼不僅僅是實現功能的工具,更是一種表達思想和藝術的方式。良好的代碼寫作風格不僅能夠提高代碼的可讀性和可維護性,還能讓其他開發者更容易理解和協作。本文將探討代碼寫作風格的重要性以及如何培養優雅的編程風格。 ## 一…

【通俗講解電子電路】——從零開始理解生活中的電路(二)

電路分析:看懂簡單的“電路圖” ——從“路線圖”到“工具箱”,掌握電路的底層邏輯 1. 歐姆定律:電的“交通規則” 公式解析:V I R 電壓(V):推動電流的動力(如電池電壓&#xff…

Linux 第三次腳本作業

源碼編譯安裝httpd 2.4,提供系統服務管理腳本并測試(建議兩種方法實現) 一、第一種方法 1、把 httpd-2.4.63.tar.gz 這個安裝包上傳到你的試驗機上 2、 安裝編譯工具 (俺之前已經裝好了) 3、解壓httpd包 4、解壓后的httpd包的文…

IDEA-插件開發踩坑記錄-第六坑-UAST依賴問題

背景 簡要說明: UAST – Unified Abstract Syntax Tree UAST (Unified Abstract Syntax Tree) is an abstraction layer on the PSI of different programming languages targeting the JVM (Java Virtual Machine). It provides a unified API for working with co…

小米火龍CPU和其他幾代溫度太高的CPU是由誰代工的

小米火龍CPU”并非小米自研芯片,而是指搭載在小米手機上的部分高通驍龍處理器因發熱問題被調侃為“火龍”。以下是幾款被稱為“火龍”的高通CPU及其代工情況: 驍龍810 驍龍810是高通歷史上最著名的“火龍”之一,采用臺積電20nm工藝代工。由于…

CSS3 圓角:實現與優化指南

CSS3 圓角:實現與優化指南 隨著網頁設計的發展,CSS3 圓角已經成為了現代網頁設計中不可或缺的元素之一。本文將詳細講解 CSS3 圓角的基本用法、實現方式以及優化技巧,幫助您在網頁設計中更好地運用這一功能。 一、CSS3 圓角基本用法 1.1 基…

windows服務器更新jar包腳本

【需求】Java每次發布新的版本都需要先kill掉原來的服務,然后再啟動新的包 有了這個腳本只需要把包替換掉,服務會自動kill 以6001 為例 完整的腳本如下 echo off REM 檢查端口 6001 是否被占用 netstat -ano | findstr :6001 > nul IF %ERRORLE…

視頻推拉流EasyDSS點播平臺云端錄像播放異常問題的排查與解決

EasyDSS視頻直播點播平臺是一個功能全面的系統,提供視頻轉碼、點播、直播、視頻推拉流以及H.265視頻播放等一站式服務。該平臺與RTMP高清攝像頭配合使用,能夠接收無人機設備的實時視頻流,實現無人機視頻推流直播和巡檢等多種應用。 最近&…

SpringBoot新聞推薦系統設計與實現

隨著信息時代的快速發展,新聞推薦系統成為用戶獲取個性化內容的重要工具。本文將介紹一個幽絡源的基于SpringBoot開發的新聞推薦系統,該系統功能全面,操作簡便,能夠滿足管理員和用戶的多種需求。 管理員模塊 管理員模塊為系統管…

【系統穩定性】1.11 QVM穩定性問題分析(一)

目錄 寫在前面 一,qvm進程異常 1.1 進程崩潰(Coredump) 1.2 進程卡死 1.3 進程重啟 二,qvm進程異常分析過程 寫在前面 在QVM(Quantum Virtual Machine)作為HOST QNX的Guest,同樣會遇到重啟、Watchdog(看門狗)等穩定性問題。 這里我們把qvm的異常歸類為兩類問題…

一次現網問題定位-線程池設置不當,導致流量上去后接口變慢

背景 公司大促活動流量上升,突然一線用戶反饋發消息特別慢,運維已經初步通過監控發現B服務接口大量超時,調用鏈如下圖。 發消息接口以前只經過A服務,后面為了防止客服罵人(我們是客服系統),接…

【JavaWeb13】了解ES6的核心特性,對于提高JavaScript編程效率有哪些潛在影響?

文章目錄 🌍一. ES6 新特性??1. ES6 基本介紹??2. 基本使用2.1 let 聲明變量2.2 const 聲明常量/只讀變量2.3 解構賦值2.4 模板字符串2.5 對象拓展運算符2.6 箭頭函數 🌍二. Promise??1. 基本使用??2. 如何解決回調地獄問題2.1回調地獄問題2.2 使…

《幾何原本》命題I.2

《幾何原本》命題I.2 從一個給定的點可以引一條線段等于已知的線段。 設 A A A 為給定點, B C BC BC 為給定線段 連接 A B AB AB,作等邊 △ A B D \triangle ABD △ABD 以 B B B 為圓心, B C BC BC 為半徑作小圓 延長 D B DB DB 交小圓…

java數據結構_Map和Set_9.1

1. 搜索樹 1.1 概念 二叉搜索樹又稱二叉排序樹,它或者是一棵空樹,或者是具有以下性質的二叉樹: 若它的左子樹不為空,則左子樹上所有的結點都小于根結點的值若它的右子樹不為空,則右子樹上所有的結點都大于根結點的值…

Rust Async 并發編程:處理任意數量的 Future 與 Stream

1. Streams:異步數據流 1.1 Streams 與 Iterator 的異同 Rust 的 Iterator 是同步的,通過 next() 方法逐個獲取數據。而 Stream 是 async 版本的 Iterator,它使用 next().await 來獲取數據項。 示例:將 Iterator 轉換為 Stream…

藍橋杯 路徑之謎

路徑之謎 題目描述 小明冒充 XX 星球的騎士,進入了一個奇怪的城堡。 城堡里邊什么都沒有,只有方形石頭鋪成的地面。 假設城堡地面是 nnnn 個方格。如下圖所示。 按習俗,騎士要從西北角走到東南角。可以橫向或縱向移動,但不能斜著走…

3-5 WPS JS宏 工作表的移動與復制學習筆記

************************************************************************************************************** 點擊進入 -我要自學網-國內領先的專業視頻教程學習網站 *******************************************************************************************…

聊聊Java的SPI機制

個人自建博客地址 什么是SPI呢? SPI全稱Service Provider Interface,翻譯過來就是服務提供者接口。調用方提供接口聲明,服務提供方對接口進行實現,提供服務的一種機制,服務提供方往往是第三方或者是外部擴展。 下面…

langchain4j+local-ai小試牛刀

序 本文主要研究一下如何本地運行local-ai并通過langchain4j集成調用。 步驟 curl安裝 curl https://localai.io/install.sh | sh% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 21509 …

什么是“零日漏洞”(Zero-Day Vulnerability)?為何這類攻擊被視為高風險威脅?

正文 零日漏洞(Zero-Day Vulnerability) 是指軟件、硬件或系統中存在的、尚未被開發者發現或修復的安全漏洞。攻擊者在開發者意識到漏洞存在之前(即“零日”內)利用該漏洞發起攻擊,因此得名。這類漏洞的“零日”特性使…