CN113748418B - 用于在车辆上加载和跟踪地图的***和方法 - Google Patents

用于在车辆上加载和跟踪地图的***和方法 Download PDF

Info

Publication number
CN113748418B
CN113748418B CN201880100669.4A CN201880100669A CN113748418B CN 113748418 B CN113748418 B CN 113748418B CN 201880100669 A CN201880100669 A CN 201880100669A CN 113748418 B CN113748418 B CN 113748418B
Authority
CN
China
Prior art keywords
map data
boundary
vehicle
updated
geographic location
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
Application number
CN201880100669.4A
Other languages
English (en)
Other versions
CN113748418A (zh
Inventor
侯庭波
项国民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Voyager Technology Co Ltd
Original Assignee
Beijing Voyager Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Voyager Technology Co Ltd filed Critical Beijing Voyager Technology Co Ltd
Publication of CN113748418A publication Critical patent/CN113748418A/zh
Application granted granted Critical
Publication of CN113748418B publication Critical patent/CN113748418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)

Abstract

一种用于在移动车辆上加载和跟踪地图的方法和***。一种方法包括获得在车辆上的***的地理位置,获得与该***的地理位置周围的相接地理边界区域相对应的边界,加载包括多个地图数据块的地图数据,每个地图数据块包括该地理边界区域的一部分,多个地图数据块包括具有与该***位置对应的点的中心块以及周围地图数据块。该方法还包括获得更新的***位置,并且如果该更新后的地理位置位于该边界区域之外,则获取以更新后的地理位置为中心的更新后的边界,并基于该更新后的边界加载地图数据,使得所得的加载地图数据包括与该地理边界区域相交的中心块和围绕该中心块的地图数据块。

Description

用于在车辆上加载和跟踪地图的***和方法
技术领域
本发明公开一般涉及处理车辆中的地图数据,具体地涉及将地图数据动态加载到车辆上的计算机***存储器中以用于控制车辆。
背景技术
当前用于自动驾驶、提供驾驶员辅助特征和/或共享出行服务的解决方案严重依赖于数据丰富的地图,其可以被称为高分辨率(HD)地图。这些高分辨率(HD)地图可能具有极高的精度,包括厘米级的地理和物体数据,以向车辆和/或驾驶员提供能够用于生成有关如何在现实世界空间中操控的精确控制指令的信息(连同实时传感器数据)。由于其高分辨率(HD)和详细信息,高分辨率(HD)地图大小可能非常大。当行驶一段距离需要许多高分辨率(HD)地图来准确提供路线上的地图信息时,可能会出现连续加载大量高分辨率(HD)地图供车辆使用的情况。由于涉及通过当前无线网络(例如4G网络)向移动***持续传送大量数据的带宽和安全性问题,有利的是具有这样一种安全***:能够提供大高分辨率(HD)地图而不依赖于无线网络的传输能力以便在车辆即刻需要时接收高分辨率(HD)地图。
发明内容
本发明的***、方法和设备各具有若干方面(特征),不存在其一个方面单独负责其所期望的属性。在不限制由所附权利要求所表达的本发明范围的情况下,下文描述一些方面。
一个创新方案包括一种加载车辆信息(例如,高分辨率(HD)地图数据)的方法,该方法可以在移动车辆的设备上实施,该设备具有至少一个处理器和耦合到该处理器的存储部件。在一个示例中,该方法包括:由该至少一个处理器获得该设备的地理位置,获得所述设备的所述地理位置周围相接地理边界区域对应的边界,将包括多个地图数据块的地图数据从所述存储部件加载到所述设备的存储器中,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,所述地理边界区域对应于所加载的地图数据的一部分,其中所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块和周围地图数据块,以及其中所述边界以所述中心块为中心并且将尺寸确定为使得所述地理边界区域与所述周围地图数据块相交。该方法还可以包括:在车辆处于运动时,由至少一个处理器获得设备的更新后的地理位置,确定所述更新后的地理位置相对于所述边界区域的定位,以及响应于确定所述更新后的地理位置位于所述边界区域之外,获得以所述更新后的地理位置为中心的更新的地理区域说对应的更新后的边界,并且将地图数据从所述存储部件加载到所述设备的存储器中,使得最终加载的地图数据包括:与所述设备的所述更新后的地理位置对应的点的中心块,以及与该地理边界区域相交的围绕该中心块的地图数据块。
本文描述的方法可以具有多种方法实施例中的一个或多个其他方面(特征),本文提到了这些方面的其中一些。然而,正如本领域技术人员将认识到的,此类方法的多种实施例可具有附加的方面或更少的方面,并且本文公开的多个方面可在多个实施例中一起使用,即使未具体图示或描述为在某一实施例中。例如,在一个方面,周围地图数据块与中心块相邻。在另一个方面中,地图数据块包括海拔信息。在另一个方面中,地图数据块包括密集度信息。在另一个方面中,所述地理边界区域对应于包括所述中心块和所述地图数据块中邻接所述中心块的至少一部分的区域。在另一个方面中,边界是矩形的。在另一个方面中,每个地图数据块包括宽度尺寸和长度尺寸,并且该边界包括宽度尺寸和长度尺寸,该边界宽度尺寸介于每个地图数据块的宽度尺寸的一倍至三倍之间,并且该边界长度尺寸介于每个地图数据块的长度尺寸的一至三倍之间。
在方法的另一个方面中,加载的地图数据包括9个地图数据块。在另一个方面中,这9个地图数据块中每一个具有相等的尺寸。在另一个方面中,这9个地图数据块包括一个中心地图数据块和八个周围地图数据块。在另一个方面中,这些地图数据块包括中心地图数据块和多于八个的周围地图数据块。在另一个方面中,该车辆是自动驾驶车辆。在另一个方面中,该边界可以是非矩形的。例如,该边界可以在表示车辆正在移动的方向、接下来将要移动的方向或预期要移动的方向的区域上更广阔(即,包含更多区域)。在另一个方面中,该边界和更新后的边界的大小是预先确定的。在另一个方面中,获得更新后的边界包括动态地确定更新后的边界。在另一个方面中,动态地确定所述更新后的边界包括获得移动中车辆的速度且基于所述速度确定所述边界的尺寸。在另一个方面中,动态地确定所述更新后的边界包括获得所述移动中车辆的速度,并且基于所述速度确定所述边界的形状。这些方法的其中一些还可以包括确定表示所述车辆正在移动的方向的运动方向,其中所述边界在所述运动方向的方向上从所述设备的所述更新后的地理位置延伸比所述边界在其他方向上延伸得更远。可以使用适用于存储和传输大高分辨率(HD)地图的多种存储装置,并且在一些实施例中,该存储装置可以包括光盘驱动器或磁性硬盘驱动器。也可以使用其他类型的硬盘驱动器。在一些实施例中,该存储装置可以包括非移动存储装置(例如,RAM或DRAM)。
在方法的另一个方面中,每个地图数据块表示宽度尺寸小于1000米以及长度尺寸小于1000米的区域。在另一个方面中,每个地图数据块表示宽度尺寸小于500米以及长度尺寸小于500米的区域。还可设想地图数据块的其他尺寸,包括每个地图数据块表示宽度尺寸小于250米和/或长度尺寸小于250米的区域,每个地图数据块是表示宽度尺寸约为200米和/或长度尺寸约为200米的区域,或每个地图数据块表示宽度尺寸小于100米且长度尺寸小于100米的区域。
在另一个方面中,所述边界的尺寸被设定为使得响应于确定所述更新后的地理位置位于所述边界区域之外,基于所述更新后的地理位置加载地图数据包括加载三个地图数据块。在另一个方面中,所述边界的尺寸确定为使得响应于确定所述更新后的地理位置位于所述边界区域之外,基于所述更新后的地理位置加载地图数据包括加载五个地图数据块。在另一个方面中,获得所述设备的地理位置包括由所述至少一个处理器从全球定位***(GPS)接收信息。在另一个方面中,获得所述设备的地理位置包括从固定位置处的至少一个发射器接收地理位置信息。在另一个方面中,获得所述设备的地理位置包括使用所述车辆上的感测***感测至少一个固定位置指示符,并基于所感测到的至少一个固定位置指示符确定地理位置。
另一种创新方案包括一个***,其包括存储***,该存储***被配置成存储包括多个地图数据块的地图数据;耦合到存储器部件的至少一个处理器,该至少一个处理器包括指令集且耦合到该存储***,在执行该指令集时,该至少一个处理器被配置成使得该***获得该设备的位置,获得与所述设备的地理位置周围相接地理边界区域对应的边界,将地图数据从所述存储部件加载到所述设备的所述存储器中,所述地图数据包括多个地图数据块,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,并且所述地理边界区域对应于所加载的地图数据的一部分,其中所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块和周围地图数据块,以及其中所述边界以所述中心块为中心并且将尺寸确定为使得所述地理边界区域与所述周围地图数据块相交。该***还被配置成获得该设备的更新后的地理位置(例如,当设备在车辆上处于运动时),确定更新后的地理位置相对于边界区域的定位,以及响应于确定更新后的地理位置位于边界区域之外,获得以更新后的地理位置为中心的更新后的边界,并基于更新后的边界将地图数据从存储部件加载到该设备的存储器。该***还可以包括车辆。
上文结合方法公开的多个方面也能够在该***上实现。例如,存储器部件可以包含将至少一个处理器配置成执行与对应于该方法描述的加载地图数据相关的动作的指令。
另一创新方案包括一种存储指令的非暂时性计算机可读介质,该指令在由计算设备执行时,使得计算设备获得该设备的地理位置,获得与所述设备的所述地理位置周围相接地理边界区域对应的边界,将地图数据从所述存储部件加载到所述设备的所述存储器中,所述地图数据包括多个地图数据块,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,并且所述地理边界区域对应于所加载的地图数据的一部分,其中所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块和周围地图数据块,以及其中所述边界以所述中心块为中心并且将尺寸确定为使得所述地理边界区域与所述周围地图数据块相交并且在该车辆处于运动中时:获得该设备的更新后的地理位置,确定更新后的地理位置相对于边界区域的定位,并且响应于确定更新后的地理位置位于边界区域之外,获得以更新后的地理位置为中心的更新后的边界,并基于更新后的边界将地图数据从存储部件加载到该设备的存储器中。
另一创新方案包括一种可在车辆上的设备(或***)上实现的方法,该方法用于从能够存储大量数据的存储***中将数据加载到与至少一个处理器通信的存储器部件(例如,工作存储器或其他可快速访问的存储器)。该设备包括至少一个处理器、存储器部件和耦合到该处理器的数据存储器部件。在一个实施例中,该方法包括:由该至少一个处理器获得该车辆的位置,由该至少一个处理器,基于车辆位置确定数据检索信息,该数据检索信息标识在车辆某个距离内的存储的物体几何数据的近端部分,由该至少一个处理器,从数据存储部件中检索物体几何数据的近端部分,并且由该至少一个处理器,将该物体几何数据的近端部分存储在该存储器部件中。
本文描述的***的实施例可以具有多种***实施例中的一个或多个其他方面(特征),本文提出了这些方面的其中一些。然而,正如本领域技术人员将认识到的,此类***的多种实施例可具有附加的方面或更少的方面,并且本文公开的多个方面可在多个实施例中一起使用,即使未具体图示或描述为在某一实施例中。在一个方面中,该数据存储部件被配置成将物体几何数据存储在数据结构中,使得所存储的物体几何数据中表示车辆周围区域的部分可以被检索到。在另一个方面中,该车辆是自动驾驶车辆。在另一个方面中,物体几何数据的近端部分至少部分地围绕该车辆。在另一个方面中,该方法还包括由至少一个处理器获得该车辆的速度和方向,并且其中确定数据检索信息包括至少部分地基于车辆的速度和方向来确定。在另一个方面中,该方法还包括确定车辆从车辆位置沿途行驶到目的地的一个或多个道路的路线,在车辆沿该路线行驶时获得指示该车辆所在道路的道路识别信息,并且基于车辆位置和道路识别信息确定数据检索信息。在另一个方面中,该道路标识信息包括有关沿着车辆正在接近的路线的一个或多个道路的信息。
在该方法的另一个方面中,该方法还包括确定车辆沿路线行驶的距离,并且其中确定数据检索信息是部分地基于车辆沿路线行驶的距离。
另一创新方案包括一种在车辆上实施的***,例如在自动驾驶车辆中。在一个实施例中,该***包括数据存储部件,其被配置成将物体几何数据存储在数据结构中,使得所存储的物体几何数据的一部分可以被检索到。该数据存储部件可以是例如磁性硬盘驱动器或光盘驱动器,或者可以包括能够存储大量数据(例如,千兆字节、太字节、拍字节或艾字节或更多)并允许对所存储的信息进行检索的一个或多个芯片。该***还包括具有存储器部件的至少一个处理器,其中该至少一个处理器被配置成获取车辆的位置,基于车辆位置确定数据检索信息,该数据检索信息标识车辆一定距离内的物体几何数据的近端部分,并从数据存储部件中检索物体几何数据的近端部分并将其存储在存储器部件中。
本文描述的***的实施例可以具有多种***实施例中的一个或多个其他方面(特征),本文提出了这些方面的其中一些。然而,正如本领域技术人员将认识到的,此类***的多种实施例可具有附加的方面或更少的方面,并且本文公开的多个方面可在多个实施例中一起使用,即使未具体图示或描述为在某一实施例中。例如,在一个方面,物体几何数据的近端部分至少部分地围绕车辆位置。在另一个方面中,物体几何数据的近端部分以车辆位置为中心。在另一个方面中,物体几何数据的近端部分在车辆位置处延伸得距车辆前部比距车辆后部更远。在另一个方面中,物体几何数据的近端部分围绕车辆位置。
在多种实施例中,一种***还可以包括全球定位***(GPS),并且其中所述至少一个处理器还被配置成从全球定位***(GPS)获得车辆的位置。在一个方面中,该至少一个处理器还被配置成获得该车辆的速度和方向,并且至少部分地基于车辆的速度和方向来确定数据检索信息。在另一个方面中,该至少一个处理器还被配置成获得指示车辆所在道路的道路标识信息,并基于车辆位置和道路标识信息确定数据检索信息。在另一个方面中,该***还可以包括导航***,该导航***被配置成接收标识目的地的输入,确定车辆从车辆位置行驶到目的地所沿的一个或多个道路的路线,确定车辆沿路线行驶时的道路标识信息,将该道路标识信息传送给至少一个处理器。在另一个方面中,该至少一个处理器还被配置成获得车辆的速度,并且其中该至少一个处理器还被配置成部分地基于车辆的速度来确定数据检索信息。在另一个方面中,该***还包括里程计装置,其被配置成确定车辆沿路线行驶的距离,其中该数据检索信息是部分地基于车辆沿路线行驶的距离。在另一个方面中,该道路标识信息包括有关沿着车辆正在接近的路线的道路的信息。
附图说明
结合附图,通过以下描述和所附权利要求,本文描述的设备的特征和优点将更加显而易见。这些附图仅描绘根据本发明公开的几个实施例并且不应被认为是对其范围的限制。在附图中,除非上下文另有说明,否则相似的引用数字或符号通常表示相似的部件。在一些情况下,附图可能是未按比例绘制的。
图1A图示根据一个实施例的网络车辆环境的框图,其中一个或多个车辆和/或一个或多个用户设备经由网络与服务器交互。
图1B图示的框图示出根据一个实施例的图1A的车辆与图1A的一个或多个其他车辆和/或服务器通信。
图2是图示沿道路移动的车辆和车辆可用于确定其地理位置信息的部件的示例的示意图。
图3是图示可由多个地图数据块表示的地图数据的示例的示意图。
图4是图示可以基于车辆初始(或第一)地理位置加载到存储器中的地图数据的示例的示意图,该地图数据包括多个地图数据块,其中这些多个地图块中的每一个的至少一部分落在界定车辆地理位置周围相接的边界区域的边界内。
图5是图示可以基于车辆更新后的(或第二)地理位置加载到存储器中的地图数据的示例的示意图,该地图数据包括多个地图数据块,其中这些多个地图块中的每一个的至少一部分落在界定车辆更新后的地理位置周围相接的边界区域的边界内。
图6是图示可以基于车辆初始(或第一)地理位置加载到存储器中的地图数据的另一个示例的示意图,该地图数据包括多个地图数据块,其中多个地图块中的每一个的至少一部分落在界定车辆地理位置周围相接的边界区域的边界内。
图7是图示可以基于车辆更新后的(或第二)地理位置加载到存储器中的地图数据的示例的示意图,该地图数据包括多个地图数据块,其中这些多个地图块中的每一个的至少一部分落在界定车辆更新后的地理位置周围相接的边界区域的边界内。
图8是可以在车辆上并且可以用于执行本文描述的地图数据加载的计算机***的示例的示意图。
图9是图示可以基于车辆的地理位置加载到存储器中的地图数据的另一示例的示意图,该地图数据包括多个地图数据块,其中多个地图数据块中的每一个的至少一部分落在界定车辆地理位置周围相接的边界区域的边界内,并且其中已经获得了运动矢量(例如,指示车辆的速度和方向的速度矢量)(例如,由***基于对车辆地理位置的后续测定来确定)。
图10是图示地图数据的另一个示例的示意图,该地图数据可以基于车辆的地理位置和确定边界的大小或形状特征(例如,尺寸)的运动矢量被加载到存储器中,该边界用于确定哪些地图数据块要加载到存储器中。
图11是加载地图数据的方法的流程图。
具体实施方式
以下详细描述针对本发明的某些方面和实施例。然而,本发明可以以多种不同的方式来实施。显然,本文中的多个方面可以以多种形式实施,并且本文公开的任何特定结构、功能或两者仅表示本发明的一个或多个实施例。本文公开的各个方面可以彼此独立地来实现,并且这些方面中的两个或更多个方面可以以各种方式进行组合。例如,将地图数据从配置成存储大量数据(例如,太字节或更多)的地图数据存储***加载到正在沿路线移动时的车辆上的计算机***的“工作”存储器的方法的不同实施例,可以使用本文公开的多个方面/特征来实现。此外,可以附加以本文阐述的一个或多个方面或作为替代而使用其他过程、步骤、结构、功能或结构来实现此类方法或者可以实施此类***。
车辆(例如,自动驾驶车辆、提供驾驶员辅助特征的车辆、用于基于位置的服务的车辆等)使用的地图数据可称为高分辨率(HD)地图,可包含许多信息类型,范围从原始数据(例如,在某个位置和相对于该位置的特定朝向捕获的图像)到特征或物体的表示(例如,表示道路、标志、道路附近的人造物体的信息、道路附近的自然物体等)。此类数据和特征可以表示先前由沿道路行驶的另一车辆收集的信息或者被确定为靠近道路的信息(例如,海拔数据)。一般而言,正如本文所使用的,“靠近道路”或“临近道路”或“近端部分”等是指可被布置在车辆上的传感器***的一个或多个传感器感测到的信息,或车辆可用于定位车辆或控制车辆的信息。
高分辨率(HD)地图的多种实施例可以包含可以由在一个或多个存储部件上的多种数据信息***提供的不同信息。例如,高分辨率(HD)地图或高分辨率(HD)地图的一部分(例如地图数据块)中的信息可以包括表示海拔、密集度(intensity)、自然特征(地理特征)、道路、标志、建筑房屋、人行道、景观和其他人造物体或人工设置在位置中的物体的其中一个或多个的信息。在一些实施例中,高分辨率(HD)地图包括海拔信息、密集度信息。在一些实施例中,表示物体(例如人造物体)的信息被存储在与海拔和/或密集度信息分开的数据存储装置中。例如,在可以按需查询车辆周围物体的数据库中的是沿路线移动的车辆。此类查询可以基于车辆周围的预定距离,即,使得某个距离内的所有物体均基于此类查询被返回。在另一示例中,此类查询可以基于车辆周围的距离,该距离基于一个或多个因素而改变,例如车辆的速度、位置(例如,城市或乡村道路)或行驶方向。
为了有效地供车辆使用,高分辨率(HD)地图可以包括厘米级分辨率的信息。在说明性实施例中,在10cm×10cm网格上构造的原始数据的示例中,分辨率可由车辆可容许的误差上限确定。对于网格上的每个单元格,可以使用三个字节:一个用于密集度信息,两个字节用于海拔信息。因此,对于1平方米,使用存储空间中的300个字节(10*10*3)。对于10km乘10 km的区域,数据的存储可能需要30GB的存储空间(例如,10k*10k*300)。如果存储的数据被压缩,则所需的存储空间更少。然而,从数据存储部件检索数据的任何解压缩需要与解压缩过程关联的至少一些额外开销,因此可能增加用于检索数据的开销。高分辨率(HD)地图数据的存储是一个问题。将高分辨率(HD)地图数据从存储位置传送到车辆是另一个问题。此类通信必须可靠、高效且安全,以确保需要时有所需的高分辨率(HD)地图数据可用。
当车辆从第一点移动到第二点时,导航***可以提供车辆应该采用的路线,例如,指示车辆要使用的特定高速公路和街道。对于车辆的秒级控制,可能只需要加载车辆周围的数据。当车辆在移动时,我们可以将新数据加载到存储器中,并从中删除旧数据。在实现将新的高分辨率(HD)地图加载到存储器中并从存储器中移除旧的高分辨率(HD)地图的一个方法实施例中,可以将车辆正在行驶通过的信息网格描绘为信息块。例如,每个块可以具有2000×2000的数据分辨率,对应于现实世界中的200 m×200 m。
选择地图数据块的尺寸的一个示例可以基于块加载频率和块大小。我们不想太频繁地加载块。从磁盘读取文件的I/O昂贵。这指示块不能太小。在城市区域中,车辆可能以10m/s到20 m/s的速度移动。因此,车辆通过1个块需要10到20秒。其结果是0.05到0.1Hz的频率,这是成本无法负担的。块的大小不应太大,因为这会占用更多存储空间。虽然车辆上的计算机通常可能非常强大,但由于车辆上发生的所有计算需求,计算资源实际上可能非常有限。在高分辨率(HD)地图的存储空间占用预期约为100MB或更少的示例中,1个块占用2k*2k*3B=12MB的存储空间。所以9个块将占用108MB的存储空间。我们希望加载完整块在100ms内完成,如果可能的话,希望更快。块尺寸应是与不同情形下的加载时间相容的。较大的块尺寸导致更长的加载时间,这可能导致块在需要被访问之前不可用。相反,较小的块尺寸会导致更高的加载频率,当车辆快速穿过一个信息块并需要下一个块时,可能会发生类似的可用性问题。块可以是压缩文件。对于2000×2000的块大小,完全加载1个块大约需要10ms,包括读取和解压缩。这样,加载完整的9个块包可能需要少于100ms,这可以在车辆进入未加载区域之前由一个线程完成。为了解决上述问题,在一个实施例中,2000×2000是满足资源限制并优化加载频率的块大小。
本文描述的某些实施例包括使用以块的布置方式配置的高分辨率(HD)地图数据。根据需要,一个或多个块从存储部件加载到车辆中控制时间的设备的存储器中。例如,在任何时候,存储器中会加载9个块,表示车辆周围的某个有界区域。为了无缝地提供高分辨率(HD)地图数据,可以在后台线程中预加载车辆可能前往的块。块加载对客户端来说是完全隐藏的。例如,可以将界定大小为4000×4000的区域(或地区)的边界布置在中心块周围。当车辆在有界区域内移动时,块加载没有变化。当车辆移出该有界区域时,将加载新的块,以围绕中心块形成新的9个块排列。
一种用于加载地图数据的方法可以在车辆的计算设备上实现。该方法可以包括例如使用例如GPS和惯性导航***,由车辆的一个或多个传感器感测的沿道路固定的位置指示符,获得车辆的地理位置,和/或接收车辆能够接收到其信号的位置处设置的发射器的传输(例如,无线电或光学)。可以获得(例如,计算)与车辆位置周围的地理边界区域对应的边界。然后,该方法可以将包含多个地图数据块的地图数据从存储部件加载到设备的存储器。多个地图数据块中的每一个包括车辆周围的一部分应有的地理边界区域,该地理边界区域对应于加载的地图数据的一部分。即,基于块大小,总加载的地图数据覆盖地理边界区域并延伸到地理边界区域之外。多个地图数据块可以包括具有对应于设备的地理位置的点的中心块。多个地图块还可以包括围绕中心块(以及车辆位置周围)布置的周围强制(mandated)块。边界以中心块和范围为中心,使得地理边界区域与周围地图数据块相交。例如,加载的地图数据可能包括布置在矩形中的9个块,车辆的位置对应于中心块中的一个点。
当车辆在运动时,获得设备的更新后的地理位置(例如,使用GPS、路边位置标记、惯性定位***等)并且***确定车辆在更新后的地理位置处相对于边界区域的位置。响应于确定车辆的更新的位置在边界区域之外,确定更新后的边界。更新后的边界对应于以车辆更新的位置为中心的更新的区域。可以将地图数据块形式的地图数据从存储部件加载到设备的存储器中,使得最终加载的地图数据包括具有与设备(车辆)更新的位置对应的点的中心块,以及围绕中心块且与边界区域相交的地图数据块。换言之,当确定车辆的位置超出最近确定的边界所界定的边界区域时,则加载附加的地图数据块。
说明性实施例
下面参照附图描述用于加载地图数据的***和方法的实施例。本领域技术人员将认识到,在不背离所描述技术的范围的情况下。可以进行多种修改和改变。此类修改和更改理应落入这些实施例的范围内。本领域技术人员还将认识到,一个实施例中包括的部件可与其他实施例互换——来自所示实施例的一个或多个部件可以以任何组合与其他所示实施例包含在一起。例如,可以将本文描述的和/或附图所示的多种部件中的任一组件进行组合、互换或在其他实施例中予以排除。
图1A示出根据一个实施例的网络车辆环境100的框图,其中一个或多个车辆120和/或一个或多个用户设备102经由网络110与服务器130交互。例如,车辆120可以配备成提供出行共享和/或其他基于位置的服务,以帮助驾驶员控制车辆操作(例如,通过多种驾驶员辅助特征,例如自适应和/或常规巡航控制,自适应前照灯控制,防抱死制动、自动泊车、夜视、盲区监测、防撞、侧风稳定、驾驶员疲劳检测、驾驶员监控***、紧急驾驶员辅助,交叉口辅助、坡道缓降控制、智能速度自适应、车道居中、车道偏离预警、前方、后方和/或侧方停车传感器、行人检测、雨量传感器、环视***、胎压监测器、交通标志识别、转向辅助、错误道路驾驶警告、交通状况提示等)和/或完全控制车辆运行。因此,车辆120可以是常规的汽油、天然气、生物燃料、电力、氢气等的且被配置成提供共享出行和/或其他基于位置的服务的车辆,提供驾驶员辅助功能(例如,一个或多个本文描述的驾驶员辅助特征)的车辆或自动化或自动驾驶车辆(AV)。车辆120可以是汽车、卡车、面包车、公共汽车、摩托车、踏板车、自行车和/或任何其他机动车辆。
服务器130可以与车辆120通信以获得车辆数据,例如路线数据、传感器数据、感知数据、车辆120控制数据、车辆120部件故障和/或故障数据等。服务器130可以处理和存储这些车辆数据以供服务器130和/或另一计算***(未示出)执行的其他操作中使用。此类操作可以包括运行诊断模型以识别车辆120运行问题(例如,车辆120导航误差的原因、异常传感器读数、未识别的物体、车辆120部件故障等);运行模型以模拟给定一组变量的车辆120性能;识别车辆120无法识别的物体,生成在被车辆120执行时使车辆120沿着指定的路径以某种方式行驶和/或移动的控制指令;和/或类似操作。
服务器130还可以将数据传送到车辆120。例如,服务器130可以传送地图数据、固件和/或软件更新、车辆120控制指令、未能被车辆120识别的物体的识别结果、乘客接取信息、交通数据和/或者类似信息。
除了与一个或多个车辆120通信之外,服务器130还能够与一个或多个用户设备102通信。具体地,服务器130可以提供网络服务以便让用户能够通过用户设备102上运行的应用请求基于位置的服务(例如,运送服务,如共享出行服务)。例如,用户设备102可以对应于计算设备,例如智能手机、平板电脑、笔记本电脑、智能手表或可以通过网络110与服务器130通信的任何其他设备。在该实施例中,用户设备102执行诸如移动应用的应用,操作用户设备102的用户可以使用该应用与服务器130交互。例如,用户设备102可以与服务器130通信以向服务器130提供位置数据和/或查询,从服务器130接收地图相关数据和/或方向和/或类似操作。
服务器130可以处理从用户设备102接收的请求和/或其他数据,以识别服务提供方(例如,车辆120驾驶员)以向用户提供所请求的服务。此外,服务器130可以接收数据——例如用户行程接取或目的地数据、用户位置查询数据等——服务器130基于这些数据识别与各种用户关联的区域、地址和/或其他位置。然后,服务器130可以使用所识别的位置以向服务提供方和/或用户提供指向所确定的接取位置的方向。
可以通过对服务器130负责的相同实体创建和/或制造在用户设备102上运行的应用程序。备选地,用户设备102上运行的应用可以是包括能够与服务器130通信的特征(例如,应用程序编程接口或软件开发工具包)的第三方应用。
为了简洁和易于解释,图1A中图示一个服务器130。然而,应当认识到,服务器130可以是单个计算设备,或者可以包括逻辑上或物理上归为一组统一地作为服务器***运行的多个不同计算设备。服务器130的部件可以采用专用的硬件(例如,具有一个或多个ASIC的服务器计算设备)来实现而无需软件,或者可以作为硬件和软件的组合来实现。另外,服务器130的模块和部件可以被组合在一个服务器计算设备上,或者在若干服务器计算设备上单独分离或分组。在一些实施例中,服务器130可以包括比图1A中所示的更多或更少的部件。
网络110包括任何有线网络、无线网络或其组合。例如,网络110可以是个人区域网络、局域网、广域网、空中广播网络(例如,用于广播或电视的网络)、有线网络、卫星网络、蜂窝电话网络或其组合。作为另一示例,网络110可以是链接网络的可公开访问的网络,可能由各种不同参与方运行,例如因特网。在一些实施例中,网络110可以是专用或半专用网络,例如公司或大学内联网。网络110可以包括一个或多个无线网络,例如用于全球移动通信***(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或任何其他类型的无线网络。网络110可以使用用于经因特网或任何其他上述网络进行通信的协议和部件。例如,网络110使用的协议可以包括超文本传输协议(HTTP)、超文本传输安全协议(HTTPS)、消息队列遥测传输(MQTT)、受限应用协议(CoAP)及类似协议。用于经因特网或前述任何其他类型的通信网络进行通信的协议和部件对于本领域技术人员是公知的,因此本文不再详细描述。
服务器130可以包括导航单元140、车辆数据处理单元145和数据存储150。导航单元140可以协助基于位置的服务。例如,导航单元140可以帮助用户(在此也称为“驾驶员”)将另一用户(在此也称为“搭车者”)和/或物体(例如,食物、包裹等)从第一位置(在此也称为“接取位置”)运送到第二位置(在此也称为“目的地位置”)。导航单元140可以通过向在驾驶员的用户设备102上运行的应用、向搭车者的用户设备102上运行的应用和/或向车辆120上运行的导航***提供地图和/或导航指令来帮助实现用户和/或物体运送。
作为示例,导航单元140可以包括匹配服务(未示出),该匹配服务将请求从接取位置到目的地位置的行程的搭车者与能够完成该行程的驾驶员进行配对。该匹配服务可以与在搭车者的用户设备102上运行的应用和/或在驾驶员的用户设备102上运行的应用交互,以建立搭车者的行程和/或处理搭车者向驾驶员支付的款项。
导航单元140还可以在行程期间与驾驶员的用户设备102运行上的应用通信以从用户设备102获得行程位置信息(例如,通过耦合到和/或嵌入在用户设备102中的全球定位***(GPS)部件),并向该应用提供导航方向,这帮助驾驶员从当前位置行驶到目的地位置。导航单元140还可以向驾驶员指示多个不同地理位置或兴趣点,而无论驾驶员是否在搭载搭车者。
车辆数据处理单元145可以被配置成支持车辆120的驾驶员辅助特征和/或支持自动驾驶。例如,车辆数据处理单元145可以生成和/或向车辆120传送地图数据,运行诊断模型来识别车辆120的运行问题,运行模型来模拟给定一组变量的车辆120性能,使用车辆120提供的车辆数据来识别物体并将物体的标识传送到车辆120,生成和/或向车辆120传送车辆120控制指令和/或类型操作。
数据存储150可以存储导航单元140、车辆数据处理单元145、用户设备102和/或车辆120所使用的多种类型的数据。例如,数据存储150可以存储用户数据152、地图数据154、搜索数据156和日志数据158。
用户数据152可以包括有关注册了基于位置的服务的一些或所有用户的信息,例如驾驶员和搭车者。该信息可以包括例如用户名、密码、姓名、地址、账单信息、与用户所采用或服务的先前行程关联的数据、用户评级信息、用户忠诚度计划信息和/或类似信息。
地图数据154可以包括从传感器(例如,光探测和测距(LiDAR)传感器、无线电探测和测距(RADAR)传感器、红外摄像机、可见光摄像机、立体摄像机、惯性测量单元(IMU)等)、卫星图像、在捕获的街道图像上执行的光学字符识别(OCR)(例如,识别街道名称、识别街道标志文字、识别兴趣点名称等)等生成的高分辨率(HD)地图;用于计算路线的信息;用于呈现二维(2D)和/或三维(3D)图形地图的信息;和/或类似信息。例如,地图数据154可以包括诸多元素:如街道和十字路口的布局、桥梁(例如,包括有关街道上桥梁的高度和/或宽度的信息)、出口匝道、建筑物、停车场入口和出口(例如,包括有关车辆入口和/或出口的高度和/或宽度的信息)、路牌和停车灯的位置、紧急岔道、兴趣点(例如公园、餐馆、加油站、景点、地标等以及关联名称)、道路标线(例如,分隔对面车道的中心线标线、车道标线、停车线、左转引导线、右转引导线、人行横道、公交车道标线、自行车道标线、安全岛标线、路面文字、高速公路出口和入口标线等)、路缘石、铁路线、航道、左右转弯的转弯半径和/或角度、道路特征的距离和尺寸、双向交通之间隔离物的位置和/或类似元素,连同这些元素的关联的地理位置(例如,地理坐标)。地图数据154还可以包括参考数据,例如实时和/或历史交通信息、当前和/或预测的天气状况、道路作业信息、有关法律和法规的信息(例如,速度限制、是否允许或禁止在红灯时右转、是否允许或禁止掉头、允许的行驶方向和/或类似的信息)、新闻事件和/或类似信息。
虽然地图数据154图示为存储在服务器130的数据存储150中,但这并不意味着是限制性的。例如,服务器130可以将地图数据154传送到车辆120以存储在其中(例如,如下文描述,存储在数据存储129中)。
搜索数据156可以包括过去由多个不同用户输入的搜索。例如,搜索数据156可以包括对接取和/或目的地位置的文本搜索。搜索可以针对特定地址、地理位置、与地理位置关联的名称(例如,公园、餐厅、加油站、景点、地标等的名称)等。
日志数据158可以包括由一个或多个车辆120提供的车辆数据。例如,车辆数据可以包括路线数据、传感器数据、感知数据、车辆120控制数据、车辆120部件故障和/或故障数据等。
图1B图示的框图示出根据一个实施例的图1A的车辆120与图1A的一个或多个其他车辆170A-N和/或服务器130通信。如图1B所示,车辆120可以包括多种部件和/或数据存储。例如,车辆120可以包括传感器阵列121、通信阵列122、数据处理***123、通信***124、内部接口***125、车辆控制***126、操作***127、地图引擎128和/或数据存储129。
可以在车辆120、一个或多个车辆170A-N和/或服务器130之间发送和/或接收通信180。服务器130可以传送和/或从车辆120接收数据,正如上文结合图1A所描述的。例如,服务器130可以向车辆120传送车辆控制指令或命令(例如,作为通信180)。车辆控制指令可以被通信阵列122(例如,被配置成发射和/或接收无线信号的一个或多个天线的阵列)接收,该通信阵列由通信***124(例如,收发器)来操作。通信***124可以将车辆控制指令传送到车辆控制***126,该车辆控制***可以操作车辆120的加速、转向、刹车、灯光、信号和其他操作***127以便驾驶和/或操控车辆120和/或协助驾驶员驾驶和/或操控车辆120沿直达路径驶向车辆控制指令所指定的目的地位置。
作为示例,车辆控制指令可以包括路线数据163,其可以由车辆控制***126处理以操控车辆120和/或协助驾驶员沿着给定路线操控车辆120(例如,由服务器130和/或地图引擎128计算出的优化路线)驶向指定的目的地位置。在处理路线数据163时,车辆控制***126可以生成控制命令164以供操作***127执行(例如,加速、转向、刹车、操控、倒车等)以使车辆120沿路线行驶到目的地位置和/或协助驾驶员沿路线操控车辆120驶向目的地位置。
目的地位置166可以由服务器130基于从用户设备102上运行的应用传送的用户请求(例如,接取请求、递送请求等)来指定。备选地或附加地,车辆120的搭车者和/或驾驶员可以通过内部接口***125(例如,车辆导航***)提供用户输入169以提供目的地位置166。在一些实施例中,车辆控制***126可以将输入的目的地位置166和/或车辆120的当前位置(例如,作为GPS数据包)作为通信180经由通信***124和通信阵列122传送到服务器130。服务器130(例如,导航单元140)可以使用车辆120的当前位置和/或输入的目的地位置166来执行优化操作以确定车辆120行驶到目的地位置166的最优路线。可以将包括最优路线的路线数据163经由通信阵列122和通信***124从服务器130传送到车辆控制***126。由于接收到路线数据163,车辆控制***126能使操作***127操控车辆120沿最优路线直达驶向目的地位置166,协助驾驶员操控车辆120沿最优路线直达驶向目的地位置166和/或使内部接口***125显示和/或呈现用于操控车辆120沿最优路线直达驶向目的地位置166的指令。
备选地或附加地,路线数据163包括最优路线并且车辆控制***126自动地将路线数据163输入到地图引擎128中。地图引擎128可以使用最优路线生成地图数据165(例如,生成显示最优路线的地图和/或采取最优路线的指令)并且将地图数据165提供到内部接口***125(例如,经由车辆控制***126)以便进行显示。地图数据165可以包括从存储在服务器130上的数据存储150中的地图数据154导出的信息。显示的地图数据165可以指示估计的到达时间和/或显示车辆120沿最优路线的行程进度。显示的地图数据165还可以包括指示符,例如改道命令、紧急通知、道路作业信息、实时交通数据、当前天气状况、有关法律和法规的信息(例如,限速、红灯时是否允许或禁止右转、哪里允许或禁止掉头、允许的行驶方向等)、新闻事件和/或类似信息。
用户输入169也可以是访问网络(例如,网络110)的请求。响应于此类请求,内部接口***125可以生成访问请求168,其可以由通信***124处理以将通信阵列122被配置成发送和/或接收对应于用户与内部接口***125交互和/或与内部接口***125通信的用户设备102交互(例如,通过无线连接连接到内部接口***125的用户设备102)的数据。例如,车辆120可以包括车载Wi-Fi,乘客和/或驾驶员可以访问该Wi-Fi以发送和/或接收电子邮件和/或文本消息、流媒体音频和/或视频内容、浏览内容页面(例如,网络页面、网页等)和/或访问使用网络访问的应用。基于用户交互,内部接口***125可以经由网络110、通信阵列122和/或通信***124接收内容167。通信***124可以动态地管理网络访问以避免内容167传输中断或将其减到最少。
传感器阵列121可以包括任意数量的一种或多种类型的传感器,例如卫星无线电导航***(例如,GPS)、光探测和测距(LiDAR)传感器、景观(landscape)传感器(例如,无线电探测和测距传感器)、惯性测量单元(IMU)、摄像机(例如,红外摄像机、可见光摄像机、立体摄像机等)、Wi-Fi检测***、蜂窝通信***、车辆间通信***、道路传感器通信***、特征传感器、接近传感器(例如,红外、电磁、光电等)、距离传感器、深度传感器和/或类似装置。卫星无线电导航***可以基于对从卫星星座接收的信号进行分析来计算车辆120的当前位置(例如,在1-10米的范围内)。
光探测和测距(LiDAR)传感器、无线电探测和测距传感器和/或任何其他类似类型的传感器可用于在车辆120处于运动中或即将开始运动时检测车辆120周围环境。例如,光探测和测距(LiDAR)传感器可用于从接近的物体反射多个激光束,以评估它们的距离并提供有关周围环境的准确三维(3D)信息。从光探测和测距(LiDAR)传感器获得的数据可用于执行物体识别、运动矢量确定、碰撞预测和/或实施事故避免过程。可选地,光探测和测距(LiDAR)传感器可以使用旋转扫描反射镜组件来提供360度视角。光探测和测距(LiDAR)传感器可以可选地安装在车辆120的车顶上。
惯性测量单元(IMU)可以包括 X、Y、Z朝向的陀螺仪和/或加速度计。惯性测量单元(IMU)提供有关车辆120的转动和直线运动的数据,其可用于计算车辆120的运动和位置。
摄像机可用于捕获车辆120周围环境的视觉图像。具体根据摄像机的配置和数量,摄像机可以提供车辆120周围的360度视角。来自摄像机的图像可用于读取道路标记(例如,车道标记)、读取街道标志、检测物体和/或类似操作。
Wi-Fi检测***和/或蜂窝通信***可分别用于对Wi-Fi热点或蜂窝塔进行三角测量,以确定车辆120的位置(可选地结合卫星无线电导航***)。
车辆间通信***(其可包括Wi-Fi检测***、蜂窝通信***和/或通信阵列122)可用于接收和/或向其他车辆170A-N传送数据,例如车辆120的当前速度和/或位置坐标、与规划减速时对应的时间和/或位置坐标以及规划的减速率、规划停止操作时的时间和/或位置坐标、规划变道时的时间和/或位置坐标以及变道方向、规划转弯操作时的时间和/或位置坐标、规划停车操作时的时间和/或位置坐标和/或类似操作。
道路传感器通信***(可包括Wi-Fi检测***和/或蜂窝通信***)可用于从道路传感器读取信息(例如,指示车流速度和/或交通拥堵)和/或从交通控制设备读取信息(例如,交通信号灯)。
当用户(例如,通过在用户设备102上运行的应用)请求搭送时,用户可以指定具体的目的地位置。始发位置可以是车辆120的当前位置,其可以使用安装在车辆中的卫星无线电导航***(例如,GPS、伽利略(Galileo)、北斗/COMPASS、DORIS、GLONASS和/或其他卫星无线电导航***)、Wi-Fi定位***、蜂窝塔三角测量和/或类似方式来予以确定。可选地,始发位置可由用户通过车辆120提供的用户界面(例如,内部接口***125)或通过运行该应用的用户设备102来指定。可选地,可以根据从用户设备102获得的位置信息自动确定始发位置。除了始发位置和目的地位置之外,还可以指定一个或多个导航点,从而启用多个目的地位置。
来自传感器阵列121的原始传感器数据161可由车载数据处理***123来处理。处理的数据162则可以被数据处理***123传送到车辆控制***126,并且可选地经由通信***124和通信阵列122传送到服务器130。
数据存储129可以存储地图数据(例如,地图数据154)和/或地图数据154的子集(例如,对应于车辆120当前所在的大致区域的地图数据154的一部分)。在一些实施例中,车辆120可以使用传感器阵列121沿行驶路线记录更新的地图数据,并且经由通信***124和通信阵列122将更新的地图数据传送到服务器130。服务器130然后可以将更新的地图数据传送到车辆170A-N中的一个或多个和/或进一步处理更新的地图数据。
数据处理***123可以向车辆控制***126提供连续或接近连续处理的数据162以响应车辆120周围环境中的点对点活动。处理的数据162可以包括原始传感器数据161——表示车辆120的运行环境并且由传感器阵列121连续收集——与存储在数据存储129中的地图数据之间的比较。在一个示例中,将数据处理***123编程为具有机器学习或其他人工智能能力,以使车辆120能够识别和响应状况、事件和/或潜在危险。在变化例中,数据处理***123可以连续地或接近连续地将原始传感器数据161与存储的地图数据进行比较以便执行定位以连续地或接近连续地确定车辆120的位置和/或方向。车辆120的定位可使车辆120能与存储的地图数据相比得知车辆120的即时位置和/或朝向,以便操控在地面街道上的车辆120穿过车流和/或协助驾驶员操控在地面街道上的车辆120穿过车流并且识别和响应潜在危险(例如,行人)或当地状况,例如天气或交通状况。
再者,定位可使车辆120能够对通信阵列122进行调谐或波束转向控制以将通信链路质量提高到最大和/或将来自其他车辆170A-N的其他通信的干扰减到最小。例如,通信***124可以响应于从服务器130接收到的网络配置命令来对通信阵列122的辐射方向图进行波束转向控制。数据存储129可以存储标识网络基站和/或提供网络连接的其他网络源的当前网络资源地图数据。网络资源地图数据可以指示车辆120所在区域内的基站和/或可用网络类型(例如,3G、4G、LTE、Wi-Fi等)的位置。
虽然图1B将某些操作描述为由车辆120或服务器130执行,但这并不意味着作为限制。如本文描述的由车辆120和服务器130执行的操作可以由任一实体来执行。例如,通常由服务器130执行的某些操作(例如,向车辆170A-N传送更新的地图数据)可由车辆120执行以便达到负载平衡目的(例如,减少服务器130的处理负载,利用车辆120上的空闲处理能力等)。
再者,车辆170A-N中的任一个可以包括本文描述的车辆120的一些或全部部件。例如,车辆170A-N可以包括通信阵列122以与车辆120和/或服务器130进行通信。
图2是图示沿着道路241移动的车辆120的示例的示意图。道路241可以是车辆120被控制以手动方式、半自动驾驶方式(例如,通过辅助驾驶员)和/或自动驾驶方式从第一点穿行到第二点的路线的一部分。在图2中,车辆120以运动矢量230所指示的速度和方向沿着道路241移动。图2还图示向车辆120被动地或主动地提供车辆120可以用来确定车辆120的位置(例如,地理位置)的地理位置信息的定位部件的示例。
当车辆120沿道路241移动时,沿道路241或与车辆120上的传感器通信的定位部件可以用于帮助控制车辆120。图2图示此类定位组件的若干示例。近端定位部件250A、250B可以沿着道路241运行。在多种实施例中,此类部件可以是相接的或紧密布置的,并且可以是无源的(由车辆120上的传感器感测,例如反射车辆120上的发射传感器,或者由红外(IR)或光学传感器感测)或有源的(例如,发射由车辆120感测的辐射)。一个或多个远端定位部件225可以布置在道路旁边或远离道路某个距离。远端定位部件225也可以是有源的或无源的,以及多种实施例。在一些实施例中,GPS发射器215可以提供由车辆120接收的GPS信号。在一些实施例中,一个或多个固定发射器220可以沿着道路241布置,并且向车辆120提供帮助车辆确定其位置的传输或通信。
在多种实施例中,车辆120可以包括传感器***作为计算机***105的一部分,或者可以包括车辆上与计算机***105接口的传感器***。计算机***105可以包括上文结合图1B描述的车辆120的任何部件。在多种实施例中,传感器***可以包括被配置成感测有关车辆120所处环境的信息的一个或多个传感器。在多种实施例中,一个或多个传感器可以包括全球定位***(GPS)模块、惯性测量单元(IMU)、无线电探测和测距(RADAR)单元、激光测距仪和/或光探测和测距(LIDAR)单元、红外(IR)摄像机和/或光学摄像机中的一个或多个。GPS模块可以是被配置成估计车辆120的地理位置的任何传感器。为此,GPS模块可以包括被配置成根据基于卫星的定位数据估计汽车100相对于地球的位置的收发器。在一个示例中,计算机***105可以被配置成结合地图数据使用GPS模块来估计车辆120可能行驶的道路上的车道边界的位置。
惯性测量单元(IMU)可以是被配置成基于惯性加速度感测车辆120的位置和朝向变化的传感器的任何组合。在一些示例中,传感器的组合可以包括例如加速度计和陀螺仪。传感器的其他组合也是可能的。
无线电探测和测距(RADAR)单元可以被认为是可被配置成使用无线电波来确定物体的特性,例如物体的范围、高度、方向或速度的物体检测***。无线电探测和测距(RADAR)单元可以被配置成发射可从波路径中的任何物体反弹的无线电波或微波的脉冲。物体可以将波的一部分能量返回到接收器(例如,碟形天线或天线),该接收器也可以是无线电探测和测距(RADAR)单元的一部分。无线电探测和测距(RADAR)单元还可以被配置成对接收到的信号(从物体反弹)进行数字信号处理并且可以被配置成识别物体。
类似于无线电探测和测距(RADAR)的其他***已经在电磁频谱的其他部分中被应用。一个示例是光探测和测距(LIDAR),可以被配置成使用来自激光的可见光而不是无线电波。
光探测和测距(LIDAR)单元可以包括被配置为使用光感测或检测车辆120所在环境中的物体的传感器。一般而言,光探测和测距(LIDAR)是一种可以通过用光照射目标来测量到目标的距离或其他属性的光学遥感技术。作为示例,光探测和测距(LIDAR)单元可以包括被配置为发射激光脉冲的激光源和/或激光扫描仪以及被配置成接收激光脉冲的反射的检测器。例如,光探测和测距(LIDAR)单元可以包括通过旋转反射镜反射的激光测距仪,并且围绕正在被数字化的场景在一个或两个维度上扫描激光,以指定的角度区间收集距离测量值。在多个示例中,光探测和测距(LIDAR)单元可以包括诸如光(例如,激光)源、扫描仪和光学元件、光电检测器和接收器电子装置以及定位和导航***之类的部件。
在一个示例中,光探测和测距(LIDAR)单元可以被配置成使用紫外线(UV)、可见光或红外光来对物体成像,并且可以与包括非金属物体的广阔目标范围一起使用。在一个示例中,可以使用窄激光束以高分辨率对物体的物理特征进行地图绘制。
在示例中,可以使用从约10微米(红外线)到约250 nm(紫外线,UV)范围的波长。通常光是通过反向散射来反射的。不同类型的散射用于不同的光探测和测距(LiDAR)应用,例如瑞利散射、米氏散射和拉曼散射以及荧光。基于不同种类的反向散射,光探测和测距(LiDAR)可以相应地称为例如瑞利光探测和测距(LiDAR)、米氏光探测和测距(LiDAR)、拉曼光探测和测距(LiDAR)和钠/铁/钾荧光探测和测距(LiDAR)。例如,合适的波长组合可以通过寻找反射信号强度中的波长相关的变化来实现对物体的远程映射。
可以使用扫描和非扫描光探测和测距(LiDAR)***来实现三维(3D)成像。“三维(3D)选通成像光探测和测距”是应用脉冲激光和快速选通摄像机的非扫描激光测距***的一个示例。成像光探测和测距(LiDAR)也可以使用高速探测器阵列和调制敏感探测器阵列来执行,该阵列通常使用CMOS(互补金属氧化物半导体)和混合CMOS/CCD(电荷耦合器件)制造技术构建在单个芯片上。在这些装置中,每个像素可以通过解调或高速选通在本地进行处理,从而能够处理阵列以表示来自摄像机的图像。使用这种技术,可以同时获取数千个像素,以创建表示在由光探测和测距(LIDAR)单元检测的物体或场景的三维(3D)点云。
点云可以包括三维(3D)坐标系中的一组顶点。例如,这些顶点可以由X、Y和Z坐标定义,并且可以表示物体的外表面。光探测和测距(LiDAR)单元可以被配置成通过测量物体表面上大量的点来创建点云,并且可以将点云输出为数据文件。作为光探测和测距(LIDAR)单元对物体进行三维(3D)扫描过程的结果,点云可用于识别物体和将其可视化。在一个示例中,可以直接渲染点云以将物体可视化。在另一个示例中,可以通过可以称为表面重构的过程将云点转换成多边形或三角形网格模型。用于将点云转换成三维(3D)表面的示例技术可以包括Delaunay三角剖分、alpha形状和球旋转。这些技术包括在点云的现有顶点上构建三角形网络。其他示例技术可以包括将点云转换为体积距离场并重建通过移动立方体算法界定的隐式表面。
摄像机可以是被配置成捕捉车辆120所处环境的图像的任何摄像机(例如,照相机、摄像机等)。为此,摄像机可以被配置成检测可见光,或者可以被配置成检测来自光谱中其他部分的光,例如红外光或紫外光。其他类型的摄像机也是可能的。该摄像机可以是二维检测器,或可以具有三维空间范围。在一些示例中,该摄像机可以是例如被配置成生成指示从摄像机到环境中多个点的距离的二维图像的测距检测器。为此,该摄像机可以使用一种或多种测距技术。例如,摄像机可以被配置为使用结构光技术,其中车辆120利用预定光图案(例如网格或棋盘格图案)照亮环境中的物体并且使用摄像机来检测预定光图案从该物体的反射。基于反射的光图案的变形,车辆120可以被配置成确定至物体上的点的距离。预定光图案可包括红外光或另一个波长的光。传感器***可以附加地或备选地包括本文描述的以外的部件。
图3是图示可以由多个地图数据块310表示的地图数据的示例的示意图。可以采用多种方式表示地图数据。如图3所示,地球305上的位置可以由纬度线和经度线实现参照。对于车辆120在地球上的特定位置,纬度和经度信息可以由网格中布置在车辆120周围的多个地图数据块310表示。基于纬度/经度参照系和地球的形状,纬度增量线之间的地理距离是一致的。然而,经度增量线之间的地理距离取决于地球上的位置,在两极靠得更近。因此,表示地球上参照经度和纬度(正如通常那样)指定的部分的地图数据的网格图案可能不完全是矩形,并且它们在靠近两极的地方将不是矩形。出于本发明公开的目的,部分由于地图数据块310的尺寸相对较小,描绘表示地球一部分的地图数据的地图数据块310将被假定为矩形或基本上为矩形。本文提及的地图数据不一定以经度和纬度来实现参照。相反,可以使用其他坐标参照系。
图4是图示可以基于车辆初始(或第一)地理位置加载到存储器中的地图数据的示例的示意图,该地图数据包括多个地图数据块,其中多个地图数据块中的每一个的至少一部分落在界定车辆地理位置周围的相接边界区域的边界内。车辆120被示为位于某个位置430中,对此位置,在所有侧面有围绕车辆120的对应可用地图数据信息,正如多个地图数据块310所示。提到车辆120的位置位于位置430处,计算机***105或包括计算机***105的设备被理解为位于车辆120的相同位置430处,因此术语可具有相同的含义和可互换使用,除非上下文另有说明。
在任何时候,虽然有多个地图数据块310可用于由存储部件来提供,但是只有某些地图数据块被加载到车辆的存储器中,在图4中图示为地图数据块401-409。正如本文所使用的,“车辆的存储器”是指处理器可以检索所存储的信息的存储器位置,例如基于芯片的存储器(例如,RAM、DRAM、处理器上的高速缓存存储器等)和不是基于磁盘的存储器/存储位置。
在车辆430的初始位置周围建立确定的边界420。边界420是围绕车辆430的某个距离和形状的表示,并且包围车辆430周围的地理边界区域425。在图示的实施例中,边界420是以车辆430的初始位置为中心的正方形。在该实施例中,将至少这9个地图数据块401-409加载到车辆120的存储器中。在其他实施例中,边界420可以具有其他形状并且从车辆120向外延伸不同的距离。例如,边界420的形状可以是矩形、圆形或非对称形状。例如,边界420可以在车辆120移动的方向上远离车辆120延伸,然后它延伸到车辆120的侧边和/或后边。
在该实施例中,边界420与9个地图数据块401-409相交或包围这些地图数据块。在其他实施例中,边界420可以与更多或更少数量的地图数据块相交或包围更多或更少数量的地图数据块,具体取决于地图数据块在尺寸上的大小和边界420的形状。
图5是图示可以基于车辆120的更新后的(或第二)地理位置加载到存储器中的地图数据的示例的示意图,该地图数据包括多个地图数据块402、403、405、406、410、411、412、413、414,其中多个地图数据块402、403、405、406、410、411、412、413、414中每一个的至少一部分落在界定围绕车辆120的更新后的地理位置435的边界区域的更新后的边界422内。图5图示与以车辆的初始地理位置430为中心的地图数据块401-409相交或围绕这些地图数据块的初始边界420,以及与以车辆120的更新后的地理位置435为中心的地图数据块402、403、405、406、410、411、412、413、414相交或围绕这些地图数据块的更新后的边界422。更新后的边界422在更新后的地理位置435处围绕并界定车辆120周围的更新的地理边界区域440。
在实施时,当车辆沿路线移动时,***105使用例如参考图1B和/或图2描述的一个或多个部件来确定更新后的地理位置。***105确定车辆120的更新后的地理位置是否对应于初始边界420界定的边界区域之外(初始边界420外侧)的位置。如果情况如此,则***105将附加的地图数据块加载到存储器中并确定界定更新的地理边界区域440的更新后的边界422。在该示例中,***105根据需要加载地图数据块,使得地图数据块402、403、405、406、410、411、412、413、414被加载到存储器中并且能够被用于控制车辆120。在该示例中,基于初始地理位置430,地图数据块402、403、405和406已经在存储器中。因此,在将地图数据块402、403、405和406保留在存储器中的同时,***105将地图数据块410、411、412、413和414加载到存储器中。在一些实施例中,从存储器中移除加载到存储器中而不与更新后的边界422相交或被其包围的地图数据块(例如,分配给地图数据块404、407、408和409的存储空间被标记为作为可以被盖写的存储器空间)。每次由于确定车辆位置在更新的地理边界区域外(例如,指示车辆120处于更新的地理边界区域422之外的位置所对应的区域中)而加载附加的地图块数据时,该方法可以对该设备沿其整个路线的后续更新后的地理位置持续执行。
图6是图示可以基于车辆初始(或第一)地理位置加载到存储器中的地图数据的另一示例的示意图,地图数据包括多个地图数据块,其中多个地图中的每一个的至少一部分数据块落在界定车辆地理位置周围的相接边界区域的边界内。在图4和图5所示的示例中,车辆120在位于9个地图数据块401-409角部的地图数据块403处穿越边界420。由此,作为建立了更新后的边界422的结果,需要将5个地图数据块410、411、412、413、414上传到存储器中,使得在这些地图数据块被上传之后,9个地图数据块的布置包围更新后的地理位置435。
图6示出与图4中所示相似的车辆120的初始起始位置和地图数据块的配置,所不同的是车辆120的方向朝向地图数据块406使得当车辆120的位置通过边界420时,车辆将位于与地图数据块406对应的位置(如图7所示)。在图7中图示可以基于车辆120更新后的(或第二)地理位置加载到存储器中的地图数据的示例的示意图。当车辆120的地理位置在对应于9个地图数据块布置侧部上的地图数据块的位置处穿过更新后的边界422时,仅需要将3个新地图数据块413、414、415加载到存储器中。换言之,因为更新后的边界422从初始边界420横向移位,更新后的边界422仅与尚未在存储器中的地图数据块413、414、415相交,因此仅将这三个地图数据块413、414、415加载到存储器中。
本文描述的技术可以由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行技术,或可包括电路或数字电子设备,例如,一个或多个被持续编程以执行这些技术的专用集成电路(ASIC)或现场可编程门阵列(FPGA),或可包括一个或多个被编程为执行根据固件、存储器、其他存储器或组合中的程序指令中的技术的硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制编程相结合,以实现这些技术。专用计算设备可以是装入硬连线和/或程序逻辑来实现技术的台式计算机***、服务器计算机***、便携式计算机***、手持式设备、联网设备或任何其它设备或设备的组合。一个或多个计算设备通常通过操作***软件来控制和协调。传统的操作***控制和调度用于执行、执行存储器管理、提供文件***、网络、I/O服务,以及提供用户界面功能的计算机进程,例如,图形用户界面(“GUI”)等。
图8是示出其上可以实现本文描述的任何实施例的计算机***800的框图,例如,图2所示的计算机***105。***800可以与上述***105完全对应相同,或者具有一个或多个不同的部件。计算机***800包括用于传送信息的总线802或其他通信机构以及耦合到总线802且用于处理信息的一个或多个硬件处理器804。例如,硬件处理器804可以是一个或多个通用微处理器。处理器804可以对应于以上参考计算机***105描述的处理器。
计算机***800还包括主存储器806,例如,随机存取存储器(RAM)、高速缓存和/或其他动态存储设备,这些存储器与总线802耦接用于存储将由处理器804执行的信息和指令。主存储器806还可用于在执行要由处理器804执行的指令期间来存储临时变量或其他中间信息。这些指令当被存储在处理器804可访问的存储介质中时使计算机***800进入被定制成执行指令中指定的操作的专用机器。在一些实施例中,这些指令可以使计算机***800获得该设备的地理位置,获得设备地理位置周围的相接地理边界区域对应的边界,将地图数据从存储装置810加载到设备的存储器806中,地图数据包括多个地图数据块,多个地图数据块中的每一个包括地理边界区域中的一部分地理边界区域,对应于加载的地图数据的一部分。加载到存储器806的多个地图数据块包括具有对应于设备的地理位置的点的中心块和围绕中心块的地图数据块。边界以中心块和范围为中心,使得地理边界区域与周围的地图数据块相交。当车辆处于运动中时,指令还可以使计算机***获取设备的更新地理位置,确定更新后的地理位置相对于边界区域的定位,并响应于确定更新后的地理位置在外部边界区域的边界区域获得以更新后的地理位置为中心的更新后的边界,并基于更新后的边界将地图数据从存储装置810加载到存储器806,使得得到的加载的地图数据包括具有与设备的更新后的地理位置对应的点的中心块,以及与地理边界区域相交的围绕中心块的地图数据块。
计算机***800还包括与总线802耦接的只读存储器(ROM)808或其他静态存储设备,用于存储处理器804的静态信息和指令。提供诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等的存储装置810并将其与总线802耦接,以存储信息和指令。主存储器806、ROM 808和/或存储装置810可以对应于上述用于存储地图数据的存储器106。在一些实施例中,主存储器806是当地图数据块被用于控制车辆120时用于存储地图数据块的存储器。例如,可以在最初将一个或多个地图数据块存储在存储装置810上,然后根据需要基于本文描述的方法和***,可以将一个或多个地图数据块加载到存储器806中并用于控制车辆120。
计算机***800可使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本发明所述的技术,这些与计算机***相结合使得计算机***800成为专用机器或将该***编程为专用机器。根据一个实施例,本发明的技术是通过计算机***800响应于处理器804执行包含在主存储器806中的一个或多个指令的一个或多个序列而执行的。这些指令可以被从诸如存储装置810之类的另一个存储介质读入主存储器806。执行包含在主存储器806中的指令序列使一个或多个处理器804执行本文所述的处理步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或与软件指令组合使用。
主存储器806、ROM 808和/或存储装置810可包括非暂时性存储介质。如本文所使用的术语“非暂时性介质”和类似术语是指存储使机器以特定方式操作的数据和/或指令的介质,其中该介质不含暂时性信号。此类非暂时性介质可包括非易失性介质和/或易失性介质。例如,非易失性介质包含诸如存储装置810之类的光盘或磁盘。易失性介质包含诸如主存储器806之类的动态存储器。例如,非暂时性介质的常见形式包括:软盘、硬盘、固态硬盘、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光学数据存储介质、任何有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他内存芯片或盒式磁带,以及其网络版本。
计算机***800还包括与总线802耦合的通信接口818。通信接口818提供与连接到一个或多个本地网络的一个或多个网络链路耦接的双向数据通信。例如,通信接口818可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供与对应类型的电话线的数据之间的通信连接。再例如,通信接口818可以是局域网(LAN)卡,以提供与兼容LAN(或与WAN通信的WAN组件)的数据之间的通信连接。还可以实现无线链路。在任何这种实施方式中,通信接口818发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
计算机***800可通过网络825、网络链路819和通信接口818发送消息和接收数据,包括程序代码。网络825可以连接到一个或多个服务器830。在因特网示例中,服务器可通过因特网、ISP、本地网络和通信接口818来发送用于应用程序的请求代码。所接收到的代码可在处理器804被接收时执行,和/或可存储在存储装置810或其他非易失性存储器中以供后续执行。
图9是图示可以基于车辆地理位置加载到存储器中的地图数据的另一个示例的示意图。在图9中,地图数据包括多个地图数据块901-909,其中多个地图数据块901-909中的每一个的至少一部分落在界定车辆120周围的边界区域925的初始边界923内。在图9中,已经获得(例如,由***基于车辆地理位置的后续确定来确定)指示车辆的速度和方向的运动矢量930。图9中所示的示例与图4中所示的示例类似,所不同之处在于已经获得与车辆的速度和方向相关的信息并且因此能够将其用于确定更新后的边界922(图10)。
图10是图示可以基于车辆地理位置和确定用于确定要加载哪些地图数据块加载到存储器中的边界的大小或形状特征(例如,尺寸)的运动矢量被加载到存储器中的地图数据的另一个示例的示意图。在该实施例中,已经确定车辆120的速度。基于车辆的速度,***105可以确定需要更大的边界922以确保加载在存储器中的地图数据块覆盖车辆120将在不久的将来移动穿过的区域。在这种情况下,由于如运动矢量920所指示的速度越高,确定越大的边界922以在车辆移动的方向上相对于车辆后边方向上或相对于车辆的侧边方向上伸出越大的距离。在该实施例中,不是基于更新后的边界922加载9个地图数据块,而是将20个地图数据块901-920加载到存储器中。边界922界定比图4所示的边界区域425更大的边界区域940。地图数据块901-920各自覆盖边界区域940的一部分,这些地图数据块被边界922包围或与之相交。
图11是加载地图数据的方法的流程图1100。该方法可以在可移动车辆的设备上实现,该设备具有至少一个处理器以及耦合到该处理器的存储部件。在框1105处,该方法包括由该至少一个处理器获得设备/车辆的地理位置车辆。在多种实施例中,可以使用参考图2描述的一个或多个传感器或其他适合的部件来获得设备的地理位置。在框1110处,该方法获得该设备的地理位置周围的地理边界区域对应的边界。该地理边界区域可以是相接的。在各种实施例中,边界可以具有预定的大小和形状,或者它可以动态地被确定,例如,基于车辆120的方向和速度。
在框1115处,该方法将包含多个地图数据块的地图数据从存储部件加载到设备的存储器。例如,存储装置810可以存储数百或数千个地图数据块。当需要时,可以将多个存储的地图数据块加载到存储器806中,地图数据块基于边界并且基于哪些地图数据块已经在存储器806中而被加载。最终在存储器中的多个地图数据块包括具有对应于设备地理位置的点的中心块和周围地图数据块,并且其中边界以中心块为中心并且其尺寸被设定为使得该地理边界区域与该周围地图数据块相交。
在该方法的框1120处,当车辆在运动时,该至少一个处理器获得车辆的更新后的地理位置。与框1110类似,可以使用参考图2描述的一个或多个传感器来获得车辆的更新后的地理位置。在框1125处,至少一个处理器可以确定更新后的地理位置相对于边界(或地理边界区域)的定位。在框1130处,响应于确定车辆的更新后的地理位置在边界区域之外,该方法获得以更新后的地理位置为中心的更新后的边界,并且基于更新后的边界,将地图数据从存储部件加载到设备的存储器中。更新后的边界对应于以更新后的地理位置为中心的更新的地理区域。将地图数据从存储部件加载到设备的存储器中,使得最终加载的地图数据包括具有与设备的更新后的位置对应的点的中心块,以及围绕中心块且与地理边界区域相交的地图数据块。随着车辆继续移动,可以重复执行框1120、1125和1130以提供移动车辆周围的地理区域中的地图数据。
前文描述详述了本文公开的***、设备和方法的某些实施例。然而,将认识到,无论前文在文本中呈现如何详尽,这些***、设备和方法仍可以采用多种方式实施。又如上所陈述的,应当注意,在描述本发明的某些特征或方面时使用特定术语不应被视为暗示该术语在本文中被重新定义为被限制于与该术语相关的技术的这些特征或方面的具体特性。
前面部分中描述的每个过程、方法和算法可通过由包括计算机硬件的一个或多个计算机***或计算机处理器执行的代码模块来实施,并通过包括计算机硬件的一个或多个计算机***或计算机处理器执行的代码模块来完全或部分将其自动化。过程和算法可部分或全部地在专用电路中实现。
上述多种特征和过程可彼此独立地被使用,或可以多种方式被组合。所有可能的组合和子组合都理应落入本发明公开的范围内。另外,在一些实施方式中,可以省略某种方法或过程框。本文描述的方法和过程也不限于任何特定序列,并且与其相关的框或状态可以按适当的其它序列来执行。例如,所描述的框或状态可以按与具体公开的顺序不同的顺序来执行,或多个框或状态可以被组合在单个框或状态中。示例性框或状态可串行、并行或以某种其他方式来执行。可向所公开的示例性实施例中添加框或状态或从其中移除框或状态。本文描述的示例***和部件可与所描述的进行不同的配置。例如,相比于所公开的示例性实施例,可添加、移除或重新布置元件。
本文描述的示例方法的多种操作可以至少部分地通过算法来执行。该算法可以包含在存储在存储器(例如,上述非暂时性计算机可读存储介质)中的程序代码或指令中。此类算法可以包括机器学习算法或模型。在一些实施例中,机器学习算法或模型可能不显性地对计算机编程以执行功能,但可以根据训练数据学习以产生执行该功能的预测模型(训练的机器学习模型)。
本文描述的示例方法的多种操作可以至少部分地由被临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,此类处理器都可以构成处理器实现的引擎,以操作来执行本文描述的一个或多个操作或功能。
类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,一种方法的至少一些操作可以由一个或多个处理器或处理器实现的引擎来执行。此外,一个或多个处理器还可以在“云计算”环境中或作为“软件即服务”(SaaS)运行以支持相关操作的执行。例如,至少一些操作可以由一组计算机(例如包括多个处理器的机器)来执行,这些操作是可通过网络(例如,因特网)和一个或多个适当的接口(例如,应用程序接口(API))访问的。
某些操作的执行可以分布在多个处理器之间,不仅驻留在单个机器内,而且可以跨多个机器部署。在一些示例实施例中,处理器或处理器实现的引擎可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其它示例实施例中,处理器或处理器实施的引擎可以跨多个地理位置分布。
在整个说明书中,多个示例可以实现作为单个实例来描述的多个部件、操作或结构。虽然一个或多个方法的多个单独操作被示出并描述为单独的操作,但是可同时执行一个或多个单独的操作,且不要求以所示的顺序来执行这些操作。示例配置中作为单独部件提出的结构与功能可以作为组合的结构或部件来实现。类似地,作为一个部件提出的结构与功能可以作为单独的部件来实现。这些和其他变化、修改、添加及改进落在本发明标的的范围内。
虽然本发明标的的概述是参考具体示例实施例来描述的,但是在不背离本发明公开的实施例的更宽范围的情况下,可对这些实施例进行各种修改和更改。本发明中的此类实施例可能在本文中单独地或统一地称为术语“本发明”,这仅仅是出于便利的目的,而无意自愿将本申请的范围限制于任何单一的公开内容或概念,如果事实上给出了多于一个公开内容或概念的话。
本文图示的实施例得到了足够详尽的描述以使本领域技术人员能够实施所公开的教导。可以使用其他实施例并据其导出其他实施例,使得可以在不背离本发明范围的情况下进行结构和逻辑替换和更改。因此,具体实施方式不应被视为具有限制意义,且各个实施例的范围仅由所附权利要求以及这些权利要求所赋予的等效物的全部范围来限定。
本文描述的和/或附图中描绘的流程图中的任何过程描述、元素或框应被理解为可能地表示这样的模块、代码段或代码部分:其包括用于实现特定逻辑的一个或多个可执行指令过程中的功能或步骤。备选实施方式包括在本文描述的实施例的范围内,其中元素或功能可以被删除、按不同于所示或论述的次序来执行,包括基本上同时或以逆序执行,具体取决于所涉及的功能,正如本领域技术人员理应理解的。
如本文所使用的,术语“或”可被解释为包括或不包括的意义。此外,多个实例可以支持本文描述为一个实例的多个资源、操作或结构。另外,多种资源、操作、引擎和数据存储之间的边界在某种程度上是任意的,并且具体操作是在具体的说明性配置上下文中来说明的。可设想功能的其它分配,并且这些其它分配可以落入本发明公开的多种实施例的范围内。一般而言,在示例配置中作为单独资源提出的结构和功能可以作为组合的结构或资源来实现。类似地,表示为单个资源提出的结构和功能可以作为单独的资源来实现。这些和其它变化、修改、添加和改进落入如所附权利要求所表示的本发明公开的实施例的范围内。因此,说明书和附图应认为是说明性的而不是限制性的。
条件语言,例如“能够”、“可能”、“可以”或“可”,除非另有特别说明,或在所使用的上下文中以其他方式理解,否则通常旨在传达某些实施例包括,而其他实施例不包括某些特征、元素和/或步骤。因此,这种条件性语言通常不旨在暗示特征、元件和/或步骤以任何方式必须用于一个或多个实施例,或者一个或多个实施例必然包含用于确定以下的逻辑:在有或没有用户输入或提示的情况下,是否这些特征、元件和/或步骤包含在任何特定实施例中或将在其中执行。
此外,某些术语已被用于描述本发明公开的实施例。例如,术语“一个实施例”、“实施例”和“一些实施例”意味着结合该实施例描述的特定特征、结构或特性被包括在本发明公开的至少一个实施例中。因此,需要强调且应理解,在本说明书的各个部分中对“一个实施例”或“实施例”或“备选实施例”的两次或更多次引述不一定都指代相同的实施例。再者,可以将具体特征、结构或特性按需在本发明公开的一个或多个实施例中进行组合。类似地,应当认识到,在本发明公开的实施例的前文描述中,为了流程化公开以帮助理解一个或多个不同实施例,有时将多种特征分组在单个实施例、附图或对其的描述中。然而,这种公开方法不应被解释为表意所要求权利的发明标的需要比每个权利要求中明确引述的特征更多的特征。相反,权利要求发明标的并不依赖于单个前述公开的实施例的所有特征。
再者,本领域技术人员将认识到,本公开的多个方面可以在本文中以多个可专利类别或上下文中的任何一个来图示和描述,包括任何新的且有用的过程、机器、制造或组合或其任何新的且有用的改进。因此,本发明公开的多个方面可以完全由硬件、完全由软件(包括固件、常驻软件、微代码等)或组合软件和硬件实现方式来实现,这些实现方式在本文中统称为“模块”,“单元、“部件”、“设备”或“***”。此外,本发明公开的多个方面可以采用在一个或多个计算机可读介质中包含的计算机程序产品的形式,该计算机可读介质在其上包含有计算机可读程序代码。
用于执行本发明公开的多个方面的操作的计算机程序代码可以采用一种或多种编程语言的任意组合编写,包括面向物体的编程语言,例如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB、NET、Python等;常规过程编程语言,例如“C”编程语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP;动态编程语言,例如Python、Ruby和Groovy或其他编程语言。程序代码可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以经由任何类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,经由使用因特网服务提供商的因特网)或在云计算环境中或作为服务提供,例如软件即服务(SaaS)。
在本文中包括标题以供参考并帮助定位各个部分。这些标题无意限制与其相关描述的概念的范围。此类概念在整个说明书中具有适用性。
除非另外具体说明,否则如短语“X、Y或Z中的至少一个”的析取语言,按常规使用结合上下文理解为提出物品、项等,可以是X、Y或Z,或者其任何组合(例如,X、Y和/或Z)。因此,此类析取语言通常无意且不应暗示某些实施例要求X中的至少一个、Y中的至少一个或Z中的至少一个为每一个都存在。本领域技术人员将认识到,在不背离所描述技术的范围的情况下。可以进行多种修改和改变。此类修改和更改理应落入这些实施例的范围内。本领域技术人员还将认识到,一个实施例中包括的部件可与其他实施例互换;来自所示实施例的一个或多个部件可以以任何组合与其他所示实施例包含在一起。例如,可以将本文描述的和/或附图所示的多种部件中的任一组件进行组合、互换或在其他实施例中予以排除。
除非另有明确规定,否则短语“基于”并不意味着“仅基于”。换言之,短语“基于”描述的是“仅基于”以及“至少基于”。除非另有明确地说明,否则如“一个”或“一个”之类的冠词通常应被解释为包括一个或多个所描述的物品。因此,如“被配置成执行……的设备”的短语旨在包括一个或多个所引述的设备。
上文描述公开了本发明的若干方法和材料。本发明往往会在方法和材料有所修改以及在制造方法和设备上进行更改。参考本文公开的本发明的公开内容或实施,这些修改对于本领域技术人员来说将变得显而易见。因此,无意将本发明限于本文公开的具体实施例,而是它涵盖了落入如所附权利要求中所包含的本发明真实范围和精神内的所有修改和替代。申请人保留提交针对被认为是新颖和非显而易见的所公开的发明的组合和子组合的权利要求的权利。以特征、功能、元件和/或性质的其它组合和子组合中实施的发明可以通过修改这些权利要求或在本申请或相关申请中提出新权利要求来要求权利。这种修改或新的权利要求,无论它们是针对相同的发明还是不同的发明,以及它们在范围上与原始权利要求不同、更宽、更窄或相等,都应被认为在本文所描述的发明的主题内。

Claims (32)

1.一种在车辆上的设备上实施的方法,所述设备具有至少一个处理器和耦合到所述处理器的存储部件,所述方法包括:
由所述至少一个处理器获得所述设备的地理位置;
获得与所述设备的所述地理位置周围相接的地理边界区域对应的边界;
将包括多个地图数据块的地图数据从所述存储部件加载到所述设备的存储器中,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,所述地理边界区域对应于所加载的地图数据的一部分,其中,所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块以及周围地图数据块,并且其中,所述边界以所述中心块为中心并且其尺寸被设定为使得所述地理边界区域与所述周围地图数据块相交;以及
在所述车辆运动时:
由所述至少一个处理器获得所述设备的更新后的地理位置,
确定所述更新后的地理位置相对于所述边界区域的定位,以及
响应于确定所述更新后的地理位置位于所述边界区域之外,获得以所述更新后的地理位置为中心的更新的地理区域所对应的更新后的边界,并且基于所述更新后的边界将地图数据从所述存储部件加载到所述设备的所述存储器中,并从所述存储器中移除不与所述更新后的边界相交或不被所述更新后的边界包围的地图数据块,使得所得的加载的地图数据包括:
具有与所述设备的所述更新后的地理位置对应的点的中心块,以及
围绕与所述地理边界区域相交的所述中心块的附加的地图数据块。
2.根据权利要求1所述的方法,其中,所述周围地图数据块与所述中心块相邻。
3.根据权利要求1所述的方法,其中,所述地图数据块包括海拔信息。
4.根据权利要求1所述的方法,其中,所述地图数据块包括密集度信息。
5.根据权利要求1所述的方法,其中,所述地理边界区域对应于包括所述中心块和所述地图数据块中与所述中心块相邻的至少一部分的区域。
6.根据权利要求1所述的方法,其中,所述边界是矩形的。
7.根据权利要求6所述的方法,
其中,每个地图数据块包括宽度尺寸和长度尺寸,并且所述边界包括宽度尺寸和长度尺寸,并且
其中,所述边界宽度尺寸介于每个地图数据块的宽度尺寸的一倍与三倍之间,并且所述边界长度尺寸介于每个地图数据块的长度尺寸的一倍与三倍之间。
8.根据权利要求1所述的方法,其中,所述加载的地图数据包括9个地图数据块。
9.根据权利要求8所述的方法,其中,所述9个地图数据块中每一个具有相等的尺寸。
10.根据权利要求8所述的方法,其中,所述9个地图数据块包括一个中心地图数据块和八个周围地图数据块。
11.根据权利要求1所述的方法,其中,所述地图数据块包括中心地图数据块和多于八个周围地图数据块。
12.根据权利要求1所述的方法,其中,所述车辆是自动驾驶车辆。
13.根据权利要求1所述的方法,其中,所述边界是非矩形的。
14.根据权利要求1所述的方法,其中,所述边界和所述更新后的边界的大小是预先确定的。
15.根据权利要求1所述的方法,其中,获得所述更新后的边界包括动态地确定所述更新后的边界。
16.根据权利要求15所述的方法,其中,动态地确定所述更新后的边界包括获得移动的所述车辆的速度,并且基于所述速度确定所述边界的尺寸。
17.根据权利要求15所述的方法,其中,动态地确定所述更新后的边界包括获得移动的所述车辆的速度,并且基于所述速度确定所述边界的形状。
18.根据权利要求1所述的方法,还包括确定表示所述车辆行驶方向的运动方向,其中,所述边界在所述运动方向的方向上从所述设备的所述更新后的地理位置延伸比所述边界在其他方向上延伸得更远。
19.根据权利要求1所述的方法,其中,所述存储部件包括光盘或磁性硬盘驱动器。
20.根据权利要求1所述的方法,其中,每个地图数据块表示宽度尺寸小于1000米并且长度尺寸小于1000米的区域。
21.根据权利要求1所述的方法,其中,每个地图数据块表示宽度尺寸小于500米并且长度尺寸小于500米的区域。
22.根据权利要求1所述的方法,其中,每个地图数据块表示宽度尺寸小于250米并且长度尺寸小于250米的区域。
23.根据权利要求1所述的方法,其中每个地图数据块表示宽度尺寸为大约200米并且长度尺寸为大约200米的区域。
24.根据权利要求1所述的方法,其中,每个地图数据块表示宽度尺寸小于100米并且长度尺寸小于100米的区域。
25.根据权利要求1所述的方法,其中,所述边界的尺寸被设定为使得响应于确定所述更新后的地理位置位于所述边界区域之外,基于所述更新后的地理位置加载地图数据包括加载三个地图数据块。
26.根据权利要求1所述的方法,其中,所述边界的尺寸被设定为使得响应于确定所述更新后的地理位置位于所述边界区域之外,基于所述更新后的地理位置加载地图数据包括加载五个地图数据块。
27.根据权利要求1所述的方法,其中,获得所述设备的地理位置包括由所述至少一个处理器从全球定位***(GPS)接收信息。
28.根据权利要求1所述的方法,其中,获得所述设备的地理位置包括从固定位置处的至少一个发射器接收地理位置信息。
29.根据权利要求1所述的方法,其中,获得所述设备的地理位置包括使用所述车辆上的感测***感测至少一个固定位置指示符,并且基于感测到的至少一个固定位置指示符确定地理位置。
30.一种***,所述***包括:
存储***,所述存储***被配置成存储地图数据,所述地图数据包括多个地图数据块;
至少一个处理器,所述至少一个处理器耦合到包括指令集的存储部件并且耦合到所述存储***,当执行所述指令集时,所述至少一个处理器被配置成使所述***执行以下操作:
获得设备的地理位置;
获得所述设备的所述地理位置周围相接的地理边界区域对应的边界;
将地图数据从所述存储部件加载到所述设备的存储器中,所述地图数据包括多个地图数据块,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,并且所述地理边界区域对应于所加载的地图数据的一部分,其中,所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块和周围地图数据块,并且其中,所述边界以所述中心块为中心并且其尺寸被设定为使得所述地理边界区域与所述周围地图数据块相交;以及
在车辆运动时:
获得所述设备的更新后的地理位置,
确定所述更新后的地理位置相对于所述边界区域的定位,以及
响应于确定所述更新后的地理位置位于所述边界区域之外,获得以所述更新后的地理位置为中心的更新后的边界,并基于所述更新后的边界将地图数据从所述存储部件加载到所述设备的所述存储器中,并从所述存储器中移除不与所述更新后的边界相交或不被所述更新后的边界包围的地图数据块,使得所得的加载的地图数据包括:
具有与所述设备的所述更新后的地理位置对应的点的中心块,以及
围绕与所述地理边界区域相交的所述中心块的附加的地图数据块。
31.根据权利要求30所述的***,还包括车辆。
32.一种存储指令的非暂时性计算机可读介质,所述指令在被计算设备执行时使所述计算设备执行以下操作:
获得设备的地理位置;
获得所述设备的所述地理位置周围相接的地理边界区域对应的边界;
将地图数据从存储部件加载到所述设备的存储器中,所述地图数据包括多个地图数据块,所述多个地图数据块中的每一个包括所述地理边界区域的一部分,并且所述地理边界区域对应于所加载的地图数据的一部分,其中,所述多个地图数据块包括具有与所述设备的所述地理位置对应的点的中心块和周围地图数据块,并且其中,所述边界以所述中心块为中心并且其尺寸被设定为使得所述地理边界区域与所述周围地图数据块相交;以及
在车辆运动时:
获得所述设备的更新后的地理位置,
确定所述更新后的地理位置相对于所述边界区域的定位,以及
响应于确定所述更新后的地理位置位于所述边界区域之外,获得以所述更新后的地理位置为中心的更新后的边界,并基于所述更新后的边界将地图数据从所述存储部件加载到所述设备的所述存储器中,并从所述存储器中移除不与所述更新后的边界相交或不被所述更新后的边界包围的地图数据块,使得所得的加载的地图数据包括:
具有与所述设备的所述更新后的地理位置对应的点的中心块,以及
围绕与所述地理边界区域相交的所述中心块的附加的地图数据块。
CN201880100669.4A 2018-12-26 2018-12-26 用于在车辆上加载和跟踪地图的***和方法 Active CN113748418B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/067555 WO2020139330A1 (en) 2018-12-26 2018-12-26 Systems and methods for loading and tracking maps on a vehicle

Publications (2)

Publication Number Publication Date
CN113748418A CN113748418A (zh) 2021-12-03
CN113748418B true CN113748418B (zh) 2024-04-30

Family

ID=71128364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880100669.4A Active CN113748418B (zh) 2018-12-26 2018-12-26 用于在车辆上加载和跟踪地图的***和方法

Country Status (2)

Country Link
CN (1) CN113748418B (zh)
WO (1) WO2020139330A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734918B (zh) * 2020-12-31 2023-05-23 潍柴动力股份有限公司 平台端三维电子地图的动态更新方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009027161A1 (en) * 2007-08-29 2009-03-05 Wayfinder Systems Ab Pre-fetching navigation maps
CN105571608A (zh) * 2015-12-22 2016-05-11 苏州佳世达光电有限公司 导航***、车辆及导航地图传输方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485059B1 (ko) * 2001-10-19 2005-04-22 후지쓰 텐 가부시키가이샤 화상표시장치
DE102005020152A1 (de) * 2005-04-29 2006-11-02 Volkswagen Ag Verfahren zum Steuern der Anzeige einer geografischen Karte in einem Fahrzeug und Anzeigevorrichtung hierfür
US10353931B2 (en) * 2016-12-30 2019-07-16 DeepMap Inc. High definition map and route storage management system for autonomous vehicles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009027161A1 (en) * 2007-08-29 2009-03-05 Wayfinder Systems Ab Pre-fetching navigation maps
CN105571608A (zh) * 2015-12-22 2016-05-11 苏州佳世达光电有限公司 导航***、车辆及导航地图传输方法

Also Published As

Publication number Publication date
CN113748418A (zh) 2021-12-03
WO2020139330A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US10876844B2 (en) Systems and methods for loading and tracking maps on a vehicle
US20200209005A1 (en) Systems and methods for loading object geometry data on a vehicle
US11080216B2 (en) Writing messages in a shared memory architecture for a vehicle
EP3673407B1 (en) Automatic occlusion detection in road network data
US11423677B2 (en) Automatic detection and positioning of pole-like objects in 3D
US11255974B2 (en) Method of determining position of vehicle and vehicle using the same
US11616737B2 (en) Reading messages in a shared memory architecture for a vehicle
US10747597B2 (en) Message buffer for communicating information between vehicle components
US11327489B2 (en) Shared memory architecture for a vehicle
US11634153B2 (en) Identification of proxy calibration targets for a fleet of vehicles
CN104411559A (zh) 用于检测交通信号及其关联状态的鲁棒方法
CN115552200A (zh) 用于生成重要性占据栅格地图的方法和***
US20230077837A1 (en) Collaborative perception for autonomous vehicles
US11673581B2 (en) Puddle occupancy grid for autonomous vehicles
CN111693055A (zh) 道路网络变化检测和所检测的变化的本地传播
CN114072784A (zh) 用于在车辆上加载物体几何数据的***和方法
US20220269281A1 (en) Method and system for generating a topological graph map
CN113748418B (zh) 用于在车辆上加载和跟踪地图的***和方法
WO2020139396A1 (en) Writing messages in a shared memory architecture for a vehicle
CN116569070A (zh) 用于分析动态LiDAR点云数据的方法和***
WO2020139395A1 (en) Reading messages in a shared memory architecture for a vehicle
WO2020139393A1 (en) Message buffer for communicating information between vehicle components
US20220067399A1 (en) Autonomous vehicle system for performing object detections using a logistic cylinder pedestrian model
WO2020139389A1 (en) Shared memory architecture for a vehicle

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