1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 4716字,需瀏覽 10分鐘

         ·

        2020-12-12 15:57

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

        重磅干貨,第一時(shí)間送達(dá)

        轉(zhuǎn)自|代碼狗

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

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

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

        1.相機(jī)非線性校正

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

        2.相機(jī)與機(jī)器人做9點(diǎn)標(biāo)定

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

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

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

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

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

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

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

        相機(jī)固定不動(dòng), 下往上看

        1.相機(jī)非線性校正

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

        2.相機(jī)與機(jī)器人做9點(diǎn)標(biāo)定

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

        參考上面的上往下看。

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

        1、相機(jī)非線性矯正

        2、相機(jī)與機(jī)器人做9點(diǎn)標(biāo)定

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

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

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

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


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

        1、相機(jī)非線性矯正

        2、相機(jī)與機(jī)器人做9點(diǎn)標(biāo)定

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

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

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

        分離軸

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

        1.相機(jī)非線性校正

        2.相機(jī)與機(jī)器人做9點(diǎn)標(biāo)定

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

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

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


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

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

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

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

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

        機(jī)器人與視覺標(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

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

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

        STD方法的計(jì)算:

        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’

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

        特別注意

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

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

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

        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)相機(jī)FOV與旋轉(zhuǎn)中心很近,可以用旋轉(zhuǎn)3點(diǎn)以上擬合一個(gè)圓求圓心

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

        解法

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

        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+ 為正,反之為負(fù)

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

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

        機(jī)器人與視覺標(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是個(gè)常量,MDx和Mdy是每次拍照是工件(Mark)的坐標(biāo)與標(biāo)準(zhǔn)位置工件(Mark)的差值;

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

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

        如何求解StDx和StDy

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

        機(jī)器人與視覺標(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擴(kuò)展模塊中文版教程
        在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

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

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

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



        交流群


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


        瀏覽 70
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            人妻无码久久精品人妻成人 | 精品国产亚洲AV妓女 | 9.1精品人妻无码入口A片 | av在线操| 香蕉视频日本 | 久久午夜福利视频 | 欧美成人在线视频观看 | 超级乱淫aⅴ片免费 | 靠逼视频免费大全 | 思思热99在线 |