1.本发明属于激光雷达安全领域及激光器脉冲编码电控领域的一种激光雷达的脉冲控制信号设计方法,具体涉及一种基于激光雷达目标点云的脉冲控制信号设计方法。
背景技术:2.激光雷达是一种重要的主动遥感传感器。其工作原理是向目标发射激光束作为探测信号,再接收到从目标反射回来的信号,分析激光在传感器和目标之间完成往返所需的时间,计算探测目标和激光雷达的相对距离,经过适当处理后,即可获得目标空间信息。激光雷达可以穿越障碍物的遮挡,直接获取真实探测物体的高精度三维信息,用于识别、分类和跟踪运动对象。
3.激光雷达通过不断旋转发射头,将速度快、发射准的激光从“线”变成“面”,并在数值方向上排布多束激光,形成多个面,达到动态扫描并接收信息的目的。由于多线激光雷达的发射器具有一致且稳定的脉冲频率,且探测距离和角分辨率具有一致性,所以通过点云信息就可以预测实际情况下的物体所处的状态。
4.真实的激光雷达点云需要接收目标回波才可生成,所以需要满足一个基本规律:点只存在于激光雷达的激光线束上,且每个线束在每次发射时只代表一个点。这个规律使得针对激光雷达的对抗性模拟有了实现的理论基础,但是现有的点云信号注入到激光雷达中形成干扰或欺骗的实验均不能在实际条件下实现,且添加的点云往往是杂乱无章的,从而无法最大限度模拟真实环境的点云状态。
技术实现要素:5.为了解决背景技术中存在的问题,本发明提供了一种基于激光雷达目标点云的脉冲控制信号设计方法,能够产生精确编码、变间隔编码和变脉冲编码的脉冲控制信号,从而对激光雷达输出的发射点云进行调制。本发明可以用相同型号的激光雷达采集实际环境中存在的点云作为模板点云,根据模板点云的信息设计激光雷达的脉冲控制信号,通过激光器等硬件注入工作的激光雷达,即可在模板不存在的时间或空间中依然使激光雷达接收到和模板点云相同的点云信号。使得针对激光雷达的激光欺骗干扰试验有了实现的理论基础,为后续分析和完善激光雷达的安全性能提供保障。
6.本发明的技术方案如下:
7.本发明包括如下步骤:
8.步骤一:目标激光雷达采集的点云作为模板点云;
9.步骤二:对采集获得的模板点云进行数据预处理,获得对应目标激光雷达的激光脉冲从发射到接收的时间、模板点云的激光雷达线束编号信息以及工作周期编号信息;
10.步骤三:根据目标激光雷达的激光脉冲从发射到接收的时间、发射点云的激光雷达线束编号信息以及工作周期编号信息,设计目标激光雷达的脉冲控制信号,用于控制目标激光雷达生成与模板点云相同的点云。
11.所述步骤二具体为:
12.2.1)将采集获得的模板点云的空间位置坐标信息转换为三维极坐标信息,获得模板点云与目标激光雷达的相对距离信息、模板点云的竖直角度信息和水平角度信息;
13.2.2)根据点云与目标激光雷达的相对距离信息,计算获得对应目标激光雷达的激光脉冲从发射到接收的时间;
14.2.3)根据模板点云的竖直角度信息,通过查表获得模板点云的激光雷达线束编号信息;
15.2.4)根据激光雷达的工作周期和旋转角速度,计算获得目标激光雷达的水平分辨率;
16.2.5)根据模板点云的水平角度信息对模板点云进行方位角递增的排序,获得排列好的模板点云,将排列好的模板点云中第一个点所在的工作周期作为初始工作周期;
17.2.6)基于目标激光雷达的水平分辨率,根据水平角度信息对排列好的模板点云中各个点进行工作周期编号计算,获得模板点云中各个点的工作周期编号并构成模板点云的工作周期编号信息;
18.所述步骤2.6)具体为:
19.2.6.1)对于排列好的模板点云中的每个点,根据模板点云的水平角度信息中各个点的水平角度,计算当前点与上一个点的水平角度的差值;
20.2.6.2)根据目标激光雷达的水平分辨率,利用以下公式计算当前点与上一个点的工作周期编号的差值:
[0021][0022]
其中,表示排列好的模板点云中第i个点与第i-1个点的工作周期编号的差值,i∈1...n-1,n表示排列好的模板点云的点总数,δi表示排列好的模板点云中第i个点与第i-1个点的水平角度的差值,δazimuth
full
表示目标激光雷达的水平分辨率;fix()表示取整操作;
[0023]
2.6.3)根据当前点与上一个点的工作周期编号的差值以及上一个点的工作周期编号,计算当前点的工作周期编号,计算公式如下:
[0024][0025]
其中,fullcycle_id(i)和fullcycle_id(i-1)分别表示第i个点与第i-1个点的工作周期编号,laser_id(i)和laser_id(i-1)分别表示第i个点与第i-1个点的激光雷达线束编号;
[0026]
2.6.4)重复2.6.1)-2.6.3)对排列好的模板点云中的剩余点进行处理,获得排列好的模板点云中各个点的工作周期编号并构成模板点云的工作周期编号信息。
[0027]
所述步骤三具体为:
[0028]
3.1)根据目标激光雷达的激光脉冲从模板到接收的时间、模板点云的激光雷达线束编号信息以及工作周期编号信息,计算发射点云中各个点对应单脉冲的工作时刻,计算公式如下:
[0029]
timestamp(i)=fullcycle_id(i)*t
fc
+laser_id(i)*t
sfc
+tof
[0030]
其中,timestamp(i)表示模板点云中第i个点对应单脉冲的工作时刻,fullcycle_id(i)表示第i个点的工作周期编号,t
fc
表示目标激光雷达的工作周期,laser_id(i)表示第i个点的激光雷达线束编号,t
sfc
表示目标激光雷达的单束发射周期,tof表示目标激光雷达的激光脉冲从发射到接收的时间;
[0031]
3.2)根据各个单脉冲的工作时刻计算对应的脉冲序列,接着将各个脉冲序列中的四个序列点相连后,获得对应的连续脉冲信号,由各个单脉冲对应的连续脉冲信号构成目标激光雷达的脉冲控制信号,用于控制目标激光雷达生成与模板点云相同的点云。
[0032]
所述步骤3.2)中每个单脉冲的脉冲序列的计算公式如下:
[0033]
time_ideal(i1,i2,i3,i4)=[-ε,0,ttl,ttl+ε]+timestamp(i)
[0034]
amp_ideal(i1,i2,i3,i4)=[0,1,1,0]
[0035]
其中,time_ideal(i1,i2,i3,i4)表示第i个单脉冲的脉冲序列的时间序列,amp_ideal(i1,i2,i3,i4)表示第i个单脉冲的脉冲序列的幅值序列,i1,i2,i3,i4分别为第i个单脉冲的脉冲序列的上升沿起点、上升沿终点、下降沿起点、下降沿终点,ttl表示脉冲持续时间,ε表示单脉冲上升沿所需时间。
[0036]
本发明的有益效果为:
[0037]
1、根据点云信息反推每个点所处的激光雷达工作时刻,使得每个点都对应一个脉冲信号,最大程度避免了设计信号的遗漏和失真,尽可能真实地模拟真实环境的点云状态。现有技术生成的点云杂乱无章。
[0038]
2、将点云信号设计成按照时间展开的脉冲序列,将复杂的空间三维信息简化,便于处理和分析。
[0039]
3、本发明提供了一种简便的脉冲序列设计方法,每个单脉冲上升和下降的过程都由四个时间点表示,并将幅值用四个点分别表示脉冲的上升沿起点、上升沿终点、下降沿起点、下降沿终点。并与时间点对应,简化了脉冲信号设计思路,同样适用于其他脉冲编码领域。
附图说明
[0040]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
[0041]
图1为激光雷达的工作周期示意图。
[0042]
图2为点云到ttl控制信号的示意图。
[0043]
图3为现实情况下采集的模板点云。图4为本发明的方法流程图。图5为相邻点在工作周期中的三种相对位置示意图。
[0044]
图6为单脉冲的采样示意图。
[0045]
图7为根据模板点云设计的脉冲控制信号。
具体实施方式
[0046]
现在参考附图介绍本发明的示例性实施方式。然而,本发明可以适用许多方面并
不局限于此处描述的实施例,提供该实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。
[0047]
除非另有说明,此处适用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。然而,对于本领域技术人员显而易见的是,可以使用所描述方面的部分来实践一些可替代实施例。出于解释的目的,为提供对说明性实施例的透彻理解,对具体的数字、材料和配置进行阐述。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实现替代的实施例。在其他情况下,为了不对说明性实施例造成混淆,省略或简化了一些公知的特征。
[0048]
本实施例以velodyne公司的16线激光雷达vlp16为例进行介绍,需要说明的是,本发明理论上适用于其他所有机械旋转式激光雷达。在激光雷达建模中,以工作周期和工作激光参数对目标激光雷达进行建模。以vlp16为例,vlp16的工作周期如图1所示,激光雷达的所有线束依次工作完一轮,直到下一轮开始前的这段时间称为一个工作周期(大周期);一个线束工作完,直到下一个线束开始工作的这段时间称为单束发射周期(小周期)。其中单束发射周期内分为接受时间与静默时间,只有在接受时间内收到的光束可以形成有效的点云信息。目前所有的旋转式激光雷达都有其固定的周期。主要针对每一个线束接收到的激光时间来进行设计。
[0049]
如图2所示,控制信号设计是基于原始点云信息来设计脉冲控制信号。结合激光雷达的工作周期,点云中的每一个点都与脉冲控制信号的上升沿一一对应,上升沿的时间坐标在工作周期内的位置代表了点云出现的角度位置,在单束发射周期内的位置代表了对应的距离。
[0050]
步骤一:采集目标激光雷达的模板点云;采集的模板点云的示意图如图3所示,工作周期(大周期)=55.296μs,单束发射周期(小周期)=2.304μs
[0051]
步骤二:如图3所示,对采集获得的模板点云进行数据预处理,获得对应目标激光雷达的激光脉冲从发射到接收的时间、模板点云的激光雷达线束编号信息以及工作周期编号信息;
[0052]
所述步骤二具体为:
[0053]
2.1)将采集获得的模板点云的空间位置坐标信息转换为三维极坐标信息,获得模板点云与目标激光雷达的相对距离信息、模板点云的竖直角度信息和水平角度信息;模板点云与目标激光雷达的相对距离信息为模板点云中各个点与目标激光雷达的相对距离的集合。模板点云的竖直角度信息或者水平角度信息为模板点云中各个点的竖直角度或者水平角度的集合。
[0054]
2.2)根据模板点云与目标激光雷达的相对距离r,计算获得对应目标激光雷达的激光脉冲从发射到接收的时间tof;
[0055]
计算公式如下:
[0056][0057]
其中,c表示光速
[0058]
2.3)由于模板点云中各个点的竖直角度和激光雷达线束编号laser_id的一一对
应关系,因此根据模板点云的竖直角度信息,通过查表获得模板点云的激光雷达线束编号信息;模板点云的激光雷达线束编号信息为中模板点云各个点的激光雷达线束编号的集合;本实施例中,vlp16的对应关系表如图4所示。
[0059]
表1 vlp-16的laser_id与发射点云中的各个点的竖直角度的一一对应关系表
[0060]
angle-15
°1°‑
13
°3°‑
11
°5°‑9°7°‑7°9°‑5°
11
°‑3°
13
°‑1°
15
°
laser_id0123456789101112131415
[0061]
2.4)根据激光雷达的工作周期t
fc
和旋转角速度rpm,计算获得目标激光雷达的水平分辨率δazimuth
full
;其中,rpm(rotation per minute)为激光雷达每分钟旋转速度,对于vlp16而言为rpm可以由用户设置在300~1200之间,但是必须是60的整数倍值。
[0062]
计算公式如下:
[0063][0064]
2.5)根据模板点云的水平角度信息(具体为模板点云中各个点的水平角度)对模板点云进行方位角递增的排序,获得排列好的模板点云,具体实施中,针对相同水平角度的点再进行laser_id递增的排序,可以得到按照水平方位角递增规律变化的点云信息。将排列好的模板点云中第一个点所在的工作周期作为初始工作周期,具体实施中,初始工作周期记为0;
[0065]
2.6)基于目标激光雷达的水平分辨率,根据水平角度信息对排列好的模板点云中各个点进行工作周期编号计算,获得模板点云中各个点的工作周期编号并构成模板点云的工作周期编号信息;
[0066]
所述步骤2.6)具体为:
[0067]
2.6.1)对于排列好的模板点云中的每个点,根据模板点云的水平角度信息中各个点的水平角度,计算当前点与上一个点的水平角度的差值;
[0068]
计算公式如下:
[0069]
δi=azimuth(i)-azimuth(i-1)
[0070]
2.6.2)根据目标激光雷达的水平分辨率,利用以下公式计算当前点与上一个点的工作周期编号的差值:
[0071][0072]
其中,表示排列好的模板点云中第i个点与第i-1个点的工作周期编号的差值,i∈1...n-1,n表示排列好的模板点云的点总数,δi表示排列好的模板点云中第i个点与第i-1个点的水平角度的差值,δazimuth
full
表示目标激光雷达的水平分辨率;fix()表示取整操作;
[0073]
2.6.3)根据当前点与上一个点的工作周期编号的差值以及上一个点的工作周期编号,计算当前点的工作周期编号,如图5的(a)-(c)所示,图5的(a)为两个点处于同一个工作周期;图5的(b)为两个点处于不同工作周期,且当前点的laser_id大于前一点的laser_id;图5的(c)为两个点处于不同工作周期,且当前点的laser_id小于前一点的laser_id;计算公式如下:
[0074][0075]
其中,fullcycle_id(i)和fullcycle_id(i-1)分别表示第i个点与第i-1个点的工作周期编号,laser_id(i)和laser_id(i-1)分别表示第i个点与第i-1个点的激光雷达线束编号;
[0076]
2.6.4)重复2.6.1)-2.6.3)对排列好的模板点云中的剩余点进行处理,获得排列好的模板点云中各个点的工作周期编号并构成发射点云的工作周期编号信息。
[0077]
步骤三:根据目标激光雷达的激光脉冲从发射到接收的时间、模板点云的激光雷达线束编号信息以及工作周期编号信息,设计目标激光雷达的脉冲控制信号,如图7所示,用于控制目标激光雷达生成与模板点云相同的点云。
[0078]
所述步骤三具体为:
[0079]
3.1)根据目标激光雷达的激光脉冲从发射到接收的时间、模板点云的激光雷达线束编号信息以及工作周期编号信息,计算模板点云中各个点对应单脉冲的工作时刻,计算公式如下:
[0080]
timestamp(i)=fullcycle_id(i)*t
fc
+laser_id(i)*t
sfc
+tof
[0081]
其中,timestamp(i)表示模板点云中第i个点对应单脉冲的工作时刻,fullcycle_id(i)表示第i个点的工作周期编号,t
fc
表示目标激光雷达的工作周期,laser_id(i)表示第i个点的激光雷达线束编号,t
sfc
表示目标激光雷达的单束发射周期,tof表示目标激光雷达的激光脉冲从发射到接收的时间;
[0082]
3.2)根据各个单脉冲的工作时刻计算对应的脉冲序列,每个单脉冲的脉冲序列的计算公式如下:
[0083]
time_ideal(i1,i2,i3,i4)=[-ε,0,ttl,ttl+ε]+timestamp(i)
[0084]
amp_ideal(i1,i2,i3,i4)=[0,1,1,0]
[0085]
其中,time_ideal(i1,i2,i3,i4)表示第i个单脉冲的脉冲序列的时间序列,amp_ideal(i1,i2,i3,i4)表示第i个单脉冲的脉冲序列的幅值序列,i1,i2,i3,i4分别为第i个单脉冲的脉冲序列的上升沿起点、上升沿终点、下降沿起点、下降沿终点,ttl表示脉冲持续时间,ε表示单脉冲上升沿所需时间。本实施例中,ttl=10*10-9
s,ε=1*10-18
。
[0086]
接着将各个脉冲序列中的四个序列点(即脉冲序列的上升沿起点、上升沿终点、下降沿起点、下降沿终点)相连后,获得对应的连续脉冲信号,如图6的(a)所示,为了符合实际实验的需要,由各个单脉冲对应的连续脉冲信号构成目标激光雷达的脉冲控制信号,如图7所示。具体实施中,再对目标激光雷达的脉冲控制信号进行采样后,获得对应的离散脉冲控制信号,因为实际实验中采样率往往是有限的,所以最后实际生成的信号和理想的信号会有一定的误差。将目标激光雷达的离散脉冲控制信号传入到搭建好的硬件设备中,由硬件设备发送给目标激光雷达,实现控制目标激光雷达生成与模板点云相同的点云。硬件设备为主要由信号发生器、激光脉冲二极管组成的脉冲控制信号注入装置。
[0087]
理论上,对模板点云的激光雷达线束编号信息以及工作周期编号信息进行设计后,本发明可以在激光雷达中生成符合物理规律的任意形状、任意距离的点云。