工程经验系列:视觉定位(VM案例分享)
固定纠偏典型案例。 固定纠偏扩展案例。

最近在做个案子。耽误了更新。

今天分享2个固定纠偏案例。一个是基础,一个是扩展。都是真实案例。


典型案例1:

1,项目需求。贴膜定位。机器人盲取一片膜,然后到侧相机拍照位置拍照,再去膜位置贴膜。(由于空间限制,拍照位置,与贴膜位置,机械轴要转90度,如下图示意)

2,首先要明确,相机纠正的是盲取来料的误差。保证不管盲取来料的如何,都能让机器人把膜贴到同一位置。(注意,是保证贴到同一位置,至于贴到哪里,相机是不管的)


3,做动静态,

静态:让机器人,取一片料。来到拍照位置,每个1s 拍照,获取mark点坐标,并记录。得到32组数据,取极差作为静态误差。

动态:让机器人,取一片料。设置2个位置,一个是拍照位置,一个是预贴合位置。按照正常的工作速度,往复运动,每到拍照位置,拍一张照,获取mark点坐标,并记录。得到32组数据,取极差作为动态误差。

4,标定。做数据。

取一片料,做9点标定,加旋转标定。得到转换矩阵 以及 旋转中心。这里要注意,标定时候使用的是xz轴,工作的时候使用的是yz轴。默认xy 轴比例一致。

注意,虽然相机模式,有相机静止下相机的选项。但我还是选择上相机位。因为上相机位的仿射变换,是正常的仿射变换。下相机位,是xy取反了。xy取反,但是我不需要自动帮我取反,我自己取值的时候,可以取反。比如偏移-1,我可以写成偏移1。 我自己取反的目的是,我要可控。VM只需要提供一个正常的求解仿射变换方法就可以。我认为多出来的几种模式,完全是没有必要,反而容易搞错。我不管怎么标定,都只用相机静止上相机机位。

这里取反值的是,x或y轴,标定的时候,实际是反向移动(-1),如图三,我填的偏移值是正向的(1)。

求旋转中心:


通过途中圈的方法,可以让输出变成数组。直接添加到圆拟合。

这里计算的是图像坐标系下的旋转中心。使用的时候,也要在图像坐标下使用。计算旋转中心是让机械轴在拍照位置,只旋转u轴,相机取图,获得mark点,拟合出圆心。角度跨度越大,拟合的圆心,越精准。

以上就是标定过程。

做数据:

标定后,让机械轴,走16宫格,再用相机拍照,对比计算坐标,与实际坐标,计算极差。

使用计算圆形的图片,计算以旋转中心旋转到固定角度,mark点的新坐标,理论这组mark点应该在同一坐标,因为是在同一位置拍照。计算出极差。

4。使用。


如图所示,匹配获得mark点坐标(x,y),然后,角度取反(具体要根据现场旋转方向决定是否要取反,通常逆时针为正,就要取反)计算,旋转后的mark点新坐标(xnew,ynew)。再用(xnew,ynew)代入标定转换,得到 实际的 X,Y 坐标发送给机械手。(这个项目中,x对应的是y, y对应的是z)

以上就是该项目的全部。



扩展案例2:

1,项目需求,机器人盲取物料,下相机拍照,然后给治具上料。

扩展性:有5个吸头,吸头还分,正向,反向取料。治具有20个穴位,每个吸头可以放任意穴位,10个正向穴位,10个反向穴位。而且要给2个轨道的治具上料。左轨右轨不可能完全平行。

以上就是项目的扩展性。

分析:原理与案例1 一模一样。不一样的是,你要考虑,多吸头,正反向,多穴位,左右轨。

这就回到我之前的帖子。“浅谈 VisionMaster 中的流程控制”

这个案例,复杂度不在定位原理本身。而是在流程控制本身。这个案子,就需要在VM的框架下,编写对应的流程控制。

该案子,标定,只了5个吸嘴正面标定,对于反向。只是用反相与正向做一个offset补偿。

使用的时候,要分好,正向还是反相。

做示教位的时候,要分哪个吸嘴,对于哪个穴位。



VM做逻辑分支,不方便做的时候,可以考虑用脚本。本案例,就用到比较多的脚本,里面都是做逻辑判断。

以上就是第二个案例。


2个项目,用到的工具,有:图像采集,图像保存,数据接收,数据发送,数据保存,分支模块,脚本,模板匹配,N点标定,圆拟合,旋转计算,标定转换。 唯一属于图像处理的,只有模板匹配。剩下的就一个N点标定,圆拟合,旋转计算,标定转换 属于纯计算。剩下的 全部是流程逻辑控制。

callback:

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

工程经验系列:视觉定位(标定设计,及应用)

下一篇

相机,镜头选型相关知识。一篇全搞定

评论请先登录 登录
全部评论 0
Lv.0
0
关注
442
粉丝
28
创作
843
获赞
相关阅读
  • [共享学习]VM之角度纠正问题
    2024-03-07 浏览 0
  • 机器视觉菜鸟指南
    2024-02-29 浏览 0
  • 基于C++OpenCV实现VisionMaster中的“直线边缘缺陷检测”
    2024-03-04 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器