CN110083149B - 用于自动驾驶车辆的路径与速度优化后馈机制 - Google Patents

用于自动驾驶车辆的路径与速度优化后馈机制 Download PDF

Info

Publication number
CN110083149B
CN110083149B CN201910036958.9A CN201910036958A CN110083149B CN 110083149 B CN110083149 B CN 110083149B CN 201910036958 A CN201910036958 A CN 201910036958A CN 110083149 B CN110083149 B CN 110083149B
Authority
CN
China
Prior art keywords
path
optimization
curve
spline
trajectory
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
Application number
CN201910036958.9A
Other languages
English (en)
Other versions
CN110083149A (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 CN110083149A publication Critical patent/CN110083149A/zh
Application granted granted Critical
Publication of CN110083149B publication Critical patent/CN110083149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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
    • 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/14Adaptive cruise control
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • 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
    • 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/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • 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
    • 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/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/09623Systems involving the acquisition of information from passive traffic signs by means mounted on the vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096775Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Mathematical Physics (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

根据一些实施方式,系统基于地图和路线信息计算第一轨迹。系统基于第一轨迹、交通规则和描述由ADV感知到的障碍物的障碍物信息执行路径优化。路径优化通过以下来执行:在第一轨迹上执行基于样条曲线的路径优化,确定基于样条曲线的路径优化的结果是否满足第一预定条件,响应于确定基于样条曲线的路径优化的结果不满足第一预定条件,在第一轨迹上执行基于有限元的路径优化,基于路径优化的结果执行速度优化,以及基于路径优化和速度优化生成第二轨迹以控制ADV。

Description

用于自动驾驶车辆的路径与速度优化后馈机制
技术领域
本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及用于自动驾驶车辆(ADV)的路径与速度优化后馈机制。
背景技术
以自动驾驶模式运行(例如,无人驾驶)的车辆可以将乘员、尤其是驾驶员从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可以使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行驶。
车辆可以按照规划的驾驶轨迹以自动驾驶模式运行。驾驶轨迹可以在路径与速度规划阶段生成。路径与速度规划两者在很大程度上都依赖于优化求解器来解决优化问题。然而,优化问题可能会由于数值问题而失败,例如,QP问题可能不会在有限的迭代次数或运行时间内收敛。因此,需要具有后馈机制来改进优化求解器的鲁棒性,以容忍由于数值问题而导致的一些故障。
发明内容
本公开的一个方面涉及一种生成用于自动驾驶车辆(ADV)的驾驶轨迹的计算机实施的方法。所述方法包括:基于地图和路线信息,计算第一轨迹;以及基于所述第一轨迹、交通规则和描述由所述自动驾驶车辆感知到的障碍物的障碍物信息执行路径优化,其包括:在所述第一轨迹上执行基于样条曲线的路径优化;确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化;基于所述路径优化的结果执行速度优化;以及基于所述路径优化和所述速度优化生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
本公开的另一方面涉及一种存储有指令的非暂时性机器可读介质。所述指令在由一个或多个处理器执行时致使所述一个或多个处理器执行操作。所述操作包括:基于地图和路线信息,计算第一轨迹;以及基于所述第一轨迹、交通规则和描述由所述自动驾驶车辆感知到的障碍物的障碍物信息执行路径优化,其包括:在所述第一轨迹上执行基于样条曲线的路径优化;确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化;基于所述路径优化的结果执行速度优化;以及基于所述路径优化和所述速度优化生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
本公开的又一方面涉及一种数据处理系统,其包括一个或多个处理器;以及联接至所述一个或多个处理器以存储指令的存储器。所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器执行操作。所述操作包括:基于地图和路线信息,计算第一轨迹;以及基于所述第一轨迹、交通规则和描述由所述自动驾驶车辆感知到的障碍物的障碍物信息执行路径优化,其包括:在所述第一轨迹上执行基于样条曲线的路径优化;确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化;基于所述路径优化的结果执行速度优化;以及基于所述路径优化和所述速度优化生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
附图说明
本公开的实施方式在附图的各图中以举例而非限制的方式示出,附图中的相同参考数字指示相似元件。
图1是示出根据一个实施方式的网络化系统的框图。
图2是示出根据一个实施方式的用于自动驾驶车辆的传感器与控制系统的示例的框图。
图3A至图3B是示出根据一些实施方式的用于自动驾驶车辆的感知与规划系统的示例的框图。
图4是示出根据一个实施方式的决策与规划过程的示例的框图。
图5是示出根据一个实施方式的规划模块的示例的框图。
图6是示出根据一个实施方式的规划周期的示例的框图。
图7是根据一个实施方式的用于基于样条曲线的QP优化的SL地图的示例。
图8是根据一个实施方式的用于基于有限元的QP优化的SL地图的示例。
图9是示出根据一个实施方式的方法的流程图。
图10是示出根据一个实施方式的数据处理系统的框图。
具体实施方式
将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是对本公开的说明,而不应当解释为限制本公开。描述了许多特定细节以提供对本公开各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节以提供对本公开的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可以包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。
根据一些实施方式,系统执行基于样条曲线的路径与速度优化,以生成路径曲线和速度曲线。该系统包括后馈机制,例如,在路径与速度优化中的每一个中基于有限元的优化。在一个实施方式中,系统基于地图与路线信息计算大致的路径轮廓和大致的速度轮廓(表示第一轨迹)。系统基于第一轨迹、交通规则和描述由ADV感知到的障碍物的障碍物信息执行路径优化。路径优化通过以下来执行:在第一轨迹上执行基于样条曲线的路径优化,确定基于样条曲线的路径优化的结果是否满足第一预定条件,响应于确定基于样条曲线的路径优化的结果不满足第一预定条件,在第一轨迹上执行基于有限元的路径优化,基于路径优化的结果执行速度优化,以及基于路径优化和速度优化生成第二轨迹,其中,该第二轨迹用于控制ADV。在一个实施方式中,路径优化和/或速度优化可以包括二次规划(QP)优化。
图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但多个自动驾驶车辆可以通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或者位置服务器等。
自动驾驶车辆是指可以被配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可以包括传感器系统,所述传感器系统具有被配置成检测与车辆运行环境有关的信息的一个或多个传感器。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。自动驾驶车辆101可以在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。
在一个实施方式中,自动驾驶车辆101包括,但不限于,感知与规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自动驾驶车辆101还可以包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可以由车辆控制系统111和/或感知与规划系统110使用多种通信信号和/或命令进行控制,例如,加速度信号或命令、减速度信号或命令、转向信号或命令、制动信号或命令等。
部件110至115可以经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件110至115可以经由控制器局域网(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允许自动驾驶车辆101与诸如装置、传感器、其他车辆等外部系统之间的通信。例如,无线通信系统112可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信,诸如,通过网络102与服务器103至104通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实施的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆101的功能中的一些或全部可以由感知与规划系统110控制或管理,尤其当在自动驾驶模式下操作时。感知与规划系统110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。替代地,感知与规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户接口来指定行程的起始位置和目的地。感知与规划系统110获得行程相关数据。例如,感知与规划系统110可以从MPOI服务器中获得位置和路线信息,所述MPOI服务器可以是服务器103至104的一部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。替代地,此类位置和MPOI信息可以本地高速缓存在感知与规划系统110的永久性存储装置中。
当自动驾驶车辆101沿着路线移动时,感知与规划系统110也可以从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至104可以由第三方实体进行操作。替代地,服务器103至104的功能可以与感知与规划系统110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),感知与规划系统110可以规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全有效地到达指定目的地。
服务器103可以是数据分析系统,以为各种客户执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自动驾驶车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括指示所发出的驾驶指令(例如,油门、制动、转向指令)以及由车辆的传感器在不同的时间点捕捉到的车辆的响应(例如,速度、加速、减速、方向)的信息。驾驶统计数据123还可以包括描述不同时间点下的驾驶环境的信息,例如,路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计数据123,机器学习引擎122出于各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施方式中,例如,算法124可以包括优化方法以优化路径规划和速度规划。该优化方法可以包括一组成本函数和多项式函数,以表示路径段或时间段。这些函数可以上传到用于实时生成平滑路径的自动驾驶车辆上。
图3A和图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统300可以被实施为图1的自动驾驶车辆101的一部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。参考图3A和图3B,感知与规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线制定模块307。
模块301至307中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可以安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可以通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至307中的一些可以一起集成为集成模块。例如,决策模块304和规划模块305可以集成为单个模块。
定位模块301确定自动驾驶车辆300的当前位置(例如,利用GPS单元212)以及管理与用户的行程或路线相关的任何数据。定位模块301(也被称为地图与路线模块)管理与用户的行程或路线相关的任何数据。用户可以例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的其他部件通信,诸如地图和路线信息311,以获得行程相关数据。例如,定位模块301可以从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,从而可以作为地图和路线信息311的一部分高速缓存。当自动驾驶车辆300沿着路线移动时,定位模块301也可以从交通信息系统或服务器获得实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,感知模块302确定周围环境的感知。感知信息可以表示普通驾驶员在驾驶员正驾驶的车辆周围将感知到的东西。感知可以包括车道配置(例如,直线车道或弯曲车道)、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或例如采用对象形式的其他交通相关标志(例如,停止标志、让路标志)等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个摄像机捕获的图像,以便识别自动驾驶车辆环境中的对象和/或特征。所述对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪以及其他计算机视觉技术。在一些实施方式中,计算机视觉系统可以绘制环境地图,跟踪对象,以及估算对象的速度等。感知模块302也可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据来检测对象。
针对每个对象,预测模块303预测对象在该情况下将如何表现。根据一组地图/路线信息311和交通规则312,基于该时间点的感知驾驶环境的感知数据来执行预测。。例如,如果对象为相反方向上的车辆且当前驾驶环境包括十字路口,则预测模块303将预测车辆是将可能直线向前移动还是进行转弯。如果感知数据表明十字路口没有交通灯,则预测模块303可能会预测车辆在进入十字路口之前可能需要完全停车。如果感知数据表明车辆目前处于仅左转弯车道或仅右转弯车道,则预测模块303可分别预测车辆将更可能向左转弯或向右转弯。
针对每个对象,决策模块304作出关于如何处置对象的决定。例如,针对特定对象(例如,交叉路线中的另一车辆)以及描述对象的元数据(例如,速度、方向、转弯角度),决策模块304决定如何遇到所述对象(例如,超车、让路、停止、超过)。决策模块304可以根据诸如交通规则或驾驶规则312的一套规则来作出此类决定,所述规则可以存储在永久性存储装置352中。
基于针对所感知到的对象中的每个的决定,规划模块305为自动驾驶车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。换言之,针对给定的对象,决策模块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系统和一个或多个地图的数据合并,以确定用于自动驾驶车辆的驾驶路径。
决策模块304/规划模块305还可以包括防撞系统或防撞系统的功能,以识别、评估并且避免或以其他方式越过自动驾驶车辆的环境中的潜在障碍物。例如,防撞系统可以通过以下方式实现自动驾驶车辆的导航中的变化:操作控制系统111中的一个或多个子系统来采取转向操纵、转弯操纵、制动操纵等。防撞系统可以基于周围的交通模式、道路状况等自动确定可行的障碍物回避操纵。防撞系统可以被配置成使得当其他传感器系统检测到位于自动驾驶车辆将转向进入的相邻区域中的车辆、建筑障碍物等时不采取转向操纵。防撞系统可以自动选择既可使用又使得自动驾驶车辆乘员的安全性最大化的操纵。防撞系统可以选择预测的避开操纵以致使自动驾驶车辆的乘客舱中出现最小量的加速度。
路线制定模块307可以例如从地图信息(诸如,路段的信息、路段的车辆车道信息和车道距路缘的距离信息)生成参考路线。例如,道路可以被分成{A、B和C}区段或段以表示三个路段。路段A的三个车道可以列举为{A1、A2和A3}。通过生成沿着参考路线的参考点来生成参考路线。例如,对于车辆车道,路线制定模块307可以连接由地图数据提供的车辆车道的两个相对路缘或端点的中点。基于表示先前在不同时间点在车辆车道上行驶的车辆的所收集的数据点的中点和机器学习数据,路线制定模块307可以通过以下来计算参考点:选择在车辆车道的预定接近度内所收集的数据点的子集,以及根据所收集的数据点的子集对中点应用平滑函数。
基于参考点或车道参考点,路线制定模块307可以通过对参考点进行插值生成参考线,使得生成的参考线用作用于控制车辆车道上的ADV的参考线。在一些实施方式中,表示参考线的参考点表和路段表实时下载到ADV中,使得ADV可以基于ADV的地理位置和驾驶方向生成参考线。例如,在一个实施方式中,ADV可以通过表示即将到来的前方路段的路径段标识符和/或基于ADV的GPS位置,通过请求用于路径段的路线制定服务来生成参考线。基于路径段标识符,路线制定服务可以返回到ADV参考点表,该参考点表包括用于感兴趣的路段的所有车道的参考点。ADV可以查阅用于路径段的车道的参考点,以生成用于控制车辆车道上的ADV的参考线。
如上所述,路线或路线制定模块307管理与用户的行程或路线相关的任何数据。ADV的用户指定起始位置和目的地位置以获得行程相关数据。行程相关数据包括路线段以及路线段的参考线或参考点。例如,基于路线/地图信息311,路线制定模块307生成路线表或路段表以及参考点表。参考点与路段表中的路段和/或车道有关。参考点可以进行插值,以形成一个或多个参考线来控制ADV。参考点可以专用于路段和/或路段的具体车道。
例如,路段表可以是名称-值对,以包括用于路段A-D的先前道路车道和接下来的道路车道。例如,路段表可以是:{(A1,B1),(B1,C1),(C1,D1)},用于具有车道1的路段A-D。参考点表可以包括用于路段车道的x-y坐标中的参考点,例如,{(A1,(x1,y1)),(B1,(x2,y2)),(C1,(x3,y3)),(D1,(x4,y4))},其中,A1…D1是指路段A-D的车道1,以及(x1,y1)…(x4,y4)是对应的现实世界坐标。在一个实施方式中,路段和/或车道被分成预定的长度,诸如约200米的段/车道。在另一实施方式中,路段和/或车道根据道路状况(诸如道路的曲率)被分成可变长度段/车道。在一些实施方式中、每个路段和/或车道均可以包括若干参考点。在一些实施方式中,参考点可以转换到其他的坐标系中,例如纬度-经度。
在一些实施方式中,参考点可以转换到相对坐标系中,诸如SL(station-lateral)地图的站-横向(station-lateral)(SL)坐标。站-横向坐标系是参考固定参考点以跟随参考线的坐标系。例如,(S,L)=(1,0)坐标可以表示在参考线上的静止点(即,参考点)之前的一米且具有零米横向偏移。(S,L)=(2,1)参考点可以表示沿着参考线在静止参考点之前两米并且距参考线横向偏移一米,例如向左偏移一米。SL地图是指基于SL坐标中的参考线或驾驶轨迹的站-横向地图。SL地图可以将参考线或驾驶轨迹映射为二维真实世界经度纬度坐标图。
在一个实施方式中,决策模块304基于由路线制定模块307提供的参考线以及基于由ADV感知到的在ADV周围的障碍物和/或交通信息生成粗略的路径轮廓。粗略的路径轮廓可以是可存储在永久性存储装置352中的路径/速度轮廓313的一部分。粗略的路径轮廓通过选择沿着参考线的点来生成。针对每个点,决策模块304基于关于如何遇到对象的一个或多个障碍决策,将点移动到参考线的左边或右边(例如,候选运动),而其余点保持稳定。候选运动可以对路径候选项使用动态规划迭代地执行,以使用作为图3A的成本函数315的一部分的成本函数搜索具有最低路径成本的路径候选项,从而生成粗略的路径轮廓。成本函数的示例包括基于以下的成本:路线路径的曲率、从ADV到所感知到的障碍物的距离以及ADV距参考线的距离。在一个实施方式中,生成的粗略路径轮廓包括站-横向(station-lateral)地图,作为可以存储在永久性存储装置352中的SL地图/ST图314的一部分。ST图或站-时间(station-time)图描述站-时间坐标中的参考线或驾驶轨迹。ST图绘制了沿着参考线的距离与所经过的时间的关系。
在一个实施方式中,决策模块304基于生成的粗略路径轮廓生成粗略速度轮廓(作为路径/速度轮廓313的一部分)。粗略速度轮廓指示在控制ADV的特定时间点上的最佳速度。与粗略路径轮廓相类似,使用动态规划来迭代不同时间点处的候选速度,以根据由ADV感知到的障碍物,基于作为图3A的成本函数315的一部分的成本函数,以最低速度成本找到速度候选项(例如,加速或减速)。粗略速度轮廓决定ADV是应超越障碍物还是避开障碍物,以及应到障碍物的左边还是右边。在一个实施方式中,粗略速度轮廓包括站-时间(ST)图(作为SL地图/ST图314的一部分)。站-时间图指示相对于时间行进的距离。
在一个实施方式中,粗略路径轮廓通过使用二次规划(QP)优化路径成本函数(作为成本函数315的一部分)来进行重新计算。在一个实施方式中,重新计算的粗略路径轮廓包括站-横向地图(作为SL地图/ST图314的一部分)。在一个实施方式中,规划模块305使用二次规划(QP)重新计算粗略速度轮廓,以优化速度成本函数(作为成本函数315的一部分)。在一个实施方式中,重新计算的粗略速度轮廓包括站-时间图(作为SL地图/ST图314的一部分)。
应注意,如上文示出和描述的部件中的一些或全部可以以软件、硬件或其组合实施。例如,此类部件可以实施为安装并存储在永久性存储装置中的软件,所述软件可以通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。替代地,此类部件可以实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可以经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可以实施为处理器或处理器内核中的特定硬件逻辑,作为可以由软件部件通过一个或多个特定指令访问的指令集的一部分。
图4是示出根据一个实施方式的决策与规划过程的示例的框图。
图5是示出根据一个实施方式的规划模块的示例的框图。参考图4,决策与规划过程400包括定位/感知数据401、路径决策过程403、速度决策过程405、路径规划过程407、速度规划过程409、聚合器411和轨迹计算器413。
路径决策过程403和速度决策过程405可以分别由图3A的决策模块304执行。回到图4,路径决策过程403可以使用动态规划生成粗略路径轮廓,作为路径规划过程407/速度规划过程409的初始约束。应注意,动态规划(或动态优化)是数学优化方法,它将要解决的问题分解为一系列值函数,仅需对这些值函数中的每个求解一次并存储它们的解。下次相同的值函数出现时,只需查找先前计算的解,从而节省计算时间,而不是重新计算它的解。例如,根据交通规则、由路线制定模块307提供的参考线和由ADV感知到的障碍物,路径决策过程403可以决定如何处理所感知到的障碍物(即,忽略,超越,让行,停车,通过),作为粗略路径轮廓的一部分。
在一个实施方式中,粗略路径轮廓由成本函数生成,该成本函数包括基于以下的成本:路径的曲率以及从参考线和/或参考点到所感知到的障碍物的距离。选择参考线上的点并将其移动到参考线的左边或右边,作为表示路径候选项的候选运动。候选运动中的每个均具有关联成本。参考线上的一个或多个点的候选运动的关联成本可以使用用于最佳成本的动态规划来顺序地求解,一次一个点顺序地求解。在一个实施方式中,决策模块304生成站-横向(SL)地图,作为大致路径轮廓的一部分。此处,感知到的障碍物可以建模为SL地图的SL边界。SL地图是二维几何地图(与x-y坐标平面相类似),包括由ADV感知到的障碍物信息(或SL边界)。生成的SL地图列出用于控制ADV的ADV路径。
速度决策过程405可以使用动态规划生成粗略速度轮廓,作为路径规划过程407/速度规划过程409的初始约束。例如,速度决策过程405可以基于ADV的速度状态(例如,加速或减速)和任何交通信息来生成粗略速度轮廓,以控制何时使ADV加速和/或减速。决策模块304可以生成站-时间(ST)图,作为粗略速度轮廓313的一部分。
参考图4至图5,路径规划过程407可以由路径规划模块521执行。路径规划模块521可以包括基于样条曲线的QP优化器525和故障安全QP优化器527。路径规划过程407或路径规划模块521可以使用粗略路径轮廓(例如,站-横向地图)作为初始约束,从而经由基于样条曲线的QP优化器525使用二次规划(QP)重新计算最佳参考线。二次规划涉及受到边界,线性等式和不等式约束的最小化或最大化目标函数(例如,具有若干变量的二次函数)。动态规划与二次规划之间的一个区别是二次规划一次优化了参考线上所有点的所有候选运动。应注意,在整个申请中,QP优化被用作路径和/或速度优化的示例;然而,也可以使用其他优化器。
参考图5,基于样条曲线的优化器525(作为QP模块540的一部分)可以初始化分段多项式,该分段多项式连接由路径决策过程403提供的粗略路径轮廓的相邻控制点或一些内插控制点。基于样条曲线的优化器525可以添加一组联合平滑约束(例如,一阶,二阶,三阶等约束以联合相邻的分段多项式),以改善多个分段多项式的平滑性,从而确保相邻控制点之间的多项式段平滑地联合在一起。基于样条曲线的优化器525可以选择具有一组内核或加权函数的目标函数,优化器将以该目标函数为目标。基于目标成本函数,优化器525可以通过使用二次规划优化使路径成本最小化来重新计算最佳路径曲线。
参考图5,故障安全QP优化器527(作为QP模块540的一部分)还可以对由路径决策过程403提供的粗略路径轮廓的控制点或一些内插控制点执行QP优化。在一个实施方式中,故障安全QP优化器527包括有限元优化器以执行有限元优化。有限元方法或有限元优化是通过将较大的问题细分为更小、更简单的方程式来解决问题的数值方法。然后将建模较小的部分或有限元的简单方程式组合成更大的方程组来对整个系统建模。求解该较大的方程组以近似解。此时,优化器527可以优化或解决减小相邻控制点之间的不连续性的QP问题。在一个实施方式中,优化器527减小每个相邻控制点之间的曲率的不连续性,以近似在每个相邻控制点之间具有总体上最小化的曲率不连续性的解。在另一实施方式中,优化器527减小相邻控制点之间的角度变化,以近似在相邻控制点之间具有总体上最小化的不连续性或角度变化的解。然后,近似解将是最佳路径曲线(例如,SL地图)。
参考图4,速度规划过程409可以由图5的速度规划模块523执行。参考图5,速度规划模块523可以包括基于样条曲线的QP优化器531和故障安全QP优化器533。速度规划过程409或速度规划模块523可以使用粗略速度轮廓(例如,作为站-时间图531的一部分的站-时间图)和来自路径规划过程407的结果(例如,最佳路径曲线)作为初始条件来计算最佳站-时间曲线。
参考图5,根据最佳路径曲线,基于样条曲线的QP优化器531(作为QP模块540的一部分)可以初始化分段多项式,该分段多项式连接由速度决策过程405提供的粗略速度轮廓的相邻控制点或一些内插控制点。基于样条曲线的QP优化器531可以添加一组联合平滑约束(例如,一阶,二阶,三阶等约束以联合相邻的分段多项式),以保证多个分段多项式的平滑性,从而确保相邻控制点之间的多项式段平滑地联合在一起。基于样条曲线的QP优化器531可以选择具有一组内核或加权函数的目标成本函数,优化器将以该目标成本函数为目标。基于该目标成本函数,优化器531可以通过使用基于样条曲线的QP优化使速度成本最小化来重新计算样条曲线,以获得最佳速度曲线。
参考图5,根据最佳路径曲线,故障安全QP优化器533(作为QP模块540的一部分)还可以优化由速度决策过程405提供的粗略速度轮廓的控制点或一些内插控制点。在一个实施方式中,故障安全QP优化器533包括有限元优化器,以通过减少相邻控制点之间的变化来优化控制点。在一个实施方式中,优化器527减少相邻控制点之间的加速度变化和速度变化,以近似例如最佳速度曲线的解。
参考图4,聚合器411执行聚合路径和速度规划结果的功能。例如,在一个实施方式中,聚合器411可以将ST图(例如,最佳速度曲线)和SL地图(例如,最佳路径曲线)组合成SLT图。在另一实施方式中,聚合器411可以基于SL地图或ST图上的2个连续点进行插值(或填充附加点)。在另一实施方式中,聚合器411可以将控制点从(S,L)坐标转化为(x,y)坐标。轨迹计算器413可以基于SLT图或其转化的等同物计算最终轨迹(例如,驾驶轨迹),以控制ADV。例如,基于由聚合器411提供的SLT图,轨迹计算器413计算一系列(x,y,T)点,该一系列(x,y,T)点指示ADV应在何时经过具体的(x,y)坐标。
因此,路径决策过程403和速度决策过程405将考虑障碍物和/或交通状况生成粗略路径轮廓和粗略速度轮廓。给定关于障碍物的所有路径和速度决策,路径规划过程407和速度规划过程409将使用QP规划(基于样条曲线的QP优化器或诸如基于有限元的QP优化器的故障安全QP优化器)来优化粗略路径轮廓和速度轮廓,以生成具有最小路径成本和/或速度成本的最佳轨道。
图6示出根据一个实施方式的用于具有故障安全机制的优化算法的规划周期的示例。参考图6,规划周期600包括过程1至过程5。过程1至过程2可以是图4的路径规划过程407的一部分。过程1至过程2可以分别由图5的路径规划模块521的基于样条曲线的QP优化器525和故障安全QP优化器527来执行。过程3至过程4可以是图4的速度规划过程409的一部分。过程3至过程4可以分别由图5的速度规划模块523的基于样条曲线的QP优化器531和故障安全QP优化器533来执行。过程5可以由图4的聚合器411来执行。
在过程1处,处理逻辑执行基于样条曲线的路径QP优化,如果优化成功(例如,输出满足预定条件),则处理逻辑继续过程3。如果过程1优化不成功(例如,优化问题未在预定数量的有限迭代中收敛,则优化算法遇到错误,或由于任何原因无法完成),则处理逻辑在过程2处继续。在过程2处,处理逻辑执行基于有限元的路径QP优化,即,作为故障安全优化,并且在过程3处继续。在过程3处,处理逻辑执行基于样条曲线的速度QP优化,如果优化成功,则处理逻辑在过程5处继续。如果过程3优化不成功(例如,优化问题未在预定数量的有限迭代中收敛,则优化算法遇到错误,或由于任何原因无法完成),则处理逻辑在过程4处继续。在过程4处,处理逻辑执行基于有限元的速度QP优化,即,作为故障安全优化,并且在过程5处继续。在过程5处,处理逻辑聚合来自路径和速度优化的规划结果,以生成驾驶轨迹。
图7示出根据一个实施方式的路段的粗略路径轮廓(SL地图)的示例。参考图7,S路径700包括控制点701至704。控制点701至704提供分段多项式711至713,以经由图5的路径规划模块521的基于样条曲线的QP优化器525生成样条。样条是由联合在一起以形成曲线的一个或多个(例如,分段)多项式表示的曲线。为了平滑度或不连续性,样条曲线711至713的路径成本使用QP优化进行优化。例如,在一个实施方式中,样条内的每个多项式函数可以是:
l(S)=p0+p1S+p2S2+…+pnsn
其中,s、l表示多项式的n阶站-横向一维几何坐标(s,l),以及p0..n为要求解的多项式的系数。
分段多项式可以由不等式约束和等式约束限制,以联合相邻的分段多项式,同时确保相邻的分段多项式之间的平滑度,其中,不等式约束限制目标函数的总成本达到最小,同时满足该组约束,以生成最佳路径曲线。
一旦路径被优化,经由图5的速度规划模块523的基于样条曲线的QP优化器531,表示每个控制点之间的车辆的速度曲线的速度分段多项式可以通过通用分段多项式在station-time(ST)图中建模。例如,在一个实施方式中,速度样条内的每个分段多项式可以是:
f(t)=a0i+a1i×t+a2i×t2+a3i×t3+a4i×t4+a5i×t5
其中,a0i,…,a5i是五次多项式的系数,t是范围从0到段的总长度的段中的时间,s是t上的累积距离。应注意,分段多项式可以是任何次数或其组合,并不限于五次多项式。然后,相邻控制点的分段多项式可以由不等式约束和等式约束限制,以联合相邻的分段多项式,同时确保相邻的分段多项式之间的平滑度,其中,不等式约束限制分段多项式必须满足的速度(例如,最大或最小速度限制)。系统对速度目标函数执行二次规划(QP)优化,使得速度目标函数的总成本达到最小,同时满足该组约束,以生成最佳速度曲线。一旦生成最佳速度曲线,就可以聚合优化的ST图和SL地图以生成控制ADV的轨迹。
然而,基于样条曲线的QP优化未必会在有限数量的迭代中收敛,或者由于优化误差而失败。图8示出根据一个实施方式的用于作为故障安全机制的基于有限元的QP优化的SL地图的示例。参考图8,在一个实施方式中,经由图5的路径规划模块521的故障安全QP优化器527,通过使SL地图的相邻控制点之间的曲率/方向/角度的总变化最小化,生成最佳路径曲线。在这种情况下,总曲率的变化可以细分为控制点701至704之间的曲率或角度的单独变化的较小问题。对于每对相邻控制点之间的不连续性中的全局最小值,可以迭代地遍历这些单独的变化以达到全局最小值。例如,要最小化的角度成本函数可以是:
Figure BDA0001946220080000191
其中,θpi+3-pi+2表示相邻控制点pi+3和pi+2之间的角度变化。类似地,θpi+1-pi表示相邻控制点pi+1和pi之间的角度变化。
然后,在相邻点之间的曲率或角度的不连续性中具有全局最小值的路径将是优化的路径曲线。具有优化的路径(来自故障安全QP优化器527或基于样条曲线的QP优化器525)后,可以基于沿着优化路径和粗略速度轮廓的控制点,经由图5的故障安全QP优化器533设置基于有限元的速度QP优化问题。对于基于有限元的速度QP优化,要最小化的成本函数可以是:
speed cost=∑pointsα(acceleration)2+∑pointsβ(speed-speed target)2
速度成本=∑α(加速度)2+∑β(速度-速度目标)2
其中,speeds cost(速度成本)为所有时间进度点上的总和,α和β为权重因子,acceleration(加速度)表示加速度值或两个相邻点之间的速度变化的成本,speed(速度)表示控制点处的速度值,以及speed target(速度目标)表示车辆在控制点处的期望目标速度。然后,在相邻点之间的速度成本中具有全局最小值的速度曲线将是优化的速度曲线。优化的速度曲线和优化的路径可以聚合,以生成驾驶轨迹来控制ADV。
图9是示出根据一个实施方式的控制ADV的方法的流程图。过程900可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程900可以由图3A至图3B的规划模块305执行。参考图9,在框901处,处理逻辑基于地图和路线信息计算第一轨迹(例如,路径轮廓和速度轮廓)表示。在框902处,处理逻辑基于第一轨迹、交通规则和描述由ADV感知到的障碍物的障碍物信息来执行路径优化。路径优化包括在框903处在第一轨迹上执行基于样条曲线的路径二次规划(QP)优化。在框904处,确定基于样条曲线的路径QP优化的结果是否满足第一预定条件。在框905处,响应于确定基于样条曲线的路径QP优化的结果不满足第一预定条件,在第一轨迹上执行基于有限元的路径QP优化。在框906处,基于路径QP优化的结果,执行速度QP优化。在框907处,基于路径QP优化和速度QP优化生成第二轨迹,其中,该第二轨迹用于控制ADV。
在一个实施方式中,执行速度QP优化包括:根据优化的路径在第一轨迹上执行基于样条曲线的速度QP优化,确定基于样条曲线的速度QP优化的结果是否满足第二预定条件,以及响应于确定基于样条曲线的速度QP优化的结果不满足第二预定条件,根据优化的路径在第一轨迹上执行基于有限元的速度QP优化。在另一实施方式中,基于ADV的初始速度以及速度限制执行速度QP优化。在另一实施方式中,优化的路径包括径向路径,并且基于该径向路径的半径执行速度QP优化。
在一个实施方式中,确定基于样条曲线的路径QP优化满足第一预定条件包括确定基于样条曲线的路径QP优化的迭代计算的数量是否超过预定数量。在一个实施方式中,确定基于样条曲线的路径QP优化满足第一预定条件包括确定基于样条曲线的路径QP优化所花费的时间是否超过预定时间周期。在一个实施方式中,执行基于有限元的路径QP优化包括将第一轨迹分割成多个路径点并最小化多个路径点中的相邻路径点之间的不连续性。
图10是示出可以与本公开的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可以表示以上所述的执行上述过程或方法中的任一个的任何数据处理系统,例如,图1的感知与规划系统110或者服务器103至104。系统1500可以包括许多不同的部件。这些部件可以实施为集成电路(IC)、集成电路的部分、分立电子装置或适用于电路板的其他模块(诸如,计算机系统的主板或插入卡)或者实施为以其他方式并入计算机系统的底盘内的部件。
还应注意,系统1500旨在示出计算机系统的许多部件的高级视图。然而,应当理解的是,某些实施例中可以具有附加的部件,此外,其他实施例中可以具有所示部件的不同配置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出了单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的任何一种或多种方法的机器或系统的任何集合。
在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其他指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、加密处理器、协同处理器、嵌入式处理器,或者能够处理指令的任何其他类型的逻辑。
处理器1501(其可以是低功率多核处理器插座,诸如超低电压处理器)可以充当用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可以实施为片上系统(SoC)。处理器1501被配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可以包括与可选的图形子系统1504通信的图形接口,图形子系统1504可以包括显示控制器、图形处理器和/或显示装置。
处理器1501可以与存储器1503通信,存储器1503在一个实施方式中可以经由多个存储器装置实施以提供给定量的系统存储器。存储器1503可以包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其他类型的存储装置。存储器1503可以存储包括由处理器1501或任何其他装置执行的指令序列的信息。例如,各种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,机器人操作系统(ROS)、来自
Figure BDA0001946220080000221
公司的
Figure BDA0001946220080000222
操作系统、来自苹果公司的Mac
Figure BDA0001946220080000223
来自
Figure BDA0001946220080000224
公司的
Figure BDA0001946220080000225
LINUX、UNIX,或者其他实时或嵌入式操作系统。
系统1500还可以包括IO装置,诸如装置1505至1508,包括网络接口装置1505、可选的输入装置1506,以及其他可选的IO装置1507。网络接口装置1505可以包括无线收发器和/或网络接口卡(NIC)。所述无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其他射频(RF)收发器或者它们的组合。NIC可以是以太网卡。
输入装置1506可以包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504集成在一起)、指针装置(诸如,指示笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可以包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种,以及用于确定与触摸屏接触的一个或多个接触点的其他接近传感器阵列或其他元件来检测其接触和移动或间断。
IO装置1507可以包括音频装置。音频装置可以包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其他IO装置1507还可以包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,运动传感器,诸如加速度计、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可以包括成像处理子系统(例如,摄像机),所述成像处理子系统可以包括用于促进摄像机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可以经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其他装置可以由嵌入式控制器(未示出)控制,这取决于系统1500的具体配置或设计。
为了提供诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储设备(未示出)也可以联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应性,这种大容量存储设备可以经由固态装置(SSD)来实施。然而,在其他实施方式中,大容量存储设备可以主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储设备充当SSD高速缓存以在断电事件期间实现上下文状态以及其他此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可以例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可以提供系统软件的非易失性存储,所述系统软件包括所述系统的BIOS以及其他固件。
存储装置1508可以包括计算机可访问的存储介质1509(也被称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述部件中的任一个,例如诸如图3的规划模块305、和/或基于样条曲线的QP优化器525、531以及故障安全QP优化器527、533。处理模块/单元/逻辑1528还可以在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/逻辑1528还可以通过网络经由网络接口装置1505进行传输或接收。
计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本公开的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其他非暂时性机器可读介质。
本文所述的处理模块/单元/逻辑1528、部件以及其他特征可以实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或类似装置)的功能中。此外,处理模块/单元/逻辑1528可以实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
应注意,虽然系统1500被示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本公开的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/或其他数据处理系统也可以与本公开的实施方式一起使用。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其他方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其他此类信息存储设备、传输或显示装置内类似地表示为物理量的其他数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可以使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可以对本公开做出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

Claims (18)

1.一种生成用于自动驾驶车辆的驾驶轨迹的计算机实施的方法,所述方法包括:
基于地图和路线信息,计算第一轨迹;以及
基于所述第一轨迹、交通规则和描述由所述自动驾驶车辆感知到的障碍物的障碍物信息,执行路径优化以获得优化的路径曲线,所述路径优化包括:
在所述第一轨迹上执行基于样条曲线的路径优化;
确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;
响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化,所述基于有限元的路径优化包括将所述第一轨迹分割成多个路径段,以及最小化所述多个路径段中的相邻路径段之间的不连续性;
基于所述路径优化的结果执行速度优化以获得优化的速度曲线;以及
基于所述优化的路径曲线和所述优化的速度曲线生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
2.根据权利要求1所述的计算机实施的方法,其中,执行所述速度优化包括:
根据所述优化的路径曲线,在所述第一轨迹上执行基于样条曲线的速度优化;
确定所述基于样条曲线的速度优化的结果是否满足第二预定条件;以及
响应于确定所述基于样条曲线的速度优化的所述结果不满足所述第二预定条件,根据所述优化的路径曲线,在所述第一轨迹上执行基于有限元的速度优化。
3.根据权利要求2所述的计算机实施的方法,其中,基于所述自动驾驶车辆的初始速度以及速度限制执行所述速度优化。
4.根据权利要求3所述的计算机实施的方法,其中,所述优化的路径曲线包括径向路径,并且基于所述径向路径的半径执行所述速度优化。
5.根据权利要求1所述的计算机实施的方法,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化的迭代计算的数量是否超过预定数量。
6.根据权利要求1所述的计算机实施的方法,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化所花费的时间是否超过预定时间周期。
7.一种存储有指令的非暂时性机器可读介质,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器执行操作,所述操作包括:
基于地图和路线信息,计算第一轨迹;以及
基于所述第一轨迹、交通规则和描述由自动驾驶车辆感知到的障碍物的障碍物信息,执行路径优化以获得优化的路径曲线,所述路径优化包括:
在所述第一轨迹上执行基于样条曲线的路径优化;
确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;
响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化,所述基于有限元的路径优化包括将所述第一轨迹分割成多个路径段,以及最小化所述多个路径段中的相邻路径段之间的不连续性;
基于所述路径优化的结果执行速度优化以获得优化的速度曲线;以及
基于所述优化的路径曲线和所述优化的速度曲线生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
8.根据权利要求7所述的非暂时性机器可读介质,其中,执行速度优化包括:
根据所述优化的路径曲线,在所述第一轨迹上执行基于样条曲线的速度优化;
确定所述基于样条曲线的速度优化的结果是否满足第二预定条件;以及
响应于确定所述基于样条曲线的速度优化的结果不满足所述第二预定条件,根据所述优化的路径曲线,在所述第一轨迹上执行基于有限元的速度优化。
9.根据权利要求8所述的非暂时性机器可读介质,其中,基于所述自动驾驶车辆的初始速度以及速度限制,执行所述速度优化。
10.根据权利要求9所述的非暂时性机器可读介质,其中,所述优化的曲线路径包括径向路径,并且基于所述径向路径的半径执行所述速度优化。
11.根据权利要求7所述的非暂时性机器可读介质,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化的迭代计算的数量是否超过预定数量。
12.根据权利要求7所述的非暂时性机器可读介质,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化所花费的时间是否超过预定时间周期。
13.一种数据处理系统,包括:
一个或多个处理器;以及
存储器,联接至所述一个或多个处理器以存储指令,所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器执行操作,所述操作包括:
基于地图和路线信息,计算第一轨迹;以及
基于所述第一轨迹、交通规则和描述由自动驾驶车辆感知到的障碍物的障碍物信息,执行路径优化以获得优化的路径曲线,所述路径优化包括:
在所述第一轨迹上执行基于样条曲线的路径优化;
确定所述基于样条曲线的路径优化的结果是否满足第一预定条件;
响应于确定所述基于样条曲线的路径优化的结果不满足所述第一预定条件,在所述第一轨迹上执行基于有限元的路径优化,所述基于有限元的路径优化包括将所述第一轨迹分割成多个路径段,以及最小化所述多个路径段中的相邻路径段之间的不连续性;基于所述路径优化的结果执行速度优化以获得优化的速度曲线;以及
基于所述优化的路径曲线和所述优化的速度曲线生成第二轨迹,其中,所述第二轨迹用于控制所述自动驾驶车辆。
14.根据权利要求13所述的系统,其中,执行速度优化包括:
根据所述优化的路径曲线,在所述第一轨迹上执行基于样条曲线的速度优化;
确定所述基于样条曲线的速度优化的结果是否满足第二预定条件;以及
响应于确定所述基于样条曲线的速度优化的结果不满足所述第二预定条件,根据所述优化的路径曲线,在所述第一轨迹上执行基于有限元的速度优化。
15.根据权利要求14所述的系统,其中,基于所述自动驾驶车辆的初始速度以及速度限制,执行所述速度优化。
16.根据权利要求15所述的系统,其中,所述优化的路径包括径向路径,并且基于所述径向路径的半径执行所述速度优化。
17.根据权利要求13所述的系统,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化的迭代计算的数量是否超过预定数量。
18.根据权利要求13所述的系统,其中,确定所述基于样条曲线的路径优化是否满足第一预定条件包括:确定所述基于样条曲线的路径优化所花费的时间是否超过预定时间周期。
CN201910036958.9A 2018-01-26 2019-01-15 用于自动驾驶车辆的路径与速度优化后馈机制 Active CN110083149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/881,708 2018-01-26
US15/881,708 US10816977B2 (en) 2018-01-26 2018-01-26 Path and speed optimization fallback mechanism for autonomous vehicles

Publications (2)

Publication Number Publication Date
CN110083149A CN110083149A (zh) 2019-08-02
CN110083149B true CN110083149B (zh) 2022-05-13

Family

ID=65324154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910036958.9A Active CN110083149B (zh) 2018-01-26 2019-01-15 用于自动驾驶车辆的路径与速度优化后馈机制

Country Status (5)

Country Link
US (1) US10816977B2 (zh)
EP (1) EP3517893B1 (zh)
JP (1) JP6845874B2 (zh)
KR (1) KR102099152B1 (zh)
CN (1) CN110083149B (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606277B2 (en) * 2017-09-18 2020-03-31 Baidu Usa Llc Speed optimization based on constrained smoothing spline for autonomous driving vehicles
US10795367B2 (en) * 2018-01-11 2020-10-06 Uatc, Llc Mapped driving paths for autonomous vehicle
US10782699B2 (en) * 2018-03-10 2020-09-22 Baidu Usa Llc Real-time perception adjustment and driving adaption based on surrounding vehicles' behavior for autonomous driving vehicles
US11378961B2 (en) * 2018-04-17 2022-07-05 Baidu Usa Llc Method for generating prediction trajectories of obstacles for autonomous driving vehicles
US10816985B2 (en) * 2018-04-17 2020-10-27 Baidu Usa Llc Method on moving obstacle representation for trajectory planning
EP3824404A4 (en) 2018-07-20 2022-04-27 May Mobility, Inc. MULTI-PERSPECTIVE SYSTEM AND BEHAVIORAL POLICY SELECTION PROCESS BY AN AUTONOMOUS AGENT
US10809736B2 (en) * 2018-12-27 2020-10-20 Baidu Usa Llc ST-graph learning based decision for autonomous driving vehicle
US11409284B2 (en) 2019-05-15 2022-08-09 Baidu Usa Llc Relaxation optimization model to plan an open space trajectory for autonomous vehicles
US11467591B2 (en) * 2019-05-15 2022-10-11 Baidu Usa Llc Online agent using reinforcement learning to plan an open space trajectory for autonomous vehicles
US11493926B2 (en) * 2019-05-15 2022-11-08 Baidu Usa Llc Offline agent using reinforcement learning to speedup trajectory planning for autonomous vehicles
KR20210026306A (ko) * 2019-08-29 2021-03-10 삼성전자주식회사 로봇 및 이의 제어 방법
DE102019123900B3 (de) * 2019-09-05 2020-11-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren für optimiertes autonomes Fahren eines Fahrzeugs
DE102019123899B3 (de) * 2019-09-05 2020-11-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren für autonomes Fahren eines Fahrzeugs
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11378967B2 (en) * 2019-09-25 2022-07-05 Baidu Usa Llc Enumeration based failure prevention QP smoother for autonomous vehicles
JP7347522B2 (ja) * 2019-09-27 2023-09-20 株式会社アイシン 運転支援装置及びコンピュータプログラム
US11754408B2 (en) 2019-10-09 2023-09-12 Argo AI, LLC Methods and systems for topological planning in autonomous driving
US11815891B2 (en) * 2019-10-22 2023-11-14 Baidu Usa Llc End dynamics and constraints relaxation algorithm on optimizing an open space trajectory
CN115973194A (zh) * 2019-11-19 2023-04-18 深圳市镭神智能系统有限公司 智能车辆控制方法、装置、设备及介质
CN111174790B (zh) * 2019-12-03 2023-08-01 河海大学 一种地形剖面跟踪路径的形成方法
JP7256812B2 (ja) * 2019-12-20 2023-04-12 バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド 自動運転車両の動的コスト関数の実現方法
US11520009B2 (en) * 2020-02-05 2022-12-06 Caterpillar Inc. Method and system for detecting an obstacle
TWI745879B (zh) * 2020-03-06 2021-11-11 宏碁股份有限公司 自動駕駛系統以及自動駕駛方法
US11656627B2 (en) * 2020-03-23 2023-05-23 Baidu Usa Llc Open space path planning using inverse reinforcement learning
CN111559388B (zh) * 2020-03-26 2022-07-12 吉利汽车研究院(宁波)有限公司 一种目标车辆筛选方法、装置、设备及存储介质
EP4132827A4 (en) * 2020-04-10 2024-01-10 Baidu.com Times Technology (Beijing) Co., Ltd. PULL-OVER METHOD BASED ON SQUARE PROGRAMMING FOR PATH PLANNING
JP2023533225A (ja) 2020-07-01 2023-08-02 メイ モビリティー,インコーポレイテッド 自律走行車ポリシーを動的にキュレーションする方法及びシステム
CN112185147B (zh) * 2020-10-14 2021-10-22 安徽江淮汽车集团股份有限公司 一种车辆行驶过程优化方法、装置、设备及存储介质
CN114527737A (zh) * 2020-11-06 2022-05-24 百度在线网络技术(北京)有限公司 用于自动驾驶的速度规划方法、装置、设备、介质和车辆
CN112498366B (zh) * 2020-11-20 2022-04-05 苏州智加科技有限公司 自动驾驶车辆、控制方法、装置、设备及存储介质
JP2023553980A (ja) * 2020-12-14 2023-12-26 メイ モビリティー,インコーポレイテッド 自律車両安全プラットフォームシステム及び方法
CN112666945B (zh) * 2020-12-18 2024-07-12 广东嘉腾机器人自动化有限公司 一种agv曲线路径优化方法
KR102507804B1 (ko) 2020-12-24 2023-03-09 주식회사 라이드플럭스 자율주행 차량의 주행 경로 생성 방법, 장치 및 컴퓨터프로그램
FR3118669A1 (fr) * 2021-01-04 2022-07-08 Psa Automobiles Sa Procédé et dispositif de détermination d’une trajectoire d’un véhicule autonome
US11472436B1 (en) 2021-04-02 2022-10-18 May Mobility, Inc Method and system for operating an autonomous agent with incomplete environmental information
DE102021112119A1 (de) 2021-05-10 2022-11-10 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und Vorrichtung zur Trajektorienplanung für ein Fahrzeug
CN113085850B (zh) * 2021-06-08 2021-09-21 新石器慧通(北京)科技有限公司 车辆避障方法、装置、电子设备及存储介质
CN113568403A (zh) * 2021-07-02 2021-10-29 广州小鹏自动驾驶科技有限公司 处理方法、处理装置、车辆及存储介质
CN113715845A (zh) * 2021-09-07 2021-11-30 北京百度网讯科技有限公司 一种自动驾驶方法、装置及电子设备
WO2023102098A1 (en) 2021-12-01 2023-06-08 May Mobility, Inc. Method and system for impact-based operation of an autonomous agent
DE102022102118A1 (de) 2022-01-31 2023-08-03 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und Vorrichtung zum Erzeugen von Trajektorien auf einer gegebenen Strecke für mehrere Fahrzeuge mit gegebenen Leistungsspezifikationen
WO2023154568A1 (en) 2022-02-14 2023-08-17 May Mobility, Inc. Method and system for conditional operation of an autonomous agent
CN114838736A (zh) * 2022-04-29 2022-08-02 深圳优地科技有限公司 避障路径规划方法、装置、无人车和存储介质
WO2024086049A1 (en) * 2022-10-17 2024-04-25 Motional Ad Llc Guided generation of trajectories for remote vehicle assistance
WO2024129832A1 (en) 2022-12-13 2024-06-20 May Mobility, Inc. Method and system for assessing and mitigating risks encounterable by an autonomous vehicle
WO2024134321A1 (ja) * 2022-12-22 2024-06-27 70442 ロベルト•ボッシュ•ゲゼルシャフト•ミト•ベシュレンクテル•ハフツング 処理装置および処理方法
CN116069031B (zh) * 2023-01-28 2023-08-11 武汉理工大学 基于车体扫掠模型的地下无人矿车路径优化方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105551284A (zh) * 2016-01-29 2016-05-04 武汉光庭科技有限公司 一种开放式自动驾驶系统
KR101669622B1 (ko) * 2015-07-15 2016-10-26 국방과학연구소 무인주행차량의 자율주행을 위한 최적화기반 경로계획 방법 및 그 장치
CN106114507A (zh) * 2016-06-21 2016-11-16 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
CN106414202A (zh) * 2014-05-08 2017-02-15 沃尔沃汽车公司 用于确定主车辆的规避路径的方法
CN106909144A (zh) * 2017-01-22 2017-06-30 无锡卡尔曼导航技术有限公司 用于农机无人驾驶的田间避障路径规划及其控制方法
CN106926844A (zh) * 2017-03-27 2017-07-07 西南交通大学 一种基于实时环境信息的动态自动驾驶换道轨迹规划方法
CN106931986A (zh) * 2017-04-26 2017-07-07 电子科技大学 个性化路径导航方法和系统
CN106940933A (zh) * 2017-03-08 2017-07-11 北京理工大学 一种基于智能交通系统的智能车辆决策换道方法
CN107608344A (zh) * 2017-08-21 2018-01-19 上海蔚来汽车有限公司 基于轨迹规划的车辆运动控制方法、装置及相关设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5648901A (en) * 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
JP4407906B2 (ja) 2004-03-10 2010-02-03 関東自動車工業株式会社 線状柔軟物の経路公差評価装置
US8170739B2 (en) * 2008-06-20 2012-05-01 GM Global Technology Operations LLC Path generation algorithm for automated lane centering and lane changing control system
US8126642B2 (en) 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
US8146021B1 (en) * 2009-08-18 2012-03-27 Adobe Systems Incorporated User interface for path distortion and stroke width editing
KR101063302B1 (ko) * 2010-10-05 2011-09-07 국방과학연구소 무인차량의 자율주행 제어 장치 및 방법
KR101585504B1 (ko) * 2014-03-05 2016-01-15 국방과학연구소 자율 이동 차량의 경로 생성 방법 및 경로 생성 장치
US9405293B2 (en) 2014-05-30 2016-08-02 Nissan North America, Inc Vehicle trajectory optimization for autonomous vehicles
US9457807B2 (en) * 2014-06-05 2016-10-04 GM Global Technology Operations LLC Unified motion planning algorithm for autonomous driving vehicle in obstacle avoidance maneuver
US9499197B2 (en) * 2014-10-15 2016-11-22 Hua-Chuang Automobile Information Technical Center Co., Ltd. System and method for vehicle steering control
JP6485639B2 (ja) 2015-07-22 2019-03-20 本田技研工業株式会社 経路生成装置、経路生成方法、および経路生成プログラム
US9740202B2 (en) 2016-01-08 2017-08-22 Waymo Llc Fall back trajectory systems for autonomous vehicles
JP6617582B2 (ja) * 2016-01-29 2019-12-11 トヨタ自動車株式会社 車両操舵制御装置
KR101769786B1 (ko) * 2016-02-17 2017-08-21 한국전자통신연구원 전방 시뮬레이션 기반 최적 주행 속도 예측 시스템 및 방법
JP6614025B2 (ja) * 2016-05-20 2019-12-04 アイシン・エィ・ダブリュ株式会社 自動運転支援装置及びコンピュータプログラム
US10303166B2 (en) * 2016-05-23 2019-05-28 nuTonomy Inc. Supervisory control of vehicles
WO2018069757A2 (en) * 2016-10-11 2018-04-19 Mobileye Vision Technologies Ltd. Navigating a vehicle based on a detected barrier
US10345812B2 (en) * 2017-01-10 2019-07-09 GM Global Technology Operations LLC Methods and apparatus for optimizing a trajectory for an autonomous vehicle
CN108445750B (zh) * 2017-02-16 2022-04-08 法拉第未来公司 用于车辆运动规划的方法和系统
US10379538B1 (en) * 2017-03-20 2019-08-13 Zoox, Inc. Trajectory generation using motion primitives
US10877476B2 (en) * 2017-11-30 2020-12-29 Tusimple, Inc. Autonomous vehicle simulation system for analyzing motion planners
US11126177B2 (en) * 2018-01-24 2021-09-21 Motional Ad Llc Speed behavior planning for vehicles

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106414202A (zh) * 2014-05-08 2017-02-15 沃尔沃汽车公司 用于确定主车辆的规避路径的方法
KR101669622B1 (ko) * 2015-07-15 2016-10-26 국방과학연구소 무인주행차량의 자율주행을 위한 최적화기반 경로계획 방법 및 그 장치
CN105551284A (zh) * 2016-01-29 2016-05-04 武汉光庭科技有限公司 一种开放式自动驾驶系统
CN106114507A (zh) * 2016-06-21 2016-11-16 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
CN106909144A (zh) * 2017-01-22 2017-06-30 无锡卡尔曼导航技术有限公司 用于农机无人驾驶的田间避障路径规划及其控制方法
CN106940933A (zh) * 2017-03-08 2017-07-11 北京理工大学 一种基于智能交通系统的智能车辆决策换道方法
CN106926844A (zh) * 2017-03-27 2017-07-07 西南交通大学 一种基于实时环境信息的动态自动驾驶换道轨迹规划方法
CN106931986A (zh) * 2017-04-26 2017-07-07 电子科技大学 个性化路径导航方法和系统
CN107608344A (zh) * 2017-08-21 2018-01-19 上海蔚来汽车有限公司 基于轨迹规划的车辆运动控制方法、装置及相关设备

Also Published As

Publication number Publication date
EP3517893A1 (en) 2019-07-31
KR20190095883A (ko) 2019-08-16
CN110083149A (zh) 2019-08-02
KR102099152B1 (ko) 2020-07-06
EP3517893B1 (en) 2020-11-18
JP2019128962A (ja) 2019-08-01
US10816977B2 (en) 2020-10-27
US20190235516A1 (en) 2019-08-01
JP6845874B2 (ja) 2021-03-24

Similar Documents

Publication Publication Date Title
CN110083149B (zh) 用于自动驾驶车辆的路径与速度优化后馈机制
CN110119140B (zh) 用于加速曲线投影的系统和方法
CN109947090B (zh) 用于自动驾驶车辆规划的非阻塞边界
CN109491376B (zh) 用于自动驾驶车辆的基于动态规划和梯度下降的决策和规划
CN109491377B (zh) 用于自动驾驶车辆的基于dp和qp的决策和规划
CN109521762B (zh) 用于生成自动驾驶车辆的最优参考线路的计算机实施的方法、介质及系统
CN109521763B (zh) 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN109521761B (zh) 用于自动驾驶车辆的基于约束平滑样条的速度优化方法、介质及系统
CN110728014B (zh) 使用具有加权几何成本的分段螺旋曲线的参考线平滑方法
CN109955853B (zh) 用于操作自动驾驶车辆的方法、系统和存储介质
US10515321B2 (en) Cost based path planning for autonomous driving vehicles
CN108981730B (zh) 用于为操作自动驾驶车辆生成参考路径的方法和系统
US10775801B2 (en) Determining speeds along a path for autonomous driving vehicles
US10816985B2 (en) Method on moving obstacle representation for trajectory planning
US20190315357A1 (en) Novel method for speed adjustment of autonomous driving vehicles prior to lane change
CN111123906A (zh) 不同横向加速度约束下的最优纵向轨迹生成
CN112020686B (zh) 用于自动驾驶的基于qp样条路径和螺旋路径的参考线平滑方法
CN111830959A (zh) 用于操作自动驾驶车辆的方法、系统和机器可读介质
CN111615476A (zh) 用于自动驾驶车辆的基于螺旋曲线的竖直停车规划系统
CN112009487A (zh) 确定自动驾驶车辆的速度
CN111830958A (zh) 用于操作自动驾驶车辆的方法、系统和机器可读介质
CN111649751B (zh) 一种用于参考线平滑的超自由缝合方法
CN112272805B (zh) 连接两条平滑参考线的基于多点增强的拼接方法

Legal Events

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