方案使用专题

专题一:如何解决电芯点云缺失问题

在电芯上料场景中,由于电芯上表面具有高反光性,相机拍照过程中偶然会出现点云缺失的情况,本节将对上述问题进行分析,并介绍相关方案,避免上述问题影响电芯识别。

适用场景

该专题适用于所有电芯上料场景。

topic 1 applicable scene

问题分析

造成电芯点云缺失的根本原因是电芯极柱表面的金属片具有高反光性,相机拍照时,容易造成局部过曝,导致点云缺失,如下图所示。

topic 1 problem analysis

方案实施

为了保证点云完整性,避免出现局部过曝光的情况,可采用以下两种方案:

  • 降低投影光强度。

  • 避开过曝点。

由于方壳电芯上表面除极柱金属高反光外,其余部分反光并不强烈,仅降低投影光强度可能会导致其余部分曝光不足,同样会造成点云缺失的情况,因此通常选择避开过曝点的方法,来保证点云完整性。具体步骤如下。

  1. 平移相机,使相机的投光中心不再正对电芯区域。此时,相机视野已不能覆盖整个垛位,过曝点已被移出相机视野外。如下图所示,左图为相机移动前,右图为相机移动后。

    topic 1 method step 1
  2. 适当调整相机安装角度,使相机视野能够覆盖能够垛位。如下图所示,左图为调整前,右图为调整后。

    topic 1 method step 2
  3. 由于 LSR L 相机的视野边缘画面比视野中央画面略暗,电芯的黑色部分在视野边缘存在缺失,所以调节相机安装位置时,应始终让电芯处于相机视野中央,避免电芯黑色部分缺失。

    topic 1 method step 3

效果演示

相机经过平移和角度调整后,电芯垛位于相机视野中央,但相机投光中心不再正对电芯。如下图所示,分别为相机位置调整后获取到的电芯 2D 图、深度图和点云,由图可知,没有出现点云缺失的情况。

topic 1 effect

注意事项

  • 采用该方案时,需考虑相机支架的高度和安装相机的角度,使相机视野能够覆盖整垛电芯的区域,避免无法识别到最高层或最底层电芯。

  • 电芯来料时,要尽量保证电芯位于相机视野中央,不可太靠近视野边缘,防止点云严重缺失。

  • 采用该方案时,由于不同生产现场,光照条件不同,所以需根据现场实际情况调整相机曝光相关的参数。

专题二:如何使用示教法制作电芯抓取点

在电芯上料场景中,由于机器人夹具结构复杂、TCP 难以确定,以及机器人精度等问题,在准确识别电芯后,依然存在抓取误差。为了解决上述问题,可通过使用示教法制作单排电芯的抓取点来提高抓取精度。本节将介绍示教法制作抓取点的方法及流程。

适用场景

该专题适用于由机器人夹具结构复杂、TCP 难以确定导致抓取误差的场景,如下图所示。

topic 2 applicable scene

方案实施

准备工作

对距离相机最近的一层电芯进行拍照,拍照时保持电芯识别时的相机曝光相关参数即可。拍照完成后,选择一处点云完整、点云波动较小的电芯。如下图中右图所示,为选择的符合要求的一排电芯。

topic 2 preparation

使用示教法制作抓取点

  1. 配置“Vis_Teach_Pick_Point(Assistance_Project)”工程。

    选中点云预处理步骤组合,在步骤参数中单击打开编辑器,调整3D ROI,调整完成后的 3D ROI 如下图所示。

    topic 2 3d roi
  2. 运行“Vis_Teach_Pick_Point(Assistance_Project)”工程,获得电芯点云模板和抓取点。

    由于电芯来料方式分为竖向、横向,所以需分别制作两种来料方式的电芯抓取点。制作好的点云模板文件和抓取点文件将分别保存至 XXX\Battery Cells\Vis_Battery_Cell_Recognition\model 路径下

    topic 2 save files
  3. 在“Vis_Battery_Cell_Recognition”工程中使用“匹配模板与抓取点编辑器”示教抓取点。

    1. 切换至“Vis_Battery_Cell_Recognition”工程,打开“匹配模板与抓取点编辑器”,添加上一步保存的点云模板文件,并导入抓取点文件。

      topic 2 add files
    2. 右键单击抓取点文件,在快捷菜单中勾选设置为几何中心点,将抓取点设置为几何中心点。需注意勿勾选设置为抓取点

      topic 2 set center point
    3. 使用示教器移动机器人至电芯抓取点,记录此时示教器上显示的 TCP 和机器人法兰位姿。

    4. 在“匹配模板与抓取点编辑器”界面单击 topic 2 click teaching icon ,在弹出的窗口中输入上一步记录的 TCP 和机器人法兰位姿。

      topic 2 input data
    5. 完成上述步骤并确认无误后,在“匹配模板与抓取点编辑器”菜单栏中依次单击文件  保存,保存结果。

映射到多抓取点

  1. 将制作好的抓取点添加到“Vis_Battery_Cell_Recognition”工程。

    切换至“Vis_Battery_Cell_Recognition”工程,依次进入电芯抓取位姿计算  计算竖向电芯抓取点步骤组合,然后找到映射到多抓取点步骤,在其步骤参数中添加对应的文件。

  2. 运行“Vis_Battery_Cell_Recognition”工程,即可自动计算出电芯的多个抓取点。

专题三:如何将电芯抓取点调整至固定方向

在电芯上料场景中,机器人通常需要以固定方向抓取竖向或横向摆放的电芯,因此需将电芯位姿调整至固定方向。本节将介绍将电芯抓取点调整至固定方向的方法及流程。

适用场景

该专题适用于电芯整垛来料,且奇偶层电芯 90° 交替排列的场景。

相机基线方向与相机长边方向一致,现规定抓取点与相机基线方向平行的方向为 0° 方向,抓取点与相机基线方向垂直的方向为 90° 方向,为了方便机器人抓取,通常将电芯抓取点调整为下图所示的情况。其中左图抓取点为 0° 方向,右图抓取点为 90° 方向。

topic 3 applicable scene

方案实施

计算平面点云的位姿和尺寸

  1. 使用判断电芯方向步骤组合提取单排电芯点云。

    topic 3 extract single row battery cells
  2. 使用合并点云步骤处理提取后的电芯点云,得到单排电芯点云的抓取点。

    topic 3 merge point cloud

调整抓取点

  1. 固定 Z 轴方向。

    一般情况下,抓取点,Z 轴方向可能向上,也可能向下,可使用翻转位姿的坐标轴方向步骤统一 Z 轴方向,使 Z 轴竖直向上,即与相机坐标系 Z 轴相反。

  2. 固定 X、Y 轴方向。

    以 0° 方向的抓取点为例,其 X 轴可能向左,也可能向右,如下图所示。为了保证电芯抓取方向一致,可使用快捷创建位姿步骤创建参考位姿,为位姿建立基准,用于将位姿 X、Y 轴的方向固定。

    topic 3 xy left right
    1. 在输出泡棉托盘位姿的步骤后,即依次找到电芯抓取位姿计算  判断是否为空托盘  翻转位姿的坐标轴方向步骤,在该步骤后连接在其自身坐标系下,旋转位姿接受所有参数步骤。

      topic 3 add 2steps
    2. 运行工程,双击在其自身坐标系下,旋转位姿步骤后的数据流,查看位姿。

      topic 3 check pose
    3. 复制上一步得到的位姿,然后在计算竖向电芯抓取点计算横向电芯抓取点步骤组合中找到快捷创建位姿步骤,将位姿粘贴至快捷创建位姿步骤的位姿列表参数中。

  3. 调整抓取点。

    快捷创建位姿步骤后连接使位姿的轴旋转至指定方向步骤,用于调整电芯抓取点。该步骤参数设置如下图所示。

    topic 3 add 1steps

完成上述步骤后,运行工程,即可将电芯抓取点调整至固定方向。

专题四:如何判断电芯是否缺料

在电芯上料场景中,偶尔会出现一排电芯缺料的情况,导致后道工序异常。本节将介绍如何判断单排电芯是否缺料。

适用场景

该专题适用于需要电芯缺料报警的场景。例如电芯上料过程中,如果某排电芯缺料,需要视觉系统报警,且机器人停止运行。

topic 4 applicable scene

方案实施

提取单排电芯点云

使用判断电芯方向步骤组合提取单排电芯点云。

topic 4 extract single row battery cells

提取原始点云

根据上一步得到的单排电芯点云,使用计算平面点云的位姿和尺寸步骤计算电芯位姿,并使用提取长方体内点云步骤提取原始点云,即未经过点云预处理的点云,用于最大程度保留点云完整性。

topic 4 extract origin point cloud

原始点云处理与点云聚类

  1. 原始点云处理。

    为了更准确地计算电芯数量,保证点云聚类准确性,需对上一步所获得的原始点云进行膨胀和平面化处理。

    双击进入电芯高度差及数量检测步骤组合,通过下图中左图所示步骤进行原始点云处理处理。其中,将3D点云投影为2D图像步骤可对点云缺失进行修补,将2D点转换为3D点步骤可获得 3D 点云。如下图中右图所示,单个电芯的点云相对完整,很少出现点云分裂的情况。

    topic 4 origin point cloud processing

    将2D点转换为3D点步骤中使用的位姿数据为单排电芯抓取点。

  2. 点云聚类。

    经过点云聚类后,可获得每个单独的电芯点云。

    topic 4 clustering

电芯数量对比

根据点云聚类结果,使用电芯高度差及数量检测步骤组合中的判断电芯数量步骤组合统计电芯数量,与符合要求的单排电芯数量作比较,检查电芯数量是否缺失。具体说明如下。

topic 4 quantity comparison
  1. 统计数据列表中指定层级中的个数步骤的被操作变量在数组中所在维度参数设置为 1,即可计算出电芯数量。

  2. 进行数据类型转换,将 Variant 数据类型转换为 VariantList 数据类型,然后将 VariantList 数据类型转换为 NumberList 数据类型。

  3. 利用数值比较步骤,进行电芯数量对比,判断电芯是否缺料。

可通过修改电芯高度差及数量检测步骤组合中单排电芯数量参数来修改单排电芯数量。

完成上述步骤后,即可判断电芯是否缺料。

我们重视您的隐私

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