接着从上篇继续说,本部分主要介绍激光雷达数据等内容,这个可以说是看懂激光雷达手册的重中之重,也就是关键问题的关键(皮~)。同样由于velodyne的手册比较难啃但是内容完整丰富,本期我们依然以velodyne 128(alpha prime)为中心继续讲解,第二部分将说明其他激光雷达手册中的内容。

没有看过第一期的同学可以戳:

自动(智能)驾驶 | 关于激光雷达你需要关注这些(上)_MendozaG的博客-CSDN博客

本篇的目录

4.激光雷达的数据(data)

4.1 packet 类型及定义

4.2packet的结构

4.3精准时间的计算

4.4 将PCAP 文件转换为 点云文件

5.激光雷达的通信

6.附录中需要注意的

6.1激光器

6.2 时间同步

6.3相位锁

7.多太激光雷达接入的配置

(概念自测)

8. 其他激光雷达对比

8.1速腾激光雷达

8.1.1 RS-Ruby

8.1.2 RS-M1

8.2 禾赛激光雷达

8.2.1 AT128

8.2.2 pandar 128E3x

9. 总结

附录:激光雷达实物靓照:

4.激光雷达的数据(data)

传感器都有自己坐标系下本身的frame,该激光雷达的origin(0,0,0)在其底座上66.11mm,坐标系的建立和计算如下图(这点需要注意的是xyz轴可能在不同的传感器对于前向的定义不同,有的是正x而有的为正z)

4.1 packet 类型及定义

接下来就是最为重要的packet解析:有两种packet:数据包(data packet)以及位置数据包(postion packet)位置包有时被称为遥测包,或GPS包。前者包含由传感器测量的三维数据以及返回光脉冲的表面的校准反射率。前者中还包含一组方位角和一个4字节的时间戳以及两个识别传感器模型和激光返回模式的工厂字节(Factory Byte)。如果您已经将传感器配置为与GPS时间源同步,那么位置数据包将提供所收到的最后一条NMEA消息(GPRMC或GPGGA)的副本(copy)。位置包还提供一个字节来识别PPS的状态信号与时间源同步的状态(例如locked、abent等状态)

其中具体包括:

1. 激光发射序列(firing sequence)

当传感器中的所有激光器都被发射时,就会发生发射序列。它们以特定于给定的产品线或模型的序列被发射。包括激光充电时间。一个点发射序列不允许跨越多个数据包。平均而言,需要55.275μs才能发射所有128个激光器并进行充电。该款激光雷达被分成八组发射激光(也就每个group 有16)。

2.激光的通道(laser channel)

一个激光通道是一个905 nm的激光发射器和接收器。每个channel都是有特定的安装仰角的(所以每个点的仰角也就是elevation是固定的,packet中只需给出对应的水平角即可,是没有仰角数据的)平常我们说的多少线,也就是有多少channel,给个channel都有ID。激光的pattern是这样的:

从上图也可以看到0~7等,以8为单位,都不在一列上,分为了8个group,从而每个点都存在一个offset(相对)

3.点的数据(Data Point)

我们都知道,激光雷达原理是TOF,返回拿到的数据有距离和反射强度。在packet中,一个点由三个字节表示,其中两个字节表示距离(无符号整数,间隔尺寸为4mm,从而报文的25154代表着25154*4=100616mm)、一个表示校准化的反射率(被标准化到0~255)。俯仰角(ω)是根据数据点在数据块中的位置推断出来的。距离为0表示不进行测量(例如向空中发射激光)。激光要么是关闭了,要么是可测量的反射没有及时返回。

4.方位角(Azimuth)

每个数据块开头的标志字节之后,就会出现一个双字节的方位角值(α)。方位角是一个无符号的整数。它表示以百分之一个度表示的角度。因此,原始值为27742应解释为277.42°。方位角的有效值范围为0到35999(计算360*100=36000)每个数据块只报告一个方位角值(其余的根据该值可计算)。

5.数据的Block(Data Block)

注意,这部分最为重要也是最有难度的。128线回波信息在单回波模式下包含4个Block在双回波模式下则有8个连续的block每个packet至多有3个激光发射的序列。每个block只返回一个方位角。

每个block中的内容:

一个两字节的标志位以及方位角,以及32个点的数据(上面提到了每个点3个字节,两个给距离,1个给反射率),从而最终为100字节

6.帧(frame)

数据帧包含单个旋转中的所有数据点,或从开始FOV结束的部分(如果设定了FOV的话就只记录特定角度范围的点)。它可能包含一些额外的数据,若被包含在一个发射序列在其跨越一个旋转边界的时候。

7.时间戳(time stamp)

时间戳由4个字节,32位无符号整型数组成。标记的是在数据包的第一个发射序列的第三个发射组的时间(也就是下图的位置,第一个sequence的第3个group)。时间戳是TOH(top of hour)的偏移值,标记的是一个小时单位为微秒:取值范围为0~3599999999(60*60*1000*1000=3600000000);

时间戳是至关重要的,因为它被地理参考软件使用来将每个激光发射与来自惯性导航系统的相应数据进行匹配。惯性导航系统提供了一系列的俯仰、滚动、偏航、偏航、纬度、经度和高程的时间戳值。通过将数据点的时间与INS的时间戳数据匹配,用户软件可以将数据从传感器的坐标系转换为地面参考系。时间戳与GPS/INS提供的世界协调时间(UTC)相匹配。当传感器通电时,它就开始使用内部时间参考来计数微秒。(这里指的是激光雷达自身也可以记录时间,未接入时使用的就是machine time)然而,传感器可以将其数据与UTC时间同步,以便可以确定在任何特定的数据包中的每个激光器的确切发射时间。UTC同步需要一个用户提供的GPS/INS接收器产生一个每秒同步脉冲(1PPS)信号和一个NMEA 的GPRMC消息(MSG)。GPRMC消息在UTC中提供分钟和秒。同步后,传感器从GPRMC消息中读取分钟和秒,并使用这些信息将传感器的时间戳设置为每UTC中超过该小时的微秒数。(这里的原理与电脑等设备授时原理相同

8.工厂位

这里不过多介绍,就是回波形式和产品代码

4.2packet的结构

数据包的结构

数据包长1248字节,并通过端口2368上的UDP包发送。该数据包由42个字节的协议报头(Header)、12个数据块(block,一个block正如上面所说有100bytes)、1个4字节的时间戳(timestamp)和2个工厂字节(factory bytes)组成。你可以自行计算一下数目是否正确。数据包有三种格式:

单回波的结构:

我们来用前面的知识来分析一下,这个表是什么意思:首先从头看,一个packet是1248位,这个上面说了,还有一个header和timestamp,去除这些,一共1200bytes,分成了12列(这里的列就是block),每个block上面提到了是100个字节,包含了点的信息(距离、反射强度一共三个字节对应着外面的channel number 3bytes per channel)、flag和方位角。再来看序号,0~127,共128个,每个firing sequence 在单回波模式下由4个block组成,一个packet中可以有3个sequence(单回波模式下)。

双回波模式:

因为双回波,数据量扩大一倍,所以一个packet只能放下一个firing sequence,就不详细说明了。此外还有双回波+置信度数据结构(Confidence Data Structure )这里也不展开了。

说完了data packet,再来说说 position packet:

位置信息包(通常称为遥感包)的作用是提供最近的、支持的NMEA信息的副本(copy),从外部GPS/INS/IMU源以及每秒脉冲状态,加上表示位置包组装时的时间戳,以及可能的其他相关信息。如果没有附加GPS/INS/IMU或其被禁用,则位置数据包中的NMEA语句、PPS状态和相关字段将为空(即所有零)。

该位置包是在端口8308上接收到的一个554字节的UDP包(默认情况下)。协议标头(Header)占前42个字节有效负载长度为512字节。位置数据包的结构(除去42字节的协议报头)有:

GPRMC句子以CR/LF终止,并以空字节填充到有效负载的结束。 

注意:位置数据包中的时间戳偶尔会与数据包相失调。这是正常的,因为数据包的传递是传感器的最高优先级,而位置包可能会暂时延迟,从而有利于传输数据包。(也就是当不稳定出现时会优先保证data packet

前面提到的PPS 的状态一共有4中,代表和描述如下:

来看一个实际的粒子来理解:

其中:

蓝色的部分:代表着以太网+IP+UDP header (42个字节,上面提到过)

橙色部分:时间戳(4字节) 注意转换时需要 5D8E5FFD = 1569611773  (Little-endian)

 红色:PPS状态(1个字节) 此时为locked

绿色:GPRMC 语句

4.3精准时间的计算

如果要计算每一个点的精确时间,可以根据发射的规律来推算每一个offset。每一个sequence (还记得一个sequence是什么意思么?就是128激光序列)需要53.333μs来发射所有128个激光器并为下一次发射充能(RP0和RP1)最后的周期(RP2)的范围可能从0μs到3.882μs。RP2的平均长度约为1.941μs。(在此之前,固件会像发条装置一样每53.3μs执行一次触发序列)。这种差异(每个RP2的充能时间不同)的目的是为了减轻不同激光雷达之间的干扰

一个数据包(packet)中的第一个发射序列(firing sequence)TOH 7μs处,该数据包的时间戳被确定。在此之前的发射组的时间偏移是负的,而对于之后的时间偏移是正的(直到下一个数据包)。TOH在同一个标记上被同步。对于每个发射序列,出现在序列的数据块中的方位角被固定在序列中7μs的相似点上(即周围)。

这就是三种情况,一个平均一个最大一个最小。时间戳打在哪里呢?每个包的TOH7微秒处,从上图可以看出7微秒处唯一第一个sequence的第三个group上与上面的描述一致

所以按照规则可以得到补偿(offset)表格(仅展示单回波模式):

12列(block)好理解,一共三个firing sequence,那为什么该图给出了32个packet呢?有些同学会突然反映不上来——行表示的是order in packet (32*4=128),这下你可能恍然大悟。也就是给出了128 laser的偏移量。

可能你还记得上面的激光器的pattern,那么根据这个就可以的到每个角度的偏移量精确值:

值得注意的是与上面所说一致——方位角与时间戳都会在第一个firing sequence的第三个group产生,并且方位角在每个sequence的第三个group都会产生(而时间戳仅在第三group产生)。

实现这个的伪代码:

// Do this for every packet
// packet_m represents an index to a packet
// datablock_n represents an index to a data block, valid range is 0 to 11
// point_k represents an index to a data point in the nth data block, valid range is 0 to
31
// Adjust for an azimuth rollover from 359.99° to 0°
// Note that a firing sequence spans four data blocks
If (Azimuth[packet_m+1][datablock_0] < Azimuth[packet_m][datablock_0])
Then
Azimuth[packet_m+1][datablock_0] := Azimuth[packet_m+1][datablock_0] + 360;
Endif// Adjust for a timestamp rollover from 3,599,999,999 μs to 0 μs
If (Timestamp[packet_m+1] < Timestamp[packet_m])
Then
Timestamp[packet_m+1] := Timestamp[packet_m+1] + 3600000000;
Endif// Determine the azimuth rate
Azimuth_Gap := Azimuth[packet_m+1][datablock_0] - Azimuth[packet_m][datablock_0];
Time_Gap := Timestamp[packet_m+1] - Timestamp[packet_m]
Azimuth_Rate := Azimuth_Gap / Time_Gap;// Loop over data blocks
For (datablock_n = 0 to 11)// Loop over data pointsFor (point_k = 0 to 31)// Determine laser numberLaser_Number := (datablock_n MOD 4) * 32 + point_k;// Lasers are fired in groups of 8Firing_Group := Laser_Number DIV 8;// InterpolatePrecision_Azimuth[point_k] := Azimuth[packet_m][datablock_n] + Azimuth_Rate *
(2.665 μs * Firing_Group - 7 μs);// Add rotation during RP0If (Firing_Group > 7)ThenPrecision_Azimuth[point_k] := Precision_Azimuth[point_k] + Azimuth_Rate *
5.33 μs;Endif// Apply the azimuth offsetPrecision_Azimuth[point_k] := Precision_Azimuth[point_k] + azimuth_offset[Laser_
Number];// Adjust for any rollover72 Alpha Prime User ManualIf (Precision_Azimuth[point_k] >= 360)ThenPrecision_Azimuth[point_k] := Precision_Azimuth[point_k] – 360;EndifEnd For
End For

4.4 将PCAP 文件转换为 点云文件

PCAP是一种二进制文件,不论你是在Velo View中 Record还是在WireShark中抓包,获得的文件都(可以)是PCAP格式的,其优点为体积小,而解包后的点云文件(如pcd)则体积会大得多。所以在大规模录制时我们保存为PCAP这样数据流小而当可视化时我们需要转换成点云来处理。

言归正传,如何转换呢?

将veladar数据的包捕获(pcap)文件转换为LAS、LAZ、XYZ、PLY或其他点云文件格式可能是一个简单的过程。pcap文件中传感器提供的数据是相对于传感器的参考系进行测量的——传感器随传感器移动的内部三维坐标系。这与数据点被引用到单个坐标系的点云文件明显不同。该坐标系可能是一个地球坐标系(纬度、经度、高程)或另一个方便的参考坐标系。将原始的激光雷达数据处理成一个点云被称为地理参考。在地理参考中,用户会考虑每次测量的传感器位置(X/Y/Z)和方向(俯仰/滚动/偏航)。知道这六个值,用户可以执行适当的数学热旋转和平移,将激光雷达数据参考到一个单一的坐标系。激光雷达客户用于地理参考的两种流行技术是惯性参考和同步定位和映射(SLAM)。通过惯性参考,用惯性导航系统(INS)随时记录传感器时刻的位置和方向。INS将全球定位系统(GPS)接收器与惯性测量单元(IMU)相结合。来自INS和激光雷达传感器的数据与GPS卫星的参考时钟进行时同步,使用户能够将每个激光雷达数据点与INS中的相应位置和方向进行匹配。将激光雷达数据与INS数据匹配后,每个测量都被数学转化为一个单一的坐标系。SLAM是机器人用于分析和导航其环境的一种技术。SLAM软件可以自动识别激光雷达数据中的静止物体。然后,该算法利用静止物体的位置,从数学上回撤出激光雷达的运动,并将数据转换成一个单一的坐标系。

总而言之我们知道了其编码根据规则解码即可,相对的是传感器中心也就是最前面写的,当然忽会有用户自己写了转换的工具(可以查找Github等,目前国产的许多激光雷达已经支持更改输出格式使得record和解码更加方便)。

5.激光雷达的通信

之前只是简单得说明了这个界面,现在详细说明一下连接后的配置界面。

简单的或说明过的这里不在赘述。

这里选取几个说明:

PPS Qualifier :正如其所说是一个调整如何协同到UTC时间的参数。前面我们说过时间有机器自己的时间以及接入GNSS的UTC时间,设置是否需要PPS接入,PPS是否需要锁定,PPS的延迟(可接收的验证时间,以秒为单位),点击SET 激活这些配置

GPS Qualifier:同理,设置验证,是否需要GPS信息;

Phase Lock:相位锁,当PPS上升沿时处于的相位。可以用于同步两个或多个传感器的发射。(并能控制起始记录的位置)

关于Velo View等配置这里也不再说明,此外其还能通过浏览器的curl指令控制。再提下附录中的内容:

6.附录中需要注意的

6.1激光器

激光雷达中每个激光脉冲的源是半导体激光二极管。激光二极管是一系列堆叠的p-n结,在概念上,与下图中所示的结相似。当电流通过junction时,光子产生并通过一端形成紧密聚焦的激光束。

由传感器产生的激光发射可以用红外相机或无红外滤镜的智能手机相机来观看(发射红外光)。这部分的照片是用红外照相机拍摄的。 虽然激光“斑”(Spot)和“点”(dot)常用于描述激光脉冲击中目标时,但实际上传感器的激光“点”是一个由三个较小的棒或光波段组成的小矩形区域,如下图所示。矩形的长轴与激光扫描的路径重合。

6.2 时间同步

上面我们也详细说了在配置界面设置PPS和GPS信息。再回顾一下如下图:

这两个新选项控制了传感器如何利用提供给传感器的GPS信息。第一个控制选项决定传感器如何利用PPS信号(PPS Qualifer)。第二个控制选项决定了传感器如何利用国家海洋电子协会(NMEA)句子(GPS  Qualifier)中提供的时间戳。

激光雷达维护一个计数器,表示自最高小时(top of hour,TOH)以来的微秒数TOH计数根据内部振荡器递增。当传感器显示一个有效的PPS信号时,在每个PPS的上升边缘上调整TOH计数,以使TOH与UTC时间对齐。TOH在数据和 位置(遥感)数据包中以四字节的时间戳形式发送。这点之前我们也提到过,TOH是激光雷达器件内部时间,由晶振控制,晶振会随时间温度等产生漂移,这就是为什么我们要完成时间同步。每个PPS的作用是重置作用。

可能我们对于TOH还是不太理解:TOH由两个独立的计数器组成。一个计数器保持自小时的顶部以来的分钟数和秒数,而另一个计数器保持亚秒计数

两者的组合值表示自小时顶部以来的微秒数。它的范围从0到3599999999μs——一小时内有3.6×109μs。亚秒计数器的范围为0到999,999μs。(也就是分为两部分,一部分为秒,一部分为秒以下(亚秒)的数值,最终的结果是两者的和

该传感器连续监测PPS输入,以评估所呈现的任何脉冲的定时特性。此过程在Web界面和位置数据包中显示。当传感器检测到有效的、稳定的PPS信号时,Web界面显示“PPS:锁定”(Locked),偏移(offset) 0xF4位置包中的PPS状态字段设置为0x02

分钟和秒计数器(也就是第一个负责记录秒的计时器)可以调整到NMEA sequence中提供的时间值。如果没有提供NMEA句子,则分钟和秒计数器每秒递增。(意思是如果不接入诸如GPRMC的NMEA数据,仅接入PPS也是可以的,此时秒计时器每秒自增,而若接入了GPRMC,则会提取其中的时间信息来代替器件的自时间)。

使用PPS信号来调整亚秒计数器,可以使传感器与PPS源保持同步,即使该源有轻微的漂移。当GPS接收器指示无效时,并开始使用自己的内部时间驱动PPS引用时,就会发生这种情况(指的是比如进入隧道等GPS无信号了,没有GPRMC了,此时一段时间内将切换为传感器自己的时间,但是PPS依然保持,从而可以起到修正防止漂移

关于Delay:此参数表示允许用户延长传感器验证PPS所需的时间单位为整数秒。可接受的值范围为0到65535。默认值为5秒。传感器通过由延迟参数定义的滚动n秒窗口不断识别PPS信号。在第一个情况下,PPS信号被认为不稳定,传感器进入自由运行模式,其中亚秒计数器由内部振荡器驱动。在自由运行模式下,子秒计数器不再随PPS信号的上升边缘进行调整。此外,TOH的分钟和秒组件会根据自由运行的子秒计数器的滚动开始递增。(这一段如何理解呢,为何要设置这个Delay呢?因为PPS信号未必一直是稳定的,我们前面也说到了,当发生一些情况的时候时间戳的记录方式会发生改变,默认值为5意思就是若无法识别PPS5秒就会切换

时间的情况可以看下表:

6.3相位锁

当使用多个彼此靠近的传感器(例如,安装在车辆顶部)时,传感器数据中可能偶尔会出现干扰图案。通过控制数据收集的地方来最小化这种干扰。

这个我们之前也谈的比较多了:在配置界面设置offset即可。

设置完毕后,随着PPS你可以看到 phase 的状态和你设置的值一直在跳变。

避免干扰的应用:

左右安装时:两个的offset如图

前后安装时:

7.多太激光雷达接入的配置

如下图:

至此威力登(Velodyne)激光雷达就介绍到这,下面将类比几款常见的其他雷达。

(概念自测)

阅读了以上的部分我有几个问题想提问:

1. 在Velodyne激光雷达中有很多个名词概念,packet,group,firing sequence、data point、data block这几个是什么意思,结构上有何关系么?(重要

2. 单回波双回波有什么特性和应用场合,在packet中有什么不同表现么?

3. RPM是什么意思,有什么用,是否RPM越大角度精度越大呢?

4. 相位锁(Phase Lock)是什么原理,有什么用?

5.在这个版本的固件中其timestamp是如何定义的?

6.机械式激光雷达的俯仰角(elevation)是如何得到的?

7. 对于理想的每秒出点数你可以想到用什么方法计算呢?

8.激光雷达的时间机制是怎样呢?PPS、NMEA(例如GPRMC)有什么用,在授时中起到什么作用?

9.每一个group的 firing sequence充能时间一样么,有几次充能?

10.给你一个时间戳你是否会计算,时间戳是如何计算的,和UTC时间有关么?和linux时间相比有什么关联么?

欢迎在评论区回答~

--------------------------------------------------------------------------------------------

8. 其他激光雷达对比

目前国产的雷达已经有了很多明星产品了,市场占有率也非常不错,有的产品甚至比Velodyne性能还要好,支持的协议和内置算法更优。有的则已经实现了量产车的装车,本部分将简要的分析这些雷达的手册,将介绍速腾和禾赛这两家国产的激光雷达。你也可以尝试用前面学到的知识内容来分析其他激光雷达。目前很多4D雷达等以太网的和这种数据格式也是十分类似的,具有很强的参考意义。

8.1速腾激光雷达

速腾推出了许多激光雷达,本文将对其Ruby (128线)和MEMES装车的M1半固态激光雷达进行简要说明。

8.1.1 RS-Ruby

为什么要先说ruby这款激光雷达呢,因为他也是一款128线的高端产品。

第一步先去看产品的特性(datasheet):

产品的主要特性都在上图,我圈出来三处,帧率是10Hz或20Hz每秒出点量230万(单回波模式)和Velodyne的差不多,在时间同步上支持很多种同步方式:经典的1PPS+GPRMC以及PTP(IEEE 1588)gPTP(IEEE 802.1)

接下来我们在手册中说几点:

1.反射率信息:我们知道在Velodyne手册中,将反射率用一个字节表示,标准化到0~255。在RS-RUBY中这么定义:

漫反射物体强度在0~100;全反射物体反射率强度在101~255。255为理想全反射。

2.GPS的使用:这里只提一点,可能之前没提到,接入激光雷达的GPRMC需要设置波特率为9600。

3.packet结构:这部分是其最重要的内容,rs-rub发出UDP协议1248bytes的有效荷载(1248有没有很熟悉?)分为主流数据(MSOP)和设备信息(DIFOP),数据结构示意图:

结构安排和Velodyne还是有所不同的,主要部分类似都是由三个block组成的结构(威力登分为12个block但是实质上每四个block代表一个firing sequence,这里它一个block就代表一个firing sequence)我们来看看这里的block是如何定义的:

其中channel data与Velodyne相同,都是用3个字节来表示,两个表示距离一个表示标准化的反射率(0~255);这里给出的距离的单位是厘米(cm)。

4.垂直角度(elevation)

Velodyne的激光器的pattern大伙可能还记得,ruby的对印关系如下:

ruby的时间戳给到的是第一个channel的激光点时间,从而根据此计算offset即可。

5.其他特性

在配置界面,有些之前没说过的新特性:

这款激光雷达可以分开的控制三个Group(这里的group定义未给出,这里的group和Velodyne 8个为一个group概念不同,根据特性,我推测指的是一个包中有三个block而每个block中都含有完整的128channel,从而对应的是一个packet(MSOP)中不同的激发序列,因为其就是128channel也可以理解为一次firing,从而这里可以控制packet中不同的激光sequence的属性比如不同的触发和FOV等等使得一个MSOP中带有不同性质的回波数据)

RS View的功能可以录制也可以播放(解PCAP包),并可以导出CSV格式文件等特性。

此外还有关于ROS的配置这里略;

8.1.2 RS-M1

M1激光雷达可以说是一款明星产品了,是一款正式装车量产的车规级雷达,其原理同旋转式不同。某款MEMS激光雷达内部如图:

成像原理是通过Diffuser将激光散射,然后通过receiver lens收到反射信息。

与上面相同先来看特性:

首先这款激光雷达的水平FOV是120度,主要关注前向。出点数为75万(单回波模式),时间同步方式仅有gPTP,重量只有730g。

对于M1我只简单的提几个独特的点:

1. MSOP packet结构

可以看出分为了25个block,每个data block中有5个channel,这里就是实质上M1中有五个激光头,最后通过拼接成像的。

2. 使用软件 little robo来配置激光雷达

3.给出了ROS包,且在config.yaml中给出了参数说明可以调整你录制的策略。

8.2 禾赛激光雷达

禾赛激光雷达势力也非常强,如果说M1是之前的明星产品,那么今年的vcsel 激光雷达 AT128绝对是明星产品。装车了一众车型,例如最近发布的理想L9等等。由于我也没有AT128的雷达和手册,我们就只来看看其关键参数,然后再说说其优秀产品pandar 128。

8.2.1 AT128

出点量153万点每秒,非常强悍,水平视场角120度。下图更是写到“无拼接”120度超广视场角”这不是直接剑指M1。这里其波长是1550nm的距离可见光更远对人眼伤害小一些可以将功率开大一些,从而探测距离更远。

8.2.2 pandar 128E3x

参数:

出点数345万(远大于一般的240万点)所以能获得更好的分辨率。时间来源可以是传统的GPS以及PTP。

数据格式:

其数据主体:

点云的解析:

这里说的就比较简洁了。感兴趣的同学可以自己去申请手册看看~

9. 总结

本文上下两期可以说是为数不多能找到的对于激光雷达的细致。通过阅读手册和对于器件原理的理解能够更好的帮助我们开发相关算法设计相关方案。

除了文中提到的激光雷达,还有许多其他类型的激光雷达非常的promising,例如Aeva的FMCW激光雷达(Lidar on chip)等等都是人们讨论的热点话题

Aeva结构简图

Aeva效果图

-------------------------------------------------------------------------

感谢大家的阅读,希望能帮助到大家!另外感谢文中的各个厂商,从他们的产品中学到了很多!

附录:激光雷达实物靓照:

最后放上几张激光雷达靓照:

Velodyne的VLS128 (Alpha Prime)很有分量

禾赛 Pandar 128

速腾M1

自动(智能)驾驶 | 全网第一本激光雷达手册阅读指南(下)相关推荐

  1. 2022年系列研究-智能驾驶之车载激光雷达行业概览

    摘要 激光雷达开启量产元年,智能驾驶新赛道加速跑∶ ·激光雷达是迈向高阶智能驾驶的不可或缺和最优解∶感知层是智能驾驶的关键层级之一,一般会利用不同传感器采条 并提供道路及其他交通参与者的信息,完成环境 ...

  2. 万字综述智能驾驶车载激光雷达关键技术与应用算法

    来源 | 智驾最前沿 编辑 | 焉知智能汽车 随着全球智能驾驶进入产业化与商业化的准备期,车载激光雷达凭借其优异性能已成为不可或缺的环境感知传感器并在硬件技术和应用算法上得到迅猛发展.文章以激光雷达扫 ...

  3. 【智能驾驶】无人驾驶推进时间表及五大技术领域关键节点

    来源:莫尼塔财新智库 摘要:本文援引莫尼塔财新智库的一篇研究,系统梳理了无人驾驶各关键技术节点以及其成熟时间." "汽车技术发展到如今,几乎没有人质疑无人驾驶会成为汽车行业变革的巨 ...

  4. 【MDC智能驾驶开发者课程】1.华为MDC总体介绍

    文章目录 1.智能驾驶产业发展趋势 2.华为MDC智能驾驶计算平台 2.1 华为MDC平台的特性 3.典型应用场景 3.1高速干线货运物流 3.2末端无人物流配送 3.3高危高强度特种作业 3.4定点 ...

  5. 智能驾驶走上时代风口,数据堂助力汽车更具“智慧”

    2021被称为智能汽车元年,智能驾驶和高级辅助驾驶功能都得到各方加码.在世界人工智能大会(WAIC)现场,众多厂商纷纷推出自家的智能驾驶技术及新品,都在表明智能驾驶领域迎来井喷式发展. 嬴彻科技在大会 ...

  6. 万字长文文带你了解自动驾驶重要传感器——激光雷达

    本篇是本人基本汇集全网信息,按照自己逻辑顺序写的.算是自动驾驶激光雷达基础,文中有错还请指出. 如果此篇帮助到你,点个赞再走吧 激光雷达背景 1.1. 概念与特点 激光雷达是利用激光作为信号波的一种探 ...

  7. Quanergy创始人兼CEO Louay Eldada:将在中国建立固态激光雷达超大型生产设施 | 2018全球智能驾驶峰会...

    Quanergy 创始人兼CEO Louay Eldada 雷锋网(公众号:雷锋网)新智驾按:10月26日至27日,2018 全球智能驾驶峰会在苏州召开,本次峰会由苏州市相城区人民政府主办,苏州高铁新 ...

  8. 谷歌自动驾驶是个大坑,还好中国在构建自己的智能驾驶大系统

    来源:张国斌 中国有堪称全球最复杂的路况,例如上图是去年投入使用的重庆黄桷湾立交桥上下共5层,共20条匝道,堪称中国最复杂立交桥之最,据称走错一个路口要在这里一日游,这样的立交桥如果让谷歌无人驾驶车上 ...

  9. 安全基因赋能物流市场,智加科技打磨L4级自动驾驶重塑高速运输 | 2018 全球智能驾驶峰会...

    *智加科技研发副总裁.苏州智加副总经理王磊 雷锋网新智驾按:10 月 26 日至 27 日,2018 全球智能驾驶峰会在苏州召开,本次峰会由苏州市相城区人民政府主办,苏州高铁新城管理委员会.雷锋网新智 ...

最新文章

  1. js callback回调的一种写法
  2. 【首轮官宣】中国肠道大会姊妹盛会,GUT 2022正式启航!
  3. PHP实现四种基本排序算法
  4. css中flex布局
  5. Spring StateMachine,教你快速实现一个状态机
  6. 数据结构-深度优先遍历和广度优先遍历(漫画)
  7. 使用cat写入内容到指定文件
  8. linux 多个秘钥,linux管理多个ssh公钥密钥
  9. mysql视图管理和存储过程
  10. android跳转到相册需要权限,Android打开相册获取图片路径
  11. Android应用真机调试
  12. 如何扫描出Android系统媒体库中视频文件
  13. linux下分卷压缩,合并解压的3种方法
  14. IP地址规划设计技术
  15. C# 原始的方法写入xml文件的代码
  16. C#小游戏,拼音打字练习
  17. 系统设计题面试八股文背诵版
  18. idea中Rebuild是什么意思
  19. git clone报错:could not read Username for ‘http://xxx.com‘: Device not configured
  20. armv6 可以通过什么方式检查内存泄露?

热门文章

  1. EKS自动扩容-方式一:ASG负载检测自动扩容功能
  2. element组件------form
  3. 老虎证券contract和positions
  4. PureFTPd Readme 中文文档
  5. ECharts-旭日图(Sunburst)带时间轴
  6. 【简】题解 吉首大学第十一届“新星杯”大学生程序设计大赛
  7. 按shift delete删除的文件还能恢复吗?文件恢复教程
  8. 明星热图|白宇、杨洋代言新品牌;张艺兴演绎服饰新品;陈飞宇、宋威龙、宋轶等出席品牌活动...
  9. element 饿了么前端框架基础
  10. 侠探锦毛鼠之真假白玉堂