一种应用于机器人抓取场景的一拍多抓方法与流程
本发明涉及机器人智能规划技术领域,更具体的,涉及一种应用于机器人抓取场景的一拍多抓方法。
背景技术:
随着工业机器人应用场景的复杂化,需要机器人完成的任务越来越具有挑战性。在工件的无序抓取场景中,机器人需要完成抓取料框中无序摆放、任意堆叠的工件的任务,这对机器视觉和机器人轨迹规划提出了新的挑战。
目前机器人在无序抓取场景中对工件的识别定位基本都采用3d视觉或者双目视觉完成,但是一次视觉识别定位的时间较长,机器人每次抓取前都需要进行一次视觉识别定位,导致抓取效率低下,不能满足工业现场的生产节拍。
现有技术中,如2020年06月05日公开的中国专利,基于3d视觉的智能机器人抓取方法,公开号为cn111243017a,通过基于卷积神经网络的抓取规划模型实现在非结构环境下完成3d物体识别定位、自主无碰撞路径规划等工作,但抓取效率不够高。
技术实现要素:
本发明为克服目前机器人每次抓取前都需要进行一次视觉识别定位,导致抓取效率低下的技术缺陷,提供一种应用于机器人抓取场景的一拍多抓方法。
为解决上述技术问题,本发明的技术方案如下:
一种应用于机器人抓取场景的一拍多抓方法,包括以下步骤:
s1:获取料框区域的点云数据;
s2:根据点云数据对料框区域的工件进行三维识别定位,形成初始工件序列;
s3:将初始工件序列中的全部工件重新排序,得到有序工件序列;
s4:按顺序检测有序工件序列中各个工件与其他工件的干涉情况,并将与其他工件发生干涉的工件从有序工件序列中删除,得到无干涉工件序列;
s5:对无干涉工件序列中的各个工件进行碰撞检测,并在无干涉工件序列中删除会发生碰撞的工件,得到可抓取工件序列;
s6:机器人根据可抓取工件序列对工件进行逐一抓取,从而实现一拍多抓。
上述方案中,通过点云数据对工件进行三维识别定位,从而获取初始工件序列,并对初始工件序列依次进行排序、干涉检测和碰撞检测,从而得到可抓取工件序列,最后使机器人按照可抓取工件序列对工件进行逐一抓取,实现了一拍多抓,即相机一次拍摄机器人多次抓取,提高了机器人的抓取效率。
优选的,步骤s1具体为:
s1.1:通过机器人的3d相机获取拍摄区域的rgb图像和点云数据;其中,拍摄区域包括料框区域;
s1.2:获取料框在拍摄区域的rgb图像中的坐标;
s1.3:将料框在拍摄区域的rgb图像中的坐标映射到拍摄区域的点云数据中,并在拍摄区域的点云数据中利用感兴趣区域提取法剔除料框区域以外的点云数据,保留料框区域的点云数据。
优选的,在步骤s1中,还包括以下步骤:获取单个工件的点云数据,建立工件的三维表面模型。
优选的,步骤s2具体为:在料框区域的点云数据中,以工件的三维表面模型为模板,采用icp算法对料框区域的工件进行点云匹配和定位,从而得到各个工件的位姿,形成初始工件序列
优选的,步骤s3具体为:按照
优选的,在步骤s4中,检测干涉的步骤为:在有序工件序列中选定工件i,计算工件i与有序工件序列中的其他工件的距离;
若有序工件序列中存在工件j与工件i之间的距离小于设定的距离阈值,则认为工件i与工件j发生干涉,删除工件i;否则,保留工件i;其中,i=1,2,…,n;j=1,2,…,n;且i不等于j。
优选的,设定的距离阈值为工件长度的2倍。
优选的,在步骤s4中,第i个工件与第j个工件之间的距离
其中,
优选的,还包括设置工件的抓取点:抓取点设置在工件的对称中心处。
优选的,在步骤s5中,通过模拟机器人的机械臂抓取无干涉工件序列中的各个工件时的位姿进行碰撞检测,从而判断出机械臂与料框是否会发生碰撞。
与现有技术相比,本发明技术方案的有益效果是:
本发明提供了一种应用于机器人抓取场景的一拍多抓方法,通过点云数据对工件进行三维识别定位,从而获取初始工件序列,并对初始工件序列依次进行排序、干涉检测和碰撞检测,从而得到可抓取工件序列,最后使机器人按照可抓取工件序列对工件进行逐一抓取,实现了一拍多抓,即相机一次拍摄机器人多次抓取,提高了机器人的抓取效率。
附图说明
图1为本发明的技术方案实施步骤流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,一种应用于机器人抓取场景的一拍多抓方法,包括以下步骤:
s1:获取料框区域的点云数据;
s2:根据点云数据对料框区域的工件进行三维识别定位,形成初始工件序列;
s3:将初始工件序列中的全部工件重新排序,得到有序工件序列;
s4:按顺序检测有序工件序列中各个工件与其他工件的干涉情况,并将与其他工件发生干涉的工件从有序工件序列中删除,得到无干涉工件序列;
s5:对无干涉工件序列中的各个工件进行碰撞检测,并在无干涉工件序列中删除会发生碰撞的工件,得到可抓取工件序列;
s6:机器人根据可抓取工件序列对工件进行逐一抓取,从而实现一拍多抓。
在具体实施过程中,通过点云数据对工件进行三维识别定位,从而获取初始工件序列,并对初始工件序列依次进行排序、干涉检测和碰撞检测,从而得到可抓取工件序列,最后使机器人按照可抓取工件序列对工件进行逐一抓取,实现了一拍多抓,即相机一次拍摄机器人多次抓取,提高了机器人的抓取效率。当机器人将可抓取工件序列中的工件抓取完毕后,重新对工件进行三维识别定位,开始下一轮的一拍多抓,直至将料框中的所有工件抓取完成。
更具体的,步骤s1具体为:
s1.1:通过机器人的3d相机获取拍摄区域的rgb图像和点云数据;其中,拍摄区域包括料框区域;
s1.2:获取料框在拍摄区域的rgb图像中的坐标;
s1.3:将料框在拍摄区域的rgb图像中的坐标映射到拍摄区域的点云数据中,并在拍摄区域的点云数据中利用感兴趣区域提取法剔除料框区域以外的点云数据,保留料框区域的点云数据。
在具体实施过程中,由于直接由3d相机获取的点云数据存在较多噪点,而且将整个拍摄区域的点云数据带入到后续的点云处理中会消耗运算资源、降低运算效率,因此需要通过感兴趣区域提取法剔除料框区域以外的点云数据,只保留料框区域的点云数据,这样在后续的点云处理中可大大减少运算资源的消耗,并且极大地提高运算效率。
更具体的,在步骤s1中,还包括以下步骤:获取单个工件的点云数据,建立工件的三维表面模型。
在具体实施过程中,只将单个工件放置在3d相机的下方,利用3d相机获取整个拍摄区域的rgb图像和点云数据;然后在rgb图像中利用感兴趣区域分割法手动去除工件以外的点云数据,因此得到只包含单个工件的点云数据,从而建立工件的三维表面模型。
更具体的,步骤s2具体为:在料框区域的点云数据中,以工件的三维表面模型为模板,采用icp(iterativeclosestpoint)算法对料框区域的工件进行点云匹配和定位,从而得到各个工件的位姿,形成初始工件序列
在具体实施过程中,工件的位姿包括工件的位置和姿态,其中,位置即平移量,姿态即旋转量。
更具体的,步骤s3具体为:按照
在具体实施过程中,由于工件在料框中的位置是随机的,为避免机器人的机械臂在抓取工件过程中碰撞到其它工件,根据工件在料框中的高度对工件进行排序,令机械臂先抓取在料框中的高度比较高的工件。
更具体的,在步骤s4中,检测干涉的步骤为:在有序工件序列中选定工件i,计算工件i与有序工件序列中的其他工件的距离;
若有序工件序列中存在工件j与工件i之间的距离小于设定的距离阈值,则认为工件i与工件j发生干涉,删除工件i;否则,保留工件i;其中,i=1,2,…,n;j=1,2,…,n;且i不等于j。
在具体实施过程中,按照上述步骤对有序工件序列中的每个工件都进行一遍干涉检测,并删除会与其他工件发生干涉的工件,从而得到无干涉工件序列。
更具体的,设定的距离阈值为工件长度的2倍。
更具体的,在步骤s4中,第i个工件与第j个工件之间的距离
其中,
在具体实施过程中,工件i只计算与除工件i以外的其他工件的距离。
更具体的,还包括设置工件的抓取点:抓取点设置在工件的对称中心处。
在具体实施过程中,设置工件的抓取点即设置机器人的抓取位姿,抓取位姿包括抓取位置和抓取姿态;将抓取点设置在工件的对称中心处更有利于机械臂的抓取。
更具体的,在步骤s5中,通过模拟机器人的机械臂抓取无干涉工件序列中的各个工件时的位姿进行碰撞检测,从而判断出机械臂与料框是否会发生碰撞。
在具体实施过程中,利用编程或软件模拟机器人的机械臂抓取无干涉工件序列中的各个工件时的位姿进行碰撞检测。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除