一种可实时显示抓取位姿的系统的制作方法

文档序号:21366508发布日期:2020-07-04 04:41阅读:234来源:国知局
一种可实时显示抓取位姿的系统的制作方法

本发明涉及机械臂视觉抓取领域,具体为一种可实时显示抓取位姿的系统。



背景技术:

近年来,机械臂的视觉抓取逐渐成为研究热点,相关应用也慢慢走向市场。现有的机械臂抓取系统大多数依赖于高性能的硬件设备,比如说多核的处理器,显存足够大的显卡等。这种依赖于传统图像识别的视觉抓取系统很难在实际场景下落地。例如nvidia发表的论文《deepobjectposeestimationforsemanticroboticgraspingofhouseholdobjects》中所用的高性能显卡titan价格十分昂贵。一方面,高昂的价格以及苛刻的硬件要求限制其推广。另外一方面,采用一般的硬件设备则无法满足抓取中实时性的需求,一般此类系统只能抓取静态的物体,且耗时长,效率低。

本发明提出的一种可实时显示抓取位姿的系统可以解决目前存在的问题。本发明完整阐述系统的组成部分,各部分之间的通讯方式以及具体处理方法,通过在机械臂向下抓取过程中从多视角获取目标物体的深度信息,生成该目标物体的最佳抓取位姿,并且实时显示出来,实现了动态抓取的目的,大大缩短了从输入信息到得出决策的处理时间,是十分高效有效的,对于机器人操作系统(robotoperatingsystem,ros)以及环境感知系统有很大的参考价值,并且可以在工业机器人领域推广。



技术实现要素:

本发明提出了一种一种可实时显示抓取位姿的系统,主要解决现有的算法存在对硬件设备需求高,无法实时显示抓取位姿等问题,完整阐述系统的组成部分,各部分之间的通讯方式以及具体处理方法,通过网格图运算效率高的方法,缩短了计算时间,实现了实时显示最佳抓取位姿的功能。

本发明至少通过如下技术方案之一实现。

一种可实时显示抓取位姿的系统,包括机械臂部分、摄像头部分、目标物体和计算机;

所述机械臂部分包括六自由度机械臂和二指夹爪,所述六自由度机械臂与二指夹爪连接,二指夹爪安装在六自由度机械臂末端;

所述摄像头部分包括深度摄像头,所述摄像头与计算机连接;所述深度摄像头安装在二指夹爪的正上方;

所述计算机中包括算法处理单元,所述算法处理单元用于计算机械臂、摄像头和目标物体的抓取位姿;

目标物体摆放在深度摄像头的下方,机械臂部分沿着一条轨迹从上往下运动,在此过程中,所述深度摄像头将获取目标物体的深度图像并发送至计算机,经计算机的算法处理单元处理得到信息熵图,并在计算机的显示屏中显示目标物体最佳抓取位姿的变化图、从深度摄像头中获取的深度图像和信息熵图。

进一步地,所述六自由度机械臂为ur5工业机械臂,二指夹爪为rg2夹爪。

进一步地,所述深度摄像头为intelrealsensed435i。

进一步地,所述算法处理单元所用的计算机系统为ubuntu16.04,机器人操作系统为roskinetic。

进一步地,机械臂部分运动轨迹定义如下:

p表示机械臂根据某轨迹向下运动过程中摄像头的三维位置;

k表示机械臂根据某轨迹向下运动过程中一系列的p点的个数;

γ={p0,...,pk}:由k个p点组成的随机轨迹;

p0表示机械臂开始运动前摄像头的位置,对应的垂直高度为zmax;

pk表示机械臂开始运动前摄像头的位置,对应的垂直高度为zmin。

进一步地,所述的深度摄像头经计算机启动之后,向计算机发送深度图像,更新频率为80fps,以此保证数据传输的连续。

进一步地,所述六自由度机械臂、深度摄像头和计算机的通讯方式为ros下的通讯,具体为计算机通过网线与六自由度机械臂、连接,然后启动六自由度机械臂,并且向六自由度机械臂发送控制指令;计算机实时接收深度摄像头从目标物体上获取的深度信息,并且输入到内部的算法处理单元,经算法处理单元处理之后,输出目标物体的最佳抓取位姿,并且通过计算机的屏幕展示出来,以便实时显示目标物体的最佳抓取位姿,算法处理的时间小于0.5s。

进一步地,算法处理单元计算目标物体的抓取位姿定义如下:

定义目标物体的抓取位姿:g=(c,φ,w,q)表示一次完整的抓取运动所包含的参数;

c=(x,y,z)表示目标物体抓取点的三维坐标,即夹爪需要到达的目标位置;

x,y,z分别表示笛卡尔坐标系下x,y,z轴的坐标,单位mm;

φ∈[0,π]表示夹爪抓取目标物体需要旋转的角度;

w表示夹爪抓取目标物体需要张开的宽度,单位mm;

q∈[0,1]表示抓取的质量,约定值越大,证明抓取成功率越高。

为了结合沿视点轨迹在时间步长处的观察,将六自由度机械臂和二指夹爪的工作空间表示为j*k单元的二维栅格图m,j,k分别表示二维栅格图m的长度和宽度;每个单元对应一个u*u物理区域,作为单位方格,u代表单位方格的尺寸;

在每个单元(j,k)中,对应于u*u的单位方格,(j,k)代表j*k的物理区域,j,k分别代表区域的长度和宽度,将抓握质量观测值(q)计入向量qj,k中,离散化为nq间隔,nq代表栅格图列坐标,然后将抓握质量和角度观测值组合起来构成(q,φ)计入二维直方图mj,k中,分别离散为nq*nφ间隔,横坐标为nφ,数值大小代表旋转角度的大小,列坐标为nq,数值大小代表抓取质量的高低,数值的向量代表观察点在每个点的分布,并构成信息获取的基础,栅格图中定义每个方格里面的数字代表概率,数字越大,表示该方格区域内信息增益(nq,nφ)越大,根据栅格图中的数字情况确定区域内是否包含物体,数字大的方格包含物体,方格数字小,说明没有包含物体;

进一步地,栅格图是通过物体的深度图像通过数字转换得到的,对(j,k)区域内的抓取是通过对该区域内各观察值的平均值进行参数化来定义的:

其中,gj,k代表在(j,k)区域内的抓取;cj,k代表目标抓取中心点的三维位置;代表φj,k的均值,φj,k代表在(j,k)区域内,二指夹爪抓取到物体需要旋转的角度;代表wj,k的均值,wj,k代表在(j,k)区域内,二指夹爪抓取物体需要张开的角度;代表qj,k的均值,qj,k代表在(j,k)区域内,二指夹爪的抓取质量;

进一步地,平均观察值计算如下,对于单个单元格,平均抓取质量观察值q由下式给出:

其中,nq代表nq的集合,代表下标为nq的q值;

平均旋转角度是由相应的抓取质量观测值加权的角度观测值的矢量均值:

其中π代表栅格图内所有抓取角度正弦值的累加和,ψ代表所有抓取角度余弦值的累加和,nq代表nq的集合,nφ代表nφ的集合;

一个单元的平均张开宽度为n个观察值的平均值:其中,n代表w值的数量。

相比现有技术,本发明的优点及有益效果是:

1.完整阐述系统的组成部分,各部分之间的通讯方式以及具体处理方法,通过在机械臂向下抓取过程中从多视角获取目标物体的深度信息,生成该目标物体的最佳抓取位姿,并且实时显示出来,实现了动态抓取的目的,大大缩短了从输入信息到得出决策的处理时间,是十分高效有效的。

2.本发明采用的系统组成部分以及通讯方式可以简化信息传输的过程,同时所采用网格化计算的方法,大大缩短了计算最佳抓取位姿的时间,无需性能强悍的处理器以及显卡,在一般的工控机或者笔记本上也可以运行,方便推广。

附图说明

图1为本实施例的一种可实时显示抓取位姿的系统示意图;

图2为本实施例中获取到目标物体的深度图像图;

图3为本实施例中实时显示的最佳抓取位姿图;

图4为本实施例中的栅格图;

图5为本实施例中夹爪运动的轨迹图;

图中:1-六自由度机械臂;2-夹爪;3-深度摄像头;4-目标物体;5-计算机。

具体实施方式

下面结合附图,对本发明的工作原理和工作过程作进一步详细说明。

如图1所示,一种可实时显示抓取位姿的系统包括机械臂部分、摄像头部分、目标物体和计算机,其中机械臂部分包括六自由度机械臂1和二指夹爪2,二指夹爪2安装在六自由度机械臂1末端;

摄像头部分包括深度摄像头3,所述摄像头3与计算机5连接,深度摄像头3安装在二指夹爪2正上方;

目标物体包括若干日常生活常见的目标物体4;

计算机5中包括算法处理单元,所述算法处理单元用于计算机械臂、摄像头和目标物体的抓取位姿;

如图1所示,摄像头3获取目标物体的深度图像并发送至计算机5,经计算机5的算法处理单元处理得到如图3的信息熵图,并在计算机5的显示屏中显示目标物体最佳抓取位姿(矩形)的变化图。

所述六自由度机械臂1为ur5工业机械臂,二指夹爪2为rg2夹爪,所述六自由度机械臂与二指夹爪连接,深度摄像头3为intelrealsensed435i,算法处理部分所用的计算机系统为ubuntu16.04,机器人操作系统为roskinetic;

具体的,目标物体4随机摆放在摄像头的正下方,六自由度机械臂1带动二指夹爪2沿着一条轨迹从上往下运动,如图5所示,在此过程中,摄像头3不断从多个不同视角获得目标物体的深度信息,并把深度图像信息传输到计算机5,计算机5根据算法处理得到的深度图像信息,并且计算出目标物体的最佳抓取位姿,与此同时,在计算机5的机屏幕上展示物体深度图、经算法处理后的信息熵图以及经算法计算得出的物体最佳抓取位姿(矩形)变化图,所述深度图像如图2所示。

机械臂部分运动轨迹定义如下:

p表示机械臂1根据某轨迹向下运动过程中摄像头的三维位置;

k表示机械臂1根据某轨迹向下运动过程中一系列的p点的个数;

γ={p0,...,pk}表示由k个p点组成的随机轨迹;

p0表示机械臂开始运动前摄像头的位置,对应的垂直高度为zmax;

pk表示机械臂开始运动前摄像头的位置,对应的垂直高度为zmin。

所述的深度摄像头3经计算机5启动之后,获取相应的深度图像并发送至计算机5,更新频率为80fps,以此保证数据传输的连续。

如图1所示,所述机械臂1、摄像头3和计算机5的通讯方式为机器人操作系统(robotoperatingsystem,ros)下的通讯,计算机5通过网线与机械臂1连接,然后启动机械臂1,并且向六自由度机械臂1发送一系列有关机械臂1的信息以及控制指令。计算机5实时接收深度摄像头3发送的信息,并且输入到算法处理单元。在整个通讯流程如下:通过ros系统,机械臂1与深度摄像头3分别发布相关的信息,深度摄像头3从目标物体上获取其深度信息,也就是物体本身的厚度以及距离深度摄像头的距离,并且发布出去,计算机5始终接收相关的信息,并且将深度摄像头中的深度信息发送到算法处理单元,经算法处理之后,输出目标物体的最佳抓取位姿,并且通过话题的形式发送到计算机5,计算机5可以通过ros启动rviz(ros系统中自带的可视化工具)获取到目标物体的最佳抓取位姿,并且通过计算机5的屏幕展示出来,这样便可实时显示目标物体的最佳抓取位姿,算法处理的时间小于0.5s。

所述算法处理单元计算目标物体的抓取位姿如下:

定义目标物体的抓取位姿:g=(c,φ,w,q)表示一次完整的抓取运动所包含的参数;

c=(x,y,z)表示目标物体抓取点的三维坐标,也就是夹爪需要到达的目标位置;

x,y,z分别表示笛卡尔坐标系下x,y,z轴的坐标,单位mm;

φ∈[0,π]表示夹爪抓取目标物体需要旋转的角度;

w表示夹爪抓取目标物体需要张开的宽度,单位mm;

q∈[0,1]表示抓取的质量,约定值越大,证明抓取成功率越高;

为了结合沿视点轨迹在时间步长处的观察,将六自由度机械臂和二指夹爪的工作空间表示为j*k单元的二维栅格图m,j,k分别表示二维栅格图m的长度和宽度。每个单元对应一个u*u物理区域,作为单位方格,u代表单位方格的尺寸;

如图4所示,在每个单元(j,k)中,对应于u*u的单位方格,(j,k)代表j*k的物理区域,j,k分别代表区域的长度和宽度,将抓握质量观测值(q)计入向量qj,k中,离散化为nq间隔,nq代表栅格图列坐标,然后将抓握质量和角度观测值组合起来构成(q,φ)计入二维直方图mj,k中,分别离散为nq*nφ间隔,横坐标为nφ,数值大小代表旋转角度的大小,列坐标为nq,数值大小代表抓取质量的高低。这些向量代表观察点在每个点的分布,并构成信息获取方法的基础,栅格图中定义每个方格里面的数字代表概率,数字越大,表示该方格区域内信息增益(nq,nφ)越大,可以根据栅格图中的数字情况确定区域内是否包含物体,数字大的地方包含物体,其他方格数字小,说明没有包含物体。

采用的栅格图是通过物体的深度图像通过数字转换得到的。对(j,k)区域内的抓取是通过对该区域内各观察值的平均值进行参数化来定义的:

其中,gj,k代表在(j,k)区域内的抓取,cj,k代表目标抓取中心点的三维位置,代表φj,k的均值,φj,k代表在(j,k)区域内,二指夹爪抓取到物体需要旋转的角度,代表wj,k的均值,wj,k代表在(j,k)区域内,二指夹爪抓取物体需要张开的角度,代表qj,k的均值,qj,k代表在(j,k)区域内,二指夹爪的抓取质量。平均观察值按以下方法计算。对于单个单元格,平均抓取质量观察值q由下式给出:

其中,nq代表nq的集合,代表下标为nq的q值。

平均旋转角度是由相应的抓取质量观测值加权的角度观测值的矢量均值:

其中π代表栅格图内所有抓取角度正弦值的累加和,ψ代表所有抓取角度余弦值的累加和,nq代表nq的集合,nφ代表nφ的集合。

一个单元的平均张开宽度只是n个观察值的平均值:其中,n代表w值的数量

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1