Skip to content

铝壳表面平面度检测

项目简介

项目背景

随着现代制造业的不断发展,对产品质量的要求也越来越高。铝壳作为众多产品的重要组成部分,其表面平面度直接影响到产品的整体性能和外观质量。因此,对铝壳表面平面度的准确测量和控制显得尤为重要。

本地图片

相机选型

LMI激光线扫相机 Gocator2430

检测要求

测量精度 ≤ 0.05mm
测量重复性 ≤ 0.018mm
测量周期 ≤ 200ms

解决方案

AI-Vision软件对3D点云图直接处理,进行定位后根据图纸指定区域进行平面拟合,进行平面度测量。

设计思路

本地图片

执行效果展示

  • 工程结果展示:

    本地图片

  • HMI结果展示:

    本地图片

项目流程

一、初始化

[00] 选择Lua脚本语言工具,全局变量初始化,创建待接收数据的csv文件。

lua
-- 生成保存检测数据的csv文件
-- 生成用于拼接字符串的表头
write = ""

-- 字符串写入csv文件中
-- 当无该文件时,系统会自动生成该文件,同时该工具会WARN提示系统内无该文件
if FileSize("./Plane.csv") <= 0 then
   write = write .. "Time,"
   write = write .. "Plane" .. ","
   write = write .. "OK/NG" .. ","
   write = write .. "\n"
end

write = write .. os.date("%Y_%m_%d %H:%M:%S") .. ","

-- 字符串写入文件中
fprint("./Plane.csv", write)

[01] 选择加载点云工具,获取点云。

二、预处理

  • 图像初定位:

    [02-03] 选择两次3D方形探针工具,找到铝壳的左边以及下边并输出到寄存器中。

    本地图片

    [04] 选择3D几何交点工具,通过读取寄存器中的两边,找到两条边的交点,并输出到寄存器中。

    本地图片

    [05] 选择3D位置调整工具,以3D几何交点工具找到的交点为原点,调整x,y的位置。

  • 拟合平面:

    [6-12] 选择3D区域工具,根据图纸选取铝壳15块不同的区域进行拟合平面。

    本地图片

    [13] 选择3D平面工具,通过存入寄存器中的区域信息来拟合平面,并将拟合出来的平面作为0平面。

    本地图片

三、平面度测量

[14] 选择3D裁切工具,将点云图复制至IM1进行处理。

[15] 选择3D平面度工具,根据图纸选取15块不同的平面,通过平面的平均点进行平面测量。

本地图片

四、数据保存,结果显示及判断

[16] 选择lua脚本语言工具,对结果进行判断,将结果显示在IM上,并将测量出来的平面度以及判断结果存入csv文件中。设置用于HMI展示的全局变量。

lua
-- 保存数据至csv文件中
write = ""
test = GetMeasure(0)

-- 结果判断显示
if 0.5<test and test<0.8 then
    DrawOverlay(1,50,110,20,16,"green","OK:" .. string.format("%.3f",test))
    write = write .. string.format("%.3f,", test) .. "OK" .. ","
else
    DrawOverlay(1,50,110,20,16,"red","NG:" .. string.format("%.3f",test))
    write = write .. string.format("%.3f,", test) .. "NG" .. ","
end

fprint("./Plane.csv", write .. "\n")
-- 设置用于HMI展示的全局变量
SetVariable("Plane" , tointeger(test*1000)/1000)

AI-Vision,让3D测量更简单