基于RGB-D相机的机械臂无序抓取系统

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

引导语:本文为“3D视觉创新应用(三维重建)竞赛”作品集系列之一,该作品由来自深圳大学团队完成,团队成员:赵晨昊、张曼英、周制黔、郭宏希、陈炎彬。全文约2604个字,阅读时长约5分钟,旨在为更多开发者提供学习参考。

一、项目介绍

利用奥比中光科技集团股份有限公司提供的Zora P1开发板、 RGBD相机,以及深圳大学物理与光电工程学院智能光测研究院提供的川崎机器人(6轴)开发出了一款RGB-D相机结合机械臂对任意摆放的复杂加工零件的三维重建及无序抓取系统。

源码地址:

https://github.com/3DCVdeveloper/zhaochenhao

二、项目背景

1.市场分析

随着“中国制造 2025”的提出,中国正处在“制造大国”到“制造强国”转型的进程,这一过程将会促使制造业转向智能化与自动化。

尽管中国已成为全球工业机器人密度增速最快的国家,但与国外相比,我国机器人密度仍处于较低水平。考虑到未来中国对于工业机器人的大规模需求以及智能化的要求,辅助机器人智能化的视觉技术将具有庞大的市场潜力。

而在工业机器人技术发展的过程中,工业分拣系统为其中重要的一环。在以往,传统工业分拣技术利用人工方式,耗力耗时,不仅难以满足自动化长时间作业的需求,同时人力长时间进行重复性工作时,也会导致出错率大幅度提高,使生产受到影响。现如今,自动化技术快速发展,在各类工业化生产流水线上,机器人技术正在被大规模的推广使用。

2.存在的问题

预先编程的工业机器人被应用在传统的工业自动分拣系统中,进行工业分拣。尽管它可以使重复性动作得到复现,然而这种工业机器人不能根据实际情况来变换自身动作,其所使用的分拣系统必须严格将分拣对象的摆放位置进行设定,并将大量的零部件位置固定,这虽然使得机器人不需要具备自主辨识的能力,对机器视觉技术的要求较低,但也因此此系统无法实现分类工作,只能实现简单的分拣任务。然而,在大部分的智能制造生产线中,多品种的零部件大多摆放位置随意、数目不固定,需要分拣系统正确识别出零件的类型,并从堆叠的零件中准确抓取零件,因此需要愈加智能化的机器视觉技术。基于姿态估计的机器视觉工业分拣系统在应对堆叠零件无序摆放的挑战上,具备较强的灵活性与鲁棒性,因而在工业生产中,有必要大力推广带姿态的机器视觉分拣系统,在使产品质量得以保证的同时,提升工业的生产效率和泛用性。

三、系统组成

系统搭建分为硬件系统部分和软件系统部分。

其中,硬件系统主要包括以下两部分,如图1所示。

(1)控制系统:

        川崎6轴机器人,气泵及气动夹具

(2)视觉系统: 

      Orbbec Astra Pro相机,Zora P1开发板,高性能计算机

图1.系统构成

软件系统主要包括:点云处理模块和相机与机械臂之间的通信模块,如图2所示。

图2(a).软件系统

图2(b). 软件设计流程图

四、关键技术及创新点

1.关键技术

①多帧及点云预处理,误差补偿

图3为工作距离(620mm)下白色背景板点云在Geomagic中拟合的平面,标准差1.43mm,正负最大距离为9mm,正负平均距离1.22mm。由数据可知在此工作距离下的平面标准差为1.43mm,比较大,且点云会出现分层现象,导致了手眼标定时会产生误差,点云分割会导致同一个面分割成两个部分,以及点云配准时的不准确等问题。这也是本项目中最大误差产生的来源。我们通过点云滤波(直通滤波,平滑滤波),取平均中心点和法线方向来平均掉误差,并且在控制系统中,让机械臂去在x,y,z方向补偿误差来进行抓取。

图3(a).上为白色背景板

图3(b). 拟合平面图

②手眼标定:(4点SVD分解法)

相机坐标系下获取点云并显示,随机获取四个特征点坐标(如棋盘格的角点),示教模式下控制机器人的末端到达实际特征点所在位置,获取基于机器人坐标系下的四个特征点坐标,两组点具有旋转平移关系,利用SVD分解法进行对两组点进行求解,获得相机与机器人之间固定位置的转换矩阵。

③点云分割:(点云聚类分割求取平面法线及中心点)

本项目中对于任意摆放的长方体,其点云特性为不同深度下具有平面特征,以及在拐角处的法线变化较大,所以在点云分割中采取了区域生长的聚类分割算法,利用了法线,曲率,欧式距离等信息来判断点云是否应该聚成一类。并且使用kd-tree加速检索,取得了比较好的分割效果。

④平面拟合及中心点求取:

在点云分割过程中,选取最多点簇作为分割出的木块平面进行拟合。由于点云存在分层现象,所以采用求取点云重心的方法确定中心点。对于平面拟合则采用最小二乘拟合的方法求解。至此我们就可以确定出在机械臂基体坐标系下木块表面中心点及法向量,便于后续机器人姿态计算。

⑤机器人姿态求解:(X,Y,Z,O,A,T)求解

利用获取的小木块归一化后的法向量与机器人Z轴单位向量(基于地面为(0,0,1))进行叉乘,来获取代表向量角度变换后的罗德里格斯向量,基于罗德里格斯向量获取罗德里格斯矩阵,此时的罗德里格斯矩阵代表六轴机器人绕各向轴旋转之后的最终矩阵(Z-Y-Z方向),逆向求解OAT即可。

2.创新点:

①采用一种快速4点手眼标定法,在没有强度信息下进行手眼标定。利用4点对SVD分解出RT矩阵。

②可以带姿态进行无序抓取。即对任意摆放的物体可以从平面的法线方向进行抓取。

五、实验过程

1.相机输出深度图,转为点云图,并进行多帧,点云滤波等处理(直通滤波,体素滤波等)。

2. 6轴机器人与计算机之间的通信(UDP协议)

3. 相机与6轴机器人计算手眼标定矩阵,这里使用了4对点SVD分解法进行求解。得到视觉系统与机器人本体系统之间的转换矩阵。

4. 制作木块模板,并求出木块本体坐标系下的抓取点和法线信息,保存至文件中。

5. 利用相机拍得目标(木块)点云,得到点云进行点云滤波,并进行下采样(实际中点云较少可以去掉)。

6. 点云分割(这里使用了聚类分割方法,由于木块是都是平面构成,平面内法线连续,距离连续,拐角处法线变化大,欧氏距离大,区域生长的聚类分割效果较好)。

图4.点云分割结果图

7. 点云配准(4PCS+ICP)由于点云精度较差导致匹配结果较差,且不鲁棒,一致性差,所以放弃此方案。

图5.点云配准结果图

8. 转为使用平面拟合及中心点的方案进行抓取。将点云分割出的最多点构成的面进行平面拟合,计算平面中心点和法向量

9. 利用法向量与机器人坐标系之间的关系,求解机器人的抓取姿态(OAT)

10. 输入坐标与姿态信息指令( X,Y,Z,O,A,T)给机器人实现抓取。

11. 开发板与相机、机械臂进行通信(QT实现)

12. 开发板环境搭建(QT5,OPENCV320,PCL1.8)遇到flann库编译冲突并解决。

13. 开发板代码编译运行(由于开发板内存较小,无法正常运行)

六、Demo演示

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

3D视觉工坊 CSDN认证博客专家 算法 3D视觉
个人公众号:3D视觉工坊。公众号特邀嘉宾及合伙人,先后就职于国内知名研究机构、自动驾驶公司、海康研究院,主要研究方向为深度学习、目标检测、语义分割、图像处理、自动驾驶感知算法等,CSDN博客专家。博主先后任职于国内知名研究院、知名大厂,致力于3D视觉算法、VLAM算法开发,涉及相机标定、手眼标定、结构光、点云后处理、三维重建等相关领域的研究,同时也是CSDN博客专家。3D视觉工坊坚持原创,近一年来输出了非常多的高质量文章,获得了粉丝的一致好评,我们将始终坚持走原创路线,打造一个铁杆粉丝的聚集区。
已标记关键词 清除标记
相关推荐
机械手搬运控制系统中的应用摘要:机械手是在机械化、自动化生产过程中发展起来的一种新型装置。它可在空间抓、放、搬运物体等,动作灵活多样,广泛应用在工业生产和其他领域内。应用PLC控制机械手能实现各种规定的工序动作,不仅可以提高产品的质量与产量,而且对保障人身安全,改善劳动环境,减轻劳动强度,提高劳动生产率,节约原材料消耗以及降低生产成本,有着十分重要的意义。本文以日本三菱FX2N-48MR型的PLC为基础,介绍PLC在机械手搬运控制中的应用,并给出了详细的PLC程序设计过程。该程序已在工业机械手中获得了广泛应用,具有稳定、可靠的性能。关键词:PLC·机械手,控制。应用1机械结构和控制要求如图1所示是一个将工件由A处传送到B处的机械手示意图,机械手的上升,下降和左移,右移的执行用双线圈二位电磁阀推动气缸完成。其中上升与下降对应电磁阀的线圈分别为YVl与w2,左行、右行对应电磁阀的线圈分别为YV3与YV4。当某个电磁阀线圈通电,就一直保持现有的机械动作,直到相对的另一线圈通电为止。气动机械手的夹紧,松开的动作由只有一个线圈的两位电磁阀驱动的气缸完成,线圈(YVS)断电夹住工件,线圈(YV5)通电,松开工件,以防止停电时的工件跌落。机械手的工作都设有上、下限位和左、右限位的位置开关SQl、SQ2和sQ3、SQ4,夹持装置不带限位开关,它是通过一定的延时来表示其夹持动作的完成。机械手在最上面、最左边且除松开的电磁线圈(YV5)通电外其它线圈全部断电的状态为机械手的原位。机械手的操作面板分布情况如图2所示,机械手具有手动、单步,单周期、连续和回原位五种工作方式,用开关SA进行选择。手动工作方式时,用各操作按钮(SB5、SB6,SB7、SB8、SB9、SBIO、SBll)来点动执行相应的各动作l单步工作方式时,每按一次起动按钮(SB3),向前执行一步动作,单周期工作方式时,机械手在原位,按下起动按钮SB3,自动地执行一个工作周期的动作,最后返回原位(如果在动作过程中按下停止按钮SB4,机械手停在该工序上,再按下起动按钮SB3,则又从该工序继续工作,最后停在原位)j连续工作方式时,机械手在原位,按下起动按钮(SB3),机械手就连续重复进行工作(如果按下停止按钮SB4,机械手运行到原位后停止);返回原位工作方式时,按下。回原位”按钮SBll,机械手自动回到原位状态。2 LC的I/o分配如图3所示为PLC的I/O接线图,选用FX2N·48MR的PLC,系统共有18个输入设备和5个输出设备分别占用PLC的18个输入点和5个输出点。为了保证在紧急情况下(包括PLC发生故障时),能可靠地切断PLC的负载电源,设置了交流接触器KM。在PLC开始运行时按下“电源”按钮SBl,使KM线圈得电并自锁,KM的主触点接通,给输出设备提供电源;出现紧急情况时,按下“急停”按钮SB2,KM触点断开电源。 PLC程序设计3.1程序的总体结构如图4所示为机械系统的PLC梯形图程序的总体结构,将程序分为公用程序、自动程序、手动程序和回原位程序四个部分,其中自动程序包括单步、单周期和连续工作的程序,这是因为它们的工作都是按照同样的顺序进行,所以将它们合在一起编程更加简单。梯形图中使用跳转指令使得自动程序、手动程序和回原位程序不会同时执行。假设选择。手动”方式,则X0为ON、X1为OFF,此时PLC执行完公用程序后,将跳过动程序到P0处,由于X0常闭触点为断开,故执行“手动程序”,执行到P1处,由于X1常闭触点为闭合,所以又跳过回原位程序到P2处l假设选择分“回原位”方式,则X0为OFF、X1为ON,跳过自动程序和手动程序执行回原位程序,假设选择“单步”或“单周期”或“连续”方式,则X0、X1均为OFF,此时执行完自动程序后,跳过手动程序和回原位程序。3.2各部分程序的设计(1)公用程序公用程序如图5所示,左限位开关X12、上限位开关X10的常开触点和表示机械手松开的Y4的常开触点的串联电路接通时,辅助继电器M0变为ON,表示机械手在原位。公用程序用于自动程序和手动程序相互切换的处理,当系统处于手动工作方式时,必须将除初始步以外的各步对应的辅助继电器(M1I-M18)复位,同时将表示连续工作状态的M1复位,否则当系统从自动工作方式切换到手动工作方式,然后又返回自动
在当今大规模制造业中,企业为提高生产效率,保障产品质量,普遍重视生产过程的自动化程度,工业机器人作为自动化生产线上的重要成员,逐渐被企业所认同并采用。工业机器人的技术水平和应用程度在一定程度上反映了一个国家工业自动化的水平,目前,工业机器人主要承担着焊接、喷涂、搬运以及堆垛等重复性并且劳动强度极大的工作。 由于注塑机专用机械手能够大幅度的提高生产率和降低生产成本,能够稳定和提高注塑产品的质量,避免因人为的操作失误而造成的损失。因此,注塑机械手在注塑生产中的作用变得越来越重要。目前国内的机械手类型比较简单,且大都用于取件。随着注塑成型工业的发展,以后将有越来越多的机械手用于上料、混合、自动装卸模具、回收废料等各个工序上,而且将朝着智能化方向发展。 注塑机专用机械手是能够模仿人体上肢的部分功能,可以对其进行自动控制使其按照预定要求输送制品或操持工具进行生产操作的自动化生产设备。注塑机械手是为注塑生产自动化专门配备的机械,它可以在减轻繁重的体力劳动、改善劳动条件和安全生产;提高注塑成型机的生产效率、稳定产品质量、降低废品率、降低生产成本、增强企业的竞争力等方面起到及其重要的作用。 各种类型机械手是自动化生产中必不可少的重要设备。尤其是在危险场合,在严重威胁人们安全和健康的环境下,采用机械手代替人,具有十分重要的意义。
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值