相機(jī)固定不動, 上往下看引導(dǎo)機(jī)器人移動
機(jī)器人與視覺標(biāo)定理論詳解
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) +rx0y0= cos (a) * (y-ry0) + sin (a) * (x-rx0) +ry0
相機(jī)固定不動, 下往上看
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ī)器人與視覺配合場景方法:計(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) +rx0y0= 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 – Cx0CDy= cos (a) * (Cy0-Y0) + sin (a) * (Cx0-X0) + Y1 – Cy0X’= cos (a) * (X0-Cx0) – sin (a) * (Y0-Cy0) + Cx0Y’= cos (a) * (Y0-Cy0) – sin (a) * (X0-Cx0) + Cy0CDx=X1-X’Cdy=Y1-Y’這里是機(jī)器人在取料之前,先把自己的角度補(bǔ)正到與 物料當(dāng)前角度一致,到(X’,Y’)位置處,然后移動 CDx,Cdy,與物料位置也重合,然后去取料。這樣就保證了每次取料后,物料相對于機(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’-GXOffset Y=Y’-GYOffset 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)確性會很差。
解法
(X0,Y0)為旋轉(zhuǎn)中心, (X1,Y1)及(X2,Y2)為工件在視野中旋轉(zhuǎn)角度a的前后坐標(biāo),(Xt,Yt)為兩點(diǎn)連線的延長。d = √(X2-X1)^2 + (Y2-Y1)^2角度aR = d/2/sin(a/2)R/d = (Xt-X1)/(X2-X1)R/d = (Yt-Y1)/(Y2-Y1)Xt = (1-R/d)*X1 + (R/d)*X2Yt = (1-R/d)*Y1 + (R/d)*Y2X0= cos (90-a/2) * (Xt-X1) – sin (90-a/2) * (Yt-Y1) +X1Y0= 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+ MDxCDy= 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+ MDxCDy= 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+ MDx0= (cos (a) -1) * StDy + sin (a) * StDx + MdyStDx = -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)
原文標(biāo)題:機(jī)器人與視覺標(biāo)定理論詳解
文章出處:【微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
機(jī)器人
+關(guān)注
關(guān)注
210文章
28103瀏覽量
205843 -
機(jī)器視覺
+關(guān)注
關(guān)注
161文章
4320瀏覽量
119991
原文標(biāo)題:機(jī)器人與視覺標(biāo)定理論詳解
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論