热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ros开源物体检测_ROS传感器之LIDAR简介

一.概念LIDAR,全称LightDetectionAndRanging,即激光检测和测距,通常称为激光雷达。其功能是利用激光检测物体以及

一.概念

LIDAR,全称Light Detection And Ranging,即激光检测和测距,通常称为激光雷达。其功能是利用激光检测物体以及测量与物体之间的距离。

二.分类

不同的分类标准,有不同的分类结果。通常有两类分类标准,按照线束可分为两类:一是单线激光雷达,二是多线激光雷达。单线激光雷达的数据可以看做是一定高度的一排点阵,多线激光雷达的数据包含高度信息,可以看做是一个面。按照机械性质又可分为机械激光雷达和固态激光雷达,目前主流市场以机械激光雷达为主。

三.原理

机械激光雷达原理可以简化理解为一个发射器,一个接收器和一个旋转镜面,发射器周期向旋转镜面发射光束,由镜面折射出去,此光束经过障碍物反射后,由接收器接收,统计时间,然后根据光速,计算距离。镜面不停旋转,镜面旋转一周,相当于激光雷达扫描一周,可以获取一帧激光雷达数据。

四.输出

激光雷达的直接输出主要包含两部分:一是距离点,代表物体与激光雷达之间的距离;二是反射强度,不同的物体其反射强度不同,在特定场景下,利用反射强度,可以识别物体,例如车道线检测。

五.作用

激光雷达与IMU和GPS在作用上有一个显著差异点,IMU与GPS测量自身信息,激光雷达测量的是环境信息,并可以根据环境信息,反推自身信息。在自动驾驶或者机器人领域,测量自身信息,在称之为定位,测量环境信息,称之为感知,建图本质上属于感知。

六.数据特性

在机器人和自动驾驶领域,基于激光雷达的方案比较成熟,这与其优势的数据特性有关。具体如下:

  1. 测量信息比较多:物体三维信息,包括位置和速度,形状,材料等。
  2. 不受光线影响:这点决定其可以全天候工作。其缺陷是易受天气影响,还有一点是相对于其他传感器,激光雷达成本比较高,不利于产品商业化量产,不过近几年,随着激光雷达技术的发展,其成本也逐渐降低。

七.ROS中LIDAR数据表示

1. sensor_msgs/LaserScan

sensor_msgs/LaserScan是激光雷达基本数据类型,其所描述的是一次扫描的数据,包括扫描角度、时间以及扫描距离等,执行以下命令:

rosmsg show sensor_msgs/LaserScan

执行效果:

82ca788319781cafeacd5a4e0e0b46c8.png

header项同前文GPS(ROS传感器之GPS简介), angle_min扫描起始角度, angle_max扫描结束角度, angle_increment两次扫描间隔的角度, time_increment两次扫描的时间间隔, scan_time此帧数据产生的时间,机械激光雷达数据点,是由旋转扫描产生,所以同一帧的每个点产生的时间都不一样, scan_time要表示整帧数据的时间,一般取第一帧和最后一帧的平均时间,或者使用GPS时间,这个后续再详细介绍。range_min最小有效距离, range_max最大有效距离, ranges所有扫描点的距离, intensities所有扫描点的反射强度。

2. sensor_msgs/PointCloud2

sensor_msgs/PointCloud2代表点云数据,pcl是点云库,专门处理点云数据,通过将 sensor_msgs/LaserScan格式先转化为 sensor_msgs/PointCloud2格式,然后可以调用pcl算法,处理数据。执行以下命令:

rosmsg show sensor_msgs/PointCloud2

执行效果:

0d096627ebdfadd3fa964a55ad5db30c.png

header项同前文GPS(ROS传感器之GPS简介),height表示高度,width表示宽度,可以把一帧点云数据看成图像数据,一个点对应一个像素,宽和高也与之对应。is_bigendian数据存储是否按照小端存储, point_step表示一个点所占的字节数, row_step表示一行点所占的字节数, is_dense表示数据是否有效, data实际存储点云数据, fields表示每一个点云所包含的格式,可以按照 fields区域把点云数据解析出来。以下是激光雷达 velodyne的一帧点云数据,我们以此进一步说明此结构

faf3a14d0c5fd3c5662d120c932d559f.png

header代表本帧时间戳、序列号, frame_id设置为 velodyne;height为1, width为55823,所以此帧点云数:height×width=1×55823=55823, point_step为32,代表一个点占32字节, row_step为1786336,此数据代表一行所占的字节数:point_step×width=32×55823=1786336;此帧总的自己数:row_step×height=1786336×1=1786336, fields表示一个点的结构,x、y、z代表三维坐标, intensity代表反射强度, ring表示圈的序列号。fields中name代表 field name,offset代表一个点结构内的起始地址,datatype代表field数据类型,count代表field的个数。早期还有一个结构:sensor_msgs/PointCloud,也是表示点云数据,目前已经淘汰。

八. 小结

本篇介绍激光雷达的基本概念和原理,以及在ros系统中激光雷达数据的两种表达方式。下一篇以Velodyne为例,介绍如何获取,解析以及使用激光雷达数据。



推荐阅读
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 了解供应链简单来说,供应链涉及一系列旨在向最终用户提供产品或服务的步骤。企业组织及其供应商之间始终存在一个网络,来生产特定产品并将其交付给最终用户。该网络包括不同的活动、人员、实体 ... [详细]
  • 当前物联网领域十大核心技术解析:涵盖哪些关键技术?
    经过近十年的技术革新,物联网已悄然渗透到日常生活中,对社会产生了深远影响。本文将详细解析当前物联网领域的十大核心关键技术,包括但不限于:1. 军事物联网技术,该技术通过先进的感知设备实现战场环境的实时监测与数据传输,提升作战效能和决策效率。其他关键技术还包括传感器网络、边缘计算、大数据分析等,这些技术共同推动了物联网的快速发展和广泛应用。 ... [详细]
  • 点云技术初探(三):PCL基础知识与学习路径指南本文首先介绍了点云库(PCL)的基本概念,PCL是一个在前人点云研究成果基础上发展而来的大型跨平台开源C++编程库,旨在为点云数据处理提供全面的支持。文章详细阐述了PCL的核心功能及其在三维数据处理、特征提取、分割与配准等方面的应用,并为初学者提供了系统的学习路径和资源推荐,帮助读者快速掌握PCL的使用方法。 ... [详细]
  • 如何改善汽车中的卫星导航体验?这里有一个新方案
    雷锋网按:不论是对用户还是导航系统的设计者,目前的卫星导航系统都不尽人意。本文介绍了一种提高准确性的办法。本文作者FlorianBousquet系是瑞士Thalwil的u-blox ... [详细]
  • 联邦学习: 联邦场景下的时空数据挖掘
    不论你望得多远,仍然有无限的空间在外边,不论你数多久,仍然有无限的时间数不清。——惠特曼《自己之歌》1.导引时空数据挖掘做为智慧城市的重要组成部分,和我们的日常生活息息相关。如我 ... [详细]
  • 每日一书丨AI圣经《深度学习》作者斩获2018年图灵奖
    2019年3月27日——ACM宣布,深度学习之父YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2018年的图灵奖, ... [详细]
  • 简介时间同步是指以中心控制系统的标准时钟作为基准使各分布系统和终设备的时钟与中心控制系统时钟进行同步的过程。随着5G和工业5.0的到来,网络终端设备和网络业务的飞速增 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 全新发布的自我修复与自我更新的Linux版本,专为云计算环境设计! ... [详细]
  • 机器人工程专业:生源质量分析与排名
    在对某高校的机器人工程专业进行生源质量分析时发现,该专业的录取分数线与其他专业相比差异不大,这表明该专业的招生标准相对均衡。通过对近年来的录取数据进行深入分析,可以进一步了解该专业的生源质量和在全国同类专业中的排名情况。 ... [详细]
  • 书评:《卡尔曼滤波原理及应用——MATLAB仿真》《卡尔曼滤波原理及应用——MATLAB仿真》(简称《卡》)、《粒子滤波原理及应用——MA ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
author-avatar
用户r7t3govjq0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有