工程经验系列:视觉定位(很干,请自备饮料)
二维码
分享链接
复制链接
影响定位的因素; 视觉定位的原理; 视觉定位的分类; 标定设计; vm演示;
工业视觉三大任务:定位,测量,检测。
这次我们来聊一聊定位。
首先,你要清楚,设备精度异常的时候,客户首先会怀疑视觉问题。所以视觉不仅要自己精度没问题,还要帮助整机设备精度排查问题。最好的办法,就是用数据说话。而不是去扯皮,踢皮球。
影响定位的因素;
1,相机的误差:识别误差,
2,机构的误差:重复误差,绝对误差。
3,组合误差:标定误差。
4,机构总误差,相机总误差。
所以上手调视觉的时候,你要先把设备这几个误差,数据化。(如果要求高,做数据前,可以先用标定板,纠正镜头径向畸变和切向畸变)
1,做静态:相机,设备,静止不动,相机拍摄固定Mark,并识别。记录16次。取极差为静态误差 取名:CJ。
2,做动态:相机或设备,重复性运动,相机按照运动周期,重复拍固定Mark,并识别,记录16次,取极差为动态误差 取名:CD。
3,标定:做九宫格标定,求得变化矩阵后,反算九宫格坐标,取实际坐标与计算坐标的极差为标定误差 取名:CB。
4,做对比数据:运动轴走4*4 16宫格,对应位置,用相机识别,并计算坐标。取实际坐标与计算坐标的极差为数据对比差 取名:DX。
所以:
相机:识别误差 = CJ
机构:
重复误差 RE = CD - CJ
绝对误差 AE = CB - CJ
总误差:
机构总误差 ME= sqrt(RE*RE + AE*AE)
相机总误差 CE = Max(DX - ME, CJ) (如果CE比CJ大很多,那就要检查,是不是标定设计有问题,后面我们会讲,怎么标定)
以上,就是定位做的所有数据。
客户质疑相机精度,你就拿 CE给他看。客户问你那为什么相机精度没问题,定位还是有问题,你拿ME给他看。不要扯皮,“以据服人”。
视觉定位原理:有且仅有一个原理“仿射变换”
就是图像坐标系,与运动坐标系。建立转换关系。(缩放,旋转+ 平移 总共6个参数,理论只要3对不同线的点,就可以求得。通常我们用9点。拟合求得)
简单的就是两个坐标系直接做仿射变换,复杂点,就是两个坐标系,借助第三个坐标系(比如标定板)间接做仿射变换。
以上就是全部原理。仅此而已。
ps:通常说“旋转标定“中的旋转 不是标定,仅仅是计算旋转中心。定位的时候要用到这个旋转中心。与标定无关系。只是以前不严谨的说法,沿用下来而已。
视觉定位分类:
相机四种状态:固定,同轴移动,同轴移动旋转,异轴移动。
定位两种功能:
1,固定位置纠偏。
2,一致性取放。
相机状态 与 定位功能,可以自由组合。通常有固定组合。
比如:
1,固定位置纠偏, 一般 与固定相机组合。 常见于下相机工作方式,用于纠正:取到的料,位置不一致。
2,一致性取放,就很灵活,可以与相机四种状态结合。 常见的是固定上相机,或者同轴移动相机。比如贴合定位的上相机。
我们常见的上下相机,贴合项目。就是固定下相机,固定位置纠偏 + 固定或同轴移动上相机,一致性取放的结合。
而同轴移动旋转,都是用在机械手上,相机安装在U轴上。
异轴移动,一般是用于,对CT要求高的设备上,相机拍照的移动轴,与吸爪工作轴,不是同一套轴,可以让拍照与贴合异步进行,节约时间。
PS:
这种分类,是本人根据多年工程经验总结的。是比较全面,准确的。相比市面上的分类方式,更抓住了定位的本质。
比如VM对标定的分类。(3类:相机静止上相机,相机静止下相机,相机运动)。就不清不楚。(径向畸变和切向畸变 属于镜头畸变校正,不应该放到定位标定里)
这是VM开发人员,缺少实际的工程应用经验的表现。(也可能是VM重心在深度学习缺陷检测,忽视了定位这一块)
这导致VM定位项目实际工期远超预期,且极度依赖应用工程师的经验。
以上就是本贴的内容。
标定设计与vm演示将在下一贴来分享讨论。
点赞过100,加速更新。
版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
点赞 143
收藏 54
上一篇
[
浅谈 VisionMaster 中的视觉工具系列:测量矩形
](https://www.v-club.com/home/article/1446)
下一篇
[
工程经验系列:视觉定位(标定设计,及应用)
](https://www.v-club.com/home/article/1452)
发表下你的想法吧~
添加表情 发表
评论请先登录 登录
全部评论 10
mark
2023-07-16 20:08:50 未知地区
回复
0
操作频繁,请输入验证码校验
感觉这是真大佬,肯定实实在在做过很多类似的项目,说的很清楚。😂
2023-05-19 08:54:09 未知地区
回复
0
操作频繁,请输入验证码校验
“异轴移动,一般是用于,对CT要求高的设备上”,请问CT是什么
2022-08-14 20:45:32 未知地区
回复
1
Vuser_679712 回复 chennousstar :
CT就是节拍
2024-02-22 15:28:00 江苏省
回复
0
操作频繁,请输入验证码校验
勇_309306639_qq 作者 回复 凌工 :
Cycle Time 是的。
2022-08-18 11:10:20 未知地区
回复
0
操作频繁,请输入验证码校验
凌工 回复 chennousstar :
Cycle Time?
2022-08-18 10:49:33 未知地区
回复
0
操作频繁,请输入验证码校验
操作频繁,请输入验证码校验
“异轴移动,一般是用于,对CT要求高的设备上”,请问CT是什么
2022-08-14 20:45:29 未知地区
回复
0
操作频繁,请输入验证码校验
我是旅客我立志要走遍所有评论区
2022-07-07 19:24:14 未知地区
回复
0
操作频繁,请输入验证码校验
你发表的8篇我都看完了,现在就等做项目涨经验了。😆
2022-07-01 14:45:29 未知地区
回复
1
操作频繁,请输入验证码校验
敲重点
1:“客户质疑相机精度,你就拿 CE给他看。客户问你那为什么相机精度没问题,定位还是有问题,你拿ME给他看。不要扯皮,“以据服人”
2:视觉定位原理:有且仅有一个原理“仿射变换”
3:定位项目中,相机四种状态模型:固定,同轴移动,同轴移动旋转,异轴移动。
4:定位无非两种核心诉求:1,固定位置纠偏,2,一致性取放。
此人总结的非常到位,难得一见的视觉人间清醒!怒赞!!!
2022-07-01 11:36:42 未知地区
回复
5
Vuser_637594 回复 Vuser_242825 :
请教一下CE和ME是上面精度
2024-03-18 11:26:49 浙江省
回复
0
操作频繁,请输入验证码校验
操作频繁,请输入验证码校验
自备瓜子可乐矿泉水,目光锁定🤓🤓,坐等更新
2022-06-29 11:22:55 未知地区
回复
1
操作频繁,请输入验证码校验
大佬有点东西
2022-06-29 10:11:57 未知地区
回复
0
操作频繁,请输入验证码校验
给大佬递茶〜〜
2022-06-29 09:53:01 未知地区
回复
0
操作频繁,请输入验证码校验
原网址: 访问
创建于: 2024-04-12 15:02:51
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论