ROS机械臂视觉抓取

ROS机械臂视觉抓取

一、总述

视觉抓取主要是通过改变机器人的tool坐标系或base坐标系来实现的。物体位置的变化主要是它位置的X,Y,Z 方向的变化。而base坐标系可根据需要定义用户坐标系。当机器人配备多个工作台时,选择用户坐标系可使操作更为简单 。
在实际应用中,我们通常需要将相机观察到的外界环境中物体的姿态从相机坐标系转换到机械臂的坐标系中,辅助机械臂规划一些后续动作(如抓取)。为了得到机器人坐标系和相机坐标系的转换矩阵,我们还需要对机器人进行手眼标定。

二、视觉抓取中的关键技术

众所周知,无论将摄像头安装在机械臂上,还是固定在周围环境中,都需要确定相机和机械臂本身的位置关系,视觉识别方面不仅要完成物体位置的识别,还需要分析抓取姿态。
而其中涉及的关键技术,主要是以下四个方面,与此同时ROS针对这些关键技术提供相应的功能包支持。
参考网址:https://zhuanlan.zhihu.com/p/63757762

1、手眼标定

手眼标定即相机内参和外参的标定,其中内参标定使用camera_calibration功能包实现相机内参标定的过程。可参考博客:https://blog.csdn.net/weixin_45661757/article/details/113256274
手眼标定外参标定分为两种方式:眼在手上(eye in hand)、眼在手外(eye to hand)。

  • eye-in-hand 眼在手上:相机固定在机器人末端。这种情况下,需要将标定板固定在地面上,机器人坐标系和标定板坐标系的转换关系始终不变。求解的量为相机坐标和机器人末端坐标系的位姿关系。
    在这里插入图片描述
  • eye-to-hand 眼在手外:相机固定在机器人外的固定底座上。这种情况下,需要将标定板固定在机器人末端,求解的量为相机坐标系和机器人坐标系之间的位姿关系。
    在这里插入图片描述注:推导过程参考网址:
    https://zhuanlan.zhihu.com/p/78855930
    https://zhuanlan.zhihu.com/p/93183788
    https://yongqi.blog.csdn.net/article/details/107421641
    https://blog.csdn.net/zxxxiazai/article/details/107979149
    https://blog.csdn.net/qq_34935373/article/details/103727968?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-12.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-12.control

2、物体识别与定位

视觉抓取中非常重要的一个部分就是对抓取物体的识别,无论是二维图像还是三维点云,在ROS中都可以找到对应的功能包,如果需要机器学习的话,也可以集成Tensorflow轻松实现。
ROS功能包

  • find_object_2d:http://wiki.ros.org/object_recognition
  • Tensorflow Object Detection API:https://github.com/tensorflow/models/tree/master/research/object_detection
  • object_recognition:http://wiki.ros.org/object_recognition

3、抓取姿态分析

抓取姿态分析是视觉抓取中的一个难点,众所周知生活中物体种类和摆放场景的复杂度太高,谷歌曾尝试用几十台机械臂进行抓取训练,最终还是由于无法大规模推广而放弃,可以尝试ROS中这些姿态分析的功能包。
ROS功能包

  • agile_grasp:http://wiki.ros.org/agile_grasp
  • graspit:http://wiki.ros.org/graspit
  • moveit_simple_grasps:http://wiki.ros.org/moveit_simple_grasps

4、运动规划

Moveit!为开发者提供了一个易于使用的集成化开发平台。由一系列移动操作的功能包组成,包括运动规划、操作控制、3D感知、运动学、控制与导航算法等。这些功能算法的实现都是通过插件的方式在Moveit!中集成,并提供友好的GUI,,可广泛应用于工业、商业、研发和其他领域。
参考博客
https://blog.csdn.net/weixin_45661757/article/details/109991238
https://blog.csdn.net/weixin_45661757/article/details/110005283

  • 29
    点赞
  • 455
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ROS机械臂视觉抓取是通过ROS(机器人操作系统)实现带有机械臂的移动机器人进行物体抓取的过程。这可以通过使用开源的ROS软件包来实现,例如提到的move_and_grasp软件包。 在机械臂完成视觉抓取任务的过程中,通常会有以下几个步骤: 1. 首先,机械臂处于使能但未运动的状态,准备执行抓取任务。这个初始状态可以在图4.6(a)中示意图中看到。 2. 然后,机械臂会移动到适合深度相机拍摄清晰图像的抓取姿态。这个过程可以在图4.6(b)中看到。 3. 接下来,机械臂使用视觉识别技术来检测并识别目标物体。在这个例子中,机械臂会识别红色长方体作为目标物体。 4. 一旦目标物体被识别出来,机械臂会执行抓取操作,将目标物体抓取起来。这一步骤在图4.6(c)中展示出来。 5. 最后,机械臂会将目标物体放置到预设的码垛区,完成抓取任务。这个过程可以在图4.6(d)中看到。 总之,ROS机械臂视觉抓取是通过使用ROS和相关软件包实现机械臂进行物体抓取的过程,包括姿态规划、视觉识别和抓取动作执行等步骤。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【Ubuntu&ROS】干货!小伙伴们快来拿,超全机械臂抓取开源项目!](https://blog.csdn.net/weixin_45087775/article/details/105587752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [基于机器视觉ROS机械臂抓取实验](https://blog.csdn.net/Yong_Qi2015/article/details/128310565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不是“耀”神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值