方案使用专题
专题一:如何解决电芯点云缺失问题
在电芯上料场景中,由于电芯上表面具有高反光性,相机拍照过程中偶然会出现点云缺失的情况,本节将对上述问题进行分析,并介绍相关方案,避免上述问题影响电芯识别。
方案实施
为了保证点云完整性,避免出现局部过曝光的情况,可采用以下两种方案:
-
降低投影光强度。
-
避开过曝点。
由于方壳电芯上表面除极柱金属高反光外,其余部分反光并不强烈,仅降低投影光强度可能会导致其余部分曝光不足,同样会造成点云缺失的情况,因此通常选择避开过曝点的方法,来保证点云完整性。具体步骤如下。
-
平移相机,使相机的投光中心不再正对电芯区域。此时,相机视野已不能覆盖整个垛位,过曝点已被移出相机视野外。如下图所示,左图为相机移动前,右图为相机移动后。
-
适当调整相机安装角度,使相机视野能够覆盖能够垛位。如下图所示,左图为调整前,右图为调整后。
-
由于 LSR L 相机的视野边缘画面比视野中央画面略暗,电芯的黑色部分在视野边缘存在缺失,所以调节相机安装位置时,应始终让电芯处于相机视野中央,避免电芯黑色部分缺失。
专题二:如何使用示教法制作电芯抓取点
在电芯上料场景中,由于机器人夹具结构复杂、TCP 难以确定,以及机器人精度等问题,在准确识别电芯后,依然存在抓取误差。为了解决上述问题,可通过使用示教法制作单排电芯的抓取点来提高抓取精度。本节将介绍示教法制作抓取点的方法及流程。
方案实施
使用示教法制作抓取点
-
配置“Vis_Teach_Pick_Point(Assistance_Project)”工程。
选中点云预处理步骤组合,在步骤参数中单击打开编辑器,调整3D ROI,调整完成后的 3D ROI 如下图所示。
-
运行“Vis_Teach_Pick_Point(Assistance_Project)”工程,获得电芯点云模板和抓取点。
由于电芯来料方式分为竖向、横向,所以需分别制作两种来料方式的电芯抓取点。制作好的点云模板文件和抓取点文件将分别保存至
XXX\Battery Cells\Vis_Battery_Cell_Recognition\model
路径下 -
在“Vis_Battery_Cell_Recognition”工程中使用“匹配模板与抓取点编辑器”示教抓取点。
-
切换至“Vis_Battery_Cell_Recognition”工程,打开“匹配模板与抓取点编辑器”,添加上一步保存的点云模板文件,并导入抓取点文件。
-
右键单击抓取点文件,在快捷菜单中勾选设置为几何中心点,将抓取点设置为几何中心点。需注意勿勾选设置为抓取点。
-
使用示教器移动机器人至电芯抓取点,记录此时示教器上显示的 TCP 和机器人法兰位姿。
-
在“匹配模板与抓取点编辑器”界面单击 ,在弹出的窗口中输入上一步记录的 TCP 和机器人法兰位姿。
-
完成上述步骤并确认无误后,在“匹配模板与抓取点编辑器”菜单栏中依次单击
,保存结果。
-
专题三:如何将电芯抓取点调整至固定方向
在电芯上料场景中,机器人通常需要以固定方向抓取竖向或横向摆放的电芯,因此需将电芯位姿调整至固定方向。本节将介绍将电芯抓取点调整至固定方向的方法及流程。
适用场景
该专题适用于电芯整垛来料,且奇偶层电芯 90° 交替排列的场景。
相机基线方向与相机长边方向一致,现规定抓取点与相机基线方向平行的方向为 0° 方向,抓取点与相机基线方向垂直的方向为 90° 方向,为了方便机器人抓取,通常将电芯抓取点调整为下图所示的情况。其中左图抓取点为 0° 方向,右图抓取点为 90° 方向。
方案实施
调整抓取点
-
固定 Z 轴方向。
一般情况下,抓取点,Z 轴方向可能向上,也可能向下,可使用翻转位姿的坐标轴方向步骤统一 Z 轴方向,使 Z 轴竖直向上,即与相机坐标系 Z 轴相反。
-
固定 X、Y 轴方向。
以 0° 方向的抓取点为例,其 X 轴可能向左,也可能向右,如下图所示。为了保证电芯抓取方向一致,可使用快捷创建位姿步骤创建参考位姿,为位姿建立基准,用于将位姿 X、Y 轴的方向固定。
-
在输出泡棉托盘位姿的步骤后,即依次找到
步骤,在该步骤后连接在其自身坐标系下,旋转位姿和接受所有参数步骤。 -
运行工程,双击在其自身坐标系下,旋转位姿步骤后的数据流,查看位姿。
-
复制上一步得到的位姿,然后在计算竖向电芯抓取点和计算横向电芯抓取点步骤组合中找到快捷创建位姿步骤,将位姿粘贴至快捷创建位姿步骤的位姿列表参数中。
-
-
调整抓取点。
在快捷创建位姿步骤后连接使位姿的轴旋转至指定方向步骤,用于调整电芯抓取点。该步骤参数设置如下图所示。
完成上述步骤后,运行工程,即可将电芯抓取点调整至固定方向。
专题四:如何判断电芯是否缺料
在电芯上料场景中,偶尔会出现一排电芯缺料的情况,导致后道工序异常。本节将介绍如何判断单排电芯是否缺料。
方案实施
原始点云处理与点云聚类
-
原始点云处理。
为了更准确地计算电芯数量,保证点云聚类准确性,需对上一步所获得的原始点云进行膨胀和平面化处理。
双击进入电芯高度差及数量检测步骤组合,通过下图中左图所示步骤进行原始点云处理处理。其中,将3D点云投影为2D图像步骤可对点云缺失进行修补,将2D点转换为3D点步骤可获得 3D 点云。如下图中右图所示,单个电芯的点云相对完整,很少出现点云分裂的情况。
将2D点转换为3D点步骤中使用的位姿数据为单排电芯抓取点。
-
点云聚类。
经过点云聚类后,可获得每个单独的电芯点云。
电芯数量对比
根据点云聚类结果,使用电芯高度差及数量检测步骤组合中的判断电芯数量步骤组合统计电芯数量,与符合要求的单排电芯数量作比较,检查电芯数量是否缺失。具体说明如下。
-
将统计数据列表中指定层级中的个数步骤的被操作变量在数组中所在维度参数设置为 1,即可计算出电芯数量。
-
进行数据类型转换,将 Variant 数据类型转换为 VariantList 数据类型,然后将 VariantList 数据类型转换为 NumberList 数据类型。
-
利用数值比较步骤,进行电芯数量对比,判断电芯是否缺料。
可通过修改电芯高度差及数量检测步骤组合中单排电芯数量参数来修改单排电芯数量。 |
完成上述步骤后,即可判断电芯是否缺料。