CN115077543A - 运载工具及其方法和存储介质 - Google Patents
运载工具及其方法和存储介质 Download PDFInfo
- Publication number
- CN115077543A CN115077543A CN202110874874.XA CN202110874874A CN115077543A CN 115077543 A CN115077543 A CN 115077543A CN 202110874874 A CN202110874874 A CN 202110874874A CN 115077543 A CN115077543 A CN 115077543A
- Authority
- CN
- China
- Prior art keywords
- graph
- edges
- pruned
- vehicle
- point
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013138 pruning Methods 0.000 claims description 8
- 230000003362 replicative effect Effects 0.000 claims description 2
- 238000009966 trimming Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 38
- 230000015654 memory Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000033001 locomotion Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000008447 perception Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 241000282412 Homo Species 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000036461 convulsion Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000034994 death Effects 0.000 description 1
- 231100000517 death Toxicity 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/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/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- 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
-
- 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
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
- B60W2556/50—External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2300/00—Purposes or special features of road vehicle drive control systems
- B60Y2300/10—Path keeping
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Aviation & Aerospace Engineering (AREA)
- Traffic Control Systems (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Radar Systems Or Details Thereof (AREA)
- Vehicle Body Suspensions (AREA)
Abstract
描述了运载工具及其方法和存储介质,涉及驾驶员数据引导的空间规划的技术等。生成包括由边连接的多个节点的空间结构。至少一些节点和边表示从第一点到第二点导航运载工具的路径。基于距离度量,空间结构的边被标记为有用。通过根据边的相应标记从空间结构中去除一个或多个边来修剪空间结构,其中去除的程度基于预定图大小、预定性能或其任意组合以获得经修剪图。识别从经修剪图上的第一点到第二点的路径,并且根据从经修剪图上的第一点到第二点的路径导航运载工具。
Description
技术领域
本说明书大体上涉及驾驶数据引导的空间规划。
背景技术
自主运载工具具有相对于人类驾驶的运载工具的优点,包括但不限于减少道路事故、交通拥堵、停车拥堵和提高燃料效率。在进行驾驶决策方面,自主运载工具***通常创建周围环境的一个或多个模型。由自主运载工具***生成的导航通过环境的各种解决方案至少部分地基于所述一个或多个模型。因此,模型对由自主运载工具***生成的解决方案的质量有直接影响。此外,模型的各方面可以决定生成解决方案所需的计算复杂度。
发明内容
一种用于运载工具的方法,包括:使用至少一个处理器生成包括由边连接的多个节点的空间结构,其中,至少一部分节点和边表示从第一点到第二点导航运载工具的路径;使用所述至少一个处理器至少部分地基于距离度量将所述空间结构的边标记为有用;使用所述至少一个处理器,通过根据边的相应标记从所述空间结构中去除一个或多个边来修剪所述空间结构,其中,所述去除的程度是基于预定图大小、预定性能或其任意组合,以获得经修剪图;使用所述运载工具的规划电路识别所述经修剪图上的从所述第一点到所述第二点的路径;以及使用所述运载工具的控制电路,根据所述经修剪图上的从所述第一点到所述第二点的路径导航所述运载工具。
一种运载工具,包括:至少一个计算机可读介质,其存储有计算机可执行指令;至少一个处理器,其被配置为执行所述计算机可执行指令,所述执行进行所述方法。
一种非暂时性计算机可读存储介质,包括用于由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令当由所述至少一个处理器执行时使得所述第一装置进行所述方法。
一种用于运载工具的方法,包括:使用至少一个处理器评估包括由边连接的多个节点的经修剪图,其中,所述经修剪图的边基于距离度量被标记为有用;使用所述至少一个处理器,基于所述经修剪图的相应性能迭代地调整从所述经修剪图中去除的边;使用所述至少一个处理器选择具有最高性能的经修剪图;使用运载工具的规划电路识别在所述经修剪图上从第一点到第二点的路径;以及使用所述运载工具的控制电路,根据所述经修剪图上的从第一点到第二点的路径导航所述运载工具。
一种运载工具,包括:至少一个计算机可读介质,其存储有计算机可执行指令;至少一个处理器,其被配置为执行所述计算机可执行指令,所述执行进行所述方法。
一种非暂时性计算机可读存储介质,包括由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令在由所述至少一个处理器执行时使得所述第一装置进行所述方法。
附图说明
图1示出具有自主能力的自主运载工具的示例。
图2示出示例“云”计算环境。
图3示出计算机***。
图4示出自主运载工具的示例架构。
图5示出感知模块可以使用的输入和输出的示例。
图6示出LiDAR***的示例。
图7示出操作中的LiDAR***。
图8示出LiDAR***的操作的附加细节。
图9示出规划模块的输入和输出之间的关系的框图。
图10示出路径规划中所使用的有向图。
图11示出控制模块的输入和输出的框图。
图12示出控制器的输入、输出和组件的框图。
图13是适合道路曲率的两个空间结构的图示。
图14是驾驶数据引导的空间规划***的框图。
图15是空间结构的图示。
图16是实现驾驶数据引导的空间规划的处理的处理流程图。
图17是在驾驶数据引导的空间规划期间提供反馈的处理的处理流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任意组合一起使用。然而,任意个别特征可能不能解决以上所讨论的任意问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任意一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.***概述
3.AV架构
4.AV输入
5.AV规划
6.AV控制
7.空间结构的生成
8.驾驶数据引导的空间规划***
9.有用边的确定
总体概述
在使用图来选择运载工具要遵循的路径之前,可以简化空间结构的图表示。通常,空间规划涉及生成空间结构,在空间结构中表示整个空间中的多个地点。空间结构可以是能够适合或映射到道路曲率的图。从起点到终点的路径由边序列表示,其中各个边连接图的多个节点。边被标记,并且统计数据至少从距离度量和驾驶员日志导出。基于标记和统计数据对图进行修剪。
这些技术的一些优点包括基于预定图大小、预定性能或者预定图大小和性能的组合来减小图的大小(或密度)。图的密度与空间结构中可用边的数量直接成比例,为了从有向图中提取令人满意的规划,图越密集,计算复杂度就越高。如本文所述的基于驾驶员的统计数据使得运动规划模块能够输出复制(replicate)人类水平性能的更高质量的路径。此外,通过减少可能选项的空间并专注于产生更好规划性能的替代方案,运动规划消耗的时间得以减少并得到高效利用。
***概述
图1示出具有自主能力的自主运载工具100的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分。有时基于车道标记来识别车道。例如,车道可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木、或者例如在欠发达地区应避免的自然障碍物)来定义车道。也可以独立于车道标记或物理特征来解释车道。例如,可以基于原本缺少将会被解释为车道边界的特征的在区域中无障碍物的任意路径来解释车道。在示例情景中,AV可以解释通过田野或空地的无障碍物部分的车道。在另一示例情景中,AV可以解释通过不具有车道标记的宽(例如,足够两个或更多个车道宽)道路的车道。在该情景中,AV可以将与车道有关的信息通信至其它AV,使得其它AV可以使用相同的车道信息来协调AV之间的路径规划。
术语“空中下载(OTA)客户端”包括任何AV,或者嵌入在AV中、耦接至AV或与AV进行通信的任何电子装置(例如,计算机、控制器、IoT装置、电子控制单元(ECU))。
术语“空中下载(OTA)更新”意味着对使用专有和/或标准化的无线通信技术递送至OTA客户端的软件、固件、数据或配置设置或者它们的任意组合的任何更新、改变、删除或添加,其中该专有和/或标准化的无线通信技术包括但不限于:蜂窝移动通信(例如,2G、3G、4G、5G)、无线电无线区域网络(例如,WiFi)和/或卫星因特网。
术语“边缘节点”是指耦接至网络的一个或多个边缘装置,这些装置提供与AV进行通信所用的门户并且可以与其它边缘节点和基于云的计算平台进行通信,以调度OTA更新并将OTA更新递送至OTA客户端。
术语“边缘装置”是指实现边缘节点并提供向企业或服务提供商(如VERIZON、AT&T)核心网的物理无线接入点(AP)的装置。边缘装置的示例包括但不限于:计算机、控制器、发送器、路由器、路由交换机、综合接入装置(IAD)、多路复用器、城域网(MAN)和广域网(WAN)接入装置。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任意组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任意和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV***是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV***并入在AV内。在实施例中,AV***跨若干地点分布。例如,AV***的一些软件是在类似于下面关于图2描述的云计算环境200的云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全AV、高度AV和有条件AV,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分AV和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具***可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全AV到人类操作的运载工具范围内的任意级别的运载工具受益。
AV与需要人类驾驶员的运载工具相比存在优势。一个优势是安全性。例如,在2016年,美国经历了600万起汽车事故、240万人受伤、40000人死亡和1300万辆运载工具碰撞事故,估计社会成本为9100亿美元多。从1965年到2015年,每行驶1亿英里的美国交通事故死亡人数已从约6人减少到约1人,部分是由于运载工具中所部署的附加安全措施。例如,认为与将发生碰撞有关的额外半秒的警告减轻了60%的前后碰撞。然而,被动安全特征(例如,安全带、安全气囊)在改进该数字方面有可能已达到它们的极限。因而,诸如运载工具的自动控制等的主动安全措施是改进这些统计数据的可能的下一步。由于在95%的碰撞中认为人类驾驶员是造成严重碰撞前事件的原因,因此自动驾驶***例如通过以下操作,有可能实现更好的安全结果:比人类更好地可靠地识别和避免紧急情况;做出比人类更好的决策,比人类更好地遵守交通法规,并且比人类更好地预测将来事件;并且比人类更好地可靠地控制运载工具。
参考图1,AV***120使运载工具100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV***120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。使用术语“操作命令”来表示使得运载工具进行动作(例如,驾驶机动动作)的可执行指令(或指令集)。操作命令可以非限制性地包括用于使运载工具开始向前移动、停止向前移动、开始向后移动、停止向后移动、加速、减速、进行左转和进行右转的指令。在实施例中,计算处理器146与下面参考图2描述的处理器204相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV***120包括用于测量或推断运载工具100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,运载工具100的前端的方向)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV***120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图2描述的ROM 208或存储装置210类似。在实施例中,存储器144与下面描述的主存储器206类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到运载工具100。
在实施例中,AV***120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到运载工具100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV***120。在实施例中,远程数据库134嵌入在云计算环境200中。通信装置140将从传感器121收集的数据或与运载工具100操作有关的其它数据传输到远程数据库134。在实施例中,通信装置140向运载工具100传输与遥操作有关的信息。在一些实施例中,运载工具100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
位于运载工具100上的计算机处理器146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV***120执行其自主驾驶能力。
在实施例中,AV***120包括耦接到计算机处理器146的计算机***设备132,用于向运载工具100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,***设备132类似于下面参考图2讨论的显示器212、输入装置214和光标控制器216。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
在实施例中,AV***120接收并强制执行例如由乘员指定的或者存储在与乘员相关联的简档中的乘员的隐私级别。乘员的隐私级别确定了如何许可使用存储在乘员简档中的以及/或者存储在云服务器136上且与乘员简档相关联的、与乘员相关联的特定信息(例如,乘员舒适度数据、生物测量数据等)。在实施例中,隐私级别指定了一旦搭乘完成则被删除的与乘员相关联的特定信息。在实施例中,隐私级别指定了与乘员相关联的特定信息,并且标识被授权访问该信息的一个或多个实体。被授权访问信息的所指定的实体的示例可以包括其它AV、第三方AV***、或者可以潜在地访问该信息的任何实体。
可以在一个或多个粒度级别指定乘员的隐私级别。在实施例中,隐私级别标识要存储或共享的特定信息。在实施例中,隐私级别适用于与乘员相关联的所有信息,使得乘员可以指定不存储或共享她的个人信息。被许可访问特定信息的实体的指定也可以在各种粒度级别指定。被许可访问特定信息的各种实体集例如可以包括其它AV、云服务器136、特定第三方AV***等。
在实施例中,AV***120或云服务器136确定AV 100或另一实体是否可访问与乘员相关联的某些信息。例如,试图访问与特定时空地点有关的乘员输入的第三方AV***必须例如从AV***120或云服务器136获得授权,以访问与乘员相关联的信息。例如,AV***120使用乘员的指定隐私级别来确定是否可以将与时空地点有关的乘员输入呈现给第三方AV***、AV 100或另一AV。这使得乘员的隐私级别能够指定允许哪些其它实体接收与乘员的动作有关的数据或与乘员相关联的其它数据。
图2示出示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算***中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机***206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机***。数据中心204a具有许多分布在多个机架上的计算***。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算***206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。
计算***206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算***206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、AV(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算***206a-f在其它***中实现或作为其它***的一部分实现。
图3示出计算机***300。在实现中,计算机***300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机***、便携式计算机***、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
在实施例中,计算机***300包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的处理器304。处理器304是例如通用微处理器。计算机***300还包括主存储器306,诸如随机存取存储器(RAM)或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机***300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机***300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。
在实施例中,计算机***300通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机***300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机***300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机***300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机***300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机***300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机***300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
AV架构
图4示出用于AV(例如,图1所示的运载工具100)的示例架构400。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路)和数据库模块410(有时称为数据库电路)。各模块在运载工具100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV***120的一部分。在一些实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。模块402、404、406、408和410各自有时被称为处理电路(例如,计算机硬件、计算机软件、或者这两者的组合)。模块402、404、406、408和410中的任何或全部的组合也是处理电路的示例。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示运载工具100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS(全球导航卫星***)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。在实施例中,高精度地图是通过将数据经由自动或手动注释添加到低精度地图所构建的。
控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得运载工具100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得运载工具100左转,并且油门和制动将使得运载工具100在进行转弯之前暂停并等待经过的行人或运载工具。
AV输入
图5示出感知模块402(图4)所使用的输入502a-502d(例如,图1中所示的传感器121)和输出504a-504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)***(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR***产生LiDAR数据作为输出504a。例如,LiDAR数据是用于构造环境190的表示的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)***。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR***的视线内的对象有关的数据。RADAR***产生RADAR数据作为输出504b。例如,RADAR数据是用于构造环境190的表示的一个或多个射频电磁信号。
另一输入502c是照相机***。照相机***使用一个或多个照相机(例如,使用诸如电荷耦接器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机***产生照相机数据作为输出504c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机***具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机***能够感知深度。尽管照相机***所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在一些实施例中,照相机***被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,在一些实施例中,照相机***具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入502d是交通灯检测(TLD)***。TLD***使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD***产生TLD数据作为输出504d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD***与包含照相机的***的不同之处在于:TLD***使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得运载工具100能够访问这些对象所提供的所有相关导航信息。例如,TLD***的视角为约120度或更大。
在一些实施例中,使用传感器融合技术来组合输出504a-504d。因而,将个体输出504a-504d提供至运载工具100的其它***(例如,提供至如图4所示的规划模块404),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的形式,将组合输出提供至其它***。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
图6示出LiDAR***602的示例(例如,图5所示的输入502a)。LiDAR***602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR***所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR***602。(从LiDAR***发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR***602还具有用于检测反射光的一个或多个光检测器610。在实施例中,与LiDAR***相关联的一个或多个数据处理***生成表示LiDAR***的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612用于确定AV附近的一个或多个物理对象的边界616。
图7示出操作中的LiDAR***602。在该图所示的情境中,运载工具100接收采用图像702的形式的照相机***输出504c和采用LiDAR数据点704的形式的LiDAR***输出504a两者。在使用中,运载工具100的数据处理***将图像702与数据点704进行比较。特别地,在数据点704中也识别在图像702中识别出的物理对象706。这样,运载工具100基于数据点704的轮廓和密度来感知物理对象的边界。
图8示出LiDAR***602的操作的附加细节。如上所述,运载工具100基于LiDAR***602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR***602发射的光804a-804d。换句话说,由于LiDAR***602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR***602。在运载工具100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR***602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR***602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,运载工具100可以确定存在对象808。
AV规划
图9示出(例如,如图4所示的)规划模块404的输入和输出之间的关系的框图900。一般而言,规划模块404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果运载工具100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小卡车等的能够越野的运载工具,则路线902包括诸如未铺面路径或开阔田野等的“越野”路段。
除路线902之外,规划模块还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,其中运载工具100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素来从这多个车道中选择某车道。类似地,在一些实现中,车道级路线规划数据908包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将AV 100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
在实施例中,向规划模块404的输入包括(例如,来自图4所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知模块402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在运载工具100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于运载工具100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10示出在路径规划中(例如,由规划模块404(图4))使用的有向图1000。一般而言,如图10所示的有向图那样的有向图1000用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
在实施例中,有向图1000具有表示起点1002和终点1004之间的运载工具100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d表示该道路上的不同位置。这样,有向图1000包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括用于该有向图中的表示运载工具100的视场中的物理地点的一部分的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在实施例中,在粒度低时,对象1008a-1008b表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b表示运载工具100的视场中的物理对象,例如其它汽车、行人、或运载工具100不能与之共用物理空间的其它实体。在实施例中,对象1008a-1008b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边1010a-1010c连接。如果两个节点1006a-1006b通过边1010a连接,则运载工具100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(当提到运载工具100在节点之间行驶时,意味着运载工具100在由相应节点表示的两个物理位置之间行驶。)边1010a-1010c通常是双向的,从某种意义上,运载工具100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边1010a-1010c是单向的,从某种意义上,运载工具100可以从第一节点行驶到第二节点,然而运载工具100不能从第二节点行驶到第一节点。在边1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边1010a-1010c是单向的。
在实施例中,规划模块404使用有向图1000来识别由起点1002和终点1004之间的节点和边组成的路径1012。
边1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在运载工具100选择该边的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边1010a所表示的物理距离是另一边1010b所表示的物理距离的两倍,则第一边1010a的关联成本1014a可以是第二边1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边1010a与另一边1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边的个体成本相加到一起时具有最小总成本的路径。
AV控制
图11示出(例如,如图4所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而操作,该控制器1102例如包括:与处理器304类似的一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合运载工具100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合运载工具100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在实施例中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果运载工具100遇到诸如山丘等的干扰1110,则运载工具100的测量速率1112降至低于期望输出速率。在实施例中,任何测量输出1114均被提供至控制器1102,使得例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和运载工具100的传感器可测量的其它输出。
在实施例中,例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈模块1122。然后,预测性反馈模块1122将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果运载工具100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12示出控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1204使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响方向盘控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示方向盘控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的若干输入。规划模块404提供控制器1102例如选择运载工具100开始操作时的航向并确定在运载工具100到达十字交叉路口时穿过哪个道路路段所使用的信息。定位模块408例如将描述运载工具100的当前地点的信息提供至控制器1102,使得控制器1102可以确定运载工具100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期的地点。在实施例中,控制器1102接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
空间结构的生成
图13是适合道路曲率的两个空间结构的图示。在图13的示例中,空间结构是空间图。空间图可以是诸如关于图10描述的有向图1000等的有向图。空间图1302沿道路1304A示出,而空间图1312沿道路1304B示出。空间图1302和1312分别包括在起点和终点之间的多个边1306和边1316(例如,图10的边1010a-1010c)。起点和终点是空间图的节点(例如,图10的节点1006a-1006d)。规划模块(例如,图4的规划模块404)接收空间图作为输入,并且确定表示运载工具(例如,图1的运载工具100)可以导航的轨迹的数据。因此,从起点到终点的路径由一系列边表示,其中各个边连接图的多个节点。在实施例中,边表示形成空间图的第一点和第二点之间的线的空间中的一系列相邻地点。在另一实施例中,边表示在空间图的第一点和第二点之间形成具有宽度的条(strip)或线的地点的区域。例如,第一点和第二点之间的宽边可以覆盖车道中心线周围的区域。在一些情况下,条的大小或线的宽度是预定值。
在路径规划期间,规划模块接收包括目的地(例如,图9的目的地数据918)的空间结构,并且确定表示运载工具能够行驶以到达(例如,来到)目的地的轨迹(例如,图9的轨迹规划数据910)或路线的数据。换句话说,规划模块识别运载工具可以穿越的在起点和终点之间的路径。规划模块根据一个或多个参数(诸如时间、成本(例如,图10的成本1014a、1014c)、交通流量、交叉路口数量、限速、临时障碍物或其任意组合等)来优化路径。用于规划的空间结构对规划模块的性能具有直接影响。通常,与从不太密集的图导出的轨迹相比时,密集的图将产生更接近地近似人类驾驶行为的轨迹。然而,从密集图中提取最终轨迹需要更高水平的计算复杂度和来自规划模块的其它工作。更高的计算复杂度是在使用密集图时可用的可能轨迹数量更高的结果。此外,密集图通常不能实时产生最佳规划解决方案。
与图1302比较,图1312已经被修剪或简化为包括被确定为与运载工具相关或以其它方式有用的边。通过将图中的边简化到被确定为对路径规划相关、有用或以其它方式重要的这些边,还可以简化规划模块进行的后续计算。从包括标记为有用的边的简化图所导出的轨迹表现出与从密集图导出的轨迹相同的高质量。
通常,如果边满足或超过应用于空间图的边的阈值,则将边标记为有用。在示例中,阈值是基于与边相关联的成本(例如,图10的成本1014a、1014c)、在人类驾驶数据中找到边的次数、或其任意组合。否则,边被标记为无用。在实施例中,根据道路几何形状(包括车道中心线)将边标记为有用。例如,落在距车道中心线的预定最大距离以下的边被标记为有用,而高于距车道中心线的预定最大距离的边被标记为无用。
在实施例中,通过将边与实际人类驾驶数据进行比较,并且至少部分地基于距离度量,将边标记为有用或无用。人类驾驶数据表示当运载工具穿越物理区域时的地面真实情况或理想的预期结果。人类驾驶数据可以存储在驾驶日志中。在实施例中,使用机器学习技术来将边标记为有用或无用。例如,执行分类模块以将各个边分类为有用或无用。将各个边分类为有用或无用与表示分类正确可能性的置信度得分相关联。
图13的图并不旨在指示图1302和1312将包括图13中所示的所有组件。而是,图1302和1312可以包括更少的组件或图13中未示出的附加组件(例如,附加的道路、边、节点等)。取决于具体实现的细节,图1302和1312可以包括任意数量的未示出的附加组件。此外,可以部分地或完全地在硬件和/或处理器中实现任何的图生成。例如,该功能可以用专用集成电路实现、在处理器中实现的逻辑中实现、在专用图处理单元中实现的逻辑中实现、或在任何其它装置中实现。
驾驶数据引导的空间规划***
图14是驾驶数据引导的空间规划***1400的框图。空间规划***1400用于产生包括有用边的简化空间结构。图布局生成器1402生成良好地覆盖空间而不用担心空间结构的大小或密度的空间图布局。通常,覆盖是指表示整个空间中的所有可能路径的能力。由图布局生成器1402输出的图可以被称为原始图,并且使用任意数量的技术单独地或组合地来导出。在实施例中,当与本文描述的修剪后的(经修剪)空间图比较时,原始图是密集的。为了生成空间图,图布局生成器接收上下文1404、运载工具状态1406、图模型1408和模型参数1410作为输入。在实施例中,图布局生成器1402还接收反馈1418。基于该输入,图布局生成器1402生成考虑到输入的描绘底层模型的空间图(称为原始图)。
上下文1404是可应用于运载工具(例如,图1的运载工具100)的一组外部条件,其可以由任意数量的变量来体现。例如,地图提供诸如环境的表示等的上下文,环境诸如适用的物理区域或道路。定位提供诸如环境内的位置的确定等的上下文,而感知实现了诸如环境中的其它数据的确定(包括运载工具不能共享物理空间的对象(例如,图10的对象1008a-1008b))等的上下文。在实施例中,可以静态地(例如,使用固定的道路几何形状和驾驶统计数据)、动态地(例如,使用所有其它道路用户的当前动态状态和来自施工区的车道边界的动态变化)或者通过其任意组合来生成图布局。例如,在静态图布局生成中,由图布局生成器生成的图与实际道路状况分离。在动态图布局生成中,道路条件决定图生成。
运载工具状态1406也被用作图布局生成器1402的输入。运载工具状态1406是可应用于运载工具的一组内部条件。运载工具状态包括例如姿态(即,x、y、航向)、速度、加速度、急动和角速度等。此外,运载工具状态包括运载工具的方位、其相对于道路的相对角度、当前加速度和速度、水平急动和横向急动。在实施例中,运载工具状态1402用于确定由图布局生成器1402输出的空间结构的各个方面。例如,运载工具的速率可能导致从空间结构去除物理上不可行的边,诸如高曲率边等。通常,较高速率的运载工具不能成功地导航高曲率边,这是因为速率将导致运载工具在物理上不能维持路径。由图布局生成器1402针对较高速率的运载工具生成的空间结构将从图中去除不能成功或安全穿越的高曲率边。相反,针对较低速率的运载工具的空间结构包括高曲率边,这是因为较低速率使得运载工具能够导航更紧密的曲线。
图模型1408也被提供作为图布局生成器1402的输入。图模型表示多个数据点,该多个数据点表示图(诸如图1000、1302和1312等)的边和顶点。该数据可以使用任意数量的技术来获得。例如,图模型是手工制作的。在手工制作的模型中,根据运载工具如何沿道路操作的解读来调整各种参数。然后,模型在要覆盖的空间上传播。在参数模型中,定义用于决定所得模型的参数。参数模型(参数化模型)的参数将周围环境(例如,图1的环境190)映射到一组节点和连接的边。在实施例中,图模型1408是基于样本的,在该模型中确定可用于成功穿越空间的顶点和边的集合。另外,驾驶数据是从人类驾驶员获得的,并且该数据可以被采样以提取图模型。在实施例中,对人类驾驶员数据进行随机采样以生成图模型。用于确定图模型1408的其它技术包括用于提供均匀覆盖的控制技术、以及被创建以用于生成图模型的非线性程序的使用。在实施例中,执行基于机器学习的模型以生成图模型。
针对图模型定义模型参数1410。模型参数专用于各种类型的图模型1408。例如,模型参数包括特定样本(例如,相对于地图上的地点或图的一部分的样本)、样本计数、样本密度、节点之间的最小或最大距离以及最小或最大分支因子等。通常,模型参数表征特定图模型的空间方面。
由图布局生成器1402输出的图被输入到边标记分配1412。为了便于描述,由图布局生成器1402输出的图是被称为原始图的空间结构。在边标记分配期间,原始图的边被标记。通过将该多个边中的各个边分类为有用或无用来标记原始图的边。至少部分地基于距离度量1416将边标记为有用或无用。在实施例中,距离度量1416是运动预测模型。在示例中,距离度量1416是如Covernet:Multimodal behavior prediction using trajectorysets;T.Phan-Minh,E.C.Grigore,F.A.Boulton,O.Beijbom,and E.M.Wolff;Proceedingsof the IEEE/CVF Conference on Computer Vision and Pattern Recognition,pp.14074-14083(2020)所描述的概率分布。
通常,距离度量1416是运载工具的未来状态的多模态概率预测。距离度量1416基于原始图和驾驶日志1414(包括如由运载工具状态1406描述的运载工具的当前状态)计算可能的轨迹的分布。距离度量1416对边复制驾驶数据样本(例如,驾驶日志1414)的接近程度进行测量。例如,距离度量将驾驶日志轨迹的至少一部分和图边作为输入,并且输出该边与驾驶日志轨迹的该部分相对应的接近程度的测量。换句话说,距离度量计算边和驾驶日志轨迹的相应部分之间的重叠。在实施例中,针对驾驶日志1414中的轨迹的所有相应部分,对边与驾驶日志轨迹的相应部分相对应的接近程度的测量求平均。在实施例中,边与驾驶日志轨迹的一部分相对应的接近程度的测量是边与驾驶日志轨迹的相应部分之间的平均距离。驾驶日志1414包括现实世界驾驶数据(诸如所有运载工具、行人、骑自行车者等的过去状态)和地图。将距离度量1416应用于驾驶日志1414和由图布局生成器1402输出的原始图产生具有相关联的概率(例如,可能性)的可能轨迹的分布。具体地,基于与驾驶日志1414的相应部分的比较,将原始图的各个边与概率相关联。
例如,使用运载工具的当前状态、原始图、以及驾驶日志,根据距离度量来计算动态轨迹集。距离度量产生基于运载工具的当前状态动态可行的一组可能的轨迹。来自图布局生成器1402所输出的原始图的与驾驶日志1414的相应部分很大程度重叠的边导致较低的距离度量,这是因为边与驾驶日志的相应部分之间的平均距离由于较高水平的重叠而较低。因此,具有小于预定阈值的平均距离度量的边被标记为有用边。来自图布局生成器1402所输出的原始图的具有大于预定阈值的平均距离度量的边被标记为无用。
在图14的示例中,由图布局生成器1402输出的原始图的边基于运动预测模型被标记为有用或无用。然而,在实施例中,分析其它因素以确定由图布局生成器输出的图的边是否是有用的。该其它因素可以用于推翻(override)边为有用或无用的分类。还可以结合运动预测模型的输出来分析其它因素。例如,如果边达到或满足应用于空间图的边的阈值,则该边是有用的。根据包括车道中心线的道路几何形状,边也是有用的。
由图布局生成器1402生成的原始图和由边标记分配1412导出的标记作为输入被提供给边鉴别器1420。在边鉴别器1420处,基于标记从所接收的图修剪边。具体地,如果边在边标记分配1412期间被标记为无用,则在边鉴别器1420处从图修剪该边。通过修剪被标记为无用的边,在原始图的边与真实世界驾驶数据(例如,驾驶日志1414)的平均距离相对高的情况下,忽略这些边。忽略大体上不与样本数据重叠的边。
在实施例中,边鉴别器1420基于一个或多个因素修剪原始图的边。例如,从未与驾驶数据样本(例如,驾驶日志1414)匹配的边被去除。在另一示例中,规划模块(例如,图4的规划模块404)规定了针对简化图的最大数量的K个边。在该示例中,具有最低距离度量的K个连接边被保留在简化图中,并且剩余的边被去除。在另一示例中,保留令图的整体性能最高的K个连接边。具体地,当多个边具有较高距离度量时,去除具有较高距离度量的一个或多个边可能改变与保留在最终图中的剩余边相关联的其它因素。在实施例中,经由迭代算法进行自适应边去除,该迭代算法去除一个或多个边并且重新评估剩余图中的边的性能。在该实施例中,随着边被适应性地从图中去除,通过选择具有最高性能的图来选择简化图。
该简化图被输入到评估1422中。修剪原始图是从由图布局生成器1402生成的原始空间图中策略性地去除或减少边和节点。修剪是基于预定图大小、预定性能或其任意组合。在实施例中,机器学习模型用于经修剪图。评估1422鉴于由图布局生成器1402生成的完整原始图的性能来确定简化图的实际性能。在实施例中,性能是对与经修剪图复制如驾驶日志1414中发现的人类专家轨迹的能力相关联的准确度或精确度的度量。因此,在实施例中,性能是对(如在驾驶日志1414中发现的)路线的度量,该路线可以使用用于运动规划的经修剪图准确地再现。在实施例中,性能是使用经修剪图生成的轨迹复制在驾驶日志1414中发现的地面真实轨迹的精确程度的度量。图性能包括对在运动规划期间最频繁发生的边类型、或者对简化图在运动规划中被更频繁使用的区域的度量。在实施例中,通过使用简化图作为输入执行运动规划模块来确定经修剪图的性能。基于驾驶日志1414来调整在从原始图去除边时的这种鉴别的强度。
在反馈回路1418中,图布局生成器1402被提供由边标记分配1412计算出的边统计数据以及来自评估器1422的经修剪图的图性能。边统计数据包括(但不限于)如由距离度量1416确定的与边相关联的概率、基于边类型的有用性或其任意组合。在示例中,图性能通过数据来量化,该数据指示简化图的某种类型的边或区域比其它类型的边或区域更频繁地用于运动规划中。针对与其它类型的特征或图数据相比较时在原始图的生成中应当更频繁地使用的特定类型的边或其它图数据,这为图布局生成器1402提供了正反馈。反馈回路1418对如图布局生成器1402所生成的不同原始图进行迭代,以基于用于标记图的边的特定度量来改进所得到的简化图的图性能。在示例中,根据统计数据和经修剪图的实际性能,优选边类型被偏置作为图布局生成器1402的输入。偏置布局的边类型生成多个候选图布局,并且多个候选图布局中的图布局被选择为最终原始图,以如本文所述被标记和修剪。给定与由图布局生成器1402输出的原始图相同的原始图,第二反馈回路1424根据图性能来调整边鉴别器1420的鉴别。在实施例中,图性能用于在边鉴别器1420处迭代地修改从原始图去除的边的量或类型。
当与图布局生成器1402生成的原始图相比较时,最终的经修剪图以更小或简化的图的大小实现了大覆盖。空间图是基于上下文和特定图模型参数生成的,并且可适合或映射到道路。空间结构输入到规划模块并且用于实现高质量的规划解决方案。以这种方式,运动规划模块不再针对由本技术生成的经修剪图进行训练或以其它方式修改。在实施例中,使用大量驾驶数据来开发或训练经修剪图并且离线训练经修剪图。在其它实施例中,实时训练或开发经修剪图。
图14的框图不旨在指示***1400包括图14中所示的所有组件。而是,***1400可以包括更少的或图14中未示出的附加的组件(例如,附加图布局生成器输入、统计数据、标记、反馈回路等)。***1400可以包括任意数量的未示出的附加组件,这取决于具体实现的细节。此外,图布局生成器、边值分配、距离度量、边鉴别器、评估和其它所描述的功能中的任一个可以部分地或完全地在硬件和/或处理器中实现。例如,功能可以用专用集成电路来实现、在处理器中实现的逻辑中实现、在专用图处理单元中实现的逻辑中实现、或在任何其它装置中实现。
有用边的确定
图15是空间结构1500的图示。在图15的示例中,空间结构由图布局生成器1402(图14)生成。虽然空间结构1500被示出为由多个边1506连接的节点1504的大致矩形集合,但是结构1500如上所述适合相应道路的曲率。
通常,规划模块(例如,图4的规划模块404)将空间结构作为输入并且创建由图覆盖的路径。在实施例中,该技术将专家驾驶数据(例如,图14的驾驶日志1414)与原始图(例如,由图14的图布局生成器1402输出的图)匹配以标记边并且导出统计数据。识别图的在复制人类专家驾驶数据的行为方面最有用的部分。此外,还识别图的对性能没有贡献或者不能复制人类专家驾驶数据的行为的部分。如上所述,基于至少部分地从距离度量导出的统计数据来修剪图。在实施例中,简化的程度可以由预定图大小或由预定性能来控制。
运载工具1502被示出在空间结构1500的左侧。在图15的示例中,空间结构1500是图。该图包括多个节点1504和边1506。驾驶日志样本1508表示人类专家驾驶数据的样本。从驾驶日志1414(图14)获得驾驶日志样本数据。驾驶日志样本1508包括分段线1508A、1508B和1508C。为了确定图的有用边,将边1506的最接近地匹配线1508所表示的人类专家驾驶数据的序列识别为有用的。在示例中,到人类专家驾驶数据的距离低于预定阈值的边被标记为有用,并且距离高于预定阈值的边被标记为无用。如所说明,图的边1510的序列最接近地匹配分段线1508B。为了便于描述,将边的一小部分示出为与驾驶日志样本1508的分段线1508B相对应。然而,对应性可以在整个空间中发生,并且空间结构1500的图示不应被视为限制性的。
对于各个驾驶日志样本,从空间结构的根节点和样本的相应位置开始,将样本与原始空间结构的边进行比较。在根节点处,忽略不可达的边。通过从根节点沿着可达边执行搜索,针对各个路径计算对样本进行复制的累积成本,其中,搜索由沿着驾驶日志样本的样本点引导。以这种方式,计算沿可能路径标记为有用的各个可达边的成本。具有最低成本的路径可以用于引导考虑到特定驾驶样本的最佳边序列的选择。针对多个驾驶日志样本重复该处理。当计算考虑到驾驶日志样本的最佳边序列时,去除被视为不可达的边。本技术不基于距驾驶日志样本的距离来选择单个边以用于包括在经修剪图中。而是,本技术考虑到现实世界驾驶样本来选择边序列,其中,各个边序列与其它序列进行比较并且去除不相关的序列。
在实施例中,距离度量使得能够确定边序列与现实世界轨迹的接近度。基于各个边被包括在会最接近地产生或复制当前样本的边序列中的能力来对边进行标记。在实施例中,使用多个因素来确定与各个驾驶日志样本相对应的最佳、最优化的边序列。这些因素包括但不限于例如当边在边序列中使用以复制人类驾驶行为时,跨所有样本使用该边的次数的计数或者该边离样本有多远的计数。另外,对于未像其它样本那样被良好覆盖的样本,与未被良好覆盖的驾驶日志样本近似的这些边被应用更高的权重。这例如在极端路线或其它特殊、不常见操纵的情况下发生。在实施例中,在识别经修剪图上的从第一点到第二点的路径之前,将稀有边注入到经修剪图中。稀有边的注入提供了经修剪图中极端路线或其它特殊、不常见操纵的表示。
本技术能够实现更高质量的覆盖和类似人类的行为。所得到的经修剪图是高覆盖稀疏空间结构,规划模块可以从该高覆盖稀疏空间结构输出提供人类水平性能的更高质量路径。使用驾驶日志来调整经修剪图得到针对频繁发生场景的优化。此外,本技术使得能够覆盖诸如平滑操纵和碰撞避免等的稀有边情况。使用大量驾驶数据以供采样也可以足够覆盖包括复杂移动的稀有边情况。因此,大的驾驶数据集产生高质量的解决方案。规划时间还通过减少可能选项的空间并且集中于产生更好规划性能的替代方案来改进。本技术直接优化质量和性能这两者。在实施例中,使用成百上千人工小时驾驶数据在服务器中离线执行本技术。简化图由规划模块访问以实时使用。
图15的空间结构不旨在指示空间结构1500将包括图15中所示的所有组件。而是,空间结构1500可以包括更少或图15中未示出的附加组件(例如,附加样本、边、节点等)。空间结构1500可以包括任意数量的未示出的附加组件,这取决于具体实现的细节。
驾驶数据引导的空间规划
图16是实现驾驶数据引导的空间规划的处理1600的处理流程图。在框1602处,使用至少一个处理器生成空间结构(例如,图13的空间图1302)。空间结构包括由边(例如,图13的边1306)连接的多个节点。至少一些节点和边表示从第一点到第二点导航运载工具的路径。
在框1604处,使用至少一个处理器标记空间结构的边(例如,图14的边标记分配1412)。在实施例中,标记包括根据距离度量和预定阈值为各个边分配有用或无用的标记。在实施例中,至少部分地基于距离度量来导出边中的相应边的相应统计数据。在示例中,边统计数据包括但不限于由距离度量(例如,图14的距离度量1416)确定的与边相关联的概率、基于边类型的有用性、或其任意组合。
在框1606处,通过根据边的标记或相应的统计数据从空间结构中去除一个或多个边来修剪空间结构(例如,图14的边鉴别器1420),其中简化的程度基于预定图大小、预定性能或其任意组合。在实施例中,通过图中边的数量K、图的存储要求或其任意组合来测量预定图大小。在实施例中,经修剪图的性能是对与图复制如在驾驶日志中发现的人类专家轨迹的能力相关联的准确度或精确度的度量。
在框1608处,识别从经修剪图上的第一点到第二点的路径。在实施例中,路径表示基于从人类专家驾驶日志数据采样的数据的最低成本路径。在框1610处,根据从经修剪图上的第一点到第二点的路径导航运载工具。
图16的处理流程图不意在指示示例处理1600的框将以任何顺序执行或者在每种情况下都包括所有框。此外,根据具体实现的细节,可以在示例处理1600内包括任意数量的未示出的附加框。
图17是在驾驶数据引导的空间规划期间提供反馈的处理1700的处理流程图。在框1702处,评估驾驶日志和经修剪图(例如,图14的评估1422)。在实施例中,经修剪图是在评估之前根据标记和统计数据来修剪(例如,图14的边鉴别器1420)。
在框1704处,基于相应的性能迭代地调整从经修剪图去除的边。在实施例中,驾驶日志(例如,图14的驾驶日志1414)在经修剪图上再现,并且根据经修剪图的性能(例如,图14的反馈回路1424)来调整从经修剪图去除一个或多个边的程度。通常,使用经修剪图再现驾驶日志路径包括使用规划模块来重新创建如在驾驶日志中那样的驾驶日志路径。另外,根据经修剪图对驾驶日志路径的覆盖的测量来调整从图中去除一个或多个边的程度,这基于经修剪图的性能来修改从经修剪图中去除的边。
在框1706处,选择具有最高性能的经修剪图用于路径规划。在实施例中,保留令经修剪图的整体性能最高的边。自适应边去除是经由迭代算法进行的,该迭代算法去除一个或多个边并且重新评估剩余图中的边的性能。在该实施例中,在边被自适应地从图中去除时,通过选择具有最高性能的图来选择简化图。因此,根据统计数据对经修剪图进行迭代地修剪。在实施例中,简化的程度是基于预定图大小、预定性能或其任意组合。
在实施例中,根据当前经修剪图的统计数据和实际性能,优选边类型被偏置作为图布局生成器的输入(例如,图14的反馈回路1418)。例如,图布局生成器(例如,图14的图布局生成器1402)被提供边标记和统计数据(例如,图14的边标记分配1412)以及经修剪图性能(例如,图14的评估1422)作为输入以生成原始图。
图17的处理流程图不旨在指示示例处理1700的框将以任何顺序执行或者在每种情况下都包括所有框。此外,根据具体实现的细节,可以在示例处理1700内包括任意数量的未示出的附加框。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
Claims (21)
1.一种用于运载工具的方法,包括:
使用至少一个处理器生成包括由边连接的多个节点的空间结构,其中,至少一部分节点和边表示从第一点到第二点导航运载工具的路径;
使用所述至少一个处理器至少部分地基于距离度量将所述空间结构的边标记为有用;
使用所述至少一个处理器,通过根据边的相应标记从所述空间结构中去除一个或多个边来修剪所述空间结构,其中,所述去除的程度是基于预定图大小、预定性能或其任意组合,以获得经修剪图;
使用所述运载工具的规划电路识别所述经修剪图上的从所述第一点到所述第二点的路径;以及
使用所述运载工具的控制电路,根据所述经修剪图上的从所述第一点到所述第二点的路径导航所述运载工具。
2.根据权利要求1所述的方法,包括:
使用所述经修剪图再现驾驶日志路径;以及
根据所述经修剪图对所述驾驶日志路径的覆盖的测量,调整从所述经修剪图中去除一个或多个边的程度。
3.根据权利要求1或2所述的方法,其中,生成所述空间结构包括:
根据统计数据和所述经修剪图的实际性能,对所述空间结构的边类型进行偏置,其中,对图布局的边类型进行偏置生成多个候选图布局,并且选择所述多个候选图布局中的图布局作为所述空间结构。
4.根据权利要求1、2或3所述的方法,其中,将所述空间结构的边标记为有用包括基于至少一个驾驶日志计算针对所述空间结构的边的相应平均距离度量,其中,具有小于预定阈值的相应平均距离度量的边被标记为有用。
5.根据权利要求1、2、3或4所述的方法,包括:
使用所述至少一个处理器,至少部分地基于所述距离度量将所述空间结构的边标记为无用;以及
使用所述至少一个处理器,通过去除所述空间结构的被标记为无用的边来修剪所述空间结构以获得所述经修剪图。
6.根据权利要求1、2、3、4或5所述的方法,其中,修剪包括根据一个或多个因素从所述空间结构中去除边。
7.根据权利要求1、2、3、4、5或6所述的方法,其中,修剪包括根据边统计数据从所述空间结构中去除一个或多个边。
8.根据权利要求1、2、3、4、5、6或7所述的方法,其中,边表示形成第一点和第二点之间的线的没有宽度的一系列相邻地点。
9.根据权利要求1、2、3、4、5、6、7或8所述的方法,其中,边表示在所述第一点和所述第二点之间形成条的地点的区域。
10.根据权利要求1、2、3、4、5、6、7、8或9所述的方法,包括在所述经修剪图上识别从所述第一点到所述第二点的路径之前,将稀有边注入到所述经修剪图中。
11.一种运载工具,包括:
至少一个计算机可读介质,其存储有计算机可执行指令;
至少一个处理器,其被配置为执行所述计算机可执行指令,所述执行进行根据权利要求1所述的方法。
12.一种非暂时性计算机可读存储介质,包括用于由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令当由所述至少一个处理器执行时使得所述第一装置进行根据权利要求1所述的方法。
13.一种用于运载工具的方法,包括:
使用至少一个处理器评估包括由边连接的多个节点的经修剪图,其中,所述经修剪图的边基于距离度量被标记为有用;
使用所述至少一个处理器,基于所述经修剪图的相应性能迭代地调整从所述经修剪图中去除的边;
使用所述至少一个处理器选择具有最高性能的经修剪图;
使用运载工具的规划电路识别在所述经修剪图上从第一点到第二点的路径;以及
使用所述运载工具的控制电路,根据所述经修剪图上的从第一点到第二点的路径导航所述运载工具。
14.根据权利要求13所述的方法,包括:
使用所述至少一个处理器生成包括由边连接的多个节点的空间结构,其中,根据统计数据和所述经修剪图的实际性能来偏置优选边类型;
使用所述至少一个处理器基于距离度量和驾驶日志将边分类为有用或无用;
使用所述至少一个处理器,通过去除被标记为无用的边来修剪所述空间结构以获得最终的经修剪图;以及
使用所述运载工具的控制电路,根据所述最终的经修剪图上的从所述第一点到所述第二点的路径导航所述运载工具。
15.根据权利要求13或14所述的方法,其中,将空间结构的边标记为有用包括基于至少一个驾驶日志计算所述空间结构的边的相应平均距离度量,其中,具有小于预定阈值的相应平均距离度量的边被标记为有用。
16.根据权利要求13、14或15所述的方法,其中,基于所述经修剪图的相应性能迭代地调整从所述经修剪图中去除的边包括:
从所述经修剪图中去除一个或多个边;以及
重新评估剩余图中的边的性能。
17.根据权利要求13、14、15或16所述的方法,包括从所述经修剪图中去除边以满足预定图大小,其中,所述预定图大小是通过图中的边的数量、图的存储要求、或其任意组合来测量的。
18.根据权利要求13、14、15、16或17所述的方法,其中,所述经修剪图上的从第一点到第二点的路径是最低成本路径。
19.根据权利要求13、14、15、16、17或18所述的方法,其中,所述经修剪图的性能是边在复制驾驶日志轨迹方面的准确度。
20.一种运载工具,包括:
至少一个计算机可读介质,其存储有计算机可执行指令;
至少一个处理器,其被配置为执行所述计算机可执行指令,所述执行进行根据权利要求13所述的方法。
21.一种非暂时性计算机可读存储介质,包括由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令在由所述至少一个处理器执行时使得所述第一装置进行根据权利要求13所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/200,050 US11946749B2 (en) | 2021-03-12 | 2021-03-12 | Driving data guided spatial planning |
US17/200,050 | 2021-03-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115077543A true CN115077543A (zh) | 2022-09-20 |
Family
ID=76377831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110874874.XA Pending CN115077543A (zh) | 2021-03-12 | 2021-07-30 | 运载工具及其方法和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11946749B2 (zh) |
KR (1) | KR102601860B1 (zh) |
CN (1) | CN115077543A (zh) |
DE (1) | DE102021132715A1 (zh) |
GB (1) | GB2604661B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230019662A1 (en) * | 2021-07-07 | 2023-01-19 | Oracle International Corporation | Vehicle routing with dynamic selection of turns across opposing traffic |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0477151U (zh) | 1990-11-20 | 1992-07-06 | ||
US9286810B2 (en) * | 2010-09-24 | 2016-03-15 | Irobot Corporation | Systems and methods for VSLAM optimization |
JP2012190405A (ja) | 2011-03-14 | 2012-10-04 | Toyota Motor Corp | 経路情報修正装置、軌道計画装置、及びロボット |
US9037399B2 (en) | 2012-06-20 | 2015-05-19 | Microsoft Technology Licensing, Llc | Pluggable route-planning module |
KR102009482B1 (ko) | 2012-10-30 | 2019-08-14 | 한화디펜스 주식회사 | 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체 |
US9439036B2 (en) * | 2013-01-25 | 2016-09-06 | Visa International Service Association | Systems and methods to select locations of interest based on distance from route points or route paths |
US9332396B2 (en) | 2014-03-17 | 2016-05-03 | Visa International Service Association | Systems and methods to provide location-dependent information during an optimal time period |
US10059287B2 (en) * | 2016-02-17 | 2018-08-28 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method for enhanced comfort prediction |
EP3502622A4 (en) | 2016-08-16 | 2019-09-18 | Nissan Motor Co., Ltd. | ROUTE SEARCHING METHOD AND ROUTE SEARCHING DEVICE |
JP6823512B2 (ja) | 2017-03-16 | 2021-02-03 | 本田技研工業株式会社 | 経路決定装置、車両制御装置、経路決定方法、およびプログラム |
US10761537B1 (en) * | 2017-06-02 | 2020-09-01 | Built Robotics Inc. | Obstacle detection and manipulation by a vehicle within a dig site |
US10990099B2 (en) * | 2018-11-16 | 2021-04-27 | Great Wall Motor Company Limited | Motion planning methods and systems for autonomous vehicle |
DK201970148A1 (en) | 2018-12-10 | 2020-07-06 | Aptiv Tech Ltd | Motion graph construction and lane level route planning |
US10814871B2 (en) | 2018-12-26 | 2020-10-27 | Gm Cruise Holdings Llc | Computing system for assigning maneuver labels to autonomous vehicle sensor data |
KR102279323B1 (ko) | 2019-01-30 | 2021-07-20 | 경희대학교 산학협력단 | 에지 프루닝을 이용한 그래프 희소화 방법 및 장치 |
JP7263119B2 (ja) | 2019-05-22 | 2023-04-24 | 村田機械株式会社 | 走行決定方法、コントローラ、及び当該コントローラを備える走行システム |
US12055936B2 (en) * | 2019-06-17 | 2024-08-06 | Toyota Research Institute, Inc. | Autonomous rideshare rebalancing |
US11781874B2 (en) * | 2019-09-12 | 2023-10-10 | Lyft, Inc. | Transportation route error detection and adjustment |
US20210341300A1 (en) * | 2020-05-04 | 2021-11-04 | Here Global B.V. | Method, apparatus, and system for providing a personally relevant navigation route comparison |
US20210403032A1 (en) * | 2020-06-25 | 2021-12-30 | Tusimple, Inc. | Two-level path planning for autonomous vehicles |
US20220274625A1 (en) * | 2021-02-26 | 2022-09-01 | Zoox, Inc. | Graph neural networks with vectorized object representations in autonomous vehicle systems |
-
2021
- 2021-03-12 US US17/200,050 patent/US11946749B2/en active Active
- 2021-04-14 KR KR1020210048443A patent/KR102601860B1/ko active IP Right Grant
- 2021-04-15 GB GB2105374.9A patent/GB2604661B/en active Active
- 2021-07-30 CN CN202110874874.XA patent/CN115077543A/zh active Pending
- 2021-12-10 DE DE102021132715.6A patent/DE102021132715A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202105374D0 (en) | 2021-06-02 |
GB2604661A (en) | 2022-09-14 |
DE102021132715A1 (de) | 2022-09-15 |
KR102601860B1 (ko) | 2023-11-13 |
US11946749B2 (en) | 2024-04-02 |
US20220290997A1 (en) | 2022-09-15 |
KR20220128233A (ko) | 2022-09-20 |
GB2604661B (en) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102532546B1 (ko) | 미리 계산되거나 동적으로 생성된 궤적 뱅크로부터의 궤적 예측 | |
CN111915917B (zh) | 计算机实现的方法、存储介质和运载工具 | |
CN113196291A (zh) | 自动选择用于注释的数据样本 | |
CN113165668A (zh) | 利用机器学习使用运动规划来操作运载工具 | |
CN112417636A (zh) | 计算机实现的方法和用于运载工具自行操作的*** | |
CN114812589A (zh) | 用于运载工具的方法、自主运载工具和存储介质 | |
CN115328110A (zh) | 用于自主运载工具的***和方法以及存储介质 | |
US11731653B2 (en) | Conditional motion predictions | |
US11887324B2 (en) | Cross-modality active learning for object detection | |
CN114387322A (zh) | 用于运载工具的方法、运载工具和存储介质 | |
CN112014859A (zh) | 估计速率分布 | |
CN114089375A (zh) | 运载工具、用于运载工具的方法和存储介质 | |
CN115146523A (zh) | 选择用于评价自动运载工具的性能的测试情景 | |
CN114252066A (zh) | 运载工具、用于运载工具的方法以及存储介质 | |
CN114815799A (zh) | 运载工具、用于运载工具的方法和存储介质 | |
CN114812586A (zh) | 用于运载工具的***、方法和存储介质 | |
CN115077543A (zh) | 运载工具及其方法和存储介质 | |
US11740360B2 (en) | Light detection and ranging (LiDaR) scan smoothing | |
CN115540888A (zh) | 导航最优路径的方法、存储介质和运载工具 | |
CN116229407A (zh) | 用于运载工具的方法、运载工具和存储介质 | |
CN115729229A (zh) | 用于运载工具的方法和运载工具*** | |
CN114938674A (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 |