当前位置: 首页 > 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;但是在更新的时候会判断一…...

常见的锁策略

注意: 接下来讲解的锁策略不仅仅是局限于 Java . 任何和 "锁" 相关的话题, 都可能会涉及到以下内容. 这些特性主要是给锁的实现者来参考的.普通的程序猿也需要了解一些, 对于合理的使用锁也是有很大帮助的. 1.乐观锁 vs 悲观锁 悲观锁: &#xff08;认为出现锁冲…...

springboot学习(八十) springboot中使用Log4j2记录分布式链路日志

在分布式环境中一般统一收集日志&#xff0c;但是在并发大时不好定位问题&#xff0c;大量的日志导致无法找出日志的链路关系。 可以为每一个请求分配一个traceId&#xff0c;记录日志时&#xff0c;记录此traceId&#xff0c;从网关开始&#xff0c;依次将traceId记录到请求头…...

10种ADC软件滤波方法及程序

10种ADC软件滤波方法及程序一、10种ADC软件滤波方法1、限幅滤波法&#xff08;又称程序判断滤波法&#xff09;2、中位值滤波法3、算术平均滤波法4、递推平均滤波法&#xff08;又称滑动平均滤波法&#xff09;5、中位值平均滤波法&#xff08;又称防脉冲干扰平均滤波法&#x…...

第五章:Windows server加域

加入AD域&#xff1a;教学视频&#xff1a;https://www.bilibili.com/video/BV1xM4y1D7oL/?spm_id_from333.999.0.0首先我们选择一个干净的&#xff0c;也就是新建的没动过的Windows server虚拟机。我们将DNS改成域的ip地址&#xff0c;还要保证它们之间能ping的通&#xff0c…...

Elasticsearch:获取 nested 类型数组中的所有元素

在我之前的文章 “Elasticsearch: object 及 nested 数据类型” 对 nested 数据类型做了一个比较详细的介绍。在实际使用中&#xff0c;你在构建查询时肯定会遇到一些问题。根据官方文档介绍&#xff0c;nested 类型字段在隐藏数组中索引其每个项目&#xff0c;这允许独立于索引…...

English Learning - Day53 作业打卡 2023.2.7 周二

English Learning - Day53 作业打卡 2023.2.7 周二引言1. 我必须承认&#xff0c;我之前学习没你用功。have to VS must2. 这跟我想得一样简单。3. 生活并不像它看上去那么顺风顺水&#xff0c;但也不会像我们想象得那么难。Look VS seem4. 你比去年高多了。5. 你关心你的工作胜…...

SpringMVC--注解配置SpringMVC、SpringMVC执行流程

注解配置SpringMVC 使用配置类和注解代替web.xml和SpringMVC配置文件的功能 创建初始化类&#xff0c;代替web.xml 在Servlet3.0环境中&#xff0c;容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类&#xff0c; 如果找到的话就用它来配置Servle…...

JavaScript中数组常用的方法

文章目录前言常用数组方法1、 join( )2、push&#xff08;&#xff09;与 pop&#xff08;&#xff09;3、shift&#xff08;&#xff09;与 unshift&#xff08;&#xff09;4、sort&#xff08;&#xff09;5、reverse&#xff08;&#xff09;6、slice&#xff08;&#xff…...

ModuleNotFoundError: No module named ‘pip‘

项目场景&#xff1a;pip 错误 Traceback (most recent call last): File "E:\KaiFa\Python\Python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "E:\KaiFa\Python\Python38\lib\runpy.py&qu…...

ROS2 入门应用 发布和订阅(C++)

ROS2 入门应用 发布和订阅&#xff08;C&#xff09;1. 创建功能包2. 创建源文件2.1. 话题发布2.2. 话题订阅3. 添加依赖关系4. 添加编译信息4.1. 添加搜索库4.2. 增加可执行文件4.3. 增加可执行文件位置5. 编译和运行1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加…...

做网站蓝色和什么颜色搭配好看/如何建站

文章目录前言一、导入相关库二、加载Cora数据集三、定义GraphSAGE网络3.1 定义GraphSAGE层3.1.1 定义权重 W3.1.2 特征映射3.1.3 节点特征更新3.1.4 SAGEConv层3.2 定义GraphSAGE网络四、定义模型五、模型训练六、模型验证七、结果完整代码前言 大家好&#xff0c;我是阿光。 …...

网站标题关键词描述/中国联通业绩

题目 在一个 n * m 的二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下&#x…...

东凤镇做网站公司/南京高端品牌网站建设

这篇文章主要介绍了PHP开发之归档格式phar文件概念与用法,结合实例形式较为详细的分析了归档格式phar文件创建,使用,解包还原提取等概念及操作实现方法,需要的朋友可以参考下本文实例讲述了PHP开发之归档格式phar文件概念与用法。分享给大家供大家参考&#xff0c;具体如下&…...

中国建设工程招投网站/网络黄页推广大全

目录背景生成requirements.txt的办法方案一方案二安装requirements.txt中的类库内容背景 因为项目在windows开发&#xff0c;有1台测试环境&#xff0c;还有正式环境&#xff1b;第一次搭建环境的时候&#xff0c;就需要安装很多依赖&#xff1b;一个一个的安装很麻烦&#xf…...

百度收录网站需要多久/东莞优化网站制作

一、LRU算法 最近&&最少使用置换算法&#xff0c;是缓存算法的一种&#xff0c;常用缓存算法有&#xff1a; FIFO&#xff08;先进先出&#xff09;LFU&#xff1a;LFU&#xff08;Least Frequently Used&#xff09;&#xff0c;即最近经常使用算法&#xff0c;算法…...

wordpress设置浏览数/拼多多商品关键词搜索排名

vue简单实现瀑布流布局的一种方式(vue瀑布流组件)&#xff0c;供大家参考&#xff0c;具体内容如下vue中的瀑布流布局组件需求&#xff1a;图片容器宽度固定&#xff0c;高度根据图片自适应&#xff0c;图片一行不能排列时候&#xff0c;换行依次从左往右排列。(瀑布流概念)另外…...