CN111868798B - 车道网络图模型的生成和更新 - Google Patents
车道网络图模型的生成和更新 Download PDFInfo
- Publication number
- CN111868798B CN111868798B CN201980020283.7A CN201980020283A CN111868798B CN 111868798 B CN111868798 B CN 111868798B CN 201980020283 A CN201980020283 A CN 201980020283A CN 111868798 B CN111868798 B CN 111868798B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- positioning
- data
- updated
- 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/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
- G01C21/32—Structuring or formatting of map data
-
- 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
-
- 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/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
-
- 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/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
- G01C21/3878—Hierarchical structures, e.g. layering
-
- 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/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
- G01C21/3881—Tile-based structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
新驱动器包含接收到的多个定位数据实例。所述定位数据在车辆穿越车道网络时由车辆车载的探针设备捕获。所述多个定位数据实例使用车道级地图匹配器进行地图匹配。基于所述新驱动器来标识和更新匹配的节点(例如,表示所述车道网络的LNG模型的与定位数据实例地图匹配的节点)。不匹配的定位数据实例(例如,不能令人满意地与所述LNG模型的节点相匹配的定位数据实例)可以用于生成所述LNG模型的新节点。可以基于对链接定位层的更新来更新所述LNG模型的一部分。
Description
技术领域
示例实施例总体上涉及生成和更新表示可导航车道网络的车道网络图模型。示例实施例总体上涉及基于探针数据和/或对数字地图的定位层的更新来生成和更新车道网络模型。
背景技术
新兴技术指向自驾驶自主车辆和/或车辆的辅助驾驶的使用。这种车辆需要具有车道级信息和准确度的道路网络的准确地图。车辆的人类操作者还可以受益于能够提供车道级路由指令和/或其它车道级信息的导航应用和/或工具。
发明内容
各个实施例涉及生成和更新车道网络图(LNG)模型。LNG模型表示包括多个互连的可驱使和/或可穿越车道的车道网络。在各个实施例中,LNG模型可以用于执行一个或多个导航功能。例如,LNG模型(和/或车道级地图和/或从LNG模型得出的车道级地图层)可以用于确定通过车道网络的至少一部分的路线,提供关于通过车道网络的路线和/或关于车道网络的一部分的指令和/或信息/数据,以及提供自主车辆或高级驾驶辅助***(ADAS)导航车道网络的至少一部分所需的导航信息/数据等。例如,自主车辆或ADAS可以使用LNG模型和/或车道级地图和/或从LNG模型得出的车道级地图层来执行车道保持功能、车道变换功能、将车辆维持在车道内等。
在各个实施例中,LNG模型是基于新驱动器生成和/或更新,每个新驱动器包括由探针设备提供的定位信息/数据实例的时间排序的序列。在各个实施例中,多个探针设备可以提供新驱动器。例如,探针设备可以是穿越车道网络的至少一部分的车辆车载的。所述探针设备可以通过车道网络的至少一部分捕获与新驱动器相对应的探针信息/数据,其中所述探针信息/数据包括多个定位信息/数据实例。定位信息/数据实例可以包括在定位信息/数据实例被捕获时车辆和/或探针设备的位置(例如,地理定位,如纬度、经度和/或海拔或高度)和/或航向(例如,探针设备和/或车辆指向和/或行进的方向)。
多个定位信息/数据实例的时间排序的序列可以使用车道级地图匹配器进行地图匹配,使得定位信息/数据实例可以与LNG模型的对应节点相匹配。在各个实施例中,所述LNG模型的节点可以包括节点位置、节点航向和节点互连性度量。在各个实施例中,可以基于与LNG模型的节点相匹配的定位信息/数据实例来更新LNG模型。例如,可以基于定位信息/数据实例,使用贝叶斯更新技术(Bayesian update technique)来更新LNG模型的一个或多个节点。在示例实施例中,地图匹配器可以标识一个或多个定位信息/数据实例,所述一个或多个定位信息/数据实例不能与LNG模型的节点相匹配并且可以表示在LNG模型中尚未表示的车道网络的新的可驱使和/或可穿越车道。在各个实施例中,此类不匹配的定位信息/数据实例可以用于将表示车道网络的新的可驱使和/或可穿越车道的新节点添加到LNG模型。
在示例实施例中,LNG模型可以链接到数字地图的定位层和/或与其相关联。例如,LNG模型的节点可以包括标识已经从节点观察到的定位层的一个或多个定位对象的观察信息/数据、已经从节点观察到的定位对象的次数、节点与定位对象之间的所观察的距离等。例如,定位信息/数据实例可以包含定位对象标识符和/或标识定位对象的信息/数据、在定位信息/数据实例被捕获时在车辆和/或设备之间所测量和/或所观察的距离等。当基于定位信息/数据实例来更新LNG模型的节点时,与任何所观察到的定位对象相对应的信息/数据还可以被更新。在各个实施例中,当定位层更新触发器被标识时,可以基于对所述定位层的一个或多个更新来更新LNG模型。
在示例实施例中,可以基于新驱动器来更新LNG模型。新驱动器被接收。所述新驱动器包括多个定位数据实例。每个定位数据实例(a)由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且(b)包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向。所述探针设备包括至少一个定位传感器。基于LNG模型,对所述多个定位数据实例进行地图匹配。所述LNG模型包括(a)与车道网络的可穿越车道的定位相对应的多个节点以及(b)与所述多个节点相对应的一个或多个不确定性度量。所述多个节点中的第一节点包括(i)节点位置以及(ii)节点航向。所述多个节点中的一个或多个匹配的节点被标识。每个匹配的节点具有与其地图匹配的一个或多个定位数据实例。第一节点基于(a)定位数据实例的(i)位置或(ii)航向中的至少一个以及(b)所述第一节点的(i)第一节点位置或(ii)第一节点航向中的至少一个被标识为与第一定位数据实例相匹配。基于所述多个定位数据实例来确定位置更新、航向更新或不确定性度量更新中的至少一个。通过由所述处理器执行所述计算机程序代码的至少一部分基于所述位置更新、所述航向更新或所述不确定性度量更新中对应的至少一个来更新所述节点位置、所述节点航向或所述不确定性度量中的至少一个以生成经过更新的LNG模型。
根据示例实施例,提供了一种方法。在示例实施例中,所述方法包括通过模型设备接收新驱动器。所述模型设备包括处理器、存储计算机程序代码的存储器以及被配置成通过至少一个网络进行通信的通信接口。所述新驱动器包括多个定位数据实例。每个定位数据实例(a)由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且(b)包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向。所述探针设备包括至少一个定位传感器。所述方法进一步包括通过由所述处理器执行所述计算机程序代码的至少一部分,基于车道网络图(LNG)模型来对所述多个定位数据实例进行地图匹配。所述LNG模型包括(a)与车道网络的可穿越车道的定位相对应的多个节点以及(b)与所述多个节点相对应的一个或多个不确定性度量。所述多个节点中的第一节点包括(i)节点位置以及(ii)节点航向。所述方法进一步包括通过由所述处理器执行所述计算机程序代码的至少一部分来从所述多个节点中标识一个或多个匹配的节点。每个匹配的节点具有与其地图匹配的一个或多个定位数据实例。第一节点基于(a)定位数据实例的(i)位置或(ii)航向中的至少一个以及(b)所述第一节点的(i)第一节点位置或(ii)第一节点航向中的至少一个被标识为与第一定位数据实例相匹配。所述方法进一步包括通过由所述处理器执行所述计算机程序代码的至少一部分基于所述多个定位数据实例来确定位置更新、航向更新或不确定性度量更新中的至少一个;以及通过由所述处理器执行所述计算机程序代码的至少一部分基于所述位置更新、所述航向更新或所述不确定性度量更新中对应的至少一个来更新所述节点位置、所述节点航向或所述不确定性度量中的至少一个以生成经过更新的LNG模型。
在示例实施例中,所述方法进一步包括通过由所述处理器执行所述计算机程序代码的至少一部分来准备地图图块,所述地图图块包括至少部分地基于所述经过更新的LNG模型而得出的车道级地图层;以及通过所述通信接口将所述地图图块提供给计算实体,其中所述计算实体被配置成基于经过更新的地图图块来执行一个或多个导航功能。在示例实施例中,所述计算实体是高级驾驶辅助***,并且所述一个或多个导航功能在与所述计算实体相对应的车辆的自主或辅助驾驶中使用。
在示例实施例中,所述不确定性度量编码(a)所述第一节点位置的不确定性或(b)所述第一节点航向的不确定性中的至少一个。在示例实施例中,所述不确定性度量编码(a)由于第二节点的第二节点位置或第二节点航向的不确定性而引起的所述第一节点位置的不确定性或(b)由于所述第二节点的所述第二节点位置或所述第二节点航向的不确定性而引起的所述第一节点航向的不确定性中的至少一个,其中所述第二节点不同于所述第一节点。在示例实施例中,所述方法进一步包括将曲线拟合到所述多个定位数据实例;以及基于所述曲线生成多个内插的定位数据实例,其中对所述多个定位数据实例进行地图匹配包括对所述多个内插的定位数据实例进行地图匹配。在示例实施例中,所述地图匹配的结果是所述多个定位数据实例中的一个或多个定位数据实例不匹配,并且所述方法进一步包括基于不匹配的定位数据实例来生成一个或多个新节点。
在示例实施例中,所述第一节点进一步包括一个或多个观察数据实例,每个观察数据实例标识定位层的定位对象。在示例实施例中,所述方法进一步包括标识定位层更新触发器;响应于标识所述定位更新触发器来标识已经被更新的一个或多个定位对象;标识观察节点的集合,所述观察节点的集合由包括观察数据的节点组成,所述观察数据标识所述已经被更新的一个或多个定位对象中的至少一个;基于所述已经被更新的一个或多个定位对象来确定更新节点的集合中的每个节点的定位层位置更新、定位层航向更新或定位层不确定性度量更新中的至少一个,其中所述更新节点的集合包括所述观察节点的集合和不在所述观察节点的集合中的一个或多个节点;以及基于用于所述更新节点的集合中的每个节点的所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中对应的至少一个来确定经过更新的节点位置、经过更新的节点航向或经过更新的不确定性度量中的至少一个。在示例实施例中,确定所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中的所述至少一个是低秩矩阵运算。在示例实施例中,所述LNG模型的多个节点不在所述更新节点的集合中,并且不更新所述LNG模型的不在所述更新节点的集合中的所述多个节点。
根据示例实施例,提供了一种设备。在示例实施例中,所述设备包括至少一个处理器、被配置成通过至少一个网络进行通信的通信接口以及存储计算机程序代码的至少一个存储器。所述至少一个存储器和所述计算机程序代码被配置成利用所述处理器使所述设备至少接收新驱动器。所述新驱动器包括多个定位数据实例。每个定位数据实例(a)由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且(b)包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向。所述探针设备包括至少一个定位传感器。所述至少一个存储器和所述计算机程序代码被配置成利用所述处理器使所述设备通过由所述处理器执行所述计算机程序代码的至少一部分基于车道网络图(LNG)模型,至少对所述多个定位数据实例进行地图匹配。所述LNG模型包括(a)与车道网络的可穿越车道的定位相对应的多个节点以及(b)与所述多个节点相对应的一个或多个不确定性度量。所述多个节点中的第一节点包括(i)节点位置以及(ii)节点航向。所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备通过由所述处理器执行所述计算机程序代码的至少一部来从所述多个节点中至少标识一个或多个匹配的节点。每个匹配的节点具有与其地图匹配的一个或多个定位数据实例。第一节点基于(a)定位数据实例的(i)位置或(ii)航向中的至少一个以及(b)所述第一节点的(i)第一节点位置或(ii)第一节点航向中的至少一个被标识为与第一定位数据实例相匹配。所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备至少基于所述多个定位数据实例来确定位置更新、航向更新或不确定性度量更新中的至少一个;并且基于所述位置更新、所述航向更新或所述不确定性度量更新中对应的至少一个来更新所述节点位置、所述节点航向或所述不确定性度量中的至少一个以生成经过更新的LNG模型。
在示例实施例中,所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备通过由所述处理器执行所述计算机程序代码的至少一部分来至少准备地图图块,所述地图图块包括至少部分地基于所述经过更新的LNG模型而得出的车道级地图层;并且通过所述通信接口将所述地图图块提供给计算实体,其中所述计算实体被配置成基于经过更新的地图图块来执行一个或多个导航功能。在示例实施例中,所述计算实体是高级驾驶辅助***,并且所述一个或多个导航功能在与所述计算实体相对应的车辆的自主或辅助驾驶中使用。
在示例实施例中,所述不确定性度量编码(a)所述第一节点位置的不确定性或(b)所述第一节点航向的不确定性中的至少一个。在示例实施例中,所述不确定性度量编码(a)由于第二节点的第二节点位置或第二节点航向的不确定性而引起的所述第一节点位置的不确定性或(b)由于所述第二节点的所述第二节点位置或所述第二节点航向的不确定性而引起的所述第一节点航向的不确定性中的至少一个,其中所述第二节点不同于所述第一节点。在示例实施例中,所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备至少将曲线拟合到所述多个定位数据实例;以及基于所述曲线生成多个内插的定位数据实例,其中对所述多个定位数据实例进行地图匹配包括对所述多个内插的定位数据实例进行地图匹配。在示例实施例中,所述地图匹配的结果是所述多个定位数据实例中的一个或多个定位数据实例不匹配,并且所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备基于所述不匹配的定位数据实例来至少生成一个或多个新节点。
在示例实施例中,所述第一节点进一步包括一个或多个观察数据实例,每个观察数据实例标识定位层的定位对象。在示例实施例中,所述至少一个存储器和所述计算机程序代码被进一步配置成利用所述处理器使所述设备至少标识定位层更新触发器;响应于标识所述定位更新触发器来标识已经被更新的一个或多个定位对象;标识观察节点的集合,所述观察节点的集合由包括观察数据的节点组成,所述观察数据标识所述已经被更新的一个或多个定位对象中的至少一个;基于所述已经被更新的一个或多个定位对象来确定更新节点的集合中的每个节点的定位层位置更新、定位层航向更新或定位层不确定性度量更新中的至少一个,其中所述更新节点的集合包括所述观察节点的集合和不在所述观察节点的集合中的一个或多个节点;并且基于用于所述更新节点的集合中的每个节点的所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中对应的至少一个来确定经过更新的节点位置、经过更新的节点航向或经过更新的不确定性度量中的至少一个。在示例实施例中,确定所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中的所述至少一个是低秩矩阵运算。在示例实施例中,所述LNG模型的多个节点不在所述更新节点的集合中,并且不更新所述LNG模型的不在所述更新节点的集合中的所述多个节点。
根据示例实施例,提供了一种计算机程序产品,其包括至少一个非暂时性计算机可读存储介质,所述至少一个非暂时性计算机可读存储介质中存储有计算机可执行程序代码指令。所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令当由设备的处理器执行时被配置成使所述设备接收新驱动器。所述新驱动器包括多个定位数据实例。每个定位数据实例(a)由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且(b)包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向。所述探针设备包括至少一个定位传感器。所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备通过由所述处理器执行所述计算机程序代码的至少一部分基于车道网络图(LNG)模型,对所述多个定位数据实例进行地图匹配。所述LNG模型包括(a)与车道网络的可穿越车道的定位相对应的多个节点以及(b)与所述多个节点相对应的一个或多个不确定性度量。所述多个节点中的第一节点包括(i)节点位置以及(ii)节点航向。所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备通过所述处理器执行所述计算机程序代码的至少一部分来从所述多个节点中标识一个或多个匹配的节点。每个匹配的节点具有与其地图匹配的一个或多个定位数据实例。第一节点基于(a)定位数据实例的(i)位置或(ii)航向中的至少一个以及(b)所述第一节点的(i)第一节点位置或(ii)第一节点航向中的至少一个被标识为与第一定位数据实例相匹配。所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备基于所述多个定位数据实例来确定位置更新、航向更新或不确定性度量更新中的至少一个;并且基于所述位置更新、所述航向更新或所述不确定性度量更新中对应的至少一个来更新所述节点位置、所述节点航向或所述不确定性度量中的至少一个以生成经过更新的LNG模型。
在示例实施例中,所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备通过由所述处理器执行所述计算机程序代码的至少一部分来准备地图图块,所述地图图块包括至少部分地基于所述经过更新的LNG模型而得出的车道级地图层;并且通过所述通信接口将所述地图图块提供给计算实体,其中所述计算实体被配置成基于经过更新的地图图块来执行一个或多个导航功能。在示例实施例中,所述计算实体是高级驾驶辅助***,并且所述一个或多个导航功能在与所述计算实体相对应的车辆的自主或辅助驾驶中使用。
在示例实施例中,所述不确定性度量编码(a)所述第一节点位置的不确定性或(b)所述第一节点航向的不确定性中的至少一个。在示例实施例中,所述不确定性度量编码(a)由于第二节点的第二节点位置或第二节点航向的不确定性而引起的所述第一节点位置的不确定性或(b)由于所述第二节点的所述第二节点位置或所述第二节点航向的不确定性而引起的所述第一节点航向的不确定性中的至少一个,其中所述第二节点不同于所述第一节点。在示例实施例中,所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备将曲线拟合到所述多个定位数据实例;以及基于所述曲线生成多个内插的定位数据实例,其中对所述多个定位数据实例进行地图匹配包括对所述多个内插的定位数据实例进行地图匹配。在示例实施例中,所述地图匹配的结果是所述多个定位数据实例中的一个或多个定位数据实例不匹配,并且所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备基于所述不匹配的定位数据实例来生成一个或多个新节点。
在示例实施例中,所述第一节点进一步包括一个或多个观察数据实例,每个观察数据实例标识定位层的定位对象。在示例实施例中,所述计算机可执行程序代码指令包括程序代码指令,所述程序代码指令被进一步配置成当由设备的处理器执行时使所述设备标识定位层更新触发器;响应于标识所述定位更新触发器来标识已经被更新的一个或多个定位对象;标识观察节点的集合,所述观察节点的集合由包括观察数据的节点组成,所述观察数据标识所述已经被更新的一个或多个定位对象中的至少一个;基于所述已经被更新的一个或多个定位对象来确定更新节点的集合中的每个节点的定位层位置更新、定位层航向更新或定位层不确定性度量更新中的至少一个,其中所述更新节点的集合包括所述观察节点的集合和不在所述观察节点的集合中的一个或多个节点;并且基于用于所述更新节点的集合中的每个节点的所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中对应的至少一个来确定经过更新的节点位置、经过更新的节点航向或经过更新的不确定性度量中的至少一个。在示例实施例中,确定所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中的所述至少一个是低秩矩阵运算。在示例实施例中,所述LNG模型的多个节点不在所述更新节点的集合中,并且不更新所述LNG模型的不在所述更新节点的集合中的所述多个节点。
根据本发明的又另一示例实施例,提供了一种设备,其包括用于由模型设备接收新驱动器的装置。所述新驱动器包括多个定位数据实例。每个定位数据实例(a)由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且(b)包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向。所述探针设备包括至少一个定位传感器。所述设备进一步包括用于基于车道网络图(LNG)模型来对所述多个定位数据实例进行地图匹配的装置。所述LNG模型包括(a)与车道网络的可穿越车道的定位相对应的多个节点以及(b)与所述多个节点相对应的一个或多个不确定性度量。所述多个节点中的第一节点包括(i)节点位置以及(ii)节点航向。所述设备进一步包括用于从所述多个节点中标识一个或多个匹配的节点的装置。每个匹配的节点具有与其地图匹配的一个或多个定位数据实例。第一节点基于(a)定位数据实例的(i)位置或(ii)航向中的至少一个以及(b)所述第一节点的(i)第一节点位置或(ii)第一节点航向中的至少一个被标识为与第一定位数据实例相匹配。所述设备进一步包括用于基于所述多个定位数据实例来确定位置更新、航向更新或不确定性度量更新中的至少一个。所述设备进一步包括用于基于所述位置更新、所述航向更新或所述不确定性度量更新中对应的至少一个来更新所述节点位置、所述节点航向或所述不确定性度量中的至少一个以生成经过更新的LNG模型。
附图说明
由此已经概括地描述了某些示例实施例,在下文中将参考附图,所述附图不一定按比例绘制,并且在附图中:
图1是示出了本发明的一个实施例的示例架构的框图;
图2A是根据示例实施例的可以被具体配置的模型设备的框图;
图2B是根据示例实施例的可以被具体配置的探针设备的框图;
图3是展示了根据示例实施例的如由图2A的模型设备执行以更新LNG模型的操作的流程图;
图4是展示了根据示例实施例的已经与LNG模型的节点相匹配的车道级地图的探针信息/数据的示意图;
图5是展示了根据示例实施例的如由图2A的模型设备执行以基于对数字地图的链接定位层的更新来更新LNG模型的操作的流程图;并且
图6是展示了根据示例实施例的LNG模型的节点的第一集合和第二集合的示意图。
具体实施方式
现在将参考附图在下文中更全面地描述一些实施例,附图中示出了本发明的一些但非全部实施例。事实上,本发明的各个实施例可以以许多不同的形式具体化并且不应被解释为限于在本文中所阐述的实施例;相反,提供这些实施例使得本公开将满足适用的法律要求。除非另外指明,否则术语“或(or)”(也表示为“/”)在本文中以替代性意义和连接意义使用。术语“说明性的”和“示例性的”用作不指示质量级的实例。相同的附图标记始终指代相同的元件。如本文所使用的,术语“数据”、“内容”、“信息”和类似术语可以可互换地用来指代能够根据本发明的实施例被传输、接收和/或存储的数据。因此,任何这种术语的使用不应被视为限制本发明的实施例的精神和范围。
另外,如本文所使用的,术语“电路***”指代:(a)仅硬件电路实施方案(例如,模拟电路***和/或数字电路***中的实施方案);(b)电路和一个或多个计算机程序产品的组合,所述一个或多个计算机程序产品包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,所述一个或多个计算机可读存储器一起工作以使设备执行本文所描述的一个或多个功能;以及(c)电路,例如,一个或多个微处理器或一个或多个微处理器的一部分,即使软件或固件在物理上不存在,所述电路也需要用于操作的软件或固件。“电路***”的这种定义适用于这种术语在本文中、包含在任何权利要求中的所有使用。作为另外的实例,如本文所使用的,术语“电路***”还包含实施方案,所述实施方案包括一个或多个处理器和/或其一个或多个部分以及附带软件和/或固件。
I.总体概述
根据示例实施例提供方法、设备和计算机程序产品,以便生成和更新LNG模型。LNG模型表示包括多个互连的可驱使和/或可穿越车道的车道网络。在各个实施例中,LNG模型包括多个节点,并且描述了多个驱动器、可驱动路径等的几何形状和连接性。在各个实施例中,LNG模型可以用于执行一个或多个导航功能,例如,确定从起点到目的地的路线,提供关于数字地图和/或车道网络的区域的信息/数据,向人类操作者或自主车辆提供车道级路线指导,执行一个或多个自主和/或ADAS功能(例如,车道保持、车道变换辅助(lane changeassistance)、维持车道)等。
在各个实施例中,模型设备可以从一个或多个探针设备接收一个或多个新驱动器。在示例实施例中,新驱动器包括在探针设备(例如,车辆车载)穿越车道网络的至少一部分时捕获的多个定位信息/数据实例的时间序列。每个定位信息/数据实例包括在定位数据实例被捕获时与探针设备和/或车辆的位置和航向相对应的位置和航向。在示例实施例中,定位信息/数据实例包括指示定位信息/数据实例的位置和/或航向的一个或多个元素和/或组件中的不确定性的一个或多个误差度量。然后,可以使用地图匹配器将定位信息/数据实例与LNG模型的节点相匹配。在示例实施例中,地图匹配器是将定位信息/数据实例与LNG模型的特定车道相匹配的车道级地图匹配器。在各个实施例中,地图匹配器可以标识不能令人满意地与LNG模型的节点相匹配的定位信息/数据实例。在各个实施例中,可以基于不能与LNG模型的现有节点相匹配的定位信息/数据实例将新节点添加到LNG模型。在各个实施例中,与LNG模型的现有节点进行地图匹配的定位信息/数据实例可以用于更新LNG模型的一个或多个现有节点。例如,LNG模型的节点可以包括节点位置和节点航向,所述节点位置和节点航向表示来自已经与所述节点进行地图匹配的一个或多个定位信息/数据实例的位置和航向的分布。
在各个实施例中,LNG模型可以包括一个或多个不确定性度量。例如,在各个实施例中,LNG模型的节点可以进一步包括一个或多个节点误差度量。在示例实施例中,节点误差度量可以描述节点位置和/或节点航向中的任何不确定性。例如,节点误差度量可以是协方差矩阵等。在各个实施例中,LNG模型可以包括描述一对节点之间的连接的一个或多个节点连接性度量。在示例实施例中,节点连接性度量可以描述由于第二节点的第二节点位置和/或第二节点航向的不确定性而引起的第一节点的第一节点位置和/或第一节点航向的不确定性。例如,节点连接性度量可以是与第一节点和第二节点相对应的交叉协方差矩阵。在示例实施例中,LNG模型包括LNG模型中的每对节点的节点连接性度量。节点连接性度量可以指示物理上彼此靠近的节点(例如,紧邻的节点或在所述节点之间仅具有几个中间节点的节点)更多地被连接和/或更多地受其它节点的节点位置和/或节点航向的不确定性影响。例如,如果第一节点物理上定位于第二节点附近并且第一节点物理上定位于距第三节点较远处(例如,相隔一公里或一英里或更多),则节点连接性度量可以指示第一节点与第二节点之间的关系比第一节点与第三节点之间的关系更强。在示例实施例中,LNG模型可以包括一个不确定性度量,所述一个不确定性度量编码每个节点的一个或多个节点误差度量和每对节点的节点连接性度量。例如,不确定性度量可以包括|L|·|z|乘|L|·|z|误差连接性矩阵,其中|L|是LNG模型中的节点的数量,并且|z|是节点位置和节点航向的维度(例如,向量中的元件/组件的数量,其中是节点位置,并且是节点航向)。在示例实施例中,误差连接性矩阵是误差协方差矩阵。
在各个实施例中,LNG模型可以链接到数字地图的定位层。在示例实施例中,定位层是包括多个定位对象的数字地图的层,其中定位对象与可以由探针设备20用于执行一个或多个定位功能的可观察对象相对应。可能的定位对象的一些非限制性实例是道路标志、路灯和/或灯柱、建筑立面、车道线等。例如,定位信息/数据实例可以进一步包括标识从定位信息/数据实例的位置和/或航向观察到的定位对象的信息/数据。在示例实施例中,定位信息/数据实例可以指示在探针设备和/或车辆与所标识的定位对象之间所测量的距离。当定位信息/数据实例与LNG模型的节点地图匹配时,可以更新所述节点以包含定位对象的标识符、所测量的距离等。在示例实施例中,可以更新定位层(例如,可以更新停止标志的定位以反映停止标志的更精确和/或准确的定位),使得接收、观察、标识等定位层更新触发器。响应于接收、观察、标识等定位层更新触发器,可以标识由已经观察到更新的定位对象的节点组成的节点的第一集合。基于对定位层、所述节点的第一集合和一个或多个节点连接性度量的一个或多个更新,更新节点的第二集合。在示例实施例中,所述节点的第二集合可以包括所述节点的第一集合的至少一部分以及不在所述节点的第一集合中的其它节点。
在各个实施例中,可以提供LNG模型和/或其一部分作为数字地图的层和/或地图图块(map tile)。可以将数字地图和/或地图图块提供给一个或多个移动设备、服务器和/或其它设备以用于执行一个或多个导航功能。在各个实施例中,所述一个或多个导航功能可以包括路线规划、路线指导、车道级路线规划和/或指导、行进时间和/或距离确定和/或估计等。
图1提供了可以与本发明的各个实施例结合使用的示例***的说明。如图1所示,所述***可以包含一个或多个模型设备10、多个探针设备20(其中每个探针设备20安置在车辆5上)、一个或多个地图匹配引擎30、一个或多个其它计算实体40、一个或多个网络50等。在各个实施例中,探针设备20可以是车载导航***(in vehicle navigation system)、车辆控制***、移动计算装置等。例如,探针设备20可以是安装在如机动车辆、非机动车辆、汽车、小汽车、小轮摩托车、卡车、货车、公共汽车、摩托车、自行车、赛格韦(Segway)、高尔夫球车等车辆5内和/或所述车辆车载的车载导航***。在示例实施例中,探针设备20可以是车辆控制***,所述车辆控制***被配置成自主地驾驶车辆5、辅助控制车辆5、监测车辆5的各个方面(例如,故障状况、马达油状态、电池充电级、燃料箱填充级等)等。在各个实施例中,被配置为自主地驾驶车辆5的探针设备20可以执行与由被配置为ADAS的探针设备执行的功能类似的多个功能(例如,车道保持、车道变换辅助、维持车道、合并等)。在一些实施例中,探针设备20可以是车载个人车辆、商用车辆、公共交通车辆、车队车辆和/或其它车辆。在各个实施例中,探针设备20可以是智能电话、平板计算机、个人数字助理(PDA)、个人计算机、台式计算机、膝上型计算机和/或其它移动计算装置。在示例实施例中,模型设备10可以是服务器、服务器组、分布式计算***和/或其它计算***。例如,模型设备10可以通过一个或多个有线或无线网络50与多个探针设备20、一个或多个地图匹配引擎30、一个或多个其它计算实体40等通信。
在示例实施例中,模型设备10可以包括与图2A中用图解法表示的示例模型设备10中所示出的组件类似的组件。在示例实施例中,模型设备10被配置成从多个探针设备20接收多个新驱动器,每个新驱动器包括多个定位信息/数据实例;基于接收到的新驱动器来更新LNG模型;响应于定位层更新触发器来更新LNG模型;等。例如,如图2A中所示,模型设备10可以包括处理器12、存储器14、用户接口18、通信接口16和/或被配置成执行本文所描述的各种操作、程序、功能等其它组件。在至少一些示例实施例中,存储器14是非暂时性的。
在示例实施例中,探针设备20是车辆5车载的。在示例实施例中,探针设备20可以被配置成向用户(例如,车辆5的操作者)提供导航和/或路线信息/数据。在示例实施例中,探针设备20可以被配置成根据导航和/或路线信息自主地驾驶车辆5和/或辅助控制车辆5(例如,ADAS)。在示例实施例中,探针设备20可以被配置成在车辆5移动通过车道网络和/或其一部分时搜集、收集、捕获等定位信息/数据实例。例如,定位信息/数据实例可以包括指示定位信息/数据实例被搜集、收集、捕获等的时间的时间戳。在一个实例中,定位信息/数据实例可以包括与车辆5在定位信息/数据实例被搜集、收集、捕获等时的位置和/或航向相对应的位置和/或航向。在示例实施例中,定位信息/数据实例可以包括标识当探针设备20和/或车辆5定位于定位信息/数据实例的位置和/或航向时观察到的一个或多个定位对象、当探针设备20和/或车辆5定位于定位信息/数据实例的位置和/或航向时探针设备20和/或车辆5与所述一个或多个定位对象中的至少一个定位对象之间的距离等的信息/数据。
在示例实施例中,如图2B中所示,探针设备20可以包括处理器22、存储器24、通信接口26、用户接口28、一个或多个传感器29(例如,定位传感器,如GNSS传感器;IMU传感器;一个或多个相机;一个或多个二维(2D)和/或三维(3D)光检测和测距(LiDAR);长、中和/或短程无线电检测和测距(RADAR);超声波传感器;电磁传感器;(近)红外(IR)相机;3D相机;360°相机;燃料液位传感器(fuel level sensor);车辆***传感器(例如,油状态传感器、轮胎压力传感器、发动机油压力传感器、冷却剂液位传感器(coolant level sensor)、发动机/冷却剂温度传感器和/或使探针设备20能够确定对应车辆5周围环境的一个或多个特征和/或监测车辆5操作参数的其它传感器)和/或被配置成执行本文所描述的各种操作、程序、功能等的其它组件。在至少一些示例实施例中,存储器24是非暂时性的。
在示例实施例中,模型设备10可以与多个探针设备20以及任选地一个或多个地图匹配引擎30和/或一个或多个其它计算实体40通信。例如,模型设备10可以与被配置成执行一个或多个地图匹配功能、执行定位层的一个或多个更新等的地图匹配引擎30通信。在示例实施例中,模型设备10可以执行一个或多个地图匹配功能、更新定位层等。在各个实施例中,模型设备10可以与一个或多个其它计算实体40通信。在示例实施例中,计算实体40可以是移动装置(例如,智能电话、导航装置、平板计算机、膝上型计算机等)、台式计算机、服务器或其它计算实体。在示例实施例中,计算实体40可以是探针设备20。在示例实施例中,地图匹配引擎30和/或计算实体40可以包括与模型设备10和/或探针设备20类似的元件。例如,地图匹配引擎30和/或计算实体40可以包括处理器、存储器、用户接口、通信接口等。在示例实施例中,计算实体40可以包括与一个或多个传感器29类似的一个或多个传感器。
***的组件中的每个组件可以例如通过相同或不同的无线或有线网络50彼此电子通信,所述无线或有线网络包含例如有线或无线个人局域网(PAN)、局域网(LAN)、城域网(MAN)、广域网(WAN)、蜂窝网络等。在一些实施例中,网络50可以包括汽车云(automotivecloud)、数字交通基础设施(DTI)、无线电数据***(RDS)/高清晰度(HD)无线电或其它数字无线电***等。例如,探针设备20可以通过网络50与模型设备10通信。例如,探针设备20可以通过如云等网络与模型设备10通信。例如,云可以是向计算机和与其连接的其它装置提供共享的计算机处理资源和数据的计算机网络。例如,探针设备20可以被配置成从模型设备10或通过网络50连接的另一地图服务接收数字地图的一个或多个地图图块、交通信息/数据(嵌入在数字地图的地图图块中和/或与其分开),和/或向模型设备10提供新驱动器(例如,包括多个定位信息/数据实例的时间序列)。
下文关于图2A和2B更详细地描述探针设备20和模型设备10的某些示例实施例。
II.示例操作
示例实施例提供了用于生成和更新LNG模型的方法、设备、***、计算机程序产品等。例如,穿越车道网络的至少一部分的探针设备20(例如,车辆5车载)可以周期性地、定期地等捕获定位信息/数据实例,并且提供(例如,传输)定位信息/数据实例。模型设备10可以接收定位信息/数据实例,并且使用定位信息/数据实例来更新和/或生成LNG模型。在示例实施例中,LNG模型可以与定位层链接和/或相关联。在此类实施例中,可以例如由模型设备10响应于与定位层的一个或多个定位对象的更新相对应的定位层更新触发器而更新LNG模型。在各个实施例中,模型设备10可以提供LNG模型和/或其一部分作为数字地图的层和/或地图图块。例如,在示例实施例中,可以基于LNG模型生成、得出和/或确定车道级地图和/或其层,并且可以将车道级地图和/或其层的至少一部分提供给另一计算实体40。例如,车道级地图和/或车道级地图层可以包括表示车道网络的行进车道并且基于LNG模型确定和/或从LNG模型得出的曲线、折线等。例如,另一计算实体40可以使用LNG模型和/或车道级地图和/或基于LNG模型的地图层来执行一个或多个导航功能。
在示例实施例中,LNG模型表示包括可穿越车道的网络的车道网络。在各个实施例中,LNG模型包括多个节点、连接信息/数据、节点连接性度量、跟踪观察频率的频率信息/数据和/或驱动器与LNG的节点的地图匹配等。在示例实施例中,节点是包括节点标识符、节点位置和节点航向的数据集。在示例实施例中,所述节点标识符被配置成唯一地标识所述多个节点中的节点。在示例实施例中,所述节点位置是定位(例如,地理定位;纬度和经度;纬度、经度和海拔/高度等)。在示例实施例中,所述节点航向指示与节点相对应的方向(例如,在节点位置处局部定义的平面中的角度;横滚、俯仰和偏航等)。在示例实施例中,所述节点位置和节点航向描述了由所述多个探针车辆20提供的位置和航向的分布(例如,作为定位信息/数据实例的一部分)(例如,是其平均值)。
在示例实施例中,节点包括节点误差度量。在各个实施例中,节点误差度量可以描述由于定位信息/数据实例中的噪声和/或误差和/或对用于确定节点位置和/或节点航向的定位信息/数据实例的曲线拟合而引起的节点位置和节点航向的不确定性。在示例实施例中,所述节点误差度量是节点位置和节点航向的协方差。例如,节点N可以是 其中是3维节点位置,是3维节点航向,C指代与之间的单独的3维协方差或交叉协方差矩阵,并且Covar是堆叠向量的完整6维协方差矩阵。在示例实施例中,所述完整协方差矩阵Covar是六乘六矩阵。在示例实施例中,所述节点位置可以是二维的(例如,纬度和经度)和/或所述节点航向可以是一维的(例如,与参考方向的度数)。如应理解,基于节点位置和节点航向的组合维度来确定完整协方差矩阵的维度。
在LNG模型与定位层链接和/或相关联的示例实施例中,节点可以进一步包括从节点位置观察到的定位对象的列表、节点与定位对象之间的一个或多个距离测量、已经从节点位置观察到的特定定位对象的次数等。例如,定位信息/数据实例可以包括定位对象标识符以及当车辆5在定位信息/数据的位置时车辆5与定位对象之间的距离的测量。可以将定位对象标识符和距离测量添加到定位信息/数据实例与之相匹配的节点。在示例实施例中,在与节点相匹配的定位信息/数据实例中,已经标识定位对象的次数也可以被存储在节点的数据集中。
在各个实施例中,LNG模型进一步包括连接信息/数据。在各个实施例中,所述连接信息/数据可以指示LNG模型的节点和/或车道网络的车道之间的连接。例如,连接信息/数据可以指示车辆5可以合法地从一个车道经过到达另一个车道的地点。例如,连接信息/数据可以指示车道合并和分割点、车道入口和出口,其中车辆可以从一个车道改变到相邻车道等。在示例实施例中,连接信息/数据包括指示探针设备20和/或车辆5可以如何在节点之间移动的链路。例如,车辆5可以沿着节点之间的链路行进,但如果第一节点和第二节点未通过链路连接,则可以不直接从第一节点行进到第二节点。在各个实施例中,所述链路可以是定向的。
在各个实施例中,LNG模型进一步包括节点连接性度量。例如,LNG模型包括描述多对节点之间的连接性的节点连接性度量。在示例实施例中,所述节点连接性度量可以基于第二节点的第二节点位置或第二节点航向的不确定性来描述第一节点的第一节点位置或第一节点航向的任何不确定性。例如,LNG模型可以包括LNG模型中的每对节点的节点连接性度量。在示例实施例中,与相隔一公里、一英里或更多的第一节点和第三节点相对应的节点连接性度量相比,与彼此直接相邻和/或靠近的第一节点和第二节点相对应的节点连接性度量可以指示第一节点与第二节点之间的更大连接。在示例实施例中,所述节点连接性度量是交叉协方差。例如,与第一节点和第二相对应的节点连接性度量是 其中是第一节点的节点位置,是第二节点的节点位置,是第一节点的节点航向,是第二节点的节点航向,C是******运算符,并且Cross-covar是确定两个输入向量的交叉协方差矩阵的交叉协方差运算符。在示例实施例中,所述交叉协方差矩阵是六乘六矩阵。
在各个实施例中,LNG模型可以至少部分地被表示、描述等为节点的集合L=N(μ,Σ),其中μ是节点位置和节点航向的集合并且Σ是节点误差度量和/或节点连接性度量的对应集合。在示例实施例中,多个节点的节点误差度量可以表示为单个矩阵。在示例实施例中,多个节点的节点误差度量和节点连接性度量可以被表示为单个误差连接性矩阵Q。例如,在示例实施例中,LNG模型的一个或多个不确定性度量(例如,节点误差度量和/或节点连接性度量的集合Σ)可以编码在误差连接性矩阵Q中和/或包括误差连接矩阵Q。
基于新驱动器生成和更新LNG模型
图3提供了展示在示例实施例中执行以基于新驱动器生成和/或更新LNG模型的示例过程、程序和操作的流程图。如上所述,新驱动器包括多个和/或一系列定位信息/数据实例。例如,新驱动器可以包括多个定位信息/数据实例的时间排序的序列(time-orderedsequence)。
在框302处开始,接收新驱动器。例如,穿越车道网络的至少一部分(例如,车辆5车载、由行人携带等)的探针设备20。探针设备20可以定期地周期性地响应于捕获触发器等来捕获、生成等定位信息/数据实例。在示例实施例中,定位信息/数据实例可以包括探针设备和/或车辆标识符。在示例实施例中,定位信息/数据实例包括位置和/或航向。在示例实施例中,定位信息/数据实例可以包括一个或多个误差度量。例如,定位信息/数据实例可以包括误差协方差矩阵,所述误差协方差矩阵描述了位置和/或航向的一个或多个元件和/或组件中的不确定性(例如,由于用于确定位置和/或航向的测量中的误差和/或不确定性,如GPS读数中的不确定性等)以及第一元件和/或组件中的不确定性对第二元件和/或组件的影响。例如,定位信息/数据实例包括作为纬度、经度、海拔、俯仰、横滚和偏航提供的位置和航向,并且误差协方差矩阵可以包括纬度测量/确定的不确定性以及由于俯仰测量/确定的不确定性而引起的纬度测量/确定的影响和/或不确定性。
在示例实施例中,定位信息/数据实例包括与从定位信息/数据实例的位置查看到的定位对象相对应的定位对象标识符、定位对象与定位信息/数据实例的位置之间的距离测量等。在示例实施例中,定位信息/数据实例可以包括被配置成标识捕获、生成等定位信息/数据实例的探针设备20的探针设备标识符、指示捕获定位信息/数据实例的时间的时间戳等。在示例实施例中,所述位置是探针设备20在捕获定位信息/数据实例时的地理定位(例如,纬度和经度或纬度、经度和海拔/高度)。例如,探针设备20可以包括用于确定探针设备20的位置的定位传感器29(例如,GNSS传感器、一个或多个IMU传感器等)。在示例实施例中,所述航向指示探针设备20和/或车辆5的行进方向、探针设备20和/或车辆5正在指向的方向等。在各个实施例中,所述航向可以是由地表面在定位信息/数据实例的位置处局部定义的平面中的角度;探针设备20和/或车辆5的横滚、俯仰和/或偏航等。在各个实施例中,探针设备20可以包括一个或多个传感器,所述一个或多个传感器被配置成观察探针设备20和/或车辆5附近的定位对象(例如,标志、灯柱、车道线、建筑物和/或其它一般静态/非移动对象),和/或测量探针设备20和/或车辆5与所观察的定位对象之间的距离等。
探针设备20可以因此捕获多个定位信息/数据实例的时间序列。然后,探针设备20可以提供(例如,传输)多个定位信息/数据实例的时间序列的至少一部分。例如,处理器22可以使通信接口26通过一个或多个网络50提供和/或传输多个定位信息/数据实例的时间序列的至少一部分。在各个实施例中,模型设备10可以接收多个定位信息/数据实例的时间序列。例如,模型设备可以包括用于接收多个定位信息/数据实例的时间序列的装置,如处理器12、通信接口16、存储器14等。
在示例实施例中,模型设备10可以将曲线(例如,平滑样条(smoothing spline)或其它曲线)拟合到多个定位信息/数据实例和/或其一部分的时间序列。在各个实施例中,可以在关于框304所描述的地图匹配步骤之前或之后执行将平滑样条或其它曲线拟合到多个定位信息/数据实例。在示例实施例中,平滑样条和/或其它曲线的拟合减少了在定位信息/数据实例中固有的噪声。在示例实施例中,当将平滑样条和/或其它曲线拟合到时间序列时,考虑当捕获多个定位信息/数据实例的时间序列时探针设备20和/或车辆5的行进方向。在各个实施例中,在将平滑样条或其它曲线拟合到多个定位信息/数据实例之后,可以对平滑样条和/或其它曲线进行重采样以生成估计的和/或内插的定位信息/数据实例的近似均匀分布。应当理解,对定位信息/数据实例的引用可以是如由探针设备20提供的定位信息/数据实例,或是基于包括新驱动器的多个定位信息/数据实例的时间序列来确定和/或生成的估计的和/或内插的定位信息/数据实例。
响应于接收到新驱动器和/或多个定位信息/数据实例的时间序列和/或标识新驱动器处理触发器,可以在框304处对新驱动器进行地图匹配。例如,模型设备10可以地图匹配多个定位信息/数据实例的时间序列的一个或多个定位信息/数据实例。例如,模型设备10可以包括用于对一个或多个定位信息/数据实例进行地图匹配的装置,如处理器12、存储器14等。在示例实施例中,模型设备10可以与地图匹配引擎30通信以引起定位信息/数据实例的地图匹配。在各个实施例中,定位信息/数据实例可以与LNG模型的现有节点相匹配。在各个实施例中,定位信息/数据实例可以使用车道级地图匹配器进行地图匹配。在各个实施例中,定位信息/数据实例可以由车道级地图匹配器进行地图匹配,所述车道级地图匹配器被配置和/或编程为标识定位信息/数据实例不能令人满意地与LNG模型的现有节点进行地图匹配的情况。例如,地图匹配器可以使用包含与未由LNG模型的现有节点表示的车道相对应的状态的隐马尔可夫模型(hidden Markov model)。例如,在示例实施例中,定位信息/数据实例可以通过与在美国申请第15/389,500号中所描述的方法类似的方法进行地图匹配,所述方法的修改之处在于添加了不与LNG模型的现有车道、节点或节点的集合相对应的状态。例如,美国申请第15/389,500号的地图匹配方法可以被修改成包含“无匹配车道”和不匹配状态。
在示例实施例中,定位信息/数据实例可以基于定位信息/数据实例的位置而与LNG模型的节点进行地图匹配。例如,如果具有与定位信息/数据实例的位置最靠近(例如,基于欧几里德距离(Euclidean distance)或另一距离度量)的节点位置的节点满足距离阈值要求,则定位信息/数据实例可以与所述节点相匹配。如果具有与定位信息/数据实例的位置最靠近(例如,基于欧几里德距离或另一距离度量)的节点位置的节点不满足距离阈值要求,则定位信息/数据实例可能被标记为与LNG模型的现有节点不可匹配。在另一个实例中,定位信息/数据实例的地图匹配可以基于使多个定位信息/数据实例与对应多个节点的拟合优度的全局度量最小化。在各个实施例中,可以使用各种地图匹配技术来将定位信息/数据实例与LNG模型的节点相匹配并且标识不能令人满意地与现有节点相匹配的节点。
图4提供了展示新驱动器402的示意图,所述新驱动器包括多个定位信息/数据实例的时间排序的序列和LNG模型400的一部分的多个节点406。匹配的定位信息/数据实例404与LNG模型的现有节点406(例如,匹配的节点)相匹配,并且被示为具有实线的空心圆。不匹配的定位信息/数据实例408与LNG模型的现有节点不匹配和/或不对应,并且被示为实心圆。具有虚线的空心圆是与新驱动器402的定位信息/数据实例不对应的节点406。在示例实施例中,LNG模型的现有节点被称为组1a节点,LNG模型的作为更新的一部分(例如,基于不匹配的定位信息/数据实例)生成和/或添加到LNG模型的节点被称为组1b节点,并且LNG模型的与新驱动器的定位信息/数据实例不匹配的现有节点被称为组2节点。例如,匹配的节点是一个或多个匹配的定位信息/数据实例已经与其进行地图匹配的LNG模型的现有节点。不匹配的定位信息/数据实例未令人满意地与现有节点进行地图匹配。不匹配的节点是新驱动器的定位信息/数据实例不与其进行地图匹配的LNG模型的现有节点。在新驱动器由向量表示的示例实施例中,所述向量可以包括匹配的定位信息/数据实例的集合n1a和不匹配的定位信息/数据实例的集合n1b,使得进而,例如,n1a本身由位置和航向的向量堆叠集合组成,每个向量用于组1a节点集合中的每个节点。类似地,n1b由与组1b节点集合中的节点相对应的位置和航向向量的堆叠集合组成。
继续图3,在框306处,确定用于新驱动器的观察误差度量Γ。例如,模型设备10可以确定、计算等新驱动器的观察误差度量。例如,模型设备10可以包括用于确定、计算等新驱动器的观察误差度量的装置,如处理器12、存储器14等。在示例实施例中,可以基于新驱动器的一个或多个定位信息/数据实例的误差度量来确定观察误差度量。在示例实施例中,基于新驱动器的定位信息/数据实例的误差度量(例如,交叉协方差)、与将样条或其它曲线拟合到所述多个定位信息/数据实例以生成估计的和/或内插的定位信息/数据实例的时间排序的序列相对应的一个或多个样条基矩阵等来确定新驱动器的观察误差度量Γ。在示例实施例中,新驱动器的观察误差度量属于形式 其中Γ1a,1a是堆叠驱动器向量n1a的误差协方差矩阵,Γ1b,1b是堆叠驱动器向量n1b的误差协方差矩阵,并且Γ1a,1b=Γt 1b,1a是堆叠驱动器向量n1a与n1b之间的误差交叉协方差矩阵。在示例实施例中,可以在框308、310、312、314或316之前、之后和/或同时地确定观察误差度量的确定和/或计算。
在框308处,确定是否存在新驱动器的与LNG模型的现有节点不匹配的任何定位信息/数据实例。例如,可以确定新驱动器的所有定位信息/数据实例是否都与LNG模型的现有节点进行地图匹配。例如,模型设备10可以确定是否存在新驱动器的与LNG模型的现有节点不匹配的任何定位信息/数据实例。例如,模型设备10可以包括用于确定是否存在新驱动器的与LNG模型的现有节点不匹配的任何定位信息/数据实例的装置,如处理器12、存储器14等。例如,可以确定是否存在新驱动器的与“无匹配车道”和/或不匹配状态等进行地图匹配的任何定位信息/数据实例。如果在框308处确定新驱动器的所有定位信息/数据实例都与LNG模型的现有节点进行地图匹配,那么过程继续到框318。如果在框308处确定并非新驱动器的所有定位信息/数据实例都与LNG模型的现有节点进行地图匹配,那么过程继续到框310。
在框310处,标识不与LNG模型的现有节点进行地图匹配的定位信息/数据实例。例如,模型设备10可以标识不与LNG模型的现有节点进行地图匹配的新驱动器的所述一个或多个定位信息/数据实例。例如,模型设备10可以包括用于标识不与LNG模型的现有节点进行地图匹配的一个或多个定位信息/数据实例的装置,如处理器12、存储器14等。例如,可以标识与“无匹配车道”或不匹配状态和/或未确定LNG模型的对应现有节点进行地图匹配的任何定位信息/数据实例。例如,可以标识不匹配的定位信息/数据实例408。例如,地图匹配器可以返回定位信息/数据实例列表或一系列定位信息/数据实例和LNG模型的对应现有节点406。没有为其提供对应现有节点406的任何定位信息/数据实例404。在另一个实例中,地图匹配器可以返回与可以指示对应节点的定位信息/数据实例相对应的状态。如果定位信息/数据实例以与“无匹配车道”或不匹配状态的状态返回,则所述定位信息/数据实例可以被标识为不与LNG模型的现有节点相匹配。在各个实施例中,可以针对一个或多个新节点生成节点连接性度量,使得LNG模型的每对节点与LNG模型的节点连接性度量相对应。在示例实施例中,可以先验地假设新节点独立于LNG模型中的任何现有节点和/或任何其它节点。例如,在示例实施例中,分配给新节点的节点连接性度量可以是先验地分配的,使得新节点的节点位置和/或节点航向不受LNG(例如,包含任何其它新节点)模型的现有节点和/或任何其它节点的节点位置和/或节点航向的不确定性影响。
在框312处,将新节点添加到LNG模型。例如,被标识为与LNG模型的现有节点不匹配的一个或多个定位信息/数据实例和/或每个定位信息/数据实例的位置和航向可以用于生成LNG模型的新节点。例如,可以生成包括对应不匹配的定位信息/数据实例的位置和航向以及所分配的节点误差度量的新节点。在各个实施例中,可以基于LNG模型中的邻近和/或附近现有节点的节点误差度量来确定所分配的节点误差度量。在示例实施例中,可以基于对应的定位信息/数据实例的误差度量来确定节点误差度量。在示例实施例中,可以将样条或其它曲线拟合到新驱动器(例如,包括新驱动器的定位信息/数据实例的时间序列)。在这种实施例中,可以基于将样条或其它曲线拟合到新驱动器来生成节点误差度量。例如,在示例实施例中,可以将平滑样条拟合到多个定位信息/数据实例的时间序列,并且可以对所得样条进行重采样以生成近似均匀的间隔的集合。在示例实施例中,节点误差度量是在样条拟合期间根据定位信息/数据实例的自协方差计算的系数协方差矩阵的样条基矩阵的共轭矩阵。在示例实施例中,新节点被分配有先验的、预定的和/或预定义的节点误差度量。在示例实施例中,如果不匹配的定位信息/数据实例包含任何定位对象标识符和/或对应的距离测量,则定位对象标识符和/或对应的距离测量也可以被存储到新节点。例如,模型设备10可以基于被标识为与LNG模型的现有节点不匹配的定位信息/数据实例来生成LNG模型的新节点。例如,模型设备10可以包括用于基于被标识为与LNG模型的现有节点不匹配的定位信息/数据实例来生成LNG模型的新节点的装置,例如处理器12、存储器14等。
在框314处,可以标识分割节点和合并节点。例如,模型设备10可以基于现有节点406和基于不匹配的定位信息/数据实例408生成的新节点来标识一个或多个分割节点和/或合并节点。例如,模型设备10可以包括用于基于现有节点406和基于不匹配的定位信息/数据实例408生成的新节点来标识一个或多个分割节点和/或合并节点的装置,如处理器12、存储器14等。例如,分割节点410可以是与在车道网络中两个车道分割和/或车辆5可以从第一车道穿过或第一次穿过到达第二相邻车道的定位相对应的节点。例如,车道网络可以包括爬坡车道,并且分割节点410可以定位于所述爬坡车道的开始处。例如,合并节点412可以是与在车道网络中两个车道合并和/或车辆5可以从第二车道穿过或最后穿过到达相邻的第一车道的定位相对应的节点。例如,合并节点412可以定位于所述爬坡车道的结束处。例如,LNG模型的连接信息/数据包括通过节点(through node)的一个入链路和一个出链路、合并节点的多于一个入链路和分割节点的多于一个出链路。
在框316处,基于所标识的合并节点412和分割节点410来更新连接信息/数据。例如,模型设备10可以基于所标识的合并节点412、分割节点410和/或新节点来更新连接信息/数据。例如,模型设备10可以包括用于基于所标识的合并节点412、分割节点410和/或新节点来更新连接信息/数据的装置,如处理器12、存储器14等。例如,可以更新连接信息/数据以指示车辆5可以如何访问由新节点表示的车道网络的一部分和/或在由现有节点406表示的车道网络的一部分与由新节点表示的车道网络的一部分之间通过。
在框318处,可以基于匹配的定位信息/数据实例404和对应的现有节点406来更新LNG模型的一个或多个节点。例如,模型设备10可以基于匹配的定位信息/数据实例404和对应的现有节点406来更新和/或修改LNG模型的一个或多个节点。例如,模型设备10可以包括用于基于匹配的定位信息/数据实例404和对应的现有节点406来更新和/或修改LNG模型的一个或多个节点的装置,如处理器12、存储器14等。在示例实施例中,仅与匹配的定位信息/数据实例404相对应的节点406被更新和/或修改作为更新的一部分。在各个实施例中,与节点406相对应的节点位置、节点航向、一个或多个节点误差度量和/或节点连接性度量可以被更新。在示例实施例中,与匹配的定位信息/数据实例404相对应的节点406和不与匹配的定位信息/数据实例404相对应的一个或多个节点可以被更新和/或修改作为更新的一部分。例如,不与匹配的定位信息/数据实例404相对应的现有节点406(例如,不具有与其匹配的定位信息/数据实例的节点)可以基于与所述节点相对应的一个或多个节点连接性度量来更新。在示例实施例中,在更新LNG模型的现有节点之前将新节点添加到LNG模型,使得新节点可以在LNG模型的更新中被更新、修改、调整等。
在各个实施例中,可以使用贝叶斯更新技术基于新驱动器来更新LNG模型的一个或多个节点。例如,如果在框312、314和/或316之后实现的LNG模型和/或节点集合被称为先前的LNG模型和/或节点集合L0=N(μ0,Σ0),其中μ0是节点位置和节点航向的集合并且Σ0是描述与节点集合L0相对应的节点的节点误差度量和节点连接性度量的一个或多个不确定性度量(例如,误差连接性矩阵Q0等)。例如,误差连接性矩阵Q0可以具有形式其中Q0,1a,1a是与组1a节点的误差和节点连接性度量相对应和/或包括其的误差连接性子矩阵或块(例如,新驱动器的定位信息/数据实例与其进行地图匹配的LNG模型的现有节点),Q0,2,2是与组2节点的误差和节点连接性度量相对应和/或包括其的误差连接性子矩阵或块(例如,新驱动器的定位信息/数据实例不与其进行地图匹配的LNG模型的现有节点),Q0,1a,2和Q0,2,1a是与多对节点相对应的节点连接性度量相对应和/或包括其的误差连接性子矩阵或块,其中所述每对节点的第一节点是组1a节点并且所述每对节点的第二节点是组2节点,并且Q0,1b,1b是与组1b节点的误差和节点连接性度量相对应和/或包括其的误差连接性子矩阵或块。如上文关于框312所描述的,Q0的上文所述形式中的0′s是由0′s组成的子矩阵或块,这是由于新节点中的不确定性与LNG模型的现有节点中的不确定性不相关的先验假设。在示例实施例中,子矩阵Q0,1b,1b可以是单位矩阵的倍数。在示例实施例中,子矩阵Q0,1b,1b是单位矩阵的较大倍数。例如,子矩阵Q0,1b,1b可以是单位矩阵乘以标量M,其中M是比实际预期驱动误差、由探针设备20的定位传感器引入的误差等大两个到三个数量级。例如,μ0可以以形式提供,其中μ0=(μ1a,μ2,0),μ1a是组1a节点的节点位置和节点航向的集合μ2是组2节点的节点位置和节点航向的集合并且μ1b是组1b节点的节点位置和节点航向的集合
为了确定后验的和/或更新的LNG模型L=N(μ′,Q1),定义子集运算符H,其中H(n1a,n1b,n2)=(n1a,n1b),n1a是与LNG模型的现有节点进行地图匹配的定位信息/数据实例,n1b是不与LNG模型的现有节点进行地图匹配并且是LNG模型的新节点的基础的定位信息/数据实例,并且n2是既不与现有节点进行地图匹配也不与现有节点进行地图匹配的定位信息/数据实例。如应理解的,n2是空集。后验的和/或更新的LNG模型的对数具有以下形式: 其中K是常数,上标t指示对应矩阵的转置,并且上标-1指示对应矩阵的倒数。部分是由先前的预先更新的LNG模型所贡献的先前项,并且 是由对LNG模型的更新贡献的数据似然项。在示例实施例中,可以重写数据似然项 其中因此,后验的和/或更新的LNG模型L=N(μ′,Q1)由和 给出。
如应理解,LNG模型中的节点数量可能相当大(例如,数十亿或更多)。然而,对于具有大量节点的LNG模型,用于基于新驱动器的任何更新的大部分节点将是组2节点(例如,没有新驱动器的定位信息/数据实例匹配的现有节点)。因此,在大多数情况下,新驱动器的秩(例如,新驱动器的定位信息/数据实例的数量)显著小于LNG模型作为整体的秩(例如,LNG模型中的节点数量)。因此,对LNG模型的更新可以被计算为低秩更新。另外,如上文所示,对节点位置和节点航向的更新是对现有节点位置和节点航向的简单加性更新(additiveupdate)。因此,尽管LNG模型的节点数量,但是对LNG模型的更新是计算上可处理的,例如,通过定义运算符V=Γ+HQ0Ht=Γ+(Q0)1,1,其中由于在示例实施例中,先验地假设组1b节点与组1a节点不相关。因此,其中ΔQ=Q0HtV-1HQ0,其形式为因此,可以基于使用合理量的处理能力(processing power)的新驱动器来更新LNG模型。具体地,这些计算的易处理性(tractability)可以通过计算较小的组1空间内的更新的相当大一部分(例如,存在于新驱动器的定位信息/数据实例与其匹配的LNG模型中的组1a和组1b的组合,以及基于不匹配的定位信息/数据实例生成的新节点),并且然后执行矩阵乘法步骤以确定经过更新的LNG模型而增加。然后,经过更新的LNG模型可以存储在例如模型设备10的存储器14中。
继续图3,在框320处,可以提供经过更新的LNG模型和/或其一部分。例如,模型设备10可以提供经过更新的LNG模型。例如,模型设备10可以包括用于提供经过更新的LNG模型的装置,如处理器12、存储器14、通信接口16等。在示例实施例中,可以提供经过更新的LNG模型和/或其一部分作为数字地图的层和/或地图图块。例如,在示例实施例中,可以基于经过更新的LNG模型生成、确定和/或得出和/或更新车道级地图和/或其层。例如,车道级地图和/或车道级地图层可以包括表示车道网络的行进车道、行进车道的中心线、行进车道的周界/边界线等并且基于经过更新的LNG模型确定和/或从经过更新的LNG模型得出的曲线、折线等。例如,包括经过更新的LNG模型的一部分的地图图块和/或车道级地图或车道级地图层可以被提供(例如,传输)并且然后由另一计算实体40接收。在示例实施例中,计算实体40是探针设备20。计算实体40可以接收包括经过更新的LNG模型的一部分和/或车道级地图或车道级地图层的地图图块,处理所述地图图块并且然后使用所述地图图块(包含经过更新的LNG模型的一部分和/或基于经过更新的LNG模型确定的车道级地图或地图层)以执行一个或多个导航功能。在各个实施例中,导航功能可以是定位功能(例如,确定计算实体40和/或另一实体在地图内的定位)、路线规划功能(例如,确定从起点到目的地的路线)、路线指导功能(例如,辅助自主车辆和/或人类操作员导航从起点到目的地的路线)、执行一个或多个自主和/或ADAS功能(例如,车道保持、车道变换辅助、维持车道)等。
在各个实施例中,LNG模型可以作为空集开始,并且第一新驱动器可以用于开始填充LNG模型。例如,第一新驱动器可以用于生成一个或多个节点,使得在LNG模型的第一更新时,组1a和组2两者均为空集。每个新驱动器此后可以然后用于更新和生成LNG模型的另外节点。
基于定位层更新来更新LNG模型
在各个实施例中,LNG模型可以链接到定位层。例如,新驱动器的定位信息/数据实例可以包含定位对象标识符,所述定位对象标识符标识其信息/数据被存储在定位层内的定位对象。一些示例定位对象可以是车道线、道路标志(例如,停止标志、街道名称标志、让行标志、警告标志等)、电话杆、路灯和/或灯柱、建筑立面和/或在车道网络附近的可以由探针设备20的一个或多个传感器29观察、标识等的其它一般静态对象。在各个实施例中,LNG模型的节点可以包括观察信息/数据。在示例实施例中,节点的观察信息/数据可以包括与所述节点进行地图匹配的定位信息/数据实例中包含的定位对象标识符相对应的一个或多个定位对象标识符。在示例实施例中,节点的观察信息/数据可以进一步包括定位对象与节点之间的一个或多个距离测量(例如,和/或与所述节点进行地图匹配的定位信息/数据实例的位置),已经从节点观察到定位对象的次数的计数(例如,包含对应的定位对象标识符的定位信息/数据实例已经与所述节点进行地图匹配的次数),与包含对应的定位对象标识符等的节点进行地图匹配的定位信息/数据实例的比率/分数/百分比等。因此,LNG模型的一个或多个节点可以各自与定位层的一个或多个定位对象链接和/或相关联。
在各个实施例中,可以更新定位层。例如,可以更新定位对象的定位、位置等。例如,模型设备10或另一设备(例如,地图匹配引擎30或其它计算实体40)可以更新定位层的定位对象的定位、位置等。例如,定位对象的定位、位置等可以被更新到更精确、准确和/或改进的定位、位置等。在示例实施例中,定位层的一个或多个定位对象的更新可以生成和/或引起定位层更新触发器被发布、生成、传递到模型设备10、由模型设备10标识和/或观察(例如,通过处理器12)等。在示例实施例中,如果因为定位对象本身被移动、移除、放置在新位置中等而执行定位对象的更新(例如,在稍微不同的位置中用新的停止标志替代旧的停止标志等),则移动的定位对象(例如,新位置中的定位对象)可以提供有新的定位对象标识符,并且这样的更新可以不引起定位层更新触发器被发布、生成、传递到模型设备10、由模型设备10标识和/或观察(例如,通过处理器12)等。
在各个实施例中,节点与定位对象之间的距离测量可以比作为新驱动器的部分接收到的定位信息/数据实例的位置更精确、准确等和/或作为其结果,比LNG模型的节点的节点位置更精确、准确等。因此,可能期望基于对定位层的更新和定位对象与各种节点之间的代表性距离来更新节点(例如,节点位置、节点航向、误差度量、连接性度量、误差连接性矩阵等)。例如,可以对定位对象与节点之间的观察到的和/或所测量的距离(例如,已经与所述节点进行地图匹配的定位信息/数据实例)取平均等以生成定位对象与节点之间的代表性距离。图5提供了展示在示例实施例中执行以基于对链接和/或关联的定位层的更新来更新LNG模型的示例过程、程序和操作的流程图。
在框502处开始,标识、观察、接收等定位层更新触发器。例如,模型设备10可以标识、观察、接收等定位层更新触发器。例如,模型设备10可以包括用于标识、观察、接收等定位层更新触发器的装置,如处理器12、存储器14、通信接口16等。在示例实施例中,定位层更新触发器指示已经被更新的一个或多个定位对象。例如,图6示出了LNG模型600的一部分和定位层610的一部分。LNG模型600包括多个节点602。定位层610包括多个定位对象612(例如,612A、612B)。例如,定位层610可以包括尚未更新的多个定位对象612A和已经被更新的一个或多个定位对象612B。例如,经过更新的定位对象612B可以包括已经被更新的对象位置、定位对象标识符等。
继续图5,在框504处,可以标识经过更新的定位对象612B。例如,模型设备10可以标识经过更新的定位对象612B。例如,模型设备10可以包括用于标识经过更新的定位对象612B的装置,如处理器12、存储器14等。例如,定位层更新触发器可以指示和/或包括经过更新的定位对象612B的定位对象标识符。在另一个实例中,定位层可以包括和/或与更新日志相关联,所述更新日志可以指示和/或包括经过更新的定位对象612B的定位对象标识符。在各个实施例中,对定位对象612B的更新可以是将定位对象位置x从先前位置x0调整为形式x′=x0+Δx的经过更新的位置x′。
在框506处,标识观察节点集合K。例如,模型设备10可以标识观察节点集合K。例如,模型设备10可以包括用于标识观察节点集合K的装置,如处理器12、存储器14等。在示例实施例中,观察节点集合K中的每个节点包括观察信息/数据,所述观察信息/数据包括与经过更新的定位对象612B相对应的定位对象标识符。例如,可以基于节点的观察信息/数据以及经过标识的经过更新的定位对象612B等来标识观察节点集合K。在示例实施例中,观察节点集合K中的每个节点包括从所述节点观察经过更新的定位对象612B的次数的计数、与所述节点与经过更新的定位对象612B之间(例如,在定位信息/数据实例的位置与经过更新的定位对象612B之间)的测量相对应的一个或多个距离d等。
在框508处,标识排除的节点集合I。例如,模型设备10标识排除的节点集合I。例如,模型设备10可以包括用于标识排除的节点集合I的装置,如处理器12、存储器14等。在示例实施例中,所述排除的节点集合是太远(例如,通过LNG模型内的节点之间的距离和/或链路)而不能更新定位层以影响其节点位置和/或节点航向的节点。在示例实施例中,如果观察集合K中的zl与每个节点zk之间的协方差矩阵中的元素的最大值小于小的正值δ,则LNG模型的节点zl被包含在排除集合I中。在示例实施例中,小的正值δ小于误差连接性矩阵Q、协方差矩阵C(l,k)等的最小本征值。例如,小的正值δ可以比误差连接性矩阵Q、协方差矩阵C(l,k)等的最小本征值小两个或更多个数量级。例如,如果对于观察集合K中的每个节点zk,max|C(l,k)|<δ,其中C(l,k)=Covar(zl,zk)和Covar是协方差运算符,则节点zl在所述排除集合I中。在各个实施例中,小的正值δ是预定的、预定义的或可配置的。在另一个示例实施例中,如果误差连接性矩阵Q的子矩阵或块的最大元素的绝对值小于小的正值δ,则节点zl在排除集合I中。在各个实施例中,排除集合I不包含来自观察集合K的任何节点。在示例实施例中,排除集合I在LNG模型中给定节点集合L的情况下不是观察集合K的补充。因此,存在更新节点集合J,所述更新节点集合包含观察集合K的节点并且在LNG模型中给定节点集合L的情况下是排除集合I的补充。例如,在示例实施例中,更新节点集合J包含观察集合K的节点和不在观察集合K中的一个或多个节点。在各个实施例中,仅更新更新节点集合J的节点和/或与所述更新节点集合J中的节点相对应的不确定性度量(例如,节点误差度量、节点连接性度量等)。如应理解,更新集合J包括节点zj,对于所述节点,对于观察集合K中的至少一个节点zk,max|C(j,k)|>δ,其中C(j,k)=Covar(zj,zk),Covar是协方差运算符,并且δ是在各个实施例中可以是预定的、预定义的和/或可配置的小的正数。
在各个实施例中,可以仅考虑更新节点集合J来执行与框510、512和514相对应的确定、计算(calculation)、计算(computation)等。例如,为了与框510、512和514相对应的确定、计算、计算等,可以认为LNG模型仅包括更新节点集合J的节点,从而极大地减少执行更新所需的存储器和处理能力。具体地,在大多数情况下,排除集合I将含有比更新集合J大得多数量的节点,并且因此,通过基于更新集合J而不是完整LNG模型的节点集合L执行更新,极大地减少执行更新所需的存储器和处理能力。因此,各个实施例通过基于对链接和/或关联的定位层的更新而减少更新LNG模型所需的存储器和处理能力来提供对计算机技术的改进。
在框510处,确定节点位置和/或节点航向更新。例如,模型设备10可以确定节点位置和/或节点航向更新。例如,模型设备10可以包括用于确定节点位置和/或节点航向更新的装置,如处理器12、存储器14等。在各个实施例中,仅针对更新集合J中的节点确定节点位置和/或节点航向更新。在各个实施例中,通过使更新集合J的节点的全局改变的函数最小化来确定节点位置和/或节点航向更新。例如,更新矩阵ΔZ可以是包括LNG模型的更新集合J和/或节点集合L中的节点的节点位置更新和/或节点航向更新Δzl的向量。在示例实施例中,通过使函数最小化来找到ΔZ,其中索引p对定位对象的集合P进行索引,Δxp是定位对象p的定位对象位置和/或航向的更新,索引l对LNG模型的节点集合L进行索引,Δzl是节点l的节点位置和/或节点航向的更新,Q是误差连接性矩阵,dlp是定位对象p距节点l的距离测量和/或观察,并且Dlp={dlp},定位对象p距节点l的测量和/或观察的集合。在示例实施例中,节点l包括定位对象的集合P中的一个或多个和/或所有p的集合Dlp。在示例实施例中,定位对象的集合P是定位层的完整定位对象集合。在示例实施例中,定位对象的集合P是在框504处标识的经过更新的定位对象的集合。在另一个示例实施例中,定位对象的集合P是由更新集合J的节点观察到的定位对象的集合。如应理解,对于没有被更新的所有定位对象xp(例如,在框504处没有被标识为经过更新的定位对象的定位对象),Δxp=0。
例如,可以取函数f(ΔZ)的导数并且将其设定为等于零以找到函数的最小值。例如,可以被求解以确定更新矩阵ΔZ。例如,可以定义观察矩阵D,所述观察矩阵为|L|乘|L|矩阵并且被定义为对角矩阵,使得D=对角线∑p∈P|Dlp|)。因此,当i=j时,如果i≠j并且矩阵D的元素i,j等于集合P中的与节点i相关联的所有定位对象的观察数量,则观察矩阵D的元素i,j为零。还可以定义测量矩阵A,所述测量矩阵为|L|乘|P|矩阵,其中|P|是定位对象的集合P中的定位对象的数量。测量矩阵A的元素l,p是与节点l相关联的定位对象p的观察数量。因此可以得出,ΔZ可以由(Q-1+D)ΔZ=AΔX确定,其中ΔX是定位对象更新矩阵,使得(ΔX)p=Δxp。因此,在示例实施例中,ΔZ=(Q-1+D)-1AΔX。对于排除集合I中的节点i,(AΔX)i=0并且因此对于排除集合I中的节点i,Δzi=0,如上文所讨论的。
在框512处,确定经过更新的节点位置和/或节点航向。例如,模型设备10可以确定LNG模型的一个或多个节点中的每个节点的经过更新的节点位置和/或节点航向。在示例实施例中,模型设备10可以包括用于确定LNG模型的一个或多个节点中的每个节点的经过更新的节点位置和/或节点航向的装置,如处理器12、存储器14等。在示例实施例中,通过将更新矩阵ΔZ添加到包括先前节点位置和/或节点航向的节点矩阵Z来确定经过更新的节点位置和/或节点航向Z′。例如,所述经过更新的节点位置和/或节点航向Z′=Z+ΔZ。在各个实施例中,此更新仅针对更新集合J的节点来执行。
在框514处,可以基于对定位层的更新来更新一个或多个不确定性度量。例如,模型设备10可以基于对定位层的更新来更新一个或多个不确定性度量。例如,模型设备10可以包括用于基于对定位层的更新来更新一个或多个不确定性度量的装置,如处理器12、存储器14等。例如,在示例实施例中,可以更新误差连接性矩阵Q以生成经过更新的误差连接性矩阵Q′。在示例实施例中,所述经过更新的误差连接性矩阵Q′=(Q-1+D)-1。在各个实施例中,对于排除集合I中的节点m和节点n两者,(Q′)m,n=(Q)m,n。
在框516处,可以提供经过更新的LNG模型和/或其一部分。例如,模型设备10可以提供经过更新的LNG模型。例如,模型设备10可以包括用于提供经过更新的LNG模型的装置,如处理器12、存储器14、通信接口16等。在示例实施例中,可以提供经过更新的LNG模型和/或其一部分作为数字地图的层和/或地图图块。例如,在示例实施例中,可以基于经过更新的LNG模型生成和/或更新车道级地图和/或其层。例如,车道级地图和/或车道级地图层可以包括表示车道网络的行进车道、行进车道的中心线、行进车道的周界/边界线等并且基于经过更新的LNG模型确定和/或从经过更新的LNG模型得出的曲线、折线等。例如,包括经过更新的LNG模型的一部分的地图图块和/或车道级地图或车道级地图层可以被提供(例如,传输)并且然后由另一计算实体40接收。在示例实施例中,计算实体40是探针设备20。计算实体40可以接收包括经过更新的LNG模型的一部分和/或车道级地图或车道级地图层的地图图块,处理所述地图图块并且然后使用所述地图图块(包含经过更新的LNG模型的一部分和/或基于经过更新的LNG模型确定的车道级地图或地图层)以执行一个或多个导航功能。在各个实施例中,导航功能可以是定位功能(例如,确定计算实体40和/或另一实体在地图内的定位)、路线规划功能(例如,确定从起点到目的地的路线)、路线指导功能(例如,辅助自主车辆和/或人类操作员导航从起点到目的地的路线)、控制ADAS(例如,利用如车道保持、车道变换辅助、自动化超车操控(automated overtake maneuver)、合并操控(mergingmaneurver)或自主驾驶等功能和/或其它功能)等。
优点
本发明的各个实施例提供了用于生成和更新LNG模型的方法、设备、***、计算机程序产品等。例如,可以基于包括多个定位信息/数据实例的时间序列的新驱动器来生成和/或更新LNG模型。新驱动器可以由车载车辆上的探针设备提供,所述探针设备穿越由LNG模型表示的物理车道网络的至少部分。因此,在示例实施例中,可以基于由通用导航***(例如,探针设备)提供的新驱动器(例如,车辆轨迹)来生成和/或更新LNG模型。例如,可以基于众包信息/数据生成和/或更新LNG模型。在另一个实例中,可以基于对数字地图的链接和/或关联的定位层的更新来更新LNG模型。
如应理解,可以基于新驱动器更新和/或扩展LNG模型,使得LNG模型表示大地理区域(例如,城市、大城市区域、县、州的一部分、州、国家或其区域、大洲等)的物理车道网络。因此,LNG模型可以包括非常大量的节点。例如,示例LNG模型可以包括数十亿个节点或更多。因此,LNG模型的维护、储存和访问需要使用计算机技术。
此外,LNG模型和/或其部分可以用于执行一个或多个车道级导航功能。在各个实施例中,LNG模型可以由计算实体(例如,导航***、车辆控制***等)使用以执行一个或多个车道级导航功能,如利用车道级细节确定从起点到目的地的路线,提供关于数字地图和/或车道网络的区域的信息/数据,向人类操作员或自主车辆提供车道级路线指导,估计行进时间和/或行进距离,执行一个或多个自主和/或ADAS功能(例如,车道保持、车道变换辅助、维持车道)等。例如,可以提供LNG模型和/或其一部分作为数字地图的层和/或数字地图的地图图块,以供计算实体用于执行一个或多个车道级导航功能。因此,本文所提供的LNG模型和更新技术通过实现车道级导航功能的性能来改进导航技术。
本发明的各个实施例提供用于更新LNG模型。如上所述,LNG模型可以包括非常大量的节点。本发明的示例实施例通过提供用于更新计算上可处理的LNG模型的技术来提供导航技术的进一步改进。例如,本发明的各个实施例提供了用于更新LNG模型同时使执行更新所需的存储器和处理能力最小化的技术。例如,当基于新驱动器更新LNG模型时,大多数确定、运算等可以用由组1a和组1b节点所定义的较小空间来完成。在另一个实例中,当基于定位层更新来更新LNG模型时,可以针对更新集合确定所述更新,所述更新集合包括显著少于LNG模型作为整体的节点并且仅包含所述更新可能对所述节点具有显著影响的节点。因此,各个实施例通过减少用于更新大型LNG模型的存储器和处理能力要求而提供对导航技术的改进。
III.示例设备
探针设备20、地图匹配引擎30、计算实体40和/或示例实施例的模型设备10可以由各种计算装置具体化或与各种计算装置相关联,所述各种计算装置包含例如导航***,包含车载导航***、车辆控制***、个人导航装置(PND)或便携式导航装置、高级驾驶辅助***(ADAS)、全球导航卫星***(GNSS)、蜂窝电话、移动电话、个人数字助理(PDA)、手表、相机、计算机和/或可以执行导航相关功能的其它装置,如数字路由和地图显示器。另外或可替代地,地图匹配引擎30、探针设备20、计算实体40和/或模型设备10可以具体化于其它类型的计算装置中,如服务器、个人计算机、计算机工作站、膝上型计算机、多个联网计算装置等,其被配置成更新一个或多个地图图块、分析探针点以用于路线规划或其它目的。在示例实施例中,探针设备20是车辆5车载的车载导航***或移动装置;模型设备10是服务器;并且计算实体40是导航***和/或装置等。在此方面,图2A描绘了示例模型设备10,并且图2B描绘了可以由包含上文所标识的计算装置的各种计算装置具体化的示例探针设备20。如图所示,示例实施例的模型设备10可以包含处理器12和存储器装置14以及任选地通信接口16和/或用户接口18,可以与其相关联或以其它方式与其通信。类似地,示例实施例的探针设备20可以包含处理器22和存储器装置24以及任选地通信接口26、用户接口28、一个或多个传感器29(例如,定位传感器,如GNSS传感器、IMU传感器等;一个或多个相机;一个或多个2D和/或3D LiDAR;长、中和/或短程RADAR;超声波传感器;电磁传感器;(近)IR相机、3D相机、360°相机;和/或使探针设备能够确定对应车辆5周围环境的一个或多个特征的其它传感器)和/或被配置成执行本文所描述的各种操作、程序、功能等的其它组件,可以与其相关联或可以其它方式与其通信。在示例实施例中,与模型设备10和/或探针设备20类似,计算实体30可以包括处理器、存储器装置、通信接口、用户接口和/或被配置成执行本文所描述的各种操作、程序、功能等的一个或多个另外组件。在示例实施例中,计算实体40可以包括与所述一个或多个传感器29类似的一个或多个传感器。
在一些实施例中,处理器12、22(和/或协处理器或辅助处理器或以其它方式与所述处理器相关联的任何其它处理电路***)可以通过总线与存储器装置14、24通信以在设备的组件之间传递信息。存储器装置可以是非暂时性的并且可以包含例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器装置可以是电子存储装置(例如,非暂时性计算机可读存储介质),所述电子存储装置包括被配置成存储可以由机器(例如,计算装置,如处理器)检索的数据(例如,比特)的门。存储器装置可以被配置成存储信息、数据、内容、应用、指令等,以使设备能够执行根据本发明的示例实施例的各种功能。例如,存储器装置可以被配置成缓冲输入数据以由处理器处理。另外或可替代地,存储器装置可以被配置成存储指令以由处理器执行。
如上所述,模型设备10、探针设备20、地图匹配引擎30和/或计算实体40可以由计算装置来具体化。然而,在一些实施例中,所述设备可以具体化为芯片或芯片组。换句话说,所述设备可以包括一个或多个物理封装体(例如,芯片),所述物理封装体包含结构组合件(例如,基板)上的材料、组件和/或电线。所述结构组合件可以为包含在其上的组件电路***提供物理强度、大小保持和/或电相互作用的限制。因此,在一些情况下,所述设备可以被配置成在单个芯片上实施本发明的实施例或作为单个“芯片上***”实施本发明的实施例。如此,在一些情况下,芯片或芯片组可以构成用于执行用于提供本文所描述的功能的一个或多个操作的装置。
处理器12、22可以以多种不同方式具体化。例如,处理器12、22可以具体化为各种硬件处理装置中的一个或多个硬件处理装置,如协处理器、微处理器、控制器、数字信号处理器(DSP)、具有或不具有附带DSP的处理元件或各种其它处理电路***,所述其它处理电路***包含集成电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。如此,在一些实施例中,处理器12、22可以包含被配置成独立地执行的一个或多个处理核。多核处理器可以在单个物理封装体内实现多重处理。另外或可替代地,处理器12、22可以包含通过总线串联地配置成使得能够独立地执行指令、流水线和/或多线程的一个或多个处理器。
在示例实施例中,处理器12、22可以被配置成执行存储在存储器装置14、24中或以其它方式处理器可访问的指令。例如,处理器22可以被配置成执行嵌入在地图图块的链路记录内和/或作为冲突解决的行进规划的一部分提供的计算机可执行指令。可替代地或另外,处理器可以被配置成执行硬编码功能。如此,无论是通过硬件或软件方法配置还是通过其组合配置,处理器都可以表示能够在被相应地配置时执行根据本发明的实施例的操作的实体(例如,物理地具体化在电路***中)。因此,例如,当处理器被具体化为ASIC、FPGA等时,处理器可以是用于执行本文所描述的操作的被具体地配置的硬件。可替代地,作为另一个实例,当处理器被具体化为软件指令的执行器时,指令可以具体地配置处理器以在指令被执行时执行本文所描述的算法和/或操作。然而,在一些情况下,处理器可以是具体装置(例如,通过显示器或移动终端)的处理器,所述处理器被配置成通过用于执行本文所描述的算法和/或操作的指令进一步配置处理器来采用本发明的实施例。除了别的以外,处理器可以包含时钟、算术逻辑单元(ALU)和被配置成支持处理器的操作的逻辑门。
在一些实施例中,模型设备10、计算实体30和/或探针设备20可以包含用户接口18、28,所述用户接口进而可以与处理器12、22通信以向用户提供输出,如一个或多个潜在DFC走廊和对应的排名,并且在一些实施例中,接收用户输入的指示。如此,用户接口可以包含显示器,并且在一些实施例中,还可以包含键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其它输入/输出机构。可替代地或另外,处理器可以包括用户接口电路***,所述用户接口电路***被配置成控制一个或多个用户接口元件(如显示器,并且在一些实施例中扬声器、振铃器、麦克风等)的至少一些功能。处理器和/或包括处理器的用户接口电路***可以被配置成通过存储在处理器12、22可访问的存储器(例如,存储器装置14、24等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元件的一个或多个功能。
模型设备10、计算实体30和/或探针设备20可以任选地包含通信接口16、26。通信接口可以是被配置成从网络和/或与设备通信的任何其它装置或模块接收数据和/或向网络和/或与设备通信的任何其它装置或模块传输数据的任何装置,如具体化于硬件或硬件和软件的组合的装置或电路***。在此方面,通信接口可以包含例如用于实现与无线通信网络通信的天线(或多个天线)和支持硬件和/或软件。另外或可替代地,通信接口可以包含用于与一个或多个天线交互以使信号通过一个或多个天线发射或处理通过一个或多个天线接收的信号的接收的电路***。在一些环境中,通信接口可以可替代地或也支持有线通信。如此,例如,通信接口可以包含通信调制解调器和/或用于支持通过电缆、数字用户线(DSL)、通用串行总线(USB)或其它机构的通信的其它硬件/软件。
除了使示例实施例的模型设备10、地图匹配引擎30、计算实体40和/或探针设备20具体化之外,导航***还可以包含或访问地理数据库,所述地理数据库包含用于构建路线或导航路径、确定穿越所述路线或导航路径的时间、将地理定位(例如,GNSS确定的定位)与地图上的点相匹配、车道网络的车道和/或链路等的各种数据(例如,地图信息/数据,LNG模型的至少一部分)。例如,地理数据库可以包含LNG模型和/或其一部分、路段或链路数据记录、兴趣点(POI)数据记录和其它数据记录。可以提供更多、更少或不同的数据记录。在一个实施例中,其它数据记录包含制图(“carto”)数据记录、路由数据和操控数据。POI或事件数据的一个或多个部分、组件、区域、层、特征、文本和/或符号可以存储在这些数据记录中的一个或多个数据记录中,链接到这些数据记录中的一个或多个数据记录中和/或与这些数据记录中的一个或多个数据记录相关联。例如,POI、事件数据或所记录的路线信息的一个或多个部分可以例如通过位置或GNSS数据关联(如使用已知的或未来的地图匹配或地理编码技术)与相应的地图或地理记录匹配。在示例实施例中,数据记录可以包括节点、连接信息/数据、交叉口数据记录、链路数据记录、POI数据记录和/或其它数据记录。在示例实施例中,模型设备10可以被配置成修改、更新等地理数据库的一个或多个数据记录。例如,模型设备10可以修改、更新、生成等LNG模型和/或对应数据记录、定位层和/或对应数据记录等。
在示例实施例中,连接信息/数据和/或路段数据记录是链路或路段,例如,表示道路、街道或路径的操控图的操控,如可以在所计算的路线或所记录的路线信息中使用以用于确定一个或多个个性化路线。交叉口数据记录是与路段数据记录中的相应链路或路段相对应的端点。道路链路数据记录和交叉口数据记录表示如车辆、汽车和/或其它实体所使用的道路网络。类似地,LNG模型的节点和连接信息/数据表示如车辆、汽车和/或其它实体所使用的车道网络。可替代地,地理数据库可以含有路径段和交叉口数据记录或节点和连接信息/数据或例如除了车辆道路记录数据之外或代替车辆道路记录数据表示行人路径或区域的其它数据。
道路/链路段、交叉口和/或节点可以与属性,如地理坐标、街道名称、地址范围、速度限制、交叉口处的转弯限制和其它导航相关属性,以及POI,如汽油站、酒店、餐馆、博物馆、体育馆、办公室、汽车经销商、汽车维修店、建筑物、商店,公园等相关联。地理数据库可以包含关于POI及其在POI数据记录中的相应定位的数据。地理数据库还可以包含关于如城市、城镇或其它社区等地点,以及如水体、山脉等其它地理特征的数据。此类地点或特征数据可以是POI数据的一部分,或可以与POI或POI数据记录(如用于显示或表示城市的位置的数据点)相关联。另外,地理数据库可以包含与POI数据记录或地理数据库的其它记录相关联的事件数据(例如,交通事故、施工、安排的事件、未安排的事件等)和/或与其相关联。
地理数据库可以由内容提供者(例如,地图开发者)与服务平台相关联地维护。通过举例,地图开发者可以收集地理数据以生成和增强地理数据库。地图开发者可以使用不同的方式来收集数据。这些方式可以包含从其它源(如市政当局或相应的地理当局)获取数据。另外,例如,地图开发者可以雇用现场人员乘车沿着整个地理区域的道路行进,以观察关于道路的特征和/或记录信息。此外,可以使用航空或卫星摄影等遥感技术。在示例实施例中,可以基于由多个非专用探针设备提供的信息/数据来生成和/或更新地理数据库(例如,LNG模型)。例如,探针设备可以是由一般公众的成员拥有和/或操作和/或代表一般公众的成员的车载车辆,使得例如用于生成和/或更新LNG模型的新驱动器可以是众包的。
地理数据库可以是以有助于更新、维护和开发的格式存储的主地理数据库。例如,主地理数据库或主地理数据库中的数据可以是如用于开发或生产目的的Oracle空间格式或其它空间格式。Oracle空间格式或开发/生产数据库可以被编译成递送格式,如地理数据文件(GDF)格式。呈生产和/或递送格式的数据可以被编译或进一步编译成形成可以在最终用户导航装置或***中使用的地理数据库产品或数据库。
例如,地理数据被编译(如编译成平台规范格式(PSF)格式)成组织和/或配置用于执行导航相关功能和/或服务的数据,如路线计算、路线指导、地图显示、速度计算、距离和行进时间功能以及其它功能。导航相关功能可以与车辆导航或其它类型导航相对应。用于产生最终用户数据库的编译可以由与地图开发者分开的一方或实体来执行。例如,地图开发者(如导航装置开发者或其它最终用户装置开发者)的消费者可以以递送格式对所接收的地理数据库执行编译,以产生一个或多个经编译的导航数据库。不管编译和维护数据库的方式如何,根据示例实施例的使模型设备10、计算实体40和/或探针设备20具体化的导航***可以更准确地确定穿越在相应交叉口处包含一个或多个转弯的路线的时间。
IV.设备、方法和计算机程序产品
如上所述,图3和5展示了根据本发明的示例实施例的模型设备10、方法和计算机程序产品的流程图。应理解,流程图的每个框和流程图中的框的组合可以通过各种装置来实施,如硬件、固件、处理器、电路***和/或与包含一个或多个计算机程序指令的软件的执行相关联的其它装置。例如,上述程序中的一个或多个程序可以由计算机程序指令具体化。在此方面,使上述程序具体化的计算机程序指令可以由采用本发明的实施例的设备的存储器装置14、24存储并且由设备的处理器12、22执行。如将了解的,任何这种计算机程序指令可以加载到计算机或其它可编程设备(例如,硬件)上以产生机器,使得所得计算机或其它可编程设备实施流程图框中指定的功能。这些计算机程序指令还可以存储在计算机可读存储器中,所述计算机可读存储器可以引导计算机或其它可编程设备以特定方式起作用,从而使得存储在计算机可读存储器中的指令产生制品,所述制品的执行实施了流程图框中指定的功能。计算机程序指令还可以加载到计算机或其它可编程设备上,以使得在计算机或其它可编程设备上执行一系列操作以产生计算机实施的过程,使得在计算机或其它可编程设备上执行的指令提供用于实施流程图框中指定的功能的操作。
因此,流程图的框支持用于执行指定功能的用于执行指定功能的装置的组合和用于执行指定功能的操作的组合。还将理解,流程图的一个或多个框以及流程图中的框的组合可以通过执行指定功能的基于专用硬件的计算机***或专用硬件和计算机指令的组合来实施。
在一些实施例中,上述操作中的某些操作可以被修改或进一步放大。此外,在一些实施例中,可以包含另外的任选的操作。对上述操作的修改、添加或放大可以以任何顺序和以任何组合执行。
受益于前述描述和相关联的附图中呈现的教导,本发明所属领域的技术人员将想到本文所阐述的本发明的许多修改和其它实施例。因此,应理解,本发明不应限于所公开的具体实施例,并且修改和其它实施例旨在包含在所附权利要求的范围内。此外,尽管前述描述和相关联的附图在元件和/或功能的某些示例组合的上下文中描述了示例实施例,但是应理解,在不脱离所附权利要求的范围的情况下,可以通过替代性实施例提供元件和/或功能的不同组合。在此方面,例如,如可以在所附权利要求中的一些权利要求中阐述的,还设想了与上文明确描述的组合不同的元件和/或功能组合。尽管本文采用了具体术语,但其仅用于一般性和描述性意义,而不是出于限制的目的。
Claims (15)
1.一种计算机实现的方法,其包括:
由设备接收新驱动器,所述设备包括处理器、存储计算机程序代码的存储器以及被配置成通过至少一个网络进行通信的通信接口,所述新驱动器包括多个定位数据实例,每个定位数据实例由穿越可穿越车道网络的至少一部分的车辆车载的探针设备捕获并且包括当所述定位数据实例被捕获时与所述车辆相对应的位置和航向,所述探针设备包括至少一个定位传感器;
通过由所述处理器执行所述计算机程序代码的至少一部分基于车道网络图模型对所述多个定位数据实例进行地图匹配,所述车道网络图模型包括与所述车道网络的可穿越车道的位置相对应的多个节点以及与所述多个节点相对应的一个或多个不确定性度量,其中所述多个节点中的第一节点包括节点位置以及节点航向;
通过由所述处理器执行所述计算机程序代码的至少一部分从所述多个节点中标识一个或多个匹配的节点,每个匹配的节点具有与其地图匹配的一个或多个定位数据实例,其中第一节点基于定位数据实例的位置或航向中的至少一个以及所述第一节点的第一节点位置或第一节点航向中的至少一个被标识为与第一定位数据实例相匹配;
通过由所述处理器执行所述计算机程序代码的至少一部分基于所述多个定位数据实例来确定不确定性度量更新;以及
通过由所述处理器执行所述计算机程序代码的至少一部分基于对应的不确定性度量更新来更新不确定性度量以生成经过更新的车道网络图模型。
2.根据权利要求1所述的方法,其进一步包括:
通过由所述处理器执行所述计算机程序代码的至少一部分来准备地图图块,所述地图图块包括基于所述经过更新的车道网络图模型的至少一部分而得出的车道级地图层;以及
通过所述通信接口将所述地图图块提供给计算实体,其中所述计算实体被配置成基于经过更新的地图图块来执行一个或多个导航功能。
3.根据权利要求2所述的方法,其中所述计算实体是高级驾驶辅助***,并且所述一个或多个导航功能在与所述计算实体相对应的车辆的自主或辅助驾驶中使用。
4.根据权利要求1所述的方法,其中所述不确定性度量编码所述第一节点位置的不确定性或所述第一节点航向的不确定性中的至少一个。
5.根据权利要求1所述的方法,其中所述不确定性度量编码由于第二节点的第二节点位置或第二节点航向的不确定性而引起的所述第一节点位置的不确定性或由于所述第二节点的所述第二节点位置或所述第二节点航向的不确定性而引起的所述第一节点航向的不确定性中的至少一个,其中所述第二节点不同于所述第一节点。
6.根据权利要求5所述的方法,其中所述不确定性度量是对应于第一节点和第二节点的交叉协方差矩阵。
7.根据权利要求1所述的方法,其中所述不确定性度量是所述节点位置和所述节点航向的协方差矩阵。
8.根据权利要求1所述的方法,其进一步包括:
将曲线拟合到所述多个定位数据实例;以及
基于所述曲线来生成多个内插的定位数据实例,
其中对所述多个定位数据实例进行地图匹配包括对所述多个内插的定位数据实例进行地图匹配。
9.根据权利要求1所述的方法,其中所述第一节点进一步包括一个或多个观察数据实例,每个观察数据实例标识定位层的定位对象。
10.根据权利要求9所述的方法,其进一步包括:
标识定位层更新触发器;
响应于标识所述定位更新触发器来标识已经被更新的一个或多个定位对象;
标识观察节点的集合,所述观察节点的集合由包括观察数据的节点组成,所述观察数据标识所述已经被更新的一个或多个定位对象中的至少一个;
基于所述已经被更新的一个或多个定位对象来确定更新节点的集合中的每个节点的定位层位置更新、定位层航向更新或定位层不确定性度量更新中的至少一个,其中所述更新节点的集合包括所述观察节点的集合和不在所述观察节点的集合中的一个或多个节点;以及
基于用于所述更新节点的集合中的每个节点的所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中对应的至少一个来确定经过更新的节点位置、经过更新的节点航向或经过更新的不确定性度量中的至少一个。
11.根据权利要求10所述的方法,其中确定所述定位层位置更新、所述定位层航向更新或所述定位层不确定性度量更新中的所述至少一个是低秩矩阵运算。
12.根据权利要求10所述的方法,其中所述车道网络图模型的多个节点不在所述更新节点的集合中,并且不更新所述车道网络图模型的不在所述更新节点的集合中的所述多个节点。
13.根据权利要求1所述的方法,其中所述地图匹配的结果是所述多个定位数据实例中的一个或多个定位数据实例不匹配,并且所述方法进一步包括基于不匹配的定位数据实例来生成一个或多个新节点。
14.一种设备,其包括至少一个处理器、被配置成用于通过至少一个网络进行通信的通信接口以及存储计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置成利用所述处理器使所述设备执行前述权利要求之一的方法。
15.一种计算机可读存储介质,存储有计算机可读程序代码部分,所述计算机可读程序代码部分包括可执行部分,所述可执行部分被配置成当由设备的处理器执行时使所述设备执行前述方法权利要求之一的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/924,494 US10684132B2 (en) | 2018-03-19 | 2018-03-19 | Generation and update of a lane network graph model |
US15/924,494 | 2018-03-19 | ||
PCT/EP2019/055975 WO2019179804A1 (en) | 2018-03-19 | 2019-03-11 | Generation and update of a lane network graph model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111868798A CN111868798A (zh) | 2020-10-30 |
CN111868798B true CN111868798B (zh) | 2022-05-24 |
Family
ID=65812285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980020283.7A Active CN111868798B (zh) | 2018-03-19 | 2019-03-11 | 车道网络图模型的生成和更新 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10684132B2 (zh) |
EP (1) | EP3769296A1 (zh) |
CN (1) | CN111868798B (zh) |
WO (1) | WO2019179804A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7079070B2 (ja) * | 2017-04-27 | 2022-06-01 | 株式会社ゼンリン | 走行支援装置及びプログラム |
US20190378055A1 (en) * | 2018-06-06 | 2019-12-12 | Lyft, Inc. | Systems and methods for determining allocation of personal mobility vehicles |
US11927449B2 (en) * | 2019-06-10 | 2024-03-12 | Nvidia Corporation | Using map-based constraints for determining vehicle state |
US11244178B2 (en) * | 2020-02-28 | 2022-02-08 | Here Global B.V. | Method and system to classify signs |
US11898853B2 (en) * | 2020-03-31 | 2024-02-13 | Gm Cruise Holdings Llc | Map surveillance system |
US11699225B2 (en) * | 2020-11-24 | 2023-07-11 | Get Spiffy, Inc. | Tire sensing and analysis system |
US20220242440A1 (en) * | 2021-01-29 | 2022-08-04 | Argo AI, LLC | Methods and system for generating a lane-level map for an area of interest for navigation of an autonomous vehicle |
DE102022200057A1 (de) | 2022-01-05 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Anreichern einer digitalen Karte für ein wenigstens teilautomatisiertes Fahrzeug mit Informationen betreffend Routenänderungen |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104457772A (zh) * | 2013-09-13 | 2015-03-25 | 伊莱比特汽车公司 | 用于对数字化地图数据进行修正的技术 |
CN107438754A (zh) * | 2015-02-10 | 2017-12-05 | 御眼视觉技术有限公司 | 用于自主车辆导航的稀疏地图 |
WO2018015811A1 (en) * | 2016-07-21 | 2018-01-25 | Mobileye Vision Technologies Ltd. | Crowdsourcing and distributing a sparse map, and lane measurements for autonomous vehicle navigation |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751156B2 (en) * | 2004-06-30 | 2014-06-10 | HERE North America LLC | Method of operating a navigation system using images |
US7885764B2 (en) | 2007-09-06 | 2011-02-08 | GM Global Technology Operations LLC | Method for adaptively constructing and revising road maps |
CN100516776C (zh) * | 2007-11-06 | 2009-07-22 | 北京航空航天大学 | 一种基于虚拟节点的道路网络模型 |
EP2409289A1 (en) * | 2009-03-16 | 2012-01-25 | Tomtom Belgium N.V. | Method for updating digital maps |
US8374390B2 (en) * | 2009-06-24 | 2013-02-12 | Navteq B.V. | Generating a graphic model of a geographic object and systems thereof |
US8868323B2 (en) | 2011-03-22 | 2014-10-21 | Honeywell International Inc. | Collaborative navigation using conditional updates |
US9282471B2 (en) * | 2012-03-21 | 2016-03-08 | Digimarc Corporation | Positioning systems for wireless networks |
GB201215385D0 (en) * | 2012-08-29 | 2012-10-10 | Tom Tom Int Bv | Method and apparatus for predicting destinations |
US20140189156A1 (en) * | 2012-12-27 | 2014-07-03 | Deep River Ventures, Llc | Methods, Systems, and Computer Program Products for Routing Based on a Path-Based Protocol Address |
US20140189155A1 (en) * | 2012-12-27 | 2014-07-03 | Deep River Ventures, Llc | Methods, Systems, and Computer Program Products for Determining a Protocol Address For a Node |
US9264892B2 (en) * | 2013-07-03 | 2016-02-16 | Verizon Patent And Licensing Inc. | Method and apparatus for attack resistant mesh networks |
US9456312B2 (en) * | 2014-04-22 | 2016-09-27 | International Business Machines Corporation | Correlating road network information and user mobility information for wireless communication network planning |
GB201407643D0 (en) * | 2014-04-30 | 2014-06-11 | Tomtom Global Content Bv | Improved positioning relatie to a digital map for assisted and automated driving operations |
US9170116B1 (en) * | 2014-07-11 | 2015-10-27 | Toyota Motor Engineering & Manufacturing North America, Inc. | Method for generating accurate lane level maps |
US9361797B1 (en) | 2014-12-11 | 2016-06-07 | Here Global B.V. | Detecting road condition changes from probe data |
CN104535070B (zh) * | 2014-12-26 | 2017-11-14 | 上海交通大学 | 高精细地图数据结构、采集和处理***及方法 |
US9874447B2 (en) | 2015-03-06 | 2018-01-23 | Here Global B.V. | Turn lane configuration |
US10378908B2 (en) | 2015-06-26 | 2019-08-13 | Here Global B.V. | Method and apparatus for determining road stacking based upon error statistics |
DE102015214338A1 (de) | 2015-07-29 | 2017-02-02 | Volkswagen Aktiengesellschaft | Bestimmung einer Anordnungsinformation für ein Fahrzeug |
CN105678689B (zh) * | 2015-12-31 | 2020-01-31 | 百度在线网络技术(北京)有限公司 | 高精地图数据配准关系确定方法及装置 |
US9810539B2 (en) | 2016-03-16 | 2017-11-07 | Here Global B.V. | Method, apparatus, and computer program product for correlating probe data with map data |
US10247559B2 (en) | 2016-05-02 | 2019-04-02 | Here Global B.V. | Method and apparatus for disambiguating probe points within an ambiguous probe region |
US10248124B2 (en) * | 2016-07-21 | 2019-04-02 | Mobileye Vision Technologies, Inc. | Localizing vehicle navigation using lane measurements |
US10365658B2 (en) * | 2016-07-21 | 2019-07-30 | Mobileye Vision Technologies Ltd. | Systems and methods for aligning crowdsourced sparse map data |
US10417906B2 (en) | 2016-12-23 | 2019-09-17 | Here Global B.V. | Lane level traffic information and navigation |
CN106802954B (zh) * | 2017-01-18 | 2021-03-26 | 中国科学院合肥物质科学研究院 | 无人车语义地图模型构建方法及其在无人车上的应用方法 |
-
2018
- 2018-03-19 US US15/924,494 patent/US10684132B2/en active Active
-
2019
- 2019-03-11 CN CN201980020283.7A patent/CN111868798B/zh active Active
- 2019-03-11 WO PCT/EP2019/055975 patent/WO2019179804A1/en unknown
- 2019-03-11 EP EP19711539.7A patent/EP3769296A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104457772A (zh) * | 2013-09-13 | 2015-03-25 | 伊莱比特汽车公司 | 用于对数字化地图数据进行修正的技术 |
CN107438754A (zh) * | 2015-02-10 | 2017-12-05 | 御眼视觉技术有限公司 | 用于自主车辆导航的稀疏地图 |
WO2018015811A1 (en) * | 2016-07-21 | 2018-01-25 | Mobileye Vision Technologies Ltd. | Crowdsourcing and distributing a sparse map, and lane measurements for autonomous vehicle navigation |
Also Published As
Publication number | Publication date |
---|---|
US20190285421A1 (en) | 2019-09-19 |
EP3769296A1 (en) | 2021-01-27 |
WO2019179804A1 (en) | 2019-09-26 |
US10684132B2 (en) | 2020-06-16 |
CN111868798A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111868798B (zh) | 车道网络图模型的生成和更新 | |
US20210004013A1 (en) | Lane-centric road network model for navigation | |
US10296828B2 (en) | Learning a similarity measure for vision-based localization on a high definition (HD) map | |
EP3333803A1 (en) | Pose error estimation and localization using static features | |
US10482761B2 (en) | Lane-level geometry and traffic information | |
US10872435B2 (en) | Method and apparatus for iteratively establishing object position | |
US11170251B2 (en) | Method and apparatus for predicting feature space decay using variational auto-encoder networks | |
US10928819B2 (en) | Method and apparatus for comparing relevant information between sensor measurements | |
US20180293453A1 (en) | Unsupervised approach to environment mapping at night using monocular vision | |
US10580292B2 (en) | Lane-level geometry and traffic information | |
EP3485227A1 (en) | Map having computer executable instructions embedded therein | |
US10976747B2 (en) | Method and apparatus for generating a representation of an environment | |
US20220063639A1 (en) | Method, apparatus, and computer program product for predicting autonomous transition regions using historical information | |
EP4148389A2 (en) | Method and apparatus for generating maps from geospatial observations | |
US12044545B2 (en) | Method, apparatus, and computer program product for differential variable count entity output head for map generation | |
EP4009084A1 (en) | Aligning in-vehicle mobile device and vehicle bodies for improved global positioning | |
US20240153376A1 (en) | Method, apparatus, and computer program product for data attribution | |
US20240053491A1 (en) | Error characterization for gnss-based position estimates on constrained routes | |
US20240116505A1 (en) | Method and apparatus for enhanced lane line attribution | |
US20240019265A1 (en) | Generating and using positioning indices | |
US12008786B2 (en) | Method, apparatus, and computer program product for point-to-point translation between images | |
US20230280186A1 (en) | Method and apparatus for generating maps from aligned geospatial observations |
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 |