【VisionMaster 行业应用案例】第二讲 多相机定位引导应用
目录
- 1. 场景介绍
- 2. 方案设计
- 2.1 方案一
- 2.1.1 标定方案(主相机和机构12点+两次标定板标定)
- 2.1.2 偏差计算方案
- 2.2 方案二
- 2.2.1 标定方案(标定板和机构12点+两次标定板标定)
- 2.2.2 偏差计算方案
- 2.3 方案三
- 2.3.1 标定方案(双十二点标定)
- 2.3.2 偏差计算方案
- 3. 方案搭建(方案一)
- 3.1 标定流程
- 3.1.1 上下相机分别做标定板标定
- 3.1.2 N点标定
- 3.2 偏差计算流程
- 3.2.1 单点抓取
- 3.2.2 单点纠偏
- 4. 总结
1. 场景介绍
3C、面板、汽车、新能源等行业的视觉定位应用中,经常会遇到大物料定位引导场景。视觉系统计算物料位姿的变化量,发送给机械手引导抓取或纠正物料。但是受实际场景限制,例如相机架设高度有限,此时单个相机不能拍全物料,为了更精准地定位,必须采用多相机拍物料的方式实现定位引导。
物料信息: 长×宽×高 800mm×600mm×10mm
场景解析: 可采用双相机拍摄大物料对角并求中点的方式实现单点抓取或纠偏。
项目难点: 如何统一坐标系,如何计算定位偏差量。
2. 方案设计
机构设计如下图所示,使用两个相机固定拍摄物料对角。
2.1 方案一
2.1.1 标定方案(主相机和机构12点+两次标定板标定)
1.两个静止相机进行标定板标定: 两个相机分别进行标定板标定,将两个图像坐标系统一到标定板坐标系。
2. 统一到物理坐标系:N点标定主相机和机构进行N点标定
• 主相机和机构进行N点标定将图像坐标系映射到机构坐标系方便求偏差。
• 机构抓取标准件到合适位置,使主相机拍到标准件,以标准件的稳定特征点做主相机的十二点标定。
2.1.2 偏差计算方案
1. 主辅相机分别拍摄面板对角: 提取对角稳定的特征点(定位工具);
2. 将两特征点统一到一个坐标系: 转换到标定板坐标系并求中点坐标(标定转化,点点测量);
3. 中点坐标转换机构坐标系: 中点坐标转换到主相机坐标系下,然后再用主相机和N点标定的标定矩阵转换到机构物理坐标系(标定转化);
4. 偏差计算: 实际偏差计算模型是一个常规的单点抓取模型(单点抓取)。
2.2 方案二
2.2.1 标定方案(标定板和机构12点+两次标定板标定)
1. 两个静止相机进行标定板标定:两个相机分别进行标定板标定,将两个图像坐标系统一到标定板坐标系。
2. 机构和标定板坐标系进行N点标定
• 机构和标定板坐标系进行N点标定将图像坐标系映射到机构坐标系方便求偏差。
• 机构抓取标准件到合适位置,使主辅相机同时拍到标准件,以标准件在标定板坐标系的中点为特征点和机构做十二点标定。
2.2.2 偏差计算方案
1. 主辅相机分别拍摄面板对角:提取对角稳定的特征点(定位工具);
2. 将两特征点统一到一个坐标系:转换到标定板坐标系并求中点坐标(标定转换,点点测量);
3. 中点坐标转换机构坐标系:中点坐标用标定板和机构N点标定的标定矩阵转换到机构物理坐标系(标定转换);
4. 偏差计算:实际偏差计算模型是一个常规的单点抓取模型(单点抓取)。
2.3 方案三
2.3.1 标定方案(双十二点标定)
1. 机构同时和两个相机进行十二点标定(无标定板可采用)
• 机构和两相机坐标系进行N点标定将两图像坐标系映射到机构坐标系方便求偏差(将两相机统一到机构坐标系)。
• 机构抓取标准件到合适位置,使主辅相机同时拍到标准件,以标准件在各自相机视野内的角点作为特征点和机构做十二点标定。
注意事项: 十二点标定的标定矩阵是将物理坐标系原点平移到旋转中心上,所以两相机在做十二点时,拍照第五点(旋转中心)需要在同一个位置(推荐机构携带物料两相机同时做十二点标定);当然也可以分别做十二点,但是需要注意标定矩阵旋转归一化的问题。
2.3.2 偏差计算方案
1. 主辅相机分别拍摄面板对角: 提取对角稳定的特征点(定位工具);
2. 将两特征点统一到一个坐标系: 辅助相机的坐标转换到主相机图像坐标系下并求中点坐标(标定转换,点点测量);
3. 中点坐标转换机构坐标系: 中点坐标再用主相机和机构N点标定的标定矩阵转换到机构物理坐标系(标定转换);
4. 偏差计算: 实际偏差计算模型是一个常规的单点抓取模型(单点抓取)。
3. 方案搭建(方案一)
3.1 标定流程
3.1.1 上下相机分别做标定板标定
1. 标定板标定目的: 两个相机分别做标定板标定,将两个图像坐标系映射到同一个标定板坐标系下。
2. 标定板选择: 标定板标定模块支持棋盘格标定板、圆标定板以及海康Ⅰ/Ⅱ型标定板(可以使用VM提供的海康标定板工具生成对应大小的海康标定板,然后打印获取),生成标定板的大小应能同时覆盖两个相机视野。
3. 具体操作方法: 放置标定板于两个相机视野内,保证两个相机都能拍摄到部分标定板;海康Ⅰ/Ⅱ型标定板每个棋盘格顶点的坐标都有记录,所以直接进行标定板标定即可,其它类型标定板需要进行坐标偏移,将两个相机的在标定板坐标系的原点移动到一起。
3.1.2 N点标定
主相机与机构做N点标定
1. N点标定目的: 获取主相机图像坐标系与机构物理坐标系的转换矩阵,便于将目标转换到物理坐标系求其物理偏移量。下图为VM流程示意。
2. 标定物料选择: 可以选择标准件进行标定,保证物料特征点能稳定提取,提取精度高。
3. 具体操作方法: 本场景属于相机静止场景,可以采用机构携带标准件来移动旋转的方式采集成对的图像点和物理点,或者采用机构吸放物料的方式来进行图像特征点与机构物理点的采集。标定过程走九组平移点位,然后回到第五点进行三次旋转,最终生成标定矩阵。
3.2 偏差计算流程
3.2.1 单点抓取
方案一:
第一步:提取面板物料两个对角角点,这里采用模板匹配进行粗定位,然后使用边缘交点进行精定位;
第二步:统一坐标系,将两个相机提取的图像角点经过标定转换映射到同一个标定板坐标系;
第三步:获取点位和角度,使用点点测量模块计算两点的中点及连线的角度;
第四步:保存基准位,移动物料至基准位置,提取中点坐标、基准角度及示教物理坐标;保存单点抓取模块;
第五步:计算偏差并输出,移动物料运行流程,单点抓取模块输出的物理值就是此时的抓取坐标,通过通信发送给机械手引导机械手实现抓取。
3.2.2 单点纠偏
纠偏要求: 运行流程,计算偏差并输出,单点纠偏模块输出的物理值就是此时的纠偏坐标,通过通信发送给机械手引导机械手实现物料的姿态修正操作。
4. 总结
1. 方案制定: 针对大物料场景,可以选择两个相机拍摄对角求中点实现单点抓取,也可以增加相机数量来降低扰动,例如可以采用四个相机拍摄四个角,最后求中点实现单点抓取/纠偏;VM常规定位的思路是统一坐标系,然后点对点计算偏差(需要找到稳定的特征点)。
2. 标定板标定: 会使用海康标定板生成工具,其它标定板需要注意进行相机的坐标偏移,将不同图像坐标系在标定板坐标系上的坐标零点移动到同一个位置。
3. 坐标系统一: 将不同的图像坐标系、标定板坐标系都统一到机构坐标系中计算偏差,需要注意标定转换模块的坐标类型选择。
4. 偏差计算: 可以使用运算工具箱中的单点抓取、纠偏以及单点映射对位模块计算偏差,也可以自己使用脚本计算偏差;共轴场景统一完坐标系可以直接做差,不共轴场景可以引入旋转公式计算偏差,平移旋转标定的旋转中心就是标定转换后的原点。
5. 数据发送: 通过格式化模块将对应的数据先进行收集,然后使用发送数据模块将坐标发送给机械手引导机构移动。
【VisionMaster 行业应用案例】第二讲 多相机定位引导应用相关推荐
- 【VisionMaster 行业应用案例】第一讲 光伏丝网印刷应用
目录 一.应用概况 二.机械结构方案 2.1 流水线式印刷 2.1.1 流水线式机械结构方案 2.1.2 流水线式视觉方案 2.1.3 视觉方案硬件配置 2.1.4 视觉需求 2.1.5 圆Mark使 ...
- 【VisionMaster 行业应用案例】第四讲 单相机螺纹测量应用
目录 前言 场景介绍 硬件选型 成像分析&方案设计 方案搭建 总结 前言 本案例是真实的"高血压"需求,物料无明显特征,只能观察图像来分析特征,方案设计具有一定挑战性.但是 ...
- 【VisionMaster 行业应用案例】第三讲 多相机阵列大尺寸测量应用
目录 场景 背景介绍 项目需求 相机选型 其它硬件 相机布局 Q&A 实战 标定 测量 场景 背景介绍 3C.面板.汽车.新能源等行业的视觉测量应用中,经常会遇到大尺寸物料.受实际场景限制,例 ...
- node.js微博案例第二讲
一.mongodb数据库安装 1.安装包 下载:http://www.mongodb.org/downloads 2.开始安装 ...
- 【虫师Python】第二讲:元素定位
一.六种定位方式 1.id 2.name 3.class name 4.tag name:定位标签 5.link text:定位一个链接,如果是中文,需要在代码文最前面加一句I话|:#coding=u ...
- 【3C面板行业大尺寸定位引导解决方案】基于VisionMaster的多相机定位应用案例
目录 1. 场景介绍 2. 方案设计 2.1 方案一 2.1.1 标定方案设计(主12点+双标定板标定) 2.1.2 偏差计算方案设计 2.2 方案二 2.2.1 标定方案设计(标定板12点+双标定板 ...
- 第二讲 html5框架+Crosswalk打包app 以及 Angularjs 基础(初步认识了解Angularjs)
第二讲 html5框架+Crosswalk打包app 以及 Angularjs 基 础(初步认识了解Angularjs) 学习要点: 1. html5框架+Crosswalk打包app 2. 什么是a ...
- 第二讲 html5 框架+Crosswalk 打包 app 以及 Angularjs 基础
第二讲 html5框架+Crosswalk 打包 app 以及 Angularjs 基础(初步认识了解 Angularjs) 学习要点: 1. html5 框架+Crosswalk 打包 a ...
- Xamarin ios C#苹果应用开发第二讲配置环境和编写代码
Xamarin ios C#苹果应用开发第二讲配置环境和编写代码 Xamarin ios C#苹果应用开发第二讲配置环境和编写代码 观看地址://v.youku.com/v_show/id_XNzE1 ...
最新文章
- NSArray,NSSet,NSDictionary总结 (转)
- JDK线程池的ThreadFactory
- win7下安装linux(centos6.5)双系统详细小白教程
- MATLAB生成正态样本以及正态矩阵、从文件读入矩阵
- React Suite 做了一个有意思的决定
- zTree树形菜单使用实例
- 安装了但是报错找不到_安装MySQL时由于找不到vcruntime140_1.dll,无法继续安装
- 生产者消费者_【线程通信】生产者消费者模型
- MSP432P401R TI Drivers 库函数学习笔记(二)认识TI-RTOS (TI-POSIX)
- XP系统安装SQL2000企业版开启1433端口
- nginx的学习(配置文件,以及部署的疑惑)
- TCP Socket 粘包
- Mac电脑 + Windows机械键盘?功能键映射了解一下
- (转贴) ArcIMS初级教程(1)
- iPhone 之后,苹果还会带来什么?
- [面试] 算法(二)—— 第一个出现一次的字符(第一个出现 k 次、出现最多次)
- [C++] C/C++结构体的区别
- openstack学习之路-python运维(user)
- PID算法理解和代码以及PID调参
- 制药企业计算机管理软件,制药企业erp管理系统
热门文章
- matlab nlm,NLM.m · hr_yang/MatlabCode - Gitee.com
- 团队作业2——团队计划
- 基于实践的LabVIEW零基础入门视频教程
- 程序员为什么工资是用10k表示10000?
- python的取整和取余_python中取整运算符
- android第三方菜单设计,Android菜单设计指南(上)
- Cocos2D-X Tutorial for iOS and Android: Getting Started
- 干货分享 | GopherChina 2019北京大会PPT下载
- JPG转换成PDF转换器使用说明
- 【ByteCTF 2022】Crypto Writeup