CN112703368B - 车辆定位的方法和装置、定位图层生成的方法和装置 - Google Patents
车辆定位的方法和装置、定位图层生成的方法和装置 Download PDFInfo
- Publication number
- CN112703368B CN112703368B CN202080004104.3A CN202080004104A CN112703368B CN 112703368 B CN112703368 B CN 112703368B CN 202080004104 A CN202080004104 A CN 202080004104A CN 112703368 B CN112703368 B CN 112703368B
- Authority
- CN
- China
- Prior art keywords
- voxel
- weight value
- voxels
- layer
- vehicle
- 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.)
- Active
Links
Images
Classifications
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3415—Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
-
- 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/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- 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
Abstract
车辆(10)定位、定位图层生成和定位图层更新的方法和装置,车辆(10)定位的方法包括:至少利用来自卫星导航系统(110)和惯性测量单元(112)的数据,获取在第一时间点处车辆(10)的第一位置和第一姿态(S204);利用车辆(10)的激光雷达(114)的传感器数据,获取包含第一位置的第一局部地理区域的第一激光点云数据(S208);利用第一激光点云数据和预先构建的第一局部地理区域的第一定位图层来修正第一位置和第一姿态,以得到在第一时间点处车辆(10)的修正位置和修正姿态(S212),其中,第一定位图层构造成存储多个体素的标识和权重值,多个体素包括对在构建第一定位图层时获得的第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,体素的权重值表示体素被地理环境对象占据的可能程度。方法和装置能够提升定位稳定性和减少定位图层所需的存储空间。
Description
技术领域
本申请涉及车辆定位领域,尤其涉及车辆定位的方法和装置、定位图层生成的方法和装置以及定位图层更新的方法和装置。
背景技术
为实现在复杂场景下从A点到B点的自动驾驶,自动驾驶车辆需配备定位系统,以实时获取车辆与周围环境的相对位置关系以及周围环境包含的参考信息,用于制定复杂的行驶策略。
基础车载定位系统结合全球卫星导航(global navigation satellite system:GNSS)、惯性导航(inertial navigation system:INS)和车辆底盘轮速,在车辆行驶的情况下进行高动态实时定位。在此基础上,若采用诸如实时动态差分技术(real-time kinematic:RTK)这样的实时动态相对定位技术来修正定位数据,则可以实现大规模场景下的车道级精确定位。
然而,基础车载定位系统的定位精度易受天气、搜星数等因素影响,导致系统在同一位置处不同时间所获取的GNSS定位的绝对精度具有不确定性,定位结果会发生变化。此外,在诸如地下车库、城市峡谷和隧道等这样的无GNSS信号的区域中,基础车载定位系统只能依靠INS和/或车辆底盘轮速进行航位推算,这会产生累计误差并最终导致车辆偏离预定车道,从而影响基础车载定位系统的定位稳定性。
目前,主要采用相对地图的定位方案来提升定位稳定性和定位精度。相对地图的定位方案的基本原理是使用诸如激光雷达等这样的传感器来获取车辆周围的环境数据,并通过所获取的环境数据与预先构建的定位图层进行匹配来实现车辆定位。相对地图的定位方案以地图点为参考进行定位,由于地图中任意点都具有唯一的地图坐标,因此,相对地图的定位方案能够消除GNSS定位的不确定性,从而提升定位精度。另外,当车辆驶入无GNSS信号的区域时,相对地图的定位方案通过传感器实时采集的环境数据与定位图层进行匹配,能够消除累计误差,从而提升定位稳定性。
然而,现有的相对地图的定位方案所采用的定位图层的数据量较大,导致存储定位图层需要较大的存储空间,而且定位稳定性也还不够高。
发明内容
鉴于现有技术的以上问题,本申请的实施例提供车辆定位的方法和装置、定位图层生成的方法和装置以及定位图层更新的方法和装置,其能够减少存储定位图层所需的存储空间和提升定位稳定性。
本申请的第一方面提供一种车辆定位的方法,包括:至少利用来自卫星导航系统和惯性测量单元的数据,预测在第一时间点处车辆的第一位置和第一姿态;利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据;以及,利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,以及,所述体素的权重值表示该体素被地理环境对象占据的可能程度。这里,所述方法所使用的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,所述方法依赖于地理区域的地理空间结构,而不是地理环境对象的具体语义和地理环境对象对激光的反射强度,来对于车辆进行定位;由于地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化(例如,天气、路面随时间的磨损等)的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,所述方法都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一个可能的设计中,所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素,以及,所述多个体素中的每一个体素的所述权重值由该体素所包含的激光点的数量表示。这里,所述第一定位图层构造成只存储所述权重值大于零的体素的标识和权重值,不存储所述权重值等于零的体素的标识和权重值,即不存储对定位没有帮助的信息,这将减少和压缩定位图层的数据量,从而能够降低存储定位图层所需的存储空间。此外,一个体素被地理环境对象占据的可能程度越高,则该体素中包含的激光点的数量通常越多,因此,由该体素包含的激光点的数量来表示该体素的所述权重值能够可靠和简单地表示该体素被地理环境对象占据的可能程度。
在一个可能的设计中,所述第一定位图层构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。这里,散列表(也称为哈希表)是成对地存储键(key)和值(value)以便能根据键来对值进行直接访问或索引的数据结构,其能快速查找所存储的值。因此,把所述第一定位图层构造成散列表的形式,能够提高定位图层的索引/匹配的速度,从而提升定位效率。
在一个可能的设计中,所述修正所述第一位置和所述第一姿态包括:在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次抽样得到的抽样位置和抽样姿态;计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以生成所述第一定位图层的方式生成的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态而生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的;以及,至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。这里,借助于在车辆的第一位置和第一姿态的周围空间上抽样得到的多组抽样位置和抽样姿态来修正车辆的第一位置和第一姿态,能够比较可靠地确定车辆的修正位置和修正姿态。
在一个可能的设计中,所述确定所述修正位置和所述修正姿态包括:从所述多个位置姿态组中,选取其相似性得分大于第一阈值的各个第一位置姿态组;以及,将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。这里,仅选取相似性得分大于第一阈值的位置姿态组中的抽样位置和抽样姿态来修正车辆的第一位置和第一姿态以确定车辆的修正位置和修正姿态,可以有效地去除噪声抽样位置和噪声抽样姿态对车辆定位的影响,从而能够获得较高精度的定位结果。
在一个可能的设计中,所述计算所述多个位置姿态组的相似性得分包括:查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同;计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述第一类型的体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述第二类型的体素的所述权重值之和;以及,计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。这里,如果两个定位图层越相似,则在这两个定位图层中所存储的权重值相同的第一类型的体素的数量通常越多,在这两个定位图层中所存储的权重值不同的第二类型的体素的数量通常越少,从而代表第一类型的体素的权重值之和的第一总权重值与代表第二类型的体素的权重值之和的第二总权重值的差值通常越大,反之,表示第一类型的体素的权重值的总和的第一总权重值与表示第二类型的体素的权重值的总和的第二总权重值的差值通常越小。因此,使用代表第一类型的体素的权重值之和的第一总权重值与代表第二类型的体素的权重值之和的第二总权重值的差值作为位置姿态组的相似性得分,能够准确地表示出位置姿态组关联的基于在车辆处获取的激光点云数据做出的实时定位图层与预先构建的相应局部地理区域的定位图层的相似程度。
在一个可能的设计中,所述方法还包括:获取在第二位置处所述车辆的所述激光雷达的传感器数据;以及,生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的修正位置和修正姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。这里,在确定车辆的修正位置和修正姿态之后生成地图更新数据以便用于更新已构建的相应局部地理区域的定位图层所存储的各个体素的占据权重,能够降低在构建定位图层时对激光雷达的传感器数据的精度要求,减少或消除在定位图层的构建过程中运动对象(例如,运动的车辆或行人等)对定位图层的不良影响,从而能够提升相对于定位图层的定位结果的精度。
本申请的第二方面提供一种定位图层生成的方法,包括:获取第二地理区域的激光点云数据;对所述激光点云数据进行体素化,以得到多个体素;计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度;以及,存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。这里,所述方法生成的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,在使用所述方法生成的定位图层进行定位时,依赖于地理区域的地理空间结构,而不是地理环境对象的具体语义和地理环境对象对激光的反射强度;由于表示地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化(例如,天气、路面随时间的磨损等)的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,利用所述方法生成的定位图层都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一个可能的设计中,所述计算所述多个体素的权重值包括:计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值,以及,所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。这里,一个体素被地理环境对象占据的可能程度越高,则该体素中包含的激光点的数量通常越多,因此,由该体素包含的激光点的数量来表示该体素的所述权重值能够可靠和简单地表示该体素被地理环境对象占据的可能程度。此外,所述定位图层构造成只存储所述权重值大于零的体素的标识和权重值,不存储所述权重值等于零的体素的标识和权重值,即不存储对定位没有帮助的信息,这将减少和压缩定位图层的数据量,从而能够降低存储定位图层所需的存储空间。
在一个可能的设计中,所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。这里,散列表(也称为哈希表)是成对地存储键(key)和值(value)以便能根据键来对值进行直接访问或索引的数据结构,其能快速查找所存储的值。因此,把所述第一定位图层构造成散列表的形式,能够提高定位图层的索引/匹配的速度,从而提升定位效率。
本申请的第三方面提供一种定位图层更新的方法,包括:利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的;对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个体素的权重值表示该体素被地理环境对象占据的可能程度;计算所述多个第三体素的权重值;以及,利用所述多个第三体素的计算的权重值,更新在所述第三定位图层中存储的各体素的权重值。这里,利用车辆的激光雷达收集的传感器数据来更新已构建的相应局部地理区域的定位图层所存储的各个体素的占据权重,能够降低在构建定位图层时对激光雷达的传感器数据的精度要求,从而能够提升相对于定位图层的定位结果的精度。
在一个可能的设计中,所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及,所述更新在所述第三定位图层中存储的各体素的权重值包括:从所述多个第三体素中,选取所计算的权重值大于零的那些体素;对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值;对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中;以及,如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。这里,通过在定位图层中加入先前未存储的体素的权重值和删除未在所选取的体素中出现的那些体素的权重值,能够在定位图层中增加静态目标(例如,建筑物、路牌等)的权重值和删除运动目标(例如,运动的车辆或行人等)的权重值,减少或消除在定位图层的构建过程中运动目标对定位图层的不良影响,从而使定位图层匹配相应地理区域的真实环境,提升定位图层的可靠性。
本申请的第四方面提供一种车辆定位的装置,包括:预测模块,用于至少利用来自卫星导航系统和惯性测量单元的数据,获取在第一时间点处车辆的第一位置和第一姿态;获取模块,用于利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据;以及,修正模块,用于利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,以及,所述体素的权重值表示该体素被地理环境对象占据的可能程度。这里,所述装置使用的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,所述装置依赖于地理区域的地理空间结构,而不是地理环境对象的具体语义和地理环境对象对激光的反射强度,来对于车辆进行定位;由于地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化(例如,天气、路面随时间的磨损等)的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,所述装置都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一个可能的设计中,所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素,以及,所述多个体素中的每一个体素的所述权重值由该体素所包含的激光点的数量表示。
在一个可能的设计中,所述第一定位图层构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。
在一个可能的设计中,所述修正模块包括:抽样模块,用于在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次抽样得到的抽样位置和抽样姿态;第一计算模块,用于计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以生成所述第一定位图层的方式生成的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的;以及,确定模块,用于至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。
在一个可能的设计中,所述确定模块包括:选取模块,用于从所述多个位置姿态组中,选取其相似性得分大于第一阈值的各个第一位置姿态组;以及,第二计算模块,用于将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
在一个可能的设计中,所述第一计算模块包括:查找模块,用于查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同;第四计算模块,用于计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述第一类型的体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述第二类型的体素的所述权重值之和;以及,第五计算模块,用于计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。
在一个可能的设计中,所述装置还包括:获得模块,用于获取在第二位置处所述车辆的所述激光雷达的传感器数据;以及,生成模块,用于生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的位置和姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。
本申请的第五方面提供一种定位图层生成的装置,包括:获取模块,用于获取第二地理区域的激光点云数据;体素化模块,用于对所述激光点云数据进行体素化,以得到多个体素;计算模块,用于计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度;以及,存储模块,用于存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。这里,所述装置生成的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,在使用所述装置生成的定位图层进行定位时,依赖于表示地理区域的地理空间结构,而不是地理环境对象的具体语义和地理环境对象对激光的反射强度;由于地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化(例如,天气、路面随时间的磨损等)的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,利用所述装置生成的定位图层都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一个可能的设计中,所述计算模块进一步用于计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值,以及,所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。
在一个可能的设计中,所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。
本申请的第六方面提供一种定位图层更新的装置,包括:生成模块,用于利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的;体素化模块,用于对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个体素的权重值表示该体素被地理环境对象占据的可能程度;计算模块,用于计算所述多个第三体素的权重值;以及,更新模块,用于利用所述多个第三体素的计算的权重值,更新所述第三定位图层中存储的各体素的权重值。
在一个可能的设计中,所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及,所述更新模块包括:选取模块,用于从所述多个第三体素中,选取所计算的权重值大于零的那些体素;替换模块,用于对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值;存储模块,用于对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中;以及,删除模块,用于如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。
本申请的第七方面提供一种计算机设备,包括:总线;通信接口,与所述总线连接;至少一个处理器,其与所述总线连接;以及,至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行前述第一方面所述的方法。
本申请的第八方面提供一种地图生成设备,包括:总线;输入输出接口,与所述总线连接;至少一个处理器,与所述总线连接;以及,至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行前述第二方面所述的方法。
本申请的第九方面提供一种地图更新设备,包括:总线;输入输出接口,其与所述总线连接;至少一个处理器,其与所述总线连接;以及,至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行前述第三方面所述的方法。
本申请的第十方面提供一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行前述第一方面、第二方面或第三方面所述的方法。
本申请的第十一方面提供一种计算机程序,其包括有程序指令,所述程序指令当被计算机执行时使得所述计算机执行前述第一方面、第二方面或第三方面所述的方法。
本申请的第十二方面提供一种车辆,包括:传感器系统,其至少包括全球导航定位系统接收机、惯性测量单元和激光雷达;通信系统,用于所述车辆与外部进行通信;以及,前述计算机设备。
附图说明
本申请的特征、特点、特性和优点通过以下结合附图的详细描述将变得更加显而易见。
图1示出了按照本申请的实施例的车辆定位、定位图层生成和定位图层更新所涉及的实施环境的示意图。
图2A示出了按照本申请的实施例的车辆定位的方法的示意流程图。
图2B示出了按照本申请的实施例的修正位置和姿态的方法的示意流程图。
图2C示出了按照本申请的实施例的确定修正位置和修正姿态的方法的示意流程图。
图2D示出了按照本申请的实施例的计算相似性得分的方法的示意流程图。
图2E示出了按照本申请的实施例的生成地图更新数据的方法的示意流程图。
图3A示出了按照本申请的实施例的定位图层生成的方法的流程图。
图3B示出了按照本申请的实施例的定位图层更新的方法的流程图。
图3C示出了按照本申请的实施例的更新体素的权重值的方法的流程图。
图4A示出了按照本申请的实施例的车辆定位的装置的示意图。
图4B示出了按照本申请的实施例的修正模块的示意图。
图4C示出了按照本申请的实施例的确定模块的示意图。
图4D示出了按照本申请的实施例的第一计算模块的示意图。
图4E示出了按照本申请的实施例的地图更新数据生成模块的示意图。
图4F示出了按照本申请的实施例的定位图层生成的装置的示意图。
图4G示出了按照本申请的实施例的定位图层更新的装置的示意图。
图4H示出了按照本申请的实施例的更新模块的示意图。
图5A示出了按照本申请的实施例的定位图层生成、定位图层更新和车辆定位的系统的一种示例性具体实现。
图5B示出了按照本申请的实施例的定位图层生成方法的一种示例性具体实现。
图5C示出了按照本申请的实施例的车辆位置姿态预测方法的一种示例性具体实现。
图5D示出了按照本申请的实施例的车辆位置姿态修正方法的一种示例性具体实现。
图5E示出了按照本申请的实施例的定位图层更新方法的一种示例性具体实现。
图6示出了按照本申请的实施例的计算机设备的结构示意图。
图7示出了按照本申请的实施例的地图生成设备的结构示意图。
图8示出了按照本申请的实施例的地图更新设备的结构示意图。
具体实施方式
以下将参考所讨论的细节来描述本申请的各种实施方案和方面,附图将示出所述各种实施方案。下列描述和附图是对本申请的说明,而不应当解释为限制本申请。许多特定细节被描述以便提供对本申请的各种实施方案的全面理解。然而,在某些情况下,并未描述总所周知的或常规的细节以便提供对本申请的实施方案的简洁讨论。
本说明书中对“一个实施例”或“实施例”的提及意味着结合该实施例所描述的特定特征、结构或特性可以包括在本申请的至少一个实施例中。短语“在一些实施例中”在本说明书中各个地方的出现不意味着全部指相同的实施例。
此外,在本申请中,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作,然而,所描述的顺序不应被解释为暗示这些操作必须依赖所描述的顺序。例如,一些操作也可以并行地执行或以与所描述的顺序相反的顺序执行。
本申请所涉及的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
应当理解,在本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。
文献1(US20190204092A1)公开了一种定位系统和方法,其采用了激光雷达、车载相机、全球定位系统、惯性测量单元、车辆控制器域网数据和预先建立的定位图层来对自动驾驶车辆进行定位。
文献1所公开的定位图层(HD map)510,对于具有不同语义的地理环境对象的数据使用不同的方式进行存储,其中,车道的数据使用道标地图(landmark map)520来存储,而道路周围的三维(3D)地理环境对象的数据以曲面(mesh)、3D点云或体素格(volumetricgrid)的方式使用占用地图530来存储,其中,当在占用地图530中以体素格的方式来存储3D地理环境对象时,体素格数据中同时保存占用单元格和无法提供语义信息的空白单元格两者的数据,占用单元格的数据还额外存储了在占用单元格中存在的局部曲面的法向量,而空白单元格不包含该法向量。占用地图530的数据量较大,可达到1GB/英里。
文献1所公开的技术方案至少存在以下两个缺陷。第一,定位过程高度依赖传感器提供的具有语义的地理环境对象,因此,在诸如城市道路等此类具有丰富地理环境对象的场景中能取得较高的定位精度,而在诸如地下车库、隧道等此类缺乏丰富地理环境对象的场景通常定位精度要下降,这导致减小的定位稳定性或定位能力。另外,由于定位过程对地理环境对象的高度依赖,因此,对地理环境对象的误检所导致的不同的地理环境对象之间的误匹配,也会导致减小的定位稳定性或定位能力。第二,定位图层以曲面的方式、以3D点云的方式或以包含占用单元格和空白单元格两者的数据的体素格的方式来存储地理环境对象的数据,因此定位图层的数据量较大,这导致定位图层的存储需要较大的存储空间。
文献2(US20180143647A1)公开了一种定位系统和方法,其采用了激光雷达、全球定位系统、惯性测量单元、车辆底盘轮速和预先建立的定位图层来对自动驾驶车辆进行定位。
文献2所公开的技术方案至少存在以下两个缺陷。第一,以激光反射强度来表征地理环境对象的特征,这会降低定位稳定性。例如,对于路面而言,路面对激光的反射强度大小受路面磨损程度、天气、激光雷达数据质量和激光雷达安装位置影响,因此,同一车辆在不同时间下或不同天气条件下针对同一路面的激光反射强度是不同的,从而当同一车辆在没有标记的相同路面上行驶时,车辆在不同时间下或在不同天气条件下的定位结果会有很大的不同。第二,定位图层以图像的形式存储,因此定位图层的数据量较大,这导致定位图层的存储需要较大的存储空间。
考虑到现有技术的以上问题,本申请提出以下将详细描述的车辆定位、定位图层生成和定位图层更新的各个实施例。
在本申请中,术语“地理环境对象”是指车辆在其上行驶的地理区域中存在的各种能够反射激光的对象,例如但不限于,建筑物、路标、路牌、路面、树木、灌木丛、隧道天花板、隧道墙面、行人、车辆、动物、电线杆等。
术语“体素(voxel)”是体积元素(volume pixel)的简称,其是数字数据于三维空间分割上的最小单位,在概念上类似二维空间的最小单位-像素。
图1示出了按照本申请实施例的车辆定位、定位图层生成和定位图层更新所涉及的实施环境的示意图。如图1所示,该实施环境包括车辆10、地图生成设备30和地图更新设备40。
车辆10可以是常规车辆或自动驾驶车辆。自动驾驶车辆也可以称为无人驾驶车辆或智能驾驶车辆等,其可以在手动模式、全自主模式或部分自主模式下行驶。当被配置成在全自主模式或部分自主模式下行驶时,自动驾驶车辆可以在极少或没有来自驾驶员的控制输入的情况下在地理区域上自主行驶。
除了诸如发动机或电动机、车轮、方向盘、变速器这样的常用部件之外,车辆10还包括传感器系统102、通信系统104和计算机设备108。
传感器系统102至少包括全球导航卫星系统(global navigation satellitesystem:GNSS)接收机110、惯性测量单元(inertial measurement unit:IMU)112和激光雷达(light detection and ranging:LiDAR)114。
GNSS接收机110用于接收卫星信号以对车辆进行定位。GNSS接收机可以是全球定位系统(global positioning system:GPS)接收机、北斗系统接收机或者其他类型定位系统接收机。
IMU 112可以基于惯性加速度来感测车辆的位置和朝向变化。可选的,IMU 112可以是加速度计和陀螺仪的组合,用于测量车辆的角速度、加速度。
激光雷达114利用激光来感测车辆10所位于的地理环境中的物体。利用激光雷达114的传感器数据,可以形成地理区域的激光点云数据(也称为激光点云地图)。例如,激光雷达114可以包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
例如,传感器系统102还可以包括底盘轮速传感器,其可以感测车辆10的底盘轮速。
通信系统104用于车辆10与外部进行通信,其可以直接或者经由通信网络与外部的一个或多个装置无线通信。例如,通信系统104可以使用第三代(3G)蜂窝通信(例如,码分多址(code division multiple access:CDMA)等)、第四代(4G)蜂窝通信(例如,长期演进(long term evolution:LTE)等)或者第五代(5G)蜂窝通信与外部装置通信。又例如,通信系统104可以利用WiFi和无线局域网(wireless local area network:WLAN)与外部装置通信。又例如,通信系统104可以利用红外链路、蓝牙技术或ZigBee与外部设备直接通信。
计算机设备108与传感器系统102和通信系统104连接。计算机设备108可以利用从传感器系统102接收的传感器数据和车辆10所处的局部地理区域的定位图层,来对车辆10进行定位。计算机设备108所使用的定位图层可以是预先存储在计算机设备108中的,或者,可以是通过通信系统104从诸如服务器等这样的外部设备获取的。
地图生成设备30可以是诸如服务器、工作站、台式计算机或笔记本电脑等这样的具有计算能力的电子设备,其用于利用地理区域的激光点云数据来生成用于对车辆进行定位的定位图层。所生成的定位图层可以存储在网络设备或云端等以供车辆在使用之前下载到本地或在使用时实时下载,或者,可以提供给用户、车辆制造商、车辆销售商或者车辆服务人员以将其存储在车辆中。所述激光点云数据是利用诸如车辆或无人机之类的检测设备在所述地理区域中通过激光雷达获取的传感器数据而形成的。
地图更新设备40可以是诸如服务器、工作站、台式计算机或笔记本电脑等这样的具有计算能力的电子设备,其用于对已构建的定位图层进行更新。
图2A示出了按照本申请的实施例的车辆定位的方法的示意流程图。图2A所示的方法200可以例如由车辆10的计算机设备108或任何其它合适的设备来执行,以相对地图来确定车辆10的位置和姿态。方法200包括步骤S204-步骤S212。
在步骤S204,至少利用来自卫星导航系统和惯性测量单元的数据,获取在第一时间点处车辆的第一位置和第一姿态。
例如,可以仅利用来自车辆10的GNSS接收机110和IMU 112两者的数据来获取车辆10的第一位置和第一姿态。又例如,可以利用来自车辆10的GNSS接收机110、IMU 112和底盘轮速传感器三者的数据来获取车辆10的第一位置和第一姿态。又例如,利用来自车辆10的GNSS接收机110和IMU 112以及其它任何合适的传感器的数据,或者,利用来自车辆10的GNSS接收机110、IMU 112和底盘轮速传感器以及其它任何合适的传感器的数据,来获取车辆10的第一位置和第一姿态。
已经存在许多已知的仅基于GNSS接收机和IMU两者,或者,基于GNSS接收机和IMU以及其它合适传感器,来获取包括车辆在内的运动对象的位置和姿态的定位技术,这里,可以利用这些定位技术中的任意合适的定位技术来获取车辆10的第一位置和第一姿态,本申请对此不做任何限制。
在步骤S208,利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据。
例如,所述第一局部地理区域可以是以车辆10的第一位置为中心的局部区域。又例如,所述第一局部地理区域可以是包含车辆10的第一位置但未以其为中心的局部区域。
例如,所述第一激光点云数据可以仅利用在第一时间点处获得的激光雷达114的传感器数据来构建。
又例如,所述第一激光点云数据可以利用在所述第一时间点处和在所述第一时间点之前的一次或多次所获取的激光雷达114的传感器数据来形成,如图5C的方法540中的步骤S544-S546所示的。
在步骤S212,利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,以及,所述体素的权重值表示该体素被地理环境对象占据的可能程度。
所述多个体素可以是对所述第二激光点云数据进行体素化得到的各个体素中的所有体素或部分体素(例如,所述权重值大于零的那些体素)。
每一个体素的权重值例如可以由表示该体素中包含的激光点的数量来表示。或者,每一个体素的权重值可以利用其它合适的方式表示,例如但不限于,每一个体素的权重值可以由该体素中包含的激光点的数量与指定数量的比值来表示,所述指定数量是所述多个体素的所有体素中其包含的激光点的数量最大的那个体素所包含的激光点的数量。
体素的标识例如可以但不限于利用体素的位置信息来表示或基于体素的位置信息计算得到。体素的位置信息例如可以是体素在所述第一定位图层所应用的空间坐标系(例如,全局空间坐标系)中的经度坐标值、纬度坐标值和高度坐标值。或者,体素的位置信息可以是体素在所述第一定位图层所应用的空间坐标系中的在经度方向上的序号、在纬度方向上的序号和在高度方向上的序号。例如,某个体素的位置信息可以是[100,130,180],其表示该体素属于在所述第一定位图层所应用的空间坐标系中在经度方向上第100个体素、在纬度方向上第130个体素和在高度方向上第180个体素。又或者,体素的标识例如可以但不限于基于体素的位置信息计算得到。例如,体素的标识例如是该体素的位置信息的散列映射值。
所述第一定位图层例如可以是但不限于从所述车辆或者诸如服务器之类的其它设备获取的。
例如,步骤S212中的对车辆的第一位置和第一姿态的修正可以利用图5D所示的修正方法550中的步骤S552-S568所描述的方式来实现,其中,由于在进行空间抽样时并不抽样车辆的第一位置和第一姿态本身,因此,抽样得到的各个抽样位置和抽样姿态未包含有车辆的第一位置和第一姿态,从而所述多个位置姿态组不包括具有车辆的第一位置和第一姿态的位置姿态组。
又例如,步骤S212中的对车辆的第一位置和第一姿态的修正可以利用与图5D所示的修正方法550的步骤S552-S568所描述的方式不同的第一可选方式来实现,所述第一可选方式与图5D所示的修正方法550的步骤S552-S568所描述的方式不同在于:在进行空间抽样时也抽样车辆的第一位置和第一姿态本身,因此,其中一次抽样得到的抽样位置和抽样姿态是车辆的第一位置和第一姿态,从而所述多个位置姿态组包括具有车辆的第一位置和第一姿态的位置姿态组,然后,在步骤S568,将其相似性得分最大的那个位置姿态组所包含的位置和姿态作为在第一时间点T1处车辆10的修正位置和修正姿态。
这里,本实施例的方法所使用的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,本实施例的方法依赖于地理区域的地理空间结构,而不是环境对象的具体语义和地理环境对象对激光的反射强度,来对车辆进行定位;由于地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化(例如,天气、路面随时间的磨损等)的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,本实施例的方法都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一些实施例中,所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素。
这里,所述第一定位图层构造成只存储所述权重值大于零的体素的标识和权重值,不存储所述权重值等于零的体素的标识和权重值,即不存储对定位没有帮助的信息,这将减少和压缩定位图层的数据量,从而能够降低存储定位图层所需的存储空间。
在一些实施例中,所述多个体素中的每一个体素的所述权重值可以由该体素所包含的激光点的数量表示。
这里,一个体素被地理环境对象占据的可能程度越高,则该体素中包含的激光点的数量通常越多,因此,由该体素包含的激光点的数量来表示该体素的所述权重值能够可靠和简单地表示该体素被地理环境对象占据的可能程度。
在一些实施例中,所述第一定位图层可以构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。所述散列映射值例如是利用已知的散列函数针对所述位置信息计算得到的。
散列表(也称为哈希表)是成对地存储键(key)和值(value)以便能根据键来对值进行直接访问或索引的数据结构,其能快速查找所存储的值。因此,把所述第一定位图层构造成散列表的形式,能够提高定位图层的索引/匹配的速度,从而提升定位效率。
在一些实施例中,如图2B所示,步骤S212中的修正所述第一位置和所述第一姿态可以包括步骤S216、步骤S220和步骤S224中的操作。
其中,在步骤S216,在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次空间抽样得到的抽样位置和抽样姿态。
在步骤S220,计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以制作所述第一定位图层的方式制作的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的。
例如,步骤S220中的计算所述多个位置姿态组的相似性得分可以利用图5D所示的修正方法550中的步骤S554-S564所描述的方式来实现。
又例如,步骤S220中的计算所述多个位置姿态组的相似性得分例如可以利用与图5D所示的修正方法550中的步骤S554-S564所描述的方式不同的第一可选方式来实现,所述第一可选方式与步骤S554-S564所描述的方式不同在于:在步骤S564,对于每个位置姿态组,将其第一总权重值,其第一总权重值与其第二总权重值的比值,或者,其第一总权重值与其第一总权重值跟其第二总权重值之和的比值,作为该位置姿态组的相似性得分。
例如,所述第一空间坐标系可以是但不限于所述车辆的局部空间坐标系,以及,所述第二空间坐标系可以是但不限于全局空间坐标系。
在步骤S224,至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。
例如,步骤S224中的确定所述修正位置和所述修正姿态可以利用图5D所示的修正方法550中的步骤S566-S568所描述的方式来实现。
又例如,步骤S224中的确定所述修正位置和所述修正姿态可以利用与图5D所示的修正方法550中的步骤S566-S568所描述的方式不同的第一可选方式来实现,该第一可选方式与步骤S566-S568所描述的方式不同之处在于:在步骤S568,使用与最小二乘加权拟合不同的其它加权拟合算法来对各个位置姿态组C1所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
这里,借助于在车辆的第一位置和第一姿态的周围空间上抽样得到的多组抽样位置和抽样姿态来修正车辆的第一位置和第一姿态,能够比较可靠地确定车辆的修正位置和修正姿态。
在一些实施例中,如图2C所示,步骤S224中的确定所述修正位置和所述修正姿态可以包括步骤S228和步骤S232。
其中,在步骤S228,从所述多个位置姿态组中,选取其相似性得分大于第一阈值的各个第一位置姿态组。
在步骤S232,将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
这里,仅选取相似性得分大于第一阈值的位置姿态组中的抽样位置和抽样姿态来修正车辆的第一位置和第一姿态以确定车辆的修正位置和修正姿态,可以有效地去除噪声抽样位置和噪声抽样姿态对车辆定位的影响,从而能够获得较高精度的定位结果。
在一些实施例中,如图2D所示,步骤S220中的计算所述多个位置姿态组的相似性得分可以包括步骤S240、步骤S244和步骤S248。
其中,在步骤S240,查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同。
在步骤S244,计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述各个第一体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述各个第二体素的所述权重值之和。
在步骤S248,计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。
这里,如果两个定位图层越相似,则在这两个定位图层中所存储的权重值相同的第一类型的体素的数量通常越多,在这两个定位图层中所存储的权重值不同的第二类型的体素的数量通常越少,从而代表第一类型的体素的权重值之和的第一总权重值与代表第二类型的体素的权重值之和的第二总权重值的差值通常越大,反之,表示第一类型的体素的权重值的总和的第一总权重值与表示第二类型的体素的权重值的总和的第二总权重值的差值通常越小。因此,使用代表第一类型的体素的权重值之和的第一总权重值与代表第二类型的体素的权重值之和的第二总权重值的差值作为位置姿态组的相似性得分,能够准确地表示出与位置姿态组关联的基于在车辆处获取的激光点云数据做出的实时定位图层与预先构建的相应局部地理区域的定位图层的相似程度。
在一些实施例中,如图2E所示,方法200还可以包括步骤S252和步骤S256,以生成用于更新定位图层的地图更新数据。
在步骤S252,获取在第二位置处所述车辆的所述激光雷达的传感器数据。
在步骤S256,生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的位置和姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。
这里,在确定车辆的修正位置和修正姿态之后生成地图更新数据以便用于更新已构建的相应局部地理区域的定位图层所存储的各个体素的占据权重,能够降低在构建定位图层时对激光雷达的传感器数据的精度要求,减少或消除在定位图层的构建过程中运动对象(例如,运动的车辆或行人等)对定位图层的不良影响,从而能够提升相对于定位图层的定位结果的精度。
图3A示出了按照本申请的实施例的定位图层生成的方法的流程图。图3A所示的方法300可以例如由图1的地图生成设备30或任何其它适当的设备来执行。方法300可以包括步骤S302-步骤S312。
在步骤S302,获取第二地理区域的激光点云数据。
这里,第二地理区域可以是任何适当的区域,例如但不限于,一个或多个城市的区域,一个或多个省的区域,一个或多个国家的区域等。例如,可以由检测人员驾驶配置有激光雷达的车辆在第二地理区域中行驶或控制配置有激光雷达的无人机在第二地理区域中飞翔以收集激光雷达的传感器数据,利用所收集的传感器数据就可以构造出第二地理区域的激光点云数据。
在步骤S306,对所述激光点云数据进行体素化,以得到多个体素。
在步骤S310,计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度。
每一个体素的权重值例如可以利用该体素所包括的激光点的数量表示。或者,每一个体素的权重值例如可以利用其它任何合适的方式表示,例如但不限于,每一个体素的权重值可以由该体素中包含的激光点的数量与指定数量的比值来表示,所述指定数量是所述多个体素的所有体素中其包含的激光点的数量最大的那个体素所包含的激光点的数量。
在步骤S312,存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。
每个体素的所述标识例如可以由该体素在与所述定位图层关联的空间坐标系下的位置信息表示,或由该位置信息的散列映射值表示。所述散列映射值例如是利用已知的散列函数针对所述位置信息计算得到的。
这里,本实施例的定位图层存储表示体素被地理环境对象占据的可能程度的权重值,其体现地理区域的地理空间结构,并不存储地理环境对象的具体语义(即具体种类)和易受环境变化影响的地理环境对象对激光的反射强度,因而,在使用本实施例的定位图层对进行定位时,依赖于表示地理区域的地理空间结构,而不是环境对象的具体语义和地理环境对象对激光的反射强度;由于地理区域的地理空间结构不易受地理环境对象的具体语义和环境变化的影响,因此,不管是在地理环境对象的种类丰富的地理区域还是在地理环境对象的种类匮乏的地理区域,也不管环境如何变化,利用本实施例所制作的定位图层进行定位都能获得基本相同的定位效果,从而能够提升定位稳定性和定位性能。
在一些实施例中,步骤S310中的计算所述多个体素的权重值可以进一步包括:计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值。
通常,一个体素被地理环境对象占据的可能程度越高,则该该体素中包含的激光点的数量越多,因此,由该体素包含的激光点的数量来表示该体素的所述权重值能够可靠和简单地表示该体素被地理环境对象占据的可能程度。
在一些实施例中,所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。
这里,所述第一定位图层构造成只存储所述权重值大于零的体素的标识和权重值,不存储所述权重值等于零的体素的标识和权重值,即不存储对定位没有帮助的信息,这将减少和压缩定位图层的数据量,从而能够降低存储定位图层所需的存储空间。
在一些实施例中,所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。
散列表是成对地存储键(key)和值(value)以便能根据键来对值进行直接访问或索引的数据结构,其能通过键快速查找所存储的值。因此,把所述第一定位图层构造成散列表的形式,能够提高定位图层的索引/匹配的速度,从而提升定位效率。
图3B示出了按照本申请的实施例的定位图层更新的方法的流程图。图3B所示的方法350可以例如由图1的地图更新设备40或任何其它适当的设备来执行。方法350可以包括步骤S352-步骤S358。
在步骤S352,利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达收集的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的。
在步骤S354,对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个体素的权重值表示该体素被地理环境对象占据的可能程度。
例如,所述至少一部分体素可以是所述多个第三体素中的所有体素。又例如,所述至少一部分体素可以是所述多个第三体素中的其权重值大于零的那些体素。
体素的权重值例如可以利用该体素所包括的激光点的数量表示。或者,体素的权重值例如可以利用其它任何合适的方式表示,例如但不限于,体素的权重值可以由该体素中包含的激光点的数量与指定数量的比值来表示,所述指定数量是所述多个第三体素的所有体素中其包含的激光点的数量最大的那个体素所包含的激光点的数量。
例如,体素的标识可以由该体素在与所述第三定位图层关联的空间坐标系下的位置信息表示,或者可以由该位置信息的散列映射值表示。所述散列映射值例如是利用已知的散列函数针对所述位置信息计算得到的。
在步骤S354,计算所述多个第三体素的权重值。
在步骤S356,利用所述多个第三体素的权重值,更新在所述第三定位图层中存储的各体素的权重值。
可选地,例如但不限于可以利用图5E中的步骤S592所描述的方式来更新在所述第一定位图层中存储的各体素的权重值。
这里,利用车辆的激光雷达收集的传感器数据来更新已构建的相应局部地理区域的定位图层所存储的各个体素的占据权重,能够降低在构建定位图层时对激光雷达的传感器数据的精度要求,从而提升相对于定位图层的定位结果的精度。
在一些实施例中,所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及,如图3C所示的,步骤S356中的所述更新在所述第三定位图层中存储的各体素的权重值可以包括步骤S358、步骤S360、步骤S362和步骤S364。
其中,在步骤S358,从所述多个第三体素中,选取所计算的权重值大于零的那些体素。在步骤S360,对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值。在步骤S362,对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中。在步骤S364,如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。
这里,通过在定位图层中加入先前未存储的体素的权重值和删除未在所选取的体素中出现的那些体素的权重值,能够在定位图层中增加静态目标(例如,建筑物、路牌等)的权重值和删除运动目标(例如,运动的车辆或行人等)的权重值,减少或消除在定位图层的构建过程中运动目标对定位图层的不良影响,从而使定位图层匹配相应地理区域的真实环境,提升定位图层的可靠性。
上文结合图2A-2E和图3A-3C,详细描述了本申请的车辆定位、定位图层生成和定位图层更新的方法实施例,下面结合图4A-4H详细描述本申请的车辆定位、定位图层生成和定位图层更新的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,在装置实施例中未详细描述的部分可以参见前面方法实施例。
图4A示出了按照本申请实施例的用于车辆定位的装置的示意图。图4A所示的装置400可以由图1的计算机设备108或其它任何合适的装置来实现。装置400包括预测模块402、获取模块404和修正模块406。
预测模块402用于至少利用来自卫星导航系统和惯性测量单元的数据,获取在第一时间点处车辆的第一位置和第一姿态。
获取模块404用于利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据。
修正模块406用于利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,以及,所述体素的权重值表示该体素被地理环境对象占据的可能程度。
在一些实施例中,所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素。
在一些实施例中,所述多个体素中的每一个体素的所述权重值由该体素所包含的激光点的数量表示。
在一些实施例中,所述第一定位图层构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。
在一些实施例中,如图4B所示,修正模块406可以包括抽样模块408、第一计算模块410和确定模块412。
抽样模块408用于在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次抽样得到的抽样位置和抽样姿态。
第一计算模块410用于计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以生成所述第一定位图层的方式生成的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的。
确定模块412用于至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。
在一些实施例中,如图4C所示,确定模块412可以包括选取模块414和第二计算模块416。
选取模块414用于从所述多个位置姿态组中,选取其相似性得分大于第一阈值的各个第一位置姿态组。
第二计算模块416用于将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
在一些实施例中,如图4D所示,第一计算模块410可以包括查找模块420、第四计算模块422和第五计算模块424。
查找模块420用于查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同。
第四计算模块422用于计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述第一类型的体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述第二类型的体素的所述权重值之和。
第五计算模块424用于计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。
在一些实施例中,如图4E所示,装置400还可以包括地图更新数据生成模块425,其包括获得模块426和生成模块428。
获得模块426用于获取在第二位置处所述车辆的所述激光雷达的传感器数据。
生成模块428用于生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的位置和姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。
图4F示出了按照本申请实施例的定位图层生成的装置的示意图。图4F所示的装置450可以由图1中的地图生成设备30或其它任何合适的设备来实现。装置450可以包括获取模块452、体素化模块454、计算模块456和存储模块458。
获取模块452用于获取第二地理区域的激光点云数据。
体素化模块454用于对所述激光点云数据进行体素化,以得到多个体素。
计算模块456用于计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度。
存储模块458用于存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。
在一些实施例中,计算模块456进一步用于计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值。
在一些实施例中,所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。
在一些实施例中,所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。
图4G示出了按照本申请实施例的用于定位图层更新的装置的示意图。图4G所示的装置480可以由图1中的地图更新设备40或其它任何合适的设备来实现。装置480可以包括生成模块482、体素化模块484、计算模块486和更新模块488。
生成模块482用于利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的。
体素化模块484用于对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个体素的权重值表示该体素被地理环境对象占据的可能程度。
计算模块486用于计算所述多个第三体素的权重值。
更新模块488用于利用所述多个第三体素的计算的权重值,更新所述第三定位图层中存储的各体素的权重值。
在一些实施例中,所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及,如图4H中所示,更新模块488可以包括选取模块490、替换模块492、存储模块494和删除模块496。
其中,选取模块490用于从所述多个第三体素中,选取所计算的权重值大于零的那些体素。替换模块492用于对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值。存储模块494用于对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中。删除模块496用于如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。
需要说明的是,上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图5A示出了按照本申请的实施例的用于定位图层生成、定位图层更新和车辆定位的系统的一种示例性具体实现。
如图5A所示,用于定位图层生成、定位图层更新和车辆定位的系统包括四个模块:定位图层的离线生成模块502、车辆全局位置姿态的预测模块506、车辆全局位置姿态的修正模块512和定位图层的离线更新模块514。
离线生成模块502以某个局部地理区域的原始激光点云数据为输入,输出该局部地理区域的用于定位的定位图层。
预测模块506以GNSS数据、INS数据、车辆底盘轮速、激光雷达的传感器数据为输入,输出预测的在全局空间坐标系下车辆10的位置和姿态(即,车辆的位置和姿态的预测值),以及在车辆10的局部空间坐标系下车辆10的周围区域的激光点云数据。
修正模块512以加载的预先构建的定位图层、预测的车辆10的位置和姿态、在车辆10的空间坐标系下车辆10的周围区域的激光点云数据为输入,输出在全局空间坐标系下车辆10的修正位置和修正姿态。
离线更新模块514在判定车辆驶入已构建定位图层的区域之后,以修正后的定位结果、在车辆10的局部空间坐标系下车辆10的周围区域的激光点云数据、已构建的定位图层为输入,输出更新权重值的定位图层。
其中,离线生成模块502例如可以由图1中的地图生成设备30来实现,预测模块506和修正模块512例如可以由图1中的计算机设备108来实现,以及,离线更新模块514例如可以由图1中的地图更新设备40来实现。
图5B示出了按照本申请的实施例的定位图层生成方法的一种示例性具体实现。图5B所示的定位图层生成方法531由离线生成模块502实现。定位图层生成方法531可以包括步骤S532-步骤S540。
在步骤S532,对指定地理区域的激光点云数据进行体素化,以得到多个体素。
所述指定地理区域例如是但不限于一个或多个城市的区域,一个或多个省的区域,一个或多个国家的区域等。例如,可以由检测人员驾驶配置有激光雷达的车辆在所述指定地理区域中行驶以收集激光雷达的传感器数据,然后利用所收集的传感器数据来形成所述指定地理区域在全局空间坐标系下的激光点云数据。
在步骤S534,计算所述多个体素中的每一个体素的散列映射值和权重值,其中,每一个体素的权重值表示该体素被地理环境对象占据的可能程度,其等于该体素所包含的激光点的数量,以及,每一个体素的散列映射值用作该体素的标识,其是利用散列映射函数对该体素在全局空间坐标下的位置信息进行散列映射计算得到的。所述位置信息例如可以但不限于由体素在全局空间坐标系中的经度坐标值、纬度坐标值和高度坐标值表示,或者,由体素在全局空间坐标系中的在经度方向上的序号、在纬度方向上的序号和在高度方向上的序号来表示。
在步骤S536,从所述多个体素中,选取其权重值大于零的那些体素。这里,权重值等于零的体素被认为对定位没有帮助,因此,并不会存储这些权重值等于零的体素的信息,以减少和压缩需要存储的数据量。
在步骤S538,以用作体素的标识的散列映射值和权重值分别作为键和值,将所选取的那些体素各自所包括的散列映射值和权重值以键值对的方式成对地存储到散列表中,从而得到所述指定地理区域的定位图层。
在步骤S540,考虑所述指定地理区域的范围大小以及以后要使用定位图层来定位的定位设备的运行时内存空间和运算能力等因素,将所述指定地理区域的定位图层分成多片以进行存储。
散列表形式的定位图层可以通过键值对的插入和删除操作,非常方便地加载期望区域的地图数据,同时删除期望区域外的地图数据。散列表形式的定位图层的加载和删除的过程可动态完成,因此,散列表形式的定位图层非常适于分片存储,而且无需确保相邻地理区域的分片定位图层之间存在重叠区域。
各个分片定位图层中的部分或全部可以存储在常规服务器或云服务器中以供各个车辆下载使用,或者,可以提供给车辆的用户、制造商、销售商或服务人员以直接存储在车辆中。
图5C示出了按照本申请的实施例的车辆位置姿态预测方法的一种示例性具体实现。图5C所示的车辆位置姿态预测方法540由预测模块506来实现。方法540可以包括步骤S542-步骤S546。
在步骤S542,利用从车辆10的GNSS接收机112、IMU 114和底盘轮速传感器接收的GNSS数据、IMU数据和车辆底盘轮速,预测在第一时间点T1处车辆10的位置和姿态。应理解,在第一时间点T1处车辆10的位置和姿态是全局空间坐标系下的位置和姿态,不是在车辆10的局部空间坐标系下的位置和姿态。
利用GNSS数据、IMU数据和车辆底盘轮速来确定车辆的位置和姿态是已知的技术,在此省略对其的详细描述。
在步骤S544,利用车辆10的传感器系统102所接收的GNSS数据、IMU数据和车辆底盘轮速,计算多帧传感器数据之间的相对运动,其中,所述多帧传感器数据包括在第一时间点T1处获取的车辆10的传感器系统102的激光雷达的传感器数据和在第一时间点T1之前的一次或多次中获取的车辆10的传感器系统102的激光雷达的传感器数据。
在步骤S546,根据所计算的相对运动,将所述多帧传感器数据进行叠加,以形成在车辆10的局部空间坐标系下车辆10的周围区域(即包含所预测的车辆10的位置的局部地理区域)的激光点云数据(为了便于描述,以下将其称为激光点云数据P1)
图5D示出了按照本申请的实施例的车辆位置姿态修正方法的一种示例性具体实现。图5D所示的车辆位置姿态修正方法550由修正模块512来实现,其对图5C的车辆位置姿态预测方法540所预测的在第一时间点T1处车辆10的位置和姿态进行修正,以得到在第一时间点T1处车辆10的修正位置和修正姿态。修正方法550可以包括步骤S552-步骤S576。
在步骤S552,在所预测的在第一时间点T1处车辆10的位置和姿态的周围空间上,以一定空间抽样间隔,针对位置和姿态进行多次空间抽样,得到多个位置姿态组,其中,每个位置姿态组包括其中一次空间抽样得到的抽样位置和抽样姿态。
这里,在第一时间点T1处车辆10的位置和姿态的周围空间的范围不是固定的,而基于在第一时间点T1处的车辆10的车速估计得到的,因此无需通过多次迭代来确定和查找该周围空间的范围。
在步骤S554,利用每个位置姿态组所包括的抽样位置和抽样姿态,生成每个位置姿态组的从车辆10的局部空间坐标系到全局空间坐标系的三维空间变换,以得到所述多个位置姿态组各自的三维空间变换。
在步骤S556,利用每个位置姿态组的三维空间变换,将在车辆10的空间坐标系下车辆10的周围区域的激光点云数据P1变换到全局空间坐标系,以得到每个位置姿态组的变换的激光点云数据。
在步骤S558,按照与图5B所示的定位图层生成方法相同的方法,利用每个位置姿态组的变换的激光点云数据,生成与每个位置姿态组关联的实时定位图层,以得到所述多个位置姿态组各自关联的实时定位图层。
在步骤S560,查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,第一类型的体素是其在与该位置姿态组关联的实时定位图层中所存储的权重值和在预先构建的包含在第一时间点T1处车辆10的第一位置的局部地理区域的定位图层(以下称为定位图层M1)中所存储的权重值相同的各个体素,而第二类型的体素是其在与该位置姿态组关联的实时定位图层中所存储的权重值和在定位图层M1中所存储的权重值不同的各个体素。这里,如果某个体素仅在位置姿态组关联的实时定位图层和定位图层M1的其中一个存储有权重值,则其也属于第二类型的体素。
在步骤S562,计算每个位置姿态组的第一总权重值和第二总权重值,其中,第一总权重值等于该位置姿态组的第一类型的体素在定位图层M1中所存储的权重值之和,第二总权重值等于该位置姿态组的第二类型的体素在定位图层M1中所存储的权重值之和。
在步骤S564,计算每个位置姿态组的第一总权重值和第二总权重值之差,作为该位置姿态组的相似性得分,从而得到所述多个位置姿态组的相似性得分。这里,每个位置姿态组的相似性得分表示与该位置姿态组关联的实时定位图层和定位图层M1的相似程度。
在步骤S566,从所述多个位置姿态组中,选取其相似性得分大于指定阈值的那些位置姿态组。为了便于描述,以下将所选取的位置姿态组称为位置姿态组C1。
在步骤S568,将所选取的各个位置姿态组C1的相似性得分作为权重,对所选取的各个位置姿态组C1所包括的抽样位置和抽样姿态进行最小二乘加权拟合,以得到在第一时间点T1处车辆10的修正位置和修正姿态。
在步骤S572,根据在第一时间点T1处车辆10的修正位置和修正姿态,以及,基于车辆10的传感器系统102所接收的传感器数据而确定的从第一时间点T1到当前时间点期间车辆10的运动,确定在当前时间点处车辆10的修正位置和修正姿态,作为在当前时间点处车辆10的定位结果。为了便于描述,以下将在当前时间点处车辆10的修正位置和修正姿态称为修正位置AP和修正姿态AZ。
在步骤S574,获取在修正位置AP处车辆10的激光雷达的传感器数据。
在步骤S576,生成地图更新数据,其包括车辆10的修正位置AP和修正姿态AZ以及在步骤S574获取的传感器数据。所生成的地图更新数据例如可以提供给地图更新设备以更新已构建的定位图层。
车辆位置姿态预测方法540和车辆位置姿态修正方法550可以例如但不限于周期地执行以连续地对车辆10进行定位。
图5E示出了按照本申请的实施例的定位图层更新方法的一种示例性具体实现。图5E所示的定位图层更新方法580由离线更新模块514来实现,其利用车辆位置姿态修正方法550所生成的地图更新数据来更新已构建的定位图层。更新方法580可以包括步骤S582-步骤S592。
在步骤S582,如果地图更新数据所包含的车辆10的修正位置(以下称为修正位置KK)位于预先构建的定位图层覆盖的地理区域中,则利用地图更新数据所包含的传感器数据,形成包含修正位置KK的局部地理区域(以下将其称为局部地理区域A1)在车辆10的局部空间坐标系下的激光点云数据(以下将其称为激光点云数据M2)。
在步骤S584,使用基于地图更新数据所包含的车辆10的修正位置和修正姿态而生成的从车辆10的局部空间坐标系到全局空间坐标系的三维空间变换,将激光点云数据M2变换到全局空间坐标系,以得到变换的激光点云数据M2。以下将变换的激光点云数据M2称为激光点云数据M3。
在步骤S586,对激光点云数据M3进行体素化,以得到多个体素。
在步骤S588,计算所述多个体素中的每一个体素的散列映射值和权重值,其中,每一个体素的权重值等于该体素所包含的激光点的数量,以及,每一个体素的散列映射值作为该体素的标识,其是利用已知的散列映射函数对该体素在全局空间坐标下的位置信息进行散列映射计算得到的。
在步骤S590,从所述多个体素中,选取其权重值大于零的那些体素。
在步骤S592,利用所选取的体素的权重值和作为标识的散列映射值,更新局部地理区域A1的定位图层中的各体素的权重值。
具体地,对所选取的每一个体素,以其散列映射值作为标识来索引局部地理区域A1的定位图层,以查看在局部地理区域A1的定位图层中是否存储有该体素的权重值。
如果在局部地理区域A1的定位图层中存储有该体素的权重值且所计算的权重值与所存储的权重值相同,则不更新局部地理区域A1的定位图层中所存储的该体素的权重值。
如果在局部地理区域A1的定位图层中存储有该体素的权重值且所计算的权重值与所存储的权重值不同,则利用该体素的计算的权重值来替换局部地理区域A1的定位图层中所存储的该体素的权重值。
如果在局部地理区域A1的定位图层中未存储有该体素的权重值,则将该体素的作为标识的散列映射值和权重值以键值对的方式加入到局部地理区域A1的定位图层中进行存储。这种情形的出现大多数情况下是由于在先前生成局部地理区域A1的定位图层之后在局部地理区域A1中新增了诸如建筑物、路牌等之类的静态目标而导致的。因此,通过在局部地理区域A1的定位图层中加入先前未存储的体素的标识和权重值,能够在定位图层中增加静态目标的权重值,从而使定位图层匹配相应地理区域的真实环境,提升定位图层的可靠性。
此外,还检查局部地理区域A1的定位图层中是否存储有其未在所选取的体素中出现的体素的权重值。如果检查结果表明存储有这样的体素的权重值,则从局部地理区域A1的定位图层中删除这样的体素的标识和权重值。这样的体素在局部地理区域A1的定位图层中存在通常是由于先前生成局部地理区域A1的定位图层时在局部地理区域A1中存在诸如车辆和/或行人等此类运动目标导致的。因此,通过从局部地理区域A1的定位图层中删除其未在所选取的体素中出现的那些体素的权重值,能够从定位图层中删除运动目标的权重值,从而使定位图层匹配相应地理区域的真实环境,提升定位图层的可靠性。
图6示出了按照本申请的实施例的计算机设备的结构示意图。图6所示的计算机设备601例如可以是但不限于图1中的计算机设备108。
计算机设备601可以包括至少一个处理器602、至少一个存储器604、通信接口606和总线608。
处理器602、存储器604和通信接口606通过总线608相连。通信接口606用于计算机设备600与其他设备之间进行通信。存储器604用于存储程序代码和数据。处理器602用于执行存储器604中的程序代码以执行图2A-2E或图5C-5D所述的方法。存储器604可以是处理器602内部的存储单元,也可以是与处理器602独立的外部存储单元,还可以是包括处理器602内部的存储单元和与处理器602独立的外部存储单元的部件。
图7示出了按照本申请的实施例的地图生成设备的结构示意图。图7所示的地图生成设备701例如可以是但不限于图1中的地图生成设备30。
地图生成设备701可以包括至少一个处理器702、至少一个存储器704、输入输出接口706和总线708。
处理器702、存储器704和输入输出接口706通过总线708相连。输入输出接口706用于从外部接收数据和信息以及向外部输出数据和信息。输入输出接口706例如可以包括鼠标、键盘、显示器等。存储器704用于存储程序代码和数据。处理器702用于执行存储器704中的程序代码以执行图3A或图5B所述的方法。存储器704可以是处理器702内部的存储单元,也可以是与处理器702独立的外部存储单元,还可以是包括处理器702内部的存储单元和与处理器702独立的外部存储单元的部件。
图8示出了按照本申请的实施例的地图更新设备的结构示意图。图8所示的地图更新设备801例如可以是但不限于图1中的地图更新设备40。
地图更新设备801可以包括至少一个处理器802、至少一个存储器804、输入输出接口806和总线808。
处理器802、存储器804和输入输出接口806通过总线808相连。输入输出接口806用于从外部接收数据和信息以及向外部输出数据和信息。输入输出接口806例如可以包括鼠标、键盘、显示器等。存储器804用于存储程序代码和数据。处理器802用于执行存储器804中的程序代码以执行图3B或图5E所述的方法。存储器804可以是处理器802内部的存储单元,也可以是与处理器802独立的外部存储单元,还可以是包括处理器802内部的存储单元和与处理器802独立的外部存储单元的部件。
处理器602、702和902可以是但不限于通用处理器、数字信号处理器(digitalsignal processing:DSP)、专用集成电路(application specific integrated circuit:ASIC)、现场可编程门阵列(field programmable gate array:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器604、704和804例如可以是但不限于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、磁碟或者光盘等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元、模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,并且这种实现不应认为超出本申请的范围。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干程序指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述存储介质可以包括但不限于U盘、移动硬盘、只读存储器(read-only memory:ROM)、随机存取存储器(random access memory:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种车辆定位的方法,其特征在于,包括:
至少利用来自卫星导航系统和惯性测量单元的数据,获取在第一时间点处车辆的第一位置和第一姿态;
利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据;以及
利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,
其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,所述体素的权重值表示该体素被地理环境对象占据的可能程度,其中,所述车辆的定位依赖于所述权重值。
2.如权利要求1所述的方法,其特征在于,
所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素,以及
所述多个体素中的每一个体素的所述权重值由该体素所包含的激光点的数量表示。
3.如权利要求1所述的方法,其特征在于,
所述第一定位图层构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述修正所述第一位置和所述第一姿态包括:
在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次空间抽样得到的抽样位置和抽样姿态;
计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以生成所述第一定位图层的方式生成的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态而生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的;以及
至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。
5.如权利要求4所述的方法,其特征在于,所述确定所述修正位置和所述修正姿态包括:
从所述多个位置姿态组中,选取相似性得分大于第一阈值的各个第一位置姿态组;以及
将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
6.如权利要求4所述的方法,其特征在于,所述计算所述多个位置姿态组的相似性得分包括:
查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同;
计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述第一类型的体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述第二类型的体素的所述权重值之和;以及
计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。
7.如权利要求1所述的方法,其特征在于,还包括:
获取在第二位置处所述车辆的所述激光雷达的传感器数据;以及
生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,
其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的位置和姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。
8.一种定位图层生成的方法,其特征在于,包括:
获取第二地理区域的激光点云数据;
对所述激光点云数据进行体素化,以得到多个体素;
计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度,其中,车辆的定位依赖于所述权重值;以及
存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。
9.如权利要求8所述的方法,其特征在于,
所述计算所述多个体素的权重值包括:计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值,以及
所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。
10.如权利要求8所述的方法,其特征在于,
所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。
11.一种定位图层更新的方法,其特征在于,包括:
利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的;
对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个第三体素的权重值表示该体素被地理环境对象占据的可能程度,其中,所述车辆的定位依赖于所述权重值;以及
计算所述多个第三体素的权重值;以及
利用所述多个第三体素的计算的权重值,更新在所述第三定位图层中存储的各体素的权重值。
12.如权利要求11所述的方法,其特征在于,
所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及
所述更新在所述第三定位图层中存储的各体素的权重值包括:
从所述多个第三体素中,选取所计算的权重值大于零的那些体素;
对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值;
对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中;以及
如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。
13.一种车辆定位的装置,其特征在于,包括:
预测模块,用于至少利用来自卫星导航系统和惯性测量单元的数据,获取在第一时间点处车辆的第一位置和第一姿态;
获取模块,用于利用所述车辆的激光雷达的传感器数据,获取包含所述第一位置的第一局部地理区域的第一激光点云数据;以及
修正模块,用于利用所述第一激光点云数据和预先构建的所述第一局部地理区域的第一定位图层来修正所述第一位置和所述第一姿态,以得到在所述第一时间点处所述车辆的修正位置和修正姿态,
其中,所述第一定位图层构造成存储多个体素的标识和权重值,所述多个体素包括对在构建所述第一定位图层时获得的所述第一局部地理区域的第二激光点云数据进行体素化得到的各个体素中的至少一部分,以及,所述体素的权重值表示该体素被地理环境对象占据的可能程度,其中,所述车辆的定位依赖于所述权重值。
14.如权利要求13所述的装置,其特征在于,
所述多个体素包括对所述第二激光点云数据进行体素化得到的各个体素中的所述权重值大于零的体素,以及
所述多个体素中的每一个体素的所述权重值由该体素所包含的激光点的数量表示。
15.如权利要求13所述的装置,其特征在于,
所述第一定位图层构造成以散列表的形式成对地存储所述多个体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在所述第一定位图层所应用的空间坐标系下的位置信息的散列映射值表示。
16.如权利要求13-15中任一项所述的装置,其特征在于,所述修正模块包括:
抽样模块,用于在所述第一位置和所述第一姿态的周围空间上针对位置和姿态进行多次空间抽样,以得到多个位置姿态组,其中,每个位置姿态组包括其中一次空间抽样得到的抽样位置和抽样姿态;
第一计算模块,用于计算所述多个位置姿态组的相似性得分,其中,任一位置姿态组的相似性得分表示与所述任一位置姿态组关联的第二定位图层和所述第一定位图层的相似程度,所述第二定位图层是利用第三激光点云数据以生成所述第一定位图层的方式生成的,以及,所述第三激光点云数据是利用基于所述任一位置姿态组包括的抽样位置和抽样姿态生成的三维空间变换,将所述第一激光点云数据从与所述车辆关联的第一空间坐标系变换到与所述第一定位图层关联的第二空间坐标系而得到的;以及
确定模块,用于至少基于所述多个位置姿态组的所述相似性得分,确定所述修正位置和所述修正姿态。
17.如权利要求16所述的装置,其特征在于,所述确定模块包括:
选取模块,用于从所述多个位置姿态组中,选取其相似性得分大于第一阈值的各个第一位置姿态组;以及
第二计算模块,用于将所述各个第一位置姿态组的相似性得分作为权重,对所述各个第一位置姿态组所包括的抽样位置和抽样姿态进行加权拟合,以得到所述修正位置和所述修正姿态。
18.如权利要求16所述的装置,其特征在于,所述第一计算模块包括:
查找模块,用于查找每个位置姿态组的第一类型的体素和第二类型的体素,其中,所述第一类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值相同,而所述第二类型的体素在与该位置姿态组关联的所述第二定位图层中存储的所述权重值和在所述第一定位图层中存储的所述权重值不同;
第四计算模块,用于计算每个位置姿态组的第一总权重值和第二总权重值,其中,所述第一总权重值等于在所述第一定位图层中存储的所述第一类型的体素的所述权重值之和,以及,所述第二总权重值等于在所述第一定位图层中存储的所述第二类型的体素的所述权重值之和;以及
第五计算模块,用于计算每个位置姿态组的所述第一总权重值与所述第二总权重值之差,作为该位置姿态组的相似性得分,以得到所述多个位置姿态组的相似性得分。
19.如权利要求13所述的装置,其特征在于,还包括:
获得模块,获取在第二位置处所述车辆的所述激光雷达的传感器数据;以及
生成模块,用于生成地图更新数据,其包括所述第二位置和第二姿态以及所获取的传感器数据,
其中,所述第二位置和所述第二姿态是在当前时间点处所述车辆的位置和姿态,其是根据在所述第一时间点处所述车辆的所述修正位置和所述修正姿态以及从所述第一时间点到所述当前时间点期间所述车辆的运动而确定的。
20.一种定位图层生成的装置,其特征在于,包括:
获取模块,用于获取第二地理区域的激光点云数据;
体素化模块,用于对所述激光点云数据进行体素化,以得到多个体素;
计算模块,用于计算所述多个体素的权重值,每一个体素的权重值指示该体素被地理环境对象占据的可能程度,其中,车辆的定位依赖于所述权重值;以及
存储模块,用于存储所述多个体素中的至少一部分体素的标识和权重值,以得到所述第二地理区域的定位图层。
21.如权利要求20所述的装置,其特征在于,
所述计算模块进一步用于计算所述多个体素中的每一个体素所包含的激光点的数量,作为该体素的权重值,以及
所述至少一部分体素是所述多个体素中的所述权重值大于零的各个体素。
22.如权利要求20所述的装置,其特征在于,
所述定位图层构造成以散列表的形式成对地存储所述至少一部分体素的所述标识和所述权重值,以及,每一个体素的所述标识由该体素在与所述定位图层关联的空间坐标系下的位置信息的散列映射值表示。
23.一种定位图层更新的装置,其特征在于,包括:
生成模块,用于利用地图更新数据来生成第三局部地理区域的第四激光点云数据,其中,所述地图更新数据包括车辆的第三位置和第三姿态以及在所述第三位置处所述车辆的激光雷达的第一传感器数据,所述第三局部地理区域是包含所述第三位置的局部地理区域,以及,所述第四激光点云数据是利用所述第一传感器数据形成的;
体素化模块,用于对第五激光点云数据进行体素化,以得到多个第三体素,其中,所述第五激光点云数据是利用基于所述第三位置和所述第三姿态而生成的三维空间变换,将所述第四激光点云数据从与所述车辆关联的空间坐标系变换到与第三定位图层关联的空间坐标系而得到的,以及,其中所述第三定位图层是以前构造的所述第三局部地理区域的定位图层,其存储所述多个第三体素中的至少一部分体素的标识和权重值,每一个体素的权重值表示该体素被地理环境对象占据的可能程度,其中,所述车辆的定位依赖于所述权重值;
计算模块,用于计算所述多个第三体素的权重值;以及
更新模块,用于利用所述多个第三体素的计算的权重值,更新所述第三定位图层中存储的各体素的权重值。
24.如权利要求23所述的装置,其特征在于,
所述第三定位图层存储所述多个第三体素中的所述权重值大于零的那些体素的所述标识和所述权重值,以及
所述更新模块包括:
选取模块,用于从所述多个第三体素中,选取所计算的权重值大于零的那些体素;
替换模块,用于对于所选取的每一个体素,如果所述第三定位图层存储有该体素的权重值且所存储的权重值和所计算的权重值不相同,则利用该体素的所计算的权重值替换所述第三定位图层中存储的该体素的权重值;
存储模块,用于对于所选取的每一个体素,如果所述第三定位图层未存储有该体素的权重值,则将该体素的所述标识和所计算的权重值存储在所述第三定位图层中;以及
删除模块,用于如果所述第三定位图层存储有未在所选取的体素中出现的第四体素的标识和权重值,则从所述第三定位图层中删除所述第四体素的标识和权重值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/085060 WO2021207999A1 (zh) | 2020-04-16 | 2020-04-16 | 车辆定位的方法和装置、定位图层生成的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112703368A CN112703368A (zh) | 2021-04-23 |
CN112703368B true CN112703368B (zh) | 2022-08-09 |
Family
ID=75514810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080004104.3A Active CN112703368B (zh) | 2020-04-16 | 2020-04-16 | 车辆定位的方法和装置、定位图层生成的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112703368B (zh) |
WO (1) | WO2021207999A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220150691A (ko) * | 2021-05-04 | 2022-11-11 | 현대자동차주식회사 | 차량의 위치 보정 장치 및 그 방법 |
US11803977B2 (en) | 2021-12-13 | 2023-10-31 | Zoox, Inc. | LIDAR point cloud alignment validator in HD mapping |
CN114220053B (zh) * | 2021-12-15 | 2022-06-03 | 北京建筑大学 | 一种基于车辆特征匹配的无人机视频车辆检索方法 |
CN114459471B (zh) * | 2022-01-30 | 2023-08-11 | 中国第一汽车股份有限公司 | 定位信息确定方法、装置、电子设备及存储介质 |
CN115527034B (zh) * | 2022-10-26 | 2023-08-01 | 北京亮道智能汽车技术有限公司 | 一种车端点云动静分割方法、装置及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106338736A (zh) * | 2016-08-31 | 2017-01-18 | 东南大学 | 一种基于激光雷达的全3d占据体元地形建模方法 |
CN110276829A (zh) * | 2018-06-15 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 通过多尺度体素哈希处理的三维表示 |
CN110989619A (zh) * | 2019-12-23 | 2020-04-10 | 北京百度网讯科技有限公司 | 用于定位对象的方法、装置、设备和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
CN116659526A (zh) * | 2016-03-15 | 2023-08-29 | 康多尔收购第二分公司 | 用于提供车辆认知的系统和方法 |
US9996944B2 (en) * | 2016-07-06 | 2018-06-12 | Qualcomm Incorporated | Systems and methods for mapping an environment |
US10579065B2 (en) * | 2016-11-23 | 2020-03-03 | Baidu Usa Llc | Algorithm and infrastructure for robust and efficient vehicle localization |
WO2018148924A1 (zh) * | 2017-02-17 | 2018-08-23 | 深圳市大疆创新科技有限公司 | 用于三维点云重建的方法和装置 |
EP3633655A4 (en) * | 2017-05-31 | 2021-03-17 | Pioneer Corporation | CARD GENERATION DEVICE, ORDERING PROCESS, PROGRAM AND STORAGE MEDIA |
US10816347B2 (en) * | 2017-12-12 | 2020-10-27 | Maser Consulting, Inc. | Tunnel mapping system and methods |
US11294060B2 (en) * | 2018-04-18 | 2022-04-05 | Faraday & Future Inc. | System and method for lidar-based vehicular localization relating to autonomous navigation |
CN109059906B (zh) * | 2018-06-26 | 2020-09-29 | 上海西井信息科技有限公司 | 车辆定位方法、装置、电子设备、存储介质 |
JP2020034451A (ja) * | 2018-08-30 | 2020-03-05 | パイオニア株式会社 | データ構造、記憶媒体及び記憶装置 |
CN109297510B (zh) * | 2018-09-27 | 2021-01-01 | 百度在线网络技术(北京)有限公司 | 相对位姿标定方法、装置、设备及介质 |
CN109341707B (zh) * | 2018-12-03 | 2022-04-08 | 南开大学 | 未知环境下移动机器人三维地图构建方法 |
CN110378997B (zh) * | 2019-06-04 | 2023-01-20 | 广东工业大学 | 一种基于orb-slam2的动态场景建图与定位方法 |
CN110807782B (zh) * | 2019-10-25 | 2021-08-20 | 中山大学 | 一种视觉机器人的地图表示系统及其构建方法 |
CN110889808B (zh) * | 2019-11-21 | 2023-02-28 | 广州文远知行科技有限公司 | 一种定位的方法、装置、设备及存储介质 |
-
2020
- 2020-04-16 CN CN202080004104.3A patent/CN112703368B/zh active Active
- 2020-04-16 WO PCT/CN2020/085060 patent/WO2021207999A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106338736A (zh) * | 2016-08-31 | 2017-01-18 | 东南大学 | 一种基于激光雷达的全3d占据体元地形建模方法 |
CN110276829A (zh) * | 2018-06-15 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 通过多尺度体素哈希处理的三维表示 |
CN110989619A (zh) * | 2019-12-23 | 2020-04-10 | 北京百度网讯科技有限公司 | 用于定位对象的方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
"面向自动驾驶的高精度地图优化和定位技术研究";申泽邦,;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20190915(第09期);11-20,37-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112703368A (zh) | 2021-04-23 |
WO2021207999A1 (zh) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112703368B (zh) | 车辆定位的方法和装置、定位图层生成的方法和装置 | |
US10552689B2 (en) | Automatic occlusion detection in road network data | |
US11657072B2 (en) | Automatic feature extraction from imagery | |
US11423677B2 (en) | Automatic detection and positioning of pole-like objects in 3D | |
US10970542B2 (en) | Scalable three dimensional object segmentation | |
CN110388931A (zh) | 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法 | |
CN108387241A (zh) | 更新自动驾驶车辆的定位地图的方法和系统 | |
US20160125608A1 (en) | Methods and systems for enabling improved positioning of a vehicle | |
CN108068792A (zh) | 用于自主车辆的自动协同驾驶控制 | |
JP2019527832A (ja) | 正確な位置特定およびマッピングのためのシステムおよび方法 | |
EP3671550A1 (en) | Dynamically loaded neural network models | |
US10782411B2 (en) | Vehicle pose system | |
JP2007333385A (ja) | 不動物位置記録装置 | |
US20220291012A1 (en) | Vehicle and method for generating map corresponding to three-dimensional space | |
US11668573B2 (en) | Map selection for vehicle pose system | |
CN111176270A (zh) | 使用动态地标的定位 | |
Jiménez et al. | Improving the lane reference detection for autonomous road vehicle control | |
CN113822944A (zh) | 一种外参标定方法、装置、电子设备及存储介质 | |
Suganuma et al. | Map based localization of autonomous vehicle and its public urban road driving evaluation | |
US11430218B2 (en) | Using a bird's eye view feature map, augmented with semantic information, to detect an object in an environment | |
Noureldin et al. | a Framework for Multi-Sensor Positioning and Mapping for Autonomous Vehicles | |
US11741724B2 (en) | Configuring a neural network to produce an electronic road map that has information to distinguish lanes of a road | |
JP7211513B2 (ja) | 地図データ生成装置 | |
Zhou et al. | Road-Pulse: Pavement Vibration Features from Accelerator to Enhance Intelligent Vehicle Localization | |
US20230154038A1 (en) | Producing a depth map from two-dimensional images |
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 |