资讯详情

工业机器人抓取时怎么定位的?用什么传感器来检测?

点击上方“”,选择加""或“

重磅干货,第一时间送达 

从机器视觉的角度来看,作者从六个方面对文章的标题进行了深入的分析,包括相机标定、平面物体检测、纹理物体、无纹理物体、深度学习和任务/运动规划。

首先,我们需要了解机器人领域的视觉(Machine Vision)跟随计算机领域(Computer Vision)有一些不同的视觉:机器视觉的目的是。因此,对机器视觉的研究可能有以下几点:1.(Object Recognition):在图像中检测到物体类型等 CV 很大一部分研究交叉;2.(Pose Estimation):计算出物体在摄像机坐标系下的位置和姿态,对于机器人而言,需要抓取东西,不仅要知道这是什么,也需要知道它具体在哪里;3.(Camera Calibration):因为以上只计算了相机坐标系下物体的坐标,我们还需要确定相机和机器人的相对位置和姿势,以便将物体的位置转换为机器人的位置。当然,我主要在物体抓取领域的机器视觉;SLAM 等别的领域就不说了。因为视觉是机器人感知的一个非常重要的内容,所以有很多研究,我知道一些,按照从简到复杂的顺序:

这实际上是一个相对成熟的领域。由于我们所有的物体识别只计算相机坐标系下物体的位置,机器人需要知道物体在机器人坐标系下的位置。因此,我们首先需要校准相机的位置。内参标定不说,参照张正友的论文,或各种标定工具箱;根据相机的安装位置,外参标定有两种方式:

  • Eye to Hand:相机与机器人极坐标固连,不随机械臂运动

  • Eye in Hand:相机固定在机械臂上,随机械臂移动

这两种解决方案的想法相似。首先,眼睛在手外(Eye to Hand)

只需在机械臂末端固定一个棋盘格,并在相机视野中移动几个姿势。因为相机可以计算棋盘格相对于相机坐标系的位置A_i 、机器人运动学正解可以计算机器人底座到末端抓手之间的位置变化E_i 、而末端爪手和棋盘格的位置相对固定。这样,我们就可以得到一个坐标系环 CX=XD有很多方法可以解决这种结构。我在这里给出一个眼睛在手上(Eye in Hand)情况也差不多。在地上放一个棋盘格(与机器人基座固定),然后让机械臂用相机走几个位置,然后形成一个。AX=XB 的坐标环。

这是目前工业装配线上最常见的场景。目前,该领域的视觉要求是:快速、准确、稳定。因此,它通常是最简单的;此外,为了提高稳定性,系统变量通常会通过主光源和大对比背景来减少。

目前,许多智能相机(如 cognex)这些功能直接嵌入;此外,物体通常放置在平面上,相机只需计算物体(x,y,θ)T 三自由度位置即可。此外,这种应用场景通常用于处理特定的工件,相当于只估计位置而不识别物体。当然,追求工业稳定性是可以理解的,但随着生产自动化和服务机器人的兴起的要求越来越高。对更复杂物体的完整位置(x,y,z,rx,ry,rz)T 据估计,它已成为机器视觉研究的热点。

机器人视觉领域是第一个开始研究纹理的物体,如饮料瓶、零食盒等表面纹理丰富的物体。当然,这些物体也可以从类似的边缘提取 模板匹配的方法。然而,在实际机器人操作过程中,环境会:光照条件不确定(光照)、物体距离相机距离不确定(尺度)、相机看物体的角度不确定(旋转、仿射)、甚至是被其他物体遮挡(遮挡)。

幸好有个叫 Lowe 大神,提出了一个叫做的大神 SIFT (Scale-invariant feature transform)的具体原理可以看篇文章的具体原理 4万 简单或各种博客,简单地说,该方法提取的特征只与物体表面的纹理、光变化、尺度变化、仿射变化和整个物体有关。因此,利用 SIFT 在相机图像中可以直接找到与数据库中相同的特征点,从而确定相机中的物体是什么

对于不变形的物体,特征点固定在物体坐标系下。因此,在获得多个点对后,我们可以直接找到相机中物体与数据库中物体之间的单应性矩阵。如果我们使用深度相机(如Kinect)或双眼视觉方法,确定每个特征点 3D 位置。然后,直接解决这个问题。 PnP 在当前相机坐标系下,可以计算出物体的位置。

↑ 这是实验室毕业前师兄的成绩

当然,实际操作过程中还是有很多细节工作才可以让它真正可用的,如:先利用点云分割和欧氏距离去除背景的影响、选用特征比较稳定的物体(有时候 SIFT 也会改变),用贝叶斯加速匹配等。而且,除了 SIFT 此外,还有很多类似的特征,比如 SURF、ORB 等。

嗯,有问题的物体很容易解决,所以生活或工业中有很多物体没有纹理:

我们最容易想到的是,是否有一个特征点可以描述物体的形状和跟踪 SIFT 类似的不变性?不幸的是,据我所知,目前还没有这样的特征。因此,以前的一大类方法仍然是基于但是,特别选择了匹配特征(不仅仅是边缘等简单特征)。在这里,我介绍一下

简单地说,这篇论文同时被使用与数据库中的模板板。由于数据库中的模板是从一个物体的多个角度生成的,因此匹配的物体位置只能被初步估计为不准确。但是,只要有这个初步估计的物体位置,我们就可以直接使用它 ICP 算法(Iterative closest point)与物体模型相匹配 3D 点云,以获得相机坐标系下物体的准确位置。

当然,该算法在具体实施过程中仍有许多细节:如何建立模板、颜色梯度表示等。此外,该方法无法处理物体被屏蔽的情况。(当然,部分屏蔽可以通过降低匹配阈值来处理,但会导致误解)。针对部分遮挡,我们实验室的张博士去年对 LineMod 进行了改进,但由于论文尚未发表,所以没有涉及太多。

由于深度学习在计算机视觉领域取得了很好的效果,我们自然会尝试成为机器人 DL 用于机器人物体识别。首先,可以复制物体识别 DL 各种研究成果 CNN 拿过来用好了。在 2016 年的『亚马逊抓取大赛』中,很多队伍都采用了 DL 作为物体识别算法。然而, 在这个比赛中,虽然很多人采用 DL 进行物体识别,但在物体位姿估计方面都还是使用比较简单、或者传统的算法。似乎并未广泛采用 DL。如 @周博磊 所说,一般是采用 semantic segmentation network 在彩色图像上进行物体分割,之后,将分割出的部分点云与物体 3D 模型进行 ICP 匹配。当然,直接用神经网络做位姿估计的工作也是有的,如这篇:

它的方法大概是这样:对于一个物体,取很多小块 RGB-D 数据(只关心一个patch,用局部特征可以应对遮挡);每小块有一个坐标(相对于物体坐标系);然后,首先用一个自编码器对数据进行降维;之后,用将降维后的特征用于训练Hough Forest。

这部分也是比较有意思的研究内容,由于机器视觉的目的是给机器人操作物体提供信息,所以,并不限于相机中的物体识别与定位,往往需要跟机器人的其他模块相结合。

我们让机器人从冰箱中拿一瓶『雪碧』,但是这个 『雪碧』 被『美年达』挡住了。我们人类的做法是这样的:先把 『美年达』 移开,再去取 『雪碧』 。所以,对于机器人来说,它需要先通过视觉确定雪碧在『美年达』后面,同时,还需要确定『美年达』这个东西是可以移开的,而不是冰箱门之类固定不可拿开的物体。当然,将视觉跟机器人结合后,会引出其他很多好玩的新东西。由于不是我自己的研究方向,所以也就不再班门弄斧了。

来源:知乎  作者:fly qq

原文链接:https://www.zhihu.com/question/26199861

在「」公众号后台回复:即可下载全网第一份OpenCV扩展模块教程中文版,涵盖等二十多章内容。

在「」公众号后台回复:即可下载包括等31个视觉实战项目,助力快速学校计算机视觉。

在「」公众号后台回复:即可下载含有个基于实现20个,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。在群内发送广告,否则会请出群,谢谢理解~

标签: 3050al旋转传感器fly传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台