0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VPLC系列机器视觉运动控制一体机快速入门(六)

正运动技术 2021-09-29 18:05 次阅读

此前,我们依次讲解了软硬件介绍及计数实例、相机的基本使用、基于形状匹配的视觉定位、BLOB有无检测以及测量尺寸。

本期课程,正运动技术和大家一起分享和标定有关的详细知识内容。

2.png

3.png

机器视觉检测结果

将机器视觉处理的像素结果(单位:像素)转换成现实中使用到的实际结果(单位:毫米),或者是将机器视觉中使用的图像坐标转换成世界坐标的过程。

4.png

测量标定是使用已知尺寸的标准模块,如已知半径的小圆块、已知宽度的小方块、刻度尺等物品,在使用机器视觉检测出对应尺寸的像素值后,求出实际尺寸值和像素值的比例即像素比例,之后再将检测的像素结果乘以像素比例即可得出实际值结果。

5.png

坐标标定是指使用机器视觉获取几组图像坐标数据(至少9组),然后输入对应的几组世界坐标数据,根据公式计算出矩阵坐标转换系数,然后将检测的图像坐标结果按照这个标定系数转换成世界坐标结果。

6.png

7.png

1.测量标定

测量标定的实施方法比较简单,只需要将已知尺寸的标准块放到检测平台中,然后使用视觉输出的像素结果和已知尺寸计算得到像素比例即可。

2.坐标标定--使用标定板

标定板的特点是特征点的距离是固定且已知的。我们就可以在标定板上选择几组矩阵坐标数据,把某个点设置成坐标原点,再根据实际圆点(或棋盘格)的距离定义对应点的实际坐标,最后再使用视觉检测出对应特征点的图像坐标即可。得到图像坐标数据和世界坐标数据后就可以求出标定系数。

8.png

3.坐标标定--不使用标定板

在没有准备标定板的条件下做坐标标定需要运动机构如机械手配合。

机械手抓取产品按照指定的位置坐标(机械手坐标)走9个点位(这9个点位需要保证在相机拍照的视野范围内),每走到一个点位就使用相机获取产品特征在当前位置的图像坐标并记录图像坐标数据,依次走完9个点位即可。然后再根据获取的图像坐标数据和记录的机械手坐标进行坐标系转换,得出标定系数。

注意:在相机结构和检测平台的相对位置发生变化时需要重新标定!

9.png

10.png

坐标标定流程图

11.png

演示实例说明:本课程实例在《VPLC系列机器视觉运动控制一体机快速入门(三)--形状匹配》实例的基础上增加使用标定板进行坐标标定的功能,并输出标定后的产品位置。

1.打开ZDevelop软件:点击[文件]→[打开项目]→选择“基于形状匹配的视觉定位”项目。

2.修改设计主界面。

12.png

3.在global_variable.bas文件中增加定义坐标标定使用到的全局变量。

'***********定义坐标标定相关变量*********************

'定义是否使用标定功能标志,0-不使用标定功能,1-使用标定功能

GLOBAL DIM d_use_calib

d_use_calib = 0

'定义标定成功标志,0-标定未成功,1-标定成功

GLOBAL DIM d_calib_success

d_calib_success = 0

'标定参数

GLOBAL ZVOBJECT ca_param

'标定参数数组,依次为:标定类型、对比度、极性、最小面积、最大面积、世界坐标点间距

GLOBAL DIM d_ca_param(6) 'd开头表示数据结构

'标定误差,最小误差、最大误差、平均误差

GLOBAL DIM ca_min_err,ca_max_err,ca_avg_err

ca_min_err = 0

ca_max_err = 0

ca_avg_err = 0

'常用颜色变量

GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOW

C_RED = RGB(255, 0, 0)

C_GREEN = RGB( 0,255, 0)

C_BLUE = RGB( 0, 0,255)

C_YELLOW= RGB(255,255, 0)

'标定矩阵

GLOBAL ZVOBJECT ca_mat

'***********结束定义坐标标定相关变量******************

4.在InitLocator.bas文件中初始化坐标标定相关的测量参数。

'初始化坐标标定相关的变量

d_ca_param(0) = 0 '标定类型

d_ca_param(1) = 120 '对比度

d_ca_param(2) = 0 '极性

d_ca_param(3) = 80 '最小面积

d_ca_param(4) = 20000 '最大面积

d_ca_param(5) = 9 '世界坐标点间距

ca_min_err = 0 '最小误差

ca_max_err = 0 '最大误差

ca_avg_err = 0 '平均误差

5.新建主界面按下【坐标标定】按钮时弹出的窗口界面calib,并设计界面布局。

13.png

6.在calib窗口界面中关联元件变量。

14.png

7.添加在主界面按下【坐标标定】按钮时响应的函数,并关联动作函数名。

'点击主界面坐标标定按钮时响应的函数

GLOBAL SUB btn_calib()

ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(13, 91), HMI_CONTROLSIZEY(13, 91)) '设置坐标标定窗口锁存通道0的锁存大小

ZV_LATCHCLEAR(0) '将锁存通道0清空

ZV_LATCH(grabImg, 0) '显示采集图像显示到锁存通道0中

HMI_SHOWWINDOW(13)

END SUB

15.png

8.添加在calib界面按下【提取mark点】按钮时响应的函数,并关联动作函数名。

'坐标标定界面按下提取mark点按钮时响应的函数

GLOBAL SUB btn_ca_extract()

ZVOBJECT inppts, ppts, wpts

'提取像素坐标

ZV_CALGETSCAPTS(grabImg, inppts, d_ca_param(1), d_ca_param(2), d_ca_param(3), d_ca_param(4))

ZV_MATINFO (inppts, 400)

DIM row,col

row = TABLE(400)

col = TABLE(401)

if(row * col = 18) then

TABLE(150) = 1 '提取mark点成功

else

TABLE(150) = 0 '提取mark点失败

return

endif

'根据mrak点间距和像素坐标计算世界坐标

ZV_CALGETPTSMAP(inppts,ppts,wpts,d_ca_param(5))

ZV_MATINFO (ppts, 400)

row = TABLE(400)

col = TABLE(401)

if(row * col = 18) then

TABLE(150) = 1 '提取mark点成功

else

TABLE(150) = 0 '提取mark点失败

return

endif

'像素坐标和世界坐标放入table中

DIM i

FOR i=0 TO row-1

ZV_MATGETROW (ppts, i, col, 81 + i*col)

ZV_MATGETROW (wpts, i, col, 131 + i*col)

NEXT

'设置用于绘制mark点的图像

ZVOBJECT color

ZV_GRAYTORGB(grabImg, color)

'和绘制mark点的十字架

DIM j, pixNum '像素个数

pixNum = 0

FOR i=0 TO 2

FOR j=0 TO 2

ZV_MARKER(color, TABLE(81 + 2 * pixNum), TABLE(81 + 2 * pixNum + 1), 0, 40, C_GREEN)

pixNum = pixNum + 1

NEXT

NEXT

'用文本绘制mark点的序号

FOR i=0 TO 8

ZV_TEXT (color, TOSTR(i,1,0), TABLE(81+2*i)-20, TABLE(81+2*i +1)-40, 20, C_BLUE)

NEXT

ZV_LATCH(color, 0)

end sub

在calib界面按下【提取mark点】按钮时仿真效果图。

16.png

9.添加在calib界面按下【标定】按钮时响应的函数,并关联动作函数名。

'坐标标定界面按下标定按钮时响应的函数

global sub btn_ca_calib()

ZV_IMGINFO(grabImg,0)

ZV_CALCAM(ppts,wpts,ca_param,TABLE(0),TABLE(1),d_ca_param(0))

is_ca_success=1

'计算标定误差

ZV_CALERROR(ca_param, ppts, wpts, 0)

ca_min_err = TABLE(1)

ca_max_err = TABLE(2)

ca_avg_err = TABLE(0)

end sub

17.png

在calib界面按下【标定】按钮时仿真效果图

10.添加在calib界面按下【返回】按钮时响应的函数,并关联动作函数名。

'坐标标定界面按下返回按钮时响应的函数

global sub btn_ca_param_rtn()

HMI_CLOSEWINDOW(13)

end sub

18.png

11.修改匹配测试子函数中匹配结果输出部分的指令代码。

if(is_ca_success = 1 AND TABLE(300)) then

ZV_GETRIGIDVECTOR(mat_rigid1, 0, 0, 0, TABLE(4), TABLE(5), TABLE(6))'计算刚性变换矩阵

ZV_CONTAFFINE(contlist1, mat_rigid1, tsContlist1)'对轮廓或轮廓序列进行仿射变换

ZV_CONTLIST(colorImg, tsContlist1, ZV_COLOR(0, 255, 0), 0)'在colorSubImg图像上绘制绿色的轮廓序列

ZV_CALTRANSW(ca_param, TABLE(4),TABLE(5),4)

d_match_rst(0) = TABLE(3)

d_match_rst(1) = TABLE(4)

d_match_rst(2) = TABLE(5)

d_match_rst(3) = TABLE(6)

d_match_rst(4) = TABLE(7)

else

d_match_rst(0) = TABLE(3)

d_match_rst(1) = TABLE(4)

d_match_rst(2) = TABLE(5)

d_match_rst(3) = TABLE(6)

d_match_rst(4) = TABLE(7)

ZV_GETRIGIDVECTOR(mat_rigid1, 0, 0, 0, TABLE(4), TABLE(5), TABLE(6))'计算刚性变换矩阵

ZV_CONTAFFINE(contlist1, mat_rigid1, tsContlist1)'对轮廓或轮廓序列进行仿射变换

ZV_CONTLIST(colorImg, tsContlist1, ZV_COLOR(0, 255, 0), 0)'在colorSubImg图像上绘制绿色的轮廓序列

endif

19.png

【单次执行】按钮按下时的仿真效果图

20.png

使用标定功能的检测效果图

21.png

不使用标定功能的检测效果图

本次,正运动技术VPLC系列机器视觉运动控制一体机快速入门(六)——标定功能就分享到这里,更多精彩内容请关注“正运动小助手”公众号。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    160

    文章

    4042

    浏览量

    118272
  • 人工智能
    +关注

    关注

    1776

    文章

    43790

    浏览量

    230563
  • 目标定位
    +关注

    关注

    0

    文章

    9

    浏览量

    7474
  • 正运动技术
    +关注

    关注

    0

    文章

    71

    浏览量

    63
收藏 人收藏

    评论

    相关推荐

    基于VPLC711的曲面外观检测XYR运动控制解决方案

    中心线永远与产品表面垂直(曲面处相机中心线始终与切线方向垂直)。 (2)相机到被检测产品的距离保持致,任何位置L1=L2 VPLC711机器视觉
    发表于 04-16 17:58

    机器视觉运动控制一体机在喇叭跟随点胶上的应用

    等问题。 正运动技术视觉点胶整体解决方案: 在此背景下,正运动技术的视觉点胶整体解决方案脱颖而出,方案是基于VPLC
    发表于 04-16 17:37

    机器视觉运动控制一体机在光伏汇流焊机器人系统的解决方案

    一体机结合SCARA机械手+机器视觉的电池片汇流焊解决方案。可解决不同角度来料、规格等光伏太阳能电池板的串焊需求,实现生产效率和精度等大幅提升,同时将废品率降至仅12%,并显著加快数据处理速度,提高了
    发表于 02-28 15:01

    下面是我们的人脸识别酒精检测一体机: 防代吹

    一体机人脸识别
    jf_66410442
    发布于 :2024年01月25日 18:42:02

    人脸考勤打卡一体机

    一体机
    jf_66410442
    发布于 :2024年01月09日 11:09:22

    基于VPLC711的XYR运动控制解决方案

    VPLC711机器视觉运动控制一体机机器
    发表于 11-13 17:06 202次阅读
    基于<b class='flag-5'>VPLC</b>711的XYR<b class='flag-5'>运动</b><b class='flag-5'>控制</b>解决方案

    VPLC711视觉运动控制一体机用户手册

    64 轴,运动周期最小为 500us,强大的运动控制功能,可满足运动控制领域的高速高精的需求。具备自动化行业所必须的 DI/DO、脉冲
    发表于 08-14 14:44 0次下载

    机器视觉运动控制快组态软件RTFuse在XYZ三轴运动平台的应用方案

    RTFuse是针对正运动技术的VPLC系列机器视觉运动控制
    的头像 发表于 07-29 09:20 441次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b>快组态软件RTFuse在XYZ三轴<b class='flag-5'>运动</b>平台的应用方案

    21.5寸安卓工业一体机 嵌入式工控一体机 微嵌工业平板电脑厂家

    一体机
    jf_91874718
    发布于 :2023年07月05日 16:44:25

    15.6寸工控触摸一体 嵌入式工业平板电脑 微嵌工业平板电脑公司

    一体机
    jf_91874718
    发布于 :2023年07月05日 16:33:14

    15寸工业触摸一体机-工业平板电脑厂家-微嵌工业一体机

    一体机
    jf_91874718
    发布于 :2023年07月05日 16:27:09

    工业平板电脑-工业一体机-微嵌7寸无壳触摸一体机

    一体机
    jf_91874718
    发布于 :2023年07月05日 16:21:19

    国产化一体机

    一体机
    jf_22764069
    发布于 :2023年06月27日 14:38:48

    扬宇光电人脸测温一体机

    一体机
    jf_22764069
    发布于 :2023年06月27日 14:36:57