机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

作者:Tom Hardy
Date:2020-2-13
来源:机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

前言

最近读了一些关于机器人抓取相关内容的文章,觉得甚是不错,针对一些方法和知识点,做下总结。本文综述了基于视觉的机器人抓取技术,总结了机器人抓取过程中的四个关键任务:目标定位、姿态估计、抓取检测和运动规划。具体来说,目标定位包括目标检测和分割方法,姿态估计包括基于RGB和RGBD的方法,抓取检测包括传统方法和基于深度学习的方法,运动规划包括分析方法、模拟学习方法和强化学习方法。此外,许多方法共同完成了一些任务,如目标检测结合6D位姿估计、无位姿估计的抓取检测、端到端抓取检测、端到端运动规划等。本文对这些方法进行了详细的综述,此外,还对相关数据集进行了总结,并对每项任务的最新方法进行了比较。提出了机器人抓取面临的挑战,并指出了今后解决这些挑战的方向。

介绍

为了完成机器人的抓取任务,机器人首先需要感知物体。随着传感器设备的不断发展,目前的机器人都配备了RGB摄像机和深度摄像机来获取丰富的环境信息。然而,原始的RGB-D图像对于机器人来说是简单的数字网格,在那里需要提取高层次的语义信息来实现基于视觉的感知。要抓取的目标对象的高层信息通常包含位置、方向和抓取位置。然后计算抓取规划以执行物理抓取。赋予机器人感知能力一直是计算机视觉和机器人学科的一个长期目标。机器人抓取不仅意义重大,而且早已被研究。机器人抓取系统由抓取检测系统、抓取规划系统和控制系统组成。其中,抓取检测系统是关键的入口点,它分为三个任务:目标定位、姿态估计和抓取点检测。结合抓取规划,详细介绍四项任务。
在这里插入图片描述
早期的方法假设要抓取的对象被放置在一个背景简单的干净环境中,从而简化了对象定位任务,而在相对复杂的环境中,它们的能力相当有限。一些目标检测方法利用机器学习方法对基于手工二维描述符的分类器进行训练。但是,由于手工创建的描述符的限制,这些分类器的性能有限。近年来,深度学习已经开始主导图像相关的任务,如目标检测和分割。此外,从RGB图像到深度图像的训练数据,以及二维或三维输入的深度学习网络,极大地提高了目标定位的性能,促进了机器人抓取技术的发展。利用目标物的位置,可以进行抓取检测。早期的分析方法是直接分析输入数据的几何结构,根据力闭合或形状闭合来寻找合适的抓取点。然而,分析方法存在着费时、计算困难等问题。随后,随着大量三维模型的出现,可以分析数据驱动的方法,将三维模型数据库中的抓取转移到目标对象。Bohg等人介绍了数据驱动的抓取方法,并根据抓取配置是针对已知、熟悉还是未知对象计算的,将这些方法分为三组。一般来说,目标物体的6D姿态是完成这项任务的关键。基于RGB图像的方法和基于深度图像的方法都可以实现精确的姿态估计。然而,这些方法如部分配准方法易受传感器噪声或不完整数据的影响。通过深度学习方法,可以直接或间接地从输入数据中估计姿态,从而获得对传感器噪声或不完整数据的抵抗力。还存在基于深度学习的方法,不需要6D姿势来进行抓取检测。抓取结构可以通过深卷积网络直接或间接回归。Caldera等人回顾了基于深度学习的机器人抓取检测方法。他们讨论了深度学习方法的每个元素如何提高机器人抓取检测的整体性能。此外,监督学习法、强化学习法也被用来直接完成特定的任务,如玩具装配等与抓取密切相关。

四项基本任务

下面将从目标定位、姿态估计、抓取点检测以及抓取规划四个方面详细介绍机器人抓取系统的主要内容。

目标定位(Object localization)

大多数抓取方法首先需要计算目标在输入图像数据中的位置。这涉及到目标检测和分割技术。目标检测提供目标对象的矩形包围盒,目标分割提供目标对象的精确边界。后者提供了更精确的对象区域描述,而其计算则更耗时。
针对2D目标检测:主要包括SIFT、SURF、Faster RCNN、YOLO、SSD等常见目标检测算法。
针对3D目标检测:主要包括FPFH、SHOT等传统算法以及PointRCNN、VoxelNet等深度学习方式。
针对2D目标分割:主要包括FCN、UNet、DeepLab、Mask RCNN等方式。
针对3D目标分割:主要包括PointNet、PointNet++、PointCNN等方式。

2D检测:
在这里插入图片描述
3D检测:
在这里插入图片描述
2D分割:

在这里插入图片描述

3D分割:
在这里插入图片描述
与传统的手工描述子方法相比,基于深度学习的方法取得了较好的效果。然而,对大量训练数据的需求和训练模型的泛化能力仍然具有挑战性。

6D姿态估计

6D姿态估计在增强现实、机器人操作、自主驾驶等领域发挥着重要作用。它帮助机器人知道要抓取的物体的位置和方向。姿态估计方法大致可分为四种,分别基于对应、模板、投票和回归。

1、不基于目标检测先验信息

基于对应方法:

  1. 在2D点和3D点之间找到匹配,并使用PNP方法,如SIFT、SURF、ORB
  2. 通过随机假设或三维描述寻找三维对应关系,并使用ICP对结果进行细化: FPFH、SHOT

基于模板方法:LineMod算法。从没有纹理的三维模型渲染图像,提取梯度信息进行匹配,并使用ICP对结果进行细化。
基于投票方法:PPF算法。基于三维点云或具有姿态的渲染RGB-D图像,每个局部预测一个结果,并使用RANSAC对结果进行优化。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、基于目标检测信息的6D姿态估计

这种方法也称为基于回归的方法,它同时完成目标检测和6D姿态估计。基于回归的方法:BB8、SSD6D、PoseCNN、Deep6DPose。基于三维点云或具有适当姿势的渲染RGB-D图像,并使用CNN进行姿态回归。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

独立于目标检测的方法在通常发生遮挡的杂乱场景中显示出明显的局限性;基于目标检测的方法是缺乏足够的训练数据。

抓取点检测(Grasp Detection)

抓取检测被定义为能够识别任何给定图像中物体的抓取点或抓取姿势。抓取策略应确保对新物体的稳定性、任务兼容性和适应性,抓取质量可通过物体上接触点的位置和手的配置来测量。为了掌握一个新的对象,完成以下任务,有分析方法和经验方法。分析方法根据抓取稳定性或任务要求的运动学和动力学公式,选择手指位置和手部构型,经验方法根据具体任务和目标物体的几何结构,使用学习算法选择抓取。

根据是否需要进行目标定位,需要确定目标的姿态,进一步将其分为三类: 具有已知定位和姿势的方法、具有已知定位和无姿态的方法、无定位和无姿态的方法。

1、具有已知定位和姿势

针对已知目标的经验方法,利用姿态将已知目标的抓取点转换为局部数据。
主要算法有:

  1. Multi-view self-supervised deep learning for 6d pose estimation in the amazon picking challenge.
  2. Silhonet: An RGB method for 3d object pose estimation and grasp planning.

在这里插入图片描述
2、具有已知定位和无姿态的方法

主要方法:

  1. Automatic grasp planning using shape primitives.
  2. Part-based grasp planning for familiar objects.
  3. Transferring grasp configurations using active learning and local
    replanning.
  4. Dex-net 2.0: Deep learning to plan robust grasps with synthetic
    point clouds and analytic grasp metrics.

在这里插入图片描述

3、无定位无姿态的方法
主要基于深度学习方法,包括:

  1. Deep learning for detecting robotic grasps.
  2. Real-time grasp detection using convolutional neural networks.
  3. Object discovery and grasp detection with a shared convolutional
    neural network.
  4. Supersizing self-supervision: Learning to grasp from 50k tries and 700 robot hours.
  5. Real-time, highly accurate robotic grasp detection using fully
    convolutional neural networks with high-resolution images.
  6. Robotic pick-and-place of novel objects in clutter with multi-affordance grasping and cross-domain image matching.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运动规划

1、已有抓取点

本节介绍开环方法,其中假设抓取点已通过上述步骤检测到。这些方法设计了从机器人手到目标物体抓取点的路径。这里运动表示是关键问题。虽然存在从机器人手到目标抓握点的无限数量的轨迹,但是由于机器人臂的限制,许多区域无法到达。因此,需要对轨迹进行规划。

主要有三种方法,如传统的基于DMP的方法、模仿学习的方法和基于强化学习的方法。

基于DMP的方法:主要包括DMP算法。形式化为稳定的非线性吸引子系统。

基于模仿学习的方法:

  • Generalization of human grasping for multi-fingered robot hands.

在这里插入图片描述
基于强化学习的方式:

  • Task-agnostic self-modeling machines.

在这里插入图片描述

2、无抓取点

主要通过强化学习直接完成对原始RGB-D图像的抓取任务。
主要有:

  • Learning hand-eye coordination for robotic grasping with deep
    learning and large-scale data collection.
  • Qt-opt: Scalable deep reinforcement learning for vision-based robotic manipulation.
  • Robustness via retrying: Closed-loop robotic manipulation with
    selfsupervised learning.

在这里插入图片描述
在这里插入图片描述

  • 45
    点赞
  • 375
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Halcon可以使用其3D视觉工具来实现机器人规划物体的抓取姿态路径。以下是一些可能有用的代码示例: 1. 获取目标物体的3D点云数据: ``` read_object_model_3d('object_model.h3d', ObjectModel3D) create_surface_model(ObjectModel3D, [], [], SurfaceModel3D) create_point_cloud_object_model(SurfaceModel3D, ObjectPointCloud) ``` 2. 通过点云数据计算物体的表面法线: ``` create_normal_map(ObjectPointCloud, [], [], ObjectNormals) ``` 3. 检测物体表面的特征点,用于计算抓取姿态: ``` create_feature_model_3d(ObjectPointCloud, [], [], ObjectFeatures3D) ``` 4. 计算机器人手爪的抓取姿态: ``` create_graspable_object_model_3d(ObjectPointCloud, ObjectNormals, ObjectFeatures3D, [], [], [], GraspableModel3D) compute_grasp_poses_3d(GraspableModel3D, RobotHand, [], [], [], PossibleGrasps) ``` 5. 计算机器人手爪的运动路径: ``` generate_grasp_path_3d(PossibleGrasps, RobotHand, [], [], [], GraspPath) ``` 注意,上述代码示例中需要使用正确的参数来调用相应的函数,例如指定正确的文件名和机器人手爪的几何形状等。此外,还需要根据实际应用场景进行适当的修改和调整。 ### 回答2: Halcon是一种计算机视觉软件库,可以进行图像分析和处理。通过Halcon库,可以实现机器人规划物体的抓取姿态路径的代码编写。 要实现机器人抓取姿态路径规划,一般需要以下步骤: 1. 图像采集和处理:使用Halcon库中的图像采集和图像处理功能,对物体进行图像的采集,并提取物体的特征,例如边缘、形状、颜色等。 2. 物体定位和姿态估计:利用Halcon库中的定位和姿态估计算法,对采集到的物体图像进行处理,确定物体的位置和姿态信息。这可以通过图像特征匹配、模板匹配、点云匹配等技术实现。 3. 规划抓取路径:根据物体的位置和姿态信息,结合机器人的运动学和动力学约束,利用Halcon库提供的路径规划算法,生成机器人抓取路径。这可以通过基于规划的方法,例如逆向运动学、运动优化等。 4. 控制机器人执行:将生成的抓取路径转化为机器人控制命令,通过与机器人控制系统的接口,控制机器人按照规划路径进行抓取动作。这可以通过机器人控制语言或者通信接口实现。 通过以上步骤,使用Halcon库可以实现机器人抓取姿态路径规划代码编写。这样,机器人就能够根据图像信息确定物体的位置和姿态,并根据路径规划进行精确的抓取动作。这对于机器人操作物体来说是非常重要的,可以提高机器人的工作效率和灵活性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值