历史上的今天
返回首页

历史上的今天

今天是:2025年11月11日(星期二)

正在发生

2022年11月11日 | 机器人与视觉标定理论详解

2022-11-11 来源:机器视觉沙龙

相机固定不动, 上往下看引导移动

机器人与视觉标定理论详解

1.相机非线性校正使用标定板做非线性校正2.相机与机器人做9点标定可以使用机器人扎9个点,或者机器人抓住工件摆放9个位置,得到9个机械坐标,相机也得到9个像素坐标,然后标定3.计算机器人的旋转中心机器人抓取工件分别旋转三个角度摆放到相机视野内,相机可以得到三个坐标值,通过三个坐标值拟合圆获得圆心坐标即为旋转中心4.相机通过公式计算得出最终的输出结果(rx0, ry0)为旋转中心,( x, y)为被旋转的点,(x0,y0)旋转后的点x0= cos (a) * (x-rx0) – sin (a) * (y-ry0) +rx0y0= cos (a) * (y-ry0) + sin (a) * (x-rx0) +ry0

相机固定不动, 下往上看

1.相机非线性校正使用机器人吸起标定板做非线性校正2.相机与机器人做9点标定可以使用实物标定,机器人抓住工件摆放9个位置,得到9个机械坐标,相机也得到9个像素坐标,然后标定。参考上面的上往下看。

相机固定在机器人上,离旋转中心较近

1、相机非线性矫正2、相机与机器人做9点标定可以使用实物标定,机器人抓住工件摆放9个位置,得到9个机械坐标,相机也得到9个像素坐标,(机器人每次需要回到固定位置拍照),然后标定3、计算机器人的旋转中心机器人抓取工件分别旋转三个角度摆放到相机视野内,相机可以得到三个坐标值,通过三个坐标值拟合圆获得圆心坐标即为旋转中心4、相机通过公式计算得出最终输出结果

相机固定在机器人上,离旋转中心很远

1、相机非线性矫正2、相机与机器人做9点标定3、计算机器人的旋转中心4、相机通过公式计算得出最终输出结果注:由于选择中心距离视野很远,通常拟合出来的旋转中心存在比较大的误差,给定位精度造成影响。

分离轴

分离轴的设计方式有很多,XY + θ, X+Y θ, X θ+Y…。,具体状况具体分析,目的是要找到旋转中心,做好9点标定。1.相机非线性校正2.相机与机器人做9点标定3.计算机器人的旋转中心4.相机通过公式计算得出最终的输出结果

旋转中心标定说明

旋转中心方法用于所有机器人与视觉配合场景方法:计算工件实际发生的偏移量和旋转量,结合机器人的旋转中心进行二次补偿后,把补偿量发送给机器人,然后机器人把补偿量补偿后进行抓取或放置即可;

点坐标旋转方法

计算某个点绕另外一点旋转一定角度后的坐标,如图:

机器人与视觉标定理论详解A(x,y)绕B(rx0,ry0)旋转a度后的位置为C(x0,y0),则有如下关系式:x0= cos (a) * (x-rx0) – sin (a) * (y-ry0) +rx0y0= cos (a) * (y-ry0) + sin (a) * (x-rx0) +ry0

下面计算所有的旋转和偏移量均是基于上面的公式

旋转中心标定说明

STD方法的计算:

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’这里是机器人在取料之前,先把自己的角度补正到与 物料当前角度一致,到(X’,Y’)位置处,然后移动 CDx,Cdy,与物料位置也重合,然后去取料。这样就保证了每次取料后,物料相对于机器人的位置 一致,因此直接往目标位置放就可以。这种方式由于是取物料的时候调整位置,因此适用于 相机固定在机械手上、相机固定安装从上往下看的方式。如果相机固定安装从下往上看,由于机器人这时候已经取完料了,就不适合使用了。

特别注意

这里计算到的Cdx和Cdy一定要补偿到机器人的取料位置里,不能补偿到 放料位置。旋转中心方法计算到的偏差可以直接补偿到放料位置。原因如下:

旋转中心法的计算:

(X,Y)是定位到的产品位置,(GX,GY)是标准模板位置,(X’,Y’)是补偿了角度后的新位置,则:X’ = cos θ * (X-Xo) – sin θ *(Y-Yo) + Xo;Y’ = cos θ* (Y-Yo) + sin θ* (X-Xo) + Yo;Offset X=X’-GXOffset Y=Y’-GYOffset Theta= θ

求旋转中心方法

当相机FOV与旋转中心很近,可以用旋转3点以上拟合一个圆求圆心当相机FOV与旋转中心很远,使用旋转3或多个点求圆心,准确性会很差。

解法

(X0,Y0)为旋转中心, (X1,Y1)及(X2,Y2)为工件在视野中旋转角度a的前后坐标,(Xt,Yt)为两点连线的延长。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+ 为正,反之为负

旋转中心标定—计算补偿

CDx Cdy计算过程,旋转角度a

机器人与视觉标定理论详解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是个常量,MDx和Mdy是每次拍照是工件(Mark)的坐标与标准位置工件(Mark)的差值;StDx与StDy怎么计算呢?蓝色的为一个二元一次方程,我们需要旋转一个角度即可计算出;如果计算出StDx和StDy则在运行时,直接带入上述公式,可以很快计算出CDx,Cdy这样给出Robot的偏移量了,而不需要计算旋转中心的确切坐标了;

如何求解StDx和StDy

StDx,StDy计算过程,首先Robot在拍照点旋转一定角度a(一定是Robot给出)机器人与视觉标定理论详解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,旋转一定角度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是旋转标准的角度Mdx=X1-X0,即旋转后Mark坐标与训练模板的mark坐标

编辑:黄飞

 

推荐阅读

史海拾趣

DART(英国达特)公司的发展小趣事

在竞争激烈的电子行业中,只有不断创新才能保持领先地位。DART公司深知这一点,因此他们投入大量资金用于研发新的技术和产品。同时,公司也积极开展与高校、研究机构和其他企业的合作,共同探索新的技术路线和市场应用。这些合作不仅为DART公司带来了更多的技术积累和市场机会,也促进了整个电子行业的进步和发展。

Hantronix公司的发展小趣事

随着全球对环保问题的日益关注,HANBIT Electronics积极响应,将绿色生产纳入公司发展战略。2020年,公司投资建立了绿色生产线,采用环保材料和清洁能源进行生产,实现了生产过程中的节能减排。同时,公司还推出了多款环保型电子产品,满足消费者对绿色、低碳生活的需求。这一举措不仅提升了公司的品牌形象,也为其在可持续发展的道路上赢得了更多机遇。

启珑(CHIPLON)公司的发展小趣事

随着全球对环保问题的日益关注,HANBIT Electronics积极响应,将绿色生产纳入公司发展战略。2020年,公司投资建立了绿色生产线,采用环保材料和清洁能源进行生产,实现了生产过程中的节能减排。同时,公司还推出了多款环保型电子产品,满足消费者对绿色、低碳生活的需求。这一举措不仅提升了公司的品牌形象,也为其在可持续发展的道路上赢得了更多机遇。

Easy Magnet Corp公司的发展小趣事

Easy Magnet Corp公司最初由几位热衷于磁性材料研究的科学家和工程师创立。他们发现了一种新型磁性材料,具有极高的磁导率和稳定性。基于这一发现,他们开始研发适用于电子产品的磁性元件。最初的产品虽然简单,但因其高性能和可靠性,很快在市场中获得了认可。随着订单的增加,公司逐渐扩大了生产规模,并开始了技术研发的深入探索。

铨力(ALLPOWER)公司的发展小趣事

随着市场竞争的加剧,铨力公司意识到单纯依靠太阳能电源产品已无法满足市场需求。于是,公司开始着手研发更为先进、高效的能源技术。经过多次试验和改进,铨力成功突破了技术瓶颈,研发出了新一代高效能、低成本的太阳能电池板。这一技术的突破不仅提升了产品的竞争力,也为公司打开了更广阔的市场空间。

Baumer Electric Ag公司的发展小趣事

随着公司规模的不断扩大和市场竞争的加剧,Baumer Electric Ag开始实施国际化战略。1979年,公司加大了出口力度,积极开拓海外市场。1980年,堡盟在法兰克福成立了堡盟电气有限公司,进一步扩大了在欧洲市场的影响力。此后,公司陆续在全球各地设立子公司和分支机构,形成了覆盖全球的销售和服务网络。

问答坊 | AI 解惑

关于方波转换成正弦波

我的电路能够得到一系列的方波信号,但是占空比不一样。因为占空比不一样,如果我直接加不可调的低通滤波器转换成正弦波的话,得到的正弦波有些就不能做到关于时间轴对称。那么如果我要实现所有的正弦波都关于时间轴对称(即对任意占空比的方波都能 ...…

查看全部问答>

谁知道论文的格式啊???

本帖最后由 paulhyde 于 2014-9-15 09:39 编辑 写多少页,字号之类的 啊 ,谢谢啦  …

查看全部问答>

为什么同一程序在PB下生成的DLL文件和EVC下的DLL不一样?

在PB下将一个类似驱动程序的源代码编译生成一个DLL文件,通过注册表导入系统中可以工作起来,然后现在想通过EVC来修改这个程序,在EVC下将之前的源代码也可以编译生成DLL文件,这是DLL文件比之前的文件大了几K,此时将这个DLL导入系统中,同样的注 ...…

查看全部问答>

求UC/OS-II方面的论文

不需要代码,只要论文,基本的可以自己搞,就是不知道具体的要做个什么东西,希望好心人指点下,提供这方面的资料借鉴下~! 邮箱:wleuler@163.com…

查看全部问答>

关于CEDDK的READ_PORT_UCHAR(<端口号地址>),其中的端口号地址是在哪里定义的呢?

小弟最近在写一个GPIO驱动,在GPI_Read()流接口函数中想用READ_PORT_UCHAR()从指定的GPIO的端口接受数据。我用的是PXA270,其中的GPIO的端口号地址是在哪里定义的呢?我看了PXA270的datasheet好像没有发现。…

查看全部问答>

大四学生请教嵌入式WINCE系统驱动入门问题

我是大四的一名学生,我想毕业可从事嵌入式系统这方面的工作,现在我想学习驱动编程,我只在书上看了一些WIN   CE的基本驱动的结构, 我想深入了解, 1)应该从那一方面入手呢,或者说先从那一个模块开始深入了解呢? 2)我需要什么专业知识 ...…

查看全部问答>

我是广州IBM HP两大品牌的服务器代理商。

我是广州IBM HP两大品牌的服务器代理商。符件内是我公司的资料和参考报价。李伟强:13828482007,QQ:160299358有什么需要随时联系我…

查看全部问答>

stm8程序段定位问题

我想将IAP和APP的地址空间分开,如何把开始地址有0X8968定位到0XA000?…

查看全部问答>