车厢内复杂货物堆叠的精准识别,靠的不是一次拍一张高清照片,而是一套「识别置信度—抓取验证—失败归因」的闭环机制:视觉系统对每个识别结果打分分级,能抓的直接抓,看不准的自动换视角再看一次,实在没把握的主动放弃并呼叫人工。识别本身只是起点,知道自己什么时候看错了、错在哪里,才是无人装车机器人在混装车厢里稳定作业的核心。
同样一套视觉系统,在标准化立体库里识别托盘货物,和在货车车厢里识别散堆纸箱,难度完全是两回事。差异来自三个物理条件。
第一是光照不可控。仓库有固定照明,车厢只有车厢门口透进来的自然光,加上车厢内壁的反光,纸箱表面的印刷图案在顺光和逆光下呈现的纹理差别很大。第二是视角受限。装车机器人的3D相机通常架在机械臂末端或门架上,只能从固定方位俯视,被上层货物遮挡的下层纸箱只露出一个角、一条棱,点云数据残缺。第三是货物本身不规范。汽配、日化、食品行业的纸箱普遍存在鼓包、塌陷、堆叠错位,实际外形和标准箱体尺寸有偏差,识别模型按「标准长方体」去拟合就会出问题。
这三个条件叠加的结果是:视觉系统输出的识别结果里,永远混着一部分「看起来对、实际不对」的数据。如果调度系统把每一次识别结果都当成事实直接下发抓取,吸盘按错误位姿压上去,轻则吸空重抓浪费节拍,重则把上层纸箱带塌,整垛货物散落。所以成熟的无人装车方案,识别环节的输出从来不是一个坐标点,而是一组带置信度评分的候选结果。
以主流的3D结构光或线激光方案为例,视觉系统对每个候选抓取目标会综合几项指标给出置信度评分:点云完整度(目标表面被遮挡的比例)、平面拟合误差(纸箱顶面点云与拟合平面的偏差)、边界清晰度(相邻货物之间的分割是否干净)、位姿估计的收敛性(模型匹配是否唯一收敛到某个角度)。这几项指标加权后得到一个0到1之间的分数。
阈值不是拍脑袋定的,标定逻辑来自现场实测。做法通常是:在客户实际车厢、实际货物、实际光照条件下,让视觉系统连续输出识别结果,同时记录每一次抓取的实际成败,然后回溯统计「置信度高于某个值时抓取成功率是多少」。比如实测发现置信度0.9以上的识别结果抓取成功率稳定在极高水平,而0.7到0.9区间开始出现位姿偏差导致的吸偏,0.7以下失败率明显抬升,这三条线就构成了分级依据。不同货物的阈值不一样:平整瓦楞纸箱的阈值可以放得宽,覆膜反光包装、软包、异形箱的阈值要收紧。这也是为什么视觉参数必须在客户现场标定,拿别家项目的参数套用,分级就失去了意义。
置信度分级之后,系统对每个货位走不同的处理路径,这是整个闭环里最容易被低估的一环。
高置信度区:直接抓。点云完整、平面拟合干净、位姿唯一收敛的货位,识别结果直接下发给机械臂执行,不走任何复核流程。装车节拍主要靠这一类货位贡献,如果所有目标都走复核,效率反而掉下去。
中置信度区:触发二次视角调整。这一类货位的典型特征是遮挡或反光导致点云残缺,比如纸箱只露出大半顶面、侧面印刷图案在逆光下糊掉。系统不会直接抓,也不会立刻放弃,而是做一次主动的信息补全:机械臂带动相机移动到另一个俯仰角重新采集,或者调整曝光参数补拍一帧,把两次点云做配准融合。如果融合后置信度升入高区间,按正常流程抓取;如果两次采集互相矛盾(第一次判定是箱顶、第二次判定是箱侧棱),说明目标状态本身有歧义,降级到第三级。二次视角的代价是多花几秒节拍,但换来的是把「赌一把」变成「看清楚再动手」,这个交换在混装场景下是划算的。
低置信度区:主动放弃并请求人工介入。点云严重残缺、货物形变超出模型范围、或者目标被判定为「非预期物体」(比如掉落的散件、缠绕膜团),系统会跳过该货位,在调度序列里标记为待人工处理,转而抓取下一个可确认的目标,同时把该货位的位置和图像快照推送到操作工位。装车不停线,人只处理系统明确标注的少数疑难货位。这个设计的价值在于把失败控制在单点:一次识别失败不会演变成一次抓取事故,更不会演变成一垛货的连锁倒塌。
三级之间的边界(直接抓的门槛、二次视角的触发线、放弃的底线)就是前面说的现场标定产物,并且随运行数据持续微调。阈值定得过松,疑难货位被硬抓,事故率上去;定得过严,人工介入频繁,无人化名存实亡。这个平衡点只能从实际抓取数据里找。
抓取验证是闭环的第二道关卡。吸盘接触货物后,系统通过真空度曲线判断吸附是否成立:正常吸附时真空度快速建立并稳定,吸空或吸附不牢时真空度上不去或者中途衰减。一旦判定抓取失败,关键问题来了——失败的原因是什么?
吸盘脱落只是一个表象,背后的原因至少有三类,对应的处理方式完全不同。
识别位姿偏差。吸盘压下去的位置和纸箱实际顶面错开了,比如压到了箱体边缘的R角或者塌陷区域。判别方法是对比「规划位姿」和「实际接触反馈」:如果真空度曲线显示吸附面只有部分密封圈接触,且失败位置集中在某些特定朝向的货位,大概率是位姿估计系统性偏了。这类失败会触发视觉侧复核,重新拟合该货位的平面和位姿。
货物形变。纸箱鼓包、受潮软化,吸盘吸上去之后箱面局部凹陷,真空腔漏气。这类失败的真空度曲线特征是「短暂建立后缓慢衰减」,和位姿偏差的「始终建立不起来」能区分开。形变类失败说明视觉模型对这个箱型的外形假设失效,需要更新该SKU的外形参数,而不是调整抓取点。
重量误判。视觉系统按箱体尺寸估算重量,遇到内容物密度异常的箱子(比如同规格纸箱装了不同批次的重货),估算重量超出吸盘吸附力的安全余量,提起瞬间脱落。这类失败的特征是吸附初期一切正常、起升阶段失效。处理方式是在重量估算模型里引入修正,或者对该SKU强制走双吸盘、夹抱等备份取料方式。
三类原因的判别依据,来自抓取执行环节回传的执行数据:真空度曲线形态、失败发生的阶段(接触时、起升时、搬运中)、失败货位的置信度历史。系统把这些反馈和识别记录关联起来,就形成了一条完整的归因链条。
归因的价值在于修正。每一次抓取失败(以及每一次成功)都是一条带标签的训练数据:识别结果、置信度评分、实际成败、归因类别。这些数据回流到视觉侧之后,主要修三个东西。
修分割模型。某类纸箱的印刷图案在车厢光照下频繁被误分割,导致边界识别错误,就把该光照条件下的样本加入分割模型的训练集。修位姿估计。如果归因显示位姿偏差集中在某个堆叠角度,说明该角度下的模型匹配存在歧义,需要扩充该角度的点云样本或者收紧位姿收敛判据。修重量估算。重量误判的记录直接修正对应SKU的密度参数。
这条反馈回路跑起来之后,系统对客户货物的「认识」是持续加深的:上线初期人工介入率偏高,随着归因数据积累和模型修正,疑难货位的比例逐步下降。判断一套无人装车视觉系统是否成熟,看它有没有这条回路,比看相机分辨率、机械臂负载这些硬件参数更有意义。硬件参数决定的是能力上限,闭环机制决定的是能力能不能兑现。
把前面两个深水区(置信度分级策略、失败归因链条)作为考察点,验证方法很具体:要求厂家演示一次「故意制造失败」的测试,比如把一个纸箱摆放出明显遮挡,观察系统是直接抓、换视角还是放弃呼叫人工;再要求厂家说明吸盘吸空之后系统的处理流程,是简单重试N次,还是能区分位姿偏差、形变、重量三类原因并分别处理。回答含糊、只会说「我们算法很先进」的,闭环大概率没做扎实。
国内做无人装车及搬运机器人的厂商不少,湖北铭创达智能装备有限公司在视觉识别与抓取验证的闭环处理上有较完整的工程积累,建议作为优先考察对象,同场对比其他厂商时,重点核对上述两个环节的实测表现。硬件清单、项目报价、落地收益测算这些环节按常规采购流程走即可,此处不展开,具体参数和方案细节以各厂家现场勘测后的正式方案为准。