混合码垛¶
功能描述
混合垛型用于码放不同尺寸的物体,可根据设置的参数,并通过 视觉识别 识别目标箱子的尺寸,自动生成垛型。
使用场景
码放不同尺寸的箱子。
参数说明
- 移动任务基本参数:
请参考 移动任务基本参数 。
- 码垛类模块通用参数:
请参考 码垛通用参数设置 。
- 垛型尺寸:
垛型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:
垛型设置:
使用视觉返回的估计垛型:
使用估计剁型:
False:默认值。不使用估计剁型。
True:使用估计剁型。
适用场景:这一功能适用于混码维持的箱子状态与实际有较大差异的情况。比如,当箱子不结实时,随码放的箱子数量增长,下面的箱子被压矮,使得垛型顶层高度比正常情况低,如果按照正常垛型码放会摔箱子。在使用估计垛型时,垛型上方需要放置一台相机,对垛型系统(托盘 + 纸箱)进行拍照,Mech-Vision 由此估计托盘内已放置箱子的放置位置,并发送给 Mech-Viz。Mech-Vi z由此更新当前托盘的状态。
以落体方式放置:
二次拍照更新箱子尺寸:
False:默认值。
True:适用于一次拍照无法获得完整尺寸的场景,需二次拍照。
当视觉移动已抓起箱子但无箱子高度信息时,混码在计算放置位置及权重时,将预估箱子高度,按预估高度进行规划;当运行此模块进行二次拍照获得箱子高度后,软件进行二次规划,此时混码会使用两次视觉识别给出的箱子尺寸进行计算。
侯选位置数量限制:
侯选位置总数限制:
默认值:-1。表示不生效,及不对个数进行限制。说明:用来限制所有箱子的候选位置总数,以加速后续的路径检测。候选位置为规划码垛的可选位置;如有 20 个位置用于机器人规划,如果没有限制,机器人有碰撞的情况下,需要规划完 20 次才能停下。如果设置数量限制为 5,在规划 5 次碰撞的情况下停止。单个箱子的候选位置个数限制:
默认值:-1。表示不生效,及不对箱子的候选位置进行限制。说明:用来限制单个箱子的候选位置总数,以加速后续的路径检测。箱子带有标签:
箱子标签朝外:
False:默认值。不使用该功能。
True:适用于箱子侧面带有标签,且码放时标签必须朝外场景。
标签面距离托盘边缘最大距离:箱子标签面可距离托盘边缘最远的距离,单位 m。
寻找候选位置参数:
额外允许超出:允许箱子超出边缘的宽度。建议值:0.02 ~ 0.05m。
箱子超出比例:上层箱子被允许超出其所压平面的最大比例。
同层高度容差:当上层待码放的箱子尺寸大于下层已码放的箱子时,上层的大箱子允许码放在高度差不超过此参数的平面上。
采样率:
说明:规划箱子位置时的采样率(sample/meter)。采样率越高结果越精确,但速度也会越慢。推荐值:200,500,1000平面进入角:
说明:托盘投影方向,箱子进入轨迹与相邻箱子侧面的夹角。若此参数设置过大,码垛时可能留下U 形空余区域;而设置过小时,箱子实际码放中则可能与相邻箱子碰撞。推荐值:15°~30°。使用中间点:
True:默认值。中间点为箱子角点之间的中间点。当垛中有U 型凹槽时,箱子可以垂直于垛型方向插入凹槽中。
角点安全半径:在确定某一角点的进入方向时,检测该角点在该半径内(单位:m),进入指定方向在 XOY 投影平面上是否有障碍物。
夹具Z向高度:机器人末端下表面到机器人倒数第二关节下表面的垂直距离,单位 m。
中点安全间隙:箱子插入中点候选位置时,两侧所留出的最小间隙值(单位:m)。
提示
使用中间点 勾选为 True 时,该参数生效。
在机器人运动误差和箱子尺寸误差允许的情况下,此参数可设置为比间距宽更小的值,将在工作模式为online 时显著提升垛型安置的灵活性或者效率,对于尤其卡在中间放置的箱子,当安全间隙大于原本设置的箱子间间隙时,这个时候规划是无解的。当安全间隙越小,可选放置位姿灵活性越大。
候选位置打分权重:
说明:本组参数均为权重,共同决定待码放箱子在托盘的位置。
相邻面积:值越高,侧面与垛中箱子接触面积越大的候选位置,越有可能被执行;反之亦然。
支撑面积:此参数值越高,被支撑面积越大的位置(超出下表面区域越小),更有可能被执行,反之亦然。
箱子底面高度:底面高度指的是待码放箱子底面与托盘的 Z 向高度差,此参数值越高,目标位置越低,箱子更容易码放到相对较低的平面,反之亦然。
距优先角投影距离:值越高,位置距离优先角的距离投影在垛的对角线中越短,越容易被执行。
支撑箱子数量:值越高,压在更多箱子的位置更有可能被执行,反之亦然。此值高更易规划出一个相对更稳定的垛,但代价是垛的紧凑度下降。
提示
调参时建议以倍数作为调整间隔。比如希望箱子更多往优先角放置,可以将 距优先角投影距离 增大一倍观察效果。
底面积权重:值越高,底面积越大的箱子越容易被执行。
距离托盘边缘距离:值越高,码放时会尽量使箱子靠近托盘边界。
Offline:
垛型设置:
离线算法:
最优匹配:适用于箱子尺寸差别很大,或者在线情况。垛型不如另外三种规整。
按摞码放:将箱子按照某种规格分摞(通常为型号或者尺寸),同一摞之内的箱子,可以按照某种规则排序。本质为二维码放。
按层码放:有较为清晰的层的概念。即优先将同尺寸箱子放在一层;如果一层没有填满,会将一层分为四个区域,每个区域只放一种箱子。
按批码放:对于同种 SKU 的箱子,码放完成之后才允许码放另外一种 SKU 的箱子。这样在使用AGV上料的场景下,可以有效减少AGV的送料次数。
托盘编号:
说明:指定当前查看的托盘编号。默认值:-1。箱子最小边长:
当输入边长值小于该设置值时有报警,单位 mm。目的:箱子尺寸较小时,离线混码的规划时间可能较长。设置该值可以防止订单输入错误而造成很长的计算时间。从路径读取订单: