当前位置: 首页 > news >正文

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的使用 详情见&#xff1a; https://www.cnblogs.com/expiator/p/17380495.html 自定义 postfix completion List、 String 初始化list&#xff1a; key: list表达式&#xff1a; List<$EXPR$> $END$List new ArrayList<>();字符串判空&…...

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

...

【Linux】 ps命令使用

作为一个后端的程序员&#xff0c;我们经常用到ps -ef | grep XXX 到底什么事ps呢。 下面我们一起学习一下吧、 ps &#xff08;英文全拼&#xff1a;process status&#xff09;命令用于显示当前进程的状态&#xff0c;类似于 windows 的任务管理器。 ps命令 -Linux手册页 …...

打造高效的分布式爬虫系统:利用Scrapy框架实现

在大数据时代的今天&#xff0c;爬虫系统成为了获取和分析海量数据的重要工具。本文将介绍如何使用Scrapy框架来构建一个高效的分布式爬虫系统&#xff0c;以加速数据采集过程和提高系统的可扩展性。 Scrapy框架简介 Scrapy是一个基于Python的强大的开源网络爬虫框架&#xff…...

SpringCloud组件Ribbon的IRule的问题排查

最近很久没有写文章啦&#xff0c;刚好遇到了一个问题&#xff0c;其实问题也挺简单&#xff0c;但是还是得对源码有一定了解才能够发现。 最近在实现一个根据请求流量的标签&#xff0c;将请求转发到对应的节点&#xff0c;其实和俗称的灰度请求有点相似&#xff0c; 实现思…...

比较完整一些chatGPT项目代码(权威)

https://gitee.com/zccbbg/chatgpt-springboot-service yml中的配置文件无法读取&#xff0c;前端访问比较困难。...

Python - 生成二维码、条形码

二维码 import qrcode# 要生成的文本或链接 data "要生成的文本或链接"# 创建QR码对象 qr qrcode.QRCode(version1, # 版本号&#xff0c;通常设置为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”&#xff0c;这篇文章于2022年9月23日发表在Front Immunol 期刊…...

GPU高性能面试-写一个ReduceKernel

要求写一个reduceKernel 要求给出Kerne的完整调用: 1. 进行一维reduce 可以写一个最基础的&#xff0c;仅仅实现基础功能就行 使用share mem进行功能优化 使用shuffles指令完成block reduce操作 2.实现二维reduce...

深入探索STARK的安全性和可靠性——STARKs全面安全分析

1. 引言 non-interactive STARKs&#xff0c;起源于Interactive Oracle Proofs (IOPs)&#xff0c;然后通过random oracle模式转换为非交互式。StarkWare团队 ethSTARK Documentation – Version 1.2&#xff08;2023年7月&#xff09;论文做了更新&#xff0c;给出了完整具体…...

WPF 控件分辨率自适应问题

WPF 控件分辨率自适应时&#xff0c;我首先想到的是使用ViewBox控件来做分辨率自适应。 ViewBox这个控件通常和其他控件结合起来使用&#xff0c;是WPF中非常有用的控件。定义一个内容容器。ViewBox组件的作用是拉伸或延展位于其中的组件&#xff0c;以填满可用空间&#xff0…...

CANoe创建仿真工程

CANoe创建仿真工程 写在前面仿真工程的创建创建工程添加CAN数据库添加系统变量创建面板创建网络节点为节点添加代码工程运行测试总结 写在前面 Canoe的安装不是特别方便&#xff0c;我是参加了松勤的培训课程&#xff0c;不仅需要安装软件还需要安装驱动&#xff0c;刚刚学习的…...

Scanner 输入回车跳不出循环的解决方法

题目要求&#xff1a; 输入一行内容包含字符串和数字&#xff0c;将字符串与数字分别提取。 解决方法&#xff1a; 可以使用两个Scanner对象&#xff0c;一个用来键入数据&#xff0c;另外一个用来对数据进行操作&#xff0c;以此来解决输入“回车”跳不出while循环的问题。 i…...

docker 启动 mysql 通过防火墙设置端口无法访问解决方案

1、问题描述&#xff1a;通过 docker compose 启动mysql服务&#xff0c;然而在防火墙添加了3306端口后却无法访问&#xff0c;但是关闭防火墙后又可以访问mysql数据库。 解决方案&#xff1a; 重启 docker 后解决&#xff1a;systemctl restart docker 如果没有解决问题则执…...

智能制造优化,RFID生产线管理系统解决方案

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

【Mybatis】基于Mybatis插件+注解,实现敏感数据自动加解密

一、介绍 业务场景中经常会遇到诸如用户手机号&#xff0c;身份证号&#xff0c;银行卡号&#xff0c;邮箱&#xff0c;地址&#xff0c;密码等等信息&#xff0c;属于敏感信息&#xff0c;需要保存在数据库中。而很多公司会会要求对数据库中的此类数据进行加密存储。 敏感数据…...

【特纳斯电子】基于物联网的指纹密码锁系统设计-实物设计

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

【牛客面试必刷TOP101】Day9.BM37 二叉搜索树的最近公共祖先和BM42 用两个栈实现队列

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...