CN114270142B - 非结构化的车辆路径规划器 - Google Patents
非结构化的车辆路径规划器 Download PDFInfo
- Publication number
- CN114270142B CN114270142B CN202080052096.XA CN202080052096A CN114270142B CN 114270142 B CN114270142 B CN 114270142B CN 202080052096 A CN202080052096 A CN 202080052096A CN 114270142 B CN114270142 B CN 114270142B
- Authority
- CN
- China
- Prior art keywords
- path
- determining
- cost
- node
- sample
- 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
- 230000033001 locomotion Effects 0.000 claims abstract description 219
- 238000005070 sampling Methods 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 20
- 230000035945 sensitivity Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 description 119
- 230000008569 process Effects 0.000 description 54
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000010801 machine learning Methods 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000008447 perception Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000006073 displacement reaction Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000002243 precursor Substances 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000010845 search algorithm Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000012952 Resampling Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
-
- 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
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- 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
-
- 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/69—Coordinated control of the position or course of two or more vehicles
- G05D1/692—Coordinated control of the position or course of two or more vehicles involving a plurality of disparate vehicles
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
一种自动驾驶车辆引导***,该***至少部分地基于数据结构生成用于控制自动驾驶车辆的路径,数据结构至少部分地基于传感器数据生成,数据结构可表明自动驾驶车辆周围环境中的被占用空间。引导***可以接收网格并生成与该网格和数据结构相关联的网格。引导***可以附加地或备选地至少部分地基于从数据结构确定的特征来动态地对网格进行子采样(横向和/或纵向)。引导***可以至少部分地基于预计算的运动基元集、与之相关联的成本和/或启发式成本图表来确定路径,该路径指示从一个姿势移动到另一个姿势的最低廉成本。
Description
相关申请
本PCT申请要求于2019年7月19日提交的美国专利申请第16/517506号的权益,其全部内容通过引用全部并入本文。
背景技术
自动驾驶车辆可以依靠各种路径指示器,如跑道灯、车道标记和/或类似物来导航。然而,当这些指示器被遮蔽(例如,被雪、垃圾、沙子)、退化(例如,烧坏的灯、磨损的车道标记)和/或失效(例如,障碍物部分地阻挡了车道、交通标志和/或交通锥体指示了与原车道标记冲突的备用车道)时,自动驾驶车辆可能无法准确和/或有效地导航。
附图说明
详细说明参照所附附图来描述。在附图中,附图标记的最左边的(多个)数字表示该附图标记首次出现所在的附图。不同附图中的相同附图标记表示相似或相同的对象。
图1示出自动驾驶车辆和示例场景,其中车道参考(无论是先前绘制的还是检测到的)可能没有指示车辆如何继续前进。
图2示出用于生成用于至少部分地基于可由传感器数据生成的数据结构、例如占用地图来控制自动驾驶车辆的路径的示例过程的图解流程图。
图3示出生成路径的额外或替代部分的示例过程的图解流程图,其可能包括确定由搜索生成的路径是否可行以及如果路径可行/不可行该如何处理。
图4示出搜索(采样的)网格以寻找起始节点与结束节点和/或结束层之间的路径的示例过程的图解流程图,其可能包括确定第一层的第一节点与第二层的第二节点之间的连接。
图5示出用于生成(例如,预计算)一组运动基元和/或成本图表的示例过程的流程图。
图6A描绘包括沿第一路线纵向间隔的层并包括多个节点的示例网格。
图6B描绘包括沿第二路线纵向间隔的层并包括多个节点的示例网格。
图7描绘示例采样网格,其包括示例网格600的纵向采样的层和/或横向采样的节点。
图8A示出由搜索生成的多个路径的示例,其可以包括由搜索确定的第一组和第二组。
图8B示出从第一组路径中选择的主要路径和从第二组路径中选择的附带路径的示例。
图9A示出运动基元集的示例。
图9B示出有向图的示例和/或表示由搜索选择的前身的继任节点和各自的运动基元。
图10A和图10B示出成本图表的各自部分。图10A示出在图10B中确定的偏航值处由成本图表的x和y位置表示的示例值。
图11示出示例引导***和/或用于预计算运动基元集和/或成本图表的***的框图。
具体实施方式
本文讨论的技术可以包括自动驾驶车辆引导***,该***至少部分地基于占用地图(例如,指示环境中的占用空间和/或“自由空间”的地图)生成用于控制自动驾驶车辆的路径。因此,包括本文所讨论的引导***的自动驾驶车辆可能能够准确和有效地导航,避开其他对象,即使环境是“非结构化的”(即,环境不包含路径指示器或路径指示器退化、模糊和/或过时),例如像不包含标记、道路、人行道和/或其他类似结构的空地的环境,这些结构可以用于识别自动驾驶车辆操作的界限,和/或在道路上没有一个车道有足够宽的开放空间供自动驾驶车辆操作的情况下。
装备有本文所讨论的引导***的自动驾驶车辆可以检测到指示器不可用(或者以其他方式确定车辆鉴于确定的或接收的指示而无法继续前进,例如由存储在自动驾驶车辆可访问的存储器中的地图识别的车道参考),并且至少部分地基于检测到指示器不可用来确定用于控制自动驾驶车辆的路径。附加地或备选地,本文讨论的引导***可以连续地生成不基于(至少不主要基于)指示器的附带路径,基本上与主要引导***(训练为使用结构和/或指示器生成路径)生成至少部分地基于指示器的路径同时进行。在一些示例中,如果标称引导***生成的路径会导致碰撞或因其他原因而无法运行(例如,该路径会导致自动驾驶车辆停止和/或呼叫远程操作),那么自动驾驶车辆可以使用附带路径,如果该附带路径无碰撞。
如本文所使用的,路线至少可包括在环境内关联的起始位置和结束位置。在一些示例中,起始位置可以确定自动驾驶车辆的当前姿势(例如,位置和/或航向),和/或结束位置可以确定自动驾驶车辆的目标姿势。该路线可以附加地或备选地确定起始位置和结束位置之间的一个或多个曲线,和/或与起始位置和/或结束位置相关联的车辆姿势。例如,起始位置可以确定在道路的第一车道内的位置,结束位置可以确定在第二车道内的位置,距离起始位置两个城市街区、右转弯和另外一个城市街区。换句话说,该路线可能是自动驾驶车辆的高级任务。如本文所用,曲线可包括直线。
本文讨论的技术可以接收路线,例如通过接收终点位置(例如,可以由远程操作者和/或乘客指定),确定自动驾驶车辆的当前位置(例如,至少部分地基于从自动驾驶车辆的一个或多个传感器收到的传感器数据,例如全球定位传感器(GPS)、激光雷达、雷达、照相机等),以及至少部分地基于自动驾驶车辆存储的地图来确定起始(当前)位置和与终点位置相关联的结束位置之间的路线。所述技术可以包括至少部分地基于地图确定与路线的至少一部分相关联的曲线。例如,自动驾驶车辆可以根据(多个)道路的形状和/或起始位置与结束位置之间的自由空间来确定或曲线。
自动驾驶车辆可以根据本文讨论的技术生成路径,以到达由路线指定的结束位置。在一些示例中,本文讨论的起始位置和结束位置可以与路线的一部分相关联。在路线可以指定自动驾驶车辆行驶的道路和/或类似物的情况下,路径可以指定自动驾驶车辆如何在中间距离(例如,10米、20米、50米、100米)内到达结束位置(例如,哪个车道、车道内的位置、航向)。自动驾驶车辆可以附加地或替代性地生成轨迹,用于至少部分地基于路径控制自动驾驶车辆。轨迹可由自动驾驶车辆用于控制自动驾驶车辆在比至少部分地基于滚动时域技术和由路径指定的位置和/或姿势的路径更短的时间段/距离内(例如,5毫秒、10毫秒、0.5秒)的运动。在这样的示例中,轨迹可以包括,例如,任何一个或多个路径点和/或与一个或多个路径点相关联的期望速度、加速度、取向等。
在一些示例中,所述技术可以包括从自动驾驶车辆的传感器接收传感器数据,并至少部分地基于传感器数据来生成占用地图。占用地图可以包括环境的地图,其指示环境的各个部分被对象占用的可能性和/或自动驾驶车辆可在其中操作的自由空间的部分。在一些示例中,占用地图可以附加地或备选地包括对象的速度和/或航向的指示,例如可以由对象跟踪、直接速度测量(例如,雷达)等提供。在一些情况下,占用地图可以附加地或备选地包括与占用地图中的位置相关联的概率(例如,指示环境中的相应位置被对象占用或不被占用的概率)。
所述技术可以附加地或备选地包括接收路线并生成覆盖占用地图的至少一部分的网格(例如,栅格)。网格可以包括规律或不规律间隔的节点。在一些示例中,生成网格可以至少部分地基于该路线。例如,网格可以包括一个或多个节点层,其中层可以包括与该层相关联的路线的一部分正交的节点。换句话说,该层的节点可以横向横跨该路线(例如,可以根据路线相关联的坐标框架来构建)。附加地或备选地,引导***可以至少部分地基于栅格结构和/或间距来生成网格。在一些示例中,网格可以包括数百、数千、数十万或任何其他数量的节点。网格的节点数量可以至少部分地基于网格的预先定义的密度(例如,要生成路径的每个单位的节点(例如,接下来20米的操作,接下来10秒的操作))和/或至少部分地基于自动驾驶车辆的速度、环境类型和/或自动驾驶车辆的环境中的对象数量的密度。该密度可与引导***的精度上限相关联。例如,要将自动驾驶车辆控制在1厘米的公差范围内,密度必须较高,但要将自动驾驶车辆控制在10厘米的公差范围内,则需要较低的密度。
在一些示例中,所述技术可以包括对网格进行采样,这可以减少确定路径的时间和/或确定路径所需的计算带宽。对网格进行采样可以包括选择网格的一个或多个层和/或选择层的一个或多个节点。在至少一个示例中,对网格进行采样可以包括确定占用地图的一部分,该部分与达到或超过阈值变化的拓扑结构变化(例如,由占用地图识别的对象检测结果的形状)有关,以及选择层作为样本层,该层与达到或超过阈值变化的占用地图的部分有关。在一些示例中,层可以与占用地图的表征相关联,该表征表示占用地图所指示的占用节点的数量、密度、分布和/或类似情况。
在一些示例中,被采样层可以包括多个节点(例如,边缘),并且采样可以附加地或备选地包括对被采样层进行采样。对被采样层进行采样可以包括至少部分地基于多个节点的预定数量来选择被采样层的多个节点的子集,确定多个节点中的一个或多个无碰撞的节点,和/或选择根据采样率间隔的节点的子集。对层进行采样可称为“横向采样”。
一旦在占用网格上生成了网格和/或对网格进行了采样,则所述技术可以包括通过网格的(被采样的)节点在起始位置和结束位置和/或与结束位置相关联的结束层之间搜索路径。在一些示例中,搜索路径可以包括搜索网格中不同层的节点之间的相邻连接集。搜索从起始位置到结束位置的路径可以包括确定从结束位置到起始位置或在其他示例中从起始位置到结束位置的节点之间的相邻连接集。在一些示例中,搜索可以配置有规则集,规则集可以包括一个或多个规则,例如,指定确定路径的边界(例如,边界可以至少部分地基于传感器数据和/或地图来确定)、节点连接规则(例如,在一个层包括横向布置在路线上的节点的情况下,同一层的节点可以不被连接)和/或类似规则。在一些示例中,搜索可以包括确定网格的(被采样的)节点之间的有向图。有向图可以包括第一节点和第二节点之间的连接(例如,边缘)和/或与该连接相关联的权重(例如,成本)。
在一些示例中,搜索可以至少部分地基于占用地图、运动基元集(例如,自动驾驶车辆的可能运动的模板运动)和/或成本图表(至少在一些示例中,其可以与各运动基元相关联)。在一些示例中,一个或多个运动基元可被预计算(例如,在自动驾驶车辆运行以完成任务之前生成),并存储在自动驾驶车辆在运行时可访问的存储器中。运动基元可包括转向控制、自动驾驶车辆的位置、加速度和/或自动驾驶车辆的速度的指示,其中可行性可能取决于自动驾驶车辆的控制***和/或结构和/或速度、加速度、乘客舒适度(例如,预先定义的速度和/或加速度的(多个)上限和/或下限)和/或其他运动学效应,例如表面摩擦、阻力、车身侧倾等。例如,运动基元可以模拟响应油门和/或转向控制的自动驾驶车辆的位置和/或取向。
预计算一个或多个运动基元可以包括生成与自动驾驶车辆的可行运动相关联的数十个、数百个或数千个(或任何其他数量)的(多个)曲线(例如,三次螺旋线、多项式曲线、贝塞尔曲线、克罗梭曲线等)。在一些示例中,预计算三次螺旋线的一个或多个运动参数可以包括至少部分地基于密度和/或一个或多个界限(例如,弧长、最大曲率、速度和/或与最大曲率相关联的速度范围)来迭代地生成具有不同参数的不同曲线。在一些示例中,自动驾驶车辆可以接收一个或多个运动基元,这可包括在运动基元集的两个或多个运动基元之间进行内插。在这样的示例中,预生成的基元的数量可以以计算精度较低的基元(例如,基于内插)为代价来减少。在附加或替代的示例中,运动基元可至少部分地基于由经训练的生成转向命令的机器学习模型生成的输出进行预计算,该机器学习模型至少部分地基于使用由人类和/或模拟人类驾驶员生成的转向命令和/或从人类驾驶员的观察中推断出的转向命令进行训练。例如,用作训练数据的转向命令可以从捕获人类驾驶员对车辆的输入的传感器接收,和/或至少部分地基于从包括例如为交通相机馈送的车辆行为的传感器数据、由自动驾驶车辆捕获的道路上其他车辆的传感器数据和/或类似数据推断出的转向命令来确定。
在一些示例中,成本图表可以被预计算并存储在自动驾驶车辆在运行时可访问的存储器中。成本图表可以具有对应于自动驾驶车辆在其参照其参考姿势运行的环境中的潜在姿势的尺寸。例如,成本图表中的第一位置(第一单元)可以表示参照参考姿势(例如,可以由成本图表的原点表示)的纵向位移、横向位移和/或航向位移(例如,第一姿势),以及从参考姿势实现纵向、横向和/或航向位移的最小成本。预计算与第一单元相关联的第一成本可包括确定连接参考姿势和第一姿势的一个或多个运动基元子集,确定与每个运动基元子集相关联的成本,以及从与运动基元的一个或多个子集相关地确定的成本中确定与最小成本相关联的运动基元子集(例如,该子集可包括一个或多个运动基元)。
在各种实例中,可以至少部分地基于确定区域内所有节点之间的所有连接并搜索其间提供最小总成本的连接集来确定路径,该总成本可以包括与该路径上确定的每个运动基元相关联的成本。在至少一些示例中,这种连接可以被限制为仅是在可行的节点之间的那些连接。在附加的和/或替代的示例中,计算资源可以至少部分地基于通知搜索方向而不枚举所有可能的连接来保留。如下面详细描述的那样,这种示例可以根据确定那些连接到先前确定节点的节点来选择接继节点进行探索,这些节点在所有与之相连的节点中成本最低,此外还有基于到目标的距离的启发式成本。此外,可以理解的是,这种连接不需要局限于接继层中的节点。作为非限制性的示例,这样的路径搜索可以包括搜索第一层和第二层、第三层、第四层等中的任何一个或多个层之间的节点。
在一些示例中,在对路径进行全面搜索之前,所述技术可以包括确定由引导***确定的先前路径和/或先前连接是否可行(例如,是否满足当前约束条件,比如速度、最大转向角和/或边界;是否无碰撞;是否具有小于成本阈值的成本)。
在一些示例中,路径的搜索可以包括至少部分地基于成本图表、运动基元集和/或占用地图来确定第一层的第一节点与第二层的第二节点之间的连接。应注意,第一节点和/或第二节点可以是样本节点,并且第一层和/或第二层可以是样本层。连接可以确定第一节点为第二节点的前身、第二节点为第一节点的继任、与第一节点和第二节点相关联的运动基元和/或与连接相关联的成本。确定连接可以包括至少部分地基于成本图表确定第二节点与下述成本相关联,该成本小于阈值成本和/或与第二层中其他节点相关联的成本相比是最小成本。至少部分地基于这一确定,搜索可包括确定在第一节点和第二节点之间是否存在无碰撞的运动基元,即运动基元集中的运动基元。如果存在无碰撞基元,则搜索可将无碰撞基元确定为第一节点和第二节点之间的连接的一部分,和/或搜索可确定与无碰撞基元相关联的成本。如果基元的成本达到或超过成本阈值,或者如果在第一节点和第二节点之间没有确定出无碰撞基元,则搜索可以确定第二层中具有次高成本的第三节点,和/或搜索可以至少部分地基于迭代计数来触发对网格进行重新采样,在迭代计数之前,搜索没有确定出无碰撞和/或低成本的路径(例如,低成本可以定义为低于阈值成本)。
如上所述,搜索可以至少部分地基于成本图表和/或运动基元集,迭代地确定要探索无碰撞和/或低成本运动基元的节点,直到搜索确定起始位置和结束位置之间的路径,或者直到搜索探索层的每个节点并确定该层的所有节点与无效(导致碰撞)和/或高成本(达到或超过成本阈值)运动基元相关联。在后一种情况下,搜索可以从路径中删除一个或多个最后的连接,确定要从搜索中排除的节点集,和/或重新搜索先前各层之间的不同连接。如果已经这样做了,并且前面n个先前层的节点已经被搜索过,结果相同,那么搜索可以输出失败状态和/或发送远程协助请求,其中n是正整数。
在额外的或替代的实施例中,所述技术可以包括替代的搜索策略,该策略可以包括尝试连接少于所有的节点,例如,通过至少部分地基于运动基元集确定与当前节点连接的一个或多个节点(当前节点由搜索所到达的最后一个节点定义,其可以是搜索开始时的起始节点或结束层的节点),通过增加与层采样相关联的阈值变化(例如从而降低层选择对占用地图中拓扑结构变化的敏感性)试图连接在路线切线的阈值距离内的节点,和/或降低采样率,以便层的较少节点将被采样,从而减少要连接的节点集,和/或至少部分地基于未能连接节点和/或未能确定可行路径而迭代地扩大尝试连接的节点的数量(例如,通过增加采样率、降低采样层的阈值变化(例如,使层采样更敏感,以便更多的层被采样)。在某些情况下,所述技术可以包括继续搜索成本较低的路径,直到与生成的路径相关联的总成本低于阈值成本,直到最终位置和/或姿势与目标位置和/或姿势之间的差异小于阈值差异,和/或直到达到预先定义的迭代次数。
这些技术可以包括至少部分地基于与构成路径的相邻连接的相邻集相关联的成本来确定路径的总成本。在一些示例中,与连接相关联的成本可以包括由成本图表指示的成本,和/或可以至少部分地基于:与连接第一节点至第二节点的运动基元相关联的成本(例如,运动基元的曲率越大,成本越高),与安全裕度相关联的成本(例如,使自动驾驶车辆更接近对象的成本更高,可能取决于速度和/或其他运动学),和与有关于运动基元的终点的结束位置和/或姿势与目标位置和/或姿势之间的差异相关联的成本,与自动驾驶车辆的起始位置和/或姿势相关联的成本(例如,与有关于运动基元的开始和/或第一节点的位置和/或姿势相关联的成本,和/或与有关于第一节点的位置和/或姿势和起始位置和/或姿势之间的差异相关联的成本),与连接第一层和第二层的运动基元和连接先前层到第一层的运动基元之间的差异相关联的成本,和/或类似的成本。在一些示例中,所述成本中的至少一个成本可至少部分地基于运动基元与由经训练的生成转向命令的机器学习模型生成的输出之间的差异,机器学习模型至少部分地基于使用由人类和/或模拟人类驾驶员生成的转向命令和/或从人类驾驶员的观察中推断出的转向命令进行训练。
本文讨论的引导***可以至少部分地基于本文讨论的成本确定路径为可行的和/或确定置信度分数。引导***可以输出路径和/或置信度分数,自动驾驶车辆可以使用该分数来控制自动驾驶车辆的运动,例如,通过至少部分地基于该路径生成轨迹。在一些示例中,引导***可以输出主要路径和/或附带路径。例如,引导***可以至少部分地基于生成候选路径集来确定附带路径,至少部分地基于阈值距离来确定该集包括两组候选路径(例如,这两组可以是两个不同的同伦组),并从第一组中选择主要路径,从第二组中选择附带路径。在一些示例中,主要路径可至少部分地基于确定主要路径与小于与附带路径相关联的第二总成本的第一总成本相关联而被选为主要路径。主要路径可能与第一总成本相关联,和/或附带路径可能与第二总成本相关联,第一和/或第二总成本小于成本阈值和/或可能是与之相关联的各组的最低成本。
示例场景
图1示出示例场景100,包括自动驾驶车辆102,其包括本文讨论的引导***。在一些情况下,自动驾驶车辆102可以是构造为根据美国国家公路交通安全管理局颁布的5级分类运行的自动驾驶车辆,其描述了能够执行对于整个旅程来说所有安全性关键功能的车辆,其中,不期待驾驶员(或乘员)在任何时候控制车辆。然而,在其他示例中,自动驾驶车辆102可以是具有任何其他级别分类的完全或部分的自动驾驶车辆。可以设想,本文讨论的技术可以适用于机器人控制之外的领域,例如自动驾驶车辆。例如,本文讨论的技术可以应用于视频游戏、制造业、增强现实等的路径寻找。
自动驾驶车辆102可以包括(多个)计算设备104,其可以包括一个或多个ML(机器学习)模型和/或本文讨论的引导***。例如,(多个)计算设备104可以包括感知引擎106和/或规划器108,其可以包括一个或多个ML模型并且可以是本文讨论的引导***的部分。例如,感知引擎106和/或规划器108可以包括用于进行本文讨论的与引导***有关的操作的硬件和/或软件。引导***可以包括更多或更少的组件,但为了便于理解,感知引擎106和/或规划器108被作为非限制性的示例给出。
在一些示例中,ML模型可以包括神经网络,例如卷积神经网络(CNN)。如本文所述,示例性神经网络是受生物启发的算法,它将输入数据通过一系列的连接层来产生输出。神经网络的每层也可包括另一神经网络,或可包括任何数量的层(无论是否为卷积的)。正如在本公开内容的上下文中可以理解的那样,神经网络可以利用机器学习,这可以指广泛的此类算法,其中输出是基于学习的参数生成的。虽然是在神经网络的背景下进行讨论,但任何类型的机器学习都可以符合本公开内容。
在一些示例中,本文讨论的引导***和/或ML模型可以包括存储在(多个)计算设备104的存储器中和/或可访问的处理器可执行指令、硬件和/或其某种组合(例如,现场可编程门阵列(FPGA)、特定应用集成电路(ASIC))。
在示例场景100中,自动驾驶车辆102已经接收和/或确定了定义起始位置112、结束位置114以及起始位置112和结束位置114之间的曲线的路线110(应注意,该曲线包括直线和/或一个或多个曲线)。例如,规划器108可以至少部分地基于传感器数据和作为任务的一部分收到(例如,从乘客、从指挥中心收到)的结束位置来确定路线110。如本文所使用的,对“位置”的引用可以包括位置和/或姿势(例如,车辆的位置和/或取向/航向)。
当车辆操作以到达结束位置114时,自动驾驶车辆102可能遇到像示例场景100那样的场景,其中依赖车道参考(例如,至少部分地基于地图和/或定位自动驾驶车辆102而确定)来生成路径的规划器可能不会准确和/有效地生成路径。例如,各种对象(例如,堵塞的车辆116、工具箱118和倒下的交通锥体120)累积起来堵塞了所描绘的道路的所有三个车道,这可能导致另一规划器停止车辆和/或呼叫远程操作,因为没有一个车道有用于自动驾驶车辆的足够空间。
然而,本文讨论的引导***可以至少部分地基于从(多个)传感器126捕获的传感器数据生成的占用地图124来生成路径122。自动驾驶车辆102可接收来自自动驾驶车辆102的(多个)传感器126的传感器数据。例如,传感器数据可包括位置信号(例如GPS信号)、惯性信号(例如加速度计信号、陀螺仪信号等)、磁力计信号、车轮编码器信号、速度计信号、累积的激光雷达和/或雷达点的点云、飞行时间数据、图像(或多个图像)、音频信号和/或减重或其他环境信号等。
在一些示例中,感知引擎106可以包括一个或多个ML模型和/或其他计算机可执行指令,用于从由自动驾驶车辆102的环境中收集的传感器数据中检测、识别、分割、分类和/或跟踪对象。在一些情况下,感知引擎106可以至少部分地基于传感器数据生成占用地图124。占用地图可以包括环境中的一位置被对象占用和/或以其他方式不可用于自动驾驶车辆102的操作的指示,和/或环境中的另一位置是“自由空间”、即未被对象占用和/或自动驾驶车辆可以操作的位置。在一些示例中,占用地图可以附加地或备选地包括由感知引擎106计算出的各位置未被占用或被占用的概率。
例如,图1中描绘的占用地图124可以包括表示为被占用的并且对应于由与工具箱118相关联的感知引擎106生成的对象检测结果128的第一部分。类似地,表示为被占用的占用地图124的其他部分可以对应于与阻挡车辆116相关联的对象检测结果130和与倒下的交通锥体120(以及为清晰起见没有编号的其他交通锥体)相关联的对象检测结果132,否则占用地图124表示环境的其余部分(在占用地图124的边界内)为自由空间。
在一些情况下,感知引擎106可以从自动驾驶车辆102的(多个)传感器126接收传感器数据,从传感器数据确定包括占用地图124的感知数据,并将感知数据传输给规划器108,以便由规划器108用于确定路径122,至少部分地基于路径122确定一个或多个轨迹,控制自动驾驶车辆102的运动以穿越路径或路线(例如,通过将一个或多个轨迹传送给自动驾驶车辆102的控制组件),和/或以其他方式控制自动驾驶车辆102的操作,尽管任何此类操作可以在各种其他组件中执行。
在一些情况下,规划器108可以使用感知数据,包括占用地图124和/或自动驾驶车辆102的当前位置、和/或路线110和/或路径122来生成用于控制自动驾驶车辆102的操作的指令。例如,规划器108可以为自动驾驶车辆102确定从起始位置到结束位置的路线;至少部分地基于传感器数据确定占用地图;至少部分地基于占用地图124、路线110、成本图表和/或一个或多个运动基元确定路径,如在此进一步讨论的那样;以及基本上同时生成多个潜在轨迹,用于根据滚动时域技术并至少部分地基于路径122控制自动驾驶车辆102的运动(例如1微秒、半秒、数秒等);和/或选择潜在轨迹之一作为自动驾驶车辆102的轨迹,该轨迹可被用于生成驱动控制信号,该信号可被传送到自动驾驶车辆102的驱动组件,以控制自动驾驶车辆102穿越路径122。
示例操作
图2-图5示出与至少部分地基于路线和占用地图生成路径有关的各种过程的图解流程图。这些过程可以组合使用,也可以单独使用,和/或由同一设备或不同设备执行。例如,自动驾驶车辆的计算设备可以完成至少部分操作和/或(例如,分布式计算服务、远程操作***的)远程计算设备可以完成至少部分操作。引导***的硬件和/或软件组件,例如包括感知引擎106和/或规划器108,可以被配置为完成示例过程200、示例过程300、示例过程400和/或示例过程500的至少一部分。在额外的或替代的示例中,远程计算设备可以完成示例过程200、示例过程300、示例过程400和/或示例过程500的至少一部分。在一些示例中,所述过程的至少一些操作可以由自动驾驶车辆和/或(多个)其他计算设备、例如分布式计算***进行预计算。
图2示出与至少部分地基于路线和占用地图生成路径有关的示例过程200的图解流程图。
在操作202中,示例过程200可以包括根据本文讨论的任何技术,接收与环境中的起始位置和结束位置相关联的路线。在一些示例中,操作202可以包括至少部分地基于自动驾驶车辆的当前位置(例如,至少部分地基于传感器数据确定的)和/或结束位置(例如,路线的终止点、沿路线的中间点)来确定路线。该路线可以附加地或备选地包括一个或多个曲线(可以包括一个或多个直线),所述曲线可以至少部分地基于与道路和/或通往结束位置的其他途径相关联的曲率来确定。这样的(多个)曲线可以对应于和/或至少部分地基于存储在存储器中的地图和/或与道路相关联的指示器(例如,确定与中央分隔带、双黄线、路肩指示、人行道和/或类似物相关联的形状)来确定。在不同的示例中,这样的路线可以附加地或备选地包括所需的在其中行驶的车道、行走的街道以及类似物。
在操作204中,示例过程200可以包括根据本文讨论的任何技术接收与环境相关联的占用地图124。例如,接收占用地图可以包括至少部分地基于传感器数据和/或从自动驾驶车辆可访问的存储器检索可驾驶表面数据来检测环境中的一个或多个对象。在一些示例中,与检测到的对象相关联的尺寸可以在一个或多个方向(例如,纵向和/或横向)被放大,以减少碰撞或侥幸免撞的风险。例如,尺寸可以被放大自动驾驶车辆的一半宽度、自动驾驶车辆的四分之一宽度和/或类似情况。在一些情况下,操作202可以附加地或备选地包括确定距离地图,其中距离地图中的位置表示从该位置到占用地图中指示为被占用的最近的位置的距离。在一些示例中,确定与碰撞相关联的成本可以至少部分地基于距离地图。
在操作206中,示例过程200可以包括根据本文讨论的任何技术生成覆盖占用地图的至少一部分的网格。在一些示例中,网格可以包括一个或多个层的栅格,其中网格包括覆盖车辆前面的区域的若干单元。层可以包括一个或多个节点,节点可以根据结构(例如,线、指定形状和/或密度的矢量)来组织。层中的节点数量可以至少部分地根据密度(例如,每米的层有m个节点)来预先定义,这可能对应于由引导***生成的路径的最大目标精度(例如,可以指定路径的最大特殊性)。在一些示例中,网格的各层可以按照预先定义的密度(例如,每米的路线有p个层)沿着路线间隔开,和/或层的结构可以正交地位于路线上。在一些示例中,(与路线纵向间隔的)各层的密度可能与(与路线横向间隔的)各层的节点密度不同。在附加或备选的示例中,除了或替代如上所述的有规律的间隔,节点可以不规律地间隔(例如,根据节点位置的随机生成)。
图2包括来自图6A的示例网格600的描述,该示例网格可以至少部分地基于路线602生成,与起始位置604和/或结束位置606相关联,并且覆盖在占用地图124上或以其他方式与占用地图124相关联(例如,示例网格600的尺寸可以与占用地图124的尺寸和/或边界对应)。这样的网格可以至少部分地基于路线相关联的坐标***来确定(例如,各层沿行进方向隔开,并在其法线方向上延伸)。简要地转向图6B,示例网格600可以包括一个或多个层,例如层608。层、如层608可以包括多个节点。节点在图中被描绘成小圆圈,如层608的节点610;然而,可以理解的是,这里讨论的节点可以是网格的顶点和/或网格的一部分,如由单元识别的区域。无论如何,图6A描绘示例网格600,该网格包括可根据间距612沿路线纵向间隔的层,该间距可与第一预先定义的密度和/或层数量相关联。此外,层中的节点数量可以至少部分地基于第二预先定义的密度(例如,沿在一些示例中可能是横向于路线的层的距离内的节点数量)。在一些示例中,与层相关联的第一密度和/或与层的节点相关联的第二密度可以至少部分地基于自动驾驶车辆的速度和/或路径的精度/颗粒度的上限来确定,这在一些示例中可能是预先定义的。示例网格600的各层包括横向/正交分布于路线602的节点。
图6B描绘可至少部分地基于路线616生成的示例网格614。图6B可更多地说明示例网格600的各层可被生成,使得各层沿路线616间隔开,并且层618可包括横向/正交于路线616布置的节点。可以理解的是,层和/或节点可以以其他方式生成(例如,在至少部分地基于路线602和/或地图的边界内随机分布)。
回到图2,在一些示例中,网格可以至少部分地基于路线参照系(例如,由路线定义的空间)生成,其中网格的节点可以与来自路线的纵向、横向和/或角度位移有关。在附加或备选的示例中,网格可以至少部分地基于惯性参照系生成,该参照系可以包括参照静止的自动驾驶车辆和/或姿势参照系的纵向、横向和/或角度分量,姿势参照系可以包括相对于给定的惯性姿势的纵向、横向和/或角度位移。网格可以由欧氏坐标、欧拉角、球面坐标、其某种组合和/或类似物来定义。在至少一个示例中,例如路线的路径搜索,使用路线参照系生成的网格可以至少部分地基于沿路线的纵向位移s、从路线的横向位移ey和/或从与路线相关联的角度的航向位移eθ来定义。例如在附加或备选的示例中,例如停车时的路径搜索,网格可以包括欧氏空间。
在操作208中,示例过程200可以包括根据本文讨论的任何技术对网格进行采样。例如,对网格进行采样可以包括选择网格的层的子集(“纵向采样”),选择层的一个或多个节点(“横向采样”),和/或排除层的与占用地图的确定为被占用的部分重叠和/或位于阈值距离之内的节点。选择层的子集可以至少部分地基于第一采样率(例如,每米要选择的最小、最大和/或确切的层数),这可以至少部分地基于自动驾驶车辆的速度(至少部分地基于传感器数据确定);要选择的最小层数,这可以至少部分地基于本文讨论的一个或多个运动基元的(最大)长度;和/或占用地图124。
在至少一个示例中,除了或替代基于第一采样率的静态选择(例如,选择每第o层,其中o是正整数),选择子集可以是至少部分地基于占用地图124的动态选择。在一些示例中,对示例网格600的采样可以包括纵向采样(例如,选择示例网格的一个或多个层)和/或横向采样(例如,选择层的一个或多个节点)。图7中更详细地描绘被采样的网格700,包括至少部分地基于占用地图124和示例网格600的动态选择的层子集(至少部分地基于纵向采样的层子集)的示例。示例网格600的节点被描绘成圆圈,而被采样的网格700的节点,包括被选为样本的层和/或节点,用填充的方块来描绘。
在一些示例中,动态选择示例网格600的第一样本层702层(由图7中的椭圆表示)以包括在层子集中,可以包括确定与第一样本层702相关联的占用地图的第一拓扑结构。例如,转向图7,这可能包括确定与第一样本层702相关联的占用地图124的一部分的值的分布。例如,与第一样品层702相关联的占用地图124的部分可以是与第一样品层702的节点相交并与占用地图124和/或占用地图124的以其他方式与第一样本层702相关联的区域相关联的(未画出的)线。在所描绘的示例中,这些值可包括与对象检测结果128相关联的被占用的空间,并可在其他方面表示自由空间。
第一样本层702的动态选择可附加地或备选地包括确定与示例网格600的先前层704相关联的第二拓扑结构。为了清楚起见,在图7中没有椭圆表示先前层704的节点,但是先前层704可以包括紧靠第一样本层702的节点左侧的节点组(朝向起始节点706)。在所描绘的示例中,与先前层704相关联的第二拓扑结构仅表示自由空间(即,没有对象检测结果与和先前层704相关联的占用地图124的部分相关联)。在一些示例中,至少部分地基于确定第一拓扑结构和第二拓扑结构之间的差异达到或超过差异阈值,第一样本层702地图被选择为包含在层子集中的样本。至少部分地基于这个规则,示例网格600中在第一样本层702右侧的后续两个层可能不会被选择纳入子集,因为与这些层相关联的占用地图124的拓扑结构与第一拓扑结构相比没有变化;然而,第二样本层708可能被选择,因为与第二样本层708相关联的第三拓扑结构和与示例网格600在第一样本层702右侧和第二样本层708左侧的层相关联的拓扑结构相比可能达到或超过阈值差异。换句话说,为纳入而选择的下一个层是后续层,其中与占用地图124的重叠与先前选择的要保留的层或示例网格600中的先前层相差超过阈值量。
第三样本层710和第四样本层712可以结合静态采样率展示动态选择。例如,采样率可以附加地或备选地定义层间的最小和/或最大间距。第三样本层710可以至少部分地根据拓扑结构的变化来选择,并且,即使在第三样本层710和第四样本层712之间的层可能与符合或超过变化阈值的拓扑结构的变化相关联。例如,根据这样的技术选择层可以包括选择与由于一个或多个对象的存在而由占用地图识别的自由空间形状的变化相关联的(多个)层(例如,与特定层相关联的自由空间和与最后选择的层相关联的自由空间相比在拓扑上发生了变化,这两个层具有不同数量的无碰撞区间,最后选择的层的第一无碰撞区间具有与特定层相关联的第二无碰撞区间不同的长度)。在一些示例中,采样率可以至少部分地基于迭代计数、被确定为与达到或超过成本阈值的总成本相关联的先前路径的数量或环境中单位距离的节点密度中的至少一个。
在一些实例中,选择第一层作为样本层可以附加地或备选地包括至少部分地基于确定第一层与第二层相比与不同数量的自由空间区间(例如,确定为未被占用的占用地图的相邻部分)相关联和/或与第一层相关联的第一自由空间区间和与第二层相关联的第二自由空间区间相比具有不同长度来选择第一层。对层进行采样可称为“纵向采样”。
在一些示例中,对网格进行采样可附加地或备选地包括选择层的一个或多个节点作为样本节点(“横向采样”)。例如,第一样本层702和第二样本层708的节点已经至少部分地基于第二采样率被采样,而第三样本层710和第四样本层712的节点仅被采样以移除对应于由被采样网格700中的占用地图指示的占用空间的节点。在一些示例中,从层中选择的节点可以至少部分地基于第二采样率,该采样率规定了样本节点之间的最小和/或最大间距、节点的密度、在对象检测结果之间的节点密度和/或类似物。在一些示例中,层的样本节点可以至少部分地基于占用地图124、起始节点706(例如,最接近起始位置604的节点,靠近起始位置604的节点)、结束节点714(例如,最接近起始位置604的节点,靠近起始位置604的节点)和/或结束层716而是动态的。例如,采样可以包括从被采样网格700中排除对应于被占用空间(或在其阈值距离内)和/或如果自动驾驶车辆被定位在节点处将导致碰撞的任何节点,和/或列入在开始节点706、结束节点714和/或结束层716的距离阈值内的一个或多个节点。在一些示例中,可以与自由空间区间相关联地选择最小数量的样本节点。
在操作210中,示例过程200可以包括根据本文讨论的任何技术,至少部分地基于路线、占用地图和/或与运动基元集相关联的成本图表来搜索被采样网格(或者在跳过操作208的实例中的未被采样网格)的至少一个路径212。如关于图3的进一步讨论,运动基元集和/或成本图表可以预计算(例如,计算并存储在自动驾驶车辆可访问的存储器中,以便在运行时检索)。在一些示例中,搜索被采样网格可以包括确定被采样网格的至少一个样本节点子集之间的(相邻)连接集。确定样本节点集之间的连接可以包括至少部分地基于下述方式来确定第一节点和第二节点之间的连接,即至少部分地基于运动基元集来确定第一节点可能被连接的被采样图的一个或多个节点。在一些示例中,一个或多个节点可以被存储在有向图中。
在一些示例中,搜索可以包括诸如D*、D*lite、聚焦动态(Focused Dynamic)A*、A*、LPA*、Dijkstra算法和/或类似的算法,尽管可以使用用于搜索和/或生成有向图和/或加权有向图的其他搜索算法。在一些示例中,搜索可以至少部分地基于样本节点和规则集来构建有向图。例如,规则集可以规定,同一层的两个节点不得连接和/或连接节点之间的最小和/或最大距离(例如,该距离可以至少部分地基于运动基元集的最大长度)和/或类似。
在一些示例中,示例过程200可以附加地或备选地选择用于搜索的搜索算法。例如,选择搜索算法可以包括至少部分地基于自动驾驶车辆的速度、致力于搜索的计算时间和/或计算带宽、和/或由感知引擎检测到的和/或取决于路线的场景(例如,自动驾驶车辆正在寻找用于停车的路径、自动驾驶车辆正在寻找用于在城市中运行的路径、自动驾驶车辆正在寻找用于在高速公路上运行的路径)从多个算法中选择搜索算法。
搜索可以从结束位置和/或结束层开始搜索,并搜索到起始位置的路径,或者搜索可以从起始位置开始并搜索到结束位置和/或结束层的路径。无论如何,搜索可以包括迭代地识别尚未连接的节点(例如,至少部分地基于确定该节点是无碰撞的、可连接到由搜索添加到路径的最后一个节点(如果搜索刚刚开始,该节点可能是起始节点或结束节点),和/或与成本图表中的第一成本相关,其中第一成本可能小于阈值成本和/或与下一层其他节点相比是最低成本),识别与该节点相关联的无碰撞运动基元,并且如果该运动基元是无碰撞的和/或与小于成本阈值的第二成本相关,则将该节点和运动基元加入路径。一旦确定了这种相邻连接集,相邻集就可被输出为路径212。在一些示例中,搜索可以确定多个路径,并从多个路径中选择路径212,至少部分是基于路径212与其他路径相比具有最短总长度和/或最小总成本。例如,图8A描绘在起始节点800和结束节点802之间通过被采样网格生成的多个路径的示例,图8B描绘从多个路径中选择的路径212。在附加或备选的示例中,搜索可以被配置为保证搜索已经找到最低廉和/或最短的路径,如果存在的话。
在附加或备选的示例中,搜索可以确定由搜索生成的多个路径之间是否存在多个同伦组。例如,这可以包括聚类算法,其在一些示例中可以是机器学习的;确定路径之间的距离并确定该距离是否小于阈值(同组)或该距离是否达到或超过距离阈值(不同组)。无论如何识别组,搜索可以从第一组中选择主要路径,并从剩余的q个组中选择p个附带路径,其中p和q是正整数并且p≤q。在一些示例中,搜索可以从p+1或q+1组中选择路径,并至少部分地基于确定与每个路径相关联的总成本从每个组中选择一个路径。
例如,为组选择的路径可以与总成本相关联,该总成本与该组的其他路径相比是最小的总成本。搜索可以从选自组的多个路径中选择主要路径,至少部分地基于与主要路径相关联的总成本是与多个路径相关联的总成本相比的最小总成本。例如,路径212可能已经从第一组804中选出,而附带路径214可能已经从第二组806中选出。路径212可能被选为主要路径,至少部分是基于与路径212相关联的第一总成本和与附带路径214相关联的第二总成本。
搜索可以包括确定在第一层的第一样本节点和第二层的第二样本节点之间建立连接。
图3描绘示例过程200的额外或替代部分,即示例过程300的流程图,其可包括确定由搜索生成的路径是否可行,以及如果路径可行/不可行该如何处理。
在操作302中,示例过程300可以包括根据本文讨论的任何技术确定由搜索生成的路径是否满足可行性约束条件集。这种对路径是否可行的确定可以包括验证该路径形成从起始位置到结束位置和/或结束层的相邻的路径集,验证和/或确定该路径是无碰撞的,确定与该路径相关联的总成本,和/或确定该总成本是否小于成本阈值。
如果路径是可行的,则示例过程300可以过渡到操作304,其可以包括传输路径。传输路径可以包括由规划器的一个组件输出路径,以供规划器的另一个组件使用,例如,轨迹生成组件,其可以确定包括用于驱动组件的指令的轨迹以跟踪该路径。
如果路径不可行,例如,路径与达到或超过成本阈值的总成本相关联,路径不是无碰撞的,路径达到或超过离目标路线的阈值长度和/或阈值距离和/或类似情况,则示例过程300可以过渡到操作306,其可以包括确定迭代计数。例如,在生成路径之后,搜索可以递增计数器,并确定计数器是否表明已经达到了预定的计数(例如,由计数器指示的值是否表明了预定的数字)。
如果已经达到迭代计数,则示例过程300可以过渡到操作308,其可以包括增加分配给搜索的计算时间和/或计算带宽,改变所使用的搜索算法(例如,从D*Lite切换到A*),和/或计算本文讨论的至少一些数据,备选地作为被预计算的随车数据,例如运动基元。附加地或备选地,在操作308中,示例过程300可包括输出失败状态。
如果没有达到迭代计数,则示例过程300可以过渡到操作310,其可以包括返回到操作208和/或操作210。例如,操作310可包括对网格进行重新采样以生成第二被采样网格。重新采样可以包括纵向采样和/或横向采样,与以前的样本网格相比,增加第二被采样网格的分辨率(节点数)。至少部分地基于纵向采样(例如,选择网格的(多个)层)增加分辨率可以包括增加与纵向采样相关联的灵敏度,例如,通过减少与至少部分地基于占用地图的动态纵向采样相关联的变化阈值和/或通过增加与纵向采样相关联的第一采样率。附加地或备选地,提高分辨率可包括提高与横向采样相关联的第二采样率(例如,选择(多个)层的节点)。在重新采样之后,在操作210处的搜索可以至少部分地基于重新采样的网格重新进行(例如,达到与搜索相关联的迭代计数)。
图4描绘在操作210中搜索的至少一部分的示例过程400的流程图,其可以包括接收第一层404的第一节点402。例如,第一节点402可以是起始节点、结束节点和/或结束层的节点,和/或第一节点402可以是先前连接的继任节点(例如,下一个的继任/开始节点)。在所描绘的示例中,搜索从与起始位置相关联的起始节点开始,在搜索路径时,到目前为止,已经通过路径确定了两个连接。可以理解的是,在附加或备选的示例中,搜索可以从结束节点和/或结束层的另一个节点开始(例如,搜索可以在从起始位置到结束位置或相反的任何一个方向进行)。在一些示例中,从结束节点和/或结束层到起始节点的搜索可能导致比从起始节点到结束节点和/或结束层的搜索更快地找到路径和/或最低廉的路径。所描绘的示例中的第一节点402是先前的连接406的继任节点。在搜索相邻的连接集时,搜索可以确定将第一节点402连接到继任层(参照第一层404继任)之一的哪个节点。在一些示例中,搜索可以至少部分地基于与运动基元相关联的距离来限制要搜索的继任层的数量,其中“(多个)继任层”可以定义为离搜索的起始层最远的后续(多个)(样本)层(其可能不同于与起始节点相关联的层,因为搜索可能起源于结束节点和/或结束层)。例如,如图4所示,搜索可以限制到后续两层,尽管这个数字至少可以部分地基于与运动基元相关联的长度而变化。
确定将第一节点402连接到继任层的哪个节点可以至少部分地基于占用地图124、网格600或被采样网格700、运动基元集900和/或成本图表408,其可以代表成本图表1000A和/或1000B。
在操作410中,示例过程400可以包括根据本文讨论的任何技术接收(被采样)网格、占用地图、基元集和/或成本图表。例如,感知引擎的组件可以生成占用地图和/或(被采样)网格,并且在基元集和/或成本图表被预计算的示例中,搜索可以从自动驾驶车辆可访问的存储器中检索基元集和/或成本图表。
在操作412中,示例过程400可以包括根据本文讨论的任何技术来确定第一层404的第一节点402与(多个)后继层之一的第二节点414之间的连接。确定连接可以至少部分地基于占用地图、基元集和/或成本图表。例如,确定连接可以至少部分地基于操作416-426,其可以包括确定与第二节点414相关联的第一成本(例如,“待完成成本”),确定第一节点402和第二节点414之间的运动基元,该运动基元与小于成本阈值或小于与其他运动基元相关联的成本的第二成本相关,和/或确定该运动基元是无碰撞的。在一些示例中,操作416-426可以是以下搜索算法的一部分和/或包括以下搜索算法,例如D*、D*lite、FocusedDynamic A*、A*、LPA*、Dijkstra算法和/或类似算法。在一些示例中,操作416-426可以包括找到可连接到第一节点的节点子集,至少部分地基于与成本图表所示的下一个未探索节点相关联的第一成本(例如,“待完成成本”)选择该节点子集的下一个未探索节点(例如确定下一个未探索节点是具有与之相关联的第一成本的未探索节点,第一成本低于与(多个)其他未探索节点相关联的(多个)第一成本),和/或确定与从车辆的当前位置和/或取向(例如如果反向探索)移动到下一个未探索节点相关联的或与如果向前探索图的最终期望位置和/或取向相关联的第二成本(例如,“未来成本”)。在至少一些示例中,这样的第二成本可以是启发式成本并被预计算。在这样的示例中,启发式成本(尽管是预计算的)可以至少部分地基于从所选节点的位置和/或取向与最终(或起始)节点相比的转变而改变。
在操作416中,示例过程400可以包括根据本文讨论的任何技术,至少部分地基于基元集,确定第一节点402可以连接到的(多个)继任层的节点(“可连接”到第一节点的(多个)节点)的子集418。如上所述,要搜索的(多个)继任层的数量可以至少部分地基于预定数量(例如,2、3、5、10)、自动驾驶车辆的速度和/或与基元集相关联的长度。在一些示例中,确定第一节点402可连接的节点子集可至少部分地基于将运动基元集的第一运动基元的起点定位在第一样本节点,确定第一运动基元在如此定位时终止于第三样本节点,并且将第三样本节点包括在节点子集中。例如,图4描绘第一节点402可以连接的节点子集418。第一节点402可连接的节点子集418通过至少一个运动基元连接到第一节点402,如操作416右边的图中所示。在一些示例中,操作416可以附加地或备选地包括确定存在连接第一节点402与(多个)节点的无碰撞运动基元。
在一些示例中,操作416可以附加地或备选地包括存储有向图和/或添加有向图的节点子集418。有向图可以通过任何合适的方法指示图的有向性,例如通过指示第一节点402是子集418的前身和/或子集418是第一节点402的(多个)继任。有向图可以额外或替代性地存储添加到路径的(多个)连接,例如先前的连接406,存储在有向图中的节点是否已经被不成功地探索(例如,在操作422中被选择,在操作424中失败)/被成功地探索(例如,在操作422中被选择,在操作424中成功)/未被探索(例如,尚未/从未在操作422中被选择)的指示,和/或类似。在一些实例中,有向图可以附加地或备选地存储与连接相关联的第二成本(例如,在操作426中确定的)。
在一些示例中,确定与由搜索生成的路径相关联的总成本可以包括查找与构成路径的个体连接相关联的第二成本,其中第二成本和/或个体连接(和/或与之相关联的运动基元)可以与有向图相关联地存储。
在操作420中,示例过程400可以包括根据本文讨论的任何技术,至少部分地基于第一节点将继任层(例如,在图4中描绘的示例中的两个层)的一个或多个节点(例如,在操作416确定的节点子集418)映射到成本图表。例如,将第二节点414映射到成本图表可以包括将第二节点414从生成第二节点的坐标空间(例如,路线参照系、惯性参照系)映射到与成本图表相关联的空间(例如,姿势参照系)。在一些示例中,网格可以至少部分地基于路线参照系生成,而成本图表可以至少部分地基于姿势参照系生成。例如,确定与第二节点414相关联的成本可以包括将与第一节点402相关联的姿势作为参考姿势(例如xr,yr,θr),并且将第二节点映射到成本图表可以包括将与第二节点相关联的姿势(例如x2,y2,θ2)转换到与第一节点相关联的姿势为原点的空间。在至少一个示例中,第二节点从与网格相关联的坐标空间到与成本图表相关联的坐标空间的转换可以表示如下:
其中Tse2是特殊的欧几里得组,它可以代表姿势(x,y,θ),如下所示:
在操作422中,示例过程400可以包括根据本文讨论的任何技术,至少部分地基于与第二节点414相关联的第一成本(例如,“待完成成本”)来选择第二节点414。在一些示例中,与第二节点相关联的第一成本可以是由成本图表中与将第二节点映射到成本图表相关联的位置指示的值,(即第二节点在使用第一节点作为参考姿势定义的姿势参照系中的位置)。如果该位置位于成本图表之外,那么搜索可以确定第二节点在成本图表的边界之外的预测和/或与之相关联的预计成本。在一些示例中,至少部分地基于第一成本选择第二节点414可以至少部分地基于确定第一成本小于成本阈值和/或小于与第二层的其他节点相关联的成本(例如,第一成本可以是最小成本,第一成本可以小于(多个)后续层的至少另一个节点的成本)。
在操作424中,示例过程400可以包括根据本文讨论的任何技术,确定运动基元集合中是否存在无碰撞且将第一节点连接到第二节点的运动基元。如果没有找到这样的运动基元,则搜索可以返回到操作422,例如,直到达到迭代计数和/或直到子集418的每个节点被探索(例如,在操作422中被选择),在这种情况下,示例过程400可以过渡到操作310和/或示例过程400可以包括回溯,这可以包括移除先前的连接406并确定新的先前的连接并试图确定新的后续连接。
确定运动基元是否无碰撞可包括确定下面就表达式(3)讨论的安全裕度成本——在一些示例中,高于阈值安全裕度成本的安全裕度成本可能指示碰撞。在附加或备选的示例中,确定运动基元是否无碰撞可包括确定具有等于运动基元的弧长和对应于自动驾驶车辆的宽度(例如,宽度可等于自动驾驶车辆的宽度,宽度可为自动驾驶车辆的宽度的150%)的形状,并确定该形状的任何部分是否与占用地图的指示为被占用的部分重叠。图4描绘无碰撞运动基元428和因与碰撞有关而无效的无效运动基元430(例如,因为运动基元430与被占用空间432重叠——然而应注意,运动基元不需要与被占用空间重叠而导致碰撞)。
在一些示例中,确定运动基元是否与碰撞相关联可以包括将自动驾驶车辆表示为具有等于自动驾驶车辆宽度的直径的两个圆,其中第一圆可以以自动驾驶车辆的前轴为中心,第二圆可以以自动驾驶车辆的后轴为中心。在一些示例中,自动驾驶车辆的表示和/或由占用地图指示的被占用空间可以被放大以考虑误差(例如,(多个)圆的直径和/或在占用地图中指示为被占用的区域可以被放大为自动驾驶车辆宽度的一半)。
确定运动基元是否将第一节点连接到第二节点可以包括将运动基元集转换为与第一节点相关联的惯性参照系框架和/或路线参照系(例如,上述表达式(1)的反演),并且确定运动基元在第一节点开始并在第二节点终止。至少部分地基于确定运动基元从第一节点开始并在第二节点终止,搜索可包括将第一节点识别为第二节点的前身,并将第二节点识别为第一节点的继任。在一些示例中,搜索可包括确定从第一节点开始并在第二节点终止的运动基元的子集。附加地或备选地,搜索可以至少部分地基于包括每个被采样节点的这种子集的有向图(例如,识别每个被采样节点的继任的节点和/或识别连接继任与被采样节点的运动基元)。在一些示例中,这样的有向图可以在进行搜索之前被确定。例如,图9B描绘路径(902)中第r个节点的前身节点和与前身节点的继任相关联的运动基元的示例。图9B包括对至少部分地基于搜索而选择的每个节点/连接的这样的描绘。
在操作426中,示例过程400可以包括根据本文讨论的任何技术,确定与在操作422确定的运动基元相关联的第二成本(例如,“未来成本”或“待完成成本”,取决于搜索方向)和/或将第一节点和第二节点之间的连接至少部分地基于第二成本添加到路径。第二成本可以至少部分地基于自动驾驶车辆的当前姿势和/或与第一节点相关联的姿势;运动基元的曲率;至少部分地基于从运动基元的至少一部分到占用地图的确定为被占用的部分的第一距离的安全裕度成本(例如,在第一节点和第二节点之间的运动基元与占用地图所指示的一个或多个对象之间的距离);第一节点和第二节点之间的运动基元与和先前节点和第一节点之间的先前连接相关联的先前运动基元之间的第一差异(例如,运动基元与先前的运动基元的偏差程度);运动基元的至少一部分与和起始位置、结束位置和/或目标位置相关联的车道的第二距离;和/或与第一节点、第二节点和/或运动基元相关联的第一姿势和与结束位置和/或结束层相关联的第二姿势之间的第二差异。
例如,确定安全裕度成本可以包括至少部分地基于通过运动基元将第一节点连接到第二节点而评估以下表达式:
其中,k0可以包括预定的常数权重,k1可以包括安全裕度(例如,预定的最小距离,自动驾驶车辆应该从该距离操作,并且d(s)可以包括在弧长s处到占用地图指示的最近对象的距离,并且sf是沿运动基元的最终位置。在至少一些示例中,这种距离,d(s),可以根据占用地图在整个区域内计算,从而确定上述成本可以包括对距离地图的查找。
确定第一姿势和与结束位置和/或结束层相关联的第二姿势之间的第二差异(以及与之相关联的成本)可以包括评估以下表达式:
c0(s-send)2+c1(ey-ey,end)2+c2(eθ-eθ,end)2 (4)
其中,c0、c0和c0可以是预确定的(例如机器学习的)权重,并且该表达式评估与第一节点、第二节点和/或运动基元相关联的纵向位置和与结束位置和/或结束层相关联的纵向位置之间的总差异;与第一节点、第二节点和/或运动基元相关联的横向位置和与结束位置和/或结束层相关联的横向位置之间的总差异,以及与第一节点、第二节点和/或运动基元相关联的偏航和与结束位置和/或结束层相关联的偏航之间的总差异。
确定与运动基元相关联的成本,例如与运动基元的曲率相关联的成本,可以包括评估以下表达式:
其中a0、a1和a2是预定的权重,k(s)是运动基元在弧长s处的曲率,而和/或/>可以与运动基元集相关联地预计算。
在一些示例中,搜索可以至少部分地基于第二成本在第一节点402和第二节点414之间添加连接434。例如,搜索可以至少部分地基于确定第二成本小于成本阈值而添加连接434。在一些示例中,添加连接434可以包括将运动基元和/或第二成本与第一节点402和第二节点414相关联(例如,通过将连接434与有向图中的第一节点402、第二节点414、第二成本和/或无碰撞运动基元428相关联)。在一些示例中,第一成本和/或第二成本可以是由搜索确定的与路径相关联的总成本的一部分。在一些示例中,示例过程400可以附加地或备选地包括将第二成本与有向图中的第一节点402和第二节点414相关联,而不管第二成本是否小于成本阈值。因此,有向图可以包括探索过的节点的记录和与其相关联的第二成本。
在一些示例中,示例过程400的一个或多个操作可以通过并行计算完成,例如,由图形处理单元(GPU)完成。例如,操作416可以附加地或备选地包括排除在与运动基元集相关联的边界(例如,远离第一节点402的最大x、y和/或θ)之外的继任层的节点,并且与剩余节点中的每个节点相关联地生成线程或其他并行进程。在类似的示例中,例如,在那些节点之间所有可能的连接和/或所有可能的连接的子集被确定的示例中,这种并行计算可以包括计算与所有可能的路径相关联的所有成本。线程/并行进程可以被分配到能够并行处理的处理单元(例如,GPU的管线、中央处理单元(CPU)的多线程和/或核心)的不同核心和/或管线,并在不同的各自核心和/或管线上并行地确定是否存在连接到第一节点到其余各节点的运动基元。操作412和/或416-426可以以类似方式完成。在一些示例中,可以同时并行地进行多个搜索和/或并行地探索不同的节点。
图5示出用于确定运动基元集和/或成本图表的示例过程500。在操作502中,示例过程500可以包括根据本文讨论的任何技术确定运动基元集和/或与其相关联的成本。例如,在一些情况下,运动基元集可由远程计算设备和/或自动驾驶车辆(例如,当自动驾驶车辆空闲/当前未在完成任务时,当自动驾驶车辆被评估和/或维护时)预计算(例如,在运行时之前进行本文讨论的操作)出运动基元集。在一些示例中,运动基元集可以包括前身/继任节点对的指示。图9描绘运动基元集900。在一些示例中,该集可包括成百上千个运动基元,但为了清楚起见,图9A中描绘的示例包括数十个运动基元900。在一些示例中,运动基元可以是自动驾驶车辆的可行运动的表示,例如多项式线、三次螺旋线、贝塞尔曲线、克罗梭曲线和/或类似物。例如,对于范围内的任何弧长s,运动基元可以表示为具有参数a、b、c、d和sf的立方多项式,如下所示:
k(s)=a+bs+css+ds3 (9)
其中a、b、c和d可表示如下:
其中ki是弧长为的三次方多项式的曲率。
附加地或备选地,确定运动基元集可以包括确定具有连接惯性参照系中的第一姿势和第二姿势的参数的运动基元。例如,确定运动基元集可以确定连接原点(例如,参考姿势)和目标姿势的运动基元,并且至少部分地基于预定的分辨率和一个或多个平滑度约束条件(例如,参数的(多个)最小和/或最大值)在有界空间中迭代所有可能的目标姿势,以确保运动基元不会引起漂移的或不舒服的转向控制。在一些示例中,平滑度约束条件可以至少部分地基于与车辆相关联的速度范围。在一些示例中,可针对不同的速度范围生成多个运动基元集(例如,第一运动基元集可至少部分地基于第一平滑度约束条件集针对第一速度范围生成,例如每小时80-100公里)。例如,平滑度约束条件可以随着速度的增加而对参数进行更多的约束(例如,减少数值),从而为更高速度生成更平滑/更直的运动基元。运动基元集900描绘这样的运动基元集,其分辨率为x=5,y=1和θ=π/8。在用于生成数百或数千个运动基元的额外或替代示例中,分辨率可以是x=0.2,y=0.2和θ=0.2。
在一些示例中,确定运动基元集可包括例如通过求函数根的牛顿法,求解与螺旋/多项式/贝塞尔等相关联的参数,所述参数起源于原点,终止于分辨率的倍数的位置(例如,x=0.2、y=0.2和θ=0.2的倍数,直到边界)。其他求根方法可用于解决参数问题,例如,哈雷方法、塞坎特方法、斯特芬森方法、布伦特方法和/或类似方法。
在一些示例中,确定运动基元集可以作为并行计算进行(例如,在多个处理器/处理器核心之间分割,例如通过使用多个图形处理单元(GPU)管线和/或多个中央处理单元(CPU)核心)。
在操作504中,示例过程500可以包括根据本文讨论的任何技术,至少部分地基于运动基元集来确定成本图表。在一些示例中,成本图表的原点可以与参考姿势和/或参考惯性状态相关联,并且成本图表中的位置可以确定将姿势改变为由该位置和/或与最小成本相关联的运动基元确定的姿势的最小成本。例如,成本图表可以包括与从参考姿势506(xr=0,yr=0,θr=90°)移动到目标姿势508(xt=12,yt=4,θt=130°)相关联的最小成本(和/或与最小成本相关联的运动基元),其中,参考姿势506可以与成本图表的原点相关联,目标姿势508可以与成本图表的位置相关联,与该位置相关联的值可以包括最小成本和/或运动基元参数。确定成本图表可以包括在操作510处至少部分地基于分辨率生成可能姿势的网格,在操作512中至少部分地基于运动基元集确定可达单元的连接性,和/或在操作514中确定连接的单元之间的成本(例如,最小成本)和/或与之相关联的运动基元。在一些示例中,操作510-514中的一个或多个可以是Dijkstra或其他类似算法的一部分。
在操作510中,示例过程500可以包括根据本文讨论的任何技术生成可能姿势的网格。在一些示例中,操作510可以包括将特殊的欧几里得空间离散为表示姿势的单元。
在操作512中,示例过程500可以包括根据本文讨论的任何技术,至少部分地基于运动基元集来确定可达单元的连接性。例如,操作512可包括确定运动基元集的至少一个运动基元(子集)是否将成本图表的原点516连接到单元518(例如,当运动基元的起点位于原点516时,运动基元的终点接触到单元518)。
在操作514中,示例过程500可以包括根据本文讨论的任何技术,确定与连接原点到单元的运动基元子集的每个运动基元相关联的成本。例如,确定与运动基元相关联的成本,例如与运动基元的曲率相关联的成本,可以包括评估以下表达式:
其中a0、a1和a2是预定的权重,k(s)是运动基元在弧长s、和/或处的曲率。与基元相关联的这种运动成本可以预计算并与基元相关联,以便能够快速查找成本。
在一些示例中,操作514可以包括确定与子集相关联的一个或多个成本中的最小成本,并将最小成本与单元518的位置相关联。操作514可以附加地或备选地将与最小成本相关联的运动基元的参数与单元518相关联。
可以执行504的那些类似操作(无论基本上同时、循序地或以其他方式执行)以计算所用的额外成本。作为非限制性的示例,可以计算相对于期望的结束位置和/或取向的所有潜在的起始位置的启发式(第一)成本,并且这种成本存储在成本图表中,例如成本图表1000a。
在操作520中,示例过程500可以包括根据本文讨论的任何技术来传输和/或存储成本图表和/或运动基元集。例如,远程计算设备可以将成本图表(例如,成本图表1000A)和/或运动基元集传输到一个或多个自动驾驶车辆和/或自动驾驶车辆可以存储成本图表和/或运动基元集。在一些示例中,可与不同的运动基元集相关联地生成多个成本图表(例如,其中多个运动基元集是与不同的速度范围相关联地生成的)。
图10A和10B描绘示例成本图表1000的各部分。成本图表1000A描绘与成本图表1000B所指定的偏航位置的x和y位置相关联的成本值(深色阴影表示较低成本,浅色阴影表示较高成本),这可能是所描绘的示例中每个位置的最小成本偏航。在各种示例中,这样的成本图表可以与启发式成本相关联,如上所述。如本文进一步详细描述的那样,位于这种成本图表之外的初始位置可以根据成本图表中最近的点或点的内插(或外推)来估计。
示例***
图11示出实施本文所述技术的示例***的框图。在一些情况下,***1100可包括车辆1102,该车辆可对应于图1中的自动驾驶车辆102。在一些情况下,车辆1102可以是构造为根据美国国家公路交通安全管理局颁布的5级分类运行的自动驾驶车辆,其描述了能够执行对于整个旅程来说所有安全性关键功能的车辆,其中,不期待驾驶员(或乘员)在任何时候控制车辆。然而,在其他示例中,车辆1102可以是具有任何其他级别分类的完全或部分的自动驾驶车辆。而且,在一些情况下,本文描述的技术也可被非自动驾驶车辆使用。可以设想,本文讨论的技术可以适用于机器人控制之外的领域,例如自动驾驶车辆。例如,本文讨论的技术可以应用于视频游戏、制造业、增强现实等。
车辆1102可以包括车辆计算设备1104、一个或多个传感器***1106、一个或多个发射器1108、一个或多个网络接口1110和/或一个或多个驱动组件1112。在一些情况下,车辆计算设备1104可以代表(多个)计算设备104和/或(多个)传感器1106可以代表(多个)传感器126。
在一些情况下,(多个)传感器1106可包括激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如全球定位***(GPS)、罗盘等)、惯性传感器(例如惯性测量单元(IMU)、加速计、磁力计、陀螺仪等)、图像传感器(例如相机,例如红-绿-蓝(RGB)、红外(IR)、强度、深度、飞行时间等)、麦克风、车轮编码器、环境传感器(例如温度传感器、湿度传感器、光传感器、压力传感器等)等。(多个)传感器1106可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆1102的拐角、前面、后面、侧面和/或顶部的单个激光雷达传感器。作为另一示例,相机可以包括布置在车辆1102的外部和/或内部的不同位置的多个相机。(多个)传感器1106可向计算设备1104提供输入。
车辆1102也可包括(多个)发射器1108,用于发射光和/或声音。本实施例中的(多个)发射器1108可包括用于与车辆1102的乘客通信的内(多个)部音频和视觉发射器。通过示例但非限制性地,(多个)内部发射器可包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如振动和/或力反馈)、机械执行器(例如安全带张紧器、座椅***、头枕***等)以及诸如此类。(多个)发射器1108在本示例中也可包括(多个)外部发射器。通过示例但非限制性地,(多个)外部发射器在本示例中包括发出行驶方向信号或其他指示车辆活动的灯(例如指示灯、标志、灯光阵列等),以及一个或多个音频发射器(例如扬声器、扬声器阵列、喇叭等),用于与行人或其他附近车辆进行声音通信,其中一个或多个外部发射器包括声束转向技术。
车辆1102也可包括(多个)网络接口1110,能在车辆1102与一个或多个其他本地计算设备或远程计算设备之间进行通信。例如,(多个)网络接口1110可有利于与车辆1102和/或(多个)驱动组件1112上的(多个)其他本地计算设备的通信。而且,(多个)网络接口1110可附加地或备选地允许车辆与(多个)其他附近计算设备的通信(例如其他附近的车辆、交通信号等)。(多个)网络接口1110可以额外或替代性地使车辆1102与(多个)计算设备1114通信。在一些示例中,(多个)计算设备1114可以包括分布式计算***(例如,云计算架构)的一个或多个节点。
(多个)网络接口1110可包括物理接口和/或逻辑接口,用于将车辆计算设备1104连接至另一计算设备或网络、比如(多个)网络1116。例如,(多个)网络接口1110可实现基于Wi-Fi的通信,例如通过由IEEE 802.11标准规定的频率、短距离无线频率比如蓝牙,也可实现蜂窝通信(例如2G、3G、4G、4G LTE、5G等)或任何合适的有线或无线通信协议,所述通信协议能实现相应计算设备与(多个)其他计算设备通过接口连接。在一些情况下,车辆计算设备1104和/或(多个)传感器1106可以通过(多个)网络1116以特定的频率、在经过预定的时间段后、以近乎实时的方式向(多个)计算设备1114发送传感器数据等。
在一些情况下,车辆1102可包括一个或多个驱动组件1112。在一些情况下,车辆1102可具有单个驱动组件1112。在一些情况下,(多个)驱动组件1112可包括一个或多个传感器,以探测(多个)驱动组件1112的工况和/或车辆1102的环境。通过示例但非限制性地,(多个)驱动组件1112的(多个)传感器可包括一个或多个车轮编码器(例如旋转编码器)以感测驱动组件的车轮的旋转、惯性传感器(例如惯性测量单元、加速计、磁力计、陀螺仪等)以测量驱动组件的取向和加速度、照相机或其他图像传感器、超声传感器用于以声学方式探测驱动组件周围的对象、激光雷达传感器、雷达传感器等。一些传感器、例如车轮编码器可能是(多个)驱动组件1112所特有的。在一些情况下,(多个)驱动组件1112上的(多个)传感器可以与车辆1102的相应***(例如(多个)传感器1106)重叠或补充。
(多个)驱动组件1112可包括多个车辆***,包括高压电池、推动车辆的马达、将电池的直流电转换为交流电供其他车辆***使用的逆变器、包括转向马达和转向架(可以是电动的)的转向***、包括液压或电动执行器的制动***、包括液压和/或气动组件的悬挂***、用于分散制动力以降低牵引力损失并保持控制的稳定性控制***、HVAC(高压交流电)***、照明(例如用于照亮车辆外部的头/尾灯的照明)以及一个或多个其他***(例如冷却***、安全***、车载充电***、其他电气组件比如DC/DC转换器、高压结点、高压电缆、充电***、充电端口等)。此外,(多个)驱动组件1112可包括驱动组件控制器,其可接收和预处理来自(多个)传感器的数据以控制不同车辆***的操作。在一些情况下,驱动组件控制器可包括一个或多个处理器,并且存储器与一个或多个处理器通信关联。存储器可存储一个或多个组件,以执行(多个)驱动组件1112的各种功能。进一步地,(多个)驱动组件1112也可包括一个或多个通信连接,能实现各驱动组件与一个或多个其他本地或远程计算设备的通信。
车辆计算设备1104可包括一个或多个处理器、(多个)处理器1118和与一个或多个处理器1118通信关联的存储器1120。(多个)计算设备1114可以附加地或备选地包括(多个)处理器1122和/或存储器1124。(多个)处理器1118和/或1122可以是任何合适的处理器,如本文所述,所述处理器能够执行指令以处理数据并且执行操作。通过实例但非限制性地,(多个)处理器1118和/或1122可包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、集成电路(例如特定用途集成电路(ASIC)等)、门阵列(例如现场可编程门阵列(FPGA)等)和/或任何其他装置或装置的一部分,该装置处理电子数据以将该电子数据转化为可存储在寄存器和/或存储器中的其他电子数据。
存储器1120和/或1124可以是非暂时性计算机可读介质的示例。存储器1120和/或1124可以存储操作***和一个或多个软件应用程序、指令、程序和/或数据,以实现本文所述的方法和归属于各种***的功能。在各种实施方案中,存储器可以使用任何合适的存储器技术来实现,如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器、或任何其他能够存储信息的存储器类型。本文所描述的架构、***和单个元素可以包括许多其他的逻辑、程序和物理组件,其中附图中所示的组件只是与本文讨论有关的示例。
在一些情况下,存储器1120可以存储感知引擎1126,其可以代表感知引擎106,和/或规划器1128,其可以代表规划器108,其中任一或两者可以包括硬件、软件或其某种组合。存储器1120可以额外或替代性地存储一个或多个***控制器1130(其可以额外或替代性地被实施为硬件),其可以被配置为控制车辆1102的转向、推进、制动、安全、发射器、通信和其他***。这些(多个)***控制器1130可以与(多个)驱动组件1112和/或车辆1102的其他组件的相应***通信和/或对其进行控制。例如,规划器可以至少部分地基于感知引擎1126和/或规划器1128的输出,例如路径,生成用于控制车辆1102的指令,并将指令传送到(多个)***控制器1130,***控制器可以至少部分地基于指令控制车辆1102的操作。
在一些情况下,存储器1120和/或存储器1124可以存储与运动基元集相关联的运动基元集1132和/或成本图表1134,例如本文所述的那些运动基元和/或成本图表。在一些示例中,存储器1124可以附加地或备选地存储运动基元和/或成本图表生成器1136。在一些示例中,运动基元和/或成本图表生成器1136可以包括机器学习(ML)模型(例如,神经网络)和/或并行处理组件。
如本文所述,示例性神经网络是受生物启发的算法,它将输入数据通过一系列的连接层来产生输出。神经网络的每层也可包括另一神经网络,或可包括任何数量的层(无论是否为卷积的)。正如在本公开内容的上下文中可以理解的那样,神经网络可以利用机器学习,这可以指广泛的此类算法,其中输出是基于学习的参数生成的。
虽然是在神经网络的背景下进行讨论,但任何类型的机器学***滑(LOESS))、基于实例的算法(例如岭回归、最小绝对收缩和选择运算符(LASSO)、弹性网、最小角度回归(LARS))、决策树算法(例如分类和回归树(CART)、迭代二分法3(ID3)、卡方自动交互检测(CHAID)、决策树桩,条件决策树),贝叶斯算法(例如朴素贝叶斯、高斯朴素贝叶斯、多叉朴素贝叶斯、平均单项估计器(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类算法(如k-means、k-medians、期望最大化(EM)、分层聚类)、关联规则学习算法(例如感知、反向传播、霍普菲尔网络、径向基函数网络(RBFN))、深度学习算法(如深度波尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、叠加自动编码器)、降维算法(例如主成分分析(PCA)、主成分回归(PCR)、部分最小二乘回归(PLSR)、萨蒙映射、多维缩放(MDS)、投影追求、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集合算法(例如提升算法,引导聚集算法(Bagging),自适应提升算法,层叠泛化算法(融合),梯度提升机(GBM),梯度回归提升树(GBRT),随机森林)、SVM(支持向量机)、监督学习、无监督学习、半监督学习等等。架构的其他示例包括神经网,如ResNet50、ResNetlOl、VGG、DenseNet、PointNet,等等。
应当注意的是,虽然图11被说明为分布式***,但在替代实例中,车辆1102的组件可以与(多个)计算设备1114相关联和/或(多个)计算设备1114的组件可以与车辆1102相关联。也就是说,车辆1102可以执行与(多个)计算设备1114相关联的一个或多个功能,反之亦然。
示例条款
A.一种方法,包括:接收与环境中的起始位置和结束位置相关联的路线;从传感器接收传感器数据;至少部分地基于所述传感器数据,确定表明所述环境中的空间是否被占用或未被占用的数据结构;至少部分地基于所述路线来确定第一网格,所述第一网格包括沿所述路线间隔布置的一个或多个层,并定义与所述环境中不同的位置相关联的多个节点;至少部分地基于所述数据结构来确定节点子集;至少部分地基于所述节点子集、成本图表和潜在运动集,确定所述起始位置和所述结束位置或结束层中的至少一个之间的路径,所述成本图表包括指示从一系列位置和取向移动到所需的位置和取向的成本的数值集;以及至少部分地基于所述路径来控制自动驾驶车辆。
B.根据段落A所述的方法,其中,所述潜在运动集中的潜在运动与运动成本相关联,该方法进一步包括:至少部分地基于所述第二节点和所述成本图表来确定第一成本;以及至少部分地基于所述运动成本来确定所述节点子集的第一节点和第二节点之间的连接,其中,所述路径包括所述连接。
C.根据段落A或B所述的方法,其中,至少部分地基于以下内容来预计算所述潜在运动集的潜在运动:生成包括多个单元的第二网格,其中,所述多个单元的第一单元代表所述自动驾驶车辆的第一姿势,并且所述多个单元的第二单元代表所述自动驾驶车辆的第二姿势;以及确定曲线,当所述自动驾驶车辆沿着所述曲线从所述第一单元到所述第二单元时,将导致所述自动驾驶车辆匹配所述第二姿势。
D.根据段落A-C中任一段落所述的方法,其中,至少部分地基于所述数据结构来确定所述节点子集包括以下中的至少一项:至少部分地基于确定与所述数据结构的第一被占用空间相关联的第一层的第一节点数量不同于与所述数据结构的第二被占用空间相关联的在所述第一层之前的第二层的第二节点数量,确定所述一个或多个层的第一层作为样本层;或至少部分地基于采样率来确定所述第一层的一个或多个节点作为样本节点。
E.根据段落A-D中任一段落所述的方法,其中:确定所述路径包括搜索;所述搜索是第一搜索,所述样本层是第一样本层集中的第一样本层,所述样本节点是第一样本节点,并且所述采样率是第一采样率;以及该方法进一步包括:在阈值时间量或阈值迭代次数内,确定所述第一搜索无法确定可行路径;确定第二样本层集或第二样本节点中的至少一个,以增加样本节点的总数;以及至少部分地基于对所述第二样本节点的第二搜索,确定第二路径。
F.根据段落A-E中任一段落所述的方法,其中,所述搜索包括:确定从所述结束位置或结束层中的至少一个到所述起始位置的路径集,其中,所述路径集小于所述结束位置或结束层与所述起始位置之间的所有可能路径;确定所述路径集包括第一组路径和第二组路径,这至少部分地基于确定所述第一组路径之间的第一距离小于阈值距离并且所述第二组路径之间的第二距离小于所述阈值距离,其中,所述第一组路径包括第一路径;以及将所述第一路径作为主要路径输出,并且将所述第二组路径的第二路径作为附带路径输出。
G.一种***,包括:一个或多个处理器;以及存储处理器可执行指令的存储器,当由所述一个或多个处理器执行所述指令时,使所述***执行以下操作,包括:接收与环境中的起始位置和结束位置相关联的路线;从传感器接收传感器数据;至少部分地基于所述传感器数据来确定数据结构,所述数据结构识别所述环境的各部分是否被占用;至少部分地基于所述路线来确定网格,所述网格包括沿所述路线的一个或多个层,其中,所述一个或多个层中的个体层与所述路线的一部分相关联并包括多个节点;至少部分地基于所述网格和所述数据结构,选择所述一个或多个层的一个或多个节点作为样本节点;以及至少部分地基于对所述样本节点之间的连接集的搜索,确定与所述结束位置或与所述结束位置相关联的结束层中的至少一个与所述起始位置之间的第一路径,其中,所述搜索至少部分地基于所述数据结构和与一个或多个运动基元相关联的数值集。
H.根据段落G所述的***,其中,所述一个或多个运动基元和所述数值集是预计算的,并且所述搜索包括:至少部分地基于所述数值集来确定下述至少一者:第一样本层的第一样本节点、或接继所述第一样本层的一个或多个样本层的一个或多个样本节点;确定与将所述一个或多个样本节点中的所述第二样本节点连接到所述第一样本节点的运动基元相关联的所述数值集的数值作为第一成本;确定下述至少一者:所述第一成本小于阈值成本、或小于与所述一个或多个样本层的一个或多个其他节点相关联的第一成本;至少部分地基于所述一个或多个运动基元、所述第一样本节点、所述第二样本节点和所述占用地图来确定至少一个运动基元是无碰撞的并将所述第一样本节点连接到所述第二样本节点;以及确定与所述至少一个运动基元和所述第一样本节点相关联的第二成本。
I.根据段落G或H所述的***,其中,确定所述第二成本至少部分地基于以下内容的至少一项:与所述自动驾驶车辆的当前位置或当前姿势中的至少一个相关联的第三成本;与至少一个运动基元的曲率相关联的第四成本;与从所述至少一个运动基元的至少一部分到占用地图的确定为被占用的一部分的第一距离相关联的第五成本;与所述至少一个运动基元和所述第一路径中的先前连接的第二运动基元之间的第一差异相关联的第六成本;或与所述至少一个运动基元距离与所述起始位置、所述结束位置或目标位置中的至少一个相关联的车道的第二距离相关联的第七成本。
J.根据段落G-I中任一段落所述的***,其中,选择所述样本节点包括以下内容的至少一项:至少部分地基于以下因素来选择所述一个或多个层中的第一层作为样本层:确定由与所述第一层相关联的数据结构指示的被占用空间的第一表征与由与先前层相关联的数据结构指示的被占用空间的第二表征之间的差异,并确定所述差异达到或超过变化阈值;或至少部分地基于采样率来从所述第一层中确定一个或多个样本节点。
K.根据段落G-J中任一段落所述的***,其中:所述搜索是第一搜索,并且所述样本节点是第一样本节点;确定所述样本节点至少部分地基于第一采样率或第一灵敏度中的至少一个;并且所述操作进一步包括:确定与所述第一路径相关联的第一总成本;确定在阈值时间量或阈值迭代次数内,所述第一搜索无法确定可行路径;至少部分地基于确定所述第一搜索无法确定可行路径,至少部分地基于第二采样率或第二灵敏度中的至少一个来选择第二样本节点,其中,所述第二样本节点在数量上大于第一样本节点;以及至少部分地基于对所述第二样本节点的第二搜索确定第二路径。
L.根据段落G-K中任一段落所述的***,其中,所述可行路径是无碰撞的并且与小于第二成本阈值的第二成本相关联。
M.根据段落G-L中任一段落所述的***,其中,所述搜索包括:确定从所述结束位置或结束层中的至少一个到所述起始位置的路径集,其中,所述路径集小于所述结束位置或结束层到所述起始位置之间的所有可能路径;确定所述路径集包括第一组路径和第二组路径,这至少部分地基于确定所述第一组路径之间的第一距离小于阈值距离并且所述第二组路径之间的第二距离小于所述阈值距离,其中,所述第一组路径包括第一路径;以及将所述第一路径作为主要路径输出,并且将所述第二组路径的第二路径作为附带路径输出。
N.根据段落G-M中任一段落所述的***,其中,所述操作进一步包括至少部分地基于确定以下内容的至少一项来将所述第一路径确定为主要路径并且将所述第二路径确定为附带路径:所述第一路径满足比所述第二路径短,或者与所述第二路径相比曲率变化较小中的至少一项;所述第一路径与比第一组路径的其他路径的第一总成本更低的第一总成本相关联;所述第二路径与比第二组路径的其他路径的第二总成本更低的第二总成本相关联;或者所述第一总成本小于所述第二总成本。
O.一种非暂时性计算机可读介质,存储有处理器可执行指令,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:接收与环境中的起始位置和结束位置相关联的路线;接收与所述环境相关联的数据结构,所述数据结构识别所述环境中的被占用空间;至少部分地基于所述路线来确定包括一个或多个层的网格;至少部分地基于所述数据结构,确定所述一个或多个层的一个或多个节点作为样本节点;并且至少部分地基于对所述样本节点之间的相邻连接集的搜索,确定从所述结束位置或与所述结束位置相关联的结束层中的至少一个到所述起始位置的第一路径,其中,所述搜索至少部分地基于所述数据结构、与一系列位置和取向和期望的位置和取向之间的差异相关联的第一数值集,以及与一个或多个运动基元相关联的第二数值集,和。
P.根据段落O所述的非暂时性计算机可读介质,其中,所述一个或多个运动基元和第二数值集是预计算的,并且所述搜索包括:基于下述至少一者来确定所述一个或多个运动基元的运动基元:第一样本层的第一样本节点、和接继所述第一样本层的一个或多个样本层的一个或多个样本节点;至少部分地基于所述运动基元和所述第一数值集,确定与所述一个或多个样本节点的第二样本节点相关联的第一成本;确定下述至少一者:所述第一成本小于阈值成本、或小于与所述一个或多个样本层的一个或多个其他节点相关联的第一成本;至少部分地基于所述一个或多个运动基元、所述第一样本节点、所述第二样本节点和所述数据结构,确定至少一个运动基元是无碰撞的并将所述第一样本节点连接到所述第二样本节点;以及至少部分地基于所述第一节点、所述第二节点和所述第二数值集来确定第二成本。
Q.根据段落O或P中任一段落所述的非暂时性计算机可读介质,其中,确定所述第二成本至少部分地基于以下内容的至少一项:与自动驾驶车辆的当前位置或当前姿势中的至少一个相关联的第三成本;与至少一个运动基元的曲率相关联的第四成本;与从所述至少一个运动基元的至少一部分到所述数据结构的确定为被占用的一部分的第一距离相关联的第五成本;与所述至少一个运动基元和所述第一路径中的先前连接的第二运动基元之间的第一差异相关联的第六成本;或与所述至少一个运动基元距离与所述起始位置、所述结束位置或目标位置中的至少一个相关联的车道的第二距离相关联的第七成本。
R.根据段落O-Q中任一段落所述的非暂时性计算机可读介质,其中,选择所述样本节点包括以下内容的至少一项:至少部分地基于以下因素来选择所述一个或多个层中的第一层作为样本层:确定由与所述第一层相关联的数据结构指示的空间的第一表征与由与先前层相关联的数据结构指示的空间的第二表征之间的差异,并确定所述差异达到或超过变化阈值;或至少部分地基于采样率来从所述第一层中确定一个或多个样本节点。
S.根据段落O-R中任一段落所述的非暂时性计算机可读介质,其中:所述搜索是第一搜索,并且所述样本节点是第一样本节点;选择所述样本节点至少部分地基于第一采样率或第一灵敏度中的至少一个;并且所述操作进一步包括:确定与所述第一路径相关联的第一总成本;确定在阈值时间量或阈值迭代次数内,所述第一搜索无法确定可行路径;至少部分地基于确定所述第一搜索无法确定可行路径,至少部分地基于第二采样率或第二灵敏度中的至少一个来选择第二样本节点,其中,所述第二样本节点在数量上大于第一样本节点;以及至少部分地基于对所述第二样本节点的第二搜索确定第二路径。
T.根据段落O-S中任一段落所述的非暂时性计算机可读介质,其中,所述搜索包括:确定从所述结束位置或结束层中的至少一个到所述起始位置的路径集,其中,所述路径集小于所述结束位置或结束层到所述起始位置之间的所有可能路径;确定所述路径集包括第一组路径和第二组路径,这至少部分地基于确定所述第一组路径之间的第一距离小于阈值距离并且所述第二组路径之间的第二距离小于所述阈值距离,其中,所述第一组路径包括第一路径;以及将所述第一路径作为主要路径输出,并且将所述第二组路径的第二路径作为附带路径输出。
U.根据段落O-T中任一段落所述的非暂时性计算机可读介质,其中,所述操作进一步包括至少部分地基于确定以下内容的至少一项来将所述第一路径确定为主要路径并且将所述第二路径确定为附带路径:所述第一路径满足比所述第二路径短,或者与所述第二路径相比曲率变化较小中的至少一项;所述第一路径与比第一组路径的其他路径的第一总成本更低的第一总成本相关联;所述第二路径与比第二组路径的其他路径的第二总成本更低的第二总成本相关联;或者所述第一总成本小于所述第二总成本。
V.根据段落A-F中任一段落所述的方法,进一步包括:至少部分地基于来自机器学习模型的输出来生成模板运动;以及至少部分地基于以下内容来训练所述机器学习模型:接收包括多个路线的第一训练数据集,所述多个路线包括个体路线;接收包括从传感器接收的并与所述个体路线的至少一部分相关联的转向命令的第二训练数据集;以及训练所述机器学习模型以将与路线相关联的曲线中的至少一个映射到转向命令。
W.根据段落A-F或V中任一段落所述的方法,其中:所述模板运动是第一模板运动;确定所述模板运动至少部分地基于第一速度范围;以及该方法进一步包括接收至少部分地基于第二速度范围的第二模板运动。
X.根据段落A-F、V或W中任一段落所述的方法,其中,确定所述路径包括确定所述节点子集的第一节点与第二节点之间的连接,其中,确定所述连接包括:从所述节点子集中并至少部分地基于可能运动集,确定能连接到所述第二节点的一个或多个节点,其中,所述一个或多个节点包括所述第一节点并从所述节点子集中确定;至少部分地基于所述成本图表,确定所述第一节点与第一成本相关,所述第一成本满足小于成本阈值或小于与所述一个或多个节点相关联的第一成本中的至少一项;至少部分地基于所述潜在运动,确定连接所述第一节点和所述第二节点的第一潜在运动;以及至少部分地基于所述第一潜在运动和所述占用地图,确定由所述第一潜在运动定义的、在所述第一样本节点和所述第二节点之间的连接是无碰撞的。
Y.根据段落A-F或V-X中任一段落所述的方法,进一步包括确定与所述连接或所述潜在运动中的至少一个相关联的第二成本;以及至少部分地基于所述第二成本来将所述连接添加到所述路径。
Z.根据段落A-F或V-Y中任一段落所述的方法,其中,确定所述第二成本至少部分地基于以下内容的至少一项:与所述自动驾驶车辆的当前姿势中的至少一个相关联的第一成本;与所述模板运动之一的曲率相关联的第二成本,所述曲率与所述第一路径的至少一部分相关联;与从所述第一路径的至少一部分到所述占用地图的确定为被占用的一部分的第一距离相关联的第三成本;与由第一节点和第二节点之间的第一连接确定的第一模板运动和由第二节点和第三节点之间的第二连接确定的第二模板运动之间的第一差异相关联的第四成本,其中,所述第一连接和所述第二连接都是所述第一路径的一部分;与所述第一路径的至少一部分距离与所述起始位置、所述结束位置或目标位置中的至少一个相关联的车道的第二距离有关的第五成本;或与目标姿势中的至少一个和与路径终点相关联的姿势中的至少一个之间的第二差异相关联的第六成本。
AA.根据段落A-F或V-Z中任一段落所述的方法,进一步包括至少部分地基于确定以下内容的至少一项来将所述第一路径确定为主要路径并且将所述第二路径确定为附带路径:所述第一路径满足比所述第二路径更短或者更平滑中的至少一项;所述第一路径与比第一组路径的其他路径的第一总成本更低的第一总成本相关联;所述第二路径与比第二组路径的其他路径的第二总成本更低的第二总成本相关联;或者所述第一总成本小于所述第二总成本。
AB.根据段落A-F或V-AA中任意段落所述的方法,其中:所述占用地图是第一占用地图;以及确定所述路径包括搜索,所述搜索包括:至少部分地基于所述第一占用地图来确定先前的路径是无碰撞的,其中,所述先前的路径至少部分地基于在所述第一占用地图之前生成的第二占用地图而生成;至少部分地基于所述占用地图来确定与所述先前的路径相关联的第一总成本;以及至少部分地基于确定所述第一总成本小于成本阈值和所述先前的路径是无碰撞的来选择所述先前的路径作为所述第一路径。
尽管已经用针对结构特征和/或方法行为的语言描述了主题,但应当理解,在所附权利要求书所限定的主题不必受限于所描述的具体特征或行为。相反,具体特征和行为以实施权利要求的形式被公开。
本文描述的组件代表可被存储在任何类型的计算机可读介质中的指令,并可在软件和/或硬件中实施。上述所有的方法和过程可以体现在软件代码组件中和/或由一台或多台计算机或处理器、硬件或其某种组合执行的计算机可执行指令中,并通过所述软件代码模块和/或指令实现完全自动化。一些或所有的方法也可备选地体现在专门的计算机硬件中。
条件性语言,尤其例如“可能”、“可以”或“可”,除非另有特别说明,否则在上下文中应被理解为表示某些示例包括、而其他示例不包括某些特征、元素和/或步骤。因此,这种条件性语言一般不意味着某些特征、元素和/或步骤是以任何方式被一个或多个示例所要求的,或一个或多个示例必须包括下述逻辑,其用于决定在有或没有用户输入或提示的情况下,某些特征、元素和/或步骤是否包括或在任何特定示例中或在任何特定示例中被执行。
诸如“X、Y或Z中的至少一个”这样的连接性语言,除非另有特别说明,否则应理解为表示对象、术语等,可以是X、Y或Z,或者其任何组合,包括每个元素的倍数。除非明确描述为单数,否则无定冠词的表述指单数和复数。
本文描述的流程图和/或附图中描绘的任何例行描述、元素或块应被理解为可能代表代码的模块、部段或部分,代码包括用于实现例程中特定逻辑功能或元素的一个或多个计算机可执行指令。在本文描述的示例的范围内包括替代的实施方式,其中元素或功能可以被删除,或不按所示或讨论的顺序执行,包括基本同步、相反的顺序、额外的操作或省略操作,这取决于所涉及的功能,正如会被本领域的技术人员所理解的。
可对上述示例进行各种变型和修改,其要素应理解为属于其他可接受的示例。所有这样的修改和变型都意图被包括在本公开的范围内,并受以下权利要求书的保护。
Claims (15)
1.一种自动驾驶车辆引导***,用于引导自动驾驶车辆,所述自动驾驶车辆引导***包括:一个或多个处理器;和存储处理器可执行指令的存储器,所述指令当由所述一个或多个处理器执行时,使所述***执行以下操作,包括:接收与环境中的起始位置和结束位置相关联的路线;从传感器接收传感器数据;至少部分地基于所述传感器数据来确定数据结构,所述数据结构识别所述环境的各部分是否被占用;至少部分地基于所述路线来确定网格,所述网格包括沿所述路线的多个层,其中,所述多个层中的个体层与所述路线的一部分相关联并包括多个节点;至少部分地基于所述网格和所述数据结构,选择所述多个层的一个或多个节点作为样本节点;以及至少部分地基于对所述样本节点之间的连接集的搜索,确定处于以下中至少一者之间的第一路径:所述结束位置与所述起始位置、或结束层与所述起始位置,所述结束层与所述结束位置相关联,其中,所述搜索至少部分地基于所述数据结构和与一个或多个运动基元相关联的数值集。
2.根据权利要求1所述的自动驾驶车辆引导***,其中,所述一个或多个运动基元和所述数值集是预计算的,所述数据结构包括占用地图,并且所述搜索包括:至少部分地基于所述数值集来确定下述至少一者:第一样本层的第一样本节点、或接继所述第一样本层的一个或多个样本层的一个或多个样本节点;确定与将所述一个或多个样本节点中的第二样本节点连接到所述第一样本节点的运动基元相关联的所述数值集的数值作为第一成本;确定下述至少一者:所述第一成本小于阈值成本、或小于与所述一个或多个样本层的一个或多个其他节点相关联的第一成本;至少部分地基于所述一个或多个运动基元、所述第一样本节点、所述第二样本节点和占用地图,确定至少一个运动基元是无碰撞的并将所述第一样本节点连接到所述第二样本节点;以及确定与所述至少一个运动基元和所述第一样本节点相关联的第二成本。
3.根据权利要求2所述的自动驾驶车辆引导***,其中,确定所述第二成本至少部分地基于以下内容的至少一项: 与所述自动驾驶车辆的当前位置或当前姿势中的至少一个相关联的第三成本; 与至少一个运动基元的曲率相关联的第四成本;与从所述至少一个运动基元的至少一部分到所述占用地图的被识别为被占用的部分的第一距离相关联的第五成本;与所述至少一个运动基元和所述第一路径中的先前连接的第二运动基元之间的第一差异相关联的第六成本;或与所述至少一个运动基元距离与所述起始位置、所述结束位置或目标位置中的至少一个相关联的车道的第二距离相关联的第七成本。
4.根据权利要求1至3中任一项所述的自动驾驶车辆引导***,其中,选择所述样本节点包括以下内容的至少一项:至少部分地基于以下因素来选择所述多个层中的第一层作为样本层:确定由与所述第一层相关联的数据结构指示的被占用空间的第一表征与由与先前层相关联的数据结构指示的被占用空间的第二表征之间的差异,并且确定所述差异达到或超过变化阈值;或者至少部分地基于采样率来从所述第一层中确定一个或多个样本节点。
5.根据权利要求1至3中任一项所述的自动驾驶车辆引导***,其中:所述搜索是第一搜索,并且所述样本节点是第一样本节点;确定所述样本节点至少部分地基于第一采样率或第一灵敏度中的至少一个;并且所述操作进一步包括:确定与所述第一路径相关联的第一总成本;确定在阈值时间量或阈值迭代次数内,所述第一搜索无法确定可行路径;至少部分地基于确定所述第一搜索无法确定可行路径,至少部分地基于第二采样率或第二灵敏度中的至少一个来选择第二样本节点,其中,所述第二样本节点在数量上大于第一样本节点;以及至少部分地基于对所述第二样本节点的第二搜索来确定第二路径。
6.根据权利要求5所述的自动驾驶车辆引导***,其中,所述可行路径是无碰撞的并且与小于第二成本阈值的第二成本相关联。
7.根据权利要求1至3中任一项所述的自动驾驶车辆引导***,其中,所述搜索包括:确定从所述结束位置或结束层中的至少一个到所述起始位置的路径集,其中,所述路径集小于所述结束位置或结束层到所述起始位置之间的所有可能路径;确定所述路径集包括第一组路径和第二组路径,这至少部分地基于确定所述第一组路径之间的第一距离小于阈值距离并且所述第二组路径之间的第二距离小于所述阈值距离,其中,所述第一组路径包括第一路径;以及将所述第一路径作为主要路径输出,并且将所述第二组路径的第二路径作为附带路径输出。
8.根据权利要求7所述的自动驾驶车辆引导***,其中,所述操作进一步包括至少部分地基于确定以下内容的至少一项,将所述第一路径确定为主要路径并且将所述第二路径确定为附带路径:所述第一路径满足比所述第二路径短或者与所述第二路径相比曲率变化较小中的至少一项;所述第一路径与比所述第一组路径的其他路径的第一总成本更低的第一总成本相关联;所述第二路径与比所述第二组路径的其他路径的第二总成本更低的第二总成本相关联;或者所述第一总成本小于所述第二总成本。
9.一种非暂时性计算机可读介质,其存储有处理器可执行指令,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:接收与环境中的起始位置和结束位置相关联的路线;接收与所述环境相关联的数据结构,所述数据结构识别所述环境中的被占用空间;至少部分地基于所述路线来确定包括多个层的网格;至少部分地基于所述数据结构,确定所述多个层的一个或多个节点作为样本节点;并且至少部分地基于对所述样本节点之间的相邻连接集的搜索,确定来自以下中至少一者的第一路径:从所述结束位置到所述起始位置、或从结束层到所述起始位置,所述结束层与所述结束位置相关联,其中,所述搜索至少部分地基于所述数据结构、与一系列位置和取向和期望的位置和取向之间的差异相关联的第一数值集,以及与一个或多个运动基元相关联的第二数值集。
10.根据权利要求9所述的非暂时性计算机可读介质,其中,所述一个或多个运动基元和第二数值集是预计算的,并且所述搜索包括:基于下述至少一者来确定所述一个或多个运动基元的运动基元:第一样本层的第一样本节点、和接继所述第一样本层的一个或多个样本层的一个或多个样本节点; 至少部分地基于所述运动基元和所述第一数值集,确定与所述一个或多个样本节点的第二样本节点相关联的第一成本;确定下述至少一者:所述第一成本小于阈值成本、或小于与所述一个或多个样本层的一个或多个其他节点相关联的第一成本;至少部分地基于所述一个或多个运动基元、所述第一样本节点、所述第二样本节点和所述数据结构来确定至少一个运动基元是无碰撞的并将所述第一样本节点连接到所述第二样本节点;以及至少部分地基于所述第一样本节点、所述第二样本节点和所述第二数值集来确定第二成本。
11.根据权利要求10所述的非暂时性计算机可读介质,其中,确定所述第二成本至少部分地基于以下内容的至少一项:与自动驾驶车辆的当前位置或当前姿势中的至少一个相关联的第三成本; 与至少一个运动基元的曲率相关联的第四成本;与从所述至少一个运动基元的至少一部分到数据结构的确定为被占用的一部分的第一距离相关联的第五成本;与所述至少一个运动基元和所述第一路径中的先前连接的第二运动基元之间的第一差异相关联的第六成本;或与所述至少一个运动基元距离与所述起始位置、所述结束位置或目标位置中的至少一个相关联的车道的第二距离相关联的第七成本。
12.根据权利要求9至11中任一项所述的非暂时性计算机可读介质,其中,确定所述样本节点包括以下内容的至少一项:至少部分地基于以下因素来选择所述多个层中的第一层作为样本层:确定由与所述第一层相关联的数据结构指示的空间的第一表征与由与先前层相关联的数据结构指示的空间的第二表征之间的差异,并且确定所述差异达到或超过变化阈值;或者至少部分地基于采样率来从所述第一层中确定一个或多个样本节点。
13.根据权利要求9至11中任一项所述的非暂时性计算机可读介质,其中:所述搜索是第一搜索,并且所述样本节点是第一样本节点;确定所述样本节点至少部分地基于第一采样率或第一灵敏度中的至少一个;并且所述操作进一步包括:确定与所述第一路径相关联的第一总成本;确定在阈值时间量或阈值迭代次数内,所述第一搜索无法确定可行路径;至少部分地基于确定所述第一搜索无法确定可行路径,至少部分地基于第二采样率或第二灵敏度中的至少一个来选择第二样本节点,其中,所述第二样本节点在数量上大于第一样本节点;以及至少部分地基于对所述第二样本节点的第二搜索来确定第二路径。
14.根据权利要求9至11中任一项所述的非暂时性计算机可读介质,其中,所述搜索包括:确定从所述结束位置或结束层中的至少一个到所述起始位置的路径集,其中,所述路径集小于所述结束位置或结束层到所述起始位置之间的所有可能路径;确定所述路径集包括第一组路径和第二组路径,这至少部分地基于确定所述第一组路径之间的第一距离小于阈值距离并且所述第二组路径之间的第二距离小于所述阈值距离,其中,所述第一组路径包括第一路径;以及将所述第一路径作为主要路径输出,并且将所述第二组路径的第二路径作为附带路径输出。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述操作进一步包括至少部分地基于确定以下内容的至少一项,将所述第一路径确定为主要路径并且将所述第二路径确定为附带路径:所述第一路径满足比所述第二路径短或者与所述第二路径相比曲率变化较小中的至少一项;所述第一路径与比第一组路径的其他路径的第一总成本更低的第一总成本相关联;所述第二路径与比第二组路径的其他路径的第二总成本更低的第二总成本相关联;或者所述第一总成本小于所述第二总成本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410016250.8A CN117848371A (zh) | 2019-07-19 | 2020-07-17 | 非结构化的车辆路径规划器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/517,506 US11875678B2 (en) | 2019-07-19 | 2019-07-19 | Unstructured vehicle path planner |
US16/517,506 | 2019-07-19 | ||
PCT/US2020/042636 WO2021016116A1 (en) | 2019-07-19 | 2020-07-17 | Unstructured vehicle path planner |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410016250.8A Division CN117848371A (zh) | 2019-07-19 | 2020-07-17 | 非结构化的车辆路径规划器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114270142A CN114270142A (zh) | 2022-04-01 |
CN114270142B true CN114270142B (zh) | 2024-01-23 |
Family
ID=71995132
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410016250.8A Pending CN117848371A (zh) | 2019-07-19 | 2020-07-17 | 非结构化的车辆路径规划器 |
CN202080052096.XA Active CN114270142B (zh) | 2019-07-19 | 2020-07-17 | 非结构化的车辆路径规划器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410016250.8A Pending CN117848371A (zh) | 2019-07-19 | 2020-07-17 | 非结构化的车辆路径规划器 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11875678B2 (zh) |
EP (1) | EP3999810B1 (zh) |
JP (1) | JP2022540710A (zh) |
CN (2) | CN117848371A (zh) |
WO (1) | WO2021016116A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7135796B2 (ja) | 2018-11-30 | 2022-09-13 | トヨタ自動車株式会社 | サーバ装置、サーバ制御方法、サーバ制御プログラム、車両、車両制御方法、及び車両制御プログラム |
US11718300B2 (en) * | 2019-02-27 | 2023-08-08 | Zf Automotive Germany Gmbh | Method and control unit for a system for controlling a motor vehicle |
KR20190095179A (ko) * | 2019-07-24 | 2019-08-14 | 엘지전자 주식회사 | 제한 구역에서의 자율 주행 제어 방법 및 이를 이용한 자율 주행 시스템 |
US11525691B2 (en) * | 2019-09-20 | 2022-12-13 | Samsung Electronics Co., Ltd. | System and method for autonomous motion planning |
US11420630B2 (en) | 2019-10-24 | 2022-08-23 | Zoox, Inc. | Trajectory modifications based on a collision zone |
US11643073B2 (en) * | 2019-10-24 | 2023-05-09 | Zoox, Inc. | Trajectory modifications based on a collision zone |
US10969232B1 (en) * | 2019-12-06 | 2021-04-06 | Ushr Inc. | Alignment of standard-definition and High-Definition maps |
US11467584B2 (en) * | 2019-12-27 | 2022-10-11 | Baidu Usa Llc | Multi-layer grid based open space planner |
FR3112398B1 (fr) * | 2020-07-08 | 2022-10-14 | Ifp Energies Now | Procédé de caractérisation d’un trajet parcouru par un utilisateur |
US20230161043A1 (en) * | 2020-08-10 | 2023-05-25 | Yan Mayster | Sensor Based Map Generation and Routing |
KR20220029859A (ko) * | 2020-09-01 | 2022-03-10 | 현대자동차주식회사 | 주행 제어 장치 및 방법 |
US11767035B2 (en) * | 2020-09-04 | 2023-09-26 | Mitsubishi Electric Research Laboratories, Inc. | Autonomous parking with hybrid exploration of parking space |
US11873006B2 (en) * | 2020-09-21 | 2024-01-16 | GM Global Technology Operations LLC | Virtual lane estimation using a recursive self-organizing map |
KR20220056922A (ko) * | 2020-10-28 | 2022-05-09 | 현대자동차주식회사 | 자율주행 제어 장치 및 방법 |
US11618479B2 (en) * | 2020-12-08 | 2023-04-04 | GM Global Technology Operations LLC | System, method and controller for graph-based path planning for a host vehicle |
US11964676B2 (en) * | 2020-12-11 | 2024-04-23 | Waymo Llc | Energy saving actions for autonomous driving systems |
CN112763995B (zh) * | 2020-12-24 | 2023-09-01 | 阿波罗智联(北京)科技有限公司 | 雷达标定方法、装置、电子设备和路侧设备 |
US20220234618A1 (en) * | 2021-01-28 | 2022-07-28 | Motional Ad Llc | Homotopic-based planner for autonomous vehicles |
CN112923946B (zh) * | 2021-02-26 | 2024-03-12 | 广州海格通信集团股份有限公司 | 一种基于Hybrid-astar的动态路径规划方法 |
US20220317302A1 (en) * | 2021-04-01 | 2022-10-06 | Qualcomm Incorporated | Occupancy clustering according to radar data |
US20220402521A1 (en) * | 2021-06-16 | 2022-12-22 | Waymo Llc | Autonomous path generation with path optimization |
US20230159054A1 (en) * | 2021-11-24 | 2023-05-25 | Motional Ad Llc | Encoding homotopy constraints in spatio-temporal grids |
CN114328594B (zh) * | 2021-11-25 | 2022-11-01 | 北京掌行通信息技术有限公司 | 一种车辆的行驶路径判定方法、装置、存储介质及终端 |
US20230227061A1 (en) * | 2022-01-14 | 2023-07-20 | Aurora Operations, Inc. | Systems and Methods for Pareto Domination-Based Learning |
US11634158B1 (en) * | 2022-06-08 | 2023-04-25 | Motional Ad Llc | Control parameter based search space for vehicle motion planning |
CN115240411B (zh) * | 2022-06-29 | 2023-05-09 | 合肥工业大学 | 一种城市道路交叉口右转冲突警示线测画方法 |
US20240001959A1 (en) * | 2022-06-30 | 2024-01-04 | Zoox, Inc. | Vehicle motion planner |
CN115123217B (zh) * | 2022-09-02 | 2022-11-25 | 青岛慧拓智能机器有限公司 | 矿区障碍车辆行使轨迹生成方法、装置及计算机设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005029334A1 (de) * | 2004-09-27 | 2006-04-06 | Daimlerchrysler Ag | Verfahren zum Ermitteln einer von einem Fahrzeug zu befahrenden Wegstrecke |
CN101063618A (zh) * | 2006-04-25 | 2007-10-31 | 阿尔派株式会社 | 地图数据制作装置、地图制作方法、导航装置 |
JP2011180100A (ja) * | 2010-03-04 | 2011-09-15 | Zenrin Co Ltd | 案内装置 |
CN102645228A (zh) * | 2012-04-12 | 2012-08-22 | 清华大学 | 一种车载导航***通过性寻路算法 |
JP2012215466A (ja) * | 2011-03-31 | 2012-11-08 | Zenrin Datacom Co Ltd | ナビゲーション装置 |
CN107063280A (zh) * | 2017-03-24 | 2017-08-18 | 重庆邮电大学 | 一种基于控制采样的智能车辆路径规划***及方法 |
CN108180918A (zh) * | 2017-11-29 | 2018-06-19 | 西南科技大学 | 一种点云测地路径正向跟踪生成方法及装置 |
CN108195375A (zh) * | 2017-12-07 | 2018-06-22 | 东莞深圳清华大学研究院创新中心 | 一种非对称各项异性的全方位移动机器人的路径规划方法 |
CN109477723A (zh) * | 2016-06-10 | 2019-03-15 | 杜克大学 | 自动驾驶车辆运动规划和可重新配置的运动规划处理器 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、***以及存储介质 |
CN109541634A (zh) * | 2018-12-28 | 2019-03-29 | 歌尔股份有限公司 | 一种路径规划方法、装置和移动设备 |
CN109990794A (zh) * | 2018-01-02 | 2019-07-09 | 通用汽车环球科技运作有限责任公司 | 具有动态成本学习的自主驾驶轨迹规划器 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3803629B2 (ja) | 2002-10-01 | 2006-08-02 | 株式会社ザナヴィ・インフォマティクス | 地図データ送信方法、情報配信装置、および情報端末 |
WO2004038335A1 (ja) | 2002-10-22 | 2004-05-06 | Hitachi, Ltd. | 通信型ナビゲーションシステムにおける地図データ配信方法 |
US8150620B2 (en) | 2009-04-14 | 2012-04-03 | Alpine Electronics, Inc. | Route search method and apparatus for navigation system utilizing map data of XML format |
JP5590950B2 (ja) | 2010-04-12 | 2014-09-17 | アルパイン株式会社 | ナビゲーション装置および誘導経路探索方法 |
WO2014139821A1 (en) | 2013-03-15 | 2014-09-18 | Volkswagen Aktiengesellschaft | Automatic driving route planning application |
GB2527570B (en) * | 2014-06-26 | 2020-12-16 | Bae Systems Plc | Route planning |
US9523583B2 (en) | 2015-02-27 | 2016-12-20 | Here Global B.V. | Generating routes using navigation meshes |
US10705528B2 (en) * | 2015-12-15 | 2020-07-07 | Qualcomm Incorporated | Autonomous visual navigation |
US10353931B2 (en) | 2016-12-30 | 2019-07-16 | DeepMap Inc. | High definition map and route storage management system for autonomous vehicles |
US10444759B2 (en) | 2017-06-14 | 2019-10-15 | Zoox, Inc. | Voxel based ground plane estimation and object segmentation |
US10296795B2 (en) | 2017-06-26 | 2019-05-21 | Here Global B.V. | Method, apparatus, and system for estimating a quality of lane features of a roadway |
US20190113919A1 (en) * | 2017-10-18 | 2019-04-18 | Luminar Technologies, Inc. | Controlling an autonomous vehicle using smart control architecture selection |
US11360216B2 (en) * | 2017-11-29 | 2022-06-14 | VoxelMaps Inc. | Method and system for positioning of autonomously operating entities |
US20200401148A1 (en) * | 2018-01-24 | 2020-12-24 | Ford Global Technologies, Llc | Path planning for autonomous moving devices |
US11093759B2 (en) * | 2018-03-06 | 2021-08-17 | Here Global B.V. | Automatic identification of roadside objects for localization |
DK201970115A1 (en) * | 2018-11-08 | 2020-06-09 | Aptiv Technologies Limited | DEEP LEARNING FOR OBJECT DETECTION USING PILLARS |
-
2019
- 2019-07-19 US US16/517,506 patent/US11875678B2/en active Active
-
2020
- 2020-07-17 JP JP2022503520A patent/JP2022540710A/ja active Pending
- 2020-07-17 CN CN202410016250.8A patent/CN117848371A/zh active Pending
- 2020-07-17 CN CN202080052096.XA patent/CN114270142B/zh active Active
- 2020-07-17 WO PCT/US2020/042636 patent/WO2021016116A1/en unknown
- 2020-07-17 EP EP20753593.1A patent/EP3999810B1/en active Active
-
2023
- 2023-12-04 US US18/528,494 patent/US20240119833A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005029334A1 (de) * | 2004-09-27 | 2006-04-06 | Daimlerchrysler Ag | Verfahren zum Ermitteln einer von einem Fahrzeug zu befahrenden Wegstrecke |
CN101063618A (zh) * | 2006-04-25 | 2007-10-31 | 阿尔派株式会社 | 地图数据制作装置、地图制作方法、导航装置 |
JP2011180100A (ja) * | 2010-03-04 | 2011-09-15 | Zenrin Co Ltd | 案内装置 |
JP2012215466A (ja) * | 2011-03-31 | 2012-11-08 | Zenrin Datacom Co Ltd | ナビゲーション装置 |
CN102645228A (zh) * | 2012-04-12 | 2012-08-22 | 清华大学 | 一种车载导航***通过性寻路算法 |
CN109477723A (zh) * | 2016-06-10 | 2019-03-15 | 杜克大学 | 自动驾驶车辆运动规划和可重新配置的运动规划处理器 |
CN107063280A (zh) * | 2017-03-24 | 2017-08-18 | 重庆邮电大学 | 一种基于控制采样的智能车辆路径规划***及方法 |
CN108180918A (zh) * | 2017-11-29 | 2018-06-19 | 西南科技大学 | 一种点云测地路径正向跟踪生成方法及装置 |
CN108195375A (zh) * | 2017-12-07 | 2018-06-22 | 东莞深圳清华大学研究院创新中心 | 一种非对称各项异性的全方位移动机器人的路径规划方法 |
CN109990794A (zh) * | 2018-01-02 | 2019-07-09 | 通用汽车环球科技运作有限责任公司 | 具有动态成本学习的自主驾驶轨迹规划器 |
CN109506669A (zh) * | 2018-12-28 | 2019-03-22 | 斑马网络技术有限公司 | 动态路径规划方法、装置、***以及存储介质 |
CN109541634A (zh) * | 2018-12-28 | 2019-03-29 | 歌尔股份有限公司 | 一种路径规划方法、装置和移动设备 |
Non-Patent Citations (2)
Title |
---|
一种基于导航网格的路径搜索技术;王天顺,等;电脑知识与技术;第6卷(第12期);3014-3016 * |
基于栅格法的矢量路径规划算法;王卫红,等;计算机应用研究(第3期);57-59 * |
Also Published As
Publication number | Publication date |
---|---|
EP3999810B1 (en) | 2023-10-18 |
WO2021016116A1 (en) | 2021-01-28 |
JP2022540710A (ja) | 2022-09-16 |
EP3999810A1 (en) | 2022-05-25 |
CN114270142A (zh) | 2022-04-01 |
US11875678B2 (en) | 2024-01-16 |
CN117848371A (zh) | 2024-04-09 |
US20210020045A1 (en) | 2021-01-21 |
US20240119833A1 (en) | 2024-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114270142B (zh) | 非结构化的车辆路径规划器 | |
US11485384B2 (en) | Unstructured vehicle path planner | |
JP2022513808A (ja) | 軌道検証を用いた衝突回避システム | |
US11433885B1 (en) | Collision detection for vehicles | |
JP2022502306A (ja) | レーダ空間推定 | |
JP2021524410A (ja) | ドライブエンベロープの決定 | |
JP2022532921A (ja) | 閉鎖されているレーン検出 | |
US11614742B2 (en) | Height estimation using sensor data | |
CN117794803A (zh) | 使用具有响应型代理预测的树搜索和/或代理滤波进行车辆轨迹控制 | |
US11603095B2 (en) | Collision avoidance planning system | |
WO2023102327A1 (en) | Center-based detection and tracking | |
WO2022232546A1 (en) | Methods and systems to assess vehicle capabilities | |
WO2022125308A1 (en) | Determining inputs for perception system | |
US20240174256A1 (en) | Vehicle trajectory tree search for off-route driving maneuvers | |
US20240174266A1 (en) | Prediction model with variable time steps | |
US20240034356A1 (en) | Reference trajectory validating and collision checking management | |
US20240174265A1 (en) | Determining prediction times for a model | |
US20240092357A1 (en) | Trajectory optimization in multi-agent environments | |
WO2024137822A1 (en) | Predictive models for autonomous vehicles based on object interactions | |
WO2024049925A1 (en) | Trajectory prediction based on a decision tree | |
WO2024137504A1 (en) | Latent variable determination by a diffusion model |
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 |