CN113703436A - 用于路径规划的并行障碍物缓冲*** - Google Patents

用于路径规划的并行障碍物缓冲*** Download PDF

Info

Publication number
CN113703436A
CN113703436A CN202011546788.8A CN202011546788A CN113703436A CN 113703436 A CN113703436 A CN 113703436A CN 202011546788 A CN202011546788 A CN 202011546788A CN 113703436 A CN113703436 A CN 113703436A
Authority
CN
China
Prior art keywords
adv
path
obstacle
obstacles
paths
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.)
Granted
Application number
CN202011546788.8A
Other languages
English (en)
Other versions
CN113703436B (zh
Inventor
朱帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of CN113703436A publication Critical patent/CN113703436A/zh
Application granted granted Critical
Publication of CN113703436B publication Critical patent/CN113703436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Purposes 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Purposes 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Traffic Control Systems (AREA)

Abstract

执行ADV的路径规划。为一个或多个障碍物生成障碍物边界组,其中,障碍物边界组中的每个都具有范围从预定最小缓冲距离到预定最大缓冲距离的相应缓冲距离。基于障碍物边界组,使用二次规划并行生成ADV的路径组,其中路径组的每个路径均对应于障碍物边界组中的一个。基于具有最小的相应缓冲距离的相应障碍物边界,从该路径组的成功路径中选择路径,其中ADV至少距离成功路径中的一个或多个障碍物预定距离。控制ADV根据所选择的路径自动驾驶,以避开一个或多个障碍物。

Description

用于路径规划的并行障碍物缓冲***
技术领域
本公开的实施方式总体上涉及运行自动驾驶车辆。更具体地,本公开的实施方式涉及用于自动驾驶车辆(ADV)的路径规划。
背景技术
以自动模式(例如,无驾驶员)操作的车辆可减轻乘坐者、尤其是驾驶员的某些驾驶相关的责任。当在自动模式下操作时,车辆可使用车载传感器导航到各种位置,从而允许车辆以最小的人机交互或在一些情况下不需要任何乘客来行进。
运动规划和控制是自动驾驶中的关键操作。执行路径规划以避开障碍物很重要。然而,保持距障碍物的安全缓冲距离同时避开远离道路的中心具有挑战性。
发明内容
根据本申请的一方面,提供了用于操作自动驾驶车辆(ADV)的计算机实现的方法,所述方法可包括:
基于从安装在所述ADV上的多个传感器获得的传感器数据,感知驾驶环境,包括检测一个或多个障碍物;
执行所述ADV的路径规划,可包括:
为所述一个或多个障碍物生成障碍物边界组,所述障碍物边界组中的每个均具有与所述一个或多个障碍物相对应的缓冲距离,所述缓冲距离的范围为从预定最小缓冲距离到预定最大缓冲距离;
基于所述障碍物边界组,使用二次规划(QP)并行生成ADV的路径组,所述路径组中的每个路径均对应于所述障碍物边界组中的一个;
从具有最小对应缓冲距离的路径组中选择路径;以及
控制所述ADV根据所选择的路径自动驾驶,以避开所述一个或多个障碍物。
根据本申请的另一方面,提供了一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行操作,所述操作可包括:
基于从安装在所述ADV上的多个传感器获得的传感器数据,感知驾驶环境,包括检测一个或多个障碍物;
执行所述ADV的路径规划,可包括:
为所述一个或多个障碍物生成障碍物边界组,所述障碍物边界组中的每个均具有与所述一个或多个障碍物相对应的缓冲距离,所述缓冲距离的范围为从预定最小缓冲距离到预定最大缓冲距离;
基于所述障碍物边界组,使用二次规划(QP)并行生成ADV的路径组,所述路径组中的每个路径均对应于所述障碍物边界组中的一个;
从具有最小对应缓冲距离的路径组中选择路径;以及
控制所述ADV根据所选择的路径自动驾驶,以避开所述一个或多个障碍物。
根据本申请的又一方面,提供一种数据处理***,可包括:
处理器;以及
存储器,联接至所述处理器以存储指令,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作可包括:
基于从安装在所述ADV上的多个传感器获得的传感器数据,感知驾驶环境,包括检测一个或多个障碍物;
执行所述ADV的路径规划,可包括:
为所述一个或多个障碍物生成障碍物边界组,所述障碍物边界组中的每个均具有与所述一个或多个障碍物相对应的缓冲距离,所述缓冲距离的范围为从预定最小缓冲距离到预定最大缓冲距离;
基于所述障碍物边界组,使用二次规划(QP)并行生成ADV的路径组,所述路径组中的每个路径均对应于所述障碍物边界组中的一个;
从具有最小对应缓冲距离的路径组中选择路径;以及
控制所述ADV根据所选择的路径自动驾驶,以避开所述一个或多个障碍物。
根据本申请的又一方面,提供一种计算机程序程序产品,包括计算机程序,所述计算机程序在被处理器执行实现上述方法。
附图说明
在附图的图中以示例而非限制的方式示出了本发明的实施方式,在附图中,相似的附图标记指示相似的元件。
图1是示出根据一个实施方式的网络化***的框图。
图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。
图3A至图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的自动驾驶***的示例的框图。
图4是示出根据一个实施方式的决策和规划***的示例的框图。
图5是示出根据一个实施方式的站侧地图的框图。
图6是根据一个实施方式的具有并行障碍物缓冲***的规划模块的示例。
图7、图8A和图8B是示出使用并行障碍物缓冲***的路径规划的示例的图。
图9是示出使用并行障碍物缓冲***执行路径规划的方法的示例的流程图。
具体实施方式
将参考下面讨论的细节描述本发明的各种实施方式和方面,并且附图将示出各种实施方式。以下描述和附图是本发明的说明,并且不应解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施方式的透彻理解。但是,在某些情况下,为了提供对本发明实施方式的简要讨论,没有描述众所周知的或常规的细节。
在说明书中对“一个实施方式”或“一个实施方式”的引用是指结合该实施方式描述的特定特征,结构或特性可包括在本发明的至少一个实施方式中。说明书中各个地方出现的短语“在一个实施方式中”并不一定全都指同一实施方式。
根据一些实施方式,可执行使用QP的路径规划以避开障碍物。可从预定最小缓冲距离到预定最大缓冲距离生成用于一个或多个障碍物的多个缓冲。多个缓冲适用于所有障碍物。在路径规划期间,可使用多个线程来计算具有不同缓冲的路径。多个线程并行运行,使得多个线程不会导致额外的计算时间。在使用多个线程的路径规划全部完成之后,检查QP路径规划结果。可基于未失败的路径规划结果中的最小缓冲距离来选择路径规划结果,因而是成功的。具有最小缓冲距离的成功路径规划结果可用作输出路径。
根据一些实施方式,基于从安装在ADV上的多个传感器获得的传感器数据来感知驾驶环境,包括检测一个或多个障碍物。执行ADV的路径规划。为一个或多个障碍物生成障碍物边界组,其中该障碍物边界组中的每个都具有从预定最小缓冲距离到预定最大缓冲距离范围的相应缓冲距离。基于障碍物边界组,使用二次规划并行生成ADV的路径组,其中路径组的每个路径均对应于障碍物边界组中的一个。基于具有最小的相应缓冲距离的相应障碍物边界,从该路径组的成功路径中选择路径,其中ADV至少距离成功路径中的一个或多个障碍物预定距离。控制ADV以根据所选择的路径自动地驾驶,以避开一个或多个障碍物。
图1是示出根据本公开的一个实施方式的自动驾驶网络配置的框图。参照图1,网络配置100包括自动驾驶车辆(ADV)101,其可通过网络102通信地联接至一个或多个服务器103-104。尽管示出了一个ADV,但是多个ADV可通过网络102彼此联接和/或联接至服务器103-104。网络102可为任何类型的网络,诸如有线或无线的局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103-104可为任何类型的服务器或服务器集群,诸如Web服务器或云服务器、应用服务器、后端服务器或其组合。服务器103-104可为数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器、或位置服务器等。
ADV指可配置为处于自动模式的车辆,在该自动模式中,车辆在很少或没有来自驾驶员的输入的情况下导航通过环境。这种ADV可包括具有一个或多个传感器的传感器***,所述传感器配置为检测关于车辆在其中运行的环境的信息。车辆及其相关联的一个或多个控制器使用所检测的信息来导航通过环境。ADV 101可在手动模式、全自动模式或部分自动模式下操作。
在一个实施方式中,ADV 101包括但不限于自动驾驶***(ADS)110,车辆控制***111、无线通信***112、用户接口***113和传感器***115。ADV 101还可包括在普通车辆中包括的某些普通部件,例如发动机、车轮、方向盘、变速器等,其可由车辆控制***111和/或ADS 110使用各种通信信号和/或命令来控制,例如加速信号或命令、减速信号或命令、转向信号或命令、刹车信号或命令等。
部件110-115可经由互连件、总线、网络或其组合彼此通信地联接。例如,部件110-115可经由控制器区域网络(CAN)总线彼此通信地联接。CAN总线是车辆总线标准,其设计成允许微控制器和设备在没有主计算机的应用中彼此通信。CAN总线是一种基于消息的协议,最初设计用于汽车内的多路电线,但是也用于许多其它环境中。
现在参考图2,在一个实施方式中,传感器***115包括但不限于一个或多个摄像机211、全球定位***(GPS)单元212、惯性测量单元(IMU)213、雷达单元214和光检测和测距(LIDAR)单元215。GPS***212可包括收发器,其可操作成提供关于自动驾驶车辆的位置的信息。IMU单元213可基于惯性加速度来感测自动驾驶车辆的位置和方向变化。雷达单元214可表示利用无线电信号来感测自动驾驶车辆的本地环境内的对象的***。在一些实施方式中,除了感测对象之外,雷达单元214还可感测对象的速度和/或航向。LIDAR 215可使用激光来感测自动驾驶车辆所处的环境中的对象。LIDAR 215可包括一个或多个激光源、激光扫描仪和一个或多个检测器、以及其它***部件。相机211可包括用于捕获自动驾驶车辆周围环境的图像的一个或多个设备。相机211可为静态相机和/或视频相机。例如,通过将相机安装在旋转和/或倾斜平台上,相机可为机械可移动的。
传感器***115还可包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、刹车传感器和音频传感器(例如麦克风)。音频传感器可配置为从自动驾驶车辆周围的环境捕获声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角。油门传感器和刹车传感器分别感测车辆的油门位置和刹车位置。在一些情况下,油门传感器和刹车传感器可集成为集成油门/刹车传感器。
在一个实施方式中,车辆控制***111包括但不限于转向单元201、油门单元202(也称为加速单元)和刹车单元203。转向单元201用于调整车辆的方向或航向。油门单元202用于控制电动机或发动机的速度,该电动机或发动机又控制车辆的速度和加速度。刹车单元203通过提供摩擦来使车辆减速,从而减慢车辆的车轮或轮胎。注意,如图2所示的部件可用硬件、软件或其组合来实现。
回到图1,无线通信***112允许ADV 101和外部***之间的通信,诸如设备、传感器、其它车辆等。例如,无线通信***112可直接或经由通信网络与一个或多个设备进行无线通信,诸如网络102上的服务器103-104。无线通信***112可使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一部件或***通信。无线通信***112可例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户接口***113可为在车辆201内实现的***设备的部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
ADV 101的一些或全部功能可由ADS 110控制或管理,尤其是当在自动驾驶模式下操作时。ADS 110包括从传感器***115、控制***111、无线通信***112和/或用户接口***113接收信息、处理所接收的信息、规划从起始点到目的点的路线或路径、然后基于规划和控制信息驾驶车辆101所必需的硬件(例如,一个或多个处理器、存储器、储存器)和软件(例如,操作***、规划和路线程序)。可替代地,ADS 110可与车辆控制***111集成在一起。
例如,作为乘客的用户可例如经由用户接口指定旅行的开始位置和目的地。ADS110获得行程相关数据。例如,ADS 110可从MPOI服务器获得位置和路线数据,MPOI服务器可为服务器103-104的部分。位置服务器提供位置服务,以及MPOI服务器提供地图服务和特定位置的POI。可替代地,可在ADS 110的永久存储设备中本地缓存这种位置和MPOI信息。
当ADV 101沿着路线移动时,ADS 110还可从交通信息***或服务器(TIS)获得实时交通信息。注意,服务器103-104可由第三方实体操作。可替代地,服务器103-104的功能可与ADS 110集成在一起。基于由传感器***115检测或感测的实时交通信息、MPOI信息和位置信息、以及实时本地环境数据(例如,障碍物、物体、附近车辆),ADS 110可例如经由控制***111根据计划路线规划最佳路线并驾驶车辆101,从而安全高效地到达指定目的地。
服务器103可为为各种客户端执行数据分析服务的数据分析***。在一个实施方式中,数据分析***103包括数据收集器121和机器学习引擎122。数据收集器121从多种车辆收集驾驶统计123,这些车辆可为ADV或由人类驾驶员驾驶的常规车辆。驾驶统计123包括指示由车辆的传感器在不同时间点捕获的车辆的驾驶命令(例如,油门、刹车、转向命令)和响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可包括描述在不同时间点的驾驶环境的信息,例如,路线(包括开始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施方式中,算法124可包括基于从安装在ADV上的多个传感器获得的传感器数据感知驾驶环境的算法或模型、执行ADV的路径规划的算法、以及控制ADV根据所选择的路径自动驾驶以避开一个或多个障碍物的算法,其中感知驾驶环境包括检测一个或多个障碍物。执行ADV的路径规划的算法包括:为一个或多个障碍物生成障碍物边界组的算法,该障碍物边界组中的每一个都具有从预定最小缓冲距离到预定最大缓冲距离范围内的相应缓冲距离;基于该障碍物边界组使用二次规划来并行生成ADV的路径组的算法,该路径组中的每一个路径均对应于该障碍物边界组中的一个;和/或用于基于最小的对应缓冲距离从该组路径的成功路径中选择路径的算法,其中,ADV至少与所述成功路径中的所述一个或多个障碍物相距预定距离。然后,算法124可上载到ADV上,以便在自动驾驶期间实时利用。
图3A和图3B是示出根据一个实施方式的与ADV一起使用的自动驾驶***的示例的框图。***300可实现为图1的ADV 101的部分,包括但不限于ADS 110、控制***111和传感器***115。参考图3A至图3B,ADS 110包括但不限于定位模块301、感知模块302、预测模块303、判定模块304、规划模块305、控制模块306和路线模块307。
模块301至307中的一些或全部可用软件、硬件或其组合来实现。例如,这些模块可安装在永久存储设备352中,加载到存储器351中,并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可通信地联接至图2的车辆控制***111的一些或全部模块或与图2的车辆控制***111的一些或全部模块集成。模块301至307中的一些可集成在一起作为集成模块。
定位模块301确定ADV 300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线相关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的旅行或路线有关的任何数据。用户可例如经由用户接口登录,并指定旅行的开始位置和目的地。定位模块301与ADV 300的其它部件通信,诸如地图和路线数据311,以获得行程相关数据。例如,定位模块301可从位置服务器以及地图和POI(MPOI)服务器获得位置和路线数据。位置服务器提供位置服务,以及MPOI服务器提供地图服务和特定位置的POI,其可作为地图和路线数据311的部分进行高速缓存。当ADV 300沿着路线移动时,定位模块301还可从交通信息***或服务器获得实时交通信息。
基于由传感器***115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员将感知到驾驶员正在驾驶的车辆周围的东西。该感知可包括车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行道、或其它交通相关标志(例如,停车标志、让路标志)等,例如,以对象的形式。车道配置包括描述一条或多条车道的信息,例如,车道的形状(例如,直线或曲率)、车道的宽度、道路中多少车道、单向或双向车道、合并或***车道、退出车道等。
感知模块302可包括计算机视觉***或计算机视觉***的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自动驾驶车辆的环境中的对象和/或特征。对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉***可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施方式中,计算机视觉***可映射环境、跟踪对象,并估计对象的速度等。感知模块302还可基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。
对于每个对象,预测模块303预测对象在环境下将表现的行为。根据一组地图/路线信息311和交通规则312,基于在时间点感知驾驶环境的感知数据,执行预测。例如,如果对象是处于相反方向的车辆,并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是否可能直接向前移动或转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。
对于每个对象,判定模块304做出关于如何处理对象的判定。例如,对于特定对象(例如,交叉路口中的另一车辆)及其描述该对象的元数据(例如,速度、方向、转向角),判定模块304判定如何遇到该对象(例如,超车、让路、停止、通过)。判定模块304可根据可存储在持久存储装置352中的诸如交通规则或驾驶规则312的一组规则来做出此类判定。
路线模块307配置为提供从起始点到目的点的一个或多个路线或路径。对于例如从用户接收的从开始位置到目的地位置的给定行程,路线模块307获得路线和地图信息311,并确定从开始位置到目的地位置的所有可能的路线或路径。路线模块307可为它确定的从开始位置到达目的地位置的每条路线生成地形图形式的参考路线。参考路线指的是没有来自其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则ADV应该精确地或紧密地遵循参考路线。然后,将地形图提供给判定模块304和/或规划模块305。判定模块304和/或规划模块305检查所有可能的路线,从而考虑由其它模块提供的其它数据来选择和修改最佳路线之一,所述其它数据诸如是来自定位模块301的交通状况、由感知模块302感知的驾驶环境、以及由预测模块303预测的交通状况。用于控制ADV的实际路径或路线可接近或不同于由路线模块307提供的参考路线,这取决于在该时间点的特定驾驶环境。
基于所感知的对象中的每个的判定,规划模块305使用由路线模块307提供的参考路线作为基础来规划自动驾驶车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定的对象,判定模块304判定对该对象做什么,而规划模块305判定如何做。例如,对于给定对象,判定模块304可判定通过该对象,而规划模块305可确定是在左侧还是右侧通过该对象。规划和控制数据由规划模块305生成,包括描述车辆300将在下一移动循环(例如,下一路线/路径段)中如何移动的信息。例如,规划和控制数据可指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变至右车道。
基于规划和控制数据,控制模块306根据规划和控制数据所限定的路线或路径,通过向车辆控制***111发送适当的命令或信号来控制和驾驶自动驾驶车辆。规划和控制数据包括足够的信息,以便在沿着路径或路线的不同时间点使用适当的车辆设置或驾驶参数(例如,油门、刹车、转向命令),将车辆从路线或路径的第一点驾驶到第二点。
在一个实施方式中,规划阶段在多个规划周期中执行,也称为驾驶周期,例如,在100毫秒(ms)的每个时间间隔中执行。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需的时间。可替代地,规划模块305还可指定特定的速度、方向和/或转向角等。在一个实施方式中,规划模块305为诸如5秒的下一预定时间段规划路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置来规划当前周期的目标位置(例如,下个5秒)。然后,控制模块306基于当前循环的规划和控制数据生成一个或多个控制命令(例如,油门、刹车、转向控制命令)。
注意,判定模块304和规划模块305可集成为集成模块。判定模块304/规划模块305可包括导航***或导航***的功能,以确定自动驾驶车辆的驾驶路径。例如,导航***可确定一系列速度和方向航向,以实现自动驾驶车辆沿着基本上避免感知障碍物的路径的运动,同时使自动驾驶车辆大致沿着通向最终目的地的、基于道路的路径前进。可根据经由用户接口***113的用户输入来设置目的地。导航***可在自动驾驶车辆运行的同时动态地更新驾驶路径。导航***可结合来自GPS***和一个或多个地图的数据,以便确定用于自动驾驶车辆的驾驶路径。
图4是示出根据一个实施方式的决策和规划***的示例的框图。***400可实现为图3A至图3B的自动驾驶***300的部分,以执行路径规划和速度规划操作。参考图4,决策和规划***400(也称为规划和控制或PnC***或模块)包括路线模块307、定位/感知数据401、路径判定模块403、速度判定模块405、路径规划模块407、速度规划模块409、聚集器411和轨迹计算器413等。
路径判定模块403和速度判定模块405可实现为判定模块304的部分。在一个实施方式中,路径判定模块403可包括路径状态机、一个或多个路径交通规则、以及站侧地图生成器。路径判定模块403可使用动态规划来产生粗略路径简档,作为路径/速度规划模块407和409的初始约束。
在一个实施方式中,路径状态机包括至少三个状态:巡航状、变化车道状态和/或空闲状态。路径状态机提供先前的规划结果和重要信息,诸如ADV是正在巡航还是正在改变车道。可为图3A的驾驶/交通规则312的部分的路径交通规则包括可影响路径判定模块的结果的交通规则。例如,路径交通规则可包括交通信息,诸如ADV附近的建筑交通标志可避开具有这种建筑标志的车道。从状态、交通规则、由路线模块307提供的参考线、以及由ADV的感知模块302感知的障碍物,路径判定模块403可判定如何处理所感知的障碍物(即,忽略、超车、让路、停止、通过),作为粗略路径简档的部分。
例如,在一个实施方式中,通过由基于路径的曲率和从参考线和/或参考点距障碍物的距离的成本构成的成本函数,生成粗略路径轮廓。选择参考线上的点,并将其移动到参考线的左边或右边,作为代表候选路径的候选移动。每个候选移动均具有相关联的成本。可使用针对最佳成本的动态规划来顺序地一次一个点地求出参考线上的一个或多个点候选移动的相关联成本。
在一个实施方式中,状态横向(SL,state-lateral)地图生成器(未示出)生成作为粗略路径轮廓的一部分的SL地图。SL地图是包括由ADV感知的障碍物信息的二维几何地图(类似于x-y坐标平面)。根据SL地图,路径判定模块403可布置服从障碍物判定的ADV路径。动态规划(也称为动态优化)是一种数学优化方法,它将要求解的问题分解成一系列值函数,从而只需一次求解这些值函数中的每个,并存储它们的解。下一次出现相同的值函数时,简单地查找先前计算的解,而不是重新计算其解。
速度判定模块405或速度判定模块包括速度状态机、速度交通规则和站时间图生成器(未示出)。速度判定过程405或速度判定模块可使用动态规划生成粗略速度简档,作为路径/速度规划模块407和409的初始约束。在一个实施方式中,速度状态机包括至少两个状态:加速状态和/或减速状态。可为图3A的驾驶/交通规则312的部分的速度交通规则包括可影响速度判定模块的结果的交通规则。例如,速度交通规则可包括交通信息,诸如红/绿交通灯、交叉路口中的另一车辆等。从速度状态机的状态、速度交通规则、由判定模块403生成的粗略路径简档/SL地图、以及感知到的障碍物,速度判定模块405可生成粗略速度简档,以控制何时加速和/或减慢ADV。SL图生成器可生成作为粗略速度简档的部分的站时间(ST)图。
在一个实施方式中,路径规划模块407包括一个或多个SL映射、几何平滑器和路径成本模块(未示出)。SL地图可包括由路径判定模块403的SL地图生成器生成的站侧地图。路径规划模块407可使用粗略路径简档(例如,站侧地图)作为初始约束,以使用二次规划来重新计算最佳参考线。二次规划(QP)涉及最小化或最大化服从边界、线性等式和不等式约束的目标函数(例如,具有几个变量的二次函数)。
动态规划和二次规划之间的一个不同之处在于,二次规划对于参考线上的所有点一次优化所有候选移动。几何平滑器可将平滑算法(诸如B样条或回归)应用于输出站侧地图。路径成本模块可用路径成本函数重新计算参考线,以优化用于参考点的候选移动的总成本,例如,使用由QP模块(未示出)执行的QP优化。例如,在一个实施方式中,总路径成本函数可定义如下:
路径成本=∑(航向)2+∑(曲率)2+∑(距离)2
(pathcost-∑points(heading)2+∑pcints(curvature)2+∑points(dtistance)2)
在对参考线上的所有点上对路径成本求和的情况下,航向表示该点相对于参考线之间的径向角度(例如,方向)的差,曲率表示由这些点形成的曲线相对于该点的参考线的曲率之间的差,以及距离表示从该点到参考线的横向(垂直于参考线的方向)距离。在一些实施方式中,距离表示从该点到参考线的目的地位置或中间点的距离。在另一个实施方式中,曲率成本是在相邻点处形成的曲线的曲率值之间的变化。注意,参考线上的点可选择为与相邻点具有相等距离的点。基于路径成本,例如QP模块的路径成本模块可通过使用二次规划优化使路径成本最小化来重新计算参考线。
速度规划模块409包括站时间图、序列平滑器和速度成本模块。站时间图可包括由速度判定模块405的ST图生成器生成的ST图。速度规划模块409可使用粗略速度简档(例如,站-时间图)以及从路径规划模块407得到的作为初始约束的结果,计算最佳的站-时间曲线。序列平滑器可对点的时间序列应用平滑算法(诸如B样条或回归)。速度成本模块可用速度成本函数重新计算ST图,以优化在不同时间点的移动候选(例如,加速/减速)的总成本。
例如,在一个实施方式中,总速度成本函数可为:
速度成本=∑(速度’)2+∑(速度”)2+∑(距离)2
(speedcost=∑points(speed′)2+∑points(speed″)2+(disrance)2)
在对参考线上的所有时间级数点对速度成本求和的情况下,速度’表示加速度值或在两个相邻点之间改变速度的成本,速度”表示跳动值、或加速度值的导数或在两个相邻点之间改变加速度的成本,以及距离表示从ST点到目的地位置的距离。这里,速度成本模块通过例如QP模块通过使用二次规划优化最小化速度成本来计算站时间图。
聚合器411执行聚合路径和速度规划结果的功能。例如,在一个实施方式中,聚集器411可将二维ST图和SL地图组合成三维SLT图。在另一实施方式中,聚集器411可基于SL参考线或ST曲线上的两个连续点来内插(或填充额外的点)。在另一实施方式中,聚集器411可将参考点从(S,L)坐标转换为(x,y)坐标。轨迹生成器413可计算最终轨迹以控制ADV 510。例如,基于由聚集器411提供的SLT图,轨迹生成器413计算指示ADC应当在何时通过特定(x,y)坐标的(x,y,T)点的列表。
因而,路径判定模块403和速度判定模块405配置成考虑障碍物和/或交通状况来生成粗略路径简档和粗略速度简档。给定关于障碍物的所有路径和速度决定,路径规划模块407和速度规划模块409将根据障碍物使用QP规划来优化粗略路径简档和粗略速度简档,以生成具有最小路径成本和/或速度成本的最佳轨迹。
图5是示出根据一个实施方式的站侧地图的框图。参照图5,SL图500具有S水平轴或站、以及L垂直轴或横向。如上所述,站横向坐标是参考参考线上的特定固定点并遵循参考线的相对几何坐标***。例如,(S,L)=(1,0)坐标可表示参考线上的静止点(即,参考点)之前的一米,具有零米的横向偏移。A(S,L)=(2,1)参考点可表示沿着参考线在静止参考点之前的两米以及与参考线垂直的一米横向偏移,例如左偏移。
参照图5,SL地图500包括参考线501和ADV 510感知到的障碍物503-509。在一个实施方式中,障碍物503-509可由ADV 510的RADAR或LIDAR单元在不同坐标系中感知,并转换到SL坐标系。在另一实施方式中,障碍物503-509可为作为约束的人工形成障碍物,因而决定和规划模块不会在约束的几何空间中搜索。在该示例中,路径判定模块可为障碍物503-509中的每个生成决策,诸如避开障碍物503-508和推开障碍物509(非常接近)(即,这些障碍物可为其他汽车、建筑物和/或结构)的决策。然后,路径规划模块可根据考虑到障碍物503-509的路径成本来重新计算或优化参考线501,使用QP规划来以如上所述的最小总成本微调参考线501。在该示例中,对于障碍物509,ADV从障碍物509的左边推开障碍物或很近地接近障碍物509。
图6是根据一个实施方式的具有并行障碍物缓冲***的规划模块的示例。参照图6,规划模块305包括但不限于障碍物模块601、边界模块602、QP模块603、确定模块604、路径生成器605和选择模块606,这些模块一起使用QP算法或模型314来执行ADV的路径规划。注意,模块601-606可集成到更少数量的模块或单个模块中。
根据一个实施方式,感知模块302配置为基于从安装在ADV上的多个传感器获得的传感器数据来感知驾驶环境,包括检测一个或多个障碍物。障碍物模块601配置为生成一个或多个障碍物的障碍物边界组,其中该障碍物边界组中的每一个都具有从预定最小缓冲距离到预定最大缓冲距离范围内的相应缓冲距离。路径生成器605配置为使用基于障碍物边界组的二次规划来并行生成ADV的路径组,其中路径组的每个路径均对应于障碍物边界组中的一个。选择模块606配置为基于具有最小的相应缓冲距离的相应障碍物边界,从路径组的成功路径中选择路径,其中ADV至少距离成功路径中的一个或多个障碍物预定距离。控制模块306配置为控制ADV根据所选择的路径自动地驾驶,以避开一个或多个障碍物。
在一个实施方式中,确定模块604配置为确定ADV的处理器的负载是否大于预定阈值。在一个实施方式中,边界模块602配置为确定ADV的路径组的右边界组或左边界组,其中,基于障碍物边界组的相应障碍物边界来确定右边界组或左边界组中的每一个。在一个实施方式中,右边界或左边界组中的每一个均被确定为具有对应的障碍物边界与一个或多个障碍物的对应的缓冲距离的距离。在一个实施方式中,预定最小缓冲距离是60cm,并且预定最大缓冲距离是100cm。在一个实施方式中,预定距离为50cm。
图7是示出使用缓冲距离执行路径规划的方法的实例的图。参照图7,ADV可沿着道路710的中心712驾驶。安装在ADV上的多个传感器可检测一个或多个障碍物,例如障碍物702。一个或多个障碍物可包括静态障碍物(例如,停放的车辆、自行车、摩托车或结构、或动态障碍物(例如,移动的车辆、自行车、摩托车、行人或动物)。
可基于QP优化来执行ADV的路径规划。QP优化是求解特殊类型的数学优化问题的过程,具体是线性约束的二次优化问题,即优化(最小化或最大化)在这些变量上受到线性约束的几个变量的二次函数的问题。QP是一种特定类型的非线性规划。可对目标函数或成本函数执行QP优化,使得目标函数或成本函数的总成本达到最小,同时满足一组约束。
QP优化可用于基于SL坐标中的成本函数来优化路径。在SL坐标系中,路径的路径坐标是站坐标S(沿着路径的距离)和横向坐标L(点距路径的距离,在与点和路径相交的线上测量,并且垂直于交叉点处的路径)。基于成本函数,可执行QP优化,以找到横向坐标相对于SL坐标中的站坐标的最优函数L=f(s)。例如,成本函数可为车道成本和平滑度成本的组合。成本函数可如下。
Cs(f)=w0∫f(s)2ds+w1∫(f′(s))2ds+w2∫(f″(s))2ds+w3∫(f″′(s)2ds
其中,Cs(f)表示总成本,f(s)表示SL坐标中的规划路径,w0∫f(s)2ds表示与规划路径和参考线之间的差相关联的成本,以及w1∫(f′(s))2ds+w2∫(f″(s))2ds+w3∫(f″′(s)2ds表示与规划路径的平滑度相关联的成本。在平滑度代价函数中,f′(s)表示车道和ADV之间的航向差,f″(s)与路径的曲率相关,以及f″′(s)与曲率的导数相关。
由于基于QP优化的路径规划使用QP解算器,因而成本函数中的所有成本都需要为二次型。然而,ADV 701和障碍物702之间的距离不能形成二次形式。ADV 701和障碍物702之间的距离越大,优化越好,但是二次型形式可能导致较差的优化。因而,具有缓冲距离706的缓冲可用于在QP路径规划期间保持从ADV 701到障碍物702的距离。
可使用基于缓冲距离706的障碍物边界705来执行路径规划,以便避开障碍物702。障碍物边界705可具有到障碍物702的缓冲距离706。缓冲距离706可指障碍物边界705与障碍物702的最近边缘之间的距离。障碍物边界705可与障碍物边界705和障碍物702之间的缓冲距离相关联。
如图7所示,当ADV在道路710上行驶时,可确定右边界704和左边界703。例如,可分别基于道路的右边界和道路的左边界来确定右边界704和左边界703。当ADV 701在右侧检测到障碍物702时,可通过向障碍物702添加缓冲距离706来设置右边界704。在一个实施方式中,可基于障碍物边界705来确定右边界704,障碍物边界705沿着离障碍物702的最近边缘缓冲距离706的线。右边界704靠近障碍物702的部分可为具有离障碍物702缓冲距离706的障碍物边界705。
例如,ADV 701和障碍物702可能需要在所有时间保持至少预定的安全阈值距离。缓冲距离706可大于预定的安全阈值距离。例如,预定的安全阈值距离可为50cm。例如,缓冲距离可为60cm。ADV 701在成功的路径中可至少离障碍物702预定的安全阈值距离。当ADV701和障碍物702之间的实际距离小于预定的安全阈值距离时,规划的路径可能失效,并且不成功。
然而,在某些情况下,由于ADV 701和障碍物702之间的实际距离小于预定的安全阈值距离,因此规划的路径可能失效。图8A示出了这种情况的示例。例如,可基于具有例如60cm的第一缓冲距离的第一障碍物边界705,为ADV 710执行路径规划。可基于第一障碍物边界705生成第一规划路径810。ADV 710可尝试在第一规划路径810上行驶,以避开障碍物702。然而,ADV 701可在从ADV 701的最近边缘到第一规划路径上的障碍物702的距离816处,而距离816可小于预定的安全阈值距离,即使ADV 701在基于障碍物边界705的右边界704内。因为距离806小于预定的安全阈值距离,所以第一规划路径810可失效。
因而,为了保持预定的安全阈值距离,可能需要增加缓冲距离。另一方面,缓冲距离可能不会太大,因为大的缓冲距离可能将ADV推离道路的中心。另外,大的缓冲距离可能增加QP优化失败的风险。这是在保持距障碍物的距离和避免远离道路的中心之间的折衷。
图8B示出了使用并行障碍物缓冲***的路径规划的示例。代替使用具有一个缓冲距离的一个缓冲生成一个障碍物边界,可生成使用具有多个缓冲距离的多个缓冲的多个障碍物边界。这样,可增加ADV和障碍物之间的距离,从而可保持距障碍物的预定安全阈值距离。
如图8B所示,可生成第二缓冲。可产生带有有具有第二缓冲距离806的第二缓冲的第二障碍物边界805,而第二缓冲距离806大于第一缓冲距离706。可基于具有第一缓冲距离706的第一障碍物边界705和具有第二缓冲距离806的第二障碍物边界805来对ADV 710执行路径规划。因为第二缓冲距离806大于第一缓冲距离706,因而ADV 701可处于从ADV 701的最近边缘到第二规划路径820上的障碍物702的距离826处,并且距离826可大于预定的安全阈值距离。因而,第二规划路径820可为成功路径。然而,第二缓冲距离806不能过大,以避免ADV离道路中心太远。
在路径规划中,可生成具有从预定最小缓冲距离到预定最大缓冲距离的多个缓冲距离(例如,706、806、808)的多个缓冲。例如,预定最小缓冲距离可为60cm,以及预定最大缓冲距离可为100cm。多个缓冲距离可为60、70、80、90、100cm。可生成对应于具有多个缓冲距离的多个缓冲的多个障碍物边界(例如,705、805、807)。
可基于用于一个或多个障碍物(例如,702)的一组缓冲距离(例如,706、806、808)来生成障碍物边界组(例如,705、805、807)。障碍物边界组(例如,705、805、807)对应于缓冲距离组(例如,706、806、808)。在一个实施方式中,障碍物边界组可包括多个障碍物边界。多个障碍物边界对应于具有多个缓冲距离的多个缓冲。障碍物边界组中的每一个均可具有到一个或多个障碍物的对应缓冲距离。对应缓冲距离的范围从预定的最小缓冲距离到预定的最大缓冲距离。例如,需要在ADV和一个或多个障碍物之间一直保持预定的安全阈值距离。ADV 701可能需要距一个或多个障碍物至少预定的安全阈值距离。例如,预定的安全阈值距离可为50cm。
具有多个缓冲距离的多个缓冲可应用于所有的障碍物。所有的一个或多个障碍物均可具有多个缓冲距离。在一个实施方式中,每个障碍物均可具有其自己的不同缓冲。在一个实施方式中,为了降低计算复杂度,所有一个或多个障碍物均可具有相同的多个缓冲距离。例如,在第一规划路径中,所有一个或多个障碍物均可具有相同的第一缓冲距离;在第二规划路径中,所述一个或多个障碍物中的所有障碍物均可具有相同的第二缓冲距离等。
一个或多个障碍物可包括静态障碍物,例如停放的车辆、摩托车、自行车或结构。在一个实施方式中,障碍物还可包括低速移动的车辆、摩托车、自行车、行人、动物等。一个或多个障碍物可位于道路的右侧或道路的左侧。
在一个实施方式中,对于高速的动态障碍物,障碍物区域可包括从障碍物的当前位置到障碍物的预测位置的区域,并且可向障碍物区域添加缓冲。障碍物边界可基于具有到障碍物区域的缓冲距离的缓冲来生成。
ADV 701的一组路径(例如810、820)可通过使用基于障碍物边界组(例如705、805)的二次规划来并行生成,其中该路径组的每个路径均对应于障碍物边界组中的一个。在路径规划期间,可使用多个线程来计算带有具有不同缓冲距离的不同缓冲(例如,706、806)的多个路径(例如,810、820)。多个线程可并行运行,使得运行多个线程不会导致额外的计算时间。
请注意,多路径并行生成可能需要检查ADV的自动驾驶***是否过载。在一个实施方式中,如果诸如***CPU负载的中央处理单元(CPU)的***资源的负载大于预定阈值,则不可执行多路径并行生成,以避免向***添加额外负载,或可替代地,可基于***资源使用来减少作为QP优化的路径候选的路径的数目。在这种情况下,可使用具有预定最小缓冲距离的默认障碍物边界。例如,预定阈值可为60%。例如,预定的最小缓冲距离可为60cm。当ADV的CPU的负载大于预定阈值时,其中障碍物边界组可包括具有预定最小缓冲距离的一个障碍物边界。
在已经使用基于障碍物边界组(例如,705、805)的QP优化并行生成路径组(例如,810、820)之后,可检查路径组的规划结果。路径组中的一些路径可能失效。例如,因为ADV710和障碍物702之间的距离816小于预定的安全阈值距离,因而第一规划路径810可能失效。路径组中的一些路径可为成功路径,其中ADV 701至少距离成功路径中的一个或多个障碍物(例如702)预定的安全阈值距离。
在并行地生成多个路径(例如,810、820)之后,可基于最小的对应缓冲距离从多个路径的成功路径中选择路径。如上所述,路径组中的每条路径均具有对应的障碍物边界和对应的缓冲距离。在成功的路径中,可基于具有最小的对应缓冲距离的对应障碍物边界来选择一个路径(例如820)。可选择具有最小缓冲距离而没有失效的一个路径(例如820)。
所选择的具有最小缓冲的成功路径(例如820)可用作输出路径。ADV可控制成根据所选择的路径自动地驾驶,以避开一个或多个障碍物,并避免远离道路中心。
图9是示出使用并行障碍物缓冲***执行路径规划的方法的示例的流程图。过程900可由可包括软件、硬件或其组合的处理逻辑来执行。例如,过程900可由规划模块305执行。参照图9,在操作901中,处理逻辑基于从安装在ADV上的多个传感器获得的传感器数据来感知驾驶环境,包括检测一个或多个障碍物。
在操作902中,处理逻辑执行ADV的路径规划。操作902包括操作903、904和905。在操作903中,处理逻辑为一个或多个障碍物生成障碍物边界组,其中该障碍物边界组中的每一个都具有与范围从预定最小缓冲距离到预定最大缓冲距离的距一个或多个障碍物的相对应缓冲距离。在一个实施方式中,预定最小缓冲距离是60cm,以及预定最大缓冲距离是100cm。在一个实施方式中,预定的安全阈值距离是50cm。
在操作904中,处理逻辑使用基于障碍物边界组的二次规划来并行生成ADV的路径组,其中路径组的每个路径均对应于障碍物边界组中的一个边界。
在一个实施方式中,处理逻辑还确定ADV的处理器的负载是否大于预定阈值。
在一个实施方式中,处理逻辑还确定ADV的CPU的负载大于预定阈值,其中障碍物边界组包括具有预定最小缓冲距离的一个障碍物边界。
在一个实施方式中,处理逻辑还确定ADV的路径组的右边界或左边界的组,其中基于障碍物边界组的相应障碍物边界来确定右边界或左边界的组中的每一个。在一个实施方式中,右边界或左边界组中的每一个都包括作为相应的障碍物边界的部分,该障碍物边界具有与一个或多个障碍物相对应的缓冲距离。
在操作905中,处理逻辑基于具有最小对应缓冲距离的对应障碍物边界从路径组的成功路径中选择路径,其中ADV至少远离成功路径中的一个或多个障碍物预定安全阈值距离。
在操作906中,处理逻辑控制ADV根据所选择的路径自动地驾驶,以避开一个或多个障碍物。
通过这种方法,ADV可规划成功的路径,以避开一个或多个障碍物,同时防止远离道路中心。
注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。替代地,此类部件可实施为规划或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可规划门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驾驶程序和/或操作***来访问。另外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机***或类似电子计算装置的动作和处理,所述计算机***或电子计算装置操控计算机***的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机***存储器或寄存器或其它此类信息存储设备、传输或显示装置内类似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可按不同的顺序执行。另外,一些操作可并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的规划语言进行描述。应认识到,可使用多种规划语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本发明的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可对本发明做出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

Claims (13)

1.一种用于操作自动驾驶车辆(ADV)的计算机实现的方法,所述方法包括:
基于从安装在所述ADV上的多个传感器获得的传感器数据,感知驾驶环境,包括检测一个或多个障碍物;
执行所述ADV的路径规划,包括:
为所述一个或多个障碍物生成障碍物边界组,所述障碍物边界组中的每个均具有与所述一个或多个障碍物相对应的缓冲距离,所述缓冲距离的范围为从预定最小缓冲距离到预定最大缓冲距离;
基于所述障碍物边界组,使用二次规划(QP)并行生成ADV的路径组,所述路径组中的每个路径均对应于所述障碍物边界组中的一个;
从具有最小对应缓冲距离的路径组中选择路径;以及
控制所述ADV根据所选择的路径自动驾驶,以避开所述一个或多个障碍物。
2.如权利要求1所述的方法,还包括:
确定自动驾驶***的***资源使用;以及
基于所述***资源使用,调整用于QP优化的组中的路径的数目。
3.如权利要求2所述的方法,还包括:响应于确定所述***资源使用大于预定阈值,减少用于QP优化的组中的路径的数量。
4.如权利要求1所述的方法,还包括执行多个线程以基本并发地执行QP优化,所述多个线程中的每一个均用于所述路径组中的所述路径中的每个。
5.如权利要求1所述的方法,还包括确定所述ADV的所述路径组的右边界或左边界组,其中,所述右边界或左边界组中的每个均基于所述障碍物边界组的相应障碍物边界来确定。
6.如权利要求5所述的方法,其中,所述右边界或左边界组中的每个都包括部分,所述部分是具有距所述一个或多个障碍物的相应缓冲距离的相应障碍物边界。
7.如权利要求1所述的方法,其中,所述预定最小缓冲距离是60厘米(cm),以及所述预定最大缓冲距离是100cm。
8.如权利要求1所述的方法,其中,所述ADV距所述路径组中的所述一个或多个障碍物至少预定的安全阈值距离。
9.如权利要求8所述的方法,其中,所述预定的安全阈值距离是50cm。
10.一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
11.一种数据处理***,包括:
处理器;以及
存储器,联接至所述处理器以存储指令,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作包括:
基于从安装在所述ADV上的多个传感器获得的传感器数据,感知驾驶环境,包括检测一个或多个障碍物;
执行所述ADV的路径规划,包括:
为所述一个或多个障碍物生成障碍物边界组,所述障碍物边界组中的每个均具有与所述一个或多个障碍物相对应的缓冲距离,所述缓冲距离的范围为从预定最小缓冲距离到预定最大缓冲距离;
基于所述障碍物边界组,使用二次规划(QP)并行生成ADV的路径组,所述路径组中的每个路径均对应于所述障碍物边界组中的一个;
从具有最小对应缓冲距离的路径组中选择路径;以及
控制所述ADV根据所选择的路径自动驾驶,以避开所述一个或多个障碍物。
12.如权利要求11所述的***,其中,所述操作还包括:
确定自动驾驶***的***资源使用;以及
基于所述***资源使用,调整用于QP优化的组中的路径的数目。
13.一种计算机程序程序产品,包括计算机程序,所述计算机程序在被处理器执行实现根据权利要求1-9中任一项所述的方法。
CN202011546788.8A 2020-05-19 2020-12-24 用于路径规划的并行障碍物缓冲*** Active CN113703436B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/878,447 US11745760B2 (en) 2020-05-19 2020-05-19 Parallel obstacle buffer system for path planning
US16/878,447 2020-05-19

Publications (2)

Publication Number Publication Date
CN113703436A true CN113703436A (zh) 2021-11-26
CN113703436B CN113703436B (zh) 2024-06-21

Family

ID=78607675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011546788.8A Active CN113703436B (zh) 2020-05-19 2020-12-24 用于路径规划的并行障碍物缓冲***

Country Status (2)

Country Link
US (1) US11745760B2 (zh)
CN (1) CN113703436B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11814075B2 (en) * 2020-08-26 2023-11-14 Motional Ad Llc Conditional motion predictions
US11945469B2 (en) * 2020-11-25 2024-04-02 Zoox, Inc. Object uncertainty models
US20220315047A1 (en) * 2021-03-30 2022-10-06 Honda Research Institute Europe Gmbh Method, system and vehicle with an uncertainty-based lane positioning control
US11708087B2 (en) * 2021-07-22 2023-07-25 Waymo Llc No-block zone costs in space and time for autonomous vehicles
CN116039264B (zh) * 2022-10-31 2023-09-22 季华实验室 多轴运动平台的控制方法、装置、终端设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160144838A1 (en) * 2013-06-14 2016-05-26 Valeo Schalter Und Sensoren Gmbh Method and device for carrying out collision-avoiding measures
US20190079523A1 (en) * 2017-09-11 2019-03-14 Baidu Usa Llc Dp and qp based decision and planning for autonomous driving vehicles
CN109521763A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN109947090A (zh) * 2017-12-21 2019-06-28 百度(美国)有限责任公司 用于自动驾驶车辆规划的非阻塞边界
US20190257664A1 (en) * 2018-02-20 2019-08-22 Autoliv Asp, Inc. System and method for generating a target path for a vehicle

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831188B2 (en) * 2017-11-07 2020-11-10 Zoox, Inc. Redundant pose generation system
US10678248B2 (en) * 2018-02-15 2020-06-09 GM Global Technology Operations LLC Fast trajectory planning via maneuver pattern selection
US11292449B2 (en) * 2018-10-19 2022-04-05 GEOSAT Aerospace & Technology Unmanned ground vehicle and method for operating unmanned ground vehicle
US20210247762A1 (en) * 2020-02-12 2021-08-12 Qualcomm Incorporated. Allocating Vehicle Computing Resources to One or More Applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160144838A1 (en) * 2013-06-14 2016-05-26 Valeo Schalter Und Sensoren Gmbh Method and device for carrying out collision-avoiding measures
US20190079523A1 (en) * 2017-09-11 2019-03-14 Baidu Usa Llc Dp and qp based decision and planning for autonomous driving vehicles
CN109521763A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN109947090A (zh) * 2017-12-21 2019-06-28 百度(美国)有限责任公司 用于自动驾驶车辆规划的非阻塞边界
US20190257664A1 (en) * 2018-02-20 2019-08-22 Autoliv Asp, Inc. System and method for generating a target path for a vehicle

Also Published As

Publication number Publication date
CN113703436B (zh) 2024-06-21
US20210362743A1 (en) 2021-11-25
US11745760B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
US20210181741A1 (en) Method for determining passable area in planning a path of autonomous driving vehicles
CN113703436B (zh) 用于路径规划的并行障碍物缓冲***
US11055540B2 (en) Method for determining anchor boxes for training neural network object detection models for autonomous driving
US11567506B2 (en) Speed planning guidance line for mild slow down
US11485360B2 (en) Dynamic speed limit adjustment system based on perception results
US11586209B2 (en) Differential dynamic programming (DDP) based planning architecture for autonomous driving vehicles
US11628858B2 (en) Hybrid planning system for autonomous vehicles
EP3925844B1 (en) Relative speed based speed planning for buffer area
CN113619597B (zh) 自动驾驶车辆速度限制变更的规划***
US11787440B2 (en) Lane boundary and vehicle speed based nudge decision
US20230391356A1 (en) Dynamic scenario parameters for an autonomous driving vehicle
US20230053243A1 (en) Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles
EP3838697A1 (en) Speed planning using a speed planning guideline for idle speed of autonomous driving vehicles
US11724717B2 (en) Implementation of dynamic cost function of self-driving vehicles
US20240140432A1 (en) Long-distance autonomous lane change
EP4151490B1 (en) Safety guaranteed control when planning with uncertainty
US20240166239A1 (en) Trajectory planning for navigating small objects on road
CN112601869B (zh) 操作自主驾驶车辆的方法、机器可读介质及数据处理***
US20240005066A1 (en) Decoupled prediction evaluation
US20240025442A1 (en) Trajectory planning in autonomous driving vehicles for unforeseen scenarios
US11242057B2 (en) Method for optimizing three-point turn of autonomous driving vehicles

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