方案使用进阶

本节将从进阶角度介绍电芯上料方案,对轴棒识别的过程进行详细讲解。轴棒识别过程中涉及两个主要的工程,分别为“Vis_Battery_Cell_Recognition”、“Vis_Determine_Battery_Cell_Polarity”,本节将分别对两个工程进行流程概述和步骤详解。

工程一:Vis_Battery_Cell_Recognition

流程概览

在“Vis_Battery_Cell_Recognition”工程中,使用点云处理和计算平面点云位姿的方法得到单排电芯抓取点,整体流程如下图所示。

vision overall 1

步骤详解

点云预处理

  • 功能说明:

    该步骤组合可去除干扰点云,为后续电芯及泡棉托盘点云计算做准备。

  • 需调整的参数:

    参数 参数解释 调节说明 调节效果

    3D ROI

    该参数用于设置 3D 感兴趣区域,使需要参与计算的点云被包含在该区域内,防止无关点云参与计算。

    3D ROI 内需包含整垛电芯的最高层和最低层,以确保能够兼容来料有偏差的情况。同时需去除其他干扰点云。

    project 1 3d roi effect

  • 内部重点步骤介绍:

    步骤 功能说明 参数调节说明 处理结果

    将深度图转换为点云

    该步骤可将相机获取的深度图转化为点云,转换后的点云中包含更加丰富和准确的几何信息,用于后续数据处理。

    无需进行参数调整。

    project 1 from depth map to point cloud

    点云降采样

    该步骤可以一定的间隔对点云进行采样,降低点云密度,提高后续步骤的运行速度,提升视觉节拍。

    采样间隔越大,点云越稀疏,计算速度越快,但准确性可能会降低。

    project 1 down sample point cloud

    点过滤

    该步骤可根据点云法向,去除侧面的点云。

    • 参考方向:选择机器人坐标系 Z 轴方向,或选择相机坐标系方向。

    • 角度阈值设置:点云法向与参考方向之间的夹角,夹角不在该范围内的点云(右图中红色点云)会被过滤。

    project 1 point filter

    点云聚类

    该步骤可区分泡棉托盘点云、电芯点云,同时滤除部分杂点。

    • 输出类中相邻点最大距离:通过点与点之间的距离对点云分类,当点云间距小于该值时,被判断为同类点云,反之被判断为不同类点云,并以不同颜色区分。

    • 类的最小点数&类的最大点数:点云聚类后,当一块点云中的点数小于“类的最小点数”或大于“类的最大点数”时,将被过滤,点数位于该区间的点云将被保留。

    project 1 point cloud clustering

电芯抓取位姿计算

  • 功能说明:

    该步骤组合可通过单排电芯点云计算平面点云位姿,得到单排电芯的抓取点。

  • 需调整的参数:

    参数 参数解释 调节说明 调节效果

    电芯露出托盘高度

    通过调整该参数,该步骤可准确获取最上层电芯及泡棉托盘点云,用于后续计算。

    该参数值允许存在一定波动,不影响视觉结果。

    project 1 exposed tray height

  • 内部重点步骤介绍:

    步骤 功能说明 处理结果

    判断是否为空托盘(步骤组合)

    该步骤组合可分离电芯点云与泡棉托盘点云,并判断托盘上是否有电芯。如果有电芯,输出电芯点云;如果没有电芯,输出泡棉托盘抓取点。

    project 1 whether pallet empty

    根据点云尺寸进行分类

    该步骤可根据点云尺寸对电芯点云和泡棉托盘点云进行分类。尺寸由“读取物体尺寸”步骤进行输入。

    project 1 classification by point clouds sizes

    判断电芯方向(步骤组合)

    该步骤组合可通过判断电芯在相机视野中的摆放方式,分别输出对应的单排电芯点云。如右图所示,为从竖向电芯点云中提取的单排电芯点云。

    project 1 determine battery direction

    计算单个电芯长短边(步骤组合)

    该步骤组合可提取单个完整电芯点云,计算在相机坐标系下该点云的长短边,并判断电芯方向,然后根据计算结果提取单排电芯点云。

    -

    计算电芯抓取点(步骤组合)

    该步骤组合可通过单排电芯点云,计算平面点云位姿,得到电芯抓取点。

    project 1 calc cell pick points

电芯高度差及数量检测

  • 功能说明:

    该步骤组合可判断电芯在托盘内的高度是否不一致,并判断是否存在缺料情况,如果存在异常,则输出报警信息。

  • 需调整的参数:

    参数 参数解释 调节说明 调节效果

    单排电芯数量

    通过设置该参数,该步骤组合可判断电芯是否存在缺料的情况,如果缺料,则输出报警信息。

    根据实际需求设置该参数。如右图所示,分别为满料时的标签信息和缺料时的标签信息。

    project 1 single row number cells 1

    project 1 single row number cells 1

  • 内部重点步骤介绍:

    步骤 功能说明 处理结果

    判断高度差是否异常(步骤组合)

    该步骤组合可分别计算单排每个电芯的位姿,然后根据位姿高度,判断是否有异常,并输出判断结果,即布尔值。

    project 1 determine height difference

    判断电芯数量(步骤组合)

    该步骤组合可根据点云判断电芯数量是否正确,如果不正确,则输出报警信息。

    project 1 determine cells number

工程二:Vis_Determine_Battery_Cell_Polarity

流程概览

在“Vis_Battery_Cell_Recognition”工程中,通过计算单个电芯平面点云得到电芯尺寸后,利用深度学习对电芯表面二维码标志位置识别,判断电芯正负极方向。整体流程如下图所示。

vision overall 2

步骤详解

点云预处理

  • 功能说明:

    该步骤组合可去除干扰点云,提取完整的单个电芯点云,为后续的尺寸计算做准备。

  • 需调整的参数:

    参数 参数解释 调节说明 调节效果

    3D ROI

    该参数用于设置 3D 感兴趣区域,使需要参与计算的点云被包含在该区域内,防止无关点云参与计算。

    3D ROI 内需包含整垛电芯的最高层和最低层,以确保能够兼容来料有偏差的情况。同时需去除其他干扰点云。

    project 2 3d roi effect

  • 内部重点步骤介绍:

    步骤 功能说明 处理结果

    将深度图转换为点云

    该步骤可将相机获取的深度图转化为点云,转换后的点云中包含更加丰富和准确的几何信息,用于后续数据处理。

    project 2 from depth map to point cloud

    深度学习获取电芯图像(步骤组合)

    该步骤组合可通过深度学习从相机获取到的 2D 图中提取电芯图像,方便后续识别二维码。

    project 2 obtain cells image by dl

    提取掩膜中对应的点云

    该步骤可通过深度学习掩膜,提取单个电芯点云,避免无关点云影响后续计算。

    project 2 apply masks to point cloud

判断电芯尺寸

  • 功能说明:

    该步骤组合可根据点云数量选择最完整的单个电芯点云,然后计算得到电芯的尺寸,并转化为位姿数据。

  • 需调整的参数:

    无需调整参数,绝大多数场景下可使用默认参数。

  • 内部重点步骤介绍:

    步骤 功能说明 参数调节说明 处理结果

    点云降采样

    该步骤可以一定的间隔对点云进行采样,降低点云密度,提高后续步骤的运行速度,提升视觉节拍。

    采样间隔越大,点云越稀疏,计算速度越快,但准确性可能会降低。

    project 2 down sample point cloud

    获取最高层电芯点云(步骤组合)

    该步骤组合可去除影响计算的杂点,并获取电芯点云,用于后续计算。

    无需进行参数调整。

    project 2 get highest layer clouds

    筛选电芯点云(步骤组合)

    该步骤组合可根据单个电芯的点云数量,筛选最完整的电芯点云,用于后续尺寸计算。

    无需进行参数调整。

    project 2 point cloud filter

    将尺寸转换为位姿(步骤组合)

    该步骤组合可将计算得到的电芯尺寸转换为位姿,方便后续数据处理。

    无需进行参数调整。

    project 2 convert dimensions to pose

检测正负极方向

  • 功能说明:

    该步骤组合可通过深度学习识别电芯二维码,计算二维码在电芯图像中的位置,从而判断电芯正负极方向。具体说明如下。

    1. 根据二维码位置与电芯 2D 图中心的位置关系,判断电芯正负极方向,输出“up”、“down”、“right”、“left”四种标签,代表二维码位于电芯图像的“上”、“下”、“左”、“右”四个方位。

    2. 利用标签映射功能,将四种标签映射为两种标签。如:“up”和”left“映射为“11”,“down”和“right”映射为“12”。标签“11”代表机器人根据电芯的抓取点正常抓取,标签“12”代表机器人需要旋转 180° 后进行抓取。

      如果同一排电芯的识别结果中,出现方向不统一的结果,则输出标签“13”。

      如果识别电芯正负极时拍照点随电芯横竖方向变化,则只需输出“上”、“下”两种标签。

  • 需调整的参数:

    无需调整参数,绝大多数场景下可使用默认参数。

  • 内部重点步骤介绍:

    步骤 功能说明 处理结果

    深度学习模型包推理

    该步骤可通过深度学习识别电芯上表面二维码,用于后续计算。

    project 2 deep learning model package inference

    计算图像中心(步骤组合)

    该步骤组合可计算电芯 2D 图中心,用于后续和二维码图像中心作对比,从而确定二维码位置。

    project 2 calc image center

    使用Python计算结果

    该步骤可通过 Python 脚本对比电芯 2D 图中心和二维码图像中心,通过对比结果确定电芯正负极方向。

    project 2 calc results by python

我们重视您的隐私

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