LMI FocalSpec 3D线共焦传感器 使用笔记1
一.硬件介绍
以上特别注意: 屏蔽线必须接地,因为在现场实际调试中,使用软件调试发现经常 弹窗 传感器丢失警告!!
以上 Position LED 的灯被钣金挡住,无法查看异常现象,能否将指示灯设置在软件界面上?
需要确认是软触发还是硬触发,理论上 硬触发比软触发速度要快.(我们目前使用的1620是高速传感器).
注意:弯折半径,光纤线在设备里最好不要弯折
我们现在使用的是高速传感器1620,要确认是否是万兆网卡.
确认设置是否正确?
二.3D线激光传感器 相关知识
3D线激光传感器简介
在传统的2D视觉中,解决方案的核心由工业相机、镜头和光源组成。根据客户的要求和现场条件,我们可以利用一些计算公式来选择适合的工业相机和镜头,最终在满足客户成本要求的基础上进行选择。其中最复杂的一部分是选择合适的光源,能够根据被测试物体的不同特性来保证图像清晰。显然,2D视觉对工程师的要求较高,需要有丰富的项目经验和一定的光学和软件知识。相对而言,使用3D线激光传感器则相对简单一些。
一般来说,3D线激光传感器的设计会将其融入到一个框架中,与2D视觉系统不同。3D机器视觉镜头的光学系统通常由几组透镜组成。每组透镜可能是独立的透镜,也可能是由两片或更多的单片透镜胶合在一起。
在3D视觉中,激光发射器取代了光源。通过复杂的光学系统设计,激光发射器发出的激光会形成一条直线,照射到物体表面后会发生反射。在光学系统的设计下,反射光会被镜头捕捉到,最后通过镜头反射到感光芯片上。因此,3D相机内部最重要的三个部件是激光发射器、镜头和感光芯片。此外,还会添加一些FPGA或ARM用于图形处理,例如图像算法和图像滤波。通常情况下,激光发射器需要由优秀的光学工程师进行设计,因为不同的透镜反射出的激光效果也不同。镜头基本上和我们普通使用的镜头类似,感光芯片一般会选择高精度的CMOS芯片。
一般来说,我们将激光线的方向称为X方向,即激光投射出来的线条定义为X轴,高度则是Z方向。通过一次静态拍照,我们能够获取X和Z两个方向的数据。那么Y方向又如何呢?通常我们将运动方向记为Y方向。也就是说,我们可以通过移动相机或移动物体,并且让相机持续不断地拍照,这样就形成了连续的Y方向数据。最后,将这些数据组合在一起,就得到了我们所需的3D数据。
原理
三角测距法是一种基于光学三角原理的测距方法,又被称为主动三角法。它利用光源、物体和检测器之间的几何成像关系来确定三维空间物体各点的坐标。在实际测量中,常常使用激光作为光源,并使用CCD相机作为检测器。这种方法主要应用于工业勘探、工件表面粗糙度检测、轮胎检测、飞机检测等工业、航空和军事领域,而尚未被应用于消费电子产品。
主要参数
在2D视觉领域,存在许多专业术语,例如视野、分辨率和重复精度等,而在3D视觉中也是一样的情况。
在3D视觉中大致以以下术语:
1.视野范围/视场(FOV)
视场宽度指的是传感器在特定工作距离下激光线能够扫描到的最大宽度。在2D视觉中,视场宽度通常由两个值表示,即X方向和Y方向的宽度;而在3D视觉中,视场宽度只有一个值。一般情况下,视场宽度可以理解为激光线在传感器最佳工作距离下的长度。需要注意的是,这里指的是工作距离下的长度,因为激光发射形成了一个光面,如果没有被遮挡的话,理论上是无限长的。
注意:以上灰色的我有疑问,按照厂商给的参数表的视野 LCI1620的是 17mm,那么这里的视野应该是指静态下X的长度.
2.测量范围(最佳成像范围)
传感器的近视场和远视场之间的距离是传感器可以清晰成像的范围。这个概念类似于2D视觉中的景深,即能够被Z轴清晰成像的范围。
3.工作距离(安装距离)
测量被测物表面与传感器下表面之间的距离。在这里,我们所指的传感器就是相机,每台相机的工作距离都有所不同,因此一定要记住工作距离。如果在选择好相机后,发现客户现场的安装高度无法达到相机的工作距离要求,那么你之前的准备工作就会全部白费。
4.分辨率(X方向分辨率)
传感器可以识别的最小尺寸。跟图像传感器一般是CMOS芯片的晶圆尺寸也就是感光芯片有关系。
5.线性度
该概念有时也被称为准确度或直线度。一般来说,它指的是Z轴方向的线性度,即参考值与测量值之间的差异与测量范围的比例。
6.重复精度(Z方向重复精度)
重复性也称为重复测量。它是指对被测物进行4100次重复扫描后,得到的最大偏差值。
比较2D的优势和特点
1.可以测量高度信息。
2.可以进行垂直方向上的校正。
3.便利的安装和架设。
4.宽广的景深,广阔的视野。
5.测量结果受物体表面颜色的影响较小。
6.可以通过高度来确定的特征有可计算段差、缝隙、平面度等。
7.可以对整个产品的空间有一定的认知,并且可以根据数模进行全面检查。
8.体积小巧,原理简明易懂,架设也很简单。
硬件主要介绍到这里,下章介绍软件调试........
相关文章:

LMI FocalSpec 3D线共焦传感器 使用笔记1
一.硬件介绍 以上特别注意: 屏蔽线必须接地,因为在现场实际调试中,使用软件调试发现经常 弹窗 传感器丢失警告!! 以上 Position LED 的灯被钣金挡住,无法查看异常现象,能否将指示灯设置在软件界面上? 需要确认是软触发还是硬触发,理论上 硬触发比软触发速度要快.(我们目前使用…...

四、RocketMQ发送普通消息、批量消息和延迟消息
Producer发送普通消息的方式 1.同步发送消息 同步消息代表发送端发送消息到broker之后,等待消息发送结果后,再次发送消息 实现步骤 创建生产端,声明在哪个生产组注册NameServer地址构建Message实体,指定topic、tag、body启动…...
idea自定义 postfix completion提高编码效率
postfix completion的使用 详情见: https://www.cnblogs.com/expiator/p/17380495.html 自定义 postfix completion List、 String 初始化list: key: list表达式: List<$EXPR$> $END$List new ArrayList<>();字符串判空&…...

解锁学习电路设计的正确姿势!
...

【Linux】 ps命令使用
作为一个后端的程序员,我们经常用到ps -ef | grep XXX 到底什么事ps呢。 下面我们一起学习一下吧、 ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。 ps命令 -Linux手册页 …...
打造高效的分布式爬虫系统:利用Scrapy框架实现
在大数据时代的今天,爬虫系统成为了获取和分析海量数据的重要工具。本文将介绍如何使用Scrapy框架来构建一个高效的分布式爬虫系统,以加速数据采集过程和提高系统的可扩展性。 Scrapy框架简介 Scrapy是一个基于Python的强大的开源网络爬虫框架ÿ…...

SpringCloud组件Ribbon的IRule的问题排查
最近很久没有写文章啦,刚好遇到了一个问题,其实问题也挺简单,但是还是得对源码有一定了解才能够发现。 最近在实现一个根据请求流量的标签,将请求转发到对应的节点,其实和俗称的灰度请求有点相似, 实现思…...
比较完整一些chatGPT项目代码(权威)
https://gitee.com/zccbbg/chatgpt-springboot-service yml中的配置文件无法读取,前端访问比较困难。...
Python - 生成二维码、条形码
二维码 import qrcode# 要生成的文本或链接 data "要生成的文本或链接"# 创建QR码对象 qr qrcode.QRCode(version1, # 版本号,通常设置为1error_correctionqrcode.constants.ERROR_CORRECT_L, # 错误修正级别box_size10, # 每个小方块的像素大小bor…...

8+纯生信,多组机器学习+分型探讨黑色素瘤发文思路。
今天给同学们分享一篇泛癌多组机器学习分型的生信文章“Comprehensive characterisation of immunogenic cell death in melanoma revealing the association with prognosis and tumor immune microenvironment”,这篇文章于2022年9月23日发表在Front Immunol 期刊…...
GPU高性能面试-写一个ReduceKernel
要求写一个reduceKernel 要求给出Kerne的完整调用: 1. 进行一维reduce 可以写一个最基础的,仅仅实现基础功能就行 使用share mem进行功能优化 使用shuffles指令完成block reduce操作 2.实现二维reduce...

深入探索STARK的安全性和可靠性——STARKs全面安全分析
1. 引言 non-interactive STARKs,起源于Interactive Oracle Proofs (IOPs),然后通过random oracle模式转换为非交互式。StarkWare团队 ethSTARK Documentation – Version 1.2(2023年7月)论文做了更新,给出了完整具体…...
WPF 控件分辨率自适应问题
WPF 控件分辨率自适应时,我首先想到的是使用ViewBox控件来做分辨率自适应。 ViewBox这个控件通常和其他控件结合起来使用,是WPF中非常有用的控件。定义一个内容容器。ViewBox组件的作用是拉伸或延展位于其中的组件,以填满可用空间࿰…...

CANoe创建仿真工程
CANoe创建仿真工程 写在前面仿真工程的创建创建工程添加CAN数据库添加系统变量创建面板创建网络节点为节点添加代码工程运行测试总结 写在前面 Canoe的安装不是特别方便,我是参加了松勤的培训课程,不仅需要安装软件还需要安装驱动,刚刚学习的…...
Scanner 输入回车跳不出循环的解决方法
题目要求: 输入一行内容包含字符串和数字,将字符串与数字分别提取。 解决方法: 可以使用两个Scanner对象,一个用来键入数据,另外一个用来对数据进行操作,以此来解决输入“回车”跳不出while循环的问题。 i…...
docker 启动 mysql 通过防火墙设置端口无法访问解决方案
1、问题描述:通过 docker compose 启动mysql服务,然而在防火墙添加了3306端口后却无法访问,但是关闭防火墙后又可以访问mysql数据库。 解决方案: 重启 docker 后解决:systemctl restart docker 如果没有解决问题则执…...

智能制造优化,RFID生产线管理系统解决方案
一、背景介绍 随着全球经济的发展,传统制造业面临着越来越高的成本和低利润的挑战,为了提升企业的整体利润率,优化管理流程成为必要的手段之一,在传统的制造企业中,生产线通常采用单件流生产模式,但这种模…...

【Mybatis】基于Mybatis插件+注解,实现敏感数据自动加解密
一、介绍 业务场景中经常会遇到诸如用户手机号,身份证号,银行卡号,邮箱,地址,密码等等信息,属于敏感信息,需要保存在数据库中。而很多公司会会要求对数据库中的此类数据进行加密存储。 敏感数据…...

【特纳斯电子】基于物联网的指纹密码锁系统设计-实物设计
资料下载链接:基于物联网的指纹密码锁系统设计-实物设计 - 电子校园网 编号: T3732205M-SW 设计简介: 本设计是基于单片机的指纹密码锁,主要实现以下功能: 1、可通过密码解锁 2、可通过云平台解锁 3、可通过指纹解…...

【牛客面试必刷TOP101】Day9.BM37 二叉搜索树的最近公共祖先和BM42 用两个栈实现队列
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:牛客面试必刷TOP101 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...

若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

【QT控件】显示类控件
目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏:QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...