dobot + realsense d435i 自动抓取颜色物料

4 篇文章 2 订阅

记录一下最近完成的一个小玩意。

一、pipeline:

1.完成手眼标定(外参),获得相机坐标与机器人base坐标的变换矩阵。参考上一篇博文

2.用opencv 对抓取物件图片进行去背景处理、找轮廓和中心点处理,得到抓取点的pixel index。

3.利用realsense SDK获取抓取点到相机坐标系下的z值,以及内参(fx,fy,ppx,ppy)。

4.利用下面的公式计算出相机坐标系下的抓取点xyz,最后利用第一步求出的变化矩阵计算出dobot base坐标系下的抓取点坐标。

代码很乱,没整理,我是用ros做的(只是为后面做的东西打好基本框架,如果单纯是完成整个项目,不用ros):用一个ros节点(c++写)建一个dobot抓取动作的服务;用一个ros节点(python写)专门获取相机图像、深度图流,并利用OpenCV处理得到抓取点位置,并发布service client完成抓取动作。

这里要注意,获取d435i的图像流的时候要把前面20帧去掉,否则可能得到的图像偏暗。

代码三个文件,test.py放了两个图像处理函数(去背景,判断抓取物料的验收)、cv_handle_pub.py 是一个获取图像、计算抓取点,发布service client 节点、pick_object 是c++写的ros service server节点(执行dobot 抓取),在加一个ros srv和cmakelist,只需要这些,文件里面其他的可以删掉,。

代码链接:乱七八糟的代码

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Intel RealSense D435i是一款深度摄像头,具有双目摄像头和红外传感器,可以实时获取环境的深度信息,并提供用于机器视觉和计算机图形的可编程接口。六自由度机械臂是一种能够在三维空间中实现六个自由度运动的机械臂,可以进行复杂的物体抓取和放置操作。 在进行Intel RealSense D435i与六自由度机械臂的标定时,主要是为了将深度摄像头的坐标系与机械臂的坐标系进行匹配,使得机械臂能够准确地通过摄像头获取到目标物体的位置和姿态信息,从而实现精确的抓取和放置操作。 标定过程通常包括以下几个步骤: 1. 放置目标物体:首先,将机械臂放置在一个已知的位置,并将目标物体放置在机械臂的工作区域内。 2. 采集数据:使用深度摄像头对目标物体及其周围环境进行拍摄,获取深度图像和RGB图像。 3. 提取特征点:通过对深度图像进行处理,提取目标物体上的特征点,例如角点或边缘。 4. 匹配特征点:使用机械臂控制软件,通过移动机械臂使得相机能够观察到目标物体,然后将特征点与机械臂上的坐标进行匹配。 5. 计算标定参数:根据匹配的特征点和已知的机械臂坐标,使用标定算法来计算出相机与机械臂之间的关系,确定坐标转换矩阵。 6. 验证标定结果:通过将机械臂移动到不同位置,并使用深度摄像头观察目标物体来验证标定的准确性和稳定性。 通过以上标定过程,可以将Intel RealSense D435i与六自由度机械臂进行精确匹配,实现准确的物体抓取和放置操作,提高机器人的操作精度和效率。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值