混合码垛

功能描述

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

使用场景

码放不同尺寸的箱子。

参数说明

  • 移动任务基本参数:

    请参考 移动任务基本参数

  • 码垛类模块通用参数:

    请参考 码垛通用参数设置

  • 垛型尺寸:
    • 垛型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

    ../../../../_images/angle_oo.png
    ../../../../_images/angle_oy.png

    XY

    XO

    ../../../../_images/angle_xy.png
    ../../../../_images/angle_xo.png
  • 使用视觉返回的估计垛型:

    使用估计剁型:

    • False:默认值。不使用估计剁型。

    • True:使用估计剁型。

      适用场景:这一功能适用于混码维持的箱子状态与实际有较大差异的情况。比如,当箱子不结实时,随码放的箱子数量增长,下面的箱子被压矮,使得垛型顶层高度比正常情况低,如果按照正常垛型码放会摔箱子。
      在使用估计垛型时,垛型上方需要放置一台相机,对垛型系统(托盘 + 纸箱)进行拍照,Mech-Vision 由此估计托盘内已放置箱子的放置位置,并发送给 Mech-Viz。Mech-Vi z由此更新当前托盘的状态。
  • 以落体方式放置:

    允许以落体方式放置:

    • False:默认值。

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

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

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

      ../../../../_images/mixed_pallet_pattern_down.png
  • 二次拍照更新箱子尺寸:

    • False:默认值。

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

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

  • 侯选位置数量限制:

    侯选位置总数限制:

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

    单个箱子的候选位置个数限制:

    默认值:-1。表示不生效,及不对箱子的候选位置进行限制。
    说明:用来限制单个箱子的候选位置总数,以加速后续的路径检测。
  • 箱子带有标签:

    箱子标签朝外:

    • False:默认值。不使用该功能。

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

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

  • 寻找候选位置参数:

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

    ../../../../_images/permitted_width.png

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

    ../../../../_images/permitted_scale.png

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

    采样率:

    说明:规划箱子位置时的采样率(sample/meter)。采样率越高结果越精确,但速度也会越慢。
    推荐值:200,500,1000

    平面进入角:

    说明:托盘投影方向,箱子进入轨迹与相邻箱子侧面的夹角。
    ../../../../_images/enter_angle.png
    若此参数设置过大,码垛时可能留下U 形空余区域;而设置过小时,箱子实际码放中则可能与相邻箱子碰撞。
    推荐值:15°~30°。

    使用中间点:

    • True:默认值。中间点为箱子角点之间的中间点。当垛中有U 型凹槽时,箱子可以垂直于垛型方向插入凹槽中。

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

    夹具Z向高度:机器人末端下表面到机器人倒数第二关节下表面的垂直距离,单位 m。

    ../../../../_images/z_height.png

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

    提示

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

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

  • 候选位置打分权重:

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

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

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

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

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

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

      提示

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

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

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

Offline

  • 垛型设置:

    箱子最小间距:

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

    优先角:

    说明:码放时,选择托盘其中一个角开始码放,且随着托盘位姿变化。

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

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

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

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

    OO

    OY

    ../../../../_images/angle_oo.png
    ../../../../_images/angle_oy.png

    XY

    XO

    ../../../../_images/angle_xy.png
    ../../../../_images/angle_xo.png
  • 离线算法:

    • 最优匹配:适用于箱子尺寸差别很大,或者在线情况。垛型不如另外三种规整。

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

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

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

  • 托盘编号:

    说明:指定当前查看的托盘编号。
    默认值:-1。
  • 箱子最小边长:

    当输入边长值小于该设置值时有报警,单位 mm。
    目的:箱子尺寸较小时,离线混码的规划时间可能较长。设置该值可以防止订单输入错误而造成很长的计算时间。
  • 从路径读取订单:

    • 离线订单路径:点击 ,选择路径。

    • 离线订单名称:在 中修改。

    ../../../../_images/offline_para.png