工业现场相机坐标系和机械手坐标系的标定(1)-相机和机械手分离的情况

来源:互联网 发布:淘宝ulzzang什么意思 编辑:程序博客网 时间:2024/05/17 03:05

        工业现场使用视觉时一般需要相机坐标系和机械手臂坐标系的转化,这里介绍一种比较简单的标定方案。没有使用到标定板。经过几个项目的测试,精度还算可以,如果要求高精度的场合,就用标定板标定吧!【可以购买专用的标定板,或者自己制作(像我这种穷逼),哈哈,可以阅读这个文章下这个软件自己做一个标定板嘿!】

        如上图所示: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。如下:

a = ((xMachine1 - xMachine2)*(xImage1- xImage2) + (yMachine1 - yMachine2)*(yImage1 - yImage2))       / ((xImage1 - xImage2)*(xImage1 - xImage2) + (yImage1 - yImage2)*(yImage1 - yImage2));  b = ((yMachine1 - yMachine2)*(xImage1 - xImage2) - (xMachine1 - xMachine2)*(yImage1 - yImage2))       / ((xImage1 - xImage2)*(xImage1 - xImage2) + (yImage1 - yImage2)*(yImage1 - yImage2));  c = xMachine1 - a*xImage1 + b*yImage1;  d = yMachine1 - b*xImage1 - a*yImage1;

所以,就得出了图像上任意一点的像素坐标转成机械手坐标的关系。

以下是我写的一个求解a ,b, c, d软件:需要的点这里下载。下面是软件截图:

        下面举个栗子说明一下操作吧!这是我实际项目中的机械手和相机布局情况,画图真T``M`累!,如下图:


        首先将产品上的目标点搞到机械手的Z轴的中心,然后移动到相机事业范围内,让识别产品上的目标点,这时,你会读到一组机械手坐标(也就是上面所说的(xMachine1,yMachine1)),和一组相机坐标(也就是上面所说的(xImage1,yImage1)),再在相机视野范围内移动机械手,就可以得到第二组数据(xMachine2,yMachine2)和(xImage2,yImage2),写入标定软件就可以求出a, b, c, d。就求出了图像上任意一点对应的机械坐标,然后你下次移动第二个产品到相机视野时,首先识别目标点的像素坐标,经过对应的转换就可以得出机械坐标,然后进行相应的偏移即可实现你想要的操作!

        当然,有些时候,实际现场并没有如你所愿,现在出现一种情况就是以机械手自带的Z轴无法移动到视野中去,这样就无法进行上面的操作了,系不系!这也是我遇到的情况,SO,我的解决方案如下:先上示意图:

如图,就是在机械手Z轴的横杆上加上一个横条,使得产品可以移动到视野范围内。然后进行上面的操作,虽然现在可以将产品移动到视野范围内了,但是你会发现此时机械手的坐标并不是产品的坐标,因为他们之间隔着一个横条,那我们要怎么换算过来呢!

        首先,我们可以这么假定的认为,他们是机械手的坐标就是产品的坐标,然后就可以用上面取两组对应点的方法求出图像上每个点的机械坐标了,但是,此时的机械坐标并不是真正的机械坐标,但是,我们可以利用这些坐标找出机械手U轴的旋转中心就是Z轴(就是实际机械坐标所在的位置)在我们所建立的不是真正的机械坐标系中的坐标。是不是有点不好理解,我也不大清楚怎么描述!求U轴的旋转中心的过程如下:上图:


        如图:将产品的目标点绕机械手的U轴的旋转中心旋转得到3的目标点的不是真正的机械坐标系的坐标P1,P2,P3,必须让每次旋转的目标点在视野范围内,然后通过圆弧上的3点就可以求得圆心。此时的圆心坐标为不是真正的机械坐标系的坐标。然后我们就可以求出产品中心和机械手U轴旋转中心的deltaX,deltaY,然后就可以结合真正的机械坐标系建立工件坐标系,要对机械手有些了解才比较好理解这些拗口的话!然后对于每一个新的产品都可以建立合适的工件坐标系,然后进行补正和一些操作!(上面那个软件也有三点求圆心的工具)

        或者,最近我制作了一个更加强大一点的软件(并且修复上面的哪个软件不能输入负数的缺陷),也可以直接算出这边第二种情况的对应关系(详细细节见该软件的帮助信息),看下这篇文章的介绍,里面有提供下载地址略贵!哈哈,不过毕竟是辛辛苦苦做出来哒!

        相机绑定在机械手上的标定方法参考这里工业现场相机坐标系和机械手坐标系的标定(2)-相机和机械手绑定的情况以上是我最近总结的心得体会,希望对大家有所帮助!如果帮助到您,点个赞!^-^




阅读全文
4 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 装车牌照的螺丝孔小了怎么办 北京摇号之后中签和未中签怎么办 拉轿车的大车出车祸车怎么办 美图m6手机忘记锁屏密码怎么办 微信验证码登录收不到验证码怎么办 微信被限制登录收不到验证码怎么办 微信登录申诉收不到短信怎么办 登录微信手机收不到验证码怎么办 美图t8冲一会电就发烧怎么办 美图t8系统不小心升级了 怎么办 美图手机看相册视频就会变黑怎么办 苹果4s屏幕唤醒速度慢怎么办 美图m4换电池后不显示卡怎么办 美图手机久没充电再充没反应怎么办 美图6s开不开机怎么办 苹果4s照片不能拍照黑屏怎么办 美图手机开机键坏了怎么办 金立金刚二手机烧卡怎么办 金立金刚手机开不开机怎么办 小米4手机拆机信号不好怎么办 荣耀自带游览器无法正常打开怎么办 苹果4s电池越来越不耐用怎么办 苹果4s电池不耐用了怎么办 苹果手机4s电池不耐用怎么办 红米4s电池不耐用怎么办 32位app私密相册打不开怎么办 红米手机取卡针断手机里了怎么办 我差评了客服打电话骂我怎么办 顺丰快递在预计时间没有回来怎么办 同款商品比京东便宜怎么办 京东自营不支持7天退货怎么办 天猫买了一个月的电动车坏了怎么办 发票号码和机打号码不一致怎么办 交电费的本子弄丢了怎么办 快递正在派件中发现地址错了怎么办 快递当天送达当天签收还算延怎么办 深圳国税公众号预约取号公司怎么办 社保买了停了2年怎么办 qq号被冻结申请不回来了怎么办 qq号被冻结 手机密保忘了怎么办 微信账号封了2天怎么办