CN112539755A - 用于自主车辆的基于admm算法的更新点云配准管线 - Google Patents
用于自主车辆的基于admm算法的更新点云配准管线 Download PDFInfo
- Publication number
- CN112539755A CN112539755A CN202011287813.5A CN202011287813A CN112539755A CN 112539755 A CN112539755 A CN 112539755A CN 202011287813 A CN202011287813 A CN 202011287813A CN 112539755 A CN112539755 A CN 112539755A
- Authority
- CN
- China
- Prior art keywords
- pose
- anchor
- poses
- point cloud
- optimized
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 115
- 230000006870 function Effects 0.000 claims description 38
- 238000005457 optimization Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 6
- 238000013481 data capture Methods 0.000 abstract description 8
- 238000013439 planning Methods 0.000 description 54
- 238000005192 partition Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 44
- 230000000875 corresponding effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000013507 mapping Methods 0.000 description 18
- 230000008447 perception Effects 0.000 description 17
- 230000009466 transformation Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000003190 augmentative effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Images
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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1652—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
-
- 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
- G01S19/47—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being an inertial measurement, e.g. tightly coupled inertial
-
- 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/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
本发明提供了一种用于自主车辆的基于ADMM算法的更新点云配准管线。在一个实施例中,公开了一种用于自主驾驶车辆(ADV)的LIDAR位姿的点云配准的系统和方法。方法选择在数据捕获阶段具有较高置信度的点云的位姿作为固定锚位姿。固定锚点用于在点云配准期间估计和优化非锚点的位姿。方法可以将点云划分为块以通过最小化用正则项更新的捆绑调整方程的成本函数来针对每个块并行执行ICP算法。正则项可以测量位姿的当前估计和先前或初始估计之间的差。方法还可以在求解位姿图问题时最小化用正则项更新的捆绑调整方程,以合并来自块的优化位姿以在块之间建立连接。
Description
技术领域
本公开的实施例总体上涉及操作自主驾驶车辆。更具体地,本公开的实施例涉及用于自主驾驶车辆(ADV)的点云配准的方法。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘员(特别是驾驶员)免于某些与驾驶有关的责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,允许车辆在最少的人机交互、或者在某些情况下无需任何乘客的情况下行进。
运动规划和控制是自主驾驶中的关键操作。运动规划和控制操作的准确性和效率取决于车辆的传感器以及导航的区域的高清(HD)二维(2D)或三维(3D)点云图。诸如相机、光检测和测距(LIDAR)单元、雷达等的传感器用于捕获车辆周围环境的视频和电磁图像。ADV可以处理由传感器捕获的信息以及由HD 3D点云图提供的交通元素和道路特征,以感知ADV周围的驾驶环境,用于规划ADV的运动。
诸如LIDAR传感器的传感器也用于捕获待映射区域的数据点。对应于用于在特定时间点捕获数据点的LIDAR传感器的位姿(例如,位置和方向)的数据点被称为点云。由LIDAR传感器在许多位姿下捕获的点云用于构建该区域的HD 3D点云图。点云配准是指估计在数据捕获期间使用的LIDAR的GPS位置和位姿以对准待映射区域的点云的过程。点云数据的对准允许从原始点云图中的模糊区域构建准确的HD 3D点云图。
然而,存在影响地图构建的性能和准确性的若干问题。首先,当前点云配准算法高度依赖于用于车辆同时定位的GPS信号,这可能会具有米数量级的误差幅度。由于环境因素(诸如,高楼林立或茂密森林衬砌的城市街道),GPS信号的多路径和其他下降加剧该误差。或者GPS信号可能无法完全接收到,例如在隧道或车库中。其次,点云的配准在计算上可能是复杂的,例如,对于大地图区域而言,是挑战且耗时的。
为了降低复杂度,可以将地图区域划分为子地图,并且可以使用区域迭代最近点(ICP)算法在相应的计算节点上实现子地图的点云配准。但是,子地图的大小可能会受到相应计算节点的存储大小的限制,这又会影响从点云配准生成的地图的准确性。此外,由计算节点执行的子地图的点云配准之间的连接可能弱。结果是由子地图构建的地图精度可能具有恒定的偏移量。而且,如果点云配准的结果不可接受,则没有明确的方法可以重新开始ICP算法。希望有一种更灵活的点云配准方法,其计算量较少并且利用子地图的点云配准之间的连接以及ICP算法内的优化来改善性能。
发明内容
在第一方面中,提供一种用于自主驾驶车辆的点云配准的计算机实现的方法,包括:
从与具有待映射的多个块的区域的多个点云相关联的多个初始位姿中选择一个或多个锚位姿;
从每个块中的多个点云中识别一个或多个帧对,每个帧对包括锚位姿中的一个和多个非锚位姿中的一个;
参考固定在每个块中的锚位姿优化非锚位姿,以通过限制非锚位姿的初始位姿和优化位姿之间的差,基于每个帧对之间的多个点对生成非锚位姿的优化位姿;以及
合并优化位姿,以针对块之间的重叠区域中的区域的点云生成多个优化位姿。
在第二方面中,提供一种数据处理系统,包括:
处理器;以及
存储器,耦合到处理器,用于存储指令,指令在由处理器执行时使处理器执行如第一方面所述的方法的操作。
在第三方面中,提供一种非暂时性机器可读介质,具有存储在其中的指令,指令在由处理器执行时使处理器执行如第一方面所述的方法的操作。
利用本发明的点云配准方法,其计算量较少并且利用子地图的点云配准之间的连接以及ICP算法内的优化来改善性能。
附图说明
在附图的图中以示例而非限制的方式示出本公开的实施例,在附图中,相似的附图标记指示相似的元件。
图1是示出根据一个实施例的联网系统的框图。
图2是示出根据一个实施例的自主车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。
图4是示出根据一个实施例的自主驾驶系统的架构的框图。
图5是示出根据一个实施例的HD地图生成引擎的示例的框图。
图6是示出根据一个实施例的HD地图生成系统的示例的框图。
图7是示出根据一个实施例的用于HD地图生成系统的点云数据处理流程的示例的框图。
图8是根据一个实施例的点云配准管线的框图,其中基于具备高置信度的参考LIDAR位姿,在分离的块中对区域的子地图进行并行计算。
图9是示出根据一个实施例的用于使用锚位姿迭代地求解每个块中的更新的ICP优化问题以及求解位姿图的更新的成本函数的方法的示例的流程图。
图10是示出根据一个实施例的方法的示例的流程图,该方法用于在每个块中选择锚位姿以及求解用正则项更新的ICP优化问题,以及用于最小化正则项更新的成本函数以参考锚位姿合并块。
具体实施方式
将参考下面讨论的细节来描述本公开的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本公开的说明,并且不应被解释为限制本公开。许多具体细节被描述以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知的或常规的细节。
在说明书中对“一个实施例”或“一实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以被包含在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定都指相同的实施例。
说明书中对“HD”或“高清”(诸如HD地图或HD位姿)的引用是指具有非常高精度水平的地图或位姿。例如,HD地图可以具有厘米或几十厘米的精度水平。可导航区域的2D或3DHD点云图存储用于ADV的运动规划和控制的交通元素和道路特征,诸如用于定位和感知的特征。
HD点云图的构建期间的点云配准估计在数据捕获阶段使用的LIDAR的GPS位置和位姿,以对准待映射区域的点云。在点云数据的对准之后,可以从原始点云图构建HD 2D或3D点云图。为了降低点云配准的计算复杂度,可以将地图区域划分为较小的分区或子地图。可以使用区域迭代最近点(ICP)算法在计算集群的计算节点上并行实现子地图的点云配准。计算集群的计算节点可能具有不同的存储资源,从而影响ICP算法的计算速度以及所构建的HD点云图的准确性。为了减少地图精度对计算节点的存储资源的依赖性,公开了一种用于区域的ICP算法的方法。
根据一个实施例,一种用于点云配准的方法可以选择在数据捕获阶段期间由较高置信度表征的点云位姿用作参考位姿。位置和方向是固定的所选位姿用作点云配准期间估计和优化其他点云位姿的位置和方向的锚位姿。参考锚位姿对非锚位姿的位姿进行估计和优化减少了在点云配准期间进行优化的决策变量的数量,从而减少了存储需求。在一个实施例中,方法可以使用诸如可见GPS卫星的数量的度量来确定位姿是否为锚位姿,可见GPS卫星的数量用于计算位姿的位置、位置的标准偏差等。
方法可以针对每个子地图的非锚位姿并行地执行ICP算法。在一个实施例中,通过求解捆绑调整方程来实现ICP算法。通过最小化与参考锚位姿在每个子地图中的对应点对准非锚点云位姿的点相关联的成本函数,ICP算法求解每个子地图中的捆绑调整方程。为了连接分离的子地图的点云配准并利用每个子地图内位姿的连续估计来改善性能,可以将正则项添加到捆绑调整方程的成本函数。
根据一个实施例,添加到位姿的成本函数的正则项可以是位姿的当前估计与位姿的先前或初始估计之间的几何距离的量度。通过最小化包括正则项的位姿的成本函数,ICP算法最小化位姿的连续估计之间的差并且创建中间估计,如果求解方案不令人满意,ICP算法可以从中间估计重新开始。正则项还可以是子地图之间的重叠区域中的位姿的函数,以连接子图的点云配准。
根据一个实施例,当合并不同子地图的估计位姿以重新构建地图时,可以将正则项添加到成本函数。例如,当应用位姿图来合并不同子地图的估计位姿时,两个子地图之间的重叠区域中的位姿的成本函数可以具有正则项作为位姿图残差近似。通过最小化包括子地图的重叠区域中位姿的正则项的成本函数,可以增强点云配准之间的连接。在一个实施例中,方法可以通过编写成本函数的增广拉格朗日式并用迭代求解增广拉格朗日式问题,使用交替方向乘子法(ADMM)算法最小化成本函数。
根据一个实施例,一种用于ADV的配准点云的方法包括:从ADV接收点云和相应的初始位姿,ADV配备有捕获待映射区域的点云的传感器。方法还包括从初始位姿中选择固定锚位姿。方法还包括将点云分离为数个块或分区。方法还包括从每个块中的点云中识别帧对。每个帧对包括固定锚位姿和非锚位姿。方法还包括从每个块中的帧对的点云中识别点对。方法还包括,通过限制非锚位姿的初始位姿和优化位姿之间的差,基于帧对的点对参考每个块中的固定锚位姿优化非锚位姿。方法还包括通过限制块之间的重叠区域中的非锚位姿的初始位姿和优化位姿之间的差,合并来自多个块的非锚位姿的优化位姿以生成区域的点云的优化位姿。
图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地耦合到一个或多个服务器103-104的自主车辆101。尽管示出一个自主车辆,但是多个自主车辆可以彼此耦合和/或通过网络102耦合到服务器103-104。网络102可以是任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如Internet、蜂窝网络、卫星网络的或其组合)、有线或无线的网络。服务器103-104可以是任何种类的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器、或位置服务器等。在一个实施例中,自主车辆101可以从服务器103或104下载HD地图以用于运动规划和控制。
自主车辆是指可以被配置为处于自主模式的车辆,在自主模式下,车辆在驾驶员很少或没有输入的情况下导航通过环境。这种自主车辆可以包括具有一个或多个传感器的传感器系统,一个或多个传感器被配置为检测关于车辆在其中操作的环境的信息。车辆及其相关联的(一个或多个)控制器使用检测的信息导航通过环境。自主车辆101可以在手动模式、完全自主模式或部分自主模式下操作。
在一个实施例中,自主车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自主车辆101还可以包括包含在普通车辆中的某些通用组件,诸如引擎、车轮、方向盘、变速器等,其可以由车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令来控制,诸如,例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
组件110-115可以经由互连、总线、网络或其组合彼此通信地耦合。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地耦合。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是一种基于消息的协议,最初是为汽车内的多路电气布线设计的,但也用于许多其他情况。
现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214、以及光检测和测距(LIDAR)单元215。GPS系统212可以包括收发器214,收发器214可操作以提供关于自主车辆的位置的信息。IMU单元213可以基于惯性加速度来感测自主车辆的位置和朝向的改变。雷达单元214可以表示利用无线电信号感测在自主车辆的局部环境内的物体的系统。在一些实施例中,除了感测物体之外,雷达单元214可以附加地感测物体的速度和/或前进方向。LIDAR单元215可以使用激光感测自主车辆所处环境中的物体。LIDAR单元215可以包括一个或多个激光源、激光扫描仪以及一个或多个检测器、以及其他系统组件。相机211可以包括一个或多个设备以捕获自主车辆周围的环境的图像。相机211可以是静态相机和/或视频相机。相机可以例如通过将相机安装在旋转和/或倾斜的平台上是机械地可移动的。
传感器系统115还可以包括其他传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如,麦克风)。音频传感器可以被配置为从自主车辆周围的环境捕获声音。转向传感器可以被配置为感测方向盘的转向角、车辆车轮或其组合。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在某些情况下,油门传感器和制动传感器可以被集成为集成的油门/制动传感器。
在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调节车辆的方向或前进方向。油门单元202用于控制马达或引擎的速度,进而控制车辆的速度和加速度。制动单元203用于通过提供摩擦以减慢车辆的车轮或轮胎来使车辆减速。注意,图2中所示的组件可以以硬件、软件或其组合来实现。
再次参考图1,无线通信系统112用于允许自主车辆101与外部系统(诸如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统112可以直接或者经由通信网络(诸如通过网络102的服务器103-104)与一个或多个设备进行无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一个组件或系统进行通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、车辆101内的显示设备、扬声器)通信。用户接口系统113可以是在车辆101内实现的外围设备的一部分,包括例如键盘、触摸屏显示器、麦克风和扬声器等。
自主车辆101的某些或全部功能可以由感知和规划系统110控制或管理,特别是在以自主驾驶模式操作时。感知和规划系统110包括必要的硬件(例如(一个或多个)处理器、存储器、存储装置)和软件(例如,操作系统、规划和路由程序),以接收来自传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113的信息,处理接收到的信息,规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆101。可替换地,感知和规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户界面指定行程的起始位置和目的地。感知和规划系统110获得行程有关的数据。例如,感知和规划系统110可以从MPOI服务器(其可以是服务器103-104的一部分)获得位置和路线信息。位置服务器提供位置服务,以及MPOI服务器提供某些位置的地图服务和POI。可替换地,这样的位置和MPOI信息可以本地缓存在感知和规划系统110的永久存储设备中。在一个实施例中,可以从服务器103-104下载的HD地图获得位置和MPOI信息。
当自主车辆101沿着路线移动时,感知和规划系统110还可以以从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体(诸如服务提供商)操作,第三方实体将开始位置和目的地位置下载到感知和规划系统110,以用于感知和规划系统110进行规划路线。第三方还可以向感知和规划系统110发出命令,以命令自主车辆101开始在规划的路线上行进。可替换地,服务器103-104的功能可以与感知和规划系统110集成在一起。基于由传感器系统115检测或感测的实时交通信息、MPOI信息和位置信息、以及实时交通环境数据(例如,障碍物、物体、附近车辆),感知和规划系统110可以规划最佳路线并且例如根据规划的路线经由控制系统111驾驶车辆101,以安全有效地到达指定目的地。
服务器103可以是为各种客户端执行数据分析服务的数据分析系统。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各个车辆(自主车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动器、转向命令)以及由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可以以包括描述不同时间点的驾驶环境的信息,诸如,例如路线(包括起点位置和目的地位置)、MPOI、道路状况、天气状况等。驾驶统计数据123还可以包括点云信息,诸如由安装在车辆上的LIDAR传感器捕获的驾驶环境的特征和物体的点云图像,以及由IMU和GPS传感器捕获的描述车辆的位置和朝向的相应位姿。
基于驾驶统计123,机器学习引擎122出于各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施例中,算法124可以包括区域ICP算法、捆绑调整算法、交替方向乘子法(ADMM)算法、图像分割算法(例如,边缘检测、运动检测等)、同时定位和映射(SLAM)算法、深度学习神经网络模型。
算法124可以上载到ADV上以在自主驾驶期间实时使用,或者可以由其他模块利用,诸如服务器103的HD地图生成引擎125。在一个实施例中,HD地图生成引擎125可以配准由ADV收集的点云,并根据配准的点云生成HD地图。尽管HD地图生成引擎125被示出为服务器103的一部分,但是在某些实施例中,引擎125可以是服务器104的一部分。
图3A和图3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。系统300可以被实现为图1的自主车辆101的一部分,包括但不限于感知和规划系统110、控制系统111和传感器系统115。参考图3A-3B,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路由模块307和安全模块308。
模块301-308中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可以被安装在永久存储设备352中、被加载到存储器351中、并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦合到图2的车辆控制系统111的一些或全部模块或与这些模块集成。模块301-308中的一些可以作为集成模块被集成在一起。例如,决策模块304和规划模块305可以集成为单个模块。
定位模块301确定自主车辆300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户界面登录并指定行程的开始位置和目的地。定位模块301与自主车辆300的其他组件通信,诸如地图和路线信息311,以获得与行程有关的数据。例如,定位模块301可以从位置服务器以及地图和POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供某些位置的地图服务和POI,其可以被缓存为地图和路线信息311的一部分。在一个实施例中,地图和路线信息311可以是基于点云配准从原始点云数据构建的HD地图,该点云配准在原始点云数据的收集期间估计传感器的GPS位置和位姿。可以从位置服务器和MPOI服务器下载HD地图。在自主车辆300沿路线移动时,定位模块301还可以从交通信息系统或服务器获取实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员在驾驶员正在驾驶的车辆周围将会感知到的东西。感知可以包括车道配置、交通信号灯、另一车辆的相对位置、行人、建筑物、人行横道、或其他与交通有关的标志(例如,停车标志、让路标志),例如,以物体的形式。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直行或弯曲)、车道的宽度、道路中有多少个车道、单向或双向车道、合并或拆分车道、出口车道等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自主车辆的环境中的物体和/或特征。物体可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用物体识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪物体并估算物体的速度等。感知模块302还可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据来检测物体。
对于每个物体,预测模块303预测在这种情况下物体将表现的东西。根据一组地图/路线信息311和交通规则312基于当时感知驾驶环境的感知数据进行预测。例如,如果物体是在相反方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是可能直行向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可以预测车辆可能必须在进入交叉路口之前完全停止。如果感知数据指示车辆当前在只能向左转的车道或只能向右转的车道,则预测模块303可以分别预测车辆将更可能向左转或向右转。
对于每个物体,决策模块304做出关于如何处理物体的决策。例如,对于特定的物体(例如,在交叉路线中的另一辆车)以及描述该物体的元数据(例如,速度、方向、转弯角度),决策模块304决定如何遇见该物体(例如,超车、让车、停止、经过)。决策模块304可以根据可以存储在永久存储设备352中的一组规则(诸如交通规则或驾驶规则312)做出这样的决策。
路由模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收的从起始位置到目的地位置的给定行程,路由模块307获得路线和地图信息311,并且确定从起始位置到达目的地位置的所有可能的路线或路径。路由模块307可以为每条路线(其确定从起始位置到达目的地位置)生成地形图式的参考线。参考线是指一条理想的路线或路径,不受诸如其他车辆、障碍物或交通状况的其他因素的干扰。即如果道路上没有其他车辆、行人或障碍物,则ADV应该准确或密切跟随参考线。然后地形图被提供给决策模块304和/或规划模块305。根据由其他模块提供的其他数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境以及由预测模块303预测的交通状况),决策模块304和/或规划模块305检查所有可能的路线以选择和修改最佳路线中的一条。用于控制ADV的实际路径或路线可能与由路由模块307提供的参考线接近或不同,这取决于当时的特定驾驶环境。
因此,基于对感知到的每个物体的决策,决策模块304和/或规划模块305使用由路由模块307提供的参考线作为基础,以规划用于自主车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。即对于给定的物体,决策模块304决定如何处理该物体,而规划模块305确定如何进行该处理。例如,对于给定的物体,决策模块304可以决定经过该物体,而规划模块305可以确定是在该物体的左侧还是在右侧经过。规划和控制数据由规划模块305生成,规划和控制数据包括描述车辆300如何在下一移动周期(例如,下一路线/路径段)中移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块306根据由规划和控制数据限定的路线或路径,通过向车辆控制系统111发送适当的命令或信号,控制和驾驶自主车辆。规划和控制数据包括足够的信息,以沿路径或路线在不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,在数个规划周期(也称为驾驶周期)中执行规划阶段,诸如,例如在每100毫秒(ms)的时间间隔中。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。即每100ms,规划模块305规划下一路线段或路径段(例如包括目标位置和ADV到达目标位置所需的时间)。可替换地,规划模块305还可以指定特定的速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一个周期中规划的目标位置,为当前周期(例如,接下来的5秒)规划目标位置。然后,控制模块306基于当前周期的规划和控制数据产生一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以被集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以为自主车辆确定行驶路径。例如,导航系统可以确定一系列速度和定向的前进方向,以影响自主车辆沿着基本上避开感知到的障碍物的路径的移动,同时通常使自主车辆沿着通往最终目的地的基于道路的路径前进。可以根据经由用户接口系统113的用户输入来设置目的地。导航系统可以在操作自主车辆时动态地更新行驶路径。导航系统可以合并来自GPS系统和一个或多个地图的数据,以便确定自主车辆的行驶路径。
决策模块304/规划模块305还可包括防撞系统或防撞系统的功能,以识别、评估和避开或以其他方式越过自主车辆环境中的潜在障碍。例如,防撞系统可以通过操作控制系统111中的一个或多个子系统来进行转向动作、转弯动作、制动动作等,从而影响自主车辆导航上的变化。防撞系统可以基于周围的交通模式、道路状况等自主确定可行的避障动作。防撞系统可以被配置为,使得当其他传感器系统在自主驾驶车辆将转向进入的邻近区域中检测到行人、车辆、建筑障碍物等时,不会进行转向动作。防撞系统可以自主选择既可用又最大化自主车辆的乘员安全的动作。防撞系统可以选择被预测为在自主车辆的乘客舱中引起最少数量加速的避开动作。
在一个实施例中,安全模块308被配置为基于一组安全规则313检测网络和欺骗攻击。安全模块308可以被实现为感知模块302的一部分,或者可以与感知模块302或其他模块通信。安全模块308可以检测对自主驾驶车辆目的地的改变或异常的重新路由活动以确定是否存在网络攻击。安全模块308还可以检测自主车辆的传感器系统115上的欺骗,以阻止欺骗攻击。在一个实施例中,安全模块308可以将攻击通知给决策模块304,从而可以将自主车辆切换到故障安全操作。
注意,上面示出和描述的一些或全部组件可以以软件、硬件或其组合来实现。例如,这样的组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并在存储器中执行以实施整个本申请描述的过程或操作。可替换地,这样的组件可以被实现为被编程或嵌入到诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)的专用硬件中的可执行代码,其可以经由相应驱动器和/或操作系统从应用程序进行访问。此外,作为软件组件经由一个或多个特定指令可访问的指令集的一部分,这样的组件可以被实现为处理器或处理器核心中的特定硬件逻辑。
图4是示出根据一个实施例的用于自主驾驶的系统架构的框图。系统架构400可以表示如图3A和3B所示的自主驾驶系统的系统架构。参考图4,系统架构400包括但不限于应用层401、规划和控制(PNC)层402、感知层403、驱动器层404、固件层405和硬件层406。应用层401可以包括与无人驾驶车辆的用户或乘客交互的用户界面或配置应用,例如与用户接口系统113相关联的功能。PNC层402可以至少包括规划模块305和控制模块306的功能。感知层403可以至少包括感知模块302的功能。在一个实施例中,存在包括预测模块303和/或决策模块304的功能的附加层。可替换地,这样的功能可以被包括在PNC层402和/或感知层403中。固件层405可以至少表示传感器系统115的功能,其可以以现场可编程门阵列(FPGA)的形式实现。硬件层406可以表示自主驾驶车辆的硬件(诸如控制系统111)。层401-403可以经由设备驱动器层404与固件层405和硬件层406通信。
图5是示出根据一个实施例的HD地图生成引擎125的示例的框图。HD地图生成引擎可以配准点云,并且基于点云配准生成HD地图。参考图5,HD地图生成引擎125可以包括数个模块,例如点云接收器模块501、点云下采样模块503、环路信息确定器模块505、分区模块507、优化求解器模块509和合并模块511。注意,这些模块中的某些或全部可以集成到较少的模块中,也可以划分为更多的模块。
点云接收器模块501可以接收点云(例如,由ADV的LIDAR传感器捕获的LIDAR图像)和相应的位姿(例如,位置和方向)。点云指的是由例如LIDAR设备在特定时间点捕获的一组数据点。每个数据点与数据点的位置信息(例如,x、y和z坐标)相关联。可以是可选的点云下采样模块503可以在空间或时间上对点云进行下采样。环路信息确定器模块505可以确定对应于形成地理环路的可导航区域的一组点云是否存在环路闭合。分区模块507可以基于闭合信息或块分区信息将一个或多个可导航区域划分为一个或多个分区。优化求解器模块509可以将优化算法(诸如,基于区域ICP的捆绑调整算法、ADMM算法、SLAM算法、图像分割算法等,作为图5的算法515或图1的算法124的一部分)应用于点云和分区的相应位姿,以生成用于点云配准的精确HD LIDAR位姿。点云配准是指用于待映射区域的点云数据的对准。合并模块511可以将来自数个分区的对准的点云数据合并在一起以生成HD地图。
图6是示出根据一个实施例的HD地图生成系统的示例的框图。HD地图生成系统500可以是图1的HD地图生成引擎125的一部分。参考图6,在一个实施例中,HD地图生成系统600包括点云配准子系统601和HD地图生成子系统602。点云配准子系统601可以接收IMU信号、GPS信号和LIDAR图像603(例如分别从IMU单元213、GPS单元212和LIDAR单元215接收)作为输入,并且基于接收到的输入生成HD位姿604(或对准用于LIDAR图像603的位姿)。HD地图生成子系统602然后可以接收LIDAR图像603和HD位姿604作为输入,并且基于输入生成HD地图605。
图7是示出根据一个实施例的用于HD地图生成系统的点云数据处理流程的示例的框图。点云数据处理流程700可以由诸如图6的系统600的HD地图生成系统或诸如图5的引擎125的HD地图生成引擎来实现。参考图7,在一个实施例中,点云数据处理流程700包括但不限于下采样处理701、分区处理702、Hadoop和消息传递接口(MPI)并行配准处理703、位姿图对准处理704和位姿调整处理705。这些操作701-705中的一些可以由地图生成系统以串联、并行、流水线式或分布式的方式由不同的处理节点执行。不同的处理描述如下。
点云数据处理流700的输入可以是原始点云以及其从LIDAR传感器或安装在一个或多个ADV上的其他传感器收集的位姿。通常,输入包含待优化和待对准的数万或数十万的LIDAR位姿。为了最小化输入点的数量,下采样处理701可以以顺序的方式在空间和/或时间上对位姿进行下采样。
在一个实施例中,下采样处理701可以在空间上对点云进行下采样。例如,下采样处理701可以确定空间滑动窗口。滑动窗口可以是具有预定半径的圆形窗口。然后,下采样处理701识别LIDAR点云以及空间窗口内所有点云的相应位姿,用于进一步处理。在一个实施例中,可以基于感兴趣的空间区域(例如,滑动窗口的中心区域),识别LIDAR点云。
在另一个实施例中,下采样处理701可以在时间上对点云进行下采样。例如,下采样处理701可以确定时间滑动窗口以跟踪每个空间滑动窗口的LIDAR点云的时间序列(例如,使用时间戳)。然后,下采样处理701可以基于每个时间序列识别LIDAR点云和相应的位姿用于进一步处理。例如,如果存在两个时间序列,即两个时间群集,则下采样处理701可以下采样到针对该两个时间序列的点云和相应的位姿。在时间上下采样点云对于ADV在红色停车灯下处于空闲状态的情况特别有用。在这种情况下,空闲的ADV可以捕获基本相同的LIDAR帧的时间序列,但是只有一个LIDAR点云是有用的。因此,下采样会针对该时间序列识别一个LIDAR点云用于进一步处理,而不是时间序列的多个LIDAR点云(其针对红色停车灯捕获类似的点云)。因此,下采样将减少重复或类似点云数据的数量,并且优化用于点云处理的输入数据。然后,由过程702对下采样的点云进行划分。
在一个实施例中,分区处理702基于一种或多种计算机视觉算法(诸如边缘检测和/或图像分割算法)确定环路闭合信息。例如,分区处理702可以使用角点检测算法检测特征或图像边缘。诸如Harris角点检测器的角点检测算法可以从LIDAR图像(例如,点云)提取和推断特征。然后分区处理702可以基于相应位姿、检测到的特征和/或可以预测车辆位置的车辆的时间和速度信息的集合的组合来检测和跟踪一个或多个环路。在另一个实施例中,可以基于道路轮廓或道路轮廓的特征识别道路环路闭合。然后,分区处理702基于环路闭合信息将点云划分为一组或多组点云,使得一组点云对应于环路。
在一个实施例中,如果检测到的环路跨越大于预定阈值的区域,则分区处理702可以将空间划分应用于环路分区,并且可以将环路分区进一步划分为两个或更多个块分区。这样,每个分区的计算负荷将不会超过预定阈值。在一个实施例中,将环路划分为预定空间区域的块。然后可以在Hadoop和消息传递接口(MPI)处理703中由计算节点的节点集群并行配准被划分的点云。
点云配准是指将各种点云对准参考位姿或点云。对于每个环路或块分区,为了对准分区中的点云,对对应于该分区的点云应用优化算法,以生成点云的HD LIDAR位姿。例如,处理703可以将迭代最近点(ICP)算法应用于一组点云。注意,ICP是一种用于最小化两点云之间的差的算法。ICP经常用于从不同扫描重新构建2D或3D表面。对于ICP,一个点云(例如参考点)保持固定,而其他点云则被变换以最佳地匹配参考点。算法迭代地修改最小化误差度量所需的变换(例如,平移和旋转),误差度量例如是匹配对的坐标之间的误差平方和或从其他点云到参考点云的距离。
例如,对于具有相应LIDAR位姿的点云i,对应于变换矩阵(例如其中ti是平移且Ri是旋转变换)的LIDAR位姿(x,y,z(偏航、俯仰和滚转))可以用于将点云i从相对坐标系(相对于车辆)投影到通用横轴墨卡托(UTM)坐标系。那么,投影方程为:其中xk是一组点云i中的任意点,ti是平移且Ri是旋转变换。
对于每个分区,处理703可以基于点云的位姿将相关的点云对(或帧对)识别为其中对表示点云i和点云j的对。然后可以将点云对之间的点定义为:其中xk是来自LIDAR点云索引i的点,xl是来自LIDAR点云索引j的点,其中表示具有索引i和j的一对点云对中的一对点。由每个点云的输入位置测量点对输入位置通常来自但不限于GPS信号。因此,基于上述的ICP算法的捆绑调整(BA)方程待优化,如下:
以上方程(P)可以通过诸如麦夸特(Levenberg Marquardt,LM)算法的优化算法来求解,但是其复杂度在O(m3)左右,其中m是帧对的数量。LM算法用于通过找到局部最小值来求解非线性最小二乘曲线拟合问题。在一个实施例中,方程(P)可以细分为一个或多个子问题,并且可以将这些子问题应用于优化算法(诸如ADMM算法)以分别求解。在一个实施例中,使用节点集群的计算节点并行求解这些子问题。例如,对于给定帧对第m个帧对的第i个点云的位姿变换矩阵为其中上标表示帧对m的子集的索引。下标表示在一组点云P中的点云i的索引。然后,待优化的基于并行管线的捆绑调整方程如下:
在该示例中,优化算法可以由节点集群的一个或多个节点处理,例如,每个节点处理一个帧对。在一个实施例中,可以基于对应于帧对的时间戳确定帧对是否相关,例如,具有连续时间戳或在时间阈值内的帧对可以是相关帧对。在另一个实施例中,可以基于环路闭合信息确定相关的帧对。例如,具有分离的时间戳但与相同或类似位置重合的两个帧可以是相关的帧(例如,环路闭合)。在这种情况下,两个帧的点云应该基本类似或匹配。一旦针对每个分区对准或配准了位姿,则可以通过处理704将分区合并在一起。
在一个实施例中,位姿图对准处理704可以基于位姿图对准算法(诸如,同时定位和映射(SLAM)算法)将各个分区合并为更大的地图分区。在一个实施例中,用于并排分区的重叠区域耦合在一起,使得对于重叠区域仅需要一组输出,例如,如果重叠区域是这两个区域共同的路线,则仅需要一组重叠路线。
在一个实施例中,位姿调整处理705还可以将位姿精确或调整到UTM坐标系。例如,一个位姿先被假定为参考位姿以对准其他位姿和点云。处理705可以应用最终位姿调整以减少用于映射到UTM坐标系的总误差。例如,处理705可以通过比较在应用优化算法之前和之后的相应位姿来分析输入的LIDAR位姿的GPS置信度。保持用最大置信度识别的一个或多个位姿(例如,接收到的位姿与计算的HD位姿之间的变化低于阈值)用于位姿调整。位姿调整之后的位置变化高于阈值的位姿可以被发送回到处理702-704,以进行位姿调整的附加迭代,直到位置变化被带到低于阈值。然后基于识别的位姿对所有位姿进行刚体变换。刚体变换是保留待变换的物体的形状和大小的变换。在此,旋转或反射变换是刚体变换,而缩放不是刚体变换。最后,具有调整后的位姿的点云用于生成高清(HD)3D点云图。在一个实施例中,可以将3D点云图可以被变换为具有自顶向下视图的2D定位地图。
点云配准还可以识别在数据捕获阶段具有高置信度的位姿,以用作固定参考位姿来在处理703中应用迭代ICP算法时对准帧对的其他位姿和点云。还可以在位姿图对准处理704期间使用固定参考位姿。基于具备高置信度的参考位姿求解捆绑调整方程减少待优化的决策变量的数量并且减少多个最优解的可能性。如所提到的,在处理704之后,可以进行质量检查。例如,点调整处理705可以在位姿调整之后比较每个点云位姿的位置变化,并且如果变化很大,则可以将结果再次发送回到处理702用于另一次迭代,直到来自704的结果通过质量检查为止。
图8是根据一个实施例的点云配准管线的框图,其中基于具备高置信度的参考LIDAR位姿,在分离的块中对区域的子地图进行并行计算。位姿分类器模块801可以接收点云的初始LIDAR位姿(位置、方向)802。初始位姿802可以具有关联的元数据,元数据允许位姿分类器模块801识别在点云配准之后其优化位姿可能接近其初始位姿的那些位姿(例如,优化位姿和初始位姿之间的变化为低于阈值)。在数据捕获阶段被识别为具有高置信度的这些位姿可以用作固定锚位姿,用于估计和优化点云配准期间其他点云位姿的位置和方向。在一个实施例中,位姿分类器模块801可以测量度量(诸如可见GPS卫星的数量),以确定是否将该位姿选择为锚位姿,可见GPS卫星的数量用于计算位姿的INSPVA(惯性导航系统位置速度和高度)、INSPVA的标准偏差等。
块分离模块803可以将点云划分为数个分区或块,以减少用于优化点云的位姿的计算负荷。划分的点云可以由并行计算节点801的集群并行配准。在一个实施例中,块分离模块803可以对点云进行划分,使得块中的帧对之间的最大距离不超过阈值。在一个实施例中,块分离模块803可以划分点云,使得块中点云的最大数量不超过阈值,因为ICP算法的复杂度和计算负荷是帧对数量的函数。
集群的并行计算节点801参考每个块中的固定锚位姿,分别对非锚位姿进行并行优化。与每个块相关联的帧对搜索模块805在每个块中搜索相关的点云对或帧对,每个帧对包括非锚位姿和锚位姿。在一个实施例中,例如当两个位姿具有连续时间戳或在时间阈值内的时间戳时,帧对搜索模块805可以基于对应于帧对的时间戳识别帧对。在一个实施例中,例如当两个位姿之间的几何距离在距离阈值内时,帧对搜索模块805可以基于对应于帧对的位置识别帧对。
与每个块相关联的点对选择模块807在由帧对搜索模块805识别的帧对中选择点对以应用ICP算法。可以通过最小化与参考帧对的锚位姿的对应点对准非锚点云位姿的点相关联的成本函数来求解每个块中的方程1或方程2的捆绑调整方程而实现ICP算法。为了连接并行计算节点801的点云配准并利用每个块内位姿的连续估计以改善性能,可以将正则项添加到捆绑调整方程的成本函数中。
用于块的用正则项更新的方程1的捆绑调整方程可以表示为:
其中是由位姿分类器模块801选择的锚位姿。是块中的一组点云P中的非锚位姿。是添加到捆绑调整方程的正则项以及α是加权因子。正则项可以是位姿的当前估计与位姿的先前或初始估计之间的几何距离之和的量度。通过最小化包括正则项的位姿的成本函数,ICP算法最小化位姿的连续估计之间的差并且创建中间估计,如果求解方案不令人满意,ICP算法可以从中间估计重新开始。方程3可以通过交替方向乘子法(ADMM)从ICP问题的增广拉格朗日式中得出,并在以下段落中进行描述。
与每个块相关联的ICP和优化模块809可以求解方程3的更新的捆绑调整方程,以优化每个块中的非锚位姿。在一个实施例中,正则项可以是块之间的重叠区域中的非锚位姿的函数,以连接由并行计算节点801的块执行的点云配准。但是,因为可能难以确定在块和相邻块之间的重叠区域中有哪些非锚位姿,为了易于实现,块的正则项可以包括块中的所有非锚位姿。
位姿图模块811可以合并来自并行计算节点801的所有块的优化位姿,以生成区域的优化位姿。在一个实施例中,位姿图模块811可以应用SLAM算法以耦合块之间的重叠区域。根据一个实施例,当合并不同块的优化位姿时,可以将正则项添加到成本函数。例如,当应用位姿图以合并块的优化位姿时,两个相邻块之间的重叠区域中的位姿的成本函数可以具有正则项作为位姿图残差近似。通过最小化包括块的重叠区域中位姿的正则项的成本函数,位姿图模块811可以最小化重叠区域中优化位姿的值中的差,并且可以增强由块执行的点云配准之间的连接。在一个实施例中,位姿图模块811可以最小化成本函数,以在合并位姿时参考固定锚位姿优化非锚位姿。
在一个实施例中,可以通过将成本函数编写为成本函数的增广拉格朗日式并用迭代求解增广拉格朗日问题(诸如由ICP和优化模块809以及位姿图模块811),使用ADMM算法最小化ICP问题的成本函数。例如,可以通过将重叠区域之间的成本项改变到位姿图成本项来放宽方程式1的捆绑调整方程。位姿图成本项可以是正则项。用正则项更新的捆绑调整方程可以表示为:
其中zl,i和zl,j是块l中的点云位姿i和j,具有对于的限制。可以通过ADMM算法求解方程5,其中并行ICP和优化模块809以及位姿图模块811将方程5重新编写为增广拉格朗日式并用迭代求解增广拉格朗日式问题。
然后可以在此处理中引入方程3中的正则项。
来自点图模块811的点云的优化位姿812可以被反馈到块分离模块803,以重新划分为块,用于点云配准的下一次迭代。并行计算节点801的集群可以再次将ICP算法并行地应用于划分的点云,并且位姿图模块811可以再次合并来自所有块的优化位姿以生成用于下一迭代的优化位姿。可以运行多次迭代,直到优化位姿满足可接受的标准为止。
图9是示出根据一个实施例的用于使用锚位姿迭代地求解每个块中更新的ICP优化问题以及求解位姿图的更新的成本函数的方法的示例的流程图。方法900可以由处理逻辑执行,处理逻辑可以包括软件、硬件或其组合。例如,方法900可以由自主车辆的地图生成引擎(诸如服务器103的HD地图生成引擎125)执行。
在操作901处,方法900从LIDAR传感器接收区域的点云和相应位姿。点云可以表示由LIDAR传感器捕获的对应于ADV的初始位姿(位置、方向)的区域的图像。
在操作903处,方法900选择在数据捕获阶段期间被识别为具有高置信度的那些点云位姿作为锚位姿,因为预期在点云配准之后这些位姿的优化位姿不会从其初始位姿变化超过阈值。方法900可以固定锚位姿,以在点云配准期间估计和优化其他点云位姿的位置和方向。在一个实施例中,操作903可以测量诸如可见GPS卫星的数量的度量,以确定位姿是否被选择为锚位姿,可见GPS卫星的数量用于计算位姿的INSPVA、INSPVA的标准偏差等。
在操作905处,方法900将点云分离为数个分区或块。可以诸如通过并行计算节点801并行地优化划分的点云。在一个实施例中,操作905可以对点云进行划分,使得分区中的帧对之间的最大距离不超过阈值。在一个实施例中,操作905可以对点云进行划分,使得分区中的点云的最大数量不超过阈值。
在操作907处,方法900在每个分区中搜索相关的点云对或帧对。每个帧对可以包括非锚位姿和锚位姿。在一个实施例中,例如当两个位姿具有连续时间戳或在时间阈值内的时间戳时,操作907可以基于对应于帧对的时间戳识别帧对。在一个实施例中,例如,当两个位姿之间的几何距离在距离阈值内时,操作907可以基于对应于帧对的位置识别帧对。
在操作909处,方法900在每个分区中所识别的帧对中选择点。对于每个帧对,操作909可以从非锚位姿中选择点,以及从锚位姿中选择对应点以应用ICP算法。
在操作911处,方法900通过针对帧对的选择的点求解每个分区中用正则项更新的捆绑调整方程,应用ICP算法。正则项可以是帧对的位姿的当前估计与位姿的先前或初始估计之间的几何距离之和的量度。通过最小化包括位姿的正则项的捆绑调整方程的成本函数,ICP算法最小化位姿的连续估计之间的差并且创建中间估计,如果求解方案不令人满意,ICP算法可以从中间估计重新开始。操作911可以应用ICP算法以参考每个分区中的锚位姿优化非锚位姿。
在操作913处,方法900通过求解用正则项更新的捆绑调整方程来将位姿图应用于分区的优化位姿以合并分区,正则项链接分区之间的重叠区域中的优化位姿。正则项可以是重叠区域中位姿的位姿图残差函数。通过最小化包括块的重叠区域中位姿的正则项的捆绑调整方程的成本函数,操作913可以最小化重叠区域中优化位姿的值的差并且可以增强分区中ICP算法之间的连接。操作913可以最小化成本函数,以在合并位姿时参考固定锚位姿优化非锚位姿。在一个实施例中,方法可以通过将成本函数编写为成本函数的增广拉格朗日式并用迭代求解增广拉格朗日式问题来使用ADMM算法最小化成本函数。
在操作915处,方法900确定是否通过点云配准的附加迭代来进一步优化非锚位姿。在一个实施例中,如果从分区的子地图构建的地图的精度可能具有恒定的偏移,则操作915可以确定进一步优化非锚位姿。如果期望进一步的优化,则方法900可以返回操作905以对点云进行重新划分,并且可以执行操作907-913的下一次迭代以通过求解分区中用正则项更新的捆绑调整方程来应用ICP算法,以及通过求解用正则项更新的捆绑调整方程来将位姿图应用于分区的优化位姿,正则项链接分区之间的优化重叠区域。
在操作917处,如果不期望进一步优化,则方法从位姿图的合并分区生成区域的优化位姿。
图10是示出根据一个实施例的方法的示例的流程图,该方法用于在每个块中选择锚位姿以及求解用正则项更新的ICP优化问题,以及用于最小化用正则项更新的成本函数以参考锚位姿来合并块。方法1000可以由处理逻辑来执行,该处理逻辑可以包括软件、硬件或其组合。例如,方法1000可以由自主车辆的地图生成引擎(诸如服务器103的HD地图生成引擎125)执行。
在操作1001处,方法1000从ADV的LIDAR传感器接收区域的点云和相应位姿。当区域的相应点云由LIDAR传感器捕获时,LIDAR位姿可以是ADV的LIDAR传感器的位置和方向。点云可以表示由LIDAR传感器捕获的对应于ADV的初始位姿(位置、方向)的区域的图像。
在操作1003处,方法1000选择在数据捕获阶段期间被识别为具有高置信度的那些点云位姿作为锚位姿。方法1000可以固定锚位姿,用于在点云配准期间估计和优化其他点云位姿的位置和方向。例如,方法1000可以使用固定锚位姿用于在ICP优化期间优化非锚位姿和求解位姿图问题。
在操作1005处,方法1000将点云分离为数个分区或块,以减少用于优化点云的位姿的计算负荷。可以诸如通过并行计算节点801并行地优化划分的点云。
在操作1007处,方法1000识别每个块中的相关点云对或帧对。每个帧对可以包括非锚位姿和固定锚位姿。可以基于帧对的位姿之间的时间或空间关系来识别帧对。
在操作1009处,方法1000在每个块中识别所识别的帧对中的点。对于每个帧对,操作1000可以从非锚位姿中选择点,并从固定锚位姿中选择对应点以应用ICP算法。
在操作1011处,方法1000参考每个块中的固定锚位姿优化非锚位姿,以通过限制非锚位姿的初始位姿和优化位姿之间的差异,基于从帧对中选择的点生成优化位姿。在一个实施例中,操作1011通过针对帧对的所选点求解每个块中用正则项更新的捆绑调整方程,求解ICP优化问题以优化非锚位姿。正则项使用固定锚位姿作为每个块中的参考位姿测量非锚位姿的估计位姿和初始位姿之间的差之和。通过最小化包括非锚位姿的正则项的捆绑调整方程的成本函数来求解捆绑调整方程,最小化非锚位姿的优化位姿与初始位姿之间的差,从而改善ICP优化问题的性能。
在操作1013处,方法1000合并来自多个块的非锚位姿的优化位姿,以通过限制块之间的重叠区域中非锚位姿的初始位姿和优化位姿之间的差,生成区域的点云的优化位姿。在一个实施例中,操作1013通过求解用正则项更新的捆绑调整方程,将位姿图应用到多个块的优化位姿以合并来自多个块的优化位姿,正则项链接块之间的重叠区域中的优化位姿。正则项可以是重叠区域中非锚位姿的位姿图残差函数。通过最小化块的重叠区域中用非锚位姿的正则项更新的捆绑调整方程的成本函数求解捆绑调整方程,增强块的ICP算法之间的连接,从而改善点云配准的性能。
数据处理系统可以执行上面描述的任何处理或方法,诸如,例如用于自主驾驶车辆的点云配准的方法。数据处理系统可以包括许多不同的组件。这些组件可以被实现为集成电路(IC)及其部分、分立电子设备或适合于电路板(诸如计算机系统的主板或附加卡)的其他模块,或者被实现为以其他方式并入计算机系统底盘内的组件。
数据处理系统可以包括一个或多个处理器、一个或多个存储器以及经由总线连接的设备。处理器可以表示一个或多个通用处理器,诸如微处理器、中央处理单元(CPU)等。更具体地,处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者是实现其他指令集的处理器、或者是实现指令集组合的处理器。处理器也可以是一个或多个专用处理器,诸如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其他类型逻辑。处理器可以被配置为执行存储在存储器中的指令,以执行本文讨论的操作和步骤。
本文描述的处理模块/单元/逻辑、组件和其他特征可以被实现为分立的硬件组件、或者被集成在诸如ASICS、FPGA、DSP或类似设备的硬件组件的功能中。另外,处理模块/单元/逻辑可以被实现为硬件设备内的固件或功能电路。此外,处理模块/单元/逻辑可以以任何组合的硬件设备和软件组件来实现。
根据对计算机存储器内的数据位的操作的算法和符号表示已经呈现前面详细描述的某些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法在这里并且通常被认为是导致期望结果的自相容操作序列。这些操作是需要对物理量进行物理操纵的那些操作。
然而,应当牢记的是,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非从上述讨论中另外明确指出,否则应理解的是,在整个说明书中,利用诸如所附权利要求书中阐述的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备将计算机系统寄存器和存储器内表示为物理(电子)量的数据操纵和转换为计算机系统存储器或寄存器或其他这样的信息存储、发送或显示设备内的类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描绘的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,但是应当理解的是,可以以不同的顺序执行所描述的一些操作。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施例不是参考任何特别编程语言描述的。将理解的是,可以使用各种编程语言来实现如本文描述的本公开的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (11)
1.一种用于自主驾驶的配准点云的计算机实现的方法,方法包括:
从与具有待映射的多个块的区域的多个点云相关联的多个初始位姿中选择一个或多个锚位姿;
从每个块中的多个点云中识别一个或多个帧对,每个帧对包括锚位姿中的一个和多个非锚位姿中的一个;
参考固定在每个块中的锚位姿优化非锚位姿,以通过限制非锚位姿的初始位姿和优化位姿之间的差,基于每个帧对之间的多个点对生成非锚位姿的优化位姿;以及
合并优化位姿,以针对块之间的重叠区域中的区域的点云生成多个优化位姿。
2.根据权利要求1所述的方法,其中,参考固定在每个块中的锚位姿优化非锚位姿包括:
求解包括每个块中非锚位姿的正则项的迭代最近点(ICP)算法,以生成非锚位姿的优化位姿。
3.根据权利要求2所述的方法,其中,非锚位姿的正则项包括非锚位姿的初始位姿和优化位姿之间的差,并且其中,求解包括每个块中非锚位姿的正则项的ICP算法,以生成非锚位姿的优化位姿,包括:
最小化用正则项更新的捆绑调整方程。
4.根据权利要求1所述的方法,其中,合并来自多个块的非锚位姿的优化位姿包括:
求解包括块之间的重叠区域中非锚位姿的正则项的位姿图问题。
5.根据权利要求4所述的方法,其中,求解包括块之间的重叠区域中非锚位姿的正则项的位姿图问题包括:
最小化用正则项更新的捆绑调整方程。
6.根据权利要求1所述的方法,其中,从多个初始位姿中选择一个或多个锚位姿包括:
基于包括可见GPS卫星的数量的度量确定一个或多个锚位姿,可见GPS卫星的数量用于计算对应于多个初始位姿中的每个的惯性导航系统位置速度和高度(INSPVA)。
7.根据权利要求1所述的方法,还包括:
将多个点云迭代地分离为多个块;
从每个块中的多个点云中识别一个或多个帧对;
从帧对的点云中识别多个点对;
参考固定在每个块中的锚位姿优化非锚位姿,以通过限制非锚位姿的先前优化位姿和当前优化位姿之间的差生成非锚位姿的优化位姿;以及
通过限制块之间的重叠区域中非锚位姿的先前优化位姿与当前优化位姿之间的差,合并来自多个块的非锚位姿的当前优化位姿。
8.根据权利要求1所述的方法,其中,通过限制块之间的重叠区域中非锚位姿的初始位姿和优化位姿之间的差,合并来自多个块的非锚位姿的优化位姿包括:使用交替方向乘子法(ADMM)算法最小化成本函数。
9.根据权利要求1所述的方法,其中,传感器包括光检测和测距(LIDAR)传感器。
10.一种非暂时性机器可读介质,具有存储在其中的指令,指令在由处理器执行时使处理器执行如权利要求1至9中任一项所述的用于自主驾驶的配准点云的方法的操作。
11.一种数据处理系统,包括:
处理器;以及
存储器,耦合到处理器,用于存储指令,指令在由处理器执行时使处理器执行如权利要求1至9中任一项所述的用于自主驾驶的配准点云的方法的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/692,956 | 2019-11-22 | ||
US16/692,956 US11521329B2 (en) | 2019-11-22 | 2019-11-22 | Updated point cloud registration pipeline based on ADMM algorithm for autonomous vehicles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112539755A true CN112539755A (zh) | 2021-03-23 |
CN112539755B CN112539755B (zh) | 2024-04-09 |
Family
ID=75014171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287813.5A Active CN112539755B (zh) | 2019-11-22 | 2020-11-17 | 用于自主车辆的基于admm算法的更新点云配准管线 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11521329B2 (zh) |
CN (1) | CN112539755B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625714A (zh) * | 2021-08-11 | 2021-11-09 | 重庆大学 | 一种基于并行求解的自动驾驶运动规划方法 |
CN116228825A (zh) * | 2023-01-29 | 2023-06-06 | 重庆邮电大学 | 一种基于显著锚点几何嵌入的点云配准方法 |
WO2023123890A1 (zh) * | 2021-12-30 | 2023-07-06 | 上海禾赛科技有限公司 | 激光雷达位姿的诊断方法、激光雷达及自动驾驶车辆 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220292290A1 (en) * | 2021-03-09 | 2022-09-15 | Pony Ai Inc. | Distributed computing network to perform simultaneous localization and mapping |
CN117355764A (zh) * | 2021-06-02 | 2024-01-05 | 华为技术有限公司 | 用于确定相对位姿的数据处理装置和方法 |
CN113569812A (zh) * | 2021-08-31 | 2021-10-29 | 东软睿驰汽车技术(沈阳)有限公司 | 未知障碍物的识别方法、装置和电子设备 |
CN113989451B (zh) * | 2021-10-28 | 2024-04-09 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置及电子设备 |
US11887272B2 (en) * | 2022-02-16 | 2024-01-30 | GM Global Technology Operations LLC | Method and system for determining a spatial transformation employing partial dimension iterative closest point |
CN115877349B (zh) * | 2023-02-20 | 2023-05-23 | 北京理工大学 | 一种基于激光雷达的交叉路口车辆定位方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108303099A (zh) * | 2018-06-14 | 2018-07-20 | 江苏中科院智能科学技术应用研究院 | 基于三维视觉slam的无人机室内自主导航方法 |
CN108629835A (zh) * | 2017-03-20 | 2018-10-09 | 哈尔滨工业大学 | 基于高光谱、真彩图与点云互补的室内重建方法及系统 |
US20180315232A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time incremental 3d reconstruction of sensor data |
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
CN108765487A (zh) * | 2018-06-04 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
CN109059942A (zh) * | 2018-08-22 | 2018-12-21 | 中国矿业大学 | 一种井下高精度导航地图构建系统及构建方法 |
CN109461208A (zh) * | 2018-11-15 | 2019-03-12 | 网易(杭州)网络有限公司 | 三维地图处理方法、装置、介质和计算设备 |
CN109887053A (zh) * | 2019-02-01 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 一种slam地图拼接方法及系统 |
CN110111349A (zh) * | 2019-04-22 | 2019-08-09 | 西安交通大学 | 一种基于点云的非刚体复杂构件高精度边缘提取方法 |
CN110412616A (zh) * | 2019-08-07 | 2019-11-05 | 山东金软科技股份有限公司 | 一种矿区地下采场验收方法与装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9760996B2 (en) * | 2015-08-11 | 2017-09-12 | Nokia Technologies Oy | Non-rigid registration for large-scale space-time 3D point cloud alignment |
US10309778B2 (en) * | 2016-12-30 | 2019-06-04 | DeepMap Inc. | Visual odometry and pairwise alignment for determining a position of an autonomous vehicle |
US11237004B2 (en) * | 2018-03-27 | 2022-02-01 | Uatc, Llc | Log trajectory estimation for globally consistent maps |
US11288412B2 (en) * | 2018-04-18 | 2022-03-29 | The Board Of Trustees Of The University Of Illinois | Computation of point clouds and joint display of point clouds and building information models with project schedules for monitoring construction progress, productivity, and risk for delays |
AU2018282435B1 (en) * | 2018-11-09 | 2020-02-06 | Beijing Didi Infinity Technology And Development Co., Ltd. | Vehicle positioning system using LiDAR |
WO2020107020A1 (en) * | 2018-11-23 | 2020-05-28 | Volvo Car Corporation | Lidar-based multi-person pose estimation |
US10976421B2 (en) * | 2018-12-28 | 2021-04-13 | Beijing Didi Infinity Technology And Development Co., Ltd. | Interface for improved high definition map generation |
US11262759B2 (en) * | 2019-10-16 | 2022-03-01 | Huawei Technologies Co., Ltd. | Method and system for localization of an autonomous vehicle in real time |
-
2019
- 2019-11-22 US US16/692,956 patent/US11521329B2/en active Active
-
2020
- 2020-11-17 CN CN202011287813.5A patent/CN112539755B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629835A (zh) * | 2017-03-20 | 2018-10-09 | 哈尔滨工业大学 | 基于高光谱、真彩图与点云互补的室内重建方法及系统 |
US20180315232A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time incremental 3d reconstruction of sensor data |
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
CN108765487A (zh) * | 2018-06-04 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
CN108303099A (zh) * | 2018-06-14 | 2018-07-20 | 江苏中科院智能科学技术应用研究院 | 基于三维视觉slam的无人机室内自主导航方法 |
CN109059942A (zh) * | 2018-08-22 | 2018-12-21 | 中国矿业大学 | 一种井下高精度导航地图构建系统及构建方法 |
CN109461208A (zh) * | 2018-11-15 | 2019-03-12 | 网易(杭州)网络有限公司 | 三维地图处理方法、装置、介质和计算设备 |
CN109887053A (zh) * | 2019-02-01 | 2019-06-14 | 广州小鹏汽车科技有限公司 | 一种slam地图拼接方法及系统 |
CN110111349A (zh) * | 2019-04-22 | 2019-08-09 | 西安交通大学 | 一种基于点云的非刚体复杂构件高精度边缘提取方法 |
CN110412616A (zh) * | 2019-08-07 | 2019-11-05 | 山东金软科技股份有限公司 | 一种矿区地下采场验收方法与装置 |
Non-Patent Citations (1)
Title |
---|
康俊民;赵祥模;徐志刚;: "基于特征几何关系的无人车轨迹回环检测", 中国公路学报, no. 01, 15 January 2017 (2017-01-15) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625714A (zh) * | 2021-08-11 | 2021-11-09 | 重庆大学 | 一种基于并行求解的自动驾驶运动规划方法 |
CN113625714B (zh) * | 2021-08-11 | 2024-03-15 | 重庆大学 | 一种基于并行求解的自动驾驶运动规划方法 |
WO2023123890A1 (zh) * | 2021-12-30 | 2023-07-06 | 上海禾赛科技有限公司 | 激光雷达位姿的诊断方法、激光雷达及自动驾驶车辆 |
CN116228825A (zh) * | 2023-01-29 | 2023-06-06 | 重庆邮电大学 | 一种基于显著锚点几何嵌入的点云配准方法 |
CN116228825B (zh) * | 2023-01-29 | 2024-01-23 | 武汉天宝耐特科技有限公司 | 一种基于显著锚点几何嵌入的点云配准方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112539755B (zh) | 2024-04-09 |
US20210158546A1 (en) | 2021-05-27 |
US11521329B2 (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112539755B (zh) | 用于自主车辆的基于admm算法的更新点云配准管线 | |
EP3524934B1 (en) | Systems and methods for determining a projection of an obstacle trajectory onto a reference line of an autonomous vehicle | |
CN113128326B (zh) | 具有语义地图和lstm的车辆轨迹预测模型 | |
US11055540B2 (en) | Method for determining anchor boxes for training neural network object detection models for autonomous driving | |
CN112540593B (zh) | 用于自动驾驶车辆的用于配准点云的方法和装置 | |
CN111771206A (zh) | 用于自动驾驶车辆的地图分区系统 | |
US11745760B2 (en) | Parallel obstacle buffer system for path planning | |
US11556127B2 (en) | Static obstacle map based perception system | |
US11661085B2 (en) | Locked pedestrian detection and prediction for autonomous vehicles | |
CN114026463A (zh) | 基于部分点云的行人速度估计方法 | |
US11567506B2 (en) | Speed planning guidance line for mild slow down | |
US11366220B2 (en) | Sparse array design for automotive radar using particle swarm optimization | |
US11505211B2 (en) | Relative speed based speed planning for buffer area | |
US11724717B2 (en) | Implementation of dynamic cost function of self-driving vehicles | |
US20210089042A1 (en) | Enumeration based failure prevention qp smoother for autonomous vehicles | |
US11529969B2 (en) | Pull over method based on quadratic programming for path planning | |
US20240025442A1 (en) | Trajectory planning in autonomous driving vehicles for unforeseen scenarios | |
US20230145561A1 (en) | Systems and methods for validating camera calibration in real-time |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |