一种激光点云的校正方法、装置、终端及存储介质与流程

文档序号:29460420发布日期:2022-04-02 01:08阅读:126来源:国知局
一种激光点云的校正方法、装置、终端及存储介质与流程

1.本发明涉及校正技术领域,尤其涉及一种激光点云的校正方法、装置、终端及存储介质。


背景技术:

2.机械旋转式激光雷达安装在机器人后,激光雷达完成一帧360
°
的扫描需要一定的时间(通常为0.05s至0.2s),若在一帧数据的扫描过程中,机器人发生大幅度的运动,会导致扫描到的点云产生严重的变形,严重影响建图精度。
3.由此,目前需要有一种方案来解决现有技术中的问题。


技术实现要素:

4.有鉴于此,本发明提出一种激光点云的校正方法、装置、终端及存储介质,用以实现激光电云的校正。
5.具体的,本发明提出了以下具体的实施例:
6.本发明实施例提出了一种激光点云的校正方法,包括:
7.获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;
8.针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;
9.基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时间比率;
10.基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;
11.基于所述旋转变化角与所述坐标确定所述激光点的新坐标;
12.将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。
13.在一个具体的实施例中,所述时间比率基于以下公式得到:
[0014][0015]
其中,λ为时间比率;tn为所述激光点的时间戳;tm与t
m-1
分别为与所述激光点相邻的两帧imu数据的时间戳。
[0016]
在一个具体的实施例中,基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角,包括:
[0017]
基于所述时间比率与相邻的两帧imu数据中的欧拉角进行球面差值计算,得到所述激光点的球面差值;
[0018]
基于所述球面差值得到旋转变化角。
[0019]
在一个具体的实施例中,所述球面差值基于以下公式得到:
[0020]qn
=slerp(qm,q
m-1
,λ);
[0021]qn
为球面差值;qm与q
m-1
分别为与所述激光点相邻的两帧imu数据的欧拉角;λ为时间比率;slerp()为球面差值的线性计算函数。
[0022]
在一个具体的实施例中,所述基于所述球面差值得到旋转变化角,包括:
[0023]
基于所述球面差值与当前最新一帧imu数据中的欧拉角进行四元数转换,得到所述激光点的旋转变化角。
[0024]
在一个具体的实施例中,在进行四元数转换时,还得到当前最新一帧imu数据对应的旋转变化角;
[0025]
所述新坐标基于以下公式得到:
[0026][0027]
其中,p'i为所述激光点的新坐标;r0为当前最新一帧imu数据对应的旋转变化角;rn为所述激光点的旋转变化角;pi为所述激光点的点数据中的坐标。
[0028]
本发明实施例还提出了一种激光点云的校正装置,包括:
[0029]
获取模块,用于获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;
[0030]
确定模块,用于针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;
[0031]
时间比率模块,用于基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时间比率;
[0032]
旋转变化角模块,用于基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;
[0033]
新坐标模块,用于基于所述旋转变化角与所述坐标确定所述激光点的新坐标;
[0034]
校正模块,用于将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。
[0035]
在一个具体的实施例中,所述时间比率基于以下公式得到:
[0036][0037]
其中,λ为时间比率;tn为所述激光点的时间戳;tm与t
m-1
分别为与所述激光点相邻的两帧imu数据的时间戳。
[0038]
本发明实施例还提出了一种终端,包括存储器与处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时实现上述的激光点云的校正方法。
[0039]
本发明实施例还提出了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的激光点云的校正方法。
[0040]
以此,本发明实施例提出了一种激光点云的校正方法、装置、终端及存储介质,该方法包括:获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时
间比率;基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;基于所述旋转变化角与所述坐标确定所述激光点的新坐标;将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。本方案基于imu数据对激光点云中的激光点进行校正,具体的先基于时间确定时间比率,再基于时间比率与各帧的欧拉角确定激光点的旋转变化角,并基于旋转变化角确定激光点的新坐标,本方案的处理过程简单,处理效率高,能对激光点云进行及时的校正,满足了目前激光点云快速建图的精度需要。
附图说明
[0041]
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0042]
图1示出了本发明实施例提出的一种激光点云的校正方法的流程示意图;
[0043]
图2示出了本发明实施例提出的一种激光点云的校正方法中激光点与imu数据的示意图;
[0044]
图3示出了本发明实施例提出的一种激光点云的校正装置的结构示意图;
[0045]
图4示出了本发明实施例提出的一种激光点云的校正装置的另一结构示意图。
[0046]
图例说明:
[0047]
201-获取模块;202-确定模块;203-时间比率模块;
[0048]
204-旋转变化角模块;2041-球面差值模块;2042-处理模块;
[0049]
205-新坐标模块;206-校正模块。
具体实施方式
[0050]
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0051]
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0053]
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0054]
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中
被清楚地限定。
[0055]
实施例1
[0056]
本发明实施例1公开了一种激光点云的校正方法,如图1所示,包括以下步骤:
[0057]
步骤s101、获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;
[0058]
具体的,本方案可以应用在扫地机器人上,扫地机器人上设置有惯性测量单元与激光雷达,由此,测量单元与激光雷达不断扫描生成数据,如图2所示,为各帧imu(inertial measurement unit,惯性测量单元)数据以及激光点云中各激光点的点数据;具体的imu数据例如可以是通过陀螺仪不断对激光雷达所在装置(例如扫地机器人)获取到的。
[0059]
步骤s102、针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;
[0060]
仍以图2为例来进行说明,假设当前需要对收到的激光雷达的第n个雷达扫描点(也即激光点)进行畸变校正。如图2所示,激光雷达数据帧开始时刻为t
lidar
,激光雷达采样周期为δt,则该激光点的采样时刻为tn=t
lidar
+(n-1)δt。
[0061]
如图2所示,该激光点的时间戳为tn,相邻两帧imu数据采样的时间戳和旋转角分别为tm,qm,t
m-1
,q
m-1

[0062]
步骤s103、基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时间比率;
[0063]
在一个具体的实施例中,仍以上述为例来进行说明,所述时间比率基于以下公式得到:
[0064][0065]
其中,λ为时间比率;tn为所述激光点的时间戳;tm与t
m-1
分别为与所述激光点相邻的两帧imu数据的时间戳。
[0066]
步骤s104、基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;
[0067]
具体的,在一个实施例中,在确定了时间比率之后,步骤s104中的基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角,包括:基于所述时间比率与相邻的两帧imu数据中的欧拉角进行球面差值计算,得到所述激光点的球面差值;基于所述球面差值得到旋转变化角。
[0068]
其中,所述球面差值基于以下公式得到:
[0069]qn
=slerp(qm,q
m-1
,λ);
[0070]qn
为球面差值;qm与q
m-1
分别为与所述激光点相邻的两帧imu数据的欧拉角;λ为时间比率;slerp()为球面差值的线性计算函数。
[0071]
具体的,slerp()为球面差值的线性计算函数,线性计算函数可以大大降低计算复杂度,提高计算的效率。
[0072]
进一步的,所述基于所述球面差值得到旋转变化角,包括:基于所述球面差值与当前最新一帧imu数据中的欧拉角进行四元数转换,得到所述激光点的旋转变化角。
[0073]
具体的,参见图2,当前最新一帧imu数据中的欧拉角为q0;qn为激光点的球面差值,
由此,可以将q0和qn进行四元数转换,得到所述激光点的旋转变化角rn与当前最新一帧imu数据对应的旋转变化角r0。
[0074]
步骤s105、基于所述旋转变化角与所述坐标确定所述激光点的新坐标;
[0075]
具体的,基于上述步骤,所述新坐标基于以下公式得到:
[0076][0077]
其中,p'i为所述激光点的新坐标;r0为当前最新一帧imu数据对应的旋转变化角;rn为所述激光点的旋转变化角;pi为所述激光点的点数据中的坐标。
[0078]
步骤s106、将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。
[0079]
本方案基于imu数据对激光点云中的激光点进行校正,具体的先基于时间确定时间比率,再基于时间比率与各帧的欧拉角确定激光点的旋转变化角,并基于旋转变化角确定激光点的新坐标,本方案的处理过程简单,处理效率高,能对激光点云进行及时的校正,满足了目前激光点云快速建图的精度需要。
[0080]
实施例2
[0081]
为了对本发明进行进一步的说明,本发明实施例2还公开了一种激光点云的校正装置,如图3所示,包括:
[0082]
获取模块201,用于获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;
[0083]
确定模块202,用于针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;
[0084]
时间比率模块203,用于基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时间比率;
[0085]
旋转变化角模块204,用于基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;
[0086]
新坐标模块205,用于基于所述旋转变化角与所述坐标确定所述激光点的新坐标;
[0087]
校正模块206,用于将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。
[0088]
在一个具体的实施例中,所述时间比率基于以下公式得到:
[0089][0090]
其中,λ为时间比率;tn为所述激光点的时间戳;tm与t
m-1
分别为与所述激光点相邻的两帧imu数据的时间戳。
[0091]
在一个具体的实施例中,如图4所示,所述旋转变化角模块204,包括:
[0092]
球面差值模块2041,用于基于所述时间比率与相邻的两帧imu数据中的欧拉角进行球面差值计算,得到所述激光点的球面差值;
[0093]
处理模块2042,用于基于所述球面差值得到旋转变化角。
[0094]
在一个具体的实施例中,所述球面差值基于以下公式得到:
[0095]qn
=slerp(qm,q
m-1
,λ);
[0096]qn
为球面差值;qm与q
m-1
分别为与所述激光点相邻的两帧imu数据的欧拉角;λ为时间比率;slerp()为球面差值的线性计算函数。
[0097]
在一个具体的实施例中,所述处理模块2042,用于:
[0098]
基于所述球面差值与当前最新一帧imu数据中的欧拉角进行四元数转换,得到所述激光点的旋转变化角。
[0099]
在一个具体的实施例中,所述处理模块2042,还用于在进行四元数转换时,得到当前最新一帧imu数据对应的旋转变化角;
[0100]
所述新坐标基于以下公式得到:
[0101][0102]
其中,p'i为所述激光点的新坐标;r0为当前最新一帧imu数据对应的旋转变化角;rn为所述激光点的旋转变化角;pi为所述激光点的点数据中的坐标。
[0103]
实施例3
[0104]
本发明实施例3还公开了一种终端,包括存储器与处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时实现实施例1中所述的激光点云的校正方法。
[0105]
具体的终端例如可以为扫地机器人。
[0106]
实施例4
[0107]
本发明实施例4还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被执行时实现实施例1中所述的激光点云的校正方法。
[0108]
以此,本发明实施例提出了一种激光点云的校正方法、装置、终端及存储介质,该方法包括:获取各帧imu数据以及激光点云中各激光点的点数据;各帧所述imu数据包括各帧的时间戳与各帧的欧拉角;各激光点的点数据包括时间戳与坐标;针对各所述激光点的时间戳与各帧的时间戳,确定与所述激光点相邻的两帧imu数据;基于所述相邻的两帧imu数据的时间戳与所述激光点的时间戳,确定所述激光点的与所述相邻的两帧imu数据的时间比率;基于所述时间比率与相邻的两帧imu数据中的欧拉角,得到所述激光点的旋转变化角;基于所述旋转变化角与所述坐标确定所述激光点的新坐标;将各所述激光点的新坐标变换至同一时刻的坐标系下,得到校正后的激光点云。本方案基于imu数据对激光点云中的激光点进行校正,具体的先基于时间确定时间比率,再基于时间比率与各帧的欧拉角确定激光点的旋转变化角,并基于旋转变化角确定激光点的新坐标,本方案的处理过程简单,处理效率高,能对激光点云进行及时的校正,满足了目前激光点云快速建图的精度需要。
[0109]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用
的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0110]
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0111]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1