本发明涉及计算机应用技术领域,尤其涉及一种确定激光雷达的安装姿态的方法和装置。
背景技术:
在地图数据采集时,现有的高精地图采集车要使用各类传感器采集相应的数据,所述传感器包括惯导设备(即惯性导航设备)和激光雷达等,其中,惯导设备输出车辆行驶的轨迹,激光雷达使用高速激光在车辆行驶过程对道路环境进行扫描测量,获得道路环境的点云数据。
高精地图采集车开始工作之前,一项重要的工作是标定激光雷达的安装姿态,包括安装位置和安装角度,以保证激光雷达扫描得到的点云密度符合要求。现有技术中,通过人工改变采集车上安装的激光雷达的安装姿态,并记录激光雷达在不同安装姿态下产生的点云数据,进而寻找最佳安装姿态,由于这种方式需要人工参与,一般人工会进行有限次数的姿态改变尝试,这会导致人工标定的最佳安装姿态可能并非是实际最佳,同时也存在效率不高的问题。因此,需要一种能够快速、准确地确定激光雷达的安装姿态的方法。
技术实现要素:
本发明的目的是提供一种确定激光雷达的安装姿态的方法和装置,能够快速获取激光雷达的点云密度,并准确高效地确定激光雷达的安装姿态。
为了达到上述目的,本发明提供了一种确定激光雷达的安装姿态的方法,所述方法包括:
获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线;
响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度;
通过所述点云密度来确定所述目标姿态是否是合适的安装姿态。
进一步地,所述获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线,包括:
根据所述各激光头旋转一周产生的激光射线中的每个点的方位角和各激光头的俯仰角计算所述各激光头旋转一周产生的激光射线中的每个点的三维坐标;
根据所述各激光头旋转一周产生的激光射线中的每个点的三维坐标,获得各激光头在其俯仰角下旋转一周时产生的初始激光射线。
进一步地,所述各激光头旋转一周产生的激光射线中的每个点的方位角通过下述方式获得:
使用各激光头的发射频率和旋转频率计算各激光头旋转一周产生的激光射线中的点的数量;
基于所述各激光头旋转一周产生的激光射线中的点的数量计算各激光头旋转一周产生的激光射线中的每个点的方位角。
进一步地,所述对激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线,包括:
获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵;
使用所述关系矩阵对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线。
进一步地,所述获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵,包括:
基于所述目标姿态下的所述激光雷达的安装角度获得所述目标姿态下的所述激光雷达相对于车辆坐标系的旋转矩阵;
获得所述目标姿态下的所述激光雷达相对于车辆坐标系的平移向量;
基于所述旋转矩阵和平移向量获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵。
本发明还提供了一种确定激光雷达的安装姿态的装置,所述装置包括:初始激光射线获取单元、目标激光射线获取单元、点云密度获取单元和安装姿态确定单元;
所述初始激光射线获取单元,用于获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线;
所述目标激光射线获取单元,用于响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
所述点云密度获取单元,用于获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度;
所述安装姿态确定单元,用于通过所述点云密度来确定所述目标姿态是否是合适的安装姿态。
本发明还提供了一种电子设备,所述设备包括:
存储装置;
一个或多个处理器;
其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本发明还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现如上所述的方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如上所述的方法。
与现有技术相比,本发明提供的一种确定激光雷达的安装姿态的方法和装置,通过对激光雷达的各级光头发射的初始激光射线进行平移和旋转获得在目标姿态下的目标激光射线,获得目标激光射线在设定平面下的点云密度,从而可以基于点云密度来判断目标姿态的设置是否合适,为后续的激光雷达的安装和点云评估等过程提供可靠的理论依据,可以快速应用到实际项目中,提高了项目执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的一种确定激光雷达的安装姿态的方法的流程图。
图2为本发明实施例的激光雷达的各激光头的角度排列示意图。
图3为本发明实施例的仿真激光水平安装的点云示意图。
图4为本发明实施例的仿真激光倾斜40°安装的点云示意图。
图5为本发明实施例的仿真激光扫描到路牌的点云示意图。
图6为本发明实施例二的一种确定激光雷达的安装姿态的装置的结构框图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实 施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。实施例一:
参见图1,本发明的实施例一提供了一种确定激光雷达的安装姿态的方法,所述方法包括如下步骤:
步骤101:获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线。
在初始状态下,所述激光雷达的方向和车辆坐标系的方向一致。
所述激光雷达所发射的激光的每帧点云是激光旋转一周产生的初始激光射线。
所述获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线,具体包括:
(1)计算激光雷达的各激光头即每一线激光旋转一周的点数量m:
其中,v表示激光的发射频率,单位是点/秒,f表示激光的旋转频率,单位是hz。
(2)计算第n个激光头即第n线激光的第m个点的方位角azimuthm:
其中,1≤n≤n,n为所述激光雷达的激光头的数量即所能发射的激光的总线数,0≤m≤m。
(3)根据所述方位角azimuthm和第n个激光头的俯仰角an计算所述第n个激光头的第m个点的三维坐标
x=length×cos(an)×sin(azimuthm);
y=length×cos(an)×cos(azimythm);
z=length×sin(an);
其中,length是激光扫描的最大距离,单位是米。
(4)根据所述三维坐标,获得各激光头在其俯仰角下旋转一周时产生的初始激光射线。
如图2所示,激光雷达的设备参数中,提供了每一线激光的俯仰角,在上述步骤(1)之前,还要预先获得所述激光雷达所有的n线激光的俯仰角集合a:
a={a1,a2,a3,…,an,…,an};
其中,an表示第n个激光头的俯仰角,n表示激光雷达所包含的激光头的数量,也即所述激光雷达所能发射的激光的总线数,如果所述激光雷达的激光头的个数为32,则n=32。
步骤102:响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
所述响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;,具体为:
(1)设置所述激光雷达的目标姿态,以所述激光雷达相对于车辆坐标系的安装角度{roll,pitch,yaw}作为目标姿态。
所述激光雷达相对于车辆坐标系的旋转矩阵为r、所述激光雷达相对于车辆坐标系的平移向量t={tx,ty,tz},其中,tx、ty、tz分别表示激光雷达相对于车辆坐标系在x、y、z轴方向上的平移距离;基于所述激光雷达的安装角度来获得所述激光雷达相对于车辆坐标系的旋转矩阵r。
在所述初始状态下,所述激光雷达的安装角度为{0,0,0},其相对于车辆坐标系的旋转矩阵为单位矩阵r:
本发明中,平移矩阵可以是t={0,0,h},其中,h是所述激光雷达的安装高度,单位是米。
(2)获得所述激光雷达相对于车辆坐标系的关系矩阵m:
(3)使用所述关系矩阵m对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线
根据所述初始状态下激光雷达的各激光头旋转一周的全部理论射线中的点的三维坐标(即上述计算的第n个激光头的第m个点的三维坐标
各激光头在所述目标姿态下产生的目标激光射线中的点的三维坐标的集合形成了各激光头在所述目标姿态下产生的目标激光射线。
步骤103:获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度。
在所述步骤103中,使用设定平面的平面方程表示外部环境,所述平面方程的一般形式为:
ax by cz d=0;
地面方程为:
z=0。
图3、4显示的分别是激光雷达水平安装和倾斜40度安装所获得的点云。
对于一些特殊设定平面的场景,如设定平面中有牌子,需要给出牌子的空间包围体定义。通过原点{0,0,0}和
步骤104:通过所述点云密度来确定所述目标姿态是否是合适的安装姿态。
分析步骤103中产生的点云密度,判断点云密度的细密程度等信息,来判断所设置的目标姿态是否属于合适的安装姿态。
实施例二:
参见图6,本发明的实施例二提供了一种确定激光雷达的安装姿态的装置,所述装置包括:初始激光射线获取单元、目标激光射线获取单元、点云密度获取单元和安装姿态确定单元。
所述初始激光射线获取单元,用于获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线。
在初始状态下,所述激光雷达的方向和车辆坐标系的方向一致。
所述激光雷达所发射的激光的每帧点云是激光旋转一周产生的初始激光射线。
所述获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线,具体包括:
(1)计算激光雷达的各激光头即每一线激光旋转一周的点数量m:
其中,v表示激光的发射频率,单位是点/秒,f表示激光的旋转频率,单位是hz。
(2)计算第n个激光头即第n线激光的第m个点的方位角azimuthm:
其中,1≤n≤n,n为所述激光雷达的激光头的数量即所能发射的激光的总线数,0≤m≤m。
(3)根据所述方位角azimuthm和第n个激光头的俯仰角an计算所述第n个激光头的第m个点的三维坐标
x=length×cos(an)×sin(azimuthm);
y=length=cos(an)×cos(azimuthm);
z=length×sin(an);
其中,length是激光扫描的最大距离,单位是米。
(4)根据所述三维坐标,获得各激光头在其俯仰角下旋转一周时产生的初始激光射线。
如图2所示,激光雷达的设备参数中,提供了每一线激光的俯仰角,在上述步骤(1)之前,还要预先获得所述激光雷达所有的n线激光的俯仰角集合a:
a={a1,a2,a3,…,an,…,an};
其中,an表示第n个激光头的俯仰角,n表示激光雷达所包含的激光头的数量,也即所述激光雷达所能发射的激光的总线数,如果所述激光雷达的激光头的个数为32,则n=32。
所述目标激光射线获取单元,用于响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
所述响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;,具体为:
(1)设置所述激光雷达的目标姿态,以所述激光雷达相对于车辆坐标系的安装角度{roll,pitch,yaw}作为目标姿态。
所述激光雷达相对于车辆坐标系的旋转矩阵为r、所述激光雷达相对于车辆坐标系的平移向量t={tx,ty,tz},其中,tx、ty、tz分别表示激光雷达相对于车辆坐标系在x、y、z轴方向上的平移距离;基于所述激光雷达的安装角度来获得所述激光雷达相对于车辆坐标系的旋转矩阵r。
在所述初始状态下,所述激光雷达的安装角度为{0,0,0},其相对于车辆坐标系的旋转矩阵为单位矩阵r:
本发明中,平移矩阵可以是t={0,0,h},其中,h是所述激光雷达的安装高度,单位是米。
(2)获得所述激光雷达相对于车辆坐标系的关系矩阵m:
(3)使用所述关系矩阵m对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线
根据所述初始状态下激光雷达的各激光头旋转一周的全部理论射线中的点的三维坐标(即上述计算的第n个激光头的第m个点的三维坐标
各激光头在所述目标姿态下产生的目标激光射线中的点的三维坐标的集合形成了各激光头在所述目标姿态下产生的目标激光射线。
所述点云密度获取单元,用于获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度。
使用设定平面的平面方程表示外部环境,所述平面方程的一般形式为:
ax by cz d=0;
地面方程为:
z=0。
对于一些特殊设定平面的场景,如设定平面中有牌子,需要给出牌子的空间包围体定义。通过原点{0,0,0}和
所述安装姿态确定单元,用于通过所述点云密度来确定所述目标姿态是否是合适的安装姿态。
通过判断点云密度的细密程度等信息,来判断所设置的目标姿态是否属于合适的安装姿态。
与现有技术相比,本发明提供的一种确定激光雷达的安装姿态的方法和装置,仅使用激光传感器的参数,构造出激光扫描点坐标的理论方程,适用于任意的安装位置和角度,方便查看三维场景下的点云是否过密或者过稀,从而为设定激光的发射频率和运转频率提供依据,为后续的安装和点云评估等过程提供可靠的理论依据,可以快速应用到实际项目中,提高了项目执行效率。
另外,本发明实施例还公开了一种电子设备,其包括存储装置和一个或多个处理器,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如实施例一的方法。
本发明实施例还公开了一种计算机程序产品,包括计算机程序指令,当指令由处理器执行时,用于实现如实施例一的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如实施例一的方法。
附图中的流程图和框图显示了根据本发明的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个单元、模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明,上述实施例仅是为说明所作的举例,而并非对实施方式的限定。对于本领域技术人员来说,在上述说明的基础上,还可以做出其它不同形式的变化或变动,而这些变化或变动将是显而易见的,处于本发明的保护范围之中。
1.一种确定激光雷达的安装姿态的方法,其中,所述方法包括:
获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线;
响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度,通过点云密度确定所述目标姿态是否是合适的安装姿态。
2.如权利要求1所述的方法,其中,所述获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线,包括:
根据所述各激光头旋转一周产生的激光射线中的每个点的方位角和各激光头的俯仰角计算所述各激光头旋转一周产生的激光射线中的每个点的三维坐标;
根据所述各激光头旋转一周产生的激光射线中的每个点的三维坐标,获得各激光头在其俯仰角下旋转一周时产生的初始激光射线。
3.如权利要求2所述的方法,其中,所述各激光头旋转一周产生的激光射线中的每个点的方位角通过下述方式获得:
使用各激光头的发射频率和旋转频率计算各激光头旋转一周产生的激光射线中的点的数量;
基于所述各激光头旋转一周产生的激光射线中的点的数量计算各激光头旋转一周产生的激光射线中的每个点的方位角。
4.如权利要求1-3之一所述的方法,其中,所述对激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线,包括:
获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵;
使用所述关系矩阵对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线。
5.如权利要求4所述的方法,其中,所述获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵,包括:
基于所述目标姿态下的所述激光雷达的安装角度获得所述目标姿态下的所述激光雷达相对于车辆坐标系的旋转矩阵;
获得所述目标姿态下的所述激光雷达相对于车辆坐标系的平移向量;
基于所述旋转矩阵和平移向量获得所述目标姿态下的所述激光雷达相对于车辆坐标系的关系矩阵。
6.一种确定激光雷达的安装姿态的装置,其中,所述装置包括:初始激光射线获取单元、目标激光射线获取单元、点云密度获取单元和安装姿态确定单元;
所述初始激光射线获取单元,用于获取激光雷达的各激光头在初始姿态下旋转一周时产生的初始激光射线;
所述目标激光射线获取单元,用于响应于所述激光雷达的目标姿态的设置,对所述激光雷达的各激光头的初始激光射线进行平移和旋转,得到所述各激光头在所述目标姿态下产生的目标激光射线;
所述点云密度获取单元,用于获取所述目标激光射线与设定平面的交点,以得到所述激光雷达以所述目标姿态在所述设定平面产生的点云密度;
所述安装姿态确定单元,用于通过所述点云密度来确定所述目标姿态是否是合适的安装姿态。
7.一种电子设备,其中,所述设备包括:
存储装置;
一个或多个处理器;
其中,存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1-5中任一项所述的方法。
技术总结