使用视觉计算料盘贴标角度思路

需求:移栽机构分为X,Y,R(可以转正向180度,负向180度)电机,摆臂,取标签块(有吸盘可以吸住标签);
        当料盘通过皮带流入到贴标机构,通过相机拍照获取到图像,使用halcon和几何数学算出实际的X/Y/R位置取到标签贴到料盘上,标签需要横向贴标,竖向不支持;
建议:图像XYR方向与实际XYR方向一致,即一起增大、一起减小
前期需要维护的数据:(1)7/13/15在图片中的圆心像素位置(colum,row)以及半径像素(2)每毫米对应多少图像像素 (3)摆臂位置与取标签块毫米位置(如果没有摆臂,只有取标签块,设置为0即可)
                                  (4)需要贴标的标签距离料盘边缘毫米位置(一般7寸5mm,13/15寸8mm) (5)移栽机构摆臂位置7寸料盘中心上方实际的X,Y毫米位置
                                  (6)吸盘上的标签与图像对齐时移栽机构 R 轴角度 (7)移栽X方向是否与图像colum一致,移栽Y方向是否与图像row一致,移栽R方向是否与图像R一致
                                  (8)新标签宽、高对应多少毫米
1.料盘到达贴标机构后,使用海康工业相机拍照,通过mvs sdk产生一张图像HObject grayImage
2.通过halcon算子解析出参照的二维码或则一维码中心点位置以及码的角度(因为新的标签要以此角度进行平行贴码),获取二维码、一维码中心点和角度都有对应的算子的
3.如果是需要贴空白区域,把剩余的一维码、二维码像素位置填入到集合(是为了避开有码的区域贴标)
4.如果是覆盖贴标,通过原始码像素位置算出新标签像素位置,如果贴空白,7寸料盘优先贴对面180度,其次90度,-90度;13/15料盘与7寸料盘不一样看情况是否需要进行120度、-120度贴标;
5.算出新标签至料盘中心直线像素距离RMK;算法(料盘半径-标签距离料盘边距)平方-(标签宽度/2)平方-标签宽度/2
6.算出图像角度Angle,因二维码有正反方向,得先知道二维码是否反向,二维码有三个角,如果两个角靠近料盘中心为反方向,反之正;
    判定依据:先虚拟原始中心位置与料盘中心距离distance (通过中心点x-原始x平方 加上 中心点y-原始y平方得到)
    算出期望的参考标签中心点,图像 Y 轴与数学 Y 轴相反:(期望X算法:料盘中心+distance *Cos(弧度),期望Y算法:料盘中心-distance *Sin(弧度))
   当期望X-原始X大于distance或则期望Y-原始Y大于distance说明二维码是相反方向的,当前原始角度需要增加180度得到图像角度Angle;
7.如果是覆盖贴标得到新标签图像位置:得确认摆臂与图像X是不是有角度偏差,如果有Angle加或则减去该角度偏差,得到目标标签中心到料盘中心的连线与 X 轴的角度AngleMB,最终得到图像新标签X位置:料盘中心X+distance *Cos(AngleMB角度的弧度),Y位置料盘中心Y-distance *Sin(AngleMB角度的弧度),以及角度Angle
8.如果不覆盖贴标得到新标签图像位置:图像labelAngle=Angle+偏移的角度;得确认摆臂与图像X是不是有角度偏差,如果有labelAngle加或则减去该角度偏差,得到目标标签中心到料盘中心的连线与 X 轴的角度AngleMB,得到图像新标签X位置:料盘中心X+distance *Cos(AngleMB角度的弧度),Y位置料盘中心Y-distance *Sin(AngleMB角度的弧度),以及角度labelAngle;根据新标签位置查看附近有没有一维码/二维码,如果有需要使用其他偏移角度,如果都有则可以考虑贴识别到的原始标签对面,最终得到新标签图像X\Y\labelAngle;
9.以上已经得到新标签要贴的图像位置,后面需要计算实际运动位置
10.先基于图像坐标计算,根据之前维护的数据得到摆臂的像素长度(如果长度为0填0即可,公式通用)BBXX,R摆臂与 X 轴的角度rArmAngle=标签角度+摆臂与图像X偏差角度;
11.移栽机构旋转中心的 transplanterX=新标签X-BBXX*Cos(rArmAngle弧度值),transplanterY=新标签Y-BBXX*Sin(rArmAngle弧度值)
12.移栽机构旋转中心与 7 寸料盘中心的 X、Y 距离(图像像素),像素X补偿BCXXX=transplanterX-7寸圆心像素X,像素Y补偿BCYXX=transplanterY-7寸圆心像素Y;
13.每毫米对应多少图像像素,得到最终补偿BCX,补偿BCY值;
14.如果实际X与图像X运动一致:最终运动坐标X=7寸料盘中心上方实际的X+BCX,反之7寸料盘中心上方实际的X-BCX
15.如果实际Y与图像Y运动一致:最终运动坐标Y=7寸料盘中心上方实际的Y+BCY,反之7寸料盘中心上方实际的Y-BCY
16.如果实际旋转与图像旋转运动一致:最终运动旋转角度Ang=吸盘上的标签与图像对齐时移栽机构 R 轴角度+新标签角度,反之吸盘上的标签与图像对齐时移栽机构 R 轴角度-新标签角度
17.最终得到实际X/Y/Ang运动坐标
总结:总共分为4大步1.维护需要用到的基础信息 2.通过halcon识别图像算出原始位置(优先二维码,其次一维码)并得到旋转角度;3.计算出新标签在图像的位置 4.通过对应关系转换成最终实际运动位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芒果加冰ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值