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

【三维点云】01-激光雷达原理与应用

文章目录

  • 内容概要
  • 1 激光雷达原理
    • 1.1 什么是激光雷达?
    • 1.2 激光雷达原理
    • 1.3 激光雷达分类
      • 三角法
      • TOF法
        • 脉冲间隔测量法
        • 幅度调制的相位测量法
    • 相干法
    • 激光雷达用途
  • 2 激光雷达安装、标定与同步
    • 2.1 激光雷达安装方式
      • 考虑因素
    • 2.2 激光雷达点云用途
    • 2.3 数据融合
      • 多激光雷达数据融合
      • 多传感器数据融合
    • 2.4 激光雷达系统方案
      • 硬件部分
        • 全方位感知(主雷达+近补雷达)
        • 反射强度
        • 抗干扰
          • 抗多雷达对射干扰
          • 抗强光干扰
        • 多传感器融合
        • 多传感器标定
          • 时间同步
          • 空间同步
      • 软件部分
        • 障碍物检测
        • 障碍物分类
        • 运动物体跟踪
        • 可行驶区域检测
        • SLAM建图
        • 重定位
  • 3 激光雷达数据采集
  • 4 ROS编程基础

内容概要

1 激光雷达原理
2 激光雷达安装、标定与同步
3 激光雷达数据采集
4 ROS编程基础

1 激光雷达原理

1.1 什么是激光雷达?

LiDAR,Light Detection And Ranging
LADAR,LAser Detection And Ranging
在这里插入图片描述
探测和测距系统利用发射出的不同频率的波长,根据其从障碍物上返回所需的时间来绘制一个区域的地图。

LiDAR、Laser Radar以及LADAR系统,都使用光频率来进行这类测量。各系统之间,虽然原理近似,但应用特点和适用领域大有不同。

LiDAR已广泛意义上成为基于光的非接触式测量仪器的统称,但在实践中,LiDAR测量设备在处理“大区域”、“大容量”扫描领域作业中更加适用,系统通常会以网格或锥形的方式发出多束激光,并通过不断运动快速覆盖数百万个点,其精度根据需求,从0.1英寸(2.54毫米)到超过1英尺(304.8毫米)不等。LiDAR测量系统在土地测绘、建筑信息建模和自动驾驶汽车的导航系统中应用较为普遍。

Laser Radar系统,则更接近于:采用非合作靶标进行测量的激光跟踪仪。测量时,Laser Radar系统通常会发出一个单一的、聚焦的激光束来测量几米范围内的特征,精度在微米级别。

LADAR系统,正好集合了LiDAR与Laser Radar系统的优势。LADAR测量系统,如API品牌的9D LADAR,可以在不牺牲精度的前提下,提供更大的测量范围。LADAR系统可在所有Laser Radar适用领域中应用,并提供更佳的测量效率,完美适用于以白车身检测或机身装配等为代表的高端应用环境。

LiDAR系统更多地利用网格或锥状激光束来增加覆盖范围,并在较远的距离以较低的精度收集数据;Laser Radar系统则牺牲了测量速度和效率,以提高单点测量精度;对于制造业中真正高效、流畅运作的自动化近线/在线检测解决方案来讲,LiDAR系统缺乏精度,而Laser Radar则缺乏测量的速度和效率。LADAR系统,则兼容了前两种系统的优势,能够同时保障精度与速度,实现更高效的测量,更加适用于工业自动化生产领域的各测量环节。

参考:LADAR, LiDAR & Laser Radar激光雷达的种类划分与功能对比

1.2 激光雷达原理

在这里插入图片描述

激光雷达优点:
1、具有极高的分辨率
2、抗干扰能力强
3、获取的信息量丰富
4、可全天时工作

激光雷达缺点:
易受环境中可反射激光物质的影响,例如天气(雨天)、灰尘和昆虫等影响。

1.3 激光雷达分类

在这里插入图片描述

三角法

在这里插入图片描述
适应于近距离,百微米精度,随着距离的增加,精度会变得更差。

TOF法

在这里插入图片描述

脉冲间隔测量法

在这里插入图片描述

幅度调制的相位测量法

在这里插入图片描述

脉冲型TOF法,随着距离的增加所需要测算的精度要更高,发射器件的功率要大,对发射器提出了高要求,所以长距离的高精度是没有办法实现的。

相干法

需要连续时间波长的叠加计算时间和距离,测量速度慢但是精度高,所以一般适用于手持扫描仪器中。
在这里插入图片描述

激光雷达用途

autonomous vehicles
在这里插入图片描述

agriculture
river survey
modelling of the pollution
archeology and building construction

2 激光雷达安装、标定与同步

2.1 激光雷达安装方式

在这里插入图片描述

考虑因素

激光雷达数量
激光雷达线束
安装位置
安装角度

2.2 激光雷达点云用途

在这里插入图片描述

2.3 数据融合

多激光雷达数据融合

为达到多线的效果,以多个少线数的激光雷达进行融合,降低成本。

在这里插入图片描述

多传感器数据融合

在这里插入图片描述

2.4 激光雷达系统方案

在这里插入图片描述
在这里插入图片描述
RS-LiDAR-16
RS-LIDAR-32B
GPS及惯导设备
IPC工控机
激光雷达安装支架(固定支架)
显示器
交换机
网线
多雷达模拟时间同步板

硬件部分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全方位感知(主雷达+近补雷达)

在这里插入图片描述
在这里插入图片描述

反射强度

抗干扰

抗多雷达对射干扰
抗强光干扰

多传感器融合

在这里插入图片描述

多传感器标定

时间同步

保证多个雷达的时间处于同一个时间计时标准(不进行时间同步时,每个雷达以启动时刻计时,使用自身内部独立的计时系统)。

外部时间源: GPS或网络时间源。
时间输入:
GPS通过UART接入雷达,发送GPRMC消息;PPS通过IO接入雷达,发送1 PPS脉冲信号。
网络时间通过以太网UDP指令发送时间,进行同步。

空间同步

保证所有的雷达数据转换到一个统一的坐标系下(不同雷达扫描到的同一个目标具有同样的坐标位置)
在这里插入图片描述
统一坐标系
选择位置最核心的一个雷达的坐标系作为雷达耦合的统一坐标系(理论上可以选择任意坐标系作为统一坐标系)

空间位置标定
平移量 – (x.y.z)
旋转量–(roll,pitch,yaw)
(平移量可以通过测量安装距离来标定初值,且有些安装方式是无法直接测距的,但是旋转量无法测量。)

软件部分

在这里插入图片描述

障碍物检测

障碍物检测是指从点云数据中提取出潜在的障碍物体,得到它们的方位、尺寸、形状、朝向等信息,
般通过bounding box来添加或者多边形来描述。

障碍物分类

障碍物分类是指在障碍物检测的基础上,得到物体的类别信息,例如车辆、行人、骑行者等。
在这里插入图片描述

运动物体跟踪

运动物体跟踪是指估计运动物体的运动状态,包括运动方向、速度大小、加速度、角速度、运动轨迹等
信息。

可行驶区域检测

可行驶区域检测是指在场景中分割出可以行驶的区域,根据不同的场景要求,相关的任务有路沿检测、车道线检测、地面检测、路面检测等任务。

SLAM建图

建图算法的挑战:
精度高满足定位算法厘米级需求;
大场景稳定性高,精度不随地图增大而降低;
人工干预少,重复精度高;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重定位

定位场景展示:
小型移动机器人

特点:
经常发生灵活机动
角速度较大
视角比较低

3 激光雷达数据采集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 ROS编程基础

相关文章:

【三维点云】01-激光雷达原理与应用

文章目录内容概要1 激光雷达原理1.1 什么是激光雷达?1.2 激光雷达原理1.3 激光雷达分类三角法TOF法脉冲间隔测量法幅度调制的相位测量法相干法激光雷达用途2 激光雷达安装、标定与同步2.1 激光雷达安装方式考虑因素2.2 激光雷达点云用途2.3 数据融合多激光雷达数据融…...

自动驾驶感知——物体检测与跟踪算法|4D毫米波雷达

文章目录1. 物体检测与跟踪算法1.1 DBSCAN1.2 卡尔曼滤波2. 毫米波雷达公开数据库的未来发展方向3. 4D毫米波雷达特点及发展趋势3.1 4D毫米波雷达特点3.1.1 FMCW雷达角度分辨率3.1.2 MIMO ( Multiple Input Multiple Output)技术3.2 4D毫米波雷达发展趋势3.2.1 芯片级联3.2.2 专…...

C语言(内联函数(C99)和_Noreturn)

1.内联函数 通常,函数调用都有一定的开销,因为函数的调用过程包含建立调用,传递参数,跳转到函数代码并返回。而使用宏是代码内联,可以避开这样的开销。 内联函数:使用内联diamagnetic代替函数调用。把函数…...

图卷积神经网络(GCN)理解与tensorflow2.0 代码实现 附完整代码

图(Graph),一般用 $G=(V,E)$ 表示,这里的$V$是图中节点的集合,$E$ 为边的集合,节点的个数用$N$表示。在一个图中,有三个比较重要的矩阵: 特征矩阵$X$:维度为 $N\times D$ ,表示图中有 N 个节点,每个节点的特征个数是 D。邻居矩阵$A$:维度为 $N\times N$ ,表示图中 N…...

模电学习6. 常用的三极管放大电路

模电学习6. 常用的三极管放大电路一、判断三极管的工作状态1. 正偏与反偏的概念2. 工作状态的简单判断二、三种重要的放大电路1. 共射电路2. 共集电极放大电路3. 共基极放大电路一、判断三极管的工作状态 1. 正偏与反偏的概念 晶体管分P区和N区, 当P区电压大于N区…...

Lesson 6.6 多分类评估指标的 macro 和 weighted 过程 Lesson 6.7 GridSearchCV 的进阶使用方法

文章目录一、多分类评估指标的 macro 和 weighted 过程1. 多分类 F1-Score 评估指标2. 多分类 ROC-AUC 评估指标二、借助机器学习流构建全域参数搜索空间三、优化评估指标选取1. 高级评估指标的选用方法2. 同时输入多组评估指标四、优化后建模流程在正式讨论关于网格搜索的进阶…...

基于 Python 实时图像获取及处理软件图像获取;图像处理;人脸识别设计 计算机毕设 附完整代码+论文 +报告

界面结果:图像获取;图像处理;人脸识别 程序结构设计 图形用户界面设计与程序结构设计是互为表里的。或者说,程序结构设计是软件设计最本质、最核心的内容。徒有界面而内部逻辑结构混乱的软件一无是处。 Windows 操作系统是一款图形化的操作系统,相比于早期的计算机使用的命…...

前后端RSA互相加解密、加签验签、密钥对生成(Java)

目录一、序言二、关于PKCS#1和PKCS#8格式密钥1、简介2、区别二、关于JSEncrypt三、关于jsrsasign四、前端RSA加解密、加验签示例1、相关依赖2、cryptoUtils工具类封装3、测试用例五、Java后端RSA加解密、加验签1、CryptoUtils工具类封装2、测试用例六、前后端加解密、加验签交互…...

基于Java+SpringBoot+Vue前后端分离学生宿舍管理系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《S…...

前端高频面试题—JavaScript篇(二)

💻前端高频面试题—JavaScript篇(二) 🏠专栏:前端面试题 👀个人主页:繁星学编程🍁 🧑个人简介:一个不断提高自我的平凡人🚀 🔊分享方向…...

【微信小游戏开发笔记】第二节:Cocos开发界面常用功能简介

Cocos开发界面常用功能简介 本章只介绍微信小游戏开发时常用的功能,其他功能不常用,写多了记不住(其实是懒 -_-!): 层级管理器,用于操作各个节点。资源管理器,用于操作各种文件资源。场景编辑…...

3分钟,学会了一个调试CSS的小妙招

Ⅰ. 作用 用于调试CSS , 比控制台添更加方便,不需要寻找 ;边添加样式,边可以查看效果,适合初学者对CSS 的理解和学习; Ⅱ. 快速实现(两边) ① 显示这个样式眶 给 head 和 style 标签添加一个…...

【项目精选】基于jsp的健身俱乐部会员系统

点击下载源码 社会可行性 随着社会的发展和计算机技术的进步,人类越来越依赖于信息化的管理系统,这种系统能更加方便的获得信息以及处理信息。人们都改变了过去的思维,开始走向了互联网的时代,在 可行性小结 本章在技术可行性上…...

java注解

1. Java注解(Annotation) 2. Java注解分类 3. JDK基本注解 4. JDK元注解 5. 注解分类 6. 自定义注解开发 7. 提取Annotation信息 8. 注解处理器 9. 动态注解处理器(spring aop方式) 1. Java注解(Annotation) Java注解是附加在代码中的一些元信息,用于…...

移动测试相关

一、环境搭建 准备工作: (python、pycharm安装配置好) 1、Java SDK 安装配置 Java Downloads | Oracle 下载安装后配置系统环境变量:JAVA_HOME(jdk根目录路径)和path(jdk根目录下的bin目录路径…...

SIGIR22:User-controllable Recommendation Against Filter Bubbles

User-controllable Recommendation Against Filter Bubbles 摘要 推荐系统经常面临过滤气泡的问题:过度推荐基于用户特征以及历史交互的同质化项目。过滤气泡将会随着反馈循环增长,缩小了用户兴趣。现有的工作通常通过纳入诸如多样性和公平性等准确性之…...

Python中的进程线程

文章目录前言多进程与多线程基本概念多进程multiprocessing 类对象进程池subprocess模块进程间通信多线程threading实现线程操作线程共享所有变量线程锁参考资料前言 又花了点时间学习了一下Python中的多线程与多进程的知识点,梳理一下供复习参考 多进程与多线程 …...

python(8):使用conda update更新conda后,anaconda所有环境崩溃----问题没有解决,不要轻易更新conda

文章目录0. 教训1. 问题:使用conda update更新conda后,anaconda所有环境崩溃1.1 问题描述1.2 我搜索到的全网最相关的问题----也没有解决3 尝试流程记录3.1 重新安装pip3.2 解决anaconda编译问题----没成功0. 教训 (1) 不要轻易使用conda update更新conda----我遇到…...

c++11 标准模板(STL)(std::multimap)(四)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…...

乐观锁及悲观锁

目录 1.乐观锁 (1).定义 (2).大体流程 (3).实现 (4).总结 2.悲观锁 (1).定义 (2).大体流程 (3).实现 (4).缺点 (5).总结 1.乐观锁 (1).定义 乐观锁在操作数据时非常乐观&#xff0c;认为别的线程不会同时修改数据所以不会上锁&#xff0c;但是在更新的时候会判断一…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”&#xff0c;于是尝试整合图像识别与网页自动化技术&#xff0c;完成了这套模拟登录流程。核心思路是&#xff1a;截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

深入解析 ReentrantLock:原理、公平锁与非公平锁的较量

ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性&#xff0c;分别代表什么&#xff0c;有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...