【2】机器人手眼标定:固定向上相机 |
固定向上相机配合机器人,在机器人Tool0下吸取物料拍照并一次性纠偏。—— Edited By HUGO ![]() 目前:很多机器人以及第三方软件平台都有自己的标定方法,但毕竟还有一些机器人以及非标机构需要自己去实现这样的手眼标定,这里提供一种一次性纠偏的解题思路,仅供大家参考。 【1】 ![]() 常规解题思路一般有两种: 第一种:利用机器人自带的刷新函数,计算出物料中心距离Tool0的偏移值以及偏移角度,最后通过类似ToolSet的函数,直接设置成机器人的TCP工具,即可直接使用更新后的工具进行纠偏放料。 第二种:大家往往会采取两步走的方法进行纠偏,第一次拍照计算物料的角度,让机器人旋转至物料放置的角度一致。第二次拍照计算与标准模板相比较XY的偏移量。再次让机器人平移到放料位置。 第一种方式,简单方便,但是算法跟某种机器人绑定,第二种方式,适合所有机器人以及执行机构使用,但是需要拍两次,对于节拍要求严格的场合就不太合适了。 现在要对第二种方式进行优化: 【2】 下面开始进入正题: 求旋转中心。即当机器人吸取物料后需要旋转一定角度放料时,需求出物料是绕着哪个中心进行旋转的。 ![]() 如上图: 为了方便演示,我们假设旋转中心为原点O(0,0),实际这个旋转中心原点是未知的,需要我们计算得出。直线f可以假设是旋转轴延伸出来的吸嘴治具,A点是我们吸取着物料的特征点位置。 STEP 1:得到三个旋转之后的坐标。 首先,我们先让机器人或者执行机构旋转3次,这里每次逆时针旋转了角AOB15°,分别得到三个坐标位置A,B,C。(注意,这三个位置最好是9点标定转换出来的机器人坐标系下的坐标,如果是像素坐标,记得最后根据像素单量进行转换)。 例如:得到的三个坐标分别为
STEP 2:求线段AB的长度。
STEP 3:求OA,OB的长度。 由上图可知,以AB为底边的是等腰三角形OAB。
STEP 4:求AB边的在该坐标系的方位角:
如果αAB小于0 则αAB加上360,这里大于零,所以不需要加了。 STEP 5:求得OA边在该坐标系的方位角: 由于具有对称性通常有两个解, 但是三点只能仅有一个圆心,我们后面将利用第三个点进行剔除。
STEP 6: 求得旋转中心。 解1:
解2:
STEP 7: 判断哪个结果是有效值。 由上分析可知: 线段BC与线段AO的的夹角小于90°时 此时才是有效旋转中心。 根据向量公式:cos<a,b>=a.b/|a||b| 分别计算BC与AO1 BC与AO2的角度进行对比 可知:BC与AO1夹角为97.16 BC与AO2夹角为67.84 即该旋转中心为:Ox2,Oy2 与我们假设中心(0,0)接近,验证成功。 说在后面,可能有同学会问为啥不直拟合圆求圆心,其实也可以,只不过这样精度会更高一些。而且这样会简化用户操作,只需示教三个点。 ![]() 旋转中心已经求出来了,下面可以直接计算旋转后的位置差值。 【3】 ![]() 旋转中心已经求出来了,该如何计算旋转后的位置差值呢? 未 完 待 续 . . . 同学们,可在微信公众号进行完整阅读....... ![]() 关注微信公众号第一时间获取更多首发机器人视觉知识
购买主题
本主题需向作者支付 15 视觉币 才能浏览
|
| |
| |
| |
| |