CN117008096A - 点云运动补偿方法和系统 - Google Patents
点云运动补偿方法和系统 Download PDFInfo
- Publication number
- CN117008096A CN117008096A CN202210469156.9A CN202210469156A CN117008096A CN 117008096 A CN117008096 A CN 117008096A CN 202210469156 A CN202210469156 A CN 202210469156A CN 117008096 A CN117008096 A CN 117008096A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- carrier
- data
- point cloud
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008859 change Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 18
- 238000013519 translation Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 abstract description 10
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910001092 metal group alloy Inorganic materials 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/495—Counter-measures or counter-counter-measures using electronic or electro-optical means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
本说明书提供的点云运动补偿方法和系统,通过设置在目标载体上的速度传感器获取目标载体的速度,以计算目标载体在不同时间戳下相对于目标时间戳下的位姿变换量,从而确定目标时间窗口内不同时间戳下原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,以根据目标位姿补偿数据对原始点云数据进行运动补偿。上述点云运动补偿方法和系统只使用局部位姿,通过计算不同时间戳下的目标位姿补偿数据,即可得到目标时间窗口内的所有原始点云数据的位姿补偿数据,使每帧原始点云数据可以并行计算,有利于提高计算效率和提升运动补偿处理速度,满足自动驾驶等场景的高实时性要求。
Description
技术领域
本说明书涉及激光雷达技术领域,尤其涉及一种点云运动补偿方法和系统。
背景技术
激光雷达作为一种通过自身发出激光束感知周围环境的主动传感器,主要应用于自动驾驶汽车环境感知、机器人环境感知、无人机测绘等领域。点云畸变是由于激光雷达采集数据的过程中,激光雷达的载体相对周边物体运动产生的。随着激光雷达的载体运动,激光雷达坐标系不断发生变化,导致同一帧点云中的点不在同一个坐标系下而产生运动畸变,从而不能真实反映某一个时刻激光雷达周围的环境。因此,当激光雷达所被搭载的对象例如自动驾驶汽车处于运动状态时,需要针对点云进行运动补偿以消除运动产生的畸变问题。
发明内容
本说明书提供的一种点云运动补偿方法和系统,只使用局部位姿,每帧点云数据可以并行计算,有利于提高计算效率和提升运动补偿处理速度,可以满足自动驾驶等场景的实时性要求。
第一方面,本说明书提供一种点云运动补偿方法,包括对设置于可移动目标载体上的激光雷达所采集的每帧原始点云数据执行:获取所述原始点云数据;获取所述目标载体在所述原始点云数据对应的目标时间窗口内的载体速度;基于所述载体速度,确定不同时间戳下所述原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,所述基准坐标系包括目标时间戳下的所述激光雷达坐标系,所述目标时间戳位于所述目标时间窗口内;以及基于所述目标位姿补偿数据,将所述原始点云数据转换至所述基准坐标系下,得到目标点云数据。
在一些实施例中,所述基于所述载体速度,确定不同时间戳下所述原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,包括:基于所述载体速度,确定不同时间戳下所述目标载体的载体坐标系相对于第一坐标系的第二位姿数据,所述第一坐标系包括所述目标时间戳下的所述载体坐标系;以及基于所述第二位姿数据以及所述基准坐标系相对于所述第一坐标系的第一位姿数据,确定所述目标位姿补偿数据。
在一些实施例中,所述原始点云数据包括所述目标时间窗口内的N组点云数据及其对应的N个第一时间戳,其中,所述N为大于1的整数。
在一些实施例中,所述N个第一时间戳至少包括所述目标时间窗口起始时的帧头第一时间戳和所述目标时间窗口结束时的帧尾第一时间戳,所述目标时间戳包括所述帧头第一时间戳和所述帧尾第一时间戳中的一个。
在一些实施例中,所述获取所述目标载体在所述原始点云数据对应的目标时间窗口内的载体速度,包括:基于所述目标载体的速度传感器,获取所述目标载体在所述目标时间窗口内的M个载体速度及其对应的M个第二时间戳,所述M为正整数。
在一些实施例中,所述速度传感器包括线速度传感器和角速度传感器,所述载体速度包括载体线速度和载体角速度。
在一些实施例中,所述基于所述载体速度,确定不同时间戳下所述目标载体的载体坐标系相对于第一坐标系的第二位姿数据,包括:基于所述M个载体速度,确定所述M个第二时间戳下,所述载体坐标系相对于所述第一坐标系的M个第二位姿数据。
在一些实施例中,所述基于所述M个载体速度,确定所述M个第二时间戳下,所述载体坐标系相对于所述第一坐标系的M个第二位姿数据,包括对所述M个第二时间戳中的每个第二时间戳:基于当前第二时间戳对应的所述载体速度,确定下一个第二时间戳下的所述载体坐标系相对于所述当前第二时间戳下的所述载体坐标系的第二位姿变化数据;以及将所述第二位姿变化数据与所述当前第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据叠加,确定所述下一个第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据。
在一些实施例中,所述基于所述第二位姿数据以及所述基准坐标系相对于所述第一坐标系的第一位姿数据,确定所述目标位姿补偿数据,包括:基于所述M个第二位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述第一坐标系的N个第二位姿数据;基于所述N个第二位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述基准坐标系的N个第三位姿数据;以及基于所述N个第三位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述激光雷达坐标系相对于所述基准坐标系的N个目标位姿补偿数据。
在一些实施例中,所述基于所述M个第二位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述第一坐标系的N个第二位姿数据,包括对所述N个第一时间戳中的每个第一时间戳:基于与当前第一时间戳相邻的上一个第二时间戳对应的所述载体速度,确定所述当前第一时间戳下的所述载体坐标系相对于所述相邻的上一个第二时间戳下的所述载体坐标系的第二位姿变化数据;以及将所述第二位姿变化数据与所述相邻的上一个第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据叠加,确定所述当前第一时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据。
在一些实施例中,所述基于所述N个第二位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述基准坐标系的N个第三位姿数据,包括对所述目标时间窗口内的每个第一时间戳:将当前第一时间戳下的第二位姿数据与所述第一坐标系相对于所述基准坐标系的第四位姿数据叠加,确定所述当前第一时间戳下,所述载体坐标系相对于所述基准坐标系的第三位姿数据。
在一些实施例中,所述目标位姿补偿数据包括旋转补偿数据和平移补偿数据,所述旋转补偿数据采用四元数表示。
第二方面,本说明书还提供一种点云运动补偿系统,对设置在可移动的目标载体上的激光雷达所采集的原始点云数据进行运动补偿,所述点云运动补偿系统包括速度传感器以及计算设备,所述速度传感器安装在所述目标载体上,工作时检测所述目标载体的载体速度;所述计算设备与所述速度传感器以及所述激光雷达通信连接,工作时从所述速度传感器中获取所述载体速度,并从所述激光雷达中获取所述原始点云数据,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一个指令集,用于对所述原始点云数据进行点云运动补偿;所述至少一个处理器同所述至少一个存储介质通信连接,当所述点云运动补偿系统运行时,所述至少一个处理器读取所述至少一个指令集并实施本说明书第一方面所述的点云运动补偿方法。
由以上技术方案可知,本说明书提供的点云运动补偿方法和系统,通过搭载在目标载体上的速度传感器获取目标载体的速度,以计算目标载体在不同时间戳下相对于目标时间戳下的位姿变换量,从而确定不同时间戳下的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,以根据目标位姿补偿数据对原始点云数据进行运动补偿。本说明书提供的激光雷达的点云运动补偿方法和系统,能够使用运动补偿算法解决点云畸变问题,将原始点云数据中的不同时间戳下的点云数据运动补偿至目标时间戳下的激光雷达坐标系。因此,所述点云运动补偿方法和系统只需基于局部位姿数据,便可以计算不同时间戳下的目标位姿补偿数据,从而得到同一目标时间窗口内的所有点云数据的位姿补偿数据,使每帧点云数据可以并行计算,有利于提高计算效率和提升运动补偿处理速度,满足自动驾驶等场景的高实时性要求。
本说明书提供的点云运动补偿方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的点云运动补偿方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A示出了根据本说明书的一些实施例提供的静止场景下的点云示意图;
图1B示出了根据本说明书的一些实施例提供的运动场景下的点云畸变示意图;
图2示出了根据本说明书的一些实施例提供的点云运动补偿系统的应用场景示意图;
图3示出了根据本说明书的一些实施例提供的计算设备的示例性硬件示意图;
图4示出了根据本说明书的一些实施例提供的点云运动补偿方法的示例性流程图;
图5示出了根据本说明书的一些实施例提供的四元数空间描述的示意图;
图6示出了根据本说明书的一些实施例提供的确定目标位姿补偿数据的方法的示例性流程图;
图7示出了根据本说明书的一些实施例提供的确定第一时间戳下的第二位姿数据的方法的示例性流程图;以及
图8示出了根据本说明书的一些实施例提供的另一种确定目标位姿补偿数据的方法的示例性流程图。
具体实施方式
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
图1A示出了根据本说明书的一些实施例提供的静止场景下的点云示意图;图1B示出了根据本说明书的一些实施例提供的运动场景下的点云畸变示意图。如图1A所示,在静止的场景中,即激光雷达载体本身静止且环境中没有运动物体。此时,激光雷达的起始位置和结束位置均为位置1,激光雷达扫描起始点和扫描终止点均为位置2。因此,激光雷达采集到的一帧点云数据没有畸变,激光束打到地面上形成一个闭合的圆形。
如图1B所示,在运动场景中,即激光雷达载体运动或者环境中存在运动物体。此时,激光雷达的数据采集需要一个时间段,在激光雷达扫描期间,激光雷达载体会带动激光雷达同时以速度v向箭头所示的方向运动,进而导致点云数据所在的激光雷达坐标系的刚体变换。此时,激光雷达采集到的一帧点云数据起始点时的雷达起始位置3和采集一帧点云数据终止点时的雷达终止位置4出现了位移。而在采集过程中激光雷达一直在移动而导致数据滞后,使得激光雷达扫描起始点5和扫描终止点6发生偏差。因此,激光雷达采集到的点云数据有畸变现象。激光雷达相对周围环境运动,三维环境信息拉伸畸变,而不能真实反映某一个时刻激光雷达周围的环境。因此,当激光雷达所被搭载的对象(例如自动驾驶汽车)处于运动状态时,需要针对点云进行运动补偿以消除运动产生的畸变问题。
图2是根据本说明书一些实施例所示的点云运动补偿系统001(以下简称系统001)的应用场景示意图。如图2所示,系统001可以包括目标载体100、激光雷达200、速度传感器300以及计算设备600。
目标载体100可以是任意形式的可移动的物体。比如,目标载体100可以是行驶的汽车,也可以是可以移动的机械臂,还可以是其他可移动的物体,比如,扫地机器人、无人机,等等。为了方便描述,我们将以目标载体100是汽车,系统001应用在自动驾驶汽车的场景为例进行展示。本领域技术人员应当明白,目标载体100是其他形式的可移动物体也在本说明书的保护范围内。
激光雷达200由激光发射器、探测器和信息处理系统等组成。激光雷达200在工作时可以向外发射激光信号,并接收目标反射的回波信号,从而生成点云数据。一帧点云数据中包括多个激光点数据,每个点都包括X、Y、Z三维坐标信息,X、Y、Z三维坐标信息所在的坐标系是激光雷达200所在的激光雷达坐标系OL-XLYLZL。
激光雷达200可以设置在目标载体100上,并在目标载体100移动时,随着目标载体100一起移动。激光雷达200可以设置在目标载体100的任意位置。在一些实施例中,目标载体100上可以设置一个或多个激光雷达100。图2所示的实施例中,目标载体100上设置了一个激光雷达200。在一些实施例中,激光雷达200与目标载体100的相对位置固定。即同一时刻下,激光雷达200所在的激光雷达坐标系OL-XLYLZL相对于目标载体100所在的载体坐标系OC-XCYCZC固定。系统001中可以预先存储有激光雷达坐标系OL-XLYLZL相对于载体坐标系OC-XCYCZC的标定参数。关于激光雷达坐标系OL-XLYLZL相对于载体坐标系OC-XCYCZC的标定参数将在后面的描述中详细介绍。为了方便描述,我们将相同时间戳下,激光雷达坐标系OL-XLYLZL相对于载体坐标系OC-XCYCZC的标定参数定义为第一位姿数据。
速度传感器300可以安装在目标载体100上。速度传感器300工作时可以检测目标载体100的载体速度。在一些实施例中,系统001可以基于目标载体100在不同时刻下的载体速度,计算目标载体100的位姿数据。所述位姿数据可以包括位移数据和姿态数据。在一些实施例中,目标载体100可以进行线性移动,此时,速度传感器300可以包括线速度传感器,以检测目标载体100的载体线速度。在一些实施例中,所述线速度传感器可以是单轴线速度传感器,也可以是多轴线速度传感器,等等。在一些实施例中,目标载体100可以进行转动,此时,速度传感器300可以包括角速度传感器,以检测目标载体100的载体角速度。所述角速度传感器可以是惯性测量单元,比如陀螺仪、加速度传感器、磁力传感器,等等。在一些实施例中,所述角速度传感器可以是单轴角速度传感器,也可以是多轴角速度传感器,等等。在一些实施例中,所述角速度传感器可以是欧拉角速度传感器,以测量欧拉角速度。为了方便展示,本说明书将以载体角速度为欧拉角速度为例进行描述。本领域技术人员应当明白,其他任意类型的角速度都在本说明书的保护范围内。在一些实施例中,所述载体角速度可以是RPY的欧拉角速度,即绕惯性坐标系依次绕X轴(roll角),Y轴(pitch角),Z轴(yaw角)进行旋转。在一些实施例中,所述载体角速度可以是XYZ的欧拉角速度,即绕刚体固连坐标系依次绕Z轴(yaw角),旋转后的Y’轴(pitch角),两次旋转后的X”轴(roll)角进行旋转。为了方便描述,我们将以所述载体角速度可以是RPY的欧拉角速度为例进行展示。
速度传感器300可以搭载在目标载体100上,并在目标载体100移动时,随着目标载体100一起移动。速度传感器300可以搭载在目标载体100的任意位置。在一些实施例中,速度传感器300与目标载体100的相对位置固定。即同一时刻下,速度传感器300所在的传感器坐标系相对于目标载体100所在的载体坐标系OC-XCYCZC固定。速度传感器300所测量的载体速度是传感器坐标系OS-XSYSZS下的载体速度。系统001中可以预先存储有传感器坐标系相对于载体坐标系OC-XCYCZC的标定参数,标定参数包括标定平移和标定旋转。系统001可以基于传感器坐标系相对于载体坐标系OC-XCYCZC的标定参数,将速度传感器300测量的载体速度转换至载体坐标系OC-XCYCZC下的载体速度。为了方便描述,我们将目标载体100的载体速度定义为载体坐标系OC-XCYCZC下的载体速度。
计算设备600可以存储有执行本说明书描述的点云运动补偿方法的数据或指令,并可以执行或用于执行所述数据和/或指令。计算设备600可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。当然,计算设备600也可以仅为具有数据处理能力的硬件设备,或者,仅为运行在硬件设备中的程序。计算设备600运行时可以与速度传感器300以及激光雷达200通信连接。计算设备600工作时可以从速度传感器300中获取目标载体100的所述载体速度,并从激光雷达200中获取原始点云数据,并基于本说明书描述的点云运动补偿方法对所述原始点云数据进行运动补偿,以消除目标载体100运动所产生的点云畸变问题。在一些实施例中,计算设备600可以安装在目标载体100上,比如,安装在目标载体100的内部或外部。
所述通信连接是指能够直接地或者间接地接收信息的任何形式的连接。在一些实施例中,计算设备600可以同速度传感器300以及激光雷达200通过无线通信连接来彼此传递数据;在一些实施例中,计算设备600也可以同速度传感器300以及激光雷达200通过电线直接连接来彼此传递数据;在一些实施例中,计算设备600也可以通过电线同其他电路直接连接来建立同速度传感器300以及激光雷达200的间接连接,从而实现彼此传递数据。所述无线通信连接可以是网络连接,蓝牙连接,NFC连接,等等。
在一些实施例中,计算设备600可以是本地的或者远程的。在一些实施例中,计算设备600可以在云平台上执行。在一些实施例中,计算设备600可以通过网络访问速度传感器300以及激光雷达200中的数据。在一些实施例中,计算设备600可以直接与速度传感器300以及激光雷达200连接以访问其中的数据。
在一些实施例中,计算设备600可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。
图3示出了根据本说明书的一些实施例提供的计算设备600的示例性硬件示意图。如图3所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。在一些实施例中,计算设备600还可以包括I/O组件660。
内部通信总线610可以连接不同的系统组件,实现各组件间的数据通信,包括存储介质630、处理器620、通信端口650以及I/O组件660。例如,处理器620可以通过内部通信总线610将数据发送到存储介质630或I/O组件660等其它硬件中。在一些实施例中,内部通信总线610可以为控制器局域网络(CAN)总线、工业标准(ISA)总线、扩展工业标准(EISA)总线、视频电子标准(VESA)总线、外部部件互联标准(PCI)总线等。
I/O组件660可以用于输入或输出信号、数据或信息。I/O组件660支持计算设备600和其他组件之间的输入/输出。在一些实施例中,I/O组件660可以包括输入装置和输出装置。示例性输入装置可以包括摄像头、键盘、鼠标、显示屏和麦克风等,或其任意组合。示例性输出装置可以包括显示装置、语音播放装置(比如,扬声器等等)、打印机、投影仪等或其任意组合。示例性显示装置可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面显示器、电视设备、阴极射线管(CRT)等或其任意组合。
通信端口650可以使计算设备600同外界的数据通信,比如同速度传感器300和激光雷达200的数据通信。所述连接可以是有线连接、无线连接或两者的组合。有线连接可以包括电缆、光缆或电话线等或其任意组合。无线连接可以包括蓝牙、Wi-Fi、WiMax、WLAN、ZigBee、移动网络(例如,3G、4G或5G等)等或其任意组合。在一些实施例中,通信端口650可以是标准化端口,如RS232、RS485等。在一些实施例中,通信端口650可以是专门设计的端口。
存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(ROM)634或随机存取存储介质(RAM)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述至少一个指令集用于对点云数据进行运动补偿方法。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的点云运动补偿方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书提供的点云运动补偿方法。处理器620可以执行点云运动补偿方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中央处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图4示出了根据本说明书的一些实施例提供的点云运动补偿方法P100的示例性流程图。如前所述,系统001可以执行本说明书所述的点云运动补偿方法P100。具体地,计算设备600上中的处理器620可以读取存储在其本地存储介质中的指令集,然后根据所述指令集的规定,执行本说明书所述的点云运动补偿方法P100。计算设备600可以对激光雷达200中的每一帧原始点云数据执行所述的点云运动补偿方法P100。如图4所示,计算设备600在对每帧原始点云数据执行所述点云运动补偿方法P100时,所述方法P100可以包括:
S120:获取所述原始点云数据。
计算设备600可以从激光雷达200中获取所述原始点云数据。所述原始点云数据可以是激光雷达200接收到的回波信号生成的点云数据。即未经过XYZ解算和运动补偿的原始雷达单帧点云数据。计算设备600可以对所述原始点云数据进行解算,得到未经过运动补偿的单帧点云XYZ数据。一帧原始点云数据中包括多个激光点数据,每个点包括X、Y、Z三维坐标信息,激光点中的X、Y、Z三维坐标信息所在的坐标系是激光点对应的时刻下激光雷达200所在的激光雷达坐标系OL-XLYLZL。为了方便描述,我们将原始点云数据中的X、Y、Z三维坐标信息标记为[x0,y0,z0]T。
如前所述,一帧原始点云数据的采集需要经历一个时间段。为了方便描述,我们将一帧原始点云数据对应的时间段定义为目标时间窗口。所述目标时间窗口的长度还可以是任意长度,并可以根据使用需求进行适应性修改和调整。比如,所述目标时间窗口的长度可以是200ms、500ms、800ms、1000ms,甚至可以更长,本说明书对此不作限定。
在一些实施例中,在步骤S120中,计算设备600在从激光雷达200中获取所述原始点云数据时,还可以获取所述原始点云数据中的每个点所对应的时间戳。同一个时间戳下可以存在多个点数据。当目标载体100处于运动场景中时,在所述原始点云数据中,在所述目标时间窗口内的不同时间戳下的点云数据中的XYZ数据所在的激光雷达坐标系OL-XLYLZL可能是不同的。所述方法P100可以将不同时间戳下的点云数据中的XYZ数据转换至同一个激光雷达坐标系下。
在一些实施例中,在步骤S120中,计算设备600还可以基于点云数据对应的时间戳,将所述目标时间窗口内的所述原始点云数据划分为N组点云数据。所述N组点云数据对应N个不同的第一时间戳。每一组点云数据中包括其对应的第一时间戳下的多个激光点数据。其中,所述N为大于1的整数。N可以为大于1的任意整数,比如,2、3、4、5,甚至更多。为了方便描述,我们将N个第一时间戳分别定义为其中,i=1,2,…,N。在一些实施例中,N个第一时间戳可以均匀分布在所述目标时间窗口内。在一些实施例中,N个第一时间戳可以非均匀地分布在所述目标时间窗口内。在一些实施例中,相邻的第一时间戳之间的时间间隔可以是任意数。在一些实施例中,相邻的第一时间戳之间的时间间隔可以基于运动补偿的精度设定。相邻的第一时间戳之间的时间间隔越小,运动补偿的精度越高。在一些实施例中,相邻的第一时间戳之间的时间间隔可以基于实时性要求设定。相邻的第一时间戳之间的时间间隔越大,运动补偿的计算速度越快,实时性越好。
在一些实施例中,N个第一时间戳至少可以包括所述目标时间窗口起始时的帧头第一时间戳和所述目标时间窗口结束时的帧尾第一时间戳。为了方便描述,我们将所述帧头第一时间戳定义为将所述帧尾第一时间戳定义为/>帧头第一时间戳/>下的点云数据为帧头点云数据。帧尾第一时间戳/>下的点云数据为帧尾点云数据。帧头点云数据所在的激光雷达坐标系为帧头激光雷达坐标系/>帧尾点云数据所在的激光雷达坐标系为帧尾激光雷达坐标系/>第一时间戳/>下的点云数据所在的激光雷达坐标系为/>
如图4所示,所述方法P100还可以包括:
S140:获取目标载体100在所述原始点云数据对应的目标时间窗口内的载体速度。
如前所述,速度传感器300可以测量目标载体100的载体速度。计算设备600可以从速度传感器300中获取带有时间戳的载体速度。在一些实施例中,计算设备600可以实时从速度传感器300中获取所述载体速度,也可以定时从速度传感器300中获取所述载体速度。速度传感器300的检测频率可以根据实际情况进行配置。
为了方便描述,我们将以速度传感器300包括线速度传感器和角速度传感器为例进行描述。也就是说,计算设备600可以从速度传感器300中获取目标载体100在所述目标时间窗口内的带有时间戳的载体线速度和载体角速度。为了方便描述,我们将载体线速度定义为v,将载体角速度定义为ω。
步骤S140可以包括:基于目标载体100的速度传感器300,获取目标载体100在所述目标时间窗口内的M个载体速度及其对应的M个第二时间戳,所述M为正整数。M可以基于速度传感器300的检测频率确定。所述N个第一时间戳和所述M个第二时间戳可以相同,也可以不同。相邻的第一时间戳之间的时间间隔可以大于相邻的第二时间戳之间的时间间隔,也可以小于相邻的第二时间戳之间的时间间隔。为了方便描述,我们将M个第二时间戳分别定义为其中,j=1,2,…,M。为了方便描述,我们将第二时间戳/>下的目标载体100所在的载体坐标系标记为/>为了方便描述,我们将所述目标时间窗口内的M个载体线速度定义为v1、v2、…、vj、…、vM。在一些实施例中,载体线速度可以是三轴线速度。此时,载体线速度vj可以表示为vj=[vjx,vjy,vjz]T。当目标载体100为汽车时,我们认为目标载体100的载体线速度vj的方向为目标载体100所在的载体坐标系中的/>轴的方向。此时,载体线速度vj可以表示为vj=[vjx,0,0]T。为了方便描述,我们将所述目标时间窗口内的M个载体角速度定义为ω1、ω2、…、ωj、…、ωM。在一些实施例中,载体角速度可以是欧拉角速度。此时,载体角速度ωj可以表示为ωj=[ωjx,ωjy,ωjz]T,分表表示目标载体100依次绕自身的载体坐标系/>的/>轴、/>轴、/>轴的roll角、pitch角、yaw角。
由于载体线速度和载体角速度的实时输入可能并不同步。在获取目标时间戳下的载体速度时采取“先到先更新”原则,记录最新的信号输入。如图4所示,所述方法P100还可以包括:
S160:基于所述载体速度,确定不同时间戳下所述原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据。
所述基准坐标系可以包括在目标时间戳下的激光雷达坐标系。其中,所述目标时间戳位于所述目标时间窗口内。所述目标时间戳可以是所述目标时间窗口内的任意一个时间戳。比如,所述目标时间戳可以是N个第一时间戳中的任意一个第一时间戳在一些实施例中,为了方便后续对所述点云数据的处理和计算,我们可以将一帧原始点云数据转换至帧尾第一时间戳/>对应的帧尾激光雷达坐标系/>也可以将一帧原始点云数据转换至帧头第一时间戳/>对应的帧头激光雷达坐标系/>所述目标时间戳可以包括所述帧头第一时间戳/>和所述帧尾第一时间戳/>中的一个。所述基准坐标系可以包括所述帧头点云数据所在的帧头激光雷达坐标系/>和所述帧尾点云数据所在的帧尾激光雷达坐标系/>中的一个。为了方便展示,后面的描述中我们将以基准坐标系为帧尾激光雷达坐标系/>为例进行描述。本领域技术人员应当明白,基准坐标系为目标时间窗口内的任意一个第一时间戳/>下的激光雷达坐标系/>都在本说明书的保护范围内。
在一些实施例中,步骤S160可以基于目标载体100的载体速度,计算目标载体100在目标时间窗口内的载体坐标系的位姿变化,并基于载体坐标系与激光雷达坐标系之间的标定参数,确定激光雷达200在目标时间窗口内的激光雷达坐标系的位姿变化,从而确定所述目标位姿补偿数据。在一些实施例中,步骤S160可以基于载体坐标系与激光雷达坐标系之间的标定参数,将目标载体100在载体坐标系下的载体速度转换至激光雷达坐标系下的雷达速度,并计算激光雷达200在目标时间窗口内的激光雷达坐标系的位姿变化,从而确定所述目标位姿补偿数据。在一些实施例中,由于同一个时间戳下激光雷达坐标系与载体坐标系的相对位姿固定,因此,步骤S160可以基于载体坐标系的位姿变化确定激光雷达坐标系的位姿变化。
如前所述,位姿数据可以包括运动坐标系相对于参考坐标系的平移数据和旋转数据。所述平移数据可以用平移矩阵T=[Tx,Ty,Tz]T表示。Tx为运动坐标系原点在参考坐标系的x轴方向的位移,Ty为运动坐标系原点在参考坐标系的y轴方向的位移,Tz为运动坐标系原点在参考坐标系的z轴方向的位移。所述旋转数据可以有多种表示方法,例如,旋转矩阵、欧拉角旋转矩阵、四元数,等等。为了避免欧拉角万向锁问题以及保证计算简便和精确度,我们以旋转数据为四元数为例进行描述。本领域技术人员应当明白旋转矩阵为其他形式也在本说明书的保护范围内。所述目标位姿补偿数据可以包括在不同时间戳下,所述激光雷达坐标系相对于基准坐标系的旋转补偿数据和平移补偿数据,旋转补偿数据可以采用四元数表示。
图5示出了一种四元数空间描述的示意图。如图5所示,运动坐标系为O-X’Y’Z’,参考坐标系为O-XYZ。矢量为运动坐标系为O-X’Y’Z’相对于参考坐标系为O-XYZ的旋转轴。α、β、γ分别为旋转轴/>与参考坐标系O-XYZ中X轴、Y轴和Z轴的夹角,定义了旋转轴/>的方向。cosα、cosβ、cosγ分别为旋转轴/>相对于参考坐标系O-XYZ中X轴、Y轴和Z轴的方向余弦。四元数的参数是时间的函数。四元数可以表示为其中,/>为运动坐标系O-X’Y’Z’相对于参考坐标系O-XYZ绕旋转轴/>的旋转角度。/>分别为旋转轴/>相对于参考坐标系O-XYZ中X轴、Y轴和Z轴的方向余弦。四元数分量满足q1 2+q2 2+q3 2+q4 2=1。
图6示出了根据本说明书的一些实施例提供的确定目标位姿补偿数据的方法的示例性流程图。图6示出的是步骤S160。如图6所示,步骤S160可以包括:
S162:基于所述载体速度,确定不同时间戳下目标载体100的所述载体坐标系相对于第一坐标系的第二位姿数据。
所述第一坐标系可以是目标时间戳下的载体坐标系。如前所述,以目标时间戳为帧尾第一时间戳为例进行描述。所述第一坐标系可以是在帧尾第一时间戳/>下的目标载体100所在的载体坐标系。为了方便描述,我们将第一坐标系标记为/>
具体地,步骤S162可以包括:基于所述M个载体速度(v1、v2、…、vj、…、vM以及ω2、…、ωj、…、ωM),确定所述M个第二时间戳下,载体坐标系相对于第一坐标系/>的M个第二位姿数据。由于第一坐标系/>为帧尾第一时间戳/>下的载体坐标系,因此,计算M个第二时间戳/> 下的M个第二位姿数据,可以从帧尾第一时间戳/>向帧头第一时间戳/>的方向计算。即步骤S162中,可以根据M个第二时间戳/> 距离帧尾第一时间戳/>的时间距离,由近到远进行计算。即M个第二时间戳/> 中可以依次计算具体地,步骤S162可以基于上一时刻的第二位姿数据以及上一时刻的载体速度得到下一时刻的第二位姿数据,从而通过每一时刻的载体速度依次计算得到每一时刻的载体坐标系相对于第一坐标系/>的第二位姿数据。帧尾第一时间戳/>下,载体坐标系即第一坐标系/>因此,帧尾第一时间戳/>下,载体坐标系相对于第一坐标系/>的第二位姿数据可以表示为四元数/>平移矩阵/>
由于速度传感器300获取载体速度的周期较短,可近似认为目标载体100在相邻第二时间戳之间的位姿的变化在平移与旋转方面都是匀速变化的。具体地,步骤S162可以包括对所述M个第二时间戳中的每个第二时间戳/>执行:基于当前第二时间戳/>对应的载体速度(vj+1、ωj+1),确定下一个第二时间戳/>下的载体坐标系相对于当前第二时间戳/>下的载体坐标系/> 的第二位姿变化数据/>将第二位姿变化数据/>与当前第二时间戳/>下的载体坐标系/>相对于第一坐标系/>的第二位姿数据/>叠加,确定下一个第二时间戳/>下的载体坐标系/>相对于第一坐标系的第二位姿数据/>
其中,第二位姿变化数据可以表示为以下公式:
其中,
第二位姿数据可以表示为以下公式:
/>
如图6所示,步骤S160还可以包括:
S164:基于第二位姿数据以及基准坐标系/>相对于第一坐标系/>的第一位姿数据,确定所述目标位姿补偿数据。
如前所述,所述第一位姿数据为同一时间戳下激光雷达坐标系OL-XLYLZL相对于载体坐标系OC-XCYCZC的标定参数。为了方便展示,我们将第一位姿数据标记为四元数QL,C和平移矩阵TL,C。计算设备600中预先存储有所述第一位姿数据QL,C,TL,C。具体地,步骤S164可以包括:
S164-2:基于所述M个第二位姿数据确定所述N个第一时间戳/> 下,所述载体坐标系/>相对于所述第一坐标系/>的N个第二位姿数据/>
在一些实施例中,相邻的第二时间戳下可能存在一个或多个第一时间戳。在计算第一时间戳下的载体坐标系相对于所述第一坐标系的第二位姿数据时,可以基于与所述第一时间戳相邻的上一个第二时间戳进行计算。图7示出了根据本说明书的一些实施例提供的确定第一时间戳下的第二位姿数据的方法的示例性流程图。图7示出了步骤S164-2。如图7所示,具体地,步骤S164-2可以包括对所述N个第一时间戳/> 中的每个第一时间戳/>执行:
S164-22:基于与当前第一时间戳相邻的上一个第二时间戳(假设为/>)对应的载体速度(vj、ωj),确定当前第一时间戳/>下的载体坐标系/>相对于所述相邻的上一个第二时间戳/>下的载体坐标系/>的第二位姿变化数据;以及
S164-24:将所述第二位姿变化数据与所述相邻的上一个第二时间戳下的载体坐标系/>相对于第一坐标系/>的第二位姿数据/>叠加,确定当前第一时间戳/>下的载体坐标系/>相对于第一坐标系/>的第二位姿数据/>所述第二位姿变化数据的计算方法与前述第二位姿变化数据的计算方法相似,在此不再赘述。
S164-4:基于所述N个第二位姿数据以及所述第一位姿数据QL,C,TL,C,确定所述N个第一时间戳/>下,所述载体坐标系/>相对于所述基准坐标系/>的N个第三位姿数据/>
具体地,步骤S164-4可以包括对N个第一时间戳中的每个第一时间戳/>执行:将当前第一时间戳/>下的第二位姿数据/>与所述第一坐标系相对于所述基准坐标系/>的第四位姿数据叠加,确定所述当前第一时间戳/>下,所述载体坐标系/>相对于所述基准坐标系/> 的第三位姿数据/>第一位姿数据QL,C、TL,C的逆矩阵即为所述第四位姿数据。所述第四位姿数据为载体坐标系OC-XCYCZC相对于激光雷达坐标系OL-XLYLZL的标定参数,表示为Qc,L、TC,L。其中,Qc,L=QL,c -1,TC,L=--QL,C -1·TL,C。
第三位姿数据可以表示为以下公式:
S164-6:基于所述N个第三位姿数据以及所述第一位姿数据QL,C、TL,C,确定所述N个第一时间戳/>下,所述激光雷达坐标系/>相对于所述基准坐标系/>的N个目标位姿补偿数据Qi、Ti。
具体的,步骤S164-6可以包括对所述目标时间窗口中的每个第一时间戳执行:将当前第一时间戳/>下的第三位姿数据/>与第一位姿数据QL,C、TL,C叠加,确定当前第一时间戳/>下的激光激光雷达坐标系/>相对于基准坐标系/>的目标位姿补偿数据Qi、Ti。
目标位姿补偿数据Qi、Ti可以表示为以下公式:
在一些实施例中,步骤S160还可以通过其他方式实现。图8示出了根据本说明书的一些实施例提供的另一种确定目标位姿补偿数据的方法的示例性流程图。图8示出了步骤S160。如图8所示,步骤S160可以包括:
S166:基于基准坐标系相对于第一坐标系的第四位姿数据,将目标载体100的载体速度转换为激光雷达200在基准坐标系下的激光雷达速度;以及
S167:基于所述激光雷达速度,确定不同时间戳下激光雷达坐标系相对于基准坐标系的目标位姿补偿数据。
如图4所示,所述方法P100还可以包括:
S180:基于所述目标位姿补偿数据Qi、Ti,将所述原始点云数据转换至所述基准坐标系下,得到目标点云数据。
在步骤S160中,系统001可以计算得到所述原始点云数据所在的目标时间窗口内的N个第一时间戳下的点云数据相对于基准坐标系/>的目标位姿补偿数据Qi、Ti。在一些实施例中,步骤S180还可以基于N个第一时间戳/>下的点云数据相对于基准坐标系/>的目标位姿补偿数据Qi、Ti,通过插值的方式获取所述目标时间窗口内的其他时间戳下的点云数据相对于基准坐标系/>的目标位姿补偿数据,从而确定所述目标时间窗口内各个时间戳下的点云数据相对于基准坐标系/>的目标位姿补偿数据。为了方便描述,我们将目标时间窗口内的各个时间戳定义为tk。其中,k=1,2,…。我们将同一目标时间窗口内各个时间戳tk下的目标位姿补偿数据定义为四元数Qk和平移补偿数据Tk。
步骤S180可以基于同一目标时间窗口内各个时间戳tk下的目标位姿补偿数据Qk、Tk,对所述原始点云数据进行运动补偿,以获取基准坐标系下的目标点云数据。如前所述,我们将原始点云数据中的X、Y、Z三维坐标信息标记为[x0,y0,z0]T。我们将时间戳tk下的原始点云数据中的X、Y、Z三维坐标信息标记为[x0,k,y0,k,z0,k]T。我们将目标点云数据中的X、Y、Z三维坐标信息标记为[x1,y1,z1]T,将时间戳tk下的目标点云数据中的X、Y、Z三维坐标信息标记为[x1,k,y1,k,z1,k]T。在步骤S180中,计算设备600可以对每个时间戳tk下的原始点云数据[x0,k,y0,k,z0,k]T进行运动补偿。具体地,时间戳tk下的目标点云数据[x1,k,y1,k,z1,k]T可以表示为以下公式:
[x1,k,y1,k,z1,k]T=Qk[x0,k,y0,k,z0,k]T+Tk公式(9)
在一些实施例中,可以先计算出同一目标时间窗口内各个时间戳下的目标位姿补偿数据,然后对原始点云数据进行运动补偿,即对每帧点云数据中的不同时间戳下的点云同步进行运动补偿,对每帧点云数据进行一次操作就可以得到运动补偿后的目标点云数据,使得每帧点云数据可以并行计算,提高了计算效率和运动补偿处理速度,能够满足自动驾驶等场景的实时性要求。
所述方法P100对所述原始点云数据进行运动补偿后的目标点云数据与理想状态下的运动补偿后的理想点云数据之间的偏差距离为补偿误差。所述方法P100对应的最大补偿误差σmax可以表示为以下公式:
σmax=(tΔω+Δv+ωvdt)Δt公式(10)
其中,r为点云最大探测距离。不同的激光雷达200其对应的r时不同的。在一些实施例中,r可以是任意数,比如50m、100m、200m、300m、500m、1000m,甚至更小或更大,等等。ω为速度传感器300在目标时间窗口内的平均角速度(rad/s)。Δω为速度传感器300的角速度误差(rad/s)。v是速度传感器300在目标时间窗口内的平均线速度(rad/s)。Δv为速度传感器300的线速度误差(rad/s)。dt为位姿积分周期。在一些实施例中,dt=50ms/1200≈40μs。Δt为点云数据采集周期。在一些实施例中,Δt=50ms。本领域技术人员应当明白,上述数据只是示例性说明,其他任意大小的数据均在本说明书的保护范围内。由公式(10)可知,在位姿积分周期足够小的情况下,点云数据运动补偿的误差精度几乎只受到目标载体100的速度传感器300的精度影响。因此,本说明书所述的点云运动补偿方法P100和系统001,可以提高对点云数据的运动补偿精度。
综上所述,本说明书提供的点云运动补偿方法P100和系统001,通过搭载在目标载体100上的速度传感器300获取目标载体100的载体速度,以计算目标载体100在不同时间戳下相对于目标时间戳下的位姿信息,从而确定不同时间戳下的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,以根据目标位姿补偿数据对原始点云数据进行运动补偿。本说明书提供的点云运动补偿方法P100和系统001,能够使用运动补偿算法解决点云畸变问题,将原始点云数据中的不同时间戳下的点云数据运动补偿至目标时间戳下的激光雷达坐标系。因此,所述点云运动补偿方法P100和系统001只需计算不同时间戳下的目标位姿补偿数据,即可得到同一时间窗口下的所有点云数据的位姿补偿数据,使每帧点云数据可以并行计算,从而节约计算资源,提高计算效率,加快运动补偿的计算速度,满足系统的实时性要求,实现实时进行运动补偿的目的。同时,所述点云运动补偿方法P100和系统001在计算目标位姿补偿数据时,不使用全局位姿,使用局部位姿,不会有存储空间的持续累积,节约存储空间。而且,所述点云运动补偿方法P100和系统001中,旋转姿态和相对位移不分别计算,可以保证误差精度,提高点云运动补偿的准确性。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组对点云数据进行运动补偿的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的点云运动补偿方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的点云数据运动补偿的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统(例如处理器620)使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (13)
1.一种点云运动补偿方法,其特征在于,所述方法包括对设置于可移动目标载体上的激光雷达所采集的每帧原始点云数据执行:
获取所述原始点云数据;
获取所述目标载体在所述原始点云数据对应的目标时间窗口内的载体速度;
基于所述载体速度,确定不同时间戳下所述原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,所述基准坐标系包括目标时间戳下的所述激光雷达坐标系,所述目标时间戳位于所述目标时间窗口内;以及
基于所述目标位姿补偿数据,将所述原始点云数据转换至所述基准坐标系下,得到目标点云数据。
2.如权利要求1所述的点云运动补偿方法,其特征在于,所述基于所述载体速度,确定不同时间戳下所述原始点云数据所在的激光雷达坐标系相对于基准坐标系的目标位姿补偿数据,包括:
基于所述载体速度,确定不同时间戳下所述目标载体的载体坐标系相对于第一坐标系的第二位姿数据,所述第一坐标系包括所述目标时间戳下的所述载体坐标系;以及
基于所述第二位姿数据以及所述基准坐标系相对于所述第一坐标系的第一位姿数据,确定所述目标位姿补偿数据。
3.如权利要求2所述的点云运动补偿方法,其特征在于,所述原始点云数据包括所述目标时间窗口内的N组点云数据及其对应的N个第一时间戳,其中,所述N为大于1的整数。
4.如权利要求3所述的点云运动补偿方法,其特征在于,所述N个第一时间戳至少包括所述目标时间窗口起始时的帧头第一时间戳和所述目标时间窗口结束时的帧尾第一时间戳,所述目标时间戳包括所述帧头第一时间戳和所述帧尾第一时间戳中的一个。
5.如权利要求3所述的点云运动补偿方法,其特征在于,所述获取所述目标载体在所述原始点云数据对应的目标时间窗口内的载体速度,包括:
基于所述目标载体的速度传感器,获取所述目标载体在所述目标时间窗口内的M个载体速度及其对应的M个第二时间戳,所述M为正整数。
6.如权利要求5所述的点云运动补偿方法,其特征在于,所述速度传感器包括线速度传感器和角速度传感器,所述载体速度包括载体线速度和载体角速度。
7.如权利要求5所述的点云运动补偿方法,其特征在于,所述基于所述载体速度,确定不同时间戳下所述目标载体的载体坐标系相对于第一坐标系的第二位姿数据,包括:
基于所述M个载体速度,确定所述M个第二时间戳下,所述载体坐标系相对于所述第一坐标系的M个第二位姿数据。
8.如权利要求7所述的点云运动补偿方法,其特征在于,所述基于所述M个载体速度,确定所述M个第二时间戳下,所述载体坐标系相对于所述第一坐标系的M个第二位姿数据,包括对所述M个第二时间戳中的每个第二时间戳:
基于当前第二时间戳对应的所述载体速度,确定下一个第二时间戳下的所述载体坐标系相对于所述当前第二时间戳下的所述载体坐标系的第二位姿变化数据;以及
将所述第二位姿变化数据与所述当前第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据叠加,确定所述下一个第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据。
9.如权利要求7所述的点云运动补偿方法,其特征在于,所述基于所述第二位姿数据以及所述基准坐标系相对于所述第一坐标系的第一位姿数据,确定所述目标位姿补偿数据,包括:
基于所述M个第二位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述第一坐标系的N个第二位姿数据;
基于所述N个第二位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述基准坐标系的N个第三位姿数据;以及
基于所述N个第三位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述激光雷达坐标系相对于所述基准坐标系的N个目标位姿补偿数据。
10.如权利要求9所述的点云运动补偿方法,其特征在于,所述基于所述M个第二位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述第一坐标系的N个第二位姿数据,包括对所述N个第一时间戳中的每个第一时间戳:
基于与当前第一时间戳相邻的上一个第二时间戳对应的所述载体速度,确定所述当前第一时间戳下的所述载体坐标系相对于所述相邻的上一个第二时间戳下的所述载体坐标系的第二位姿变化数据;以及
将所述第二位姿变化数据与所述相邻的上一个第二时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据叠加,确定所述当前第一时间戳下的所述载体坐标系相对于所述第一坐标系的第二位姿数据。
11.如权利要求9所述的点云运动补偿方法,其特征在于,所述基于所述N个第二位姿数据以及所述第一位姿数据,确定所述N个第一时间戳下,所述载体坐标系相对于所述基准坐标系的N个第三位姿数据,包括对所述目标时间窗口内的每个第一时间戳:
将当前第一时间戳下的第二位姿数据与所述第一坐标系相对于所述基准坐标系的第四位姿数据叠加,确定所述当前第一时间戳下,所述载体坐标系相对于所述基准坐标系的第三位姿数据。
12.如权利要求1所述的点云运动补偿方法,其特征在于,所述目标位姿补偿数据包括旋转补偿数据和平移补偿数据,所述旋转补偿数据采用四元数表示。
13.一种点云运动补偿系统,对设置在可移动的目标载体上的激光雷达所采集的原始点云数据进行运动补偿,其特征在于,所述点云运动补偿系统包括:
速度传感器,安装在所述目标载体上,工作时检测所述目标载体的载体速度;以及
计算设备,与所述速度传感器以及所述激光雷达通信连接,工作时从所述速度传感器中获取所述载体速度,并从所述激光雷达中获取所述原始点云数据,包括:
至少一个存储介质,存储有至少一个指令集,用于对所述原始点云数据进行点云运动补偿;以及
至少一个处理器,同所述至少一个存储介质通信连接,
其中,当所述点云运动补偿系统运行时,所述至少一个处理器读取所述至少一个指令集并实施权利要求1至12中任一项所述的点云运动补偿方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210469156.9A CN117008096A (zh) | 2022-04-30 | 2022-04-30 | 点云运动补偿方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210469156.9A CN117008096A (zh) | 2022-04-30 | 2022-04-30 | 点云运动补偿方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008096A true CN117008096A (zh) | 2023-11-07 |
Family
ID=88562317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210469156.9A Pending CN117008096A (zh) | 2022-04-30 | 2022-04-30 | 点云运动补偿方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117008096A (zh) |
-
2022
- 2022-04-30 CN CN202210469156.9A patent/CN117008096A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11002840B2 (en) | Multi-sensor calibration method, multi-sensor calibration device, computer device, medium and vehicle | |
KR102032070B1 (ko) | 깊이 맵 샘플링을 위한 시스템 및 방법 | |
US11017558B2 (en) | Camera registration in a multi-camera system | |
US11205283B2 (en) | Camera auto-calibration with gyroscope | |
JP6830140B2 (ja) | 運動ベクトル場の決定方法、運動ベクトル場の決定装置、機器、コンピュータ読み取り可能な記憶媒体及び車両 | |
CN112567201A (zh) | 距离测量方法以及设备 | |
US20230141421A1 (en) | Point cloud motion compensation method and apparatus, storage medium, and lidar | |
US11783507B2 (en) | Camera calibration apparatus and operating method | |
CN115427832A (zh) | 自动驾驶车辆的激光雷达和图像校准 | |
US20220122230A1 (en) | Methods and systems for video stabilization | |
CN112154480B (zh) | 可移动平台的定位方法、装置、可移动平台及存储介质 | |
CN116952229A (zh) | 无人机定位方法、装置、系统和存储介质 | |
US20200116517A1 (en) | Methods and Apparatus for Selecting a Map for a Moving Object, System, and Vehicle/Robot | |
CN117008096A (zh) | 点云运动补偿方法和系统 | |
CN108564626B (zh) | 用于确定安装于采集实体的相机之间的相对姿态角的方法和装置 | |
JP6991525B1 (ja) | ウェイポイント高さ座標設定方法及び管理サーバ、情報処理システム、プログラム | |
WO2016179798A1 (en) | A system and a computer-implemented method for calibrating at least one senser | |
CN113065572B (zh) | 多传感器融合的数据处理方法、定位装置及虚拟现实设备 | |
TW202029133A (zh) | 三維重建裝置、三維重建系統、三維重建方法、以及記錄三維重建程式的記錄媒體 | |
CN116148883B (zh) | 基于稀疏深度图像的slam方法、装置、终端设备及介质 | |
WO2022180975A1 (ja) | 位置特定装置、情報処理装置、位置特定方法、情報処理方法、及びプログラム | |
US20240203139A1 (en) | Systems and methods for depth map sampling | |
WO2021049508A1 (ja) | 寸法表示システムおよび寸法表示方法 | |
US20210006725A1 (en) | Image capturing system, method, and analysis of objects of interest | |
CN114353780A (zh) | 姿态优化方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |