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