色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

工業現場相機坐標系和機械手坐標系的標定

新機器視覺 ? 來源:CSDN ? 2023-11-12 09:42 ? 次閱讀

工業現場使用視覺時一般需要相機坐標系和機械手臂坐標系的轉化,這里介紹一種比較簡單的標定方案。沒有使用到標定板。經過幾個項目的測試,精度還算可以,如果要求高精度的場合,就用標定板標定吧!【可以購買專用的標定板,或者自己制作(像我這種窮逼),哈哈

7b8b5cd0-8097-11ee-939d-92fbcf53809c.png

如上圖所示:OXY為機械手坐標系,O'X'Y'為相機坐標系。theta為兩個坐標系之間的夾角。假設P點在圖像上的位置如圖,則P在機械手坐標系有一個坐標,在圖像坐標系也有一個坐標。我們要做的工作就是圖像上的任意一點都可以轉化為機械手坐標系上的坐標點:P(Machine) = f(P(Image))。接下來介紹如何找到這個關系。

OXY為機械手坐標系 O'X'Y'為相機坐標系從上圖可以看出坐標轉化關系:

x= x' * r * cos(theta) - y' * r * sin(theta) + x0;

y = x' * r * sin(theta) + y' * r * cos(theta) + y0;

其中r是毫米像素比、(mm/pixel)就是一個毫米有幾個像素,theta為兩個坐標系之間的夾角,(x0,y0)為圖像坐標原點到機械坐標原點的距離。

簡化抽象公式,假設:

a = r * cos(theta);

b = r * sin(theta);

c = x0;

d = y0;

得到:

x= x' * a - y' * b + c;

y = x' * b + y' * a + d;

很顯然,要解出這個方程,需要兩組對應關系,就是兩組對應的坐標點。設兩組坐標點,如下:

第一組:圖像坐標點:(xImage1,yImage1) 對應的機械坐標點:(xMachine1,yMachine1)

第二組:圖像坐標點:(xImage2,yImage2) 對應的機械坐標點:(xMachine2,yMachine2)

則可以解出a ,b, c, d。如下:

7ba2ac46-8097-11ee-939d-92fbcf53809c.jpg

所以,就得出了圖像上任意一點的像素坐標轉成機械手坐標的關系。

以下是我寫的一個求解a ,b, c, d軟件:

7bb68234-8097-11ee-939d-92fbcf53809c.png

下面舉個栗子說明一下操作吧!這是我實際項目中的機械手和相機布局情況,畫圖真T``M`累!,如下圖:

7bca3338-8097-11ee-939d-92fbcf53809c.png

首先將產品上的目標點搞到機械手的Z軸的中心,然后移動到相機視野范圍內,讓識別產品上的目標點,這時,你會讀到一組機械手坐標(也就是上面所說的(xMachine1,yMachine1)),和一組相機坐標(也就是上面所說的(xImage1,yImage1)),再在相機視野范圍內移動機械手,就可以得到第二組數據(xMachine2,yMachine2)和(xImage2,yImage2),寫入標定軟件就可以求出a, b, c, d。就求出了圖像上任意一點對應的機械坐標,然后你下次移動第二個產品到相機視野時,首先識別目標點的像素坐標,經過對應的轉換就可以得出機械坐標,然后進行相應的偏移即可實現你想要的操作!

當然,有些時候,實際現場并沒有如你所愿,現在出現一種情況就是以機械手自帶的Z軸無法移動到視野中去,這樣就無法進行上面的操作了,系不系!這也是我遇到的情況,SO,我的解決方案如下:先上示意圖:

7bdabbfe-8097-11ee-939d-92fbcf53809c.png

如圖,就是在機械手Z軸的橫桿上加上一個橫條,使得產品可以移動到視野范圍內。然后進行上面的操作,雖然現在可以將產品移動到視野范圍內了,但是你會發現此時機械手的坐標并不是產品的坐標,因為他們之間隔著一個橫條,那我們要怎么換算過來呢!

首先,我們可以這么假定的認為,他們是機械手的坐標就是產品的坐標,然后就可以用上面取兩組對應點的方法求出圖像上每個點的機械坐標了,但是,此時的機械坐標并不是真正的機械坐標,但是,我們可以利用這些坐標找出機械手U軸的旋轉中心就是Z軸(就是實際機械坐標所在的位置)在我們所建立的不是真正的機械坐標系中的坐標。是不是有點不好理解,我也不大清楚怎么描述!求U軸的旋轉中心的過程如下:上圖:

7be997a0-8097-11ee-939d-92fbcf53809c.png

如圖:將產品的目標點繞機械手的U軸的旋轉中心旋轉得到3的目標點的不是真正的機械坐標系的坐標P1,P2,P3,必須讓每次旋轉的目標點在視野范圍內,然后通過圓弧上的3點就可以求得圓心。此時的圓心坐標為不是真正的機械坐標系的坐標。然后我們就可以求出產品中心和機械手U軸旋轉中心的deltaX,deltaY,然后就可以結合真正的機械坐標系建立工件坐標系,要對機械手有些了解才比較好理解這些拗口的話!然后對于每一個新的產品都可以建立合適的工件坐標系,然后進行補正和一些操作!

相機跟隨著機械手運動(它們綁定在一起了),如果還將標定靶標也固定在機械手上的話,三個對象都相對運動,就無法標定了!那要怎么利用標定助手完成標定呢?經過思考,我給出了以下標定思路:

整個標定系統的初始狀態

相機和機械手綁定在一起并且機械手旋轉中心處于機械原點,這時候相機中心和機械手中心有一個相對的偏移并且是固定的(相機中心和機械手旋轉中心的相對距離設為(detX,detY)),將標定靶標放置在工作區域(實際機械手的工作區域)中的合適位置。

第一步:求取第一組圖像點坐標C1

移動機械手(相機會跟著移動)到相機能夠清晰拍攝到標定靶標的位置(設該位置的機械坐標為(x0,y0))。然后調整標定靶標的識別參數,使得能夠實時的識別標定靶標的中心位置,手動移動靶標最好讓它遠離圖像中心,越遠越好(精度越高)但是不能超出相機的視野范圍,我就把靶標放在相機視野的左上角的區域吧,然后我們識別當前靶標的圖像位置C1,就是第一組數據的圖像點。

第二步:求取第一組機械點坐標M1

進入“標定”選項卡,勾選“顯示十字標”,這時候會在實時圖像中間顯示一個藍色的十字光標,然后,慢速移動機械手,直到C1點和十字光標的交點重合(也就是說移動機械手讓實時識別到的靶標中心坐標處于圖像的中心,比如采集的圖像為2048*1536大小的,你需要緩慢移動機械手(靶標保持不動)直到靶標的中心處于(1024,768)的這個位置),然后記下當前的機械手坐標也就是第一組數據的機械點M1(注意:此時實際是讓相機中心和靶標中心重合,并非機械手旋轉中心和靶標中心重合,它們之間差了一個detX,detY的距離,具體怎么換算,等下再說)。

第三步:求取第二組圖像點坐標C2

將機械手移動回到初始的工作坐標點(x0,y0),將靶標放在相機視野的右下角的區域,識別當前的靶標圖像坐標C2,就是第二組數據的圖像點。

第四步:求取第二組機械點坐標M2

同理,慢速移動機械手,直到C2點和十字光標的交點重合(就是移動機械手讓實時識別到的靶標中心坐標處于圖像的中心),然后記下當前的機械手坐標也就是第二組數據的機械點M2。

第五步:求取整個機械手工作區域坐標系和相機坐標系的對應關系

不知道你有沒有發現,上面求得工作區域只對工作區域(x0,y0)開始到相機視野結束的位置有效(比如你在機械手移動到工作區域(x0,y0)為起點的位置識別靶標的圖像位置坐標為(100,100),但是你將機械手移動到工作區域(x1,y1)為起點的位置識別靶標的圖像位置坐標也可能為(100,100))。這樣換算過來的機械坐標就是錯誤的,其實我們上面求得是小區域的轉換關系,那我們要怎么擴展到整個機械手的工作區域呢?我們只需要這樣做:在機械手工作的時候是可以知道自己在哪里的,比如:現在機械手移動到工作區域(x1,y1)為起點的位置識別靶標的圖像位置坐標為(100,100),我們將(100,100)代入轉換關系trans得出來的機械坐標是對應(x0,y0)的,要轉換到對應(x1,y1)的只需要將換算處理的坐標加上(x1 - x0,y1 - y0)即可!抽象的公式如下:

7bfbe05e-8097-11ee-939d-92fbcf53809c.jpg

其中trans函數就是將圖像坐標轉換為相對于(x0,y0)工作區域的機械坐標,再加上坐標(x1 - x0,y1 - y0)就是當前正確的機械坐標。到此,我們得到了圖像坐標和整個機械手工作區域的坐標的關系,但是此時的機械坐標指的是相機的中心,并不是機械手的旋轉中心。

第六步:將相機中心轉換為機械手的旋轉中心

首先,你可以利用目測法,游標卡尺法等等粗略的算出detX,detY的值,然后,進行實時識別和移動測試進行細調,因為粗略的估算有誤差,你可以經過多次微調直到精確到機械手的旋轉中心移動到產品的上方就成功了。記下此時的detX,detY,代入以下公式就可以算出了最終的機械手應該去的地方了。最終的換算公式如下:

7c0ecd0e-8097-11ee-939d-92fbcf53809c.jpg

整個過程的偽代碼運算過程如下:

7c226dc8-8097-11ee-939d-92fbcf53809c.jpg

利用標定助手求取[a,b,c,d]外參矩陣的輸入參數[C1,M1]和[C2,M2]的操作方法如下圖所示:

7c35f898-8097-11ee-939d-92fbcf53809c.jpg

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

    關注

    2

    文章

    1087

    瀏覽量

    40500
  • 像素
    +關注

    關注

    1

    文章

    205

    瀏覽量

    18606
  • 坐標
    +關注

    關注

    1

    文章

    17

    瀏覽量

    21401
  • 機械手
    +關注

    關注

    7

    文章

    336

    瀏覽量

    29680

原文標題:工業現場相機坐標系和機械手坐標系的標定

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    abb機器人工具坐標系問題

    各位大佬請教一下,abb機器人工具坐標系用四點法,六點法,手動輸入等方式標定出的工具坐標系的Z方向與實際工具的長度不符,實際工具長度越長坐標系z方向的差距越大。比如實際工具400mm
    發表于 08-07 11:11

    MATLAB建立和控制圖形窗口和坐標系命令

    Subplot 在標定位置上建立坐標系 Axes 在任意位置上建立坐標系 Gca 獲取當前坐標系的句柄 Cla 清除當前坐標系 Axis 控
    發表于 09-22 16:00

    坐標系轉換與手眼標定

    首先坐標系轉換的變換矩陣(沒有坐標系矩陣變換的概念可先百度)如圖:
    發表于 06-20 18:34

    什么是坐標系

    什么是坐標系          &nb
    發表于 12-31 14:16 ?4682次閱讀

    坐標系與魚雷運動參數

    坐標系與魚雷運動參數 一、常采用的幾種坐標系 在魚雷航行動力學的研究過程中,根據不同的研究目的,須要采用不同的坐標系。常采用
    發表于 01-06 16:47 ?5047次閱讀
    <b class='flag-5'>坐標系</b>與魚雷運動參數

    機器人基坐標系標定方法研究

    針對借助激光跟蹤儀標定機器人所涉及的坐標系統一問題,對基于空間幾何法擬合建立的基坐標系與機器人理論基坐標系的轉換關系進行了研究,提出了一種基于對偶四元數法的機器人基
    發表于 03-07 10:43 ?2次下載

    OPENGL坐標系介紹 世界坐標系和當前繪圖坐標系區別

    世界坐標系:在OpenGL中,世界坐標系是以屏幕中心為原點(0, 0, 0),且是始終不變的。你面對屏幕,你的右邊是x正軸,上面是y正軸,屏幕指向你的為z正軸。長度單位這樣來定:窗口范圍按此單位恰好是(-1,-1)到(1,1),即屏幕左下角
    發表于 05-04 09:00 ?1.3w次閱讀
    OPENGL<b class='flag-5'>坐標系</b>介紹 世界<b class='flag-5'>坐標系</b>和當前繪圖<b class='flag-5'>坐標系</b>區別

    帶你來剖析機器人的坐標系吧!

    大地坐標系:大地坐標系是以大地作為參考的直角坐標系。在多個機器人聯動的和帶有外軸的機器人會用到,90%的大地坐標系與基坐標系是重合的。但是在
    的頭像 發表于 05-09 15:49 ?4811次閱讀

    介紹一種比較簡單的工業現場相機坐標系機械手坐標系標定方案

    就是在機械手Z軸的橫桿上加上一個橫條,使得產品可以移動到視野范圍內。然后進行上面的操作,雖然現在可以將產品移動到視野范圍內了,但是你會發現此時機械手坐標并不是產品的坐標,因為他們之間
    的頭像 發表于 09-05 11:09 ?1757次閱讀

    相機標定之四個坐標系之間的變換關系

    世界坐標系,相機坐標系,圖像物理坐標系,像素坐標系之間的關系。
    的頭像 發表于 03-08 16:44 ?3382次閱讀

    自動駕駛各個坐標系

    ENU局部坐標系采用三維直角坐標系來描述地球表面,實際應用較為困難,因此一般使用簡化后的二維投影坐標系來描 述。 UTM:在眾多二維投影坐標系中,統一橫軸墨卡托(The Unive
    發表于 06-01 15:59 ?0次下載
    自動駕駛各個<b class='flag-5'>坐標系</b>

    坐標如何建立坐標系

    我們在檢測工件時,需要正確的裝夾檢測工件,使工件有足夠的檢驗空間和恒溫時間,坐標系的建立就是為后續的測量奠定基礎,建立錯誤的坐標系直接導致測量尺寸的誤差建立正確的參考方向即坐標系是十分重要的。
    的頭像 發表于 02-17 10:24 ?9424次閱讀
    三<b class='flag-5'>坐標</b>如何建立<b class='flag-5'>坐標系</b>?

    世界坐標系、相機坐標系、圖像坐標系、像素坐標系之間的關系

    相機的成像過程涉及到四個坐標系:世界坐標系、相機坐標系、圖像坐標系、像素
    的頭像 發表于 07-03 10:30 ?1.1w次閱讀
    世界<b class='flag-5'>坐標系</b>、<b class='flag-5'>相機</b><b class='flag-5'>坐標系</b>、圖像<b class='flag-5'>坐標系</b>、像素<b class='flag-5'>坐標系</b>之間的關系

    深度剖析機器人的四大坐標系

    大地坐標系:大地坐標系是以大地作為參考的直角坐標系。在多個機器人聯動的和帶有外軸的機器人會用到,90%的大地坐標系與基坐標系是重合的。但是在
    發表于 11-13 11:24 ?1758次閱讀
    深度剖析機器人的四大<b class='flag-5'>坐標系</b>

    應用衛星通信領域的一個坐標轉換過程—機體坐標系與ENU坐標系的轉換

    今天我們要講的是應用于衛星通信領域的一個坐標轉換過程——機體坐標系與ENU坐標系的轉換。
    的頭像 發表于 12-27 09:30 ?4516次閱讀
    應用衛星通信領域的一個<b class='flag-5'>坐標</b>轉換過程—機體<b class='flag-5'>坐標系</b>與ENU<b class='flag-5'>坐標系</b>的轉換
    主站蜘蛛池模板: 日本一本二本三区免费免费高清| 亚洲国产欧美另类| 中文字幕午夜乱理片| 老师紧窄粉嫩| bl高h文合集| 五花大绑esebdsm国产| 好大好硬好湿再深一点网站| 在线 日韩 欧美 国产 社区| 前后灌满白浆护士| 国模大胆一区二区三区| 最近的中文字幕免费完整| 青青涩射射| 狠狠爱亚洲五月婷婷av| 99re.05久久热最新地址| 无码AV熟妇素人内射V在线| 巨胸美女狂喷奶水www网麻豆| 高清bblxx手机在线观看| 欲香欲色天天影视大全| 日本色呦呦| 久久无码av三级| 国产精品久久久久久无码专区| 最新中文字幕在线视频| 午夜爽喷水无码成人18禁三级| 蜜芽tv在线观看免费网站| 国产乱码二卡3卡四卡| 99视频久九热精品| 亚洲精品人成电影网| 日本在线高清不卡免费播放| 久久re热在线视频精69| 国产白色视频在线观看w| 4388成人| 午夜免费小视频| 欧美激情精品久久久久久不卡| 国产亚洲精品久久久久久入口| qvod快播在线观看| 御姐被吸奶| 亚洲国产成人精品无码区5566| 日本无修肉动漫在线观看| 毛片999| 国产真实乱对白精彩| 国产 亚洲 日韩 欧美 在线观看|