<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          機器人與視覺標(biāo)定理論詳解

          共 4716字,需瀏覽 10分鐘

           ·

          2020-12-12 15:57

          點擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達

          轉(zhuǎn)自|代碼狗

          相機固定不動, 上往下看引導(dǎo)機器人移動

          機器人與視覺標(biāo)定理論詳解

          相機固定不動, 上往下看引導(dǎo)機器人移動

          1.相機非線性校正

          使用標(biāo)定板做非線性校正

          2.相機與機器人做9點標(biāo)定

          可以使用機器人扎9個點,或者機器人抓住工件擺放9個位置,得到9個機械坐標(biāo),相機也得到9個像素坐標(biāo),然后標(biāo)定

          3.計算機器人的旋轉(zhuǎn)中心

          機器人抓取工件分別旋轉(zhuǎn)三個角度擺放到相機視野內(nèi),相機可以得到三個坐標(biāo)值,通過三個坐標(biāo)值擬合圓獲得圓心坐標(biāo)即為旋轉(zhuǎn)中心

          4.相機通過公式計算得出最終的輸出結(jié)果

          (rx0, ry0)為旋轉(zhuǎn)中心,( x, y)為被旋轉(zhuǎn)的點,(x0,y0)旋轉(zhuǎn)后的點

          x0= cos (a) * (x-rx0) – sin (a) * (y-ry0) +rx0

          y0= cos (a) * (y-ry0) + sin (a) * (x-rx0) +ry0

          相機固定不動, 下往上看

          1.相機非線性校正

          使用機器人吸起標(biāo)定板做非線性校正

          2.相機與機器人做9點標(biāo)定

          可以使用實物標(biāo)定,機器人抓住工件擺放9個位置,得到9個機械坐標(biāo),相機也得到9個像素坐標(biāo),然后標(biāo)定。

          參考上面的上往下看。

          相機固定在機器人上,離旋轉(zhuǎn)中心較近

          1、相機非線性矯正

          2、相機與機器人做9點標(biāo)定

          可以使用實物標(biāo)定,機器人抓住工件擺放9個位置,得到9個機械坐標(biāo),相機也得到9個像素坐標(biāo),(機器人每次需要回到固定位置拍照),然后標(biāo)定

          3、計算機器人的旋轉(zhuǎn)中心

          機器人抓取工件分別旋轉(zhuǎn)三個角度擺放到相機視野內(nèi),相機可以得到三個坐標(biāo)值,通過三個坐標(biāo)值擬合圓獲得圓心坐標(biāo)即為旋轉(zhuǎn)中心

          4、相機通過公式計算得出最終輸出結(jié)果


          相機固定在機器人上,離旋轉(zhuǎn)中心很遠

          1、相機非線性矯正

          2、相機與機器人做9點標(biāo)定

          3、計算機器人的旋轉(zhuǎn)中心

          4、相機通過公式計算得出最終輸出結(jié)果

          注:由于選擇中心距離視野很遠,通常擬合出來的旋轉(zhuǎn)中心存在比較大的誤差,給定位精度造成影響。

          分離軸

          分離軸的設(shè)計方式有很多,XY + θ, X+Y θ, X θ+Y….,具體狀況具體分析,目的是要找到旋轉(zhuǎn)中心,做好9點標(biāo)定。

          1.相機非線性校正

          2.相機與機器人做9點標(biāo)定

          3.計算機器人的旋轉(zhuǎn)中心

          4.相機通過公式計算得出最終的輸出結(jié)果

          旋轉(zhuǎn)中心標(biāo)定說明


          旋轉(zhuǎn)中心方法用于所有機器人與視覺配合場景

          方法:計算工件實際發(fā)生的偏移量和旋轉(zhuǎn)量,結(jié)合機器人的旋轉(zhuǎn)中心進行二次補償后,把補償量

          發(fā)送給機器人,然后機器人把補償量補償后進行抓取或放置即可;

          點坐標(biāo)旋轉(zhuǎn)方法

          計算某個點繞另外一點旋轉(zhuǎn)一定角度后的坐標(biāo),如圖:

          機器人與視覺標(biāo)定理論詳解

          A(x,y)繞B(rx0,ry0)旋轉(zhuǎn)a度后的位置為C(x0,y0),則有如下關(guān)系式:

          x0= cos (a) * (x-rx0) – sin (a) * (y-ry0) +rx0

          y0= cos (a) * (y-ry0) + sin (a) * (x-rx0) +ry0

          下面計算所有的旋轉(zhuǎn)和偏移量均是基于上面的公式

          旋轉(zhuǎn)中心標(biāo)定說明

          STD方法的計算:

          CDx= cos (a) * (Cx0-X0) – sin (a) * (Cy0-Y0) + X1 – Cx0

          CDy= cos (a) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Y1 – Cy0

          X’= cos (a) * (X0-Cx0) – sin (a) * (Y0-Cy0) + Cx0

          Y’= cos (a) * (Y0-Cy0) – sin (a) * (X0-Cx0) + Cy0

          CDx=X1-X’

          Cdy=Y1-Y’

          這里是機器人在取料之前,先把自己的角度補正到與 物料當(dāng)前角度一致,到(X’,Y’)位置處,然后移動 CDx,Cdy,與物料位置也重合,然后去取料。這樣就保證了每次取料后,物料相對于機器人的位置 一致,因此直接往目標(biāo)位置放就可以。這種方式由于是取物料的時候調(diào)整位置,因此適用于 相機固定在機械手上、相機固定安裝從上往下看的方式。如果相機固定安裝從下往上看,由于機器人這時候已經(jīng)取完料了,就不適合使用了。

          特別注意

          這里計算到的Cdx和Cdy一定要補償?shù)綑C器人的取料位置里,不能補償?shù)?放料位置。旋轉(zhuǎn)中心方法計算到的偏差可以直接補償?shù)椒帕衔恢?。原因如下?/p>

          旋轉(zhuǎn)中心法的計算:

          (X,Y)是定位到的產(chǎn)品位置,(GX,GY)是標(biāo)準(zhǔn)模板位置,(X’,Y’)是補償了角度后的新位置,則:

          X’ = cos θ * (X-Xo) – sin θ *(Y-Yo) + Xo;

          Y’ = cos θ* (Y-Yo) + sin θ* (X-Xo) + Yo;

          Offset X=X’-GX

          Offset Y=Y’-GY

          Offset Theta= θ

          求旋轉(zhuǎn)中心方法

          當(dāng)相機FOV與旋轉(zhuǎn)中心很近,可以用旋轉(zhuǎn)3點以上擬合一個圓求圓心

          當(dāng)相機FOV與旋轉(zhuǎn)中心很遠,使用旋轉(zhuǎn)3或多個點求圓心,準(zhǔn)確性會很差。

          解法

          (X0,Y0)為旋轉(zhuǎn)中心, (X1,Y1)及(X2,Y2)為工件在視野中旋轉(zhuǎn)角度a的前后坐標(biāo),(Xt,Yt)為兩點連線的延長。

          d = √(X2-X1)^2 + (Y2-Y1)^2

          角度a

          R = d/2/sin(a/2)

          R/d = (Xt-X1)/(X2-X1)

          R/d = (Yt-Y1)/(Y2-Y1)

          Xt = (1-R/d)*X1 + (R/d)*X2

          Yt = (1-R/d)*Y1 + (R/d)*Y2

          X0= cos (90-a/2) * (Xt-X1) – sin (90-a/2) * (Yt-Y1) +X1

          Y0= cos (90-a/2) * (Yt-Y1) + sin (90-a/2) * (Xt-X1) +Y1

          角度:X+ ? Y+ 為正,反之為負

          旋轉(zhuǎn)中心標(biāo)定計算補償

          CDx Cdy計算過程,旋轉(zhuǎn)角度a

          機器人與視覺標(biāo)定理論詳解

          CDx= cos (a) * (Cx0-X0) – sin (a) * (Cy0-Y0) + X1 – Cx0

          = (cos (a) -1) * (Cx0-X0) – sin (a) * (Cy0-Y0) + MDx

          = (cos (a) -1) * StDx- sin (a) * StDy+ MDx

          CDy= cos (a) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Y1 – Cy0

          = (cos (a) -1) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Mdy

          = (cos (a) -1) * StDy + sin (a) * StDx + Mdy

          從公式中可以看出StDx = Cx0-X0,StDy = Cy0-Y0是個常量,MDx和Mdy是每次拍照是工件(Mark)的坐標(biāo)與標(biāo)準(zhǔn)位置工件(Mark)的差值;

          StDx與StDy怎么計算呢?藍色的為一個二元一次方程,我們需要旋轉(zhuǎn)一個角度即可計算出;

          如果計算出StDx和StDy則在運行時,直接帶入上述公式,可以很快計算出CDx,Cdy這樣給出Robot的偏移量了,而不需要計算旋轉(zhuǎn)中心的確切坐標(biāo)了;

          如何求解StDx和StDy

          StDx,StDy計算過程,首先Robot在拍照點旋轉(zhuǎn)一定角度a(一定是Robot給出)

          機器人與視覺標(biāo)定理論詳解

          CDx= cos (a) * (Cx0-X0) – sin (a) * (Cy0-Y0) + X1 – Cx0

          = (cos (a) -1) * (Cx0-X0) – sin (a) * (Cy0-Y0) + MDx

          = (cos (a) -1) * StDx- sin (a) * StDy+ MDx

          CDy= cos (a) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Y1 – Cy0

          = (cos (a) -1) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Mdy

          = (cos (a) -1) * StDy + sin (a) * StDx + Mdy

          下面介紹如何求解StDx和StDy,旋轉(zhuǎn)一定角度a后MDx和Mdy則為確定值,cos(a)和sin(a)為確定值

          0= (cos (a) -1) * StDx- sin (a) * StDy+ MDx

          0= (cos (a) -1) * StDy + sin (a) * StDx + Mdy

          StDx = -0.5*(Mdx*(cos(a)-1)+Mdy*sin(a)) / (1-cos(a))

          StDy = 0.5*(Mdx*sin(a)-Mdy*(cos(a)-1))/(1-cos(a))

          a是旋轉(zhuǎn)標(biāo)準(zhǔn)的角度

          Mdx=X1-X0,即旋轉(zhuǎn)后Mark坐標(biāo)與訓(xùn)練模板的mark坐標(biāo)

          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目31講
          小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目31講,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。

          下載4:leetcode算法開源書
          小白學(xué)視覺公眾號后臺回復(fù):leetcode,即可下載。每題都 runtime beats 100% 的開源好書,你值得擁有!



          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大香蕉伊人在线视频观看最新 | 精品自在线 | 天天综合视频老女人 | 91福利资源在线 | 一本久久精品一区二区 |