激光雷达(二)——三角测距法和TOF原理

激光雷达(二)——三角测距法和TOF原理对于市面上的主流激光雷达,主要是用于环境探测、地图构建,按技术路线可分为:三角测距激光雷达,TOF激光雷达。三角测距激光雷达原理三角法的原理如下图所示,激光器发射激光,在照射到物体后,反射光由线性CCD接收,由于激光器和探测器间隔了一段距离,所以依照光学路径,不同距离的物体将会成像在CCD上不同的位置。按照三角公式进行计算,就能推导出被测物体的距离。CCD是ChargeCoupled…

大家好,又见面了,我是你们的朋友全栈君。

对于市面上的主流激光雷达,主要是用于环境探测、地图构建,按技术路线可分为:三角测距激光雷达,TOF激光雷达。

三角测距激光雷达原理

三角法的原理如下图所示,激光器发射激光,在照射到物体后,反射光由线性CCD 接收,由于激光器和探测器间隔了一段距离,所以依照光学路径,不同距离的物体将会成像在CCD 上不同的位置。按照三角公式进行计算,就能推导出被测物体的距离。

CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件。
CCD广泛应用在数码摄影、天文学,尤其是光学遥测技术、光学与频谱望远镜和高速摄影技术,如Lucky
imaging。CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成

在这里插入图片描述

TOF激光雷达原理

激光器发射一个激光脉冲,并由计时器记录下出射的时间,回返光经接收器接收,并由计时器记录下回返的时间。两个时间相减即得到了光的“飞行时间”,而光速是一定的,因此在已知速度和时间后很容易就可以计算出距离。
在这里插入图片描述
可惜的是,要是所有事情做起来都如同想起来一样简单,那世界就太美好了。这两种方案在具体实现时都会有各自的挑战,但是相比起来,TOF 要攻克的难关显然要多得多。

TOF 雷达的实现难点主要在于:

  1. 首先是计时问题。在TOF 方案中,距离测量依赖于时间的测量。但是光速太快了,因此要获得精确的距离,对计时系统的要求也就变得很高。一个数据是,激光雷达要测量1cm 的距离,对应的时间跨度约为65ps。稍微熟悉电气特性的同学应该就知道这背后对电路系统意味着什么。

  2. 其次是脉冲信号的处理。这里面又分两个部分:

    a) 一个是激光的:三角雷达里对激光器驱动几乎没什么要求,因为测量依赖的激光回波的位置,所以只需要一个连续光出射就可以了。但是TOF 却不行,不光要脉冲激光,而且质量还不能太差,目前TOF 雷达的出射光脉宽都在几纳秒左右,上升沿更是要求越快越好,因此每家产品的激光驱动方案也是有高低之分的。

b) 另一个是接收器的。一般来说回波时刻鉴别其实是对上升沿的时间鉴别,因此在对回波信号处理时,必须保证信号尽量不要失真。另外,即便信号没有失真,由于回波信号不可能是一个理想的方波,因此在同一距离下对不同物体的测量也会导致前沿的变动。比如对同一位置的白纸和黑纸的测量,可能得到如下图的两个回波信号,而时间测量系统必须测出这两个前沿是同一时刻的(因为距离是同一距离),这就需要特别的处理。

除此以外,接收端还面临着信号饱和、底噪处理等等问题,可以说困难重重。

三角测距激光雷达与TOF激光雷达性能PK

说了这么多,其实从下游用户的角度,并不关心你实现起来简单还是难。用户最关心的不外乎两点:性能和价格。先说性能,如果了解这个行业的人大多知道,TOF 雷达从性能上总体是优于三角雷达的。但是具体体现在哪些方面,背后的原因又是什么呢?

1. 测量距离

从原理上来说,TOF 雷达可以测量的距离更远。实际上,在一些要求测量距离的场合,比如无人驾驶汽车应用,几乎都是TOF 雷达。三角雷达测不远,主要有几个方面的原因:一是原理上的限制,其实仔细观察图1 不难发现,三角雷达测量的物体距离越远,在CCD 上的位置差别就越小,以致于在超过某个距离后,CCD 几乎无法分辨。二是三角雷达没办法像TOF 雷达那样获得较高的信噪比。TOF 激光雷达采用脉冲激光采样,并且还能严格控制视场以减少环境光的影响。这些都是长距离测量的前提条件。

当然,距离长短并不代表绝对的好坏,这取决于具体的使用场景。

2. 采样率

激光雷达描绘环境时,输出的是点云图像。每秒能够完成的点云测量次数,

就是采样率。在转速一定的情况下,采样率决定了每一帧图像的点云数目以及点云的角分辨率。角分辨率越高,点云数量越多,则图像对周围环境的描绘就越细致。

就市面上的产品而言,三角法雷达的采样率一般都在20k 以下,TOF 雷达则能做到更高。究其原因,TOF 完成一次测量只需要一个光脉冲,实时时间分析也能很快响应。但是三角雷达需要的运算过程耗时则更长。

3. 精度

激光雷达本质上是个测距设备,因此距离的测量精度是毫无疑问的核心指标。在这一点上,三角法在近距离下的精度很高,但是随着距离越来越远,其测量的精度会越来越差,这是因为三角法的测量和角度有关,而随着距离增加,角度差异会越来越小。所以三角雷达在标注精度时往往都是采用百分比的标注(常见的如1%),那么在20m 的距离时最大误差就在20cm。而TOF 雷达是依赖飞行时间,时间测量精度并不随着长度增加有明显变化,因此大多数TOF 雷达在几十米的测量范围内都能保持几个厘米的精度

4. 转速(帧率)

在机械式雷达中,图像帧率就是由电机的转速决定的。就目前市面上的二维激光雷达而言,三角雷达的最高转速通常在20Hz 以下,TOF 雷达则可以做到30Hz-50Hz 左右。通常三角雷达通常采用上下分体的结构,即上面转的部分负责激光发射、接收和采集,下部分负责电机驱动和供电等,过重的运动组件限制了更高的转速。而TOF 雷达通常采用一体化的半固态结构,电机仅需带动反射镜,因此电机的功耗很小,并且可以支持的转速也更高。

当然,这里提到的转速的区别只是对现有产品的一个客观分析。其实转速和雷达采用TOF 还是三角法没有本质的联系,主流的多线TOF 雷达也都是采用的上下分体的结构,毕竟同轴结构的光学设计受到许多限制。多线TOF 雷达的转速一般也都在20Hz 以下。

不过,高转速(或者说高帧率)对点云成像效果是很有意义的。高帧率更利于捕捉高速运动的物体,比如高速公路上行驶的车辆。此外,在自身建图时,运动中的雷达建图会发生畸变(举个例子,如果一个静止的雷达扫描一圈是一个圆,那么当雷达直线运动时,扫描出的图像就变成一个椭圆)。显然,高转速可以更好的减少这种畸变的影响。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137236.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • html代码大全表格_html表格代码怎么写

    html代码大全表格_html表格代码怎么写在做前台html中我们经常用到一些表格,苦逼的后台程序猿大多都简简单单的写一些标签,下面分享一下只用h5就能写出一些精美的form<formaction=“”method=“”><fieldset><legend>Insertthetitle</legend><divalign=“Cen

  • shell循环控制sleep、continue、break

    shell循环控制sleep、continue、break循环控制语句sleepN脚本执行到该步休眠N秒continue跳过循环中的某次循环break跳出循环继续执行后续代码首先,要明确“break”与“continue”的区别:break:在for循环使用break,则跳出这个循环,循环命令结束continue:使用后,在当前循环终止命令,直接进入下个循环而break与countine都是作用于单个循环,如果想要进行多层循环操作,则需要在后面加数字,如break2和continue2。sleepN脚本执行到该步休眠N秒[ro

  • jsonobject转换成对象_jsonobject转jsonarray

    jsonobject转换成对象_jsonobject转jsonarrayJSONObjectobj=newJSONObject();{obj.put("key1","value1");obj.put("key2","value2");obj.put("key3","value3");}Map<String,String>params=JSONObject.parseObject(obj.toJSON

  • 电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」

    电脑黑屏只有鼠标箭头,任务管理器打不开,F8什么的都不管用「建议收藏」1.故障描述自从电脑装了虚拟机之后,明显感觉电脑变卡,吃饭的时候处于待机状态,回来就看见屏幕黑屏了,只剩一个鼠标箭头2.自己尝试过的方法1)ctrl+alt+del,没卵用,打不开任务管理器2)拔掉鼠标,键盘,电源线,还是不行,最多拔掉鼠标,箭头不见了而已,依然黑屏3)长按关机键,强行关机,没用,还是黑屏,重启时按F8没用,老子F…

  • Google发布开源Java程序 给力CSS

    Google发布开源Java程序 给力CSS

  • js的数组拼接「建议收藏」

    js的数组拼接「建议收藏」js的数组拼接方法方法一:concat方法拼接(返回一个新数组)vara1=[1,2,3,4,5];vara2=[‘a’,’b’,’c’];varnewa=a1.concat(a2);返回结果:{“0″:1,”1″:2,”2″:3,”3″:4,”4″:5,”5″:”a”,”6″:”b”,”7″:”c”,”length”:8}结果类型:objectconcat方法:用于连接两个或多个数组,生成新数组,concat后面的数组时操作的时候数组的元素,而不是数组方.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号