混合码垛

功能描述

用于码放不同尺寸的物体,根据设置的参数,并通过 视觉识别 识别目标箱子的尺寸,自动生成垛型。

使用场景

码放不同尺寸的箱子时使用。

参数说明

移动任务基本参数

请查看 移动任务基本参数

码垛类任务通用参数

请查看 码垛通用参数设置

垛型尺寸
  • 垛型 X 边长度:设置垛型长度。

  • 垛型 Y 边长度:设置垛型宽度。

  • 垛型高度:设置垛型的最大高度。

  • 垛型允许超高:在码放箱子时,箱子允许超过垛型高度值。

举例说明:

垛型高度 为 0.6m, 垛型允许超高 为 0.1m,允许的垛型最终高度为 0.6m + 0.1m = 0.7m 。已知已码放垛高为 0.45m,可码高度为 0.7m - 0.45m = 0.25m。

  • > 0.25m 的纸箱:不可继续码放

  • < 0.25m 的纸箱:可以继续码放

问题类型
  • Online:不知道未来箱子尺寸时,规划每一个新来箱子的码放。

  • Offline:已知所有需要码放箱子的尺寸,一次性规划所有箱子。

    ヒント

    • 此功能用于调试阶段调整垛型参数,可读取 json 文件,查看规划的垛型。

    • 不支持连接运行真实机器人。

Online

垛型设置

箱子最小间距
箱子之间的间隙宽度,单位 m。
测量出的箱子尺寸小于实际尺寸防止碰撞。
建议值:0.01 ~ 0.02m 。
优先角

说明:码放时,优先选择的托盘角,且随着托盘位姿变化。

  • OO:定义托盘某个角为基准角, OO 指在相对机器人坐标系的-Y、-X处的托盘角。

  • OY:在 OO 基准上,沿着机器人 Y 正方向移动的托盘角。

  • XY:在 OO 基准上,沿着机器人 Y 正方向和 X 正方向同时移动的托盘角。

  • XO:在 OO 基准上,沿着机器人 X 正方向移动的托盘角。

OO

OY

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_oo.png
MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_oy.png

XY

XO

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_xy.png
MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_xo.png

以落体方式放置

允许以落体方式放置
  • icon_unselected:默认值,不允许以落体方式放置。

  • icon_selected:当箱子在距离码放位置 Z 向一定高度时,允许纸箱放下。

    适用场景:为了减少碰撞,矮纸箱摆放在两个较高纸箱中间,或摆放过紧时,适用允许以落体方式放置。
    下落高度:Z 向下落的高度设置,单位 m。
    下落安全距离:待放置纸箱侧面与距周围纸箱的最小间距,单位 m。

    下图 Z 值为 下落高度 ,a 值为 下落安全距离

    MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/mixed_pallet_pattern_down.png
二次拍照更新箱子尺寸
  • icon_unselected:默认值。

  • icon_selected:适用于一次拍照无法获得完整尺寸的场景,需二次拍照。

当视觉移动已抓起箱子但无箱子高度信息时,混码在计算放置位置及权重时,将预估箱子高度,按预估高度进行规划;当运行此模块进行二次拍照获得箱子高度后,软件进行二次规划,此时混码会使用两次视觉识别给出的箱子尺寸进行计算。

ヒント

可以与 更新被抓物体 配合使用。

侯选位置数量限制

侯选位置总数限制
默认值:-1。表示不生效,及不对个数进行限制。
说明:用来限制所有箱子的候选位置总数,以加速后续的路径检测。候选位置为规划码垛的可选位置;如有 20 个位置用于机器人规划,如果没有限制,机器人有碰撞的情况下,需要规划完 20 次才能停下。如果设置数量限制为 5,在规划 5 次碰撞的情况下停止。
单个箱子的候选位置个数限制
默认值:-1。表示不生效,及不对箱子的候选位置进行限制。
说明:用来限制单个箱子的候选位置总数,以加速后续的路径检测。

箱子带有标签

箱子标签朝外
  • icon_unselected:默认值。不使用该功能。

  • icon_selected:适用于箱子侧面带有标签,且码放时标签必须朝外场景。

    • 标签面距离托盘边缘最大距离:箱子标签面可距离托盘边缘最远的距离,单位 m。

寻找候选位置参数

额外允许超出

允许箱子超出边缘的宽度。建议值:0.02 ~ 0.05m。

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/permitted_width.png
箱子超出比例

上层箱子被允许超出其所压平面的最大比例。

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/permitted_scale.png
同层高度容差

当上层待码放的箱子尺寸大于下层已码放的箱子时,上层的大箱子允许码放在高度差不超过此参数的平面上。

采样率
说明:规划箱子位置时的采样率(sample/meter)。采样率越高结果越精确,但速度也会越慢。
推荐值:200,500,1000
平面进入角
说明:托盘投影方向,箱子进入轨迹与相邻箱子侧面的夹角。
MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/enter_angle.png
若此参数设置过大,码垛时可能留下U 形空余区域;而设置过小时,箱子实际码放中则可能与相邻箱子碰撞。
推荐值:15°~30°。
使用中间点
  • icon_selected:默认值。中间点为箱子角点之间的中间点。当垛中有U 型凹槽时,箱子可以垂直于垛型方向插入凹槽中。

角点安全半径

在确定某一角点的进入方向时,检测该角点在该半径内(单位:m),进入指定方向在 XOY 投影平面上是否有障碍物。

夹具Z向高度

机器人末端下表面到机器人倒数第二关节下表面的垂直距离,单位 m。

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/z_height.png
中点安全间隙

箱子插入中点候选位置时,两侧所留出的最小间隙值(单位:m)。

ヒント

使用中间点 勾选为 |icon_selected| 时,该参数生效。

在机器人运动误差和箱子尺寸误差允许的情况下,此参数可设置为比间距宽更小的值,将在工作模式为Online 时显著提升垛型安置的灵活性或者效率,对于尤其卡在中间放置的箱子,当安全间隙大于原本设置的箱子间间隙时,这个时候规划是无解的。当安全间隙越小,可选放置位姿灵活性越大。

候选位置打分权重

说明:本组参数均为权重,共同决定待码放箱子在托盘的位置。

相邻面积

值越高,侧面与垛中箱子接触面积越大的候选位置,越有可能被执行;反之亦然。

支撑面积

此参数值越高,被支撑面积越大的位置(超出下表面区域越小),更有可能被执行,反之亦然。

箱子底面高度

底面高度指的是待码放箱子底面与托盘的 Z 向高度差,此参数值越高,目标位置越低,箱子更容易码放到相对较低的平面,反之亦然。

距优先角投影距离

值越高,位置距离优先角的距离投影在垛的对角线中越短,越容易被执行。

支撑箱子数量

值越高,压在更多箱子的位置更有可能被执行,反之亦然。此值高更易规划出一个相对更稳定的垛,但代价是垛的紧凑度下降。

ヒント

调参时建议以倍数作为调整间隔。比如希望箱子更多往优先角放置,可以将 距优先角投影距离 增大一倍观察效果。

底面积权重

值越高,底面积越大的箱子越容易被执行。

距离托盘边缘距离

值越高,码放时会尽量使箱子靠近托盘边界。

Offline

垛型设置

箱子最小间距
箱子之间的间隙宽度,单位 m。
防止碰撞:测量出的箱子尺寸小于实际尺寸。
建议设置 0.01 ~ 0.02m 。
优先角

说明:码放时,优先选择的托盘角,且随着托盘位姿变化。

  • OO:定义托盘某个角为基准角, OO 指在相对机器人坐标系的-Y、-X处的托盘角。

  • OY:在 OO 基准上,沿着机器人 Y 正方向移动的托盘角。

  • XY:在 OO 基准上,沿着机器人 Y 正方向和 X 正方向同时移动的托盘角。

  • XO:在 OO 基准上,沿着机器人 X 正方向移动的托盘角。

OO

OY

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_oo.png
MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_oy.png

XY

XO

MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_xy.png
MechViz\WorkFlow\Pallet\mixed_pallet_pattern\img/angle_xo.png
离线算法
  • 最优匹配:适用于箱子尺寸差别很大,或者在线情况。垛型不如另外三种规整。

  • 按摞码放:将箱子按照某种规格分摞(通常为型号或者尺寸),同一摞之内的箱子,可以按照某种规则排序。本质为二维码放。

  • 按层码放:有较为清晰的层的概念。即优先将同尺寸箱子放在一层;如果一层没有填满,会将一层分为四个区域,每个区域只放一种箱子。

  • 按批码放:对于同种 SKU 的箱子,码放完成之后才允许码放另外一种 SKU 的箱子。这样在使用 AGV 上料的场景下,可以有效减少 AGV 的送料次数。

托盘编号
说明:指定当前查看的托盘编号。
默认值:-1。
箱子最小边长
当输入边长值小于该设置值时有报警,单位 mm。
目的:箱子尺寸较小时,离线混码的规划时间可能较长。设置该值可以防止订单输入错误而造成很长的计算时间。