专利:一种基于深度强化学习的机器人工件抓取方法

摘要:

本发明提供一种基于深度强化学习的机器人工件抓取方法,涉及机器人抓取技术领域。该基于深度强化学习的机器人工件抓取方法,包括对无序不规则工件进行三维建模、对工件进行识别与位姿计算、对机器人的手眼进行标定以及抓取轨迹、对机器人智能抓取软硬件系统进行研究。本发明,通过利用结构光相机传感器获取目标零件的三维信息,通过三维目标识别定位技术估计目标零件的位姿,根据手眼标定确定的转换关系变换零件位姿并反馈给机械臂,机械臂根据反馈信息执行最后的抓取动作。

背景:

实现机器人自动化操作需要面临很多挑战, 尤其是自身的感知系统以及复杂的现场环境。 传统的物体识别主要基于二维图像, 然而物体的二维图像不能提供空间位置信息, 而且由于光照变换、视角变换等因素,目标零件的特征信息不能被稳定的检测出来,大大增加检测结果的不确定性。

大量稳健的三维视觉算法的提出,降低视觉检测系统对传感器精度的要求, 弥补廉价传感器精度上的不足。

以结构光相机传感器作为信息提供源, 研究深度数据的滤波去噪、复杂环境下的三维物体检测与位姿估计问题, 为实现机器人自动化操作提供可能。

解决的技术问题:

针对现有技术的不足, 本发明提供了一种基于深度强化学习的机器人工件抓取方法, 通过利用结构光相机传感器获取目标零件的三维信息, 通过三维目标识别定位技术估计目标零件的位姿, 根据手眼标定确定的转换关系变换零件位姿并反馈给机械臂, 机械臂根据反馈信息执行最后的抓取动作。

技术方案步骤:

步骤一: 对无序不规则工件进行三维建模:

采用双目立体成像和面结构光的3D相机, 获取工件的三维坐标和灰度数据, 并基于这些数据对工件进行三维建模;

步骤二: 对工件进行识别与位姿计算:

在工件三维建模基础上, 利用工件局部特征的不变特性, 采用基于卷积神经网络框架,研究工件的识别与定位, 并基于三维视觉的视差原理, 研究工件位姿计算;

步骤三: 对机器人的手眼进行标定以及抓取轨迹:

为了实现零件抓取, 必须将3D相机获取零件的三维坐标统一到机器人坐标系下,所以要进行3D相机与机器人之间的手眼标定。拟采用小球标定方法, 对机器人手眼标定方面进行研究。为了实现机器人避开障碍物和空间奇异点, 轨迹规划是必不可缺少的步骤, 拟采用基于深度强化学习理论,对机器人抓取轨迹规划进行研究;

步骤四: 对机器人智能抓取软硬件系统进行探究:

研发一套机器人智能抓取万向轮产业无序不规则工件的软硬件系统。

具体的, 软硬件系统功能基于OpenCV、PCL库对软件功能进行开发。主要分为四个部分; 硬件层、底层软件依赖库、中间功能模块、上层功能模块。硬件层主要包括: 3D相机、机器人、视觉系统、投影仪等。底层软件依赖库是系统开发时使用的库。中间功能模块包括:图像处理模块、点云处理模块、标定模块和机器人通信模块。上层功能模块基于中间功能模块进行高层功能的开发, 系统主要的功能是重建点云, 并识别零件, 驱动机器人抓取零件。

(1)硬件层系统设计:

硬件层系统主要包括机器人、3D相机、计算机、气动夹具、空压机等组成:

1)机器人: 机器人是一款小型六轴机器人,自重仅16kg, 有效负载4kg。系统包括了示教器、机械本体,并可通过WiFi通信对系统进行控制。

2)3D相机: 3D成像原理多样,从模拟人眼机理的双目视觉, 到基于三角法的各种技术路线, 包括结构光和线激光两大主流, 甚至到如今的时间飞行(TOF)原理均有多种产品可用。目前市面上可商业化的, 用于工业的3D成像传感器仍然以线激光和面结构光为主。基于面结构光的3D成像需要用到编码结构光或者散斑结构光, 结构光的投射方法又分为DMD(Digital Micromirror Device), MEMS(Micro‑Electro Mechanical Systems)振镜产生条纹光或者利用DOE(Diffraction optical device)产生散斑结构光。目前,高精度工业级3D相机以DMD产生编码结构光为主, MEMS振镜方式由于其体积小, 功耗低, 成本低等原因逐渐被用到精度要求较低的场景, DOE方式在消费级产品中占据主流。

3)气动夹具: 机器人采用两爪气动夹具完成抓取零件, 孔径为6mm, 夹持力为3.7N,手爪打开时距离为12mm, 手爪闭合时距离为8mm。零件抓取位置大小为10mm, 小于打开距离,大于闭合距离,不需要加垫片。

4)其他硬件设备的选用和设计: 计算机: 本系统选用了一台华硕台式电脑, 8G内存, 英特尔巧处理器, 频率为3.6GHZ, 硬盘500G, 配置基本达到要求。实验架: 本系统设计了一台实验架, 该实验架固定于机器人的工作台上,限制了机器人与视觉系统之间位置。零件箱: 为了防止零件盒内部对光源的反射对图像产生干扰和影响, 故用磨砂纸对零件盒箱内部进行打磨, 使得底板产生漫反射效果。

(2)软件层系统设计:

本文程序的开发平台是VS2015, 运用C++编程语言, 使用OpenCV和PCL库对系统功能采用面向对象的模块化设计的方法进行开发, 如图5所示, 本文的程序包括五大功能模块,分别是标定模块、图像处理模块、点云处理模块、通信模块、显示模块。

1)标定模块: 标定模块主要是对相机的内外参数、镜头畸变参数的标定以及相机与机器人坐标系之间位置关系的标定。

2)图像处理模块:图像处理模块包括对图像的获取, 对获取的图像进行滤波、分割等操作, 分离背景与零件图像, 分割投影在零件表面的投影光栅, 并匹配相同编码区域。控制投影仪与相机的时序,三维重建点云。

3)点云处理模块: 点云处理模块是整个系统的核心模块, 主要完成的功能是提取三维的点云关键点,并通过描述算子描述关键。建立模板库, 通过匹配模板点云的关键点与现实场景中零件点云关键点, 估算模板零件与现实零件旋转平移关系, 最后通过坐标转换得到机器人抓取位姿。

4)通信模块: 机器人通信模块主要是把点云处理模块计算得到的零件的真实位姿作为输入, 通过坐标变换, 计算得出机器人末端夹具的最终的拾取位姿,并通过WiFi通信向机器人发送规划的离散轨迹点, 驱动机器人到达相应位姿, 最后通过Modbus通信控制气动夹具的闭合抓取零件。

5)显示模块: 显示模块主要包括巧目采集图像的实时显示和点云处理模块的显示。

尽管已经示出和描述了本发明的实施例, 对于本领域的普通技术人员而言, 可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关推荐
xiaoyaolangwj16 分钟前
高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十三)图优化SLAM的本质
学习·机器人·自动驾驶
花生树什么树1 天前
机器人操作臂逆运动学
机器人·逆运动学
anzocapital1 天前
anzocapital 昂首资本:外汇机器人趋势判断秘籍
机器人
旗晟机器人1 天前
化工防爆巡检机器人:在挑战中成长,为化工安全保驾护航
人工智能·机器人
QYR市场调研1 天前
手术机器人:精准医疗的新选择
机器人
小帅吖2 天前
Webots控制器编程
机器人·机器人仿真·webots
天行健王春城老师2 天前
基于TRIZ的教育机器人功能创新
经验分享·机器人
xwz小王子2 天前
Science Robotics 综述揭示演化研究新范式,从机器人复活远古生物!
机器人·古生物启发
奔跑的花短裤2 天前
少儿编程启蒙学习
学习·青少年编程·机器人·ai编程
Matlab程序猿小助手3 天前
【MATLAB源码-第213期】基于matlab的16QAM调制解调系统软硬判决对比仿真,输出误码率曲线对比图。
开发语言·嵌入式硬件·算法·matlab·机器人