3D相机与机械臂手眼标定流程

这篇具有很好参考价值的文章主要介绍了3D相机与机械臂手眼标定流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.采集n组点云数据,将第一组点云命名为(点云target)基准点云

   这些数据可以通过3D相机采集得到,然后通过一些处理方法(如去噪、滤波等)进一步优化。

2.采集n组点云的同时记录n组机械臂位姿,同样将第一组位姿设为基准位姿(机械臂target)

3.将获取的n组机械臂位姿由欧拉角转换为4×4变换矩阵

 (x,y,z,rx,ry,rz 变成 4×4变换矩阵)

4.通过点云配准方法如icp等计算出其余点云(source)相对于第一组点云(target)的变换矩阵(B)

 (ICP配准后返回的结果为B矩阵)

5.通过A=Tpose1^-1 *Tpose2 计算出其余机械臂位姿相对于第一组机械臂位姿的变换矩阵(A)

(采集第一帧target点云时机械臂的位姿为Pose1,剩下的位姿以此为Pose2.3.4.....;按照  A=Tpose1^-1 *Tpose2可以计算出A)

6.通过西尔维斯方程( AX=XB ),计算出手眼变换矩阵X

//================================更新===================================

求得手眼变换矩阵X后,就可以将3D相机坐标系下的点云数据转换到机械臂坐标系下,转换的过程通过矩阵的乘法来实现,步骤如下:

1.需要将点云数据(x,y,z)转化为齐次坐标(齐次坐标是表达空间点的方式),通过转换将点云数     据变成(x,y,z,1)

2.将首演变换矩阵X(4x4)乘以每个点的齐次坐标(4x1) ->   [X,Y,Z,W] = X*[x,y,z,1]

3.最后需要将结果转换为笛卡尔坐标,通过将每个坐标除以W,最终得到机械臂坐标系下的坐标(x',y',z')  ->   x' = X / W、 y' = Y / W、 z' = Z / W

//==============================更新=====================================

上述已经获得了手眼变换矩阵X,也就是相机和机械臂末端的位姿转换关系,那么如何利用X获取目标在相机坐标系下的坐标转换为机械臂基坐标系下的坐标呢?

要获得物体在机械臂基座表系下的坐标需要进行以下步骤,实现公式如下:

其中,是4×4手眼变换矩阵X, 是目标在相机坐标系下的坐标,是机器人示教器上读取的坐标,乘法其实就是坐标转化变换。

//==============================待更新====================================文章来源地址https://www.toymoban.com/news/detail-654747.html

到了这里,关于3D相机与机械臂手眼标定流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嚼一嚼Halcon中的3D手眼标定

    一、问题概述 1、何为手眼标定? 要让机器人的手抓住杯子,就必须知道 杯子跟手的相对位置关系 ,而杯子的位置则是通过机器人的眼睛看见的,所以,我们只需要知道 机器人的手和眼睛的转换关系 ,就可以随时抓取机器人眼睛所看到的物体了。 2、手眼标定的2种形式 1)

    2024年02月04日
    浏览(39)
  • 机械臂进行手眼标定(眼在手上)python代码

    执行手眼标定(eye in hand)步骤: 收集数据:使用相机拍摄多张不同角度的标定板图像,并记录相机和机械臂的位姿数据。 提取标定板角点:使用OpenCV库中的函数cv2.findChessboardCorners()提取标定板图像中的角点坐标。 计算相机内参矩阵:使用OpenCV库中的函数cv2.calibrateCamera()计

    2024年02月16日
    浏览(38)
  • 机械臂 手眼标定 手眼矩阵 eye-in-hand 原理、实践及代码

    所谓 手眼系统 ,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。而相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 目前工业上通常使用两种方法进行机械臂的手眼

    2024年02月03日
    浏览(38)
  • 2d相机和3d相机的联合标定

    2D相机和3D相机的联合标定是通过以下步骤进行的: 1、收集标定数据: 首先,需要收集一组已知世界坐标和图像坐标的标定数据。这可以通过使用已知尺寸和位置的3D物体或平面棋盘格来收集 2、提取特征点: 在收集标定数据后,需要从图像中提取特征点。这些特征点应该是具有

    2024年02月16日
    浏览(45)
  • 3D相机的9点标定

    本文已参与「新人创作礼」活动,一起开启掘金创作之路。 9 点标定法 1 适用范围及情形 1.1      在机器人外固定安装的3D相机与机器人的手眼标定,X36相机等安装与固定支架上,不依赖与外部运动机构而自动获取3D图像的情形 * * 1.2      在机器人外部安装于运动机构上

    2024年02月05日
    浏览(26)
  • 激光雷达与相机外参标定(附open3d python代码)

    现在的激光雷达与相机的标定程序基本都是Ubuntu框架下面的,并且都是C++代码,需要安装的依赖也比较复杂,于是自己写了一个python版本的标定程序,依赖非常简单,Windows系统也可以运行。并且代码简单一个文件搞定,符合python简单易行的风格。 先上最后标定后的效果图​

    2024年02月11日
    浏览(43)
  • Gocator 3D线扫相机校准流程说明

    首先清除之前的校准数据 设定校准使用的有效数据区域,然后进行校准 有效区域的选择是以(长度+起始点)的方式选择的,即先设定轴的有效长度,然后选择数据的起始点 重新选取有效区域作为图像输出的范围 3D相机会自动根据校准后得到的高计算此时的测量宽度,即上图

    2024年02月11日
    浏览(38)
  • 从0到1搭建一套属于你自己的高精度实时结构光3D相机(8):结构光系统模型与逆相机法投影仪标定

    在前面的博客中,介绍了采用同心双圆环靶标下的相机标定算法与代码实践。在这篇博客中,博主将介绍 结构光相机模型与逆相机法投影仪标定 。完成本篇博客的学习内容后,你将收获投影仪逆相机法标定和结构光相机模型算法与代码实践经验。 本系列博客的完整项目代码

    2024年04月15日
    浏览(53)
  • (已修正精度 1mm左右)Realsense d435i深度相机+Aruco+棋盘格+OpenCV手眼标定全过程记录

    最近帮别人做了个手眼标定,然后我标定完了大概精度能到1mm左右。所以原文中误差10mm可能是当时那个臂本身的坐标系有问题。然后用的代码改成了基于python的,放在下面。 新来的小伙伴可以只参考前面的代码就可以完成标定了。 有问题的话可以留言,一起交流~ 手眼标定

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包