首页 > 其他分享 >[贴装专题] 基于多目视觉的手眼标定

[贴装专题] 基于多目视觉的手眼标定

时间:2023-12-22 21:04:24浏览次数:24  
标签:多目 转换 矩阵 标定 Mx 相机 贴装 坐标系 手眼

  • 作者: 丶布布

一.为什么要进行手眼标定

        因为相机知道的是像素坐标,吸嘴是空间坐标系,所以手眼标定目的就是将像素坐标系的坐标和空间机械手坐标系的坐标进行相互转化。在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,然后根据机械手坐标系计算出各个电机该如何运动,从而控制机械手到达指定位置。

        根据相机的装载位置分为两种情况:eye-in-hand(相机安装在机械手上,随着机械手一起移动)和eye-to-hand(相机固定在一个地方,机械手的运动不会带着相机一起移动)。


二.手眼标定中涉及的坐标系

        手眼标定涉及到的坐标系有四个:机器人基坐标系base、法兰上的工具坐标系tool、相机坐标系camera和标定板坐标系cal;此外,涉及到了四个关键的4x4齐次转换矩阵,对于眼在手和眼在手外分别进行说明,下面是两种配置方式的坐标转换过程:

[贴装专题] 基于多目视觉的手眼标定_方程组


[贴装专题] 基于多目视觉的手眼标定_M3_02


        每一种配置方式,都是两个移动的坐标系和两个静止的坐标系,并且这四个坐标系构成了一个闭环。


三.Eye-in-hand 标定原理与方法

        对于moving camera方式(相机随着吸嘴一起移动),如图所示,机械臂基础坐标系和标定板坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和相机坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是法兰上的工具坐标系与相机坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M2可以从拍摄照片计算出来,M3未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M2*M3^(-1)*M1,如果我有许多个这样的等式,利用M3不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M3具体是多少,只是利用了其固定不变这个特性而已。

[贴装专题] 基于多目视觉的手眼标定_计算机视觉_03


四.Eye-to-hand 标定原理与方法

        对于stationary camera方式(相机静止,吸嘴移动),如下图所示,机械臂基坐标系和相机坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和标定板坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是相机坐标系和机械臂基坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M3可以从拍摄照片计算出来,M2未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M1M2M3^(-1),如果我有许多个这样的等式,利用M2不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M2具体是多少,只是利用了其固定不变这个特性而已。

[贴装专题] 基于多目视觉的手眼标定_方程组_04

 


戳戳小手帮忙点个免费的赞吧,嘿嘿。


标签:多目,转换,矩阵,标定,Mx,相机,贴装,坐标系,手眼
From: https://blog.51cto.com/u_16436086/8938539

相关文章

  • [贴装专题] 基于halcon的拟合矩形边缘验证贴装精度
    作者:丶布布......
  • 多目标关键点检测Associative Embedding
    前面介绍了单目标关键点检测网络StackedHourglassNetworks,如下图所示,一次只能检测出一个目标的关键点信息,但实际情况下一个场景出现多个目标的概率更大,所以原作者在StackedHourglassNetworks的基础上提出了AssociativeEmbedding,用于处理多目标关键点的配对问题。Paper:ht......
  • opencv多目标跟踪算法报错与解决方案
    背景:在正确安装opencv-contrib-python4.8.1.78后,在使用opencv进行多目标跟踪时,出现如下错误:错误及解决方法1、AttributeError:module'cv2.cv2'hasnoattribute'MultiTracker_create'解决方法:将trackers=cv2.MultiTracker_create()改成trackers=cv2.legacy.Mu......
  • YOLOv8+DeepSORT多目标车辆跟踪(车辆检测+跟踪+车辆计数)(内附免费资源+部署讲解)
    https://blog.csdn.net/Little_Carter/article/details/133610076目录一、前言二、开发环境(前提条件)三、环境搭建教程3.1、创建虚拟环境3.2、选择虚拟环境并安装所需要的包3.3、运行代码步骤3.3.1、克隆git储存库3.3.2、转到克隆库的文件夹下3.3.3、安装依赖项3.3.4......
  • 论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化
    论文研读_通过具有可扩展的小子种群的协方差矩阵适应性进化策略解决大规模多目标优化问题创新点随着目标或决策变量的数量增加,收敛性和多样性之间的冲突变得更为严重,因此在它们之间取得平衡变得越来越困难。此时S3-CMA-ES,它使用一系列子种群来近似LSMOPs的PFs,并强调不同子种......
  • 论文研读_大规模多目标优化问题的两阶段多任务转换框架
    本文的创新点在哪里采用两阶段框架的方式来处理大规模多目标优化问题第一阶段,采用多任务优化策略和双向搜索策略,它将多目标问题改编为决策空间中的多任务问题,以增强收敛性利用双向搜索策略与MFEA相结合,将多目标问题转化为多任务问题第二阶段,提出的算法将多任务优化应......
  • OpenCV手眼标定
    OpenCV手眼标定使用OpenCV进行手眼标定,版本需要4.1.0及以上。为了确定手眼变换,至少需要两个具有非平行旋转轴的运动。因此,至少需要3个不同的姿势,但强烈建议使用更多的姿势。——OpenCV官方文档提示cv::calibrateHandEye()OpenCV有关手眼标定官方文档voidcv::cali......
  • 手眼标定原理
    手眼标定原理WriteByChamprinFrom2022-11-03To2022-11-04.GUETEvolutionTeamVisualGroup参考资料:外文教程5.2-手眼标定(外参标定)要实现由图像目标点到空间实际物体上抓取点之间的坐标转换,就必须拥有相机与机械臂之间的位姿转换关系,即手眼关系,因此这种标......
  • Hybrid-SORT起飞 | 超过DeepSORT将近10个点的多目标跟踪香不香?
    前言 多目标跟踪(MOT)旨在在帧间检测和关联所有所需的目标。大多数方法通过明确或隐式地利用强大的线索(即空间和外观信息)来完成任务,这些线索表现出强大的实例级别判别能力。然而,当出现目标遮挡和聚类时,由于目标之间的高度重叠,空间和外观信息同时变得模糊不清。在本文中,作者证明MOT......
  • YOLOv8+DeepSORT多目标跟踪(行人车辆计数与越界识别)
    课程链接:https://edu.51cto.com/course/34407.html本课程使用YOLOv8和DeepSORT对视频中的行人、车辆做多目标跟踪计数与越界识别,开展YOLOv8目标检测和DeepSORT多目标跟踪强强联手的应用。课程分别在Windows和Ubuntu系统上做项目演示,并对DeepSORT原理和代码做详细解读(使用PyCharm单......