CN116745187B - 通过可行驶区域边界的语义分割来预测不确定道路使用者的轨迹的方法和*** - Google Patents
通过可行驶区域边界的语义分割来预测不确定道路使用者的轨迹的方法和*** Download PDFInfo
- Publication number
- CN116745187B CN116745187B CN202180088749.4A CN202180088749A CN116745187B CN 116745187 B CN116745187 B CN 116745187B CN 202180088749 A CN202180088749 A CN 202180088749A CN 116745187 B CN116745187 B CN 116745187B
- Authority
- CN
- China
- Prior art keywords
- logical
- travelable region
- edge
- edges
- boundary
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000011218 segmentation Effects 0.000 title description 4
- 238000000638 solvent extraction Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 21
- 230000033001 locomotion Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 210000003717 douglas' pouch Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
-
- 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/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
- G01C21/3819—Road shape data, e.g. outline of a route
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4029—Pedestrians
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
公开了用于控制自主车辆的导航以穿过可行驶区域的方法和***。该方法包括接收与包括多个多边形的可行驶区域相关的信息、识别形成可行驶区域的边界的多条逻辑边、顺序地且重复地分析多条逻辑边中的每条逻辑边的凹度,直到识别出具有大于阈值的凹度的第一逻辑边、创建可行驶区域的边界的第一逻辑段。可以重复该分割,直到多条逻辑边中的每条逻辑边已经被分类。该方法可以包括创建和添加(到地图)包括多个逻辑段的指示的可行驶区域的数据表示,以及将数据表示添加到包括可行驶区域的道路网络地图。
Description
交叉引用和优先权要求
本专利文档要求于2021年1月5日提交的美国专利申请号17/141,850的优先权,其全部内容通过引用并入本文。
背景技术
导航道路的自主车辆可能需要跟踪并预测车辆环境中的其他对象(“行动者”),例如其他车辆、自行车、行人、动物等将做什么。未能这样做可能导致碰撞、鲁莽和不稳定的驾驶或其他危险情况。因此,通过基于组合详细地图信息和其他对象的情境信息来准确地预测行动者的轨迹,可以实现更安全的驾驶条件。
为了预测行动者的轨迹,自主车辆还可以从详细地图信息中识别可行驶区域。自主车辆的可行驶区域是真实驾驶环境的简化表示,其包括合理地预期车辆能够在其中驾驶的区域(例如,街道、车道、停车区域等)。可行驶区域的识别有助于促进驾驶决策过程,例如通过划定诸如人行道、建筑物等区域。通常,可以假设可行驶区域内的不确定道路使用者(例如,行人、骑车者等)具有在可行驶区域之外的目的地,并且可以遵循到目的地的轨迹,该轨迹包括在可行驶区域边界上的目标位置(例如,人行道的角落、停车切口等)处离开可行驶区域。关于可行驶区域边界上的潜在目标位置的信息可以用于预测行动者穿过可行驶区域的轨迹。然而,可行驶区域通常是大段,并且不能用于推断关于较小离散目标位置的有意义信息。
本文档描述了旨在解决上述问题和/或其他问题的方法和***。
发明内容
在各种场景中,公开了用于控制自主车辆的导航以穿过可行驶区域的***和方法。该***可以包括处理器和包括一个或多个编程指令的非暂时性计算机可读介质。编程指令可以由处理器执行以执行本公开的方法。计算机可读介质和编程指令可以可选地包括在计算机程序产品中。
***可以接收与自主车辆的环境中的可行驶区域(包括多个多边形)有关的信息。然后,***可以识别形成可行驶区域的边界的多条逻辑边,并且顺序地分析多条逻辑边中的每条逻辑边的凹面,直到识别出具有大于阈值的凹面的第一逻辑边(从多条逻辑边中的初始逻辑边开始并沿着可行驶区域的边界)。在识别出第一逻辑边时,***可以创建可行驶区域的边界的第一逻辑段,该第一逻辑段包括多条逻辑边中的初始逻辑边、多条逻辑边中的初始逻辑边与第一逻辑边之间的逻辑边、以及第一逻辑边的至少一部分。***可以重复这些步骤,直到多条逻辑边中的每条逻辑边已经被分类到可行驶区域的边界的多个逻辑段中的一个。然后,可以创建包括多个逻辑段的指示的可行驶区域的数据表示,并将数据表示添加到包括可行驶区域的道路网络地图。逻辑段表示行动者在穿过可行驶区域时的潜在目标。
在各种实施方式中,***可以使用数据表示来预测行人穿过可行驶区域的轨迹,并且使用轨迹来控制自主车辆的导航,以避免在穿过可行驶区域时与行人碰撞。附加地和/或替代地,***可以使用数据表示来识别从可行驶区域进入或离开环境的未绘制区域。
在某些其他实施方式中,***可以通过识别可行驶区域中的一条或多条共享边并丢弃所识别的一条或多条共享边来识别多条逻辑边。共享边是两个多边形的共线边。***可以可选地识别两个多边形的相邻边并组合相邻边以形成单条逻辑边。
在一些实施方式中,可以基于包括在可行驶区域中的特征的一个或多个特性(例如,特征的类型、特征的尺寸和/或特征的曲率度)来确定阈值。阈值可以是大约120°至大约140°,并且可以被确定为使得行人可以沿着最短路径从可行驶区域的边界的逻辑段的一个点移动到逻辑段上的另一点,而不进入可行驶区域超过阈值距离。可选地,可以确定阈值,使得可行驶区域内的车道的相对侧包括不同的逻辑段。
在各种实施方式中,环境可以包括在所有侧上基本上由可行驶区域围绕的区域,使得当***不包括具有大于阈值的凹度的一条或多条逻辑边时,***可以形成可行驶区域的边界的单个逻辑段。替代地和/或附加地,环境可以包括n路交叉路口,使得***可以形成可行驶区域的边界的n个逻辑段。
附图说明
图1示出了分割可行驶区域边界的示例方法的流程图。
图2A示出了包括共享边的多边形的示例可行驶区域;图2B示出了可行驶区域中所识别的逻辑边和段。
图3A示出了包括4路交叉路口的可行驶区域的示例表示;图3B示出了图3A的可行驶区域边界中的所识别的逻辑段。
图4A示出了包括城市街区的可行驶区域的示例表示;图4B示出了图4A的可行驶区域边界中的所识别的逻辑段。
图4C示出了包括凹形边的图4A的替代可行驶区域的可行驶区域边界中的所识别的逻辑段。
图4D是包括具有入口的城市街区的可行驶区域的示例表示;图4E示出了图4D的可行驶区域边界中的所识别的逻辑段。
图5A示出了包括尽头路的可行驶区域的示例表示;图5B示出了图5A的可行驶区域边界中的所识别的逻辑段。
图6A示出了包括绘制的道路的终点的可行驶区域的示例表示;图6B示出了图6A的可行驶区域边界中的所识别的逻辑段。
图7是示出示例自主车辆***的框图。
图8示出了示例性车辆控制器***。
图9是示出AV和/或外部电子设备的可能的电子***、子***、控制器和/或其他组件的各种元件的框图。
具体实施方式
如本文档中所使用的,单数形式“一”、“一个”和“该”包括复数引用,除非上下文另有明确说明。除非另有定义,否则本文使用的所有技术和科学术语具有与本领域普通技术人员通常理解的含义相同的含义。如本文档中所使用的,术语“包含”意指“包括但不限于”。与本文档相关的附加术语的定义包括在本详细描述的末尾。
在自主车辆的环境中预测行动者的轨迹包括识别表示行动者在给定时刻可能关心的目标的目标。例如,跟随车道的车辆可能将下一车道作为目标,朝向人行横道行走的行人可能将该人行横道作为目标,等等。在这些示例中,人行横道和车道段是可以用于目标表示的地图的小的离散部分。
如上所述,不确定的道路使用者(例如,行人、骑自行车的人等)在占用可行驶区域时,例如当越野行走、交叉行走等时,将具有在可行驶区域之外的目的地,以便到达安全区域。为了到达这样的目的地,不确定的道路使用者可以遵循到目的地的轨迹,该轨迹包括在可行驶区域边界上的目标位置(“目标”)处离开可行驶区域。关于可行驶区域边界上的潜在目标位置的信息可用于预测行动者穿过可行驶区域的轨迹。然而,可行驶区域通常是大段,并且不能用于推断关于较小离散目标位置的有意义信息。例如,行人可能朝向拐角、车道入口或停车切口,所有这些通常都是同一可行驶区域边界的一部分。为了导出关于行人的潜在目标的有用信息,可行驶区域边界可以被分割成足够小以具有语义含义的区段,使得一个区段可以表示拐角;另一个可以表示车道入口;等等。
本文档描述了一种用于将可行驶区域边界分割成逻辑段的自动化方法,使得每个段可以表示行动者的潜在目标(例如,行人可以用来安全地离开可行驶区域的可行驶区域边界的段)。可行驶区域边界的这种分割可以允许自主车辆预测***推断例如行人在穿过可行驶区域时和/或在穿过可行驶区域时可能朝向的一个或多个离散目标。然后,预测***可以使用这样的目标位置来生成行人穿过可行驶区域的一个或多个轨迹,其可以用于导航自主车辆以避免与行人碰撞。类似地,自主车辆运动规划***可以利用可行驶区域边界的这种分段表示来例如理解不同潜在目标位置之间的空间关系,以处理例如行人突然改变方向的情况。
“可行驶区域”被定义为在不考虑法律限制的情况下自主车辆可以驾驶的区域。可行驶区域可以可选地表示为一个或多个连接的多边形的集合(例如,2维网格)。关于环境中的可行驶区域的信息可以以矢量数据(例如,点、线、多边形等)的形式包括在例如环境的矢量图中。
图1示出了分割可行驶区域边界的示例方法的流程图。如图1所示,***可以接收102对应于自主车辆的环境的可行驶区域信息(例如,地图)。***可以从数据存储器(例如地图数据存储器)接收可行驶区域信息。可行驶区域信息的至少一部分可以存储在自主车辆上的存储器中,可以从远程电子设备(例如,远程服务器)访问,可以经由位于车辆正在行驶的区域中的交通节点发送到自主车辆,可以从一个或多个传感器发送到自主车辆等。
在一些实施例中,可行驶区域地图可以包括具有多条边的一个或多个封闭多边形(其中一些可以彼此相邻)。如本公开中所使用的,“多边形”是指与可行驶区域的区段相关联的映射构造。多边形可以具有物理边和/或非物理边。如本文所使用的,多边形的“物理边”是沿着可行驶区域的边界的边,并且“非物理边”是在可行驶区域内形成分割(例如,垂直分割)的边(非物理边)。图2A示出了两个多边形210和220的示例物理边201a-n(示出为不同的线图案)和示例非物理边202。
返回参考图1,***可以通过使用可行驶区域的多边形的边来识别104逻辑边。逻辑边是与可行驶区域边界的边界并发(或定义)并且由可行驶区域中的多边形的一条或多条物理边形成的边。在某些实施方式中,为了识别逻辑边,***可以首先识别由两个多边形共享的边(即,位于可行驶区域内并分割可行驶区域的非物理边)并丢弃这样的共享边。在这样的示例中,***可以确定第一多边形的第一边是否与第二多边形的第二边精确共线,并且将第一边和第二边标识为第一多边形和第二多边形之间的共享边。然后,***可以可选地将第一多边形和第二多边形的相邻物理边标识为单条逻辑边。例如,对于包括图2A中所示的两个多边形210和220的可行驶区域,***可以丢弃共享边202;以及将相邻边201(c)和201(d)的组合识别为第一逻辑边,并且将相邻边201(n)和201(k)的组合识别为第二逻辑边。图2B类似地示出了针对包括两个多边形210和220的可行驶区域200识别的逻辑边212(1)、212(2)、212(3)、212(4)、212(5)、212(6)和212(7)(通过丢弃虚线非物理边211)。
可以针对可行驶区域内的所有多边形重复该过程。所识别的逻辑边一起形成可行驶区域边界。例如,***可以迭代通过可行驶区域中的所有多边形以识别逻辑边并丢弃共享边。可选地,逻辑边可以形成多个更新的多边形。应当注意,在可行驶区域中形成道路/车道的相对侧的边形成单独的逻辑边。
在各种实施例中,***可以将与一条或多条识别的逻辑边有关的信息存储在一个或多个数据存储中。该信息可以包括例如与逻辑边相关联的标识符、逻辑边的开始和结束位置、关于更新的多边形的信息等。
然后,***可以对所识别的逻辑边进行分类(106)以将它们分组成可行驶区域边界的多个逻辑段。具体地,逻辑段可以包括一条或多条连续的逻辑边。***可以通过首先选择所识别的逻辑边中的一条逻辑边作为初始逻辑边,然后沿着可行驶区域边界(从初始逻辑边开始)顺序地分析每条逻辑边的凹度,直到识别出具有大于阈值凹度的凹度的第一逻辑边,来对逻辑边进行分类。在识别第一逻辑边时,***可以将在这种识别之前分析的逻辑边分类到第一逻辑段中。具体地,第一逻辑段可以包括初始逻辑边、在第一逻辑边之前分析的逻辑边(即,初始逻辑边和第一逻辑边之间的具有小于阈值凹度的凹度的边)以及第一逻辑边的一部分。包括在第一逻辑段中的第一逻辑边的部分包括第一逻辑边的直到第一逻辑边的最高凹度点的区段。新的逻辑段可以从最高凹度点开始。可选地,包括最高凹度点的逻辑边可以完全包括在第一逻辑段或第二逻辑段中。
然后,***可以重复顺序地分析剩余逻辑边的凹度的步骤(现在在第一逻辑边之后顺序地从逻辑边开始),直到确定第二逻辑边具有大于阈值凹度的凹度。然后,***可以将第一逻辑边的剩余部分、在第二逻辑边之前分析的逻辑边(即,第一逻辑边和具有小于阈值凹度的凹度的第一逻辑边之间的边)以及第二逻辑边的一部分分类为第二逻辑段。通过沿着可行驶区域边界(从初始逻辑边开始)顺序地遍历逻辑边直到再次到达初始逻辑边,可以针对可行驶区域边界的所有逻辑边重复该过程。
应当注意,如果大于阈值的凹度发生在初始逻辑边本身内,则***可以将初始逻辑边划分为凹度点的任一侧上的两个或更多个逻辑段。例如,如果两个点之间的逻辑边的凹度大于阈值凹度,则***可以将两个这样的点之间的逻辑边的区段识别为逻辑段。
如果在到达初始逻辑边时未分析可行驶区域边界的所有逻辑边,则***可以识别新的初始逻辑边并重复上述步骤。例如,当可行驶区域包括道路、车道等的相对侧上的逻辑边时,可能是这种情况。
在各种实施方式中,可以基于可行驶区域的特性来确定阈值凹度。这样的特性的示例可以包括但不限于可行驶区域中的特征的类型(诸如弯曲的道路/车道、停车场、交叉路口、道路、城市街区、入口、道路末端、中间区等)、这样的特征的大小、这样的特征的曲率度等。附加地和/或替代地,可以基于在预测、运动规划等期间将由可行驶区域边界的逻辑段表示的目标的性质来确定阈值凹度。例如,如果逻辑段表示行人可以离开可行驶区域的位置(即,当逻辑段表示行人的目标时),则可以确定阈值凹度,使得行人可以沿着连接点的大致最短路径从逻辑段的一个点移动到另一个点而不进入可行驶区域(即,每个逻辑段大致是凸形的)。用于识别表示离开可行驶区域的行人目标的逻辑段的示例阈值凹度可以是约110°-150°、约115°-145°、约120°-140°、约125°-135°、约120°、约125°、约130°、约135°、约140°等;并且可选地,可以基于可行驶区域的类型(例如,交叉路口、入口等)来选择。
例如,对于图2B所示的可行驶区域,***可以识别以下逻辑段:逻辑段AB(在点A和B之间)、逻辑段BC(在点B和C之间)、逻辑段CJ(在点C和J之间)、逻辑段DE(在点D和E之间)、逻辑段EF(在点E和F之间)、逻辑段FG(在点F和G之间)、逻辑段GH(在点G和H之间)、逻辑段HI(在点H和I之间)、逻辑段KL(在点K和L之间)。等;取决于阈值凹度的值。
在图3A所示的示例可行驶区域300中示出了可行驶区域边界的分割,其包括4路交叉路口302。可行驶区域由交叉路口302的所有四个侧上的多边形(仅多边形的一部分被示出为302(a)、302(b)、302(c)和302(d))形成。***可以首先通过丢弃任何共享边(在这种情况下没有)来识别形成可行驶区域边界的多条逻辑边(示出为不同图案化的线)。然后,***可以分析可行驶区域边界的逻辑边以识别逻辑段,如上所述。例如,***可以开始分析在每个多边形的初始逻辑边(310)处开始的可行驶区域边界,直到识别出具有大于阈值的凹度的第一逻辑边和/或逻辑边内的部分是否具有大于阈值的凹度。基于可行驶区域的特性(即,具有特定尺寸和曲率度的交叉路口)和由逻辑段表示的目标的性质(行人可以离开可行驶区域的位置)来选择阈值凹度。如图3B所示,由于段321不包括具有大于阈值的凹度的逻辑边,因此***可以将段321识别为第一逻辑段。然后,***可以继续分析在多边形302(b)的新的初始逻辑边处开始的可行驶区域边界,以将段322识别为下一逻辑段,并且类似地将逻辑段323和324识别为可行驶区域边界的各个逻辑段。一旦行人在逻辑段内,以这种方式识别的逻辑段321、322、323和324就可以为交叉路口提供安全岛。这里,如果每个段中的逻辑边的凹度不超过阈值,则4路交叉路口在可行驶区域边界中形成四个逻辑段。类似地,n路交叉路口可以在可行驶区域边界中形成“n”个逻辑段。
类似地,对于图4A中所示的包括城市街区402的示例可行驶区域400。可行驶区域由多边形401a-n形成,并且***可以首先通过丢弃多边形401(a)和401(b)之间的共享边411(a)和411(b)来识别逻辑边410(a)和410(b)(在道路/车道的相对侧上)。类似地,可以定义其他逻辑边410a-n,其中一些被示出为不同的图案化线(例如,通过丢弃其他共享边,诸如多边形401(b)和401(c)之间的那些)。然后,***可以分析可行驶区域边界的逻辑边以识别逻辑段,如上所述。例如,***可以通过例如在逻辑边410(a)处开始来开始分析城市街区402周围的可行驶区域边界,直到识别出具有大于阈值的凹度的第一逻辑边。如图4B所示,由于形成城市街区402周围的可行驶区域边界的逻辑边不具有在任何点处(即,当点412处的凹度小于阈值时)具有大于阈值的凹度的任何部分,因此***可以将完整的城市街区边界识别为第一逻辑段421。类似地,***可以识别可行驶区域边界的逻辑段422、423、424和425。一旦行人在逻辑段内,以此方式识别的逻辑段421、422、423、424和425(以及示出为不同图案化线的那些逻辑段)就可以提供安全岛。
基于可行驶区域的特性(即,具有特定尺寸和曲率度的可行驶区域边界的特征)和由逻辑段表示的目标的性质(行人可以离开可行驶区域的位置)来选择阈值凹度。这样的阈值凹度忽略了可行驶区域边界中的小角落和裂缝,使得行人仍然可以安全地从任何一点移动到另一点而不进入可行驶区域和/或通过进入可行驶区域而不构成安全隐患(例如,当行人仅需要进入可行驶区域的可忽略的距离、停留在路缘的阈值距离内等时)。为了确定阈值凹度,***可以考虑诸如逻辑段的大小、逻辑段的曲率度、曲率上的两个点之间的路径在可行驶区域内侵占的距离等因素。
在图4A的场景中,如果逻辑边的一部分的凹度大于阈值凹度(例如,包括点412的逻辑边401(k)),则***可以通过跨凹度点412划分该逻辑边来将城市街区周围的可行驶区域边界分类为两个单独的逻辑段421(a)和421(b)(如图4C所示)。这是因为行人将需要以不可忽略的方式进入可行驶区域以从点A移动到点B(其包含点412)。
为了使用逻辑段识别行人的目标位置,使得行人不需要不安全地进入可行驶区域以从逻辑段上的一个点穿过到另一个点,上述方法自动定义逻辑段,使得道路(或车道)的不同侧具有不同的逻辑段。例如,当识别出逻辑边时,在道路的不同侧上形成不同的逻辑段(图4B中所示的逻辑段421、422和423)。***可以以类似的方式分割入口周围的可行驶区域边界(从可行驶区域分支的未绘制区域,诸如车道、私人道路,其旨在在其上行驶但不是绘制的可行驶区域的一部分)。例如,图4D示出了可行驶区域400内的城市街区402,其包括入口404和405。***可以首先通过丢弃多边形401(a)和401(b)、401(b)和401(c)、以及401(c)和401(a)之间的共享边411(a)、411(b)和411(c)来识别逻辑边,诸如逻辑边410(a)和410(b)…410(n)(示出为不同图案化的线)。如图4E所示,***可以通过划分跨越由入口形成的凹面的逻辑边来将城市街区402周围的可行驶区域边界划分为逻辑段421(a)和421(b)。未绘制区域(诸如入口)周围的逻辑段未连接(如间隙422(a)和422(b)所示)。这样,自主车辆可以使用可行驶区域边界的逻辑段之间的间隙来确定存在从未绘制区域进入可行驶区域的入口和/或出口。
可行驶区域中的中间区(分离相对和/或相邻交通流的结构或部分)周围的可行驶区域边界可以类似地被分割成逻辑段(即,使用上述关于划分城市街区周围的可行驶区域边界的方法)。类似的原理可用于识别围绕任何其他不可行驶陆地区域的可行驶区域边界中的逻辑段,不可行驶陆地区域基本上在所有侧上被可行驶区域包围。
图5中示出了包括尽头路(cul-de-sac)502的另一示例可行驶区域500。可行驶区域由多边形501形成,并且***可以首先识别多条逻辑边(示出为不同图案化的线)。然后,***可以分析尽头路周围的可行驶区域边界的逻辑边,以将逻辑边分成一个或多个逻辑段,如上所述。例如,***可以从初始点510(a)开始分析尽头路502周围的可行驶区域边界,直到识别出第一点510(b),使得点510(a)和510(b)之间的逻辑边510的部分具有大于阈值的凹度。然后,***可以定义包括点510(a)和510(b)之间的逻辑边的第一逻辑段521(a)。类似地,***可以识别逻辑边510的各个点之间的逻辑段521(b)、521(c)和521(d),一旦行人在逻辑段内,逻辑边510就可以提供安全岛。在这样的实施方式中,阈值凹度可以被确定为例如将每个逻辑段的曲率角保持在最佳值以下(例如,所创建的逻辑段的数量与行人为了在逻辑段的两个点之间移动而需要去的距离(在可行驶区域内)之间的平衡)。
类似于图5A的场景,当可行驶区域包括在可行驶区域地图的边处停止的车道或道路时(如图6A所示),***可以使用上述方法将围绕这些边的可行驶区域600边界划分为如图6B所示的段610、611和612。
在各种实施例中,***可以将与一个或多个识别的逻辑段有关的信息存储在一个或多个数据存储中。该信息可以包括例如与逻辑段相关联的标识符、逻辑段中包括的逻辑边、逻辑段的开始和结束位置、与逻辑段相关联的可行驶区域的标识符等。
在各种实施例中,***可以为可行驶区域创建108可行驶区域数据对象。这样的数据对象是指在可行驶区域的逻辑段方面的可行驶的数据表示。例如,可行驶区域数据对象可以是数据结构或其他数据构造。***可以向可行驶数据对象分配唯一标识符。唯一标识符可以是随机或伪随机生成的。可替代地,唯一标识符可以由***顺序地或以其他方式分配。
***可以将形成可行驶区域边界的逻辑段的列表添加到可行驶区域数据对象。列表可以包括例如与每个逻辑段相关联的标识符、每个逻辑段中包括的逻辑边、可行驶区域边界上的每个逻辑段的开始和结束位置等。例如,***可以为每个逻辑段分配唯一的段标识符,并且可以将该唯一的逻辑段标识符添加到可行驶区域数据对象。
在各种实施例中,***可以将可行驶区域数据对象存储在一个或多个数据存储中,使得其可由自主车辆的一个或多个***或子***访问,诸如例如预测***、感知***、运动规划***等。***还可以将可行驶区域数据对象添加到一个或多个地图,例如道路网络地图、可行驶区域地图等。这样,当加载地图时,可以向***用户呈现与可行驶区域数据对象有关的信息。例如,可以经由一个或多个显示设备可视地显示可行驶区域的逻辑段。在本公开的范围内预期与可行驶区域数据对象有关的信息的其他呈现。
可行驶区域数据对象可以由自主车辆以各种方式使用。例如,自主车辆的预测***可以使用可行驶区域数据对象内的信息来预测在可行驶区域内检测到的不确定使用者(诸如行人)的行为或轨迹。作为另一示例,自主车辆的运动规划***可以使用可行驶区域数据对象内的信息来输出用于穿过可行驶区域的自主车辆轨迹。例如,预测***可以预测可行驶区域中的特定行人将可能朝向可行驶区域边界的特定逻辑段前进,并且可以基于该行为做出关于自主车辆的操作的一个或多个决定。
作为另一示例,自主车辆可以利用可行驶区域数据对象来预测和/或监视不反映通过交叉路口的绘制路径的其他车辆的轨迹。例如,可以使用未绘制的区域周围的两个逻辑段来推断另一车辆可以进入和/或离开的未绘制入口(例如,车道)的存在。作为另一示例,自主车辆可以逐交叉路口地跟踪各种统计,以帮助自主车辆更好地理解其环境。
图7是示出包括经由网络710与一个或多个数据存储702和/或一个或多个服务器703通信的自主车辆701的示例***700的框图。尽管示出了一个自主车辆,但是多个自主车辆可以通过网络710彼此耦合和/或耦合到数据存储702和/或服务器703。网络710可以是任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如互联网)、蜂窝网络、卫星网络或其组合,并且可以是有线的或无线的。(一个或多个)数据存储702可以是任何种类的数据存储,诸如但不限于地图数据存储、交通信息数据存储、用户信息数据存储、兴趣点数据存储或任何其他类型的内容数据存储。服务器703可以是任何种类的服务器或服务器集群,诸如但不限于Web或云服务器、应用服务器、后端服务器或其组合。
如图7所示,自主车辆701可以包括传感器***711、车载计算设备712、通信接口714和用户界面715。自主车辆701还可以包括车辆中包括的某些组件(例如,如图10所示),诸如发动机、车轮、方向盘、变速器等,其可以由车载计算设备712使用各种通信信号和/或命令来控制,诸如例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
传感器***711可以包括耦合到自主车辆701和/或包括在自主车辆701内的一个或多个传感器。这种传感器的示例包括但不限于LiDAR***、无线电检测和测距(RADAR)***、激光检测和测距(LADAR)***、声音导航和测距(SONAR)***、一个或多个相机(例如,可见光谱相机、红外相机等)、温度传感器、位置传感器(例如,全球定位***(GPS)等)、位置传感器、燃料传感器、运动传感器(例如,惯性测量单元(IMU)等)、湿度传感器、占用传感器等。传感器数据可以包括描述对象在自主车辆701的周围环境内的位置的信息、关于环境本身的信息、关于自主车辆701的运动的信息、关于自主车辆的路线的信息等。当自主车辆701在表面上行驶时,至少一些传感器可以收集与该表面有关的数据。
LiDAR***可以包括传感器,该传感器被配置为感测或检测自主车辆701所在的环境中的对象和/或行动者。通常,LiDAR***是结合光学遥感技术的设备,该光学遥感技术可以通过用光照射目标来测量到目标的距离和/或目标(例如,地面)的其他属性。作为示例,LiDAR***可以包括被配置为发射激光脉冲的激光源和/或激光扫描仪以及被配置为接收激光脉冲的反射的检测器。例如,LiDAR***可以包括由旋转镜反射的激光测距仪,并且在一个、两个或更多个维度上围绕正在数字化的场景扫描激光,以指定的角度间隔收集距离测量值。例如,LiDAR***可以被配置为发射激光脉冲作为光束。可选地,可以扫描波束以生成二维或三维范围矩阵。在示例中,范围矩阵可以用于通过测量脉冲的传输和相应反射信号的检测之间的时间延迟来确定到给定车辆或表面的距离。在一些示例中,多于一个LiDAR***可以耦合到第一车辆以扫描第一车辆的完整360°地平线。LiDAR***可以被配置为向计算设备提供表示已经被激光击中的(一个或多个)表面的点数据云。除了范围之外,这些点可以由LiDAR***在方位角和仰角方面表示,其可以被转换为相对于附接到车辆的局部坐标系的(X,Y,Z)点数据。另外,LiDAR可以被配置为提供从表面反射的光或激光的强度值,其可以指示表面类型。在示例中,LiDAR***可以包括诸如光(例如,激光)源、扫描仪和光学器件、光电检测器和接收器电子器件以及位置和导航***的组件。在示例中,LiDAR***可以被配置为使用紫外(UV)、可见光或红外光来对对象进行成像,并且可以与包括非金属对象的宽范围的目标一起使用。在一个示例中,窄激光束可以用于以高分辨率映射对象的物理特征。
应当注意,用于收集与表面有关的数据的LiDAR***可以包括在除自主车辆701之外的***中,诸如但不限于其他车辆(自主或驾驶)、机器人、卫星等。
图8示出了用于车辆801(诸如图1的自主车辆的自主车辆701)的示例***架构。车辆801可以包括发动机或马达802和用于测量车辆和/或其环境的各种参数的各种传感器。两种类型的车辆共有的操作参数传感器包括例如:位置传感器836,诸如加速度计、陀螺仪和/或惯性测量单元;速度传感器838;以及里程表传感器840。车辆801还可以具有时钟842,***架构使用时钟842来确定操作期间的车辆时间。时钟842可以被编码到交通工具车载计算设备812中。它可以是单独的设备,或者多个时钟可以是可用的。
车辆801还可以包括操作以收集关于车辆行驶的环境的信息的各种传感器。这些传感器可以包括例如:位置传感器860,诸如GPS设备;对象检测传感器,诸如一个或多个相机862;激光雷达传感器***864;和/或雷达和/或声纳***866。传感器还可以包括环境传感器868,诸如降水传感器和/或环境温度传感器。对象检测传感器可以使得车辆801能够在任何方向上检测在车辆801的给定距离或范围内的对象,而环境传感器收集关于车辆的行驶区域内的环境状况的数据。***架构还将包括用于捕获环境的图像的一个或多个相机862。
在操作期间,将信息从传感器传送到车载计算设备812。车载计算设备812分析由传感器捕获的数据,并且可选地基于分析的结果来控制车辆的操作。例如,车载计算设备812可以经由制动控制器822来控制制动;经由转向控制器824的方向;经由节气门控制器826(在气体动力车辆中)或马达速度控制器828(诸如电动车辆中的电流水平控制器)的速度和加速度;差速档位控制器830(在具有变速器的车辆中);和/或其他控制器,诸如辅助设备控制器854。
地理位置信息可以从位置传感器260传送到车载计算设备812,车载计算设备812然后可以访问对应于位置信息的环境的地图以确定环境的已知固定特征,诸如街道、建筑物、停车标志和/或停车/行进信号。从相机862捕获的图像和/或从诸如LiDAR***864的传感器捕获的对象检测信息从那些传感器传送到车载计算设备812。对象检测信息和/或捕获的图像可以由车载计算设备812处理,以检测车辆801附近的对象。另外或替代地,车辆801可以将任何数据发送到远程服务器***703(图1)以进行处理。用于基于传感器数据和/或捕获的图像进行对象检测的任何已知或将要已知的技术可以用于本文档中公开的实施例中。
车载计算设备812可以获得、检索和/或创建地图数据,该地图数据提供关于自主车辆801的周围环境的详细信息。车载计算设备812还可以基于例如三维位置数据(例如,来自GPS的数据)、三维取向数据、预测位置等来确定AV在环境中的位置、取向、姿势等(定位)。例如,车载计算设备812可以接收GPS数据以确定AV的纬度、经度和/或高度位置。其他位置传感器或***(诸如基于激光的定位***、惯性辅助GPS或基于相机的定位)也可用于识别车辆的位置。车辆的位置可以包括绝对地理位置,诸如纬度、经度和高度,以及相对位置信息,诸如相对于紧邻其周围的其他汽车的位置,其通常可以以比绝对地理位置更少的噪声来确定。地图数据可以提供关于以下的信息:不同道路、路段、车道段、建筑物或其他项目的身份和位置;交通车道的位置、边界和方向(例如,停车车道、转弯车道、自行车车道或特定道路内的其它车道的位置和方向)以及与交通车道相关联的元数据;交通控制数据(例如,标牌、交通灯或其他交通控制设备的位置和指令);和/或提供帮助车载计算设备812分析自主车辆801的周围环境的信息的任何其他地图数据。
在某些实施例中,地图数据还可以包括参考路径信息,该参考路径信息对应于沿着一个或多个车道的车辆行驶的共同模式,使得对象的运动被约束到参考路径(例如,对象通常在其上行驶的交通车道内的位置)。这样的参考路径可以是预定义的,诸如行车道的中心线。可选地,可以基于在一段时间内对车辆或其他对象的历史观察来生成参考路径(例如,用于直线行驶、车道合并、转弯等的参考路径)。
在某些实施例中,车载计算设备812还可以包括和/或可以接收与用户的行程或路线有关的信息、关于路线的实时交通信息等。
车载计算设备812可以包括路线规划(routing)控制器831和/或可以与路线规划控制器831通信,路线规划控制器831为自主车辆生成从起始位置到目的地位置的导航路线。路线规划控制器831可以访问地图数据存储以识别车辆可以在其上行驶以从起始位置到达目的地位置的可能路线和路段。路线规划控制器831可以对可能的路线进行评分并且识别到达目的地的优选路线。例如,路线规划控制器831可以生成使在路线期间行进的欧几里得距离或其他成本函数最小化的导航路线,并且可以进一步访问可以影响在特定路线上行进所花费的时间量的交通信息和/或估计。取决于实施方式,路线规划控制器831可以使用各种路线规划方法(诸如Dijkstra算法、Bellman-Ford算法或其他算法)来生成一个或多个路线。路线规划控制器831还可以使用交通信息来生成反映路线的预期条件(例如,一周中的当前日期或一天中的当前时间等)的导航路线,使得针对在高峰时间期间行进而生成的路线可以与针对在深夜行进而生成的路线不同。路线规划控制器831还可以生成到目的地的多于一个导航路线,并将这些导航路线中的多于一个发送给用户以供用户从各种可能的路线中选择。
在各种实施例中,车载计算设备812可以确定自主车辆801的周围环境的感知信息。基于由一个或多个传感器提供的传感器数据和所获得的位置信息,车载计算设备812可以确定自主车辆801的周围环境的感知信息。感知信息可以表示普通驾驶员在车辆的周围环境中将感知到的内容。感知数据可以包括与自主车辆801的环境中的一个或多个对象有关的信息。例如,车载计算设备812可以处理传感器数据(例如,LiDAR或RADAR数据、相机图像等),以便识别自主车辆801的环境中的对象和/或特征。对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。车载计算设备812可以使用任何现在或以后已知的对象识别算法、视频跟踪算法和计算机视觉算法(例如,在多个时间段内逐帧迭代地跟踪对象)来确定感知。
在一些实施例中,车载计算设备812还可以针对环境中的一个或多个识别的对象确定对象的当前状态。对于每个对象,状态信息可以包括但不限于:当前位置;当前速度和/或加速度、当前航向;当前姿势;当前形状、大小或足迹;类型(例如,车辆相对行人相对自行车相对静态对象或障碍物);和/或其他状态信息。
车载计算设备812可以执行一个或多个预测和/或预报操作。例如,车载计算设备812可以预测一个或多个对象的未来位置、轨迹和/或动作。例如,车载计算设备812可以至少部分地基于感知信息(例如,包括如下所述确定的估计形状和姿态的每个对象的状态数据)、位置信息、传感器数据和/或描述对象、自主车辆801、周围环境和/或它们的关系的过去和/或当前状态的任何其他数据来预测对象的未来位置、轨迹和/或动作。例如,如果对象是车辆并且当前驾驶环境包括交叉路口,则车载计算设备812可以预测对象是否可能直接向前移动或转弯。如果感知数据指示交叉路口没有交通灯,则车载计算设备812还可以预测车辆是否必须在进入交叉路口之前完全停止。
在各种实施例中,车载计算设备812可以确定自主车辆的运动计划。例如,车载计算设备812可以基于感知数据和/或预测数据来确定自主车辆的运动计划。具体地,给定关于邻近对象的未来位置的预测和其他感知数据,车载计算设备812可以确定自主车辆801的运动计划,该运动计划相对于在其未来位置处的对象最佳地导航自主车辆。
在一个或多个实施例中,车载计算设备812可以接收预测并做出关于如何处理自主车辆801的环境中的对象和/或行动者的决定。例如,对于特定行动者(例如,具有给定速度、方向、转弯角度等的车辆),车载计算设备812基于例如交通状况、地图数据、自主车辆的状态等来决定是否超车、让步、停止和/或超过。此外,车载计算设备812还规划自主车辆801在给定路线上行驶的路径以及驾驶参数(例如,距离、速度和/或转弯角度)。也就是说,对于给定对象,车载计算设备812决定对对象做什么并确定如何做。例如,对于给定对象,车载计算设备812可以决定通过对象,并且可以确定是在对象的左侧还是右侧通过(包括诸如速度的运动参数)。车载计算设备812还可以评估检测到的对象与自主车辆801之间的碰撞的风险。如果风险超过可接受的阈值,则可以确定如果自主车辆遵循限定的车辆轨迹和/或实现在预定义的时间段(例如,N毫秒)内执行的一个或多个动态生成的紧急操纵,则是否可以避免碰撞。如果可以避免碰撞,则车载计算设备812可以执行一个或多个控制指令以执行谨慎的操纵(例如,温和地减速、加速、改变车道或转弯)。相反,如果无法避免碰撞,则车载计算设备812可以执行用于执行紧急操纵(例如,制动和/或改变行驶方向)的一个或多个控制指令。
如上所述,生成关于自主车辆的移动的规划和控制数据以供执行。车载计算设备812可以例如经由制动控制器来控制制动;经由转向控制器的方向;经由节气门控制器(在气体动力车辆中)或马达速度控制器(诸如电动车辆中的电流水平控制器)的速度和加速度;差速档位控制器(在具有变速器的车辆中);和/或其他控制器。
在本文档中讨论的各种实施例中,描述可以陈述车辆或包括在车辆中(例如,在车载计算***中)的控制器可以实现编程指令,该编程指令使得车辆和/或控制器做出决定并使用该决定来控制车辆的操作。然而,实施例不限于这种布置,因为在各种实施例中,分析、决策制定和/或操作控制可以全部或部分地由与车辆的车载计算设备和/或车辆控制***电子通信的其他计算设备来处理。这样的其他计算设备的示例包括与乘坐在车辆中的人相关联的电子设备(诸如智能电话),以及经由无线通信网络与车辆电子通信的远程服务器。任何这样的设备的处理器可以执行下面将讨论的操作。
返回参考图7,通信接口714可以被配置为允许自主车辆701与外部***(例如,外部设备、传感器、其他车辆、服务器、数据存储、数据库等)之间的通信。通信接口714可以利用任何现在或以后已知的协议、保护方案、编码、格式、封装等,例如但不限于Wi-Fi、红外链路、蓝牙等。用户界面***715可以是在车辆701内实现的***设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
图9描绘了可以包括在***的任何电子组件中的内部硬件的示例,诸如AV的内部处理***、外部监测和报告***或远程服务器。电气总线900用作互连硬件的其他所示组件的信息高速公路。处理器905是***的中央处理设备,被配置为执行执行编程指令所需的计算和逻辑操作。如本文档和权利要求书中所使用的,术语“处理器”和“处理设备”可以指代单个处理器或共同执行一组操作的一组处理器中的任何数量的处理器,诸如中央处理单元(CPU)、图形处理单元(GPU)、远程服务器或这些的组合。只读存储器(ROM)、随机存取存储器(RAM)、闪存、硬盘驱动器和能够存储电子数据的其他设备构成存储器设备925的示例。存储器设备可以包括单个设备或跨其存储数据和/或指令的设备的集合。本发明的各种实施例可以包括包含编程指令的计算机可读介质,编程指令被配置为使得一个或多个处理器执行在先前附图的上下文中描述的功能。
可选的显示界面930可以允许来自总线900的信息以视觉、图形或字母数字格式显示在显示设备935上,例如在车辆的仪表板内显示***上。还可以提供音频接口和音频输出(诸如扬声器)。与外部设备的通信可以使用各种通信设备940(诸如无线天线、射频识别(RFID)标签和/或短程或近场通信收发器)来发生,其中的每一个可以可选地经由一个或多个通信***与设备的其他组件通信地连接。(一个或多个)通信设备940可经配置以通信地连接到通信网络,例如因特网、局域网或蜂窝电话数据网络。
硬件还可以包括用户界面传感器945,其允许从诸如键盘或小键盘、操纵杆、触摸屏、触摸板、遥控器、定点设备和/或麦克风的输入设备950接收数据。还可从可捕获视频和/或静止图像的相机920接收数字图像帧。***还可以从诸如加速度计、陀螺仪或惯性测量单元的运动和/或位置传感器970接收数据。***还可以从LiDAR***960接收数据,诸如本文档中先前描述的LiDAR***。
上面公开的特征和功能以及替代方案可以组合到许多其他不同的***或应用中。各种组件可以在硬件或软件或嵌入式软件中实现。本领域技术人员可以进行各种目前未预见或未预期的替代、修改、变化或改进,其中的每一个也旨在由所公开的实施例涵盖。
与上面提供的公开内容相关的术语包括:
“自动化设备”或“机器人设备”是指包括处理器、编程指令和一个或多个组件的电子设备,一个或多个组件基于来自处理器的命令可以在最少或没有人为干预的情况下执行至少一些操作或任务。例如,自动化设备可以执行一个或多个自动功能或功能集。这样的操作、功能或任务的示例可以包括但不限于导航、运输、驾驶、递送、装载、卸载、医疗相关过程、构造相关过程等。示例自动化设备可以包括但不限于自主车辆、无人机和其他自主机器人设备。
术语“车辆”是指能够承载一个或多个人类乘员和/或货物并且由任何形式的能量提供动力的任何移动形式的运输工具。术语“车辆”包括但不限于汽车、卡车、货车、火车、自主车辆、飞机、空中无人机等。“自主车辆”是具有处理器、编程指令和传动系组件的车辆,所述编程指令和传动系组件可由处理器控制而不需要人类操作者。自主车辆可以是完全自主的,因为它对于大多数或所有驾驶条件和功能不需要人类操作者,或者它可以是半自主的,因为在某些条件下或对于某些操作可能需要人类操作者,或者人类操作者可以超控车辆的自主***并且可以控制车辆。自主车辆还包括其中自主***增强车辆的人工操作的车辆,诸如具有驾驶员辅助转向、速度控制、制动、停车和其他***的车辆。
在本文档中,术语“街道”、“车道”和“交叉路口”通过示例的方式示出,其中车辆在一个或多个道路上行驶。然而,实施例旨在包括其他位置(诸如停车区域)中的车道和交叉路口。另外,对于被设计为在室内使用的自主车辆(诸如仓库中的自动拣选设备),街道可以是仓库的走廊,并且车道可以是走廊的一部分。如果自主车辆是无人机或其他飞行器,则术语“街道”可以表示气道,并且车道可以是气道的一部分。如果自主车辆是船只,则术语“街道”可以表示水路,并且车道可以是水路的一部分。
“电子设备”或“计算设备”是指包括处理器和存储器的设备。每个设备可以具有其自己的处理器和/或存储器,或者处理器和/或存储器可以与虚拟机或容器布置中的其他设备共享。存储器将包含或接收编程指令,该编程指令在由处理器执行时使电子设备根据编程指令执行一个或多个操作。
术语“存储器”、“存储器设备”、“数据存储”、“数据存储设施”等各自是指其上存储计算机可读数据、编程指令或两者的非暂时性设备。除非另有特别说明,否则术语“存储器”、“存储器设备”、“数据存储”、“数据存储设施”等旨在包括单个设备实施例、其中多个存储器设备一起或共同存储一组数据或指令的实施例、以及这些设备内的各个扇区。
当指代由车辆感知***检测到或由模拟***模拟的对象时,术语“对象”旨在涵盖静止对象和移动(或潜在移动)的行动者,除非通过术语“行动者”或“静止对象”的术语另有具体说明。如本文所使用的,不确定的道路使用者可以包括行人、骑自行车的人、旱冰鞋上的个人、冰刀上的个人、轮椅上的个人或一般的人等。
术语“处理器”和“处理设备”是指被配置为执行编程指令的电子设备的硬件组件。除非另有特别说明,否则单数术语“处理器”或“处理设备”旨在包括单个处理设备实施例和多个处理设备一起或共同执行过程的实施例。
在本文档中,术语“通信链路”和“通信路径”意指第一设备经由其向一个或多个其他设备发送通信信号和/或从一个或多个其他设备接收通信信号的有线或无线路径。如果设备能够经由通信链路发送和/或接收数据,则设备“通信地连接”。“电子通信”是指经由两个或更多个电子设备之间的一个或多个信号的数据传输,无论是通过有线还是无线网络,并且无论是直接还是间接地经由一个或多个中间设备。
术语“凹度”是指可行驶区域边界的凹形区段的角曲率,其中凹形区段的曲线从可行驶区域面向外。
术语“道路网络地图”是指一个或多个道路的图形表示。该表示可以包括与车道、车道段、车道边界、交通灯、让步关系和/或其他交通或道路相关信息有关的信息。
在本文档中,当诸如“第一”和“第二”的顺序的相对术语用于修饰名词时,这种使用仅旨在将一个项与另一个项区分开,并且不旨在要求顺序的排序,除非特别说明。
另外,当使用时,诸如“竖直”和“水平”或“前”和“后”的相对位置术语旨在相对于彼此并且不需要是绝对的,并且仅指代与这些术语相关联的设备的一个可能位置,这取决于设备的取向。当本文档使用术语“前”、“后”和“侧”来指代车辆的区域时,它们指代相对于车辆的默认行驶区域的车辆区域。例如,汽车的“前部”是与车辆的尾灯相比更靠近车辆的前照灯的区域,而汽车的“后部”是与车辆的前照灯相比更靠近车辆的尾灯的区域。此外,术语“前”和“后”不一定分别限于面向前或面向后的区域,而是还包括比后更靠近前的侧区域,反之亦然。车辆的“侧”旨在指代在车辆的最前面部分与最后面部分之间的面向侧的区段。
Claims (19)
1.一种用于控制自主车辆的导航以穿过可行驶区域的方法,所述方法包括由处理器:
接收与所述自主车辆的环境中的可行驶区域有关的信息,其中,所述可行驶区域包括多个多边形;
识别形成所述可行驶区域的边界的多条逻辑边;
顺序地,从所述多条逻辑边中的初始逻辑边开始并且沿着所述可行驶区域的所述边界,分析所述多条逻辑边中的每条逻辑边的凹度,直到识别出具有大于阈值的凹度的第一逻辑边,所述阈值基于包括在所述可行驶区域中的特征的至少一个或多个特性来确定,所述一个或多个特性包括:所述特征的类型;所述特征的大小;或所述特征的曲率度;
在识别出所述第一逻辑边时,创建所述可行驶区域的所述边界的第一逻辑段,所述第一逻辑段包括:
所述多条逻辑边中的所述初始逻辑边,
位于所述多条逻辑边中的所述初始逻辑边与所述第一逻辑边之间的任何逻辑边,以及
所述第一逻辑边的至少一部分;
重复顺序分析和创建步骤,直到所述多条逻辑边中的每条逻辑边已经被分类到所述可行驶区域的所述边界的多个逻辑段中的一个逻辑段中,所述多个逻辑段中的每个逻辑段表示行动者在穿过所述可行驶区域时在所述可行驶区域边界上的潜在目标;
创建所述可行驶区域的数据表示,所述数据表示包括所述多个逻辑段的指示;
将所述数据表示添加到包括所述可行驶区域的道路网络地图;以及
使用所述数据表示来控制所述自主车辆的导航以穿过所述可行驶区域。
2.根据权利要求1所述的方法,其中,使用所述数据表示来控制所述自主车辆的导航以穿过所述可行驶区域包括:
预测行人穿过所述可行驶区域的轨迹;以及
使用所述轨迹来控制所述自主车辆的导航,以避免在所述行人穿过所述可行驶区域时与所述行人碰撞。
3.根据权利要求1所述的方法,还包括使用所述数据表示来识别从所述可行驶区域进入或离开所述环境的未绘制区域的入口或出口。
4.根据权利要求1所述的方法,还包括通过以下方式识别所述多条逻辑边:
识别所述可行驶区域中的一条或多条共享边,所述一条或多条共享边中的每条共享边是所述多个多边形中的两个多边形的共线边;以及
丢弃所标识的一条或多条共享边。
5.根据权利要求4所述的方法,还包括:
标识所述多个多边形中的所述两个多边形的相邻边;以及
组合所述相邻边以形成单条逻辑边。
6.根据权利要求1所述的方法,其中,所述阈值为约120°至约140°,并且被确定为使得行人能够遵循最短路径从所述可行驶区域的所述边界的逻辑段的一个点移动到所述逻辑段上的另一点,而不进入所述可行驶区域超过阈值距离。
7.根据权利要求1所述的方法,其中,所述阈值被确定为使得所述可行驶区域内的车道的相对侧包括不同的逻辑段。
8.根据权利要求1所述的方法,其中:
所述环境包括在所有侧上基本上由所述可行驶区域围绕的区域;以及
所述方法还包括:当所述可行驶区域的所述边界不包括具有大于所述阈值的凹度的一条或多条逻辑边时,形成所述可行驶区域的所述边界的单个逻辑段。
9.根据权利要求1所述的方法,其中:
所述环境包括n路交叉路口;并且
所述方法还包括形成可行驶区域的所述边界的n个逻辑段。
10.一种用于控制自主车辆的导航以穿过可行驶区域的***,所述***包括:
处理器;以及
包括一个或多个编程指令的非暂时性计算机可读介质,所述一个或多个编程指令在由处理器执行时将使所述处理器:
接收与所述自主车辆的环境中的可行驶区域有关的信息,其中,所述可行驶区域包括多个多边形,
识别形成所述可行驶区域的边界的多条逻辑边,
顺序地,从所述多条逻辑边中的初始逻辑边开始并且沿着所述可行驶区域的所述边界,分析所述多条逻辑边中的每条逻辑边的凹度,直到识别出具有大于阈值的凹度的第一逻辑边,所述阈值基于包括在所述可行驶区域中的特征的至少一个或多个特性来确定,所述一个或多个特性包括:所述特征的类型;所述特征的大小;或所述特征的曲率度,
在识别出所述第一逻辑边时,创建所述可行驶区域的所述边界的第一逻辑段,所述第一逻辑段包括:
所述多条逻辑边中的所述初始逻辑边,
位于所述多条逻辑边中的所述初始逻辑边与所述第一逻辑边之间的任何逻辑边,以及
所述第一逻辑边的至少一部分;
重复顺序分析和创建步骤,直到所述多条逻辑边中的每条逻辑边已被分类到所述可行驶区域的所述边界的多个逻辑段中的一个逻辑段中,所述多个逻辑段中的每个逻辑段表示行动者在穿过所述可行驶区域时在所述可行驶区域边界上的潜在目标,
创建所述可行驶区域的数据表示,所述数据表示包括所述多个逻辑段的指示,以及
将所述数据表示添加到包括所述可行驶区域的道路网络地图,以及
使用所述数据表示来控制所述自主车辆的导航以穿过所述可行驶区域。
11.根据权利要求10所述的***,其中,在由处理器执行时将使所述处理器使用所述数据表示来控制所述自主车辆的导航以穿过所述可行驶区域的所述编程指令包括使得所述处理器进行以下操作的编程指令:
预测行人穿过所述可行驶区域的轨迹;以及
使用所述轨迹来控制所述自主车辆的导航,以避免在所述行人穿过所述可行驶区域时与所述行人碰撞。
12.根据权利要求10所述的***,还包括编程指令,所述编程指令在由处理器执行时将使所述处理器使用所述数据表示来识别从所述可行驶区域进入或离开所述环境的未绘制区域的入口或出口。
13.根据权利要求10所述的***,还包括编程指令,所述编程指令在由处理器执行时将使所述处理器通过以下方式识别所述多条逻辑边:
识别所述可行驶区域中的一条或多条共享边,所述一条或多条共享边中的每条共享边是所述多个多边形中的两个多边形的共线边;以及
丢弃所标识的一条或多条共享边。
14.根据权利要求13所述的***,还包括编程指令,所述编程指令在由处理器执行时将使所述处理器:
标识所述多个多边形中的所述两个多边形的相邻边;以及
组合所述相邻边以形成单条逻辑边。
15.根据权利要求10所述的***,其中,所述阈值为约120°至约140°,并且被确定为使得行人能够遵循最短路径从所述可行驶区域的所述边界的逻辑段的一个点移动到所述逻辑段上的另一点,而不进入所述可行驶区域超过阈值距离。
16.根据权利要求10所述的***,还包括编程指令,所述编程指令在由处理器执行时将使所述处理器:
识别所述初始逻辑边的具有大于所述阈值的第一凹度的部分;以及
在识别所述部分后,将所述初始逻辑边划分为两个逻辑段。
17.根据权利要求10所述的***,其中:
所述环境包括在所有侧上基本上由所述可行驶区域围绕的区域;并且
所述***还包括编程指令,所述编程指令在由所述处理器执行时,将使所述处理器在所述可行驶区域的所述边界不包括具有大于所述阈值的凹度的一条或多条逻辑边时形成所述可行驶区域的所述边界的单个逻辑段。
18.根据权利要求10所述的***,其中:
所述环境包括n路交叉路口;并且
所述***还包括编程指令,所述编程指令在由所述处理器执行时将使所述处理器形成所述可行驶区域的所述边界的n个逻辑段。
19.一种用于控制自主车辆的导航以穿过可行驶区域的***,所述***包括:
处理器;以及
包括一个或多个编程指令的非暂时性计算机可读介质,所述一个或多个编程指令在由处理器执行时将使所述处理器:
接收与所述自主车辆的环境中的可行驶区域有关的信息,其中,所述可行驶区域包括多个多边形;
识别形成所述可行驶区域的边界的多条逻辑边;
顺序地,从所述多条逻辑边中的初始逻辑边开始并且沿着所述可行驶区域的所述边界,分析所述多条逻辑边中的每条逻辑边的凹度,直到识别出具有大于阈值的凹度的第一逻辑边;
在识别出所述第一逻辑边时,创建所述可行驶区域的所述边界的第一逻辑段,所述第一逻辑段包括:
所述多条逻辑边中的所述初始逻辑边,
位于所述多条逻辑边中的所述初始逻辑边与所述第一逻辑边之间的任何逻辑边,以及
所述第一逻辑边的至少一部分;
识别具有大于所述阈值的第一凹度的所述初始逻辑边的一部分,在识别出所述部分时,将所述初始逻辑边分为两个逻辑段,
重复顺序分析和创建步骤,直到所述多条逻辑边中的每条逻辑边已被分类到所述可行驶区域的所述边界的多个逻辑段中的一个逻辑段中,所述多个逻辑段中的每个逻辑段表示行动者在穿过所述可行驶区域时在所述可行驶区域边界上的潜在目标,
创建所述可行驶区域的数据表示,所述数据表示包括所述多个逻辑段的指示,以及
将所述数据表示添加到包括所述可行驶区域的道路网络地图,以及
使用所述数据表示来控制所述自主车辆的导航以穿过所述可行驶区域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/141,850 | 2021-01-05 | ||
US17/141,850 US11880203B2 (en) | 2021-01-05 | 2021-01-05 | Methods and system for predicting trajectories of uncertain road users by semantic segmentation of drivable area boundaries |
PCT/US2021/073094 WO2022150250A1 (en) | 2021-01-05 | 2021-12-23 | Methods and system for predicting trajectories of uncertain road users by semantic segmentation of drivable area boundaries |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116745187A CN116745187A (zh) | 2023-09-12 |
CN116745187B true CN116745187B (zh) | 2024-06-11 |
Family
ID=82219579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180088749.4A Active CN116745187B (zh) | 2021-01-05 | 2021-12-23 | 通过可行驶区域边界的语义分割来预测不确定道路使用者的轨迹的方法和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US11880203B2 (zh) |
EP (1) | EP4275014A1 (zh) |
CN (1) | CN116745187B (zh) |
WO (1) | WO2022150250A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022132902A (ja) * | 2021-03-01 | 2022-09-13 | 本田技研工業株式会社 | 移動体の制御システム、移動体、移動体の制御方法、およびプログラム |
US11673577B2 (en) * | 2021-08-02 | 2023-06-13 | Cyngn, Inc. | System and methods of adaptive relevancy prediction for autonomous driving |
CN116414140B (zh) * | 2023-06-08 | 2023-08-04 | 北京中科智易科技股份有限公司 | 无人作战车辆路径规划方法、装置及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918758A (zh) * | 2016-10-06 | 2018-04-17 | 福特全球技术公司 | 能够进行环境情景分析的车辆 |
CN109690649A (zh) * | 2016-09-05 | 2019-04-26 | 日产自动车株式会社 | 车辆行驶控制方法及车辆行驶控制装置 |
CN109891349A (zh) * | 2016-10-25 | 2019-06-14 | 本田技研工业株式会社 | 车辆控制装置 |
CN111104849A (zh) * | 2018-10-29 | 2020-05-05 | 安波福技术有限公司 | 运载工具的导航期间的、地图中的环境特征的自动注释 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831098B2 (en) * | 2006-11-07 | 2010-11-09 | Recognition Robotics | System and method for visual searching of objects using lines |
JP6161942B2 (ja) * | 2013-04-19 | 2017-07-12 | 株式会社デンソーアイティーラボラトリ | カーブ形状モデル化装置、車両情報処理システム、カーブ形状モデル化方法、及びカーブ形状モデル化プログラム |
US9305396B2 (en) * | 2013-07-12 | 2016-04-05 | Electronic Arts Inc. | Identifying features in polygonal meshes |
CN111542860A (zh) | 2016-12-30 | 2020-08-14 | 迪普迈普有限公司 | 用于自主车辆的高清地图的标志和车道创建 |
US11011056B2 (en) | 2018-01-29 | 2021-05-18 | Fujitsu Limited | Fragmentation-aware intelligent autonomous intersection management using a space-time resource model |
US10800408B2 (en) | 2018-05-24 | 2020-10-13 | Baidu Usa Llc | Determining driving paths for autonomous driving that avoid moving obstacles |
WO2020133369A1 (en) * | 2018-12-29 | 2020-07-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | Identifying a curb based on 3-d sensor data |
US10769830B2 (en) * | 2019-01-28 | 2020-09-08 | Adobe Inc. | Transferring vector style properties to a vector artwork |
US11288521B2 (en) | 2019-01-31 | 2022-03-29 | Uatc, Llc | Automated road edge boundary detection |
-
2021
- 2021-01-05 US US17/141,850 patent/US11880203B2/en active Active
- 2021-12-23 EP EP21918097.3A patent/EP4275014A1/en active Pending
- 2021-12-23 WO PCT/US2021/073094 patent/WO2022150250A1/en active Application Filing
- 2021-12-23 CN CN202180088749.4A patent/CN116745187B/zh active Active
-
2023
- 2023-09-14 US US18/467,111 patent/US20240004394A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109690649A (zh) * | 2016-09-05 | 2019-04-26 | 日产自动车株式会社 | 车辆行驶控制方法及车辆行驶控制装置 |
CN107918758A (zh) * | 2016-10-06 | 2018-04-17 | 福特全球技术公司 | 能够进行环境情景分析的车辆 |
CN109891349A (zh) * | 2016-10-25 | 2019-06-14 | 本田技研工业株式会社 | 车辆控制装置 |
CN111104849A (zh) * | 2018-10-29 | 2020-05-05 | 安波福技术有限公司 | 运载工具的导航期间的、地图中的环境特征的自动注释 |
Also Published As
Publication number | Publication date |
---|---|
CN116745187A (zh) | 2023-09-12 |
EP4275014A1 (en) | 2023-11-15 |
US20220214690A1 (en) | 2022-07-07 |
US11880203B2 (en) | 2024-01-23 |
WO2022150250A1 (en) | 2022-07-14 |
US20240004394A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220105959A1 (en) | Methods and systems for predicting actions of an object by an autonomous vehicle to determine feasible paths through a conflicted area | |
CN116249644B (zh) | 由自主车辆执行出路推断以确定通过交叉路口的可行路径的方法和*** | |
CN116745187B (zh) | 通过可行驶区域边界的语义分割来预测不确定道路使用者的轨迹的方法和*** | |
US11731630B2 (en) | Methods and systems for asserting right of way for traversing an intersection | |
US20220340138A1 (en) | Methods and systems for generating trajectory of an autonomous vehicle for traversing an intersection | |
US11851083B2 (en) | Methods and system for constructing data representation for use in assisting autonomous vehicles navigate intersections | |
US11577732B2 (en) | Methods and systems for tracking a mover's lane over time | |
US11904906B2 (en) | Systems and methods for prediction of a jaywalker trajectory through an intersection | |
WO2022165498A1 (en) | Methods and system for generating a lane-level map for an area of interest for navigation of an autonomous vehicle | |
CN116670609A (zh) | 用于预测自主车辆的未来状态的*** | |
US20230043601A1 (en) | Methods And System For Predicting Trajectories Of Actors With Respect To A Drivable Area | |
US11358598B2 (en) | Methods and systems for performing outlet inference by an autonomous vehicle to determine feasible paths through an intersection | |
US20220212694A1 (en) | Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users | |
EP4131181A1 (en) | Methods and system for predicting trajectories of actors with respect to a drivable area | |
US11897461B2 (en) | Methods and systems for autonomous vehicle collision avoidance | |
CN116569070A (zh) | 用于分析动态LiDAR点云数据的方法和*** |
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 |