四轴平面机器人的手眼标定

四轴平面机器人的手眼标定四轴平面机器人的手眼标定介绍在实际的机器人应用中,通常会给机器人配备视觉传感器,视觉传感器用于感知周围环境。但是,通过视觉传感器获取的场景坐标是基于视觉坐标系下的,机器人并不能直接使用,要获取机器人可以直接使用的坐标信息,必须将坐标转换到机器人坐标系下。因此,机器人手眼标定的目的是为了获取从视觉坐标系转换到机器人坐标系的转换矩阵。机器人手眼标定问题可以分为两类:1)eye-in-hand,…

大家好,又见面了,我是你们的朋友全栈君。

四轴平面机器人的手眼标定

介绍

在实际的机器人应用中,通常会给机器人配备视觉传感器,视觉传感器用于感知周围环境。但是,通过视觉传感器获取的场景坐标是基于视觉坐标系下的,机器人并不能直接使用,要获取机器人可以直接使用的坐标信息,必须将坐标转换到机器人坐标系下。因此,机器人手眼标定的目的是为了获取从视觉坐标系转换到机器人坐标系的转换矩阵。
机器人手眼标定问题可以分为两类:

1)eye-in-hand,视觉传感器安装在机器人末端执行器上,随着机器人的移动而移动;


四轴平面机器人的手眼标定

2)eye-to-hand,视觉传感器固定安装,与机器人基座坐标系相对固定。


四轴平面机器人的手眼标定
那么如何进行手眼标定呢? 本篇文章仅仅研究四轴平面机器人的手眼标定。

四轴机器人的手眼标定

在四轴机器人的应用场景中,通常都是用于抓取平面上的物体,实际配置如下图所示。


四轴平面机器人的手眼标定
在作业过程中,主要存在以下几个步骤:

1)相机拍摄平面上的物体;

2)在拍摄的图像中定位物体的位置(像素坐标);

3)将像素坐标转换到机械手基座坐标系下;

4)机械手抓取零件。

四轴平面机器人手眼标定的任务就是计算出像素坐标系到机械手基座坐标系下的转换矩阵。由于相机拍摄的是一个平面,而机械手作业的区域也是一个平面,因此,平面机器人手眼标定的任务可以转换成计算两个平面之间的映射关系的过程,也就是计算两个平面之间的仿射变换。
点(x,y,w)‘为图像点的齐次坐标,而点(x’,y’,w’)’为机械手每组场景的控制器读数(仅读取x,y参数)的齐次坐标,经过如下转换。


四轴平面机器人的手眼标定
式中,$a_{11},a_{12},a_{21},a_{22}$不是旋转矩阵的元素,因为该变换矩阵是齐次坐标(在许多的博客中直接说是旋转矩阵是不对的。 方程中,存在6个未知数,理论上使用3组对应点就可以计算出所有参数,但是实际读取的数据都存在噪声,因此,需要采集>3组的数据(通常是9组,所以称该方法是9点法)使用最小二乘就行求解。

halcon中计算方法

  • 首先进行手眼标定
%计算图像坐标
area_center(SortedRegions,Area,Row,Column)
%输入机械手示教的9点坐标
Column_robot := [275,225,170,280,230,180,295,240,190]
Row_robot := [55,50,45,5,0,-5,-50,-50,-50]
%求解放射变换矩阵,HomMat2D是图像坐标和机械手坐标之间的变换矩阵
vector_to_hom_mat2d(Row,Column,Row_robot,Column_robot,HomMat2D)
  • 在标定结束后,使用标定的数据计算机械手抓取位置
%由像素坐标和标定矩阵求出机器人基础坐标系中的坐标
affine_trans_point_2d(HomMat2D,Row2,Column2,Qx,Qy)

opencv中的计算方法

  • 手眼标定
//计算图像坐标
std::vector<cv::Point2f> img_corners;
//输入机械手示教的9点坐标
std::vector<cv::Point2f> robot_corners;
cv::Mat transform;
//计算手眼标定矩阵transform
cv::estimateAffine2D(img_corners, robot_corners,transform);

大家好,我主要的研究方向有:
1)主流的结构光三维测量方法,包括:线扫,格雷码,相移,散斑等;
2)摄像机标定和投影仪标定;
3)点云处理;
4)图像处理;
5)Halcon应用;
6)机器视觉相机选型。

对以上研究方向感兴趣的朋友可以关注我的微信公众号:


四轴平面机器人的手眼标定


另外,关于以上研究方向的任何问题都可以到我的知识星球进行提问,我将给大家满意的回答 !!!!


四轴平面机器人的手眼标定

3D视觉QQ群:1012179080。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146228.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 不含重复字符的最长子串长度JAVA_字符串回文判断

    不含重复字符的最长子串长度JAVA_字符串回文判断给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

    2022年8月9日
    10
  • if python用法_for循环语句

    if python用法_for循环语句今天,我们将学习Python中if语句的基本使用。if在Python中用作某个条件或值的判断,格式为:if条件: 执行语句1else: 执行语句2else是当条件不成立时运行的代码。我们先来看个例子,程序判断天气情况并输出是否要带伞:weather=input(“今日天气是:”)ifweather==”雨天” print(“今天出门需要带伞”)else: print(“今天出门不需要带伞”)运行代码,输入雨天会提示要带伞。if语句中用的两个“=”是什么呢

    2022年9月26日
    5
  • 35岁以上的IT人士如果有一天被公司裁员了,该怎么办?

    35岁以上的IT人士如果有一天被公司裁员了,该怎么办?我觉得裁员和年龄无关,和本人的技能,工作态度,处事规则有关系。大家都知道华为裁员比例厉害,特别是对35岁以上的,会感到中年危机。但是我几个在华为的同学,都到了40岁了工作依然好好的,也没有见谁被裁掉。如果在工作中保持积极的态度,做事主动,平常多学习,和同事,领导的关系都不错,那么也不会被裁掉。作为已经到而立之年的中年人,给大家一点建议吧。在工作和生活中时刻保持乐观的心态,做事积极主动,多想多思考,与同事和领导友好相处,尽量让自己成为不可替代的人。那么你就不会被裁掉,也不会有中年危机。…

    2022年7月18日
    49
  • 手机版mt4如何操作_安卓不能下载MT4

    手机版mt4如何操作_安卓不能下载MT4新手客户按照本文操作流程操作几遍,对MT4手机软件基本上就会非常熟练了。导航目录1.下载显示隐藏重新排序简单/高级视图新建图表行情周期添加/删除指标APP手机端MT4软件的功能模块一、软件下载登录1.下载通过无佣网开户的客户,下载对应APP手机版MT4软件后,手机桌面会有该交易商的软件图标,类似如下:2.登录点击MT4图标打开软件,点击软件左上角,进入“管理账户”里添加交易账户。已添加的交易账户,…

    2022年8月15日
    8
  • python 进行socket 通信

    python 进行socket 通信

    2021年11月10日
    49
  • java+毕业设计+进销存管理系统+源码+论文.rar

    java+毕业设计+进销存管理系统+源码+论文.rar【摘要】进销存管理系统是一个基于Internet的应用系统,它是一个面对当前的进销存管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于Internet的一个完全信息自动化的系统,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。企业单位只需具备访问Internet的条件即可在系统发布的站点上进行进销存的管理。在图型化的人机界面中完成日常的进销存管理工作.一方面摆脱了时间和空间的限制,另一方面有效的解决的数据共享的问题。经过实际使用证明,本文所

    2022年5月6日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号