一次拆垛一个箱子
当将抓取工艺设置为箱子拆垛,且拆垛方式设置为一次拆垛一个箱子时,您可以配置以下参数。
此外,您还需要参考 配置末端工具 配置对应的末端工具。
移动步骤基本参数
发送路径点
默认勾选,即向接收者(如:机器人)发送移动目标位姿。取消勾选后,将不发送移动目标位姿,但此目标位姿仍在路径规划之中。
尝试平滑通过其后的非移动类步骤
默认不勾选,即当 移动类步骤 之间连接 非运动步骤 时,比如 “视觉识别” 、“设置” 、“检查DI”等,会打断机器人的路径规划,真实机器人运行时会出现短暂的停顿,导致机器人运行动作不流畅。
勾选后,不需要等待当前移动步骤运行结束就可以继续往下执行,以此规避机器人停顿的问题,保证机器人运行动作流畅,但可能会导致步骤提前结束。
为何会导致步骤提前结束?
Mech-Viz 软件运行时会同时发给机器人多个位姿,软件只判断发送给机器人的最后一个位姿是否与机器人当前返回的关节角相同,如果相同则认为机器人已经移动到最后一个位置。
比如一段路径由 10 个移动步骤组成,路径中的移动步骤 5 与最后一个移动步骤的位姿相同。在机器人运行速度较慢时,机器人移动到移动点 5 后并把当前关节角发给 Mech-Viz ,因为路径中的移动步骤 5 与最后一个移动步骤位姿相同,Mech-Viz 软件会误判为路径步骤完成而提前结束指令。
不检查与已放置工件的碰撞
默认不勾选,即检查与已放置工件的碰撞;勾选后,将不检查机器人本体、末端工具与已经放置的工件之间的碰撞。
在码垛应用中有以下两种情况:
-
码放纸箱时,机器人本体可能会轻微接触已放置纸箱(不会出现纸箱挤压变形的情况),Mech-Viz 检查到这个碰撞后规划其他纸箱放置点,导致无法满垛。
-
一般吸盘设置的 TCP 不在吸盘表面,在模型内部,这样抓取物体时末端工具与被抓取的纸箱模型存在嵌套的情况(软件不检查末端工具与已抓取工件的碰撞),当机器人放下纸箱后,被抓取的纸箱模型改变为场景模型,此时软件会检查到末端工具与场景中的纸箱模型发生碰撞,软件发出碰撞报警,无法完成码垛步骤。
勾选此参数,软件不再检查机器人本体、末端工具与已经放置的工件模型之间的碰撞关系,从而解决上述问题。
点云碰撞检查模式
根据现场实际情况来设置参数,一般使用默认 自动 。机器人抓取物体前的移动步骤可选择 从不 模式,抓取物体后的移动步骤可选择 总是 模式。
自动 |
默认值。仅对“视觉移动”步骤及依赖于“视觉移动”步骤的“相对移动”步骤检查点云碰撞,其他的移动类步骤不检查。 |
不检查 |
全部移动类步骤均不检查点云碰撞。 |
检查 |
全部移动类步骤均检查点云碰撞。 |
当打开 | 功能时,Mech-Viz 软件在做路径规划时会检查机器人模型、末端工具模型与点云的碰撞情况。 一般点云碰撞的设置是检查机器人抓取过程中是否会与工件发生碰撞,当空间中有噪点时,软件在做抓取物体前的路径规划时噪点与机器人模型、末端工具模型接触,造成与点云碰撞的误检测,导致软件规划错误。
忽略工件对称性
该参数仅对 目标类型 为 工件位姿 的移动生效,如:目标类型为工件位姿的移动类步骤、码垛类步骤等,而目标类型为关节角、工具位姿的移动类步骤不生效。
无 |
默认值,不关闭任何对称性; |
绕工件坐标系 Z 轴 |
仅关闭 Z 轴对称性; |
绕工件坐标系 X 和 Y 轴 |
仅关闭 X&Y 轴对称性; |
绕所有轴 |
关闭所有对称性,机器人将严格按照工件位姿放置工件。 |
遇到某些特殊情况而导致物体不可抓取时,可以设置 | 中的 旋转对称 。 针对识别出的物体设置物体对称性,根据对称性角度,工件可具有多个候选位姿。 Mech-Viz 软件在规划物体抓取时,若默认位姿无法抓取,会尝试候选位姿是否可抓。 物体对称位姿与 Mech-Vision 输出的原始位姿不一致,无法保证机器人放置物体的一致性。
规划失败出口
勾选此参数后,步骤将增加“规划失败”出口。
规划过程中,沿“成功”出口后的分支进行规划;若当前步骤规划失败,将执行“规划失败”出口后的分支流程。
已持有工件碰撞检测设置
不检查与场景物体/机器人的碰撞
默认不勾选,勾选后将不检查 已持有工件 与 场景模型、机器人 的碰撞,减少软件碰撞检查计算量,优化 Mech-Viz 规划的速度,提升整体节拍。一般应用在机器人抓取物体后的 1~2 个移动类步骤。
不检查碰撞可能会有碰撞风险,谨慎使用该功能。
当打开
中的检测已持有工件与其他物体的碰撞功能时,会检查已持有工件模型与场景模型&机器人是否碰撞。码垛场景中视觉计算出的纸箱尺寸大小与实际大小存在毫米级偏差,抓取过程中存在纸箱间的摩擦情况,不会发生碰撞。 一些明显不会碰撞的移动,检查此类碰撞增加了软件计算量,增加 Mech-Viz 规划时间,浪费节拍。 开启不检查与场景物体的碰撞功能,不影响码垛场景中已持有工件与已放置箱子的碰撞检测。 当码垛下方有场景物体的时候可以使用该功能,避免码垛选解失败的问题。
不检查与点云的碰撞
默认不勾选,勾选后将不检查 已持有工件 与 场景中的点云 是否碰撞,减少软件碰撞计算量,优化 Mech-Viz 规划时间,提升整体节拍,避免已持有工件与点云信息碰撞误检测问题。
-
当同时打开
中的检测已持有工件与其他物体的碰撞和 点云配置 ‣ 检测点云与其他物体的碰撞功能时,会检查已持有工件模型与场景中的点云是否碰撞。 -
Mech-Vision 把点云信息和物体模型信息发给 Mech-Viz 时,点云与物体模型是贴合状态,机器人抓取物体时,模型随机器人路径移动,出现已持有工件模型与点云碰撞的情况。
-
已知已持有工件肯定会和物体点云发生误碰撞,检查此碰撞将增加软件计算量,进而增加 Mech-Viz 规划时间。
视觉结果全局配置
一次走完所有视觉位姿
与常规模式下每次视觉移动只会使用一个视觉结果对应的视觉位姿不同,在该模式下,“视觉移动”会控制机器人在一次移动中走完所有视觉位姿对应的路径点。
此参数通常用于机器人需要沿固定轨迹移动,运动过程中无 DO 信号的场景,如涂胶。
复用视觉结果
当该功能未开启时,每次“视觉移动”成功规划出机器人抓取路径后,剩余未使用的视觉结果会被丢弃。如果开启该功能,则上一轮次中规划失败的结果以及未使用的视觉结果将会继续保留,并在下一次规划中使用。此功能需要与“视觉结果用尽”步骤一同使用。
当一份视觉结果中包含多个待抓物体,确保抓起任意物体时不会改变其他待抓物体的位姿前提下,可重复使用这一视觉结果,直至视觉结果用尽,不会再次拍摄。
应用示例:
共享视觉结果
该功能允许选择了相同视觉服务的“视觉移动”步骤共享视觉结果。
当一个“视觉移动”步骤规划成功时,对应的视觉结果会被使用,未使用的结果会等待下一个参与共享的“视觉移动”步骤调用。所有参与共享的“视觉移动”步骤规划完成后,剩余的结果会被丢弃。
此外,该功能可与“复用视觉结果”功能配合使用。当“复用视觉结果”功能开启时,即使所有“视觉移动”步骤都完成了一轮规划,剩余的视觉结果也不会被丢弃。
应用示例:
(待补充)
移除目标工件点云
移除目标工件点云
勾选后将移除被抓取的工件点云,以保证点云碰撞检测仅计算机器人“末端工具”与“非目标工件点云”之间的碰撞。
为了避免抓取目标箱子过程中误抓到其周边箱子,软件会移除目标箱子点云,但保留其周边箱子点云。 在路径规划过程中,软件会因为吸盘海绵层模型与周边箱子点云之间的碰撞而放弃可能导致误抓的抓取方案。
默认的点云移除范围是以目标箱子上表面为顶面,高度无限高,方向为箱子视觉位姿 -Z 方向的长方体范围。
可通过设置“XY平面点云移除范围拓展”与“Z向点云移除范围拓展”参数扩大点云移除范围,进而移除目标工件周边的点云。
XY平面点云移除范围拓展
在原有工件尺寸基础上,在工件位姿XOY平面上拓展点云移除范围,拓展边长对应此参数。
Z向点云移除范围拓展
在原有工件尺寸基础上,沿工件位姿Z轴正方向拓展点云移除范围,拓展高度对应此参数。
辅助功能
通过视觉更新料筐位姿
勾选“通过视觉更新料筐位姿”参数后,相机拍照后视觉识别工件时将一同识别并定位料筐,动态更新料筐模型在仿真场景中的位置,确保碰撞检测算法有效检测机器人与料筐的碰撞。
料筐定位功能通过视觉结果中给出的"scene_object_names", "scene_object_sizes", "scene_object_poses"三个字段定义要更新的场景物体名称、位置、尺寸。
视觉结果必须位于指定料筐内
视觉结果必须位于指定料筐内
该功能限制了当前“视觉移动”步骤收到的视觉结果必须在指定的料筐范围内。超出料筐范围的视觉结果将不会被使用。
各个料筐的视觉结果有效范围可以通过其配置窗口独立进行配置,只有开启了“视觉结果有效范围限制”的料筐才能在该下拉列表中进行选择。
应用示例:
添加“料筐1”,并开启此料筐的“限制位姿有效范围”参数。
在下拉栏中勾选“料筐1”。
仅使用特定工件的位姿
此参数用于筛选视觉结果中指定“labels”字段对应的工件。
使用用此参数需在工程资源树中添加对应的工件(工件名称与“labels”字段名称一致),然后在此参数右侧下拉栏中选择对应的工件。
过滤可能失败的抓取点
此组参数主要于在抓取失败的场景中,避免在同一个抓取点上重复失败。
勾选“过滤可能失败的抓取点”参数后,可调节以下参数。
-
过滤对象
-
抓取点: 只有被视为高概率失败的抓取点会被排序后移或放弃尝试一定轮次。
-
工件: 工件上任一抓取点被视为高概率失败,该工件上所有的抓取点都会被排序后移或放弃尝试一定轮次。
-
-
排序后移范围半径
如果新一轮视觉结果中的某抓取点落在了“以上一轮规划成功的抓取点为中心,该参数为半径的球”范围内,这些抓取点的规划排序会被后移,优先级降低。
-
放弃尝试范围半径
如果新一轮视觉结果中的某抓取点落在了“以上一轮规划成功的抓取点为中心,该参数为半径的球”范围内,这些抓取点会在本轮规划中被抛弃。
假设抓取某个曲轴,第一次尝试未将曲轴抓起,但尝试抓取的过程中戳动曲轴,位置移动后下次抓取可能成功。因此,使用 排序后移范围半径 降低其优先级但并不丢弃。若尝试抓取时曲轴纹丝不动,再次抓取基本上也不可能成功,使用 放弃尝试范围半径 丢弃该位姿,避免反复抓取。
-
对列长度
所有被视为高概率失败抓取点的队列。当队列长度超过“队列长度上限”时,最早加入队列的抓取点会被从队列中移出,并可在下一轮再次参与抓取规划。
吸盘偏置
箱子覆盖率下限
限制吸盘抓取箱子时吸盘覆盖箱子上表面的最小覆盖率。当实际覆盖率低于阈值时,视为吸盘抓取箱子不牢固,不允许抓取。
此外,单个吸盘单抓箱子时候,吸盘小于箱子面积会视为覆盖率达到100%。
假设此参数设置为50%。
在箱子拆垛场景中,通常使用固定且不可更换的吸盘。由于箱子尺寸多种多样,吸盘需要能够处理多种不同尺寸的箱子。为了避免吸盘在抓取目标箱子时误吸到周边的非目标箱子,需要吸盘进行偏置抓取。 通过设置吸盘朝向并配置抓取策略,可有效避免误吸问题,确保稳定抓取各种尺寸的箱子。
吸盘朝向
吸盘朝向决定了吸盘在抓取箱子组时吸盘和箱子组之间的相对朝向。
-
任意朝向:不指定吸盘朝向。
-
自定义:通过设置 吸盘X轴方向 与 朝向参考对象 参数,共有如下四种组合形式:
-
吸盘X轴平行于箱子组长边。
-
吸盘X轴垂直于箱子组长边。
-
吸盘X轴平行于箱子组组合方向。
-
吸盘X轴垂直于箱子组组合方向。
吸盘X轴平行于纸箱组长边(左),垂直于纸箱组长边(右)
-
吸盘偏置策略共以下四种,不同策略对应不同的可调节参数。
默认策略
软件按照:中心对中心、边中点对边中点、角对角的顺序尝试吸盘偏置。
自定义策略优先级
软件按照用户自定义的偏置策略优先级依次进行偏置尝试。
自定义策略包含中心对中心、边中点对边中点,角对角,可根据实际需求设置各级策略。
-
中心对中心:吸盘开启分区的中心匹配箱子的中心。
-
边中点对边中点:吸盘开启分区的边中点匹配箱子的边中点。
-
角对角:吸盘开启分区的角匹配箱子的角。
下图中橘黄色长方形代表箱子,灰色长方形代表吸盘,吸盘内部绿色代表开启的分区,红色代表关闭的分区。
-
吸盘只开启单个分区
如下图所示,左侧为中心对中心抓取,中间为吸盘边中点对箱子边中点抓取,右侧为吸盘角对箱子角抓取。
-
吸盘开启两个分区
如下图所示,左侧为中心对中心抓取,中间为吸盘边中点对箱子边中点抓取,右侧为吸盘角对箱子角抓取。
-
开启的吸盘分区多于两个时以此类推。
依边角号顺序
软件按照用户在边角号序列参数中指定的边角号顺序(如:11,21,31,41)依次进行偏置尝试。
边角号在吸盘配置器中自动生成,如下图所示,位于每个吸盘分区边缘的两位数编号即为边角号。
相对于参考点距离排序
将吸盘偏置方式按照工具中心点相对于参考点的距离排序,工具中心点越靠近参考点的吸盘偏置方式排序越靠前。
-
参考点X/Y坐标
设定参考点位置。参考点会在三维仿真空间中出现。
-
仅保留排序靠前的偏置
吸盘偏置方式中,仅相对于参考点距离排序靠前的偏置被保留。
-
保留数量上限
保留偏置数量的最大值。
若全部吸盘偏置方式数量为4,此参数设置为2,则保留相对于参考点距离排序最近的两个吸盘偏置方式。
若全部吸盘偏置方式数量为2,此参数设置为4,则实际保留数量为2。
-
应用示例
软件进行偏置尝试的优先级如下图所示
掉箱检测
通过安装在吸盘底部的接触传感器(DI),对比抓取和放置时传感器的信号变化检测搬运过程中的掉箱。
在吸盘配置器中指定 DI 在吸盘底部各分区内的位置后,规划箱子抓取时,将自动判别被抓取的箱子覆盖了吸盘底面的哪些传感器,从而自动计算出需要检测的 DI 信号。
去除箱子边缘检测点
在实际拆垛过程中,当吸盘底部的传感器位于箱子边缘附近时,常常因为箱子之间缝隙较大,或箱子边缘吸附不牢固导致传感器误判掉箱。
为了避免此问题,可勾选此参数,并设置箱子边缘去除距离。
箱子边缘去除距离
位于去除范围内的DI传感器不进行掉箱检测。
下图所示红色边框即为箱子边缘去除距离。在实际使用时,需根据现场情况调节此参数。