视觉续码

功能描述

通过视觉识别未完成垛上已有的箱子,将识别到的箱子与已知垛型中的箱子匹配,以找出空余位置继续码垛。

使用场景

视觉续码通常用于生产暂停后需要继续生产的场景;也常用于对空间利用率要求较高的场景(如立体库)中,将多个未装满的托盘合并到一起。

Mech-Viz提供了“视觉续码”步骤相关样例工程,以帮助你更好地了解和学习视觉续码的实现过程。你可以在软件中按照以下路径找到样例工程:文件 > 新建 > 样例工程 > 箱子码垛 > 视觉续码。

参数说明

移动步骤基本参数

发送路径点

默认勾选,即向接收者(如:机器人)发送移动目标位姿。取消勾选后,将不发送移动目标位姿,但此目标位姿仍在路径规划之中。

尝试平滑通过其后的非移动类步骤

默认不勾选,即当 移动类步骤 之间连接 非运动步骤 时,比如 “视觉识别” 、“设置” 、“检查DI”等,会打断机器人的路径规划,真实机器人运行时会出现短暂的停顿,导致机器人运行动作不流畅。

勾选后,不需要等待当前移动步骤运行结束就可以继续往下执行,以此规避机器人停顿的问题,保证机器人运行动作流畅,但可能会导致步骤提前结束。

为何会导致步骤提前结束?

Mech-Viz 软件运行时会同时发给机器人多个位姿,软件只判断发送给机器人的最后一个位姿是否与机器人当前返回的关节角相同,如果相同则认为机器人已经移动到最后一个位置。

比如一段路径由 10 个移动步骤组成,路径中的移动步骤 5 与最后一个移动步骤的位姿相同。在机器人运行速度较慢时,机器人移动到移动点 5 后并把当前关节角发给 Mech-Viz ,因为路径中的移动步骤 5 与最后一个移动步骤位姿相同,Mech-Viz 软件会误判为路径步骤完成而提前结束指令。

不检查与已放置工件的碰撞

默认不勾选,即检查与已放置工件的碰撞;勾选后,将不检查机器人本体、末端工具与已经放置的工件之间的碰撞。

在码垛应用中有以下两种情况:

  1. 码放纸箱时,机器人本体可能会轻微接触已放置纸箱(不会出现纸箱挤压变形的情况),Mech-Viz 检查到这个碰撞后规划其他纸箱放置点,导致无法满垛。

  2. 一般吸盘设置的 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 规划时间。

视觉匹配

该参数组用于判断视觉服务识别到的箱子与托盘上已知垛型中的箱子与是否匹配。已知垛型是从选择垛型参数指定的码垛类步骤中获取的。

如果视觉服务识别的箱子与已知垛型中的一个箱子与在X和Y方向上的距离偏差、在Z方向上的距离偏差或绕Z轴的旋转偏差超过如下阈值时,则该箱子视觉匹配失败。如果“匹配对称性”参数设置为“自动”、“180度对称”或“90度对称”时,在判断匹配时会考虑箱子的对称性。

物体XY偏差阈值

视觉服务识别的箱子与已知垛型中的箱子在X和Y方向上的最大距离偏差,单位为mm。

垛型匹配高度阈值

该参数只有在检查已存在物体顺序参数勾选后才生效,用于二次确认按顺序码放的箱子是否正确。如果视觉服务识别的箱子高度与已知垛型中的箱子高度之差大于该阈值,则该箱子匹配失败,即按顺序位置码放的箱子不正确。

物体Z距离偏差阈值

视觉服务识别的箱子与已知垛型中的箱子在Z方向上的最大距离偏差,单位为mm。

物体绕Z旋转阈值

视觉服务识别的箱子与已知垛型中的箱子绕Z轴的最大旋转偏差,单位为°。

物体Z轴与竖直方向角度偏差阈值

视觉服务识别的箱子Z轴与机器人基坐标系Z轴之间的最大角度偏差,单位为°。

匹配对称性

当视觉服务识别的箱子与已知垛型中的箱子朝向不一致时,匹配失败。设置匹配对称性可解决该问题。

选项 说明

自动

当箱子上表面长宽差异在2cm以内时,软件将箱子上表面自动识别为正方形,并使用“90度对称”;当箱子上表面长宽差异在2cm以上时,软件将箱子上表面自动识别为长方形,并使用“180度对称”。

无对称性

不应用对称性。

180度对称

箱子上表面为长方形时,可选择该选项。

90度对称

箱子上表面为正方形时,可选择该选项。

位姿修正

位姿修正设置

视觉结果与已知垛型匹配成功后,该参数将根据匹配后所有箱子的平均偏差对选择垛型中获取的已知垛型进行修正。

选项 说明

全修正

同时修正位移和旋转。

仅修正位移

仅修正X、Y、Z方向上的位移。

仅修正转动

仅修正绕Z轴的旋转。

判定条件

该参数组用于判定视觉结果与已知垛型是否匹配成功。默认情况下,当视觉服务识别到的所有箱子与已知垛型上的箱子匹配成功,则视觉结果与已知垛型匹配成功。

物体标签

该参数指定参与视觉匹配的箱子的标签。设置该参数后,只有具有指定标签的箱子参与视觉匹配。如果未设置物体标签,则所有被视觉工程识别到的箱子都将参与视觉匹配。

检查已存在物体顺序

勾选此选项后,软件将检查工程中已码放箱子的顺序。该选型默认禁用。

“视觉续码”步骤要求箱子序号必须是不间断的,并且序号1不能为空。如果不符合这些要求,将会报错。

以下图所示垛型为例,一层有10个箱子,软件会自动计算码放顺序。

pallet number

不同情况举例说明如下:

  • 若序号1处未码放箱子,序号2、3处已有箱子,软件报错。

  • 若序号1、2、3、4、6处已码放箱子,序号5处未码放,软件报错。

  • 若已码放箱子序号从1开始,没有间断,工程正常运行。

选择垛型

该步骤并不生成垛型,而是需要选择其他能够配置垛型的码垛步骤,以获取实际的码垛垛型信息。

视觉服务名称

该参数可以指定用于识别和定位托盘箱子的视觉工程。

视觉结果一般包含识别到的箱子位姿与识别到的托盘位姿。托盘位姿不是必须提供的数据,当视觉结果未提供托盘位姿时,将获取指定垛型中的托盘位姿;当箱子在托盘上未居中放置时,仿真界面中箱子与托盘的相对位置会与实际情况相差较大,该情况下推荐使用带有托盘位姿的视觉结果,以提高匹配准确率。

基本运动配置

箱子码放时的部分轨迹如下表:

alt

alt

alt

alt

  • P0:基点、P1:中间点、P2:进入点、P3:调整点、P4:放置点。

  • P0-P1:中间点段、P1-P2:进入段、P2-P3:调整段、P3-P4:放置段。

运动方式

关节运动

指机器人运行路径是弧线,路径更圆滑,运动过程中不容易出现奇异点。

适用于路径精度要求不高、机器人大范围运动的场景。

直线运动

指机器人运行路径为直线,对机器人路径要求较高。

适用于焊接、涂胶、抓取过程等路径要求较高的场景。

奇异点规避

当运动方式为直线运动时,开启该功能可使用多段关节运动模拟直线运动,在一定程度上减少奇异点问题。

详细参数设置

运动段数限制 固定 不限

功能

使用用户指定段数的关节运动模拟直线运动。

软件自行计算模拟直线运动所需的分段数量。

优点

  • 路径点分布更均匀,且数量可控。

  • 可用于标准接口通信。

  • 路径规划成功概率相对较高。

  • 仅移动到所需数量的路径点。

缺点

  • 运动段数设置过多时,机器人运动会卡顿,速度变慢。

  • 手动设定段数可能会稍微增加规避失败的概率。

  • 路径点分布可能不均匀。

  • 不可用于标准接口通信。

参数 解释

运动段数

运动段数限制固定时,用户指定的关节运动的段数。

位置偏移上限

新的多段关节运动路径允许偏移原有直线运动路径的最大距离。 位置偏移上限越大,奇异点规避的成功率越高,同时实际轨迹与直线的接近程度越低。

角度偏移上限

新的多段关节运动路径允许偏移原有直线运动路径的最大角度。 角度偏移上限越大,奇异点规避的成功率越高,同时实际轨迹与直线的接近程度越低。

速度&加速度

速度&加速度参数决定机器人运行快慢,一般加速度参数低于速度参数,当加速度参数高于速度参数时,机器人运行动作不协调。

为保证抓取的稳定性,建议将视觉移动及其前后的运动速度设置低一些。
转弯半径

一般使用默认参数即可,无需调整。

  • 若机器人在狭小的空间运行,机器人不需要太大的转弯半径(转弯半径指距离路径点开始转弯的距离大小,距离越大机器人动作越平滑),可适当调小转弯半径。

  • 若机器人运行的空间较大,没有干扰物且机器人两段路径间距离较大,可适当调大转弯半径,使机器人动作衔接更加平顺。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。