CN116867699A - 用于自动驾驶车辆和模拟器的地图的迭代扭曲的方法、系统和计算机程序产品 - Google Patents

用于自动驾驶车辆和模拟器的地图的迭代扭曲的方法、系统和计算机程序产品 Download PDF

Info

Publication number
CN116867699A
CN116867699A CN202280009744.2A CN202280009744A CN116867699A CN 116867699 A CN116867699 A CN 116867699A CN 202280009744 A CN202280009744 A CN 202280009744A CN 116867699 A CN116867699 A CN 116867699A
Authority
CN
China
Prior art keywords
map data
map
road
lane segment
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280009744.2A
Other languages
English (en)
Inventor
B·T·杜夫雷斯尼
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.)
Argo AI LLC
Original Assignee
Argo AI LLC
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 Argo AI LLC filed Critical Argo AI LLC
Publication of CN116867699A publication Critical patent/CN116867699A/zh
Pending legal-status Critical Current

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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Traffic Control Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的方法、系统和产品可以包括获得与包括道路的地理位置的第一地图相关联的第一地图数据,并且第一地图数据可以包括至少一个第一车道段。可以获得与地理位置的第二地图相关联的第二地图数据,并且第二地图数据可以包括至少一个第二车道段。可以基于第一车道段和第二车道段来确定多个非重叠区域。可以选择第一非重叠区域和/或第一非重叠区域内的第一扭曲点。可以在第一扭曲点周围扭曲第一车道段,以基于第二车道段和在扭曲之后的第一车道段增加总重叠区域。

Description

用于自动驾驶车辆和模拟器的地图的迭代扭曲的方法、系统 和计算机程序产品
相关申请的交叉引用
本申请要求于2021年3月30日提交的美国专利申请第17/217229号的优先权,其公开内容作为整体通过引用合并于此。
背景技术
领域
本公开的主题总体上涉及用于地图绘制(mapping)的方法、系统和产品,并且在一些特定实施例或方面中,涉及用于自动驾驶车辆和模拟器的地图的迭代扭曲(warp)的方法、系统和计算机程序产品。
技术考虑
某些系统(例如导航系统、自动驾驶车辆、自动驾驶系统、自动飞行系统、和/或模拟系统等)依赖于精确的地图。这样的地图需要随着时间的推移而更新,以反映新的信息。例如,当在地理位置中或在地理位置周围发生变化时(例如,公路结构的变化,由于新的施工而导致的公路车道的变化,因自然条件的变化而导致的地理位置的变化(例如,地震、雪崩、泥石流、地热活动、和/或地质运动等),障碍物的存在和/或这样的障碍物的运动,和/或地理位置内的限制区域的变化等),可以生成该地理位置的新地图。附加地或替选地,可以使用新的和/或更精确的地图生成系统(例如,激光扫描仪、LiDAR、雷达、图像处理、和/或其任意组合等)来生成地理位置的新地图。
然而,即使两个地图(例如,第一地图和第二地图,较旧地图和较新地图,和/或现有地图和更新地图等)表示相同的地理位置,第二地图中的新信息可以包括第一地图中的某些特征的变化(例如,公路结构的变化,公路结构的更精确的位置数据,和/或基于公路结构确定的车道段的变化等)。附加地或替选地,地图生成处理(例如,向量地图生成处理等)可能不保持车道段的严格历史和/或可能不保持道路段的位置一致,并且因此,单独车道段的划分可能不是位置信息的可靠来源(例如,给定第一地图中的车道A和第二地图中的车道B,其中B在形状和位置上与车道A最相似,将车道A内的位置转换为车道B内的对应位置通常可能是保持地图内的逻辑位置的不可靠方法)。因此,给定表示大致相同的地理位置(例如,表示道路的相同区域)的两个地图(例如,车道段的向量地图等),精确地识别第一地图和第二地图之间的对应位置和/或基于第二地图上的对应位置来更新第一地图上的给定位置可能是困难的。
某些技术(例如迭代最近点(ICP))可以用于确定变换(例如平移(translation)和/或旋转),以最小化第一(例如参考)点云和第二(例如源)点云之间的差异。然而,这样的技术可能将统一的变换应用于整个点云(例如,第二/源点云中的每个点将具有与其中的每个其他点相同的平移和旋转),因此该变换可能没有考虑局部差异。此外,这样的技术可能依赖于第一/参考点云中与第二/源点云中的每个相应点最近的点是其对应点的假设(例如,因为这样的技术的计算误差可能基于这样的点之间的距离),但是该假设可能不成立。此外,这样的技术的结果可能仅仅是离散数字集合(例如,变换矩阵、和/或变换点的位置等),并且因此,变换不是连续函数,不容易解释,和/或可能没有考虑局部差异。
发明内容
因此,本公开的主题的目的是提供用于例如自动驾驶车辆和/或模拟器的地图的迭代扭曲的方法、系统和计算机程序产品,其克服了上述部分或全部缺陷。
根据非限制性实施例或方面,提供了一种用于生成例如用于自动驾驶车辆驾驶操作或其模拟的更新地图和/或用于计算地图之间的等效空间位置的连续函数的方法。在一些非限制性实施例或方面中,这样的方法可以包括获得与包括道路的地理位置的第一地图相关联的第一地图数据。第一地图数据可以包括表示道路的至少一个第一车道段。可以获得与地理位置的第二地图相关联的第二地图数据。第二地图数据可以包括表示道路的至少一个第二车道段。可以基于至少一个第一车道段和至少一个第二车道段来确定多个非重叠区域。可以选择多个非重叠区域中的第一非重叠区域。可以在第一非重叠区域内选择第一扭曲点。可以在第一扭曲点周围扭曲至少一个第一车道段,以基于至少一个第二车道段和在扭曲之后的至少一个第一车道段增加总重叠区域,以生成与包括道路的地理位置的更新地图相关联的更新地图数据。
在一些非限制性实施例中,第一地图数据可以包括与地理位置的第一向量地图相关联的第一向量地图数据。附加地或替选地,第二地图数据可以包括与地理位置的第二向量地图相关联的第二向量地图数据。
在一些非限制性实施例中,确定多个非重叠区域可以包括确定至少一个第一车道段和至少一个第二车道段的对称差。
在一些非限制性实施例中,至少一个第一车道段可以包括多个第一车道段。附加地或替选地,至少一个第二车道段可以包括多个第二车道段。在一些非限制性实施例中,确定多个非重叠区域可以包括合并多个第一车道段以提供第一多边形。附加地或替选地,可以合并多个第二车道段以提供第二多边形。附加地或替选地,可以确定以下各项中的至少一个:第一多边形的不与第二多边形重叠的至少一个第一区域,第二多边形的不与第一多边形重叠的至少一个第二区域,和/或其任意组合等。附加地或替选地,多个非重叠区域可以包括第一区域、第二区域、和/或其任意组合等中的至少一个。
在一些非限制性实施例中,选择第一非重叠区域可以包括确定多个非重叠区域中的每个非重叠区域的面积,并且选择多个非重叠区域中具有最大面积的非重叠区域作为第一非重叠区域。例如,可以选择多个非重叠区域中具有最大面积的连续区域作为第一非重叠区域。
在一些非限制性实施例中,选择第一扭曲点可以包括确定第一非重叠区域的质心以及选择质心作为第一扭曲点。
在一些非限制性实施例中,扭曲至少一个第一车道段可以包括使用逆距离加权插值来调整第一扭曲点和在第一扭曲点周围的至少一个第一车道段的点,基于至少一个第二车道段和在调整之后的至少一个第一车道段来确定总重叠区域,和/或迭代地重复调整和总重叠区域的确定,直到总重叠区域达到局部最大值。
在一些非限制性实施例中,可以基于在扭曲之后的至少一个第一车道段和至少一个第二车道段来确定另外的多个非重叠区域。附加地或替选地,可以选择另外的多个非重叠区域中的另外的非重叠区域。附加地或替选地,可以在另外的非重叠区域内选择另外的扭曲点。附加地或替选地,可以在另外的扭曲点周围扭曲至少一个第一车道段,以基于至少一个第二车道段和在扭曲之后的至少一个第一车道段增加总重叠区域。附加地或替选地,可以迭代地重复另外的多个非重叠区域的确定、另外的非重叠区域的选择、另外的扭曲点的选择、和/或在另外的扭曲点周围的至少一个第一车道段的扭曲,直到总重叠区域达到局部最大值。
在一些非限制性实施例中,可以使用包括在扭曲之后的至少一个第一车道段的第一地图数据,以促进自动驾驶车辆的至少一个自动驾驶操作、促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作、和/或其任意组合等。
根据非限制性实施例或方面,提供了一种用于生成例如用于自动驾驶车辆驾驶操作或其模拟的更新地图和/或用于计算地图之间的等效空间位置的连续函数的系统。在一些非限制性实施例或方面中,这样的系统可以包括地图数据库,地图数据库被配置为存储与包括道路的地理位置的第一地图相关联的第一地图数据,第一地图数据包括表示道路的至少一个第一车道段。地图数据源系统可以被配置为获得与地理位置的第二地图相关联的第二地图数据,第二地图数据包括表示道路的至少一个第二车道段。地图绘制系统可以被配置为:从地图数据库中获得第一地图数据;从地图数据源系统中获得第二地图数据;基于至少一个第一车道段和至少一个第二车道段来确定多个非重叠区域;选择多个非重叠区域中的第一非重叠区域;在第一非重叠区域内选择第一扭曲点;和/或在第一扭曲点周围扭曲至少一个第一车道段,以基于至少一个第二车道段和在扭曲之后的至少一个第一车道段增加总重叠区域,以生成与包括道路的地理位置的更新地图相关联的更新地图数据。
在一些非限制性实施例中,地图数据源系统可以包括自动驾驶车辆,自动驾驶车辆包括射线投射系统,射线投射系统被配置为基于射线投射系统的射线投射操作来生成第二地图数据。
在一些非限制性实施例中,确定多个非重叠区域可以包括确定至少一个第一车道段和至少一个第二车道段的对称差。
在一些非限制性实施例中,确定多个非重叠区域可以包括确定至少一个第一车道段的不与至少一个第二车道段重叠的至少一个第一区域和/或确定至少一个第二车道段的不与至少一个第一车道段重叠的至少一个第二区域。附加地或替选地,多个非重叠区域可以包括第一区域、第二区域、和/或其任意组合等中的至少一个。
在一些非限制性实施例中,选择第一非重叠区域可以包括确定多个非重叠区域中的每个非重叠区域的面积和/或选择多个非重叠区域中具有最大面积的非重叠区域作为第一非重叠区域。
在一些非限制性实施例中,选择第一扭曲点可以包括确定第一非重叠区域的质心和/或选择质心作为第一扭曲点。
在一些非限制性实施例中,扭曲至少一个第一车道段可以包括使用逆距离加权插值来调整第一扭曲点和在第一扭曲点周围的至少一个第一车道段的点,基于至少一个第二车道段和在调整之后的至少一个第一车道段来确定总重叠区域,和/或迭代地重复调整和总重叠区域的确定,直到总重叠区域达到局部最大值。
在一些非限制性实施例中,地图绘制系统可以进一步被配置为:基于在扭曲之后的至少一个第一车道段和至少一个第二车道段来确定另外的多个非重叠区域,选择另外的多个非重叠区域中的另外的非重叠区域,在另外的非重叠区域内选择另外的扭曲点,在另外的扭曲点周围扭曲至少一个第一车道段,以基于至少一个第二车道段和在扭曲之后的至少一个第一车道段增加总重叠区域,和/或迭代地重复另外的多个非重叠区域的确定、另外的非重叠区域的选择、另外的扭曲点的选择、以及在另外的扭曲点周围的至少一个第一车道段的扭曲,直到总重叠区域达到局部最大值。
在一些非限制性实施例中,可以包括自动驾驶车辆。附加地或替选地,地图绘制系统可以被配置为将包括在扭曲之后的至少一个第一车道段的第一地图数据传送到自动驾驶车辆。附加地或替选地,自动驾驶车辆可以被配置为使用包括在扭曲之后的至少一个第一车道段的第一地图数据,以促进自动驾驶车辆的至少一个自动驾驶操作。
在一些非限制性实施例中,可以包括模拟系统。附加地或替选地,地图绘制系统可以被配置为将包括在扭曲之后的至少一个第一车道段的第一地图数据传送到模拟系统。附加地或替选地,模拟系统可以被配置为使用包括在扭曲之后的至少一个第一车道段的第一地图数据,以促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
根据非限制性实施例或方面,提供了一种用于生成例如用于自动驾驶车辆驾驶操作或其模拟的更新地图和/或用于计算地图之间的等效空间位置的连续函数的计算机程序产品。在一些非限制性实施例或方面中,这样的计算机程序产品可以包括至少一个非暂时性计算机可读介质,至少一个非暂时性计算机可读介质包括一个或多个指令,一个或多个指令在由至少一个处理器执行时使得至少一个处理器:获得与包括道路的地理位置的第一地图相关联的第一地图数据(例如,第一地图数据包括表示道路的至少一个第一车道段),获得与地理位置的第二地图相关联的第二地图数据(例如,第二地图数据包括表示道路的至少一个第二车道段),基于至少一个第一车道段和至少一个第二车道段来确定多个非重叠区域,选择多个非重叠区域中的第一非重叠区域,在第一非重叠区域内选择第一扭曲点,和/或在第一扭曲点周围扭曲至少一个第一车道段,以基于至少一个第二车道段和在扭曲之后的至少一个第一车道段增加总重叠区域。
在以下编号的条款中阐述了进一步的实施例或方面:
条款1:一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的方法,包括:利用至少一个处理器,获得与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;利用所述至少一个处理器,获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;利用所述至少一个处理器,基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;利用所述至少一个处理器,选择所述多个非重叠区域中的第一非重叠区域;利用所述至少一个处理器,在所述第一非重叠区域内选择第一扭曲点;以及利用所述至少一个处理器,在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域,以生成与包括所述道路的所述地理位置的更新地图相关联的更新地图数据。
条款2:根据条款1所述的方法,其中,所述第一地图数据包括与所述地理位置的第一向量地图相关联的第一向量地图数据,并且所述第二地图数据包括与所述地理位置的第二向量地图相关联的第二向量地图数据。
条款3:根据前述条款中任一项所述的方法,其中确定所述多个非重叠区域包括确定所述至少一个第一车道段和至少一个第二车道段的对称差。
条款4:根据任意前述条款所述的方法,其中,所述至少一个第一车道段包括多个第一车道段,并且所述至少一个第二车道段包括多个第二车道段,其中,确定所述多个非重叠区域包括:利用所述至少一个处理器,合并所述多个第一车道段以提供第一多边形;利用所述至少一个处理器,合并所述多个第二车道段以提供第二多边形;利用所述至少一个处理器,确定所述第一多边形的不与所述第二多边形重叠的至少一个第一区域;以及利用所述至少一个处理器,确定所述第二多边形的不与所述第一多边形重叠的至少一个第二区域,其中,所述多个非重叠区域包括所述至少一个第一区域和所述至少一个第二区域。
条款5:根据任意前述条款所述的方法,其中,选择所述第一非重叠区域包括:利用所述至少一个处理器,确定所述多个非重叠区域中的每个非重叠区域的面积;以及利用所述至少一个处理器,选择所述多个非重叠区域中具有最大面积的非重叠区域作为所述第一非重叠区域。
条款6:根据任意前述条款所述的方法,其中,选择所述第一扭曲点包括:利用所述至少一个处理器,确定所述第一非重叠区域的质心;以及利用所述至少一个处理器,选择所述质心作为所述第一扭曲点。
条款7:根据任意前述条款所述的方法,其中,扭曲所述至少一个第一车道段包括:利用所述至少一个处理器,使用逆距离加权插值来调整所述第一扭曲点和在所述第一扭曲点周围的所述至少一个第一车道段的点;利用所述至少一个处理器,基于所述至少一个第二车道段和在所述调整之后的所述至少一个第一车道段来确定所述总重叠区域;以及迭代地重复所述调整和所述总重叠区域的确定,直到所述总重叠区域达到局部最大值。
条款8:根据任意前述条款所述的方法,进一步包括:利用所述至少一个处理器,基于在扭曲之后的所述至少一个第一车道段和所述至少一个第二车道段来确定另外的多个非重叠区域;利用所述至少一个处理器,选择所述另外的多个非重叠区域中的另外的非重叠区域;利用所述至少一个处理器,在所述另外的非重叠区域内选择另外的扭曲点;利用所述至少一个处理器,在所述另外的扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加所述总重叠区域;以及迭代地重复所述另外的多个非重叠区域的确定、所述另外的非重叠区域的选择、所述另外的扭曲点的选择、以及在所述另外的扭曲点周围的所述至少一个第一车道段的扭曲,直到所述总重叠区域达到局部最大值。
条款9:根据任意前述条款所述的方法,进一步包括:利用所述至少一个处理器,使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进自动驾驶车辆的至少一个自动驾驶操作,或者促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
条款10:一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的系统,包括:地图数据库,所述地图数据库被配置为存储与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;地图数据源系统,所述地图数据源系统被配置为获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;以及地图绘制系统,所述地图绘制系统被配置为:从所述地图数据库中获得所述第一地图数据;从所述地图数据源系统中获得所述第二地图数据;基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;选择所述多个非重叠区域中的第一非重叠区域;在所述第一非重叠区域内选择第一扭曲点;以及在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域,以生成与包括所述道路的所述地理位置的更新地图相关联的更新地图数据。
条款11:根据条款10所述的系统,其中,所述地图数据源系统包括自动驾驶车辆,所述自动驾驶车辆包括射线投射系统,所述射线投射系统被配置为基于所述射线投射系统的射线投射操作来生成所述第二地图数据。
条款12:根据条款10-11中任一项所述的系统,其中,确定所述多个非重叠区域包括确定所述至少一个第一车道段和所述至少一个第二车道段的对称差。
条款13:根据条款10-12中任一项所述的系统,其中,确定所述多个非重叠区域包括:确定所述至少一个第一车道段的不与所述至少一个第二车道段重叠的至少一个第一区域;以及确定所述至少一个第二车道段的不与所述至少一个第一车道段重叠的至少一个第二区域,其中,所述多个非重叠区域包括所述至少一个第一区域和所述至少一个第二区域。
条款14:根据条款10-13中任一项所述的系统,其中,选择所述第一非重叠区域包括:确定所述多个非重叠区域中的每个非重叠区域的面积;以及选择所述多个非重叠区域中具有最大面积的非重叠区域作为所述第一非重叠区域。
条款15:根据条款10-14中任一项所述的系统,其中,选择所述第一扭曲点包括:确定所述第一非重叠区域的质心;以及选择所述质心作为所述第一扭曲点。
条款16:根据条款10-15中任一项所述的系统,其中,扭曲所述至少一个第一车道段包括:使用逆距离加权插值来调整所述第一扭曲点和在所述第一扭曲点周围的所述至少一个第一车道段的点;基于所述至少一个第二车道段和在所述调整之后的所述至少一个第一车道段来确定所述总重叠区域;以及迭代地重复所述调整和所述总重叠区域的确定,直到所述总重叠区域达到局部最大值。
条款17:根据条款10-16中任一项所述的系统,其中,所述地图绘制系统进一步被配置为:基于在扭曲之后的所述至少一个第一车道段和所述至少一个第二车道段来确定另外的多个非重叠区域;选择所述另外的多个非重叠区域中的另外的非重叠区域;在所述另外的非重叠区域内选择另外的扭曲点;在所述另外的扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加所述总重叠区域;以及迭代地重复所述另外的多个非重叠区域的确定、所述另外的非重叠区域的选择、所述另外的扭曲点的选择、以及在所述另外的扭曲点周围的所述至少一个第一车道段的扭曲,直到所述总重叠区域达到局部最大值。
条款18:根据条款10-17中任一项所述的系统,进一步包括自动驾驶车辆,其中,所述地图绘制系统进一步被配置为将包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据传送到所述自动驾驶车辆,并且其中,所述自动驾驶车辆被配置为使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进所述自动行驶车辆的至少一个自动驾驶操作。
条款19:根据条款10-18中任一项所述的系统,进一步包括模拟系统,其中,所述地图绘制系统进一步被配置为将包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据传送到所述模拟系统,并且其中,所述模拟系统被配置为使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
条款20:一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的计算机程序产品,所述计算机程序产品包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包括一个或多个指令,所述一个或多个指令在由至少一个处理器执行时使得所述至少一个处理器:获得与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;选择所述多个非重叠区域中的第一非重叠区域;在所述第一非重叠区域内选择第一扭曲点;以及在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域。
通过参考附图考虑以下描述和所附权利要求,本公开的主题的这些和其他特征和特性,以及相关结构元件的操作方法和功能,以及部件的组合和制造经济性,将变得更加明显,所有这些构成本说明书的一部分,其中相同的参考标号表示各个附图中的对应部分。然而,应当清楚地理解,附图仅用于说明和描述的目的,而不是旨在作为对所公开的主题的限制的定义。如在说明书和权利要求书中所使用的,除非上下文另有明确规定,否则单数形式的“一个(a)”、“一(an)”和“该(the)”包括复数指代。
附图说明
以下将参考在附图中所示的示例性实施例或方面,更详细地说明所公开的主题的附加优点和细节,在附图中:
图1是可以根据本公开的主题的原理来实现本文中描述的方法、系统和/或计算机程序产品的环境的非限制性实施例或方面的图;
图2是根据本公开的主题的原理的用于车辆的说明性架构的图;
图3是根据本公开的主题的原理的用于LiDAR系统的说明性架构的图;
图4是根据本公开的主题的原理的说明性计算设备的图;
图5是根据本公开的主题的原理的用于迭代地图扭曲的处理的非限制性实施例或方面的流程图;
图6A-图6F是根据本公开的主题的原理的图5中所示的处理的非限制性实施例或方面的示例性实现的图;
图7A和图7B是根据本公开的主题的原理的图5中所示的处理的非限制性实施例或方面的示例性实现的屏幕截图;以及
图8是根据本公开的主题的原理的图5中所示的处理的非限制性实施例或方面的示例性实现的流程图。
具体实施方式
为了下文描述的目的,术语“端部”、“上部”、“下部”、“右侧”、“左侧”、“垂直”、“水平”、“顶部”、“底部”、“横向”、“纵向”及其派生词应当与如其在附图中朝向的所公开的主题有关。然而,应当理解,所公开的主题可以假设各种替选的变化和步骤序列,除非明确地相反规定。还应当理解,附图中所示的并且在以下说明书中所描述的特定设备和处理仅仅是所公开的主题的示例性实施例或方面。因此,除非另外表示,否则与本文中公开的实施例或方面有关的特定尺寸和其他物理特性不应被认为是限制性的。
除非明确地如此描述,否则本文中使用的任何方面、组件、元件、结构、动作、步骤、功能、和/或指令等都不应被解释为关键或必要的。此外,如本文中所使用的,冠词“一个(a)”和“一(an)”旨在包括一个或多个项目,并且可以与“一个或多个”和“至少一个”互换地使用。此外,如本文中所使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、和/或相关项目和不相关项目的组合等),并且可以与“一个或多个”或“至少一个”互换地使用。如果旨在仅一个项目,则使用术语“一个(one)”或类似语言。此外,如本文中所使用的,术语“具有(has)”、“有(have)”、“具有(having)”等旨在是开放式的术语。此外,除非另外明确地说明,否则短语“基于”旨在意味着“至少部分地基于”。
如本文中所使用的,术语“通信(communication)”和“通信(communicate)”可以指的是信息(例如,数据、信号、消息、指令、和/或命令等)的接收(reception)、收到(receipt)、传输、传送、和/或提供等。对于一个单元(例如,设备、系统、设备或系统的组件、和/或其组合等)与另一个单元通信,意味着这一个单元能够直接或间接地从另一个单元接收信息和/或向另一个单元发送信息。这可以指的是本质上是有线和/或无线的直接或间接连接(例如,直接通信连接、和/或间接通信连接等)。此外,两个单元可以彼此通信,即使所传送的信息可以在第一单元和第二单元之间被修改、处理、中继和/或路由。例如,即使第一单元被动地接收信息并且不主动地向第二单元发送信息,第一单元也可以与第二单元通信。作为另一示例,如果至少一个中间单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息并且将处理后的信息发送到第二单元,则第一单元可以与第二单元通信。在一些非限制性实施例或方面中,消息可以指的是包括数据的网络分组(例如,数据分组等)。可以理解的是,许多其他布置是可能的。
术语“车辆”指的是能够承载一个或多个人类乘客和/或货物并且由任何形式的能量提供动力的任何移动形式的运输工具。术语“车辆”包括但不限于汽车、卡车、货车、火车、自动驾驶车辆、飞行器、空中无人机等。“自动驾驶车辆”是具有处理器、编程指令和传动系部件的车辆,该传动系部件可由处理器控制而无需人类操作员。自动驾驶车辆可以是完全自动驾驶的,因为对于大多数或所有驾驶条件和功能,它不需要人类操作员,或者它可以是半自动驾驶的,因为在某些条件下或者对于某些操作,可能需要人类操作员,或者人类操作员可以超越车辆的自动驾驶系统并且可以控制车辆。
如本文中所使用的,术语“计算设备”可以指的是被配置为处理数据的一个或多个电子设备。在一些示例中,计算设备可以包括用于接收、处理和输出数据的需要组件,诸如处理器、显示器、存储器、输入设备、和/或网络接口等。计算设备可以是移动设备。作为示例,移动设备可以包括蜂窝电话(例如,智能电话或标准蜂窝电话)、便携式计算机、可穿戴设备(例如,手表、眼镜、镜片、和/或衣服等)、PDA和/或其他类似设备。计算设备也可以是台式计算机或其他形式的非移动计算机。
如本文中所使用的,术语“服务器”可以指的是一个或多个计算设备(例如,处理器、存储设备、和/或类似计算机组件等),这一个或多个计算设备通过网络(例如,公共网络、因特网、和/或专用网络等)与客户端设备和/或其他计算设备通信,并且在一些示例中,促进其他服务器和/或客户端设备之间的通信。可以理解的是,各种其他布置是可能的。如本文中所使用的,术语“系统”可以指的是一个或多个计算设备或计算设备的组合(例如,处理器、服务器、客户端设备、软件应用、和/或其组件等)。如本文中所使用的,对“设备”、“服务器”、和/或“处理器”等的引用可以指的是被记载为执行先前步骤或功能的先前记载的设备、服务器或处理器,不同的服务器或处理器,和/或服务器和/或处理器的组合。例如,如说明书和权利要求中所使用的,被记载为执行第一步骤或第一功能的第一服务器或第一处理器可以指的是被记载为执行第二步骤或第二功能的相同或不同的服务器、或相同或不同的处理器。
如本文中所使用的,术语“用户界面”或“图形用户界面”可以指的是所生成的显示,诸如一个或多个图形用户界面(GUI),其中用户可以直接或间接地(例如,通过键盘、鼠标、触摸屏等)与这一个或多个图形用户界面(GUI)进行交互。
本文中结合阈值描述了一些非限制性实施例或方面。如本文中所使用的,满足阈值可以指的是值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
所公开的主题的非限制性实施例或方面涉及用于迭代地图扭曲的系统、方法和计算机程序产品,该迭代地图扭曲包括但不限于用于促进地图生成和自动驾驶车辆的自动驾驶操作的迭代扭曲。例如,所公开的主题的非限制性实施例或方面提供了:获得与地理位置(例如包括道路)的第一地图和第二地图相关联的地图数据,基于至少一个第一车道段(例如,来自第一地图的地图数据)和至少一个第二车道段(例如,来自第二地图的地图数据)来确定多个非重叠区域,选择非重叠区域和其中的扭曲点,以及在第一扭曲点周围迭代地扭曲第一车道段,以增加第二地图(例如,其第二车道段)和在扭曲之后的第一地图(例如,其第一车道段)之间的总重叠区域。这样的实施例或方面提供了如下技术和系统,该技术和系统提供了用于扭曲第一地图以增加(例如,最大化)第一地图和第二地图之间的重叠(和/或减少(例如,最小化)差异)的连续函数,这对两个地图之间的变化(例如,公路结构的变化,公路结构的更精确的位置数据,和/或基于公路结构确定的车道段的变化等)是鲁棒的,不依赖于车道分段,并且不依赖于关于两个地图之间的对应位置和/或最近点的假设。附加地或替选地,这样的实施例或方面提供了如下技术和系统,该技术和系统提供了用于在第一地图和第二地图之间进行平移的连续函数(例如,基于在扭曲点周围的扭曲,其结果可以是在整个第一地图上的连续函数),该连续函数可以在没有额外搜索和/或重新计算单个点的平移的情况下重复地使用。附加地或替选地,这样的实施例或方面提供了如下技术和系统,该技术和系统使得能够将整个第一地图平移到第二地图,该平移考虑了局部差异(例如,在扭曲点周围的局部扭曲)。附加地或替选地,这样的实施例或方面提供了如下技术和系统,该技术和系统使得能够平移(第一)地图中的任意点,即使在该点附近没有车道段。附加地或替选地,这样的实施例或方面提供了如下技术和系统,该技术和系统考虑了第一地图和第二地图之间的局部差异(例如,在扭曲点周围的局部扭曲),而不是单个统一的平移。附加地或替选地,这样的实施例或方面允许在不依赖于关于最近点和/或对应点的假设的情况下扭曲第一地图(例如,用于第一地图和第二地图之间的平移)。附加地或替选地,这样的实施例或方面提供了如下技术和系统,该技术和系统提供了容易解释的连续函数(例如,基于在扭曲点周围的扭曲),而不是离散数字集合。
为了说明的目的,在以下描述中,虽然关于用于例如促进自动驾驶车辆的自动驾驶操作的迭代地图扭曲的方法、系统和计算机程序产品来描述本公开的主题,但是本领域技术人员将认识到,所公开的主题不限于说明性实施例或方面。例如,本文中描述的方法、系统和计算机程序产品可以用于各种各样的设定,诸如在适合使用地图的任何设定中的迭代地图扭曲,例如导航、航运、物流、驾驶、飞行、和/或划船等。
现在参考图1,图1是可以实现如本文中所述的系统、产品和/或方法的环境100的非限制性实施例或方面的图。如图1中所示,环境100可以包括地图数据源系统102、地图数据库104、地图绘制系统106、模拟系统108和/或通信网络110。
地图数据源系统102可以包括一个或多个设备,这一个或多个设备能够从地图数据库104、地图绘制系统106和/或模拟系统108接收信息和/或向其传送信息(例如,经由通信网络110、另一网络(例如,自组织网络、局部网络、专用网络、和/或虚拟专用网络等)、和/或任何其他合适的通信技术)。附加地或替选地,每个地图数据源系统102可以包括设备,该设备能够从其他地图数据源102接收信息和/或向其传送信息(例如,经由通信网络110、另一网络(例如,自组织网络、局部网络、专用网络、和/或虚拟专用网络等)、和/或任何其他合适的通信技术)。在一些非限制性实施例或方面中,地图数据源系统102可以包括至少一个计算设备,诸如车辆车载计算设备、便携式和/或手持设备(例如,计算机、膝上型计算机、个人数字助理(PDA)、智能电话、和/或平板计算机等)、台式计算机、服务器、一组服务器和/或其他类似设备。在一些非限制性实施例或方面中,如本文中所述,地图数据源系统102可以包括车辆(例如,自动驾驶车辆)。例如,如本文中所述,车辆可以包括至少一个计算设备(例如,车辆车载计算设备)和至少一个传感器(例如,射线投射系统,诸如LiDAR、激光扫描仪、雷达、和/或其任意组合等;图像捕获系统,诸如相机等;和/或其任何组合等)。这样的车辆(例如,其计算设备等)可以被配置为基于传感器来生成地图数据。在一些非限制性实施例或方面中,地图数据源系统102可以包括地图服务提供商(例如,提供地图和/或与其相关联的地图数据的实体)的系统(例如,至少一个计算设备,诸如至少一个服务器等)。
在一些非限制性实施例或方面中,如本文中所述,地图数据源系统102可以获得(例如,生成、和/或检索等)与至少一个地理位置(例如,包括道路的地理位置)的至少一个地图相关联的地图数据。附加地或替选地,如本文中所述,地图数据源系统102可以存储地图数据。附加地或替选地,如本文中所述,地图数据源系统102可以将地图数据传送到地图数据库104、地图绘制系统106、和/或模拟系统108等。
地图数据库104可以包括一个或多个设备,这一个或多个设备能够从地图数据源系统102、地图绘制系统106和/或模拟系统108接收信息和/或向其传送信息(例如,经由通信网络110、另一网络(例如,自组织网络、局部网络、专用网络、和/或虚拟专用网络等)、和/或任何其他合适的通信技术)。在一些非限制性实施例或方面中,地图数据库104可以包括至少一个计算设备,诸如服务器、一组服务器、台式计算机、膝上型计算机、便携式和/或手持设备(例如,计算机、PDA、智能电话、和/或平板计算机等)、和/或其他类似设备。在一些非限制性实施例或方面中,地图数据库104可以包括地图服务提供商(例如,提供地图和/或与其相关联的地图数据的实体)的系统(例如,至少一个计算设备,诸如至少一个服务器等)。在一些非限制性实施例或方面中,地图数据库104可以与数据存储设备通信,该数据存储设备可以位于地图数据库104的本地或远程。在一些非限制性实施例或方面中,地图数据库104可以能够从数据存储设备接收信息、在数据存储设备中存储信息、向数据存储设备传送信息或搜索存储在数据存储设备中的信息。
在一些非限制性实施例或方面中,如本文中所述,地图数据库104可以存储与至少一个地理位置(例如,包括道路的多个地理位置)的至少一个地图(例如,多个地图)相关联的地图数据。附加地或替选地,如本文中所述,地图数据库104可以获得(例如,检索等)与至少一个地图相关联的地图数据。附加地或可替选地,如本文中所述,地图数据源系统102可以将与至少一个地图相关联的地图数据传送到地图数据源102、地图绘制系统106、和/或模拟系统108等。
地图绘制系统106可以包括一个或多个设备,这一个或多个设备能够从地图数据源系统102、地图数据库104和/或模拟系统108接收信息和/或向其传送信息(例如,经由通信网络110、另一网络(例如,自组织网络、局部网络、专用网络、和/或虚拟专用网络等)、和/或任何其他合适的通信技术)。在一些非限制性实施例或方面中,地图绘制系统106可以包括至少一个计算设备,诸如服务器、一组服务器、台式计算机、膝上型计算机、便携式和/或手持设备(例如,计算机、PDA、智能电话、和/或平板计算机等)和/或其他类似设备。
在一些非限制性实施例或方面中,如本文中所述,地图绘制系统106可以从地图数据源系统102中获得(例如,接收、和/或检索等)与地理位置(例如,包括道路的地理位置)的第一地图相关联的第一地图数据。附加地或替选地,如本文中所述,地图绘制系统106可以从地图数据库104中获得(例如,接收、和/或检索等)与地理位置(例如,与第一地图相同的地理位置)的第二地图相关联的第二地图数据。附加地或替选地,如本文中所述,地图绘制系统106可以基于第一地图数据和第二地图数据来确定多个非重叠区域,迭代地选择非重叠区域和其中的扭曲点,并且在所选择的扭曲点周围迭代地扭曲第一地图,以增加第一地图和第二地图之间的总重叠区域。
模拟系统108可以包括一个或多个设备,这一个或多个设备能够从地图数据源系统102、地图数据库104和/或地图绘制系统106接收信息和/或向其传送信息(例如,经由通信网络110、另一网络(例如,自组织网络、局部网络、专用网络、和/或虚拟专用网络等)、和/或任何其他合适的通信技术)。在一些非限制性实施例或方面中,模拟系统108可以包括至少一个计算设备,诸如服务器、一组服务器、台式计算机、膝上型计算机、便携式和/或手持设备(例如,计算机、PDA、智能电话、和/或平板计算机等)和/或其他类似设备。
在一些非限制性实施例或方面中,如本文中所述,模拟系统108可以从地图绘制系统106、地图数据库104和/或地图数据源系统102中获得(例如,接收、和/或检索等)与至少一个地理位置(例如,包括道路的地理位置)的至少一个地图相关联的地图数据。附加地或替选地,如本文中所述,模拟系统108可以使用地图数据来促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
在一些非限制性实施例或方面中,如本文中所述,自动驾驶车辆(例如,地图数据源系统102、和/或另一自动驾驶车辆等)可以从地图绘制系统106和/或地图数据库104中获得(例如,接收、和/或检索等)与至少一个地理位置(例如,包括道路的地理位置)的至少一个地图相关联的地图数据。附加地或替选地,如本文中所述,自动驾驶车辆可以使用地图数据来促进自动驾驶车辆的至少一个自动驾驶操作。
通信网络110可以包括一个或多个有线和/或无线网络。例如,通信网络110可以包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、第四代(4G)网络、第五代(5G)网络、和/或码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络(例如,与事务服务提供商相关联的专用网络)、自组织网络、内联网、因特网、基于光纤的网络、和/或云计算网络等、和/或这些或其他类型的网络的组合。
图1中所示的系统、设备和/或网络的数量和布置被提供作为示例。可以存在额外的系统、设备和/或网络;更少的系统、设备和/或网络;不同的系统、设备和/或网络;和/或与图1中所示的不同布置的系统、设备和/或网络。此外,图1中所示的两个或多个系统或设备可以在单个系统或设备内实现,或者图1中示出的单个系统或设备可以被实现为多个分布式系统或设备。附加地或替选地,环境100的一组系统(例如,一个或多个系统)或一组设备(例如,一个或多个设备)可以执行被描述为由环境100的另一组系统或另一组设备执行的一个或多个功能。
现在参考图2,图2是用于车辆的说明性系统架构200的图。自动驾驶车辆(例如,地图数据源系统102等)可以包括与图2中所示的系统架构200相同或相似的系统架构。
如图2中所示,系统架构200可以包括发动机或电动机202以及用于测量车辆的各种参数的各种传感器204-218。在具有燃料动力发动机的燃气动力或混合动力车辆中,传感器可以包括例如发动机温度传感器204、电池电压传感器206、发动机每分钟转数(RPM)传感器208和/或节气门位置传感器210。在电动或混合动力车辆中,车辆可以具有电动机,并且可以具有传感器,诸如电池监测传感器212(例如,用于测量电池的电流、电压和/或温度)、电动机电流传感器214、电动机电压传感器216和/或电动机位置传感器218(诸如解析器(resolver)和编码器)。
系统架构200可以包括操作参数传感器,其可以是两种类型的车辆所共有的,并且可以包括例如:位置传感器236,诸如加速度计、陀螺仪和/或惯性测量单元;速度传感器238;和/或里程计传感器240。系统架构200可以包括时钟242,系统200使用该时钟242在操作期间确定车辆时间。时钟242可以被编码到车辆车载计算设备220中,它可以是单独的设备,或者多个时钟可以是可用的。
系统架构200可以包括各种传感器,这些传感器进行操作以收集有关车辆操作和/或行驶的环境的信息。这些传感器可以包括,例如:定位传感器260(例如,全球定位系统(GPS)设备);对象检测传感器,诸如一个或多个相机262;LiDAR传感器系统264;和/或雷达和/或声纳系统266。传感器可以包括环境传感器268,诸如降水传感器和/或环境温度传感器。对象检测传感器可以使得系统架构200能够检测在任何方向上处于车辆的给定距离范围内的对象,并且环境传感器268可以收集有关车辆的操作和/或行驶的区域内的环境条件的数据。
在系统架构200的操作期间,将信息从系统架构200中的传感器传送到车载计算设备220。车载计算设备220分析由传感器捕获的数据,并且基于分析结果可选地控制车辆的操作。例如,车载计算设备220可以:经由制动控制器222来控制制动;经由转向控制器224来控制方向;经由节气门控制器226(例如,在燃气动力车辆中)或电动机速度控制器228(诸如,电流水平控制器)(例如,在电动车辆中)来控制速度和加速度;控制差速齿轮控制器230(例如,在具有变速器的车辆中);和/或控制其他控制器(诸如辅助设备控制器254)。
可以将地理位置信息从定位传感器260传送到车载计算设备220,该车载计算设备220可以访问包括与位置信息相对应的地图数据的环境地图,以确定环境的已知固定特征,诸如街道、建筑物、停止标志和/或停止/行进信号。将来自相机262的捕获图像和/或从诸如LiDAR 264之类的传感器捕获的对象检测信息从这些传感器传送到车载计算设备220。对象检测信息和/或捕获图像被车载计算设备220处理,以检测在车辆附近的对象。用于基于传感器数据和/或捕获图像进行对象检测的任何已知或将要已知的技术都可以在本文档中公开的实施例中使用。车载计算设备220可以生成新的地图数据(例如,基于从诸如LiDAR 264之类的传感器捕获的对象检测数据、来自相机262的捕获图像、和/或地图数据等)。附加地或替选地,车载计算设备220可以将传感器数据(例如,从诸如LiDAR 264之类的传感器捕获的对象检测数据、和/或来自相机262的捕获图像等)传送到远程系统(例如,地图绘制系统106),该远程系统可以基于传感器数据来生成新的地图数据。
现在参考图3,图3是说明性LiDAR系统300的图。图2中的LiDAR系统264可以与LiDAR系统300相同或基本上相似。
如图3中所示,LiDAR系统300可以包括壳体306,壳体306可以围绕中心轴线(诸如轮毂或轴316)可旋转360°。壳体306可以包括由对光透明的材料制成的发射器/接收器孔径312。尽管在图3中示出了单个孔径,但是本公开的非限制性实施例或方面在这方面不受限制。在其他情况下,可以提供用于发射和/或接收光的多个孔径。无论哪种方式,当壳体306围绕内部组件旋转时,LiDAR系统300都可以通过一个或多个孔径312发射光,并且接收朝向一个或多个孔径312反射回来的光。在替选情况下,壳体306的外壳(shell)可以是固定圆顶(dome),至少部分地由对光透明的材料制成,其中在壳体306内部具有可旋转组件。
在旋转外壳或固定圆顶内部是光发射器系统304,该光发射器系统304被配置为并且被定位为经由一个或多个激光发射器芯片或其他发光器件、通过壳体306的孔径312或者通过透明圆顶来生成并且发射光脉冲。发射器系统304可以包括任意数量的各个发射器(例如,8个发射器、64个发射器、128个发射器等)。发射器可以发射基本上相同强度或不同强度的光。由光发射器系统304发射的各个光束可以具有在整个阵列上不相同的明确定义的偏振状态。作为示例,一些光束可以具有垂直偏振,并且其他光束可以具有水平偏振。LiDAR系统300可以包括光检测器308,该光检测器308包含被定位为并且被配置为接收反射回到系统中的光的光电检测器或光电检测器阵列。发射器系统304和光检测器308可以与旋转外壳一起旋转,或者发射器系统304和光检测器308可以在壳体306的固定圆顶内部旋转。一个或多个光学元件结构310可以被定位在发光单元304和/或光检测器308的前面,以用作聚焦并且引导穿过光学元件结构310的光的一个或多个透镜和/或波片。
一个或多个光学元件结构310可以被定位在反射镜的前面,以聚焦并且引导穿过光学元件结构310的光。如以下在本文中所描述的,LiDAR系统300可以包括光学元件结构310,该光学元件结构310被定位在反射镜的前面并且连接到LiDAR系统300的旋转元件,使得光学元件结构310与反射镜一起旋转。替选地或附加地,光学元件结构310可以包括多个这样的结构(例如,透镜、波片等)。在一些非限制性实施例或方面中,多个光学元件结构310可以以阵列形式布置在壳体306的外壳部分上或者与壳体306的外壳部分集成。
在一些非限制性实施例或方面中,每个光学元件结构310可以包括分束器,该分束器将系统接收到的光与系统生成的光分离。分束器可以包括例如四分之一波波片或半波波片,以执行分离并且确保接收到的光被引导到接收器单元而不是发射器系统(这可以在没有这样的波片的情况下发生,因为发射的光和接收到的光应该表现出相同或相似的偏振)。
LiDAR系统300可以包括为发光单元304、电动机316和电子部件供电的电源单元318。LiDAR系统300可以包括具有诸如处理器322和包含编程指令的非瞬态计算机可读存储器320之类的元件的分析器314,编程指令被配置为使得系统能够接收由光检测器单元收集的数据,分析该数据以测量所接收到的光的特性,并且生成信息,所连接的系统可以使用该信息来做出关于在从中收集数据的环境中操作的决定。分析器314可以如图所示地与LiDAR系统300集成,或者分析器314中的一些或全部可以在LiDAR系统300外部,并且经由有线和/或无线通信网络或链路通信地连接到LiDAR系统300。
现在参考图4,图4是用于计算设备400的说明性架构的图。计算设备400可以对应于自动驾驶车辆的一个或多个设备(例如,自动驾驶车辆的系统的一个或多个设备)(例如,地图数据源系统102的一个或多个设备、和/或系统架构200的一个或多个设备等)、地图数据源系统102的一个或多个设备、地图数据库104的一个或多个设备、地图绘制系统106的一个或多个设备、和/或模拟系统108的一个或多个设备。在一些非限制性实施例或方面中,自动驾驶车辆的一个或多个设备(例如,自动驾驶车辆的系统的一个或多个设备)、地图数据源系统102的一个或多个设备、地图数据库104的一个或多个设备、地图绘制系统106的一个或多个设备和/或模拟系统108的一个或多个设备可以包括至少一个计算设备400和/或计算设备400的至少一个组件。
图4中所示的组件的数量和布置被提供作为示例。在一些非限制性实施例或方面中,与图4中所示的组件相比,计算设备400可以包括额外的组件、更少的组件、不同的组件、或不同布置的组件。附加地或替选地,计算设备400的一组组件(例如,一个或多个组件)可以执行被描述为由设备400的另一组组件执行的一个或多个功能。
如图4中所示,计算设备400包括用户接口402、中央处理单元(CPU)406、系统总线410、通过系统总线410连接到计算设备400的其他部分并且可由计算设备400的其他部分访问的存储器412、系统接口460以及连接到系统总线410的硬件实体414。用户接口402可以包括输入设备和输出设备,它们促进用于控制计算设备400的操作的用户-软件交互。输入设备可以包括但不限于物理和/或触摸键盘450。输入设备可以经由有线和/或无线连接(例如连接)连接到计算设备400。输出设备可以包括但不限于扬声器452、显示器454和/或发光二极管456。系统接口460被配置为促进与外部设备(例如,网络节点,诸如接入点等)进行有线和/或无线通信。
硬件实体414中的至少一些可以执行涉及访问和使用存储器412的动作,存储器412可以是随机存取存储器(RAM)、盘驱动器、闪存、紧凑盘只读存储器(CD-ROM)和/或能够存储指令和数据的其他硬件设备。硬件实体414可以包括盘驱动单元416,该盘驱动单元416包括计算机可读存储介质418,在该计算机可读存储介质418上存储被配置为实现本文中所描述的方法、过程或功能中的一个或多个的一组或多组指令420(例如,软件代码)。指令420、应用424和/或参数426也可以在由计算设备400执行和/或使用期间完全或至少部分地驻留在存储器412内和/或CPU 406内。存储器412和CPU 406可以包括机器可读介质。如本文中所使用的术语“机器可读介质”可以是指存储一组或多组指令420的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。如本文中所使用的术语“机器可读介质”可以是指能够存储、编码或携带一组指令420以供计算设备400执行并且使得计算设备400执行本公开的方法中的任何一个或多个方法的任何介质。
现在参考图5,图5是用于迭代地图扭曲的处理500的非限制性实施例或方面的流程图。在一些非限制性实施例或方面中,处理500的一个或多个步骤可以由地图绘制系统106(例如,地图绘制系统106的一个或多个设备)来执行(例如,完全地、和/或部分地等)。在一些非限制性实施例或方面中,处理500的一个或多个步骤可以由与地图绘制系统106分离或包括地图绘制系统106的另一系统、另一设备、另一组系统或另一组设备(诸如地图数据源系统102、地图数据库104、和/或模拟系统108等)来执行(例如,完全地、和/或部分地等)。
如图5中所示,在步骤502处,处理500可以包括获得第一地图数据。例如,地图绘制系统106可以从地图数据库104中获得(例如,接收、请求、和/或检索等)与地理位置的第一地图相关联的第一地图数据。附加地或替选地,地图数据库104可以将第一地图数据传送到地图绘制系统106。
在一些非限制性实施例或方面中,地理位置可以包括道路。附加地或替选地,第一地图数据可以包括表示道路的至少一个第一车道段(例如,多个第一车道段)。例如,每个车道段可以包括表示道路的车道段的多边形(例如,矩形等)。
在一些非限制性实施例或方面中,第一地图数据可以包括与地理位置(例如,其中的道路的车道段)的第一向量地图相关联的第一向量地图数据。
如图5中所示,在步骤504处,处理500可以包括获得第二地图数据。例如,地图绘制系统106可以从地图数据源系统102中获得(例如,接收、请求、和/或检索等)与地理位置的第二地图相关联的第二地图数据。附加地或替选地,地图数据源系统102可以将第二地图数据传送到地图绘制系统106。
在一些非限制性实施例或方面中,如本文中所述,地理位置可以包括道路。附加地或替选地,第二地图数据可以包括表示道路的至少一个第二车道段(例如,多个第二车道段)。例如,每个车道段可以包括表示道路的车道段的多边形(例如,矩形等)。
在一些非限制性实施例或方面中,第二地图数据可以包括与地理位置(例如,其中的道路的车道段)的第二向量地图相关联的第二向量地图数据。
如图5中所示,在步骤506处,处理500可以包括确定至少一个非重叠区域。例如,地图绘制系统106可以基于至少一个第一车道段和至少一个第二车道段来确定多个非重叠区域。
在一些非限制性实施例或方面中,地图绘制系统106可以通过确定第一车道段和第二车道段的对称差来确定多个非重叠区域。
在一些非限制性实施例或方面中,至少一个第一车道段可以包括多个第一车道段,并且至少一个第二车道段可以包括多个第二车道段。附加地或替选地,确定多个非重叠区域可以包括(例如,由地图绘制系统106)合并多个第一车道段以提供第一多边形(例如,将第一地图中描绘的道路表示为整体)。例如,合并多个第一车道段可以包括以可选择的量(例如,可选择的阈值量、和/或缓冲区域等)扩展第一车道段(例如,矩形等)并且将所扩展的第一车道段(例如,所扩展的矩形)相交以形成第一多边形。例如,可选择的量可以包括足以使任何逻辑上相邻的车道段重叠的量,这可以导致这样的车道段被合并成多边形。附加地或替选地,地图绘制系统106可以合并多个第二车道段以提供第二多边形(例如,将第二地图中描绘的道路表示为整体)。例如,合并多个第二车道段可以包括以可选择的量(例如,可选择的阈值量、和/或缓冲区域等)扩展第二车道段(例如,矩形等)并且将所扩展的第二车道段(例如,所扩展的矩形)相交以形成第二多边形。附加地或替选地,地图绘制系统106可以确定第一多边形的不与第二多边形重叠的至少一个第一区域和/或第二多边形的不与第一多边形重叠的至少一个第二区域。例如,地图绘制系统106可以通过确定第一多边形和第二多边形的对称差来确定第一区域和/或第二区域。附加地或替选地,地图绘制系统106可以通过确定第一多边形和第二多边形的并集(union)并且从中减去第一多边形和第二多边形的交集(intersection)来确定第一区域和/或第二区域。在一些非限制性实施例或方面中,多个非重叠区域可以包括第一区域和/或第二区域。
如图5中所示,在步骤508处,处理500可以包括选择非重叠区域。例如,地图绘制系统106可以选择多个非重叠区域中的第一非重叠区域。
在一些非限制性实施例或方面中,选择第一非重叠区域可以包括(例如,由地图绘制系统106)确定多个非重叠区域中的每个非重叠区域的面积。例如,每个非重叠区域的面积可以是几何面积(例如,其可以由地图绘制系统106计算)。附加地或替选地,每个非重叠区域的面积可以通过(例如,由地图绘制系统106)在每个非重叠区域上进行积分(例如,在每个非重叠区域的边上进行工作等)来确定。在一些非限制性实施例中,地图绘制系统106可以选择多个非重叠区域中具有最大面积的非重叠区域作为第一非重叠区域。
如图5中所示,在步骤510处,处理500可以包括选择扭曲点。例如,地图绘制系统106可以在第一非重叠区域内选择第一扭曲点。
在一些非限制性实施例或方面中,选择第一扭曲点可以包括(例如,由地图绘制系统106)确定第一非重叠区域的质心。例如,质心可以是第一非重叠区域的几何中心(例如,其可以由地图绘制系统106计算)。附加地或替选地,地图绘制系统可以选择质心作为第一扭曲点。
如图5中所示,在步骤512处,处理500可以包括在扭曲点周围扭曲。例如,地图绘制系统106可以在第一扭曲点周围扭曲第一车道段(例如,包括第一车道段的第一多边形)。附加地或替选地,地图绘制系统106可以在第一扭曲点周围扭曲第二车道段(例如,包括第二车道段的第二多边形)。
在一些非限制性实施例中,地图绘制系统106可以在第一扭曲点周围扭曲第一车道段(例如,包括第一车道段的第一多边形),以基于第二车道段(例如,包括第二车道段的第二多边形)和在扭曲之后的第一车道段(例如,包括第一车道段的第一多边形)增加总重叠区域。附加地或替选地,地图绘制系统106可以在第一扭曲点周围扭曲第一车道段(例如,包括第一车道段的第一多边形),以减少第一非重叠区域。
在一些非限制性实施例中,扭曲第一车道段(例如,包括第一车道段的第一多边形)可以包括(例如,由地图绘制系统106)使用逆距离加权插值来调整第一扭曲点和在第一扭曲点周围的(例如,第一车道段和/或第一多边形的)点。例如,可以在至少一个方向(例如,多个方向,诸如四个方向(例如,北、南、东和西等))上、以可选择的步长(例如,1m、2m、4m、5m、和/或8m等)将第一扭曲点调整到至少一个调整位置(例如,多个调整位置,诸如四个调整位置)(例如,向北一步、向南一步、向东一步和向西一步等),并且可以通过在第一扭曲点的每个调整位置周围的逆距离加权插值来调整在第一扭曲点周围的点(例如,基于逆距离加权插值的幂参数(例如,幂参数2等))。在一些非限制性实施例中,可选择的步长可以包括一个范围的值,这些值可以随着迭代次数的增加而减小(例如,以对优化进行微调)。例如,这样的范围的边界可以小于地图坐标中的最大预期偏差,和/或可以足够大,从而可以有效地执行优化。在一些非限制性实施例中,为了计算的效率,可以选择幂参数2(例如,因为这可以通过允许距离计算中的平方根以抵消逆距离加权插值的乘方来允许走捷径)。附加地或替选地,可以将一个范围的值用于幂参数(例如,用于进行实验以查看哪个幂参数可以产生最期望的结果)。附加地或替选地,地图绘制系统106可以基于第二车道段(例如,包括第二车道段的第二多边形)和在调整之后(例如,在多个(例如,四个)调整中的每个调整之后)的第一车道段(例如,包括第一车道段的第一多边形)来确定总重叠区域。例如,地图绘制系统106可以基于第二多边形和扭曲的第一多边形的交集等确定总重叠区域。附加地或替选地,地图绘制系统106可以迭代地重复调整(例如,从导致最大总重叠区域的第一扭曲点的调整位置开始)和总重叠区域的确定,直到满足终止条件。例如,终止条件可以包括以下各项中的至少一个:总重叠区域达到局部最大值(例如,总重叠区域在连续迭代之间不增加等),总重叠区域满足阈值(例如,超过可选择的阈值等),对称差(例如,非重叠区域)的总面积满足阈值(例如,小于最小阈值,其可以与彼此足够接近的车道段/多边形相关联),满足阈值迭代次数(例如,超过可选择的阈值迭代次数等),和/或其任意组合等。例如,地图绘制系统106可以迭代地重复调整和总重叠区域的确定,直到总重叠区域达到局部最大值。在一些非限制性实施例中,上述阈值中的任何阈值都可以通过对扭曲的地图中的偏差的可接受的主观容限来确定。
在一些非限制性实施例中,地图绘制系统106可以迭代地重复步骤506-512。例如,如本文中所述(例如,步骤506),地图绘制系统106可以基于在扭曲之后的第一车道段(例如,包括第一车道段的第一多边形)和第二车道段(如,包括第二车道段的第二多边形)来确定另外的多个非重叠区域。附加地或替选地,如本文中所述(例如,步骤508),地图绘制系统106可以选择另外的多个非重叠区域中的另外的非重叠区域。附加地或替选地,如本文中所述(例如,步骤510),地图绘制系统106可以在另外的非重叠区域内选择另外的扭曲点。在一些非限制性实施例或方面中,如果另外的非重叠区域的质心在距先前扭曲点的阈值距离内(例如,可选择的阈值距离,诸如1m、和/或5m等),则先前扭曲点可以被选择为另外的扭曲点(例如,而不是质心)。附加地或替选地,如本文中所述(例如,步骤512),地图绘制系统106可以在另外的扭曲点周围扭曲第一车道段(例如,包括第一车道段的第一多边形)(例如,迭代地重复扭曲,直到满足终止条件,诸如直到总重叠区域达到局部最大值)。附加地或替选地,地图绘制系统106可以迭代地重复步骤506-512,直到满足第二终止条件。例如,第二终止条件可以包括以下各项中的至少一个:总重叠区域达到局部最大值,连续迭代之间的总重叠区域的改进满足阈值(例如,小于可选择的阈值等),对称差(例如,非重叠区域)的总面积满足阈值(例如,小于最小阈值,其可以与彼此足够接近的车道段/多边形相关联),满足阈值迭代次数(例如,超过可选择的阈值迭代次数等),和/或其任意组合等。在一些非限制性实施例中,上述阈值中的任何阈值都可以通过对扭曲的地图中的偏差的可接受的主观容限来确定。
在一些非限制性实施例或方面中,在扭曲点周围的扭曲可以提供连续函数(例如,连续函数F(x,y)等),通过该连续函数可以将第一地图上的任意位置变换到第二地图上的位置(例如,不依赖于第一地图或第二地图中的特定车道分段)。例如,连续函数可以包括在至少一个扭曲点周围的至少一个逆距离加权插值(例如,在多个扭曲点周围的多个逆距离加权插值,多个逆距离加权插值中的每个逆距离加权插值可以是连续函数,其可以组合以提供最终连续函数)。例如,每个扭曲点可以包括第一地图中的x位置和y位置和/或至少一个扭曲值(例如,x扭曲值、y扭曲值、和/或其任意组合等),该至少一个扭曲值表示第一地图中的位置应该被变换(例如,扭曲)多少以被变换到第二地图。
在一些非限制性实施例或方面中,第一地图数据(例如,在扭曲之后的第一车道段等)可以用于促进自动驾驶车辆的至少一个自动驾驶操作,或者促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。例如,地图绘制系统106可以将地图数据(例如,与在扭曲之后的第一地图相关联)传送到自动驾驶车辆(例如,地图数据源系统102、和/或另一自动驾驶车辆等)。附加地或替选地,自动驾驶车辆可以使用地图数据来促进至少一个自动驾驶操作,诸如通过使用第一地图数据将自动驾驶车辆定位在自动驾驶车辆所在的地理区域中,和/或利用第一地图数据的车道段来控制或引导自动驾驶车辆的位置。通过进一步的示例,地图绘制系统106可以将地图数据(例如,与在扭曲之后的第一地图相关联)传送到模拟系统108。附加地或替选地,模拟系统108可以使用地图数据来促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。附加地或替选地,第一地图数据(例如,在扭曲之后的第一车道段等)可以用于生成可以显示在GUI上的地图,诸如填充在自动驾驶车辆的显示器454上的GUI。所显示的地图除了可以包括其他特征之外,还可以包括在发生扭曲之后的第一车道段。
现在参考图6A-图6F,图6A-图6F是与图5中所示的处理500有关的非限制性实施例或方面的示例性实现600的图。在一些非限制性实施例或方面中,实现600的一个或多个步骤可以由地图绘制系统106(例如,地图绘制系统106的一个或多个设备)来执行(例如,完全地、和/或部分地等)。在一些非限制性实施例或方面中,实现600的一个或多个步骤可以由与地图绘制系统106分离或包括地图绘制系统106的另一系统、另一设备、另一组系统或另一组设备(诸如地图数据源系统102、地图数据库104、和/或模拟系统108等)来执行(例如,完全地、和/或部分地等)。
如图6A中所示,实现600可以包括获得地图数据。例如,如本文中所述,地图绘制系统106可以获得包括多个第一车道段612a的第一地图数据和/或包括多个第二车道段614a的第二地图数据。
如图6B中所示,实现600可以包括合并车道段以提供至少一个多边形。例如,如本文中所述,地图绘制系统106可以合并多个第一车道段以提供第一多边形612,和/或合并多个第二车道段以提供第二多边形614。
如图6C中所示,实现600可以包括确定至少一个非重叠区域。例如,地图绘制系统106可以基于第一多边形612和第二多边形614来确定多个非重叠区域(例如,第一区域622、和/或第二区域624等)。在一些非限制性实施例中,如本文中所述,地图绘制系统106可以确定第一多边形612和第二多边形614之间的对称差,以提供非重叠区域(例如,第一区域622、和/或第二区域624等)。附加地或替选地,如本文中所述,地图绘制系统106可以确定第一多边形612的不与第二多边形614重叠的至少一个第一区域622,和/或第二多边形614的不与第一多边形612重叠的至少一个第二区域624。在一些非限制性实施例或方面中,如本文中所述,地图绘制系统106可以确定至少一个重叠区域620(例如,基于第一多边形612和第二多边形614的交集等)。
如图6D中所示,实现600可以包括选择非重叠区域之一和/或在非重叠区域中选择扭曲点。例如,如本文中所述,地图绘制系统106可以选择第一非重叠区域622-1(例如,从多个第一区域622和多个第二区域624当中选择,因为第一非重叠区域622-1具有最大面积等)。附加地或替选地,如本文中所述,地图绘制系统106可以在第一非重叠区域622-1内选择第一扭曲点630-1(例如,基于确定第一非重叠区域622-1的质心并且选择该质心作为第一扭曲点630-1)。
如图6E中所示,实现600可以包括在扭曲点周围扭曲。例如,如本文中所述,地图绘制系统106可以在第一扭曲点630-1周围扭曲第一多边形612(例如,使用逆距离加权插值)。附加地或替选地,如本文中所述,地图绘制系统106可以迭代地重复扭曲,直到满足终止条件(例如,增加第一多边形612和第二多边形614的总重叠区域620,直到总重叠区域620达到局部最大值)。
如图6F中所示,实现600可以包括迭代地重复非重叠区域的确定、非重叠区域之一的选择、在所选择的非重叠区域内的扭曲点的选择、以及在所选择的扭曲点周围的扭曲。例如,如本文中所述,地图绘制系统106可以迭代地重复非重叠区域(例如,第一区域622和/或第二区域624)的确定、非重叠区域之一的选择、在所选择的非重叠区域内的扭曲点(例如,630-1、630-2、630-3、630-4、和/或630-5等)的选择、以及在所选择的扭曲点周围的扭曲,直到满足终止条件(例如,增加第一多边形612和第二多边形614的总重叠区域620,直到总重叠区域620达到局部最大值)。
现在参考图7A和图7B,图7A和图7B是与图5中所示的处理500有关的非限制性实施例或方面的示例性实现700的屏幕截图。在一些非限制性实施例或方面中,实现700的一个或多个步骤可以由地图绘制系统106(例如,地图绘制系统106的一个或多个设备)来执行(例如,完全地、和/或部分地等)。在一些非限制性实施例或方面中,实现700的一个或多个步骤可以由与地图绘制系统106分离或包括地图绘制系统106的另一系统、另一设备、另一组系统或另一组设备(诸如地图数据源系统102、地图数据库104、和/或模拟系统108等)来执行(例如,完全地、和/或部分地等)。在一些非限制性实施例中,与图7A和图7B中所示的屏幕截图相类似的屏幕截图可以显示在GUI上,诸如填充在自动驾驶车辆(例如,地图数据源系统102、和/或另一自动驾驶车辆等)的显示器454上的GUI,或者显示在测试环境(例如,模拟系统108等)中,以说明与图5中所示的处理500有关的某些非限制性实施例或方面的处理和效果。例如,地图数据可以可视地显示在GUI上,并且所显示的地图数据可以示出第一地图和第二地图之间的任何变换(例如,扭曲变换)。可以通过例如使用视觉指示器(例如,颜色组合、交叉影线等)识别第一地图和第二地图之间的差异来示出任何这样的变换,该视觉指示器诸如是指示由扭曲导致的车道段中的任何差异的视觉指示器。
如图7A中所示,如本文中所述,第一多边形712和第二多边形714可以包括重叠区域720和至少一个非重叠区域(例如,第一多边形712的不与第二多边形714重叠的第一区域722、和/或第二多边形714的不与第一多边形712重叠的第二区域724)。附加地或替选地,如本文中所述,向量730可以表示基于迭代扭曲(例如,处理500、和/或实现600等)而确定的每个相应点的扭曲幅度。
如图7B中所示,如本文中所述,在扭曲之后,第一多边形712和第二多边形714之间的重叠区域720可以增加。附加地或替选地,如本文中所述,非重叠区域(例如,第一区域722和/或第二区域724)可以减少。
现在参考图8,图8是与图5中所示的处理500有关的非限制性实施例或方面的示例性实现800的流程图。在一些非限制性实施例或方面中,实现800的一个或多个步骤可以由地图绘制系统106(例如,地图绘制系统106的一个或多个设备)来执行(例如,完全地、和/或部分地等)。在一些非限制性实施例或方面中,实现800的一个或多个步骤可以由与地图绘制系统106分离或包括地图绘制系统106的另一系统、另一设备、另一组系统或另一组设备(诸如地图数据源系统102、地图数据库104、和/或模拟系统108等)来执行(例如,完全地、和/或部分地等)。
如图8中所示,在步骤802处,实现800可以包括开始。例如,开始可以包括地图绘制系统获得地图数据。例如,如本文中所述,地图绘制系统106可以获得包括多个第一车道段的第一地图数据和/或包括多个第二车道段的第二地图数据。
如图8中所示,在步骤804处,实现800可以包括例如通过找到最大非重叠区域的质心来选择潜在的扭曲点。例如,如本文中所述,地图绘制系统106可以确定至少一个非重叠区域。附加地或替选地,如本文中所述,地图绘制系统106可以从多个非重叠区域中选择非重叠区域(例如,最大非重叠区域等)。附加地或替选地,如本文中所述,地图绘制系统106可以在所选择的非重叠区域中选择潜在的扭曲点(例如,质心)。
如图8中所示,在步骤806处,实现800可以包括选择扭曲点。例如,如本文中所述,可以选择潜在的扭曲点(例如,所选择的(例如,最大)非重叠区域的质心)作为扭曲点。附加地或替选地,如本文中所述,如果潜在的扭曲点在距先前扭曲点的阈值距离内,则先前扭曲点可以被选择为扭曲点。
如图8中所示,在步骤808处,实现800可以包括调整扭曲点。例如,如本文中所述,地图绘制系统106可以调整扭曲点。附加地或替选地,如本文中所述,可以(例如,基于逆距离加权插值等)在第一扭曲点周围调整第一地图(例如,第一车道段和/或包括第一车道段的第一多边形)。
如图8中所示,在步骤810处,如本文中所述,实现800可以包括例如通过计算第一地图(在扭曲/调整之后)和第二地图之间的对称差来确定至少一个另外的非重叠区域。例如,如本文中所述,地图绘制系统106可以基于第一地图(在扭曲/调整之后)和第二地图来确定至少一个另外的非重叠区域。附加地或替选地,如本文中所述,地图绘制系统106可以确定是否满足局部最优条件(例如,总重叠区域是否达到局部最大值,和/或非重叠区域是否达到局部最小值,等等)。如果不满足局部最优条件,则处理800可以通过步骤812继续进行,以迭代地重复步骤808和810。如果满足局部最优条件,则处理800可以继续进行到步骤814。
如图8中所示,在步骤814处,实现800可以包括确定是否满足(例如,符合等)条件。例如,如本文中所述,地图绘制系统106可以确定是否满足终止条件。例如,终止条件可以包括以下各项中的至少一个:总重叠区域达到局部最大值,连续迭代之间的总重叠区域的改进满足阈值(例如,小于可选择的阈值等),满足阈值迭代次数(例如,超过可选择的阈值迭代次数等),和/或其任意组合等。如果不满足该条件,则处理800可以通过步骤816继续进行,以迭代地重复步骤804-810。如果满足该条件,则处理800可以通过步骤818继续进行到步骤820。
如图8中所示,在步骤820处,实现800可以结束。例如,如本文中所述,地图绘制系统106可以存储地图数据(例如,与在扭曲之后的第一地图相关联)和/或可以传送地图数据。例如,如本文中所述,地图绘制系统106可以将地图数据传送到地图数据库104以进行存储,传送到自动驾驶车辆(例如,地图数据源系统102、和/或另一自动驾驶车辆等)以促进在自动驾驶车辆的显示器上显示地图和/或促进自动驾驶车辆的至少一个自动驾驶操作,和/或传送到模拟系统108以促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
尽管为了说明的目的,已基于当前被认为是最实用和最优选的实施例或方面对所公开的主题进行了详细描述,但是应当理解的是,这样的细节仅用于该目的,并且所公开的主题不限于所公开的实施例和方面,而是相反,旨在涵盖在所附权利要求的精神和范围内的修改和等效布置。例如,应当理解,本公开的主题想到,在可能的范围内,任何实施例或方面的一个或多个特征可以与任何其他实施例或方面的一个或多个特征相结合。

Claims (20)

1.一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的方法,包括:
利用至少一个处理器,获得与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;
利用所述至少一个处理器,获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;
利用所述至少一个处理器,基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;
利用所述至少一个处理器,选择所述多个非重叠区域中的第一非重叠区域;
利用所述至少一个处理器,在所述第一非重叠区域内选择第一扭曲点;以及
利用所述至少一个处理器,在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域,以生成与包括所述道路的所述地理位置的更新地图相关联的更新地图数据。
2.根据权利要求1所述的方法,其中,所述第一地图数据包括与所述地理位置的第一向量地图相关联的第一向量地图数据,并且所述第二地图数据包括与所述地理位置的第二向量地图相关联的第二向量地图数据。
3.根据权利要求1所述的方法,其中,确定所述多个非重叠区域包括确定所述至少一个第一车道段和所述至少一个第二车道段的对称差。
4.根据权利要求1所述的方法,其中,所述至少一个第一车道段包括多个第一车道段,并且所述至少一个第二车道段包括多个第二车道段,其中,确定所述多个非重叠区域包括:
利用所述至少一个处理器,合并所述多个第一车道段以提供第一多边形;
利用所述至少一个处理器,合并所述多个第二车道段以提供第二多边形;
利用所述至少一个处理器,确定所述第一多边形的不与所述第二多边形重叠的至少一个第一区域;以及
利用所述至少一个处理器,确定所述第二多边形的不与所述第一多边形重叠的至少一个第二区域,
其中,所述多个非重叠区域包括所述至少一个第一区域和所述至少一个第二区域。
5.根据权利要求1所述的方法,其中,选择所述第一非重叠区域包括:
利用所述至少一个处理器,确定所述多个非重叠区域中的每个非重叠区域的面积;以及
利用所述至少一个处理器,选择所述多个非重叠区域中具有最大面积的非重叠区域作为所述第一非重叠区域。
6.根据权利要求1所述的方法,其中,选择所述第一扭曲点包括:
利用所述至少一个处理器,确定所述第一非重叠区域的质心;以及
利用所述至少一个处理器,选择所述质心作为所述第一扭曲点。
7.根据权利要求1所述的方法,其中,扭曲所述至少一个第一车道段包括:
利用所述至少一个处理器,使用逆距离加权插值来调整所述第一扭曲点和在所述第一扭曲点周围的所述至少一个第一车道段的点;
利用所述至少一个处理器,基于所述至少一个第二车道段和在所述调整之后的所述至少一个第一车道段来确定所述总重叠区域;以及
迭代地重复所述调整和所述总重叠区域的确定,直到所述总重叠区域达到局部最大值。
8.根据权利要求1所述的方法,进一步包括:
利用所述至少一个处理器,基于在扭曲之后的所述至少一个第一车道段和所述至少一个第二车道段来确定另外的多个非重叠区域;
利用所述至少一个处理器,选择所述另外的多个非重叠区域中的另外的非重叠区域;
利用所述至少一个处理器,在所述另外的非重叠区域内选择另外的扭曲点;
利用所述至少一个处理器,在所述另外的扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加所述总重叠区域;以及
迭代地重复所述另外的多个非重叠区域的确定、所述另外的非重叠区域的选择、所述另外的扭曲点的选择、以及在所述另外的扭曲点周围的所述至少一个第一车道段的扭曲,直到所述总重叠区域达到局部最大值。
9.根据权利要求1所述的方法,进一步包括:
利用所述至少一个处理器,使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进自动驾驶车辆的至少一个自动驾驶操作,或者促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
10.一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的系统,包括:
地图数据库,所述地图数据库被配置为存储与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;
地图数据源系统,所述地图数据源系统被配置为获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;以及
地图绘制系统,所述地图绘制系统被配置为:
从所述地图数据库中获得所述第一地图数据;
从所述地图数据源系统中获得所述第二地图数据;
基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;
选择所述多个非重叠区域中的第一非重叠区域;
在所述第一非重叠区域内选择第一扭曲点;以及
在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域,以生成与包括所述道路的所述地理位置的更新地图相关联的更新地图数据。
11.根据权利要求10所述的系统,其中,所述地图数据源系统包括自动驾驶车辆,所述自动驾驶车辆包括射线投射系统,所述射线投射系统被配置为基于所述射线投射系统的射线投射操作来生成所述第二地图数据。
12.根据权利要求10所述的系统,其中,确定所述多个非重叠区域包括确定所述至少一个第一车道段和所述至少一个第二车道段的对称差。
13.根据权利要求10所述的系统,其中,确定所述多个非重叠区域包括:
确定所述至少一个第一车道段的不与所述至少一个第二车道段重叠的至少一个第一区域;以及
确定所述至少一个第二车道段的不与所述至少一个第一车道段重叠的至少一个第二区域,
其中,所述多个非重叠区域包括所述至少一个第一区域和所述至少一个第二区域。
14.根据权利要求10所述的系统,其中,选择所述第一非重叠区域包括:
确定所述多个非重叠区域中的每个非重叠区域的面积;以及
选择所述多个非重叠区域中具有最大面积的非重叠区域作为所述第一非重叠区域。
15.根据权利要求10所述的系统,其中,选择所述第一扭曲点包括:
确定所述第一非重叠区域的质心;以及
选择所述质心作为所述第一扭曲点。
16.根据权利要求10所述的系统,其中,扭曲所述至少一个第一车道段包括:
使用逆距离加权插值来调整所述第一扭曲点和在所述第一扭曲点周围的所述至少一个第一车道段的点;
基于所述至少一个第二车道段和在所述调整之后的所述至少一个第一车道段来确定所述总重叠区域;以及
迭代地重复所述调整和所述总重叠区域的确定,直到所述总重叠区域达到局部最大值。
17.根据权利要求10所述的系统,其中,所述地图绘制系统进一步被配置为:
基于在扭曲之后的所述至少一个第一车道段和所述至少一个第二车道段来确定另外的多个非重叠区域;
选择所述另外的多个非重叠区域中的另外的非重叠区域;
在所述另外的非重叠区域内选择另外的扭曲点;
在所述另外的扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加所述总重叠区域;以及
迭代地重复所述另外的多个非重叠区域的确定、所述另外的非重叠区域的选择、所述另外的扭曲点的选择、以及在所述另外的扭曲点周围的所述至少一个第一车道段的扭曲,直到所述总重叠区域达到局部最大值。
18.根据权利要求10所述的系统,进一步包括自动驾驶车辆,其中,所述地图绘制系统进一步被配置为将包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据传送到所述自动驾驶车辆,并且其中,所述自动驾驶车辆被配置为使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进所述自动行驶车辆的至少一个自动驾驶操作。
19.根据权利要求10所述的系统,进一步包括模拟系统,其中,所述地图绘制系统进一步被配置为将包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据传送到所述模拟系统,并且其中,所述模拟系统被配置为使用包括在扭曲之后的所述至少一个第一车道段的所述第一地图数据,以促进模拟自动驾驶车辆的至少一个模拟自动驾驶操作。
20.一种用于生成用于自动驾驶车辆驾驶操作或其模拟的更新地图的计算机程序产品,所述计算机程序产品包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包括一个或多个指令,所述一个或多个指令在由至少一个处理器执行时使得所述至少一个处理器:
获得与包括道路的地理位置的第一地图相关联的第一地图数据,所述第一地图数据包括表示所述道路的至少一个第一车道段;
获得与所述地理位置的第二地图相关联的第二地图数据,所述第二地图数据包括表示所述道路的至少一个第二车道段;
基于所述至少一个第一车道段和所述至少一个第二车道段来确定多个非重叠区域;
选择所述多个非重叠区域中的第一非重叠区域;
在所述第一非重叠区域内选择第一扭曲点;以及
在所述第一扭曲点周围扭曲所述至少一个第一车道段,以基于所述至少一个第二车道段和在扭曲之后的所述至少一个第一车道段增加总重叠区域。
CN202280009744.2A 2021-03-30 2022-03-29 用于自动驾驶车辆和模拟器的地图的迭代扭曲的方法、系统和计算机程序产品 Pending CN116867699A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/217,229 2021-03-30
US17/217,229 US11698270B2 (en) 2021-03-30 2021-03-30 Method, system, and computer program product for iterative warping of maps for autonomous vehicles and simulators
PCT/US2022/022347 WO2022212374A1 (en) 2021-03-30 2022-03-29 Method, system, and computer program product for iterative warping of maps for autonomous vehicles and simulators

Publications (1)

Publication Number Publication Date
CN116867699A true CN116867699A (zh) 2023-10-10

Family

ID=83448978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280009744.2A Pending CN116867699A (zh) 2021-03-30 2022-03-29 用于自动驾驶车辆和模拟器的地图的迭代扭曲的方法、系统和计算机程序产品

Country Status (4)

Country Link
US (2) US11698270B2 (zh)
EP (1) EP4313713A1 (zh)
CN (1) CN116867699A (zh)
WO (1) WO2022212374A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006113B2 (ja) 2012-12-28 2016-10-12 株式会社日立製作所 カーナビケーション装置用地図配信サーバ、地図データ配信システム及び道路差分データ生成方法
US9884623B2 (en) * 2015-07-13 2018-02-06 GM Global Technology Operations LLC Method for image-based vehicle localization
US10871782B2 (en) 2016-07-01 2020-12-22 Uatc, Llc Autonomous vehicle control using submaps
DE112017007479B4 (de) * 2017-06-01 2021-05-20 Mitsubishi Electric Corporation Kartenverarbeitungseinrichtung, Kartenverarbeitungsverfahren und Kartenverarbeitungsprogramm
US10529089B2 (en) 2018-02-23 2020-01-07 GM Global Technology Operations LLC Crowd-sensed point cloud map
US10564643B2 (en) 2018-05-31 2020-02-18 Nissan North America, Inc. Time-warping for autonomous driving simulation
US10782136B2 (en) * 2018-09-28 2020-09-22 Zoox, Inc. Modifying map elements associated with map data
CN112654836A (zh) 2019-02-04 2021-04-13 御眼视觉技术有限公司 用于车辆导航的系统和方法

Also Published As

Publication number Publication date
US20230296402A1 (en) 2023-09-21
EP4313713A1 (en) 2024-02-07
US20220316910A1 (en) 2022-10-06
WO2022212374A1 (en) 2022-10-06
US11698270B2 (en) 2023-07-11

Similar Documents

Publication Publication Date Title
CN110869981B (zh) 用于自主车辆的高清晰度地图数据的向量数据编码
US11353589B2 (en) Iterative closest point process based on lidar with integrated motion estimation for high definition maps
US10579065B2 (en) Algorithm and infrastructure for robust and efficient vehicle localization
US11164369B2 (en) Methods and systems for constructing map data using poisson surface reconstruction
US11520347B2 (en) Comprehensive and efficient method to incorporate map features for object detection with LiDAR
CN113039579A (zh) 一种生成高分辨率高精度点云的系统、设备和方法
CN110832348A (zh) 用于自主车辆的高清晰度地图的点云数据丰富
US11687079B2 (en) Methods, devices, and systems for analyzing motion plans of autonomous vehicles
US11541903B2 (en) Autonomous driving with surfel maps
US11668573B2 (en) Map selection for vehicle pose system
US20210364637A1 (en) Object localization using machine learning
CN112041210B (zh) 用于自动驾驶的系统和方法
CN114092660A (zh) 高精地图生成方法、装置及用于生成地图的车辆
EP4083336B1 (en) Method and apparatus for detecting operating terrain, and engineering equipment for detecting operating terrain
CN110720025B (zh) 移动物体的地图的选择方法、装置、系统和车辆/机器人
US11698270B2 (en) Method, system, and computer program product for iterative warping of maps for autonomous vehicles and simulators
CN117716312A (zh) 用于解决自主车辆的雷达系统的层次模糊性的方法、系统和计算机程序产品
CN116635746A (zh) 用于从lidar数据检测道路标记点的系统、方法和计算机程序产品
CN110770540A (zh) 用于构建环境模型的方法和装置
US10732005B2 (en) System and method for providing multimodal visual time aware graphical displays
US20230132967A1 (en) Method, System, and Computer Program Product for Parallax Estimation for Sensors for Autonomous Vehicles
US11287269B2 (en) Map coordinate distortion compensation
EP3792719A1 (en) Deduction system, deduction device, deduction method, and computer program
KR20240047400A (ko) 이동 대상의 포즈 결정을 위한 시스템들 및 방법들
CN117745937A (zh) 视景合成方法、装置、终端设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination