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

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备,下面分别从测距原理以及适用场景来进行介绍。

一、三角测距法

三角测距原理

就是利用三角形的几何关系来测量物体的距离。想象一下,你站在一个地方,你的朋友站在另一个地方,你们两个都看着同一个物体,但是你们与物体的距离不同。现在,我们可以通过测量你们两个的角度以及你们之间的距离差,来计算出你们与物体的距离。

具体做法是这样的:我们先测量你们两个的角度,也就是你们分别从自己的位置看物体时所测量到的夹角。然后,我们再测量你们之间的距离差,也就是你们两个位置之间的直线距离。利用这些信息,我们可以运用一些公式,算出你们与物体之间的距离。

基于三角测距原理的仪器

双目相机和结构光相机都是利用三角测距原理进行距离测量的。前者通过测量视差,而后者通过光斑形变来计算物体到相机的距离。

双目相机

通过两个摄像头(左右眼)同时拍摄同一场景,利用视差(左右视图中对应点之间的像素位移)来计算物体距离。根据视差和相机的内外参数,可以使用三角测量原理计算出物体到相机的距离。这种方法适用于近距离和中距离的测量,能够提供较高的深度精度和分辨率。

结构光相机

使用投影器投射出编码的光条或光斑(一般是红外光),并通过相机捕捉光斑在物体表面的畸变,然后根据畸变信息进行距离计算。通过计算光斑的形变,可以获得物体表面的深度图像。这种方法也属于三角测距原理,通过解析光斑的形变来计算物体到相机的距离。结构光相机适用于中距离和远距离的测量,能够提供较高的测量精度和体积重建能力。

需要注意的是:

双目相机由于依靠左右相机视图的视差计算获得距离信息,会十分消耗资源,计算可能比较耗时。且对缺乏纹理或不具有明显颜色对比的场景时(比如墙壁),光照不均匀时,可能效果不是很好。

结构光相机由于会主动投影编码的光条或光斑,因此即使缺乏纹理的场景也有较好的测距效果,但是结构光相机可能不适用于对快速移动的物体进行测距

二、飞行时间法

飞行时间法测距原理

在飞行时间测距中,首先发送一个信号(可以是声波、激光脉冲、电磁波等)从测距器发射到目标物体上。这个信号会在目标物体上发生反射、散射或吸收。被反射或散射回来的信号再次被接收器接收。接收器接收到信号后,会记录下信号从发射到接收的时间差,即飞行时间。根据信号传播速度已知的特性,将测得的飞行时间与信号传播速度相乘,就可以得到目标物体与测距器之间的距离。

基于激光测距的仪器

激光雷达(Lidar)

利用激光束发射出去并接收返回的激光信号来获得目标物体的距离信息。激光雷达具有高精度、高速度和长测距等特点,因此在无人驾驶、机器人导航、环境感知等领域得到了广泛应用。

激光雷达主要由激光发射器、接收器、扫描机构和数据处理模块等组成。发射器会发射一个短脉冲的激光束,然后激光束会在目标物体上反射、散射或吸收部分能量,形成返回的激光信号。接收器会接收这些返回的激光信号,并记录下发射和接收之间的时间差(也就是飞行时间)。

为了获取更多的目标物体信息,激光雷达会利用扫描机构进行扫描,可以是旋转式的机构,也可以是多个激光束之间的切换。通过将激光束扫描到不同的方向上,激光雷达可以获取周围环境中的多个点的距离信息。扫描完成后,激光雷达会将所有的测距数据传输到数据处理模块进行处理和分析。

激光雷达的测距精度可以达到亚厘米级别,适用于远距离测量。它能够快速地获取周围环境中的三维点云数据,用于构建地图、障碍物检测、目标识别和姿态估计等应用。激光雷达还具有较高的抗干扰能力,能够在各种光照条件和恶劣环境中稳定工作。

毫米波雷达

毫米波雷达(Millimeter Wave Radar)是一种利用毫米波信号进行测距和目标检测的雷达系统。毫米波是高频电磁波,在波长为1至10毫米之间,频率为30至300 GHz之间。毫米波雷达主要由天线系统、发射器、接收器和信号处理模块等组成。发射器会发射一系列连续或脉冲的毫米波信号,然后这些信号会被目标物体所反射或散射,并被接收器接收回来。

毫米波雷达在目标检测和跟踪上有着广泛的应用,它能够提供实时的距离、速度和方位角等信息。相比于光学传感器,毫米波辐射对于雨、雪、雾等大气颗粒的影响较小,使得毫米波雷达在恶劣天气下比激光雷达的可靠性更高。但是就分辨率而言,还是激光雷达分辨率高。

超声波雷达

利用超声波的传播速度和回波时间来确定目标物体与雷达之间的距离

超声波雷达的工作原理是,通过发射器产生超声波脉冲,并将其传播到目标物体。当超声波脉冲遇到目标物体后,一部分能量被物体吸收,一部分被反射回来形成回波。接收器接收到这些回波信号,并测量发射和回波之间的时间差。由于声波在空气中的传播速度已知,通过将传播时间与传播速度相乘,可以计算目标物体与雷达之间的距离。

声波比毫米波的传输速度更慢,精度较差,不适合对快速移动的物体进行测距,在汽车上主要是作为倒车测距使用的。

三、其他

一些帮助理解的视频(来自于B站):

激光雷达测距原理讲解:21.激光雷达工作原理_哔哩哔哩_bilibili

各类激光雷达工作过程:各类激光雷达原理_哔哩哔哩_bilibili

激光雷达获取点云数据的过程:激光雷达点云采集原理以及在自动驾驶中的应用(中文字幕)_哔哩哔哩_bilibili

激光雷达、毫米波雷达在自动驾驶方面的发展:详解激光雷达(完整版)_哔哩哔哩_bilibili

相关文章:

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备,下面分别从测距原理以及适用场景来进行介绍。 一、三角测距法 三角测距原理 就是利用三角形的几何关系来测量物体的距离。想象一下,你站在一个地方,你的朋友站在另一…...

路由器基础(八):策略路由配置

在实际网络应用中,策略路由也是一种重要的技术手段。尽管 在考试并不注重策略路由,但是实际上应用较多,建议考生除了掌握基本的静态路由协议IP route-static, 动态路由协议RIP 、OSPF的基础配置外,还要掌握如何配置策略路由。…...

Java 零碎知识点

目录 [多线程]创建多线程的三种方式 [网络编程]一、重点概念1、TCP/IP网络模型2、IP 对象3、端口号4、协议UDP(User Datagram Protocol)TCP(Transmission Control Protocol) 二、UDP 通信三、TCP 通信 [前端][Vue]一、Vue3项目创建响应式函数父子通信父传子子传父 跨层组件通信…...

多模态论文阅读之BLIP

BLIP泛读 TitleMotivationContributionModel Title BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation Motivation 模型角度:clip albef等要么采用encoder-base model 要么采用encoder-decoder model.…...

OpenCV实战——OpenCV.js介绍

OpenCV实战——OpenCV.js介绍 0. 前言1. OpenCV.js 简介2. 网页编写3. 调用 OpenCV.js 库4. 完整代码相关链接 0. 前言 本节介绍如何使用 JavaScript 通过 OpenCV 开发计算机视觉算法。在 OpenCV.js 之前,如果想要在 Web 上执行一些计算机视觉任务,必须…...

qt5工程打包成可执行exe程序

一、编译生成.exe 1.1、在release模式下编译生成.exe 1.2、建一个空白文件夹package,再将在release模式下生成的.exe文件复制到新建的文件夹中package。 1.3、打开QT5的命令行 1.4、用命令行进入新建文件夹package,使用windeployqt对生成的exe文件进行动…...

Qt之基于QCustomPlot绘制直方图(Histogram),叠加正态分布曲线

一.效果 二.原理 1.正态分布 高斯分布(Gaussian distribution),又名正态分布(Normal distribution),也称"常态分布",也就是说,在正常的状态下,一般的事物,都会符合这样的分布规律。 比如人的身高为一个随机变量,特别高的人比较少,特别矮的也很少,大部分都…...

232.用栈实现队列

原题链接:232.用栈实现队列 思路 主要是要注意栈和队列的数据结构的区别,一个是后进先出, 一个是先进先出 如果要用栈模拟队列的先进先出,那就得使用另一个辅助空间来存储栈的栈顶元素,然后把栈最底部的元素弹出&…...

C51--项目--感应开关盖垃圾桶

1、项目概述 功能描述: 检测靠近时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 发生震动时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 按下按键时,垃圾桶自动开盖并伴随滴一声,2s后关盖。 硬件说明…...

基于单片机设计的太阳能跟踪器

一、前言 随着对可再生能源的需求不断增长,太阳能作为一种清洁、可持续的能源形式,受到越来越多的关注和应用。太阳能光板通常固定在一个固定的角度上,这限制了它们对太阳光的接收效率。为了充分利用太阳能资源,提高太阳能光板的…...

【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景 本地生产环境:超过最大值 cookie token 不存储;客户生产环境:打开系统空白,且控制台报 http 400 错误; 出现了两种现象 现象一:浏览器对大于 4kb 的 cookie 值不存储 导致用户名密码登录&#xff…...

竞赛选题 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0c…...

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现,AES算法2.6 启动类,校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…...

IDEA创建Springboot多模块项目

一、创建父模块 File --> New --> Project ,选择 “ Spring Initalizr ” ,点击 Next Next Next --> Finish 二、创建子模块 右键根目录,New --> Module 选择 “ Spring Initializr ”,点击Next 此处注意T…...

React:JSX语法入门

JSX语法入门及代码 JSX是一种JavaScript的语法扩展,用于在React中描述用户界面的结构。它允许开发者使用类似HTML的语法来创建React元素,使得代码更具可读性和可维护性。JSX将HTML标签和JavaScript代码结合在一起,可以在其中使用JavaScript表…...

AI大模型架构师专家,你会问什么来测试我的水平,如何解答上述问题,学习路径是什么

0. 沈剑老师的大模型产品应用经验: 提示词三步骤: 假如我是xxx专家,你会问什么来测试我的水平;假如你是xxx专家,你会如何解答上述问题;假如你是xxx专家,上述问题的学习路径是什么;…...

Dev-C调试的基本方法2-1

在Dev-C中调试程序,首先需要在程序中设置断点,之后以调试的方式运行程序。 1 设置断点 当以调试的方式运行程序时,程序会在断点处停下来。点击要设置断点代码行号左侧部分,此时会有如图1所示的红点和绿色对勾,表示断…...

Linux 调试 (objdump/strace/strings)

目录 1. Linux 调试 (objdump/strace/strings)1.1. 查看系统 glibc 版本号1.2. 查看 so/bin 中的依赖1.3. 调试 bin 报错原因1.4. 查看 so/bin 中字符串 1. Linux 调试 (objdump/strace/strings) 1.1. 查看系统 glibc 版本号 1. 第一种 # ldd --version ldd (Ubuntu GLIBC 2.…...

CAS 单点登录详解

什么是CAS? - 简要介绍CAS(Central Authentication Service)的概念和作用。 - 强调CAS的主要目标是提供单点登录和单点登出功能。 CAS的工作原理 - 深入探讨CAS的工作原理,包括认证、票据、验证等核心概念。 - 详细解释CAS服务器和…...

tbh常用的绘图快捷键

1、Altb -> 笔刷 2、Alt/ -> 画笔 3、按住Shift 绘出的线条是直线 4、按住shiftalt 绘出来的线条是水平线或垂直线 5、alte ->橡皮擦 6、alts ->选择工具 7、altq -> 轮廓编辑器 以下操作都是在选中轮廓编辑器下操作的: 按住alt…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)​现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...