【机器人定位引导中的机器视觉技术】

news2024/11/15 15:57:33

文章目录

  • 手眼标定原理
  • 手眼标定流程
  • 定位引导
  • 1、单相机抓取定位引导
  • 2、单相机纠偏定位引导
  • 3、上下相机对位引导


随着工业生产中对自动化的要求越来越高,视觉技术已被广泛引入工业机器人行业,具备视觉的工业机器人能更快、更准、更灵活地完成定位抓取、对位组装等。基于图像分析的视觉技术在机器人引导相关应用中的主要作用是精确获取对象物(待抓取物体)和目标物(待组装物体)的坐标位置和角度,并将图像坐标转换为机器人能识别的机器人坐标,指导机器人进行纠偏和组装。因此,手眼标定和定位引导是机器视觉在机器人引导中应用的的核心。

手眼标定原理

原理:所谓手眼标定,即将手(机械手)和眼(摄像机)的坐标系统一起来,解决相机与机械手之间的坐标转换关系,让机械手能精确抓取到摄像机定位的目标。

在这里插入图片描述

从一个坐标系XOY到另一个坐标系X’O’Y’,可以看做是XOY经过平移、旋转、缩放等效到另一个坐标系X’O’Y’。

在这里插入图片描述

其转换关系如下所示:

在这里插入图片描述

上述矩阵准确描述了两个坐标系之间的关系,其中fx, fy分别是X方向和Y方向的缩放尺度,a, b分别是X方向和Y方向的平移量,θ是坐标系的旋转角度。

手眼标定流程

求解标定的转换公式只需要三组以上两个坐标系的对应点,所以在视觉应用中一般采用N点标定算法来实现手眼标定。

VM算法平台标定流程

海康威视VM算法平台中具备丰富的定位工具和包含N点标定在内多种标定工具,可以便捷地实现手眼标定。
在这里插入图片描述

接收到机器人的定位触发信号后

1、相机图像

执行图像采集

2、高精度匹配

进行定位,获取图像坐标系位置

3、N点标定

通过图像坐标和工具预设的N点机器人坐标完成手眼标定

在这里插入图片描述

手眼标定流程图

在这里插入图片描述

标定过程

海康威视VM算法平台会将标定路径以及标定精度显示在界面端,便于用户排查调试流程,实现标定过程可视化。

定位引导

在机器视觉与机器人相结合的应用中,机器人引导定位最为普遍。此类场景下,大致可分为单相机抓取定位引导、单相机纠偏引导、上下相机贴合定位引导。

1、单相机抓取定位引导

在这里插入图片描述

① 相机运动
在这里插入图片描述

② 相机静止正装

上图即为单相机定位引导的场景,相机即可安装于机器人上,也可固定于机台上。通过相机拍摄传送的来料,对其进行定位以便机器人根据定位信息抓取来料,如此可降低对工位间传送机构的准确性要求,确保抓取位置的一致性。

基于VM算法平台实现单相机抓取定位引导流程如下图所示,
在这里插入图片描述

接收到机器人的定位触发信号后

  • 1、相机图像

    执行图像采集

  • 2、高精度匹配

    进行定位,获取图像坐标系位置

  • 3、标定转换

    将像素坐标转换为物理坐标

  • 4、偏差计算

    计算当前值与基准值偏差

  • 5、格式化

    将数据按约定格式进行打包

  • 6、发送数据

    将数据发送给机器人

2、单相机纠偏定位引导

在这里插入图片描述

如左图所示,单相机纠偏定位引导中,相机一般倒装并固定在机台上,通过视觉定位引导机器人纠正来料位置的波动,确保对每个来料进行精组装。

基于VM算法平台实现单相机纠偏引导流程如下所示,

在这里插入图片描述

注:流程中各工具的使用介绍同上。

而此处用【单点对位】而非【变量计算】是因为该模块考虑了机器人末端有延展轴,使得操纵点不是法兰中心导致的不共轴。

3、上下相机对位引导

在这里插入图片描述

如左图所示,该场景由两个相机组成,下相机倒装于机台上,用于对抓取的对象工件进行定位纠偏,上相机安装于机器人上随机器人一同移动,用于对象工件抓取定位和目标位置定位。

应用场景:该系统可广泛应用于3C产品屏幕及电路板的生产组装等相关场景,如将膜与玻璃对齐贴合或将玻璃和偏光片对齐贴合等。

基于VM算法平台的上下相机对位引导方案如下所示,

在这里插入图片描述

全局流程

在这里插入图片描述

上相机流程

在这里插入图片描述

下相机流程

#注:流程中各工具的使用介绍同上。

海康威视VM算法平台与机器人定位引导

海康威视VM算法平台除了集成80余种视觉工具,可实现高精度视觉定位、一键式手眼标定以及多种对位方式外,还具备丰富的通信协议,已在众多实际应用中实现了与ABB、EPSON、FANUC、UR、华数机器人、众为兴机器人等工业机器人的成功对接。

海康威视机器视觉在机器人定位引导中的应用

在这里插入图片描述

“

海康威视VM算法平台将持续丰富和优化视觉工具,让视觉应用更轻松!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统 (三)- 权限介绍

~~~~前言命令行解释器 -- Command Line Interpreter ShellLinux操作系统命令行解释器对命令行解释器的初步认识命令行解释器的意义shell分类命令行解释器 CLI Shell图形界面 GUI ShellLinux权限Linux中用户分类su基本语法sudo基本语法配置操作权限管理权限是什么文件分类文件属…

【一起学数据结构与算法】计数排序、基数排序、桶排序(含菜鸟教程代码)

目录前言一、计数排序1.1 排序思想1.2 代码1.3 菜鸟教程官方代码(搬运)二、基数排序2.1 排序思想2.2 代码2.3 菜鸟教程官方代码(搬运)三、桶排序3.1 排序思想3.2 代码3.3 菜鸟教程官方代码(搬运)前言 之前我们学过了几种常见的排序,都是基于比较的排序,…

ES6中扩展对象的功能性

对象是JavaScript编程的核心,ECMAScript6为对象提供了许多简单易用且更加灵活的新特性。 ECMAScript 6在对象字面量的基础上做出了以下几个变更: 简化属性定义语法,使将当前作用域中的同名变量赋值给对象的语法更加简洁 function createPe…

【MySQL】MySQL基本操作详解

系列文章目录 第1篇:【MySQL】MySQL介绍及安装 第2篇:【MySQL】MySQL基本操作详解 文章目录 ✍1,数据库操作     🔍1.1,查看数据库     🔍1.2,创建数据库     🔍1.3,选择数据库     &…

Kubernetes基础_02_Pod全解析

系列文章目录 文章目录系列文章目录前言一、Pod的生命周期Lifecycle二、Pod的重启策略RestartPolicy三、静态Pod四、Pod的健康检查总结前言 Pod是Kubernetes最小单位,当然一个Pod可以有多个Container,但是container是docker的元素,不是Kuber…

CTFHub | 布尔盲注

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…

无限题库公众号系统搭建

无限题库公众号系统搭建 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(…

《设计模式:可复用面向对象软件的基础》——行为模式(笔记)

文章目录五、行为模式5.1 CHAIN OF RESPONSIBILITY(职责链)1.意图2.动机3.适用性4.结构5.参与者6.协作7.效果8.实现9.代码示例10.相关模式5.2 COMMAND(命令)1.意图2.别名3.动机4.适用性5.结构6.参与者.7.协作8.效果9.实现10.代码示例11.相关模式5.3 INTE…

CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录

很高兴和大家在这里分享我的最新专栏 Pytorch深度学习理论篇(2023版),恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~ 0 Pytorch深度学习理论篇实战篇(2023版)大纲 1 Pytorch深度学习理论篇实战篇(2023版)专栏地址&…

嵌入式应用-详解移植并使用freetype显示文字

目录 前言 1. freetype和相关概念简介 2.freetype显示文字流程和主要函数 2.1 包含头文件及API头文件:ft2build.h 2.2 初始化: FT_InitFreetype 2.3 加载(打开)字体Face: FT_New_Face 2.4 设置字体大小&#x…

sqrt函数模拟实现的两种方法

起因:在leetcode刷题时,有一道题目考察了有关sqrt的原理的题目,当时就去查了网上的文章,结果发现,一开始的时候看的很懵,最后也是搞定了两种方法,今天我就以最简单的方式写下这两种方式的思路讲解&#xff…

Python批量获取高校基本信息

文章目录前言一、需求二、分析三、处理四、运行效果前言 为了更好的掌握数据处理的能力,因而开启Python网络爬虫系列小项目文章。 小项目小需求驱动,每篇文章会使用两种以上的方式(Xpath、Bs4、PyQuery、正则等)获取想要的数据。…

T31快启图像效果优化

T31快启图像效果优化 liwen01 20220821 (一)基础方法及概念 参考文档 《Ingenic_Zeratul_T31_快起效果调试说明_20200927_CN》 (1)起始EV参数 IPC 每次启动都是冷启动,画面有一个暗变亮的过程,称作为AE收敛过程(自动曝光收敛过程)。 为了加快AE收…

LeetCode50天刷题计划第二季(Day 23 — 重排链表(16.20- 17.00)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、题目重排链表示例提示二、思路三、代码前言 链表基础题加一 一、题目 重排链表 给定一个单链表 L 的头节点 head ,单链表 L 表示为&#xff…

基于粒子群优化算法的时间调制非线性频偏FDA(Matlab代码实现)

🎉🎉🎉🎉欢迎您的到来😊😊😊 🥬博客主页:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 📝床头铭:将来的我一定会感谢…

ARM64下构建 UEFI 模块

构建Application工程目录 mkdir edk2/ShellPkg/Application/ShellHello 目录内容如下: 编写 ShellHello.c /* edk2/ShellPkg/Application/ShellHello/ShellHello.c*/ #include <Uefi.h> #include <Library/UefiLib.h> #include <Library/DebugLib.h> #i…

上手之Python之异常

什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG bug单词的诞生 早期计算机采用大量继电器工作&#xff0c;马克二型计算机就是这样的。 1945年9月9日&…

【JVM技术专题】 深入学习JIT编译器实现机制「 原理篇」

前提概要 解释器 Java程序最初是通过解释器(Interpreter)进行解释执行的&#xff0c;当虚拟机发现某个方法或代码块的运行特别频繁的时候&#xff0c;就会把这些代码认定为“热点代码”&#xff08;hotspot code&#xff09;。正因为如此&#xff0c;我们的hotspot的虚拟机就是…

将matlab数据导入到Python中使用

相信不少小伙伴都遇到过和我一样的问题&#xff0c;就是在尝试使用scipy.io.loadmat将matlab类型的数据导入python中的时候遇到如下错误提示。 import scipy as sc# 设定需要导入的matlab数据目录 path_TE00 r"D:\Window自带文件夹\桌面\PIC Design\Lumerical\Tutorials…

Apollo GraphQL

一、Apollo GraphQL介绍 Apollo 是一个开源的 GraphQL 开发平台&#xff0c; 提供了符合 GraphQL 规范的服务端和客户端实现。使用 Apollo 可以帮助我们更方便快捷的开发使用 GraphQL。 ● 官网&#xff1a;https://www.apollographql.com/ ● GitHub 相关开源仓库&#xff1a…