CN116249947A - 预测运动规划系统及方法 - Google Patents
预测运动规划系统及方法 Download PDFInfo
- Publication number
- CN116249947A CN116249947A CN202080104632.6A CN202080104632A CN116249947A CN 116249947 A CN116249947 A CN 116249947A CN 202080104632 A CN202080104632 A CN 202080104632A CN 116249947 A CN116249947 A CN 116249947A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- state
- evaluator
- parameters
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Probability & Statistics with Applications (AREA)
- Traffic Control Systems (AREA)
Abstract
描述了用于训练自动驾驶汽车(100)的运动规划器(330)的方法和系统。所述运动规划器(330)的轨迹评估器(334)代理接收状态数据,所述状态数据定义了所述自动驾驶汽车(100)的当前状态和在当前时间跳变的环境(802)。根据所述当前状态,选择轨迹(804)。根据所述选定轨迹在所述当前状态下的性能,计算奖励(806)。接收针对所述自动驾驶汽车(100)的下一个状态和在下一个时间跳变的环境的状态数据(808)。根据所述当前状态、选定轨迹、计算奖励和下一个状态更新所述轨迹评估器(334)代理的参数(810)。所述轨迹评估器(334)代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
Description
相关申请案的交叉引用
本专利申请要求2020年7月28日提交的标题为“预测运动规划系统和方法(PREDICTIVE MOTION PLANNING SYSTEM AND METHOD)”的美国专利申请序列号16/940,807的优先权权益,该专利申请通过引用并入本文,就像完整复制一样。
技术领域
本公开涉及用于自动驾驶汽车的路径规划的系统和方法,包括用于基于轨迹生成、评估和选择进行运动规划的系统和方法。
背景技术
自动驾驶汽车可以使用不同的传感器来感知其周围环境和车辆自身的操作参数。自动驾驶汽车通常包括基于终点目标和感测数据规划未来车辆动作的规划系统,并且车辆控制系统根据规划系统的输出生成控制命令。因此,规划系统在决策、规划和导航中发挥着至关重要的作用。
规划系统可以分解为以下分层规划器(也可以称为规划单元、规划子系统、规划模块等):任务规划器、行为规划器和运动规划器。运动规划器接收来自行为规划器的规划行为以及关于感知环境的信息作为输入,以输出自动驾驶汽车的轨迹。在本公开中,轨迹是自动驾驶汽车在多个时间跳变上应沿着的位置坐标和方向的序列。可以在轨迹中定义车辆速度和/或车辆加速度等其它参数。
运动规划的一些方法包括轨迹生成器、轨迹评估器和轨迹选择器。轨迹生成器通常使用一些先验知识(例如,车辆动力学和运动学)来仅生成合理的轨迹并减少搜索空间。轨迹评估器通常评估生成的轨迹(例如,使用一些定量度量),以对轨迹进行比较和排序。轨迹选择器通常基于对生成轨迹的评估选择一个所需轨迹。
现有的基于规则的运动规划技术通常需要根据显式定义的成本函数进行优化。这种基于规则的方法通常难以维护,也无法在复杂的动态场景中很好地扩展。此外,显式定义的成本函数通常不够通用,难以调整以考虑复杂的动态相互作用。
其它运动规划技术使用基于机器学习的方法,这些方法从人类驾驶模式中学习。例如,Zeng等人(“端到端可解释神经运动规划器(End-to-End Interpretable NeuralMotion Planner)”,IEEE计算机视觉和模式识别会议(CVPR),2019年)描述了一种端到端监督学习途径,该方法学习将更好的评估分配给与人类驾驶数据更相似的轨迹,并将更差的评估分配给与人类驾驶数据更为不同的轨迹。在另一个示例中,Bansal等人(“ChauffeurNet:通过模仿最好的和合成最差的来学习驾驶(ChauffeurNet:Learning toDrive by Imitating the Best and Synthesizing the Worst)”,机器人学:科学与系统,2019年)使用神经网络根据人类驾驶数据直接从其历史中预测未来轨迹,然后将此预测轨迹用作运动规划器的输出。
这些方法依靠人类专家进行训练,通常仅限于专家的表现和经验。这些方法可能无法充分探索状态-行动空间中对安全和性能可能不那么重要的部分。因此,提供一种不依赖于专家表现的基于机器学习的运动规划方法是有益的。
发明内容
在各种示例中,本公开描述了使用基于机器学习的方法来进行自动驾驶汽车中的运动规划的方法和系统。描述了基于机器学习的方法的不同示例,包括训练基于RL代理的轨迹评估器的方法,该方法使轨迹评估器能够从其先前的经验中学习,而不限于人类生成的训练数据。
在各种示例中,本公开描述了运动规划器,该运动规划器接收当前状态(当前状态可以包括关于感知环境的信息以及规划行为的信息)和可选地在未来时间跳变中的预测作为输入,并基于特定度量的优化选择要沿着的规划轨迹。通常,可以选择规划轨迹,以实现更安全、更快(但在限速内)的驾驶体验。
在各种示例中,本公开描述了用于训练轨迹评估器以将评估值分配给候选轨迹的RL方法。轨迹评估器可以使用包括显式定义的轨迹(例如,由显式函数或公式在数学上定义)的训练数据来训练,或者可以使用包括轨迹参数的训练数据来训练。使用显式定义的轨迹进行训练可以在轨迹的生成方式上实现更多的灵活性。使用轨迹参数的训练可以实现更快的训练和更彻底的探索较小轨迹空间。
在一些示例中,轨迹评估器可以生成以统计度量为特征的概率评估值。这使用分布强化学习通过训练来实现。
在一些示例中,本公开描述了一种用于训练自动驾驶汽车的运动规划器的系统。所述系统包括处理单元,所述处理单元用于执行指令以使所述系统:接收第一组状态数据,作为对所述运动规划器的轨迹评估器代理的输入,所述第一组状态数据定义了所述自动驾驶汽车的当前状态和在当前时间跳变的环境;基于所述当前状态选择选定轨迹;确定所述选定轨迹的计算奖励,所述计算奖励是基于所述选定轨迹在所述当前状态下的性能计算的;接收第二组状态数据,所述第二组状态数据定义了所述自动驾驶汽车的下一个状态和在下一个时间跳变的环境;基于所述当前状态、选定轨迹、计算奖励和下一个状态更新所述轨迹评估器代理的参数,所述轨迹评估器代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
在一些示例中,本公开描述了一种用于训练自动驾驶汽车的运动规划器的方法。所述方法包括:接收第一组状态数据,作为对所述运动规划器的轨迹评估器代理的输入,所述第一组状态数据定义了所述自动驾驶汽车的当前状态和在当前时间跳变的环境;基于所述当前状态选择选定轨迹;确定所述选定轨迹的计算奖励,所述计算奖励是基于所述选定轨迹在所述当前状态下的性能计算的;接收第二组状态数据,所述第二组状态数据定义了所述自动驾驶汽车的下一个状态和在下一个时间跳变的环境;基于所述当前状态、选定轨迹、计算奖励和下一个状态更新所述轨迹评估器代理的参数,所述轨迹评估器代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
在一些示例中,本公开描述了一种计算机可读介质,存储用于由用于训练自动驾驶汽车的运动规划器的系统的处理单元执行的指令,所述指令在执行时使所述系统:接收第一组状态数据,作为对所述运动规划器的轨迹评估器代理的输入,所述第一组状态数据定义了所述自动驾驶汽车的当前状态和在当前时间跳变的环境;基于所述当前状态选择选定轨迹;确定所述选定轨迹的计算奖励,所述计算奖励是基于所述选定轨迹在所述当前状态下的性能计算的;接收第二组状态数据,所述第二组状态数据定义了所述自动驾驶汽车的下一个状态和在下一个时间跳变的环境;基于所述当前状态、选定轨迹、计算奖励和下一个状态更新所述轨迹评估器代理的参数,所述轨迹评估器代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
在上述任一项中,所述第一组状态数据和所述第二组状态数据各自可以独立地包括以2D图像形式编码的状态数据。
在上述任一项中,所述轨迹评估器代理的所述参数可以根据以下等式更新:V(st,τt)←rt+γV(st+1,τt+1);其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,V(st+1,τt+1)是所述选定轨迹在所述下一个时间跳变和所述下一个状态的评估值,γ是折扣因子。
在上述任一项中,所述轨迹评估器代理的所述参数可以根据以下等式更新:V(st,τt)←rt+γV(st+1,TS(st+1));其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,TS(st+1)是在所述下一个时间跳变的下一个选定轨迹,V(st+1,TS(st+1))是所述下一个选定轨迹和所述下一个状态的评估值,γ是折扣因子。
在上述任一项中,所述评估值可以生成为定义概率评估值的概率分布的一组统计度量。
在上述任一项中,可以根据基于一个或多个统计度量的选择标准选择所述选定轨迹。
在上述任一项中,定义候选轨迹的一组数据可以是根据轨迹生成函数定义所述候选轨迹的一组参数。
在上述任一项中,所述指令还可以使所述系统(或所述方法可以包括):根据所述轨迹生成函数,从所述一组参数生成所述选定轨迹。
在上述任一项中,所述选定轨迹可以由一组2D图像定义,所述一组2D图像定义所述候选轨迹在多个时间跳变上的航点。
附图说明
现在将通过示例参考示出本申请示例性实施例的附图,其中:
图1是示出示例性自动驾驶汽车的一些部件的方块图;
图2是示出根据示例性实施例的可用于实现图1所示自动驾驶汽车的路径规划系统的处理单元的一些部件的方块图;
图3是示出示例性路径规划系统的进一步细节的方块图;
图4是示出运动规划器中轨迹评估器的示例性训练阶段的方块图;
图5示出编码为2D图像的不同状态数据的示例;
图6示出运动规划器的示例性实现;
图7示出运动规划器的另一个示例性实现;
图8是示出用于训练运动规划器的示例性方法的流程图。
在不同的附图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
本公开的一些示例在自动驾驶汽车的上下文中描述。虽然本文描述的示例可以将汽车称为自动驾驶汽车,但本公开的教导可以在其它形式的自主或半自动驾驶汽车中实现,包括例如电车、地铁、卡车、公共汽车、水面和水下航行器和船舶、飞机、无人机(也称为无人驾驶飞行器(unmanned aerial vehicle,UAV))、仓库设备、制造设施设备、建筑设备、农用设备、吸尘器和剪草机等自动服务机器人以及其它机器人设备。自动驾驶汽车可能包括不载客的车辆以及载客的车辆。
图1是示出示例性自动驾驶汽车100的某些部件的方块图。虽然被描述为自主的,但汽车100可以在完全自主、半自主或完全用户控制的模式下操作。在本公开中,在汽车的实施例中描述汽车100,然而,如上所述,本公开可以在其它自动驾驶汽车中实现。
汽车100包括例如传感器系统110、感知系统120、路径规划系统130、车辆控制系统140和机电系统150。其它系统和部件可以酌情包括在汽车100中。在本例中,感知系统120、路径规划系统130和车辆控制系统140是不同的软件系统,它们包括可由汽车100的处理单元中的一个或多个处理器执行的机器可读指令。或者,感知系统120、路径规划系统130和车辆控制系统140可以是一个或多个芯片(例如,专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FGPA)和/或其它类型的芯片)上的不同系统。例如,感知系统120、路径规划系统130和车辆控制系统140可以使用一个芯片、两个芯片或三个不同的芯片(使用相同或不同类型的芯片)来实现。车辆的各种系统和部件可以例如通过有线或无线通信相互通信。例如,传感器系统110可以与感知系统120和车辆控制系统140通信;感知系统120可以与路径规划系统130和车辆控制系统140通信;路径规划系统130可以与车辆控制系统140通信;车辆控制系统140可以与机电系统150通信。
图1示出了从传感器系统110到感知系统120、路径规划系统130、车辆控制系统140和机电系统150(下文将进一步详细讨论)的示例数据流(由箭头指示)。然而,应当理解,可以以各种不同的方式在系统110、120、130、140、150之间进行数据通信,并且系统110、120、130、140、150之间可以存在双向数据通信。
传感器系统110包括各种传感单元,例如雷达单元112、激光雷达单元114和相机116,用于在汽车100在环境中操作时收集关于汽车100周围环境的信息。传感器系统110还包括全球定位系统(global positioning system,GPS)单元118,用于收集关于车辆在环境中的位置的信息。传感器系统110还包括一个或多个内部传感器119,用于收集关于汽车100本身的物理操作条件的信息,包括例如用于感测转向角、线性速度、线性和角加速度、姿态(俯仰、偏航、侧倾)、指南针行驶方向、车辆振动、节气门状态、制动状态、车轮牵引力、变速器传动比、机舱温度和压力等的传感器传感器系统110中可以包括图1未示出的其它传感器,例如用于感测外部温度和压力、降水和噪音等外部条件的环境传感器。
由传感器系统110收集的信息作为传感器数据提供给感知系统120。感知系统120处理传感器数据以生成关于车辆内部状态的状态数据和关于汽车100周围环境状态的状态数据。关于车辆内部状态的状态数据可以包括例如定义车辆位置的数据(例如,包括关于汽车100的位置和方向的数据,可以是绝对地理经度/纬度值和/或参考其它参照系的值)和/或定义车辆操作的数据(例如,包括关于车辆的运动动力学参数的数据,如线性速度和加速度、行驶方向、角加速度、姿态(例如俯仰、偏航、侧倾)和振动,以及机械系统操作参数,如发动机RPM、节气门位置、制动位置和变速器传动比等)。关于汽车100周围环境的状态的状态数据可以包括例如关于汽车100周围检测到的静止和移动对象的信息、天气和温度条件、路况、道路配置和关于物理环境的其它信息。
一般来说,运动动力学一词涉及机器人技术和运动规划中的一类问题,其中速度、加速度、力/扭矩边界必须满足,运动学约束(例如,避障)也必须满足。运动动力学参数是与此类运动规划问题相关的参数,如上文所述。在一些实施例中,运动动力学参数可以包括以下项中的一个或多个:最大加速度、最大减速度、汽车100的方向盘的最大转速、汽车100的运动学模型、汽车100的宽度或长度、汽车最小转弯半径等。
在一些示例中,传感器系统110或感知系统120还可以访问地图(未示出),该地图可以是表示关于周围环境的已知信息的参考地图。例如,地图可以从外部参考数据库接收(例如,基于使用GPS单元118确定的车辆位置检索)。
例如,从雷达112、激光雷达114和相机单元116接收的传感器数据可用于确定汽车100的局部环境(例如,任何周围的障碍物)以及来自更宽附近的信息(例如,雷达单元112和激光雷达单元114可以从汽车100周围半径达100米或更大的区域收集)。来自GPS单元118和其它传感器的传感器数据可用于确定车辆的位置,从而定义汽车100的地理位置。来自内部传感器119以及来自其它传感器单元的传感器数据可用于确定车辆的运动动力学参数,包括汽车100相对于参考系的速度和姿态。
本公开中的感知系统120被描述为执行各种感测和处理功能的通用系统。在一些实现中,感知系统120可以使用用于执行不同功能的各种子系统来实现。例如,感知系统120可以提供感测、传感器融合、定位、语义理解、对象检测和跟踪和/或处理世界模式等功能。在一些实际实现中,这些功能中的一些可以使用感知系统120内的不同子系统(例如,融合子系统或状态估计器子系统)来实现。为了简单起见,并且不损失一般性,本公开一般地参考了感知系统120。由感知系统120输出的数据可以包括处理最少(例如,归一化和/或过滤以去除噪声)的数据。感知系统120还可以对传感器数据执行更广泛的处理,例如生成占用网格图(occupancy grid map,OGM)和预测的未来OGM、检测和分类感兴趣的对象(例如,其它车辆、行人等)、检测按其类别分类的对象的位置和速度、检测道路车道标记和车道中心的位置等。因此,由感知系统120输出的数据可以包括分析(或估计)数据(例如,OGM和对象分类)以及简单数据(例如,车速、车辆加速度等)。
数据从感知系统120实时输出到规划系统130,规划系统130是本公开的重点,并将在下文更详细地描述。车辆控制系统140用于基于由规划系统130设定的终点目标控制汽车100的操作。车辆控制系统140可用于提供汽车100的完全、部分或辅助控制。机电系统150从车辆控制系统140接收控制信号,用于操作汽车100的机电部件,例如发动机、变速器、转向系统和制动系统。
如前所述,感知系统120、规划系统130和车辆控制系统140可以实现为包括可由汽车100的处理系统的一个或多个处理单元执行的机器可读指令的软件。
图2示出了可以在汽车100中实现的处理单元200的示例。处理单元200包括一个或多个处理器210。一个或多个处理器210可以包括中央处理器(central processing unit,CPU)、图形处理单元(graphical processing unit,GPU)、张量处理单元(tensorprocessing unit,TPU)、神经处理单元(neural processing unit,NPU)、数字信号处理器或其它计算元件。处理器210耦合到电子存储器220和一个或多个输入和输出(I/O)接口或设备230。电子存储器220可以包括一个或多个非瞬态或有形存储器(例如闪存)和/或瞬态存储器(例如RAM)。有形存储器可以存储指令、数据和/或软件模块,用于由处理器210执行,以执行本文所述系统的功能。电子存储器220的有形存储器可以存储用于实现汽车100的其它操作的其它软件指令和数据。
电子存储器220可以包括任何合适的易失性和/或非易失性存储和检索工具,包括例如闪存、随机存取存储器(RAM)、只读存储器(ROM)、硬盘、光学盘、用户识别模块(SIM)卡、记忆棒、安全数字(SD)存储卡和其它状态存储设备。在图2的示例中,处理单元200的电子存储器220存储用于实现感知系统120、规划系统130和车辆控制系统140的指令(可由处理器210执行)。在一些实施例中,电子存储器220还存储数据145,包括由传感器系统110提供的传感器数据和由规划系统130用于生成驾驶规划的数据,例如用于当前环境的地图。
图3是示出规划系统130的进一步细节的方块图;为了清楚起见,省略汽车100的一些部件。应当理解,在涉及机器学习的一些示例中,规划系统130或规划系统130的模块或子系统可以在汽车100外部(例如,在模拟器系统中)训练。在下面讨论的示例中,至少运动规划器330可以在模拟器中训练。
通常,规划和决策可以在三个级别上执行,即在任务级别(例如,由任务规划器310执行)、在行为级别(例如,由行为规划器320执行)和在运动级别(例如,由运动规划器330执行)。
通常,规划和决策的目的是确定汽车100从第一位置(例如,车辆的当前位置和方向,或预期的未来位置和方向)行驶到目标位置(例如,用户定义的最终目的地)的路径。规划还可以包括确定到一个或多个中间目标位置的一个或多个子路径。规划系统130考虑到诸如可行驶地面(例如,定义的道路)、障碍物(例如,行人和其它车辆)、交通规则(例如,遵守交通信号)和用户定义的偏好(例如,避开收费公路)等条件确定适当的路径和子路径。
规划系统130的规划和决策可以是动态的,并且随着环境的变化而重复执行。环境的变化可以是由于汽车100的移动(例如,汽车100接近新检测到的障碍物)以及由于环境的动态属性(例如,移动的行人和其它移动的车辆)。
如上所述,规划和决策可以在不同的级别进行,例如在任务级别、行为级别和运动级别。任务级别规划被认为是较高(或更全局)的规划级别,运动级别规划被认为是较低(或更局部)的规划级别,行为级别规划被认为是介于任务级别与运动级别之间的。一般来说,较高级别的规划和决策输出至少可以构成较低级别规划和决策输入的一部分。
任务级别的规划(更简单地称为任务规划)涉及在较高级别或全局级别为自动驾驶汽车规划路径。汽车100的第一位置可以是旅程的起点(例如,用户的家),汽车100的目标位置可以是最终目的地点(例如,用户的工作场所)。选择穿过一组道路的一条路线是任务规划的示例。通常,最终目的地点一旦设置(例如,通过用户输入),在旅程的持续时间内是不变的。虽然最终目的地点可能不变,但任务规划所规划的路径可能会随着旅程的持续时间而改变。例如,不断变化的交通状况可能需要任务规划来动态更新规划的路径,以避免拥挤的道路。用户还可以在旅程中的任何时候更改最终目的地点。
用于任务规划的输入数据可以包括例如GPS数据(例如,确定汽车100的起点)、地理地图数据(例如,来自内部或外部地图数据库)、交通数据(例如,来自外部交通状况监测系统)、最终目的地点(例如,定义为x和y坐标,或定义为经纬度坐标),以及任何用户定义的偏好(例如,避开收费公路的首选项)。
来自任务规划器310的规划路径输出定义了要从起点到达最终目的地点的路线。来自任务规划器310的规划路径输出可以包括沿路线的一组中间目标位置(或航点)。例如,中间目标位置可以定义在道路交叉口,以指示在每个交叉口走哪条道路。中间目标位置可用于行为级别的规划(例如,决策以决定适当的车辆行为)。
行为规划器320接收来自任务规划器310的规划路径输出,包括中间目标位置集(如果有的话)。行为规划器320生成行为决策,以在比任务规划器310更局部和更短期的基础上控制汽车100的行为。行为规划器320还生成表示行为决策的输出,该行为决策可以用作运动规划器330的目标。行为规划器320可以生成根据某些规则或指导的行为决策。例如,行为规划器320可以确保汽车100遵循某些行为规则(例如,应从最左边的车道左转,车速应在限速内,车辆应在停车标志处停车等)。此类行为规则可以基于交通规则,也可以基于平稳高效驾驶的指导(例如,如果可能,车辆应走更快的车道)。表示由行为规划器320生成的行为决策的输出可以采用各种合适的格式。例如,表示由行为规划器320生成的行为决策的输出可以采用命令、信号(例如安全信号)、标量值和/或成本图(或成本图像)等形式。表示由行为规划器320生成的行为决策的输出可以用作例如运动规划的约束。
表示行为决策的输出可以采用提供给运动规划器330的命令的形式。例如,提供给运动规划器330的命令可以包括运动规划约束。运动规划器330应该找到满足行为决策的轨迹,并且以相对安全、舒适和快速的方式导航环境。运动规划器330应设计成在结构化和非结构化环境上提供安全和可靠的导航。结构化环境通常是具有明确定义的可驾驶和不可驾驶区域(例如,具有清晰车道标记的高速公路)的环境,并且可能定义了所有车辆都应遵循的驾驶规则。非结构化环境通常是指可驾驶和不可驾驶区域定义较少(或未定义)(例如,开阔地)并且预期车辆行为的驾驶规则可能较少或没有的环境。无论环境是结构化的还是非结构化的,环境都可能是高度动态的(例如,行人和其它车辆都在移动),每个动态障碍物可能具有不同和独立的行为。这使得运动规划器330的设计具有挑战性。
在图3所示的示例中,运动规划器330包括状态编码器331、轨迹生成器332、轨迹评估器334和轨迹选择器336。状态编码器331使用关于车辆内部状态的状态数据、从感知系统120接收的关于汽车100的周围环境的状态数据和表示由行为规划器320生成的行为决策的输出来生成汽车100的当前状态。汽车100的状态由上述感知系统120感测的车辆周围的感测环境(例如,检测到的障碍物、检测到的车道标记等)和车辆内部的感测环境(例如,车辆的速度、加速度等)定义。汽车100的状态st也由行为规划器320生成的行为决策定义,如下文将进一步讨论。轨迹生成器332可以使用各种合适的方法来实现,例如使用专家设计的等式(例如,多项式)来生成汽车100的当前状态的轨迹。轨迹评估器334从轨迹生成器332接收汽车100的当前状态和至少一个候选轨迹作为输入,并将评估值分配给每个候选轨迹。分配的评估值反映了候选轨迹是否成功实现了相对安全、舒适和快速驾驶的目标(也满足了行为决策)。本公开中的轨迹评估器334使用机器学习实现。在下面讨论的示例中,轨迹评估器334是软件代理(以下称为代理),软件代理经过训练以学习正确地将值分配给候选轨迹的函数。轨迹评估器334的训练基于强化学习(reinforcement learning,RL),通过与环境的交互(实际或模拟)进行,并接收量化实际或模拟汽车100所沿着的轨迹的直接影响的强化奖励。在一些实施例中,代理是使用神经网络来实现的,该神经网络近似正确地将值分配给候选轨迹的函数。神经网络的参数是基于RL学习的。轨迹选择器336在轨迹生成器332生成的候选轨迹中选择具有最高评估值(由轨迹评估器334分配)的候选轨迹。
虽然状态编码器331、轨迹生成器332、轨迹评估器334和轨迹选择器336在本文中示出和讨论为在运动规划器330中实现的单独块(例如,单独的模块或单独的功能),但应当理解,状态编码器331、轨迹生成器332、轨迹评估器334和轨迹选择器336中的两个或两个以上可以在单个块中(例如,在同一模块或算法中)一起实现。
图4是示出在训练运动规划器330的轨迹评估器334的上下文中示例运动规划器330的细节的方块图。在足够的训练(例如,轨迹评估器334的学习函数和/或参数(例如权重)已经收敛)之后,运动规划器330的训练过的轨迹评估器334可用于推断,并可在自动驾驶汽车100中实现。例如,训练过的运动规划器330可以在如图3所示的规划系统130中部署(例如实现)。当部署训练过的轨迹评估器334用于推断时,奖励处理器410和训练处理器412(下文将进一步讨论)禁用。
运动规划器330包括状态编码器331,该状态编码器基于关于车辆内部状态的状态数据、从感知系统120接收的关于汽车100周围环境的状态的状态数据和表示从行为规划器320接收的行为决策的输出来生成当前状态(表示为st)。可用于生成当前状态st的关于车辆内部状态的一些示例性状态数据和关于汽车100周围环境的状态数据在图5中示出并在下文进一步讨论。
在一些示例中,运动规划器330的训练可以是连续的和持续的,并且可以使得运动规划器330能够基于自动驾驶汽车100的实际操作被进一步细化。
在所示的示例中,训练过程涉及RL的过程,以使轨迹评估器334能够学习以生成适当的估计评估值并将估计评估值分配给候选轨迹。在基于机器学习的方法中,特别是基于RL的方法中,如本文所讨论的,轨迹评估器334可以是使用神经网络实现的代理。轨迹评估器334的代理可以使用任何合适的神经网络架构来实现,包括卷积神经网络(convolutional neural network,CNN)、递归神经网络(recurrent neural network,RNN)或深度神经网络等。
现在介绍了轨迹评估器334的训练的一般讨论。在本公开的上下文中,轨迹是在多个时间跳变上定义自动驾驶汽车在特定时间段内的规划路径的航点序列。轨迹可以包括航点,这些航点对于每个时间跳变定义规划车辆位置、规划车辆方向、规划车辆速度和/或规划车辆加速度,以及其它可能的参数。在一些示例中,轨迹可以表示为矢量,其中航点序列作为矢量中的条目。如果每个航点包含多个参数(例如,航点定义了规划的车辆位置和方向),则轨迹可以表示为多维矢量。
在当前时间跳变t,提供候选轨迹τt作为轨迹评估器334的输入。候选轨迹τt可以由轨迹生成器332基于当前状态st生成。候选轨迹τt定义了自动驾驶汽车100从当前时间跳变t到某个未来时间跳变t+T的规划航点。轨迹评估器334还接收当前状态st作为输入。当前状态st可以表示汽车100周围的外部环境的状态、汽车100的内部状态以及行为规划器320生成的行为决策。轨迹评估器334将当前状态st和候选轨迹τt映射到评估值V(st,τt)。该评估值用于评估候选轨迹由自动驾驶汽车100使用的适用性。如上所述,轨迹评估器334可以是代理,并且代理可以使用神经网络实现。在训练期间,可以学习神经网络的参数。RL训练处理器412运行(例如执行)强化学习算法以更新神经网络的参数(例如权重),直到满足终止标准(例如,性能已经达到最小阈值)。
轨迹评估器334估计候选轨迹τt的评估值V(st,τt)。可以选择候选轨迹(也称为选定轨迹),自动驾驶汽车100将遵守该轨迹。当自动驾驶汽车100沿着选定轨迹时,自动驾驶汽车100和感测环境从当前状态st过渡到下一个状态st+1。如果训练过程在模拟器中进行(例如,出于安全和效率的目的),则可以在模拟器中模拟自动驾驶汽车100的部件,例如车辆控制系统140、机电系统150、传感器系统110和感知系统120,也可以模拟环境。使用选定轨迹τt对环境(无论是模拟的还是实际的)的感知影响生成对轨迹评估器334的反馈。在RL中,反馈可以采用称为奖励rt的标量的形式,该标量可以由奖励处理器410生成。奖励处理器410可以使用专用硬件设备(例如,具有实现奖励算法的软件指令)来实现,或者可以使用汽车100的处理单元200执行的软件模型或其组合来实现。类似地,RL训练处理器412可以实现为硬件、软件或其组合。如果实现为硬件,则奖励处理器410和RL训练处理器412可以一起或单独在专用硬件中实现。奖励处理器410可以接收当前状态st、选定动作(即,选定轨迹τt)和下一个状态st-1,并输出奖励rt。或者,奖励处理器410可以仅接收下一个状态st-1并输出奖励rt。奖励rt反映了选定轨迹的环境中的性能。奖励处理器410通常被设计成使得生成的奖励rt鼓励自动驾驶汽车100的安全、舒适和移动性。通常,当选定轨迹τt更接近安全、舒适和快速路径的期望目标时,奖励处理器410生成更高(或更正)的奖励rt。例如,如果选定轨迹τt使得自动驾驶汽车100以接近限速的速度沿车道行驶,则奖励rt是正的。相反,如果选定轨迹τt使得自动驾驶汽车100陷入事故,则奖励rt是负的。通过交互和观察不同状态st下不同轨迹τt的奖励rt,训练轨迹评估器334以分配更准确地反映期望目标的估计评估值。
奖励rt用于训练轨迹评估器334,以学习神经网络(下文进一步讨论)的参数(例如权重),用于使用RL生成估计评估值V(st,τt)。如图所示,轨迹评估器334的训练可以使用RL训练处理器412进行,该RL训练处理器基于Q学习执行RL算法,如下所示:
V(st,τt)←(rt+γV(st+1,τt+1))(1)
其中st是在时间t的状态,st+1是在时间t+1的下一个状态,τt是在时间t正在评估的选定轨迹,τt+1是在时间t+1的下一个选定轨迹,rt是在时间t接收到的奖励,V(st,τt)是针对状态st和轨迹τt估计的评估值。此外,0<γ<1是折扣因子,它是对未来状态的值进行折扣的标量值。符号←表示基于(rt+γV(st+1,τt+1))更新V(st,τt),但是应注意,这种更新不一定是直接更新,而是指示通过如图4所示的其它方块从(rt+γV(st+1,τt+1))到V(st,τt)信息流。在推断阶段,奖励处理器410和RL训练处理器412禁用。
值得注意的是,由于轨迹评估器334没有使用人类生成的驾驶数据进行训练,因此轨迹评估器334可以经过训练以更好地评估在各种复杂状态(包括可能对于人类驾驶而言是危险或困难的状态)下的各种不同的轨迹(包括在人类生成的驾驶数据中可能不太可能被探索到的轨迹)。
如上所述,轨迹评估器334可以是使用神经网络实现的代理。在一些示例中,输入到轨迹评估器334的状态st可以采用2D图像的形式。例如,表示空间信息(例如,OGM、对象、车道标记等)的状态数据可以采用2D图像的形式。
图5示出了状态数据可以如何由状态编码器331编码为状态st的一些示例。通常,2D图像可以包括一个或多个通道。在彩色2D图像中,通常有三个通道来编码红色、绿色和蓝色强度。将此概念适应于状态数据,可使用不同的通道编码采用2D图像形式的不同形式的信息,如下所述。2D图像形式的状态数据可以级联在一起(例如,作为单个2D图像的多个通道)以形成状态st。
例如,每个检测到的对象的位置可以编码为2D框(例如,对应于对象检测算法生成的边界框)。每个对象类别(例如,自行车、汽车、卡车、行人等)可以使用相应的单独通道编码为2D图像,或者可以在单个2D图像中由相应的不同颜色表示。在所示的示例中,状态数据包括车道标记421(或其它地图信息),该车道标记可以在具有单独通道的单个2D图像中编码,以编码车道的左、右和中心。车道标记和/或可驾驶区域可以在2D图像中编码为例如表示车道的左边界、右边界和中心线的三条线。每条线可以使用图像的相应单独通道编码,或者可以在单个2D图像中用相应不同的颜色(例如,黑色表示左边界,绿色表示中心线,棕色表示右边界)表示。对象速度422可以在2D图像中编码为强度信号。例如,每个对象的速度可以编码为与速度值成正比的线,并沿其移动方向。该线可以进一步编码为对于起始位置(例如,在当前时间)具有较高的强度,在该线向结束位置(例如,在下一个时间跳变的投影位置)延伸时具有较低的强度。对象类别423可以使用每个感兴趣的对象类别(例如,汽车、自行车、行人等)的不同通道进行编码。来自行为规划器320的行为决策424可以被编码为指示汽车100的目标行为(例如,继续直行)的强度信号。每个OGM帧425可以采用2D或3D矩阵的形式编码。例如,3D矩阵可以编码为具有多个通道的2D图像。在OGM帧425是3D矩阵的情况下,图像的高度或深度可以包含分别指示在不同高度或深度处对象的占用的信息。在一些示例中,OGM帧425可以由两个2D图像表示,其中一个2D图像指示在预定义高度处的占用,而第二个2D图像指示占用随预定义高度的变化。此外,OGM帧425的每个通道可以对应于例如从预定义的过去时间点(例如,从当前时间开始的预定义数量的时间跳变)到未来的预定义点(例如,对预定义数量的未来时间跳变的预测)的不同的相应时间戳。OGM帧425包括对应于当前时间戳(即,对应于当前传感器数据)的至少一个通道。标量信息(例如,车辆内部状态426包括表示车辆内部状态的值,例如速度、加速度等)也可以在单独的通道中编码为2D图像。或者,标量信息可以在神经网络的全连接层直接馈送到轨迹评估器334。
应当注意,行为决策424也可以(如上所述编码为2D信号或不编码为2D信号)输入到轨迹生成器332,以影响轨迹的生成。对于给定的行为决策,某些轨迹可能是相关的,而其它轨迹可能是不允许的。例如,如果行为决策是右转,弯曲轨迹可能是相关的,但直线轨迹可能不合适。在另一个示例中,如果行为决策是向右车道变道,相关轨迹可以包括直线轨迹(例如,在车道改变无法安全执行的情况下,留在当前车道)和右转向轨迹,但左转向轨迹可能不合适。在另一个示例中,如果行为决策是在停止信号前停车,则轨迹生成器可以限制目标速度,以在停止信号之前强制停车。
可以使用用于将数据编码为2D图像的其它技术。例如,代替使用单独的通道来编码不同的对象类别,可以通过为每个对象类别分配不同的强度范围(例如,0-19的像素强度表示汽车,20-39的像素强度表示自行车等),将所有感兴趣的对象类别编码到2D图像的单个通道中。附加信息(例如,天气、对象加速度、预测的对象行为等)也可以以类似的方式编码到2D图像中。
将状态数据编码到2D图像中可以有助于使用CNN(在处理2D图像方面有很好的研究)实现轨迹评估器334。虽然讨论了CNN用于实现轨迹评估器334的示例性实施例,但应当理解,轨迹评估器334可以是使用任何合适的神经网络(或合适的机器学习技术)实现的代理,例如,轨迹评估器334的代理可以使用RNN实现。
图6是示出运动规划器330的示例实现的方块图,示出了轨迹评估器334的训练。
在一些示例中,轨迹生成器332可以使用参数生成器337和轨迹子生成器338来实现。参数生成器337生成参数(例如,期望速度、横向偏移等)以定义要生成的候选轨迹。在训练期间,参数生成器337可以从定义的范围(例如,基于来自行为决策的输入)随机选择参数值。轨迹子生成器338使用轨迹参数生成候选轨迹τt。
在本例中,轨迹子生成器338生成的每个候选轨迹τt采用2D图像的形式,将轨迹显式定义为2D图像中的一组航点。轨迹可以以各种方式在2D图像中编码。例如,由2D图像中的线连接的点序列可以表示在每个时间跳变每个航点的地理2D位置。2D图像中的线的强度(或厚度)可以编码沿轨迹的规划车速。如图6所示,轨迹可以编码为具有对应于N个未来时间跳变的N个通道的2D图像。在预测的OGM是状态数据的一部分的示例中,N个未来时间跳变可以对应于在状态数据中接收的OGM的预测水平。对于每个通道,表示自动驾驶汽车100的框可以在对应时间跳变处放置在自动驾驶汽车100沿着轨迹的规划位置处。
训练处理器412使用以下公式更新轨迹评估器334的神经网络的参数(例如权重):
V(st,τt)←rt+γV(st+1,τt+1)(2)
例如,轨迹评估器334的学习是通过基于瞬时奖励rt、折扣估计未来评估值γV(st+1,τt+1)和当前估计评估值更新函数V(st,τt)来执行的。其示例为:
δ=rt+γV(st+1,τt+1)-Vθ(st,τt)
应当认识到,等式(2)是基于上文讨论的等式(1)。等式(2)的目标是最小化由轨迹评估器334生成的评估值与预期接收的实际奖励之间的误差值。换句话说,轨迹评估器334的训练是学习将满足等式(2)的值函数。在本例中,假设在时间跳变t+1的轨迹τt+1是时间跳变t相同轨迹τt的延续,正好映射到时间跳变t+1。换句话说,估计的评估值V(st,τt)对应于假设的情况,其中自动驾驶汽车100除了时间跳变t之外,还将在未来时间跳变沿着候选轨迹τt行驶。从这个意义上讲,可以认为,虽然奖励是基于短期性能计算的(例如,瞬时奖励rt是基于下一个时间跳变的性能计算的),但评估值对应于预期的长期性能。注意,自动驾驶汽车100实际上可以在超过t+1的时间跳变沿着与轨迹τt不同的轨迹。因此,轨迹评估器334经过训练以学习值V(st,τt),而不要求自动驾驶汽车100沿着超过t+1的轨迹τt。
在训练阶段期间,自动驾驶汽车100将在时间跳变t沿着候选轨迹τt。随着一个时间跳变的前进,自动驾驶汽车100和环境将在时间t+1过渡到状态st+1,这也在过程中产生奖励rt。在给定时间跳变t+1对轨迹评估器334馈送一个候选轨迹τt、当前给定状态st、下一个状态st+1和奖励rt。换句话说,轨迹评估器334的训练数据样本由(st,τt,rt,st+1)组成,轨迹评估器334的训练数据集是i=0至k的某个范围的(st,τt,rt,st+1)i的集。轨迹评估器334基于τt和st+1(如上所述)假设τt+1,因此τt+1是τt的延续。在训练阶段,轨迹选择器336可以在轨迹生成器332生成的可能轨迹中选择具有最高评估值(由轨迹评估器334评估)的轨迹τt。轨迹选择器336还可以在轨迹生成器332生成的可能轨迹中选择随机轨迹。选择随机轨迹的过程被设计成通过收集可能更好但尚未尝试(和评估)和/或未包括在训练数据集中的轨迹的数据来改进轨迹评估器334的训练。
然后,训练过的轨迹评估器334可以在实际的自动驾驶汽车100中实现,用于实际的使用。在推断期间,奖励处理器410和RL训练处理器412禁用。在推断期间,轨迹生成器332在给定时间生成(即推断)给定状态的多个候选轨迹。训练过的轨迹评估器334在给定时间为给定状态的多个候选轨迹中的每一个分配相应的评估值。然后,轨迹选择器336可以从所有候选轨迹中选择具有最高分配评估值的一个选定轨迹。然后,将选定轨迹提供给车辆控制系统140,以生成用于自动驾驶汽车100的控制信号。
在上面讨论的示例中,轨迹评估器334不具有关于候选轨迹或关于如何设计轨迹生成器332的任何假设或先验知识。因此,训练轨迹评估器334以学习正确评估候选轨迹,而不管轨迹生成器332是如何实现的。因此,轨迹生成器332可以设计成使用任何期望函数(例如,任何多项式)和/或基于任何来源(例如,历史轨迹或人类驾驶数据)生成候选轨迹。此外,可以动态调整轨迹生成器332以生成用于不同任务/条件的候选轨迹(例如,根据来自行为规划器320的行为决策),而不需要重新训练轨迹评估器334。
上面的示例描述了与如何生成候选轨迹无关的训练过程。在许多实际实现中,通常使用多项式函数生成轨迹,该多项式函数基于有限的一组标量参数定义候选轨迹。例如,定义轨迹的一组参数可以包括初始速度、最终速度、初始方向、与车道中心的初始偏移、与车道中心的最终偏移和轨迹水平。
图7是示出运动规划器330的另一个示例性实现的方块图,示出了轨迹评估器334的训练阶段。
在本例中,参数生成器337与轨迹生成器332分离。代替对候选轨迹本身执行评估,替代地训练轨迹评估器334将当前状态st和将用于生成轨迹τt的轨迹参数映射到评估值V(st,τt)。由于训练轨迹评估器334以评估将由轨迹生成器332使用的参数,因此轨迹评估器334的训练固有地考虑如何根据轨迹参数生成轨迹(例如,使用的多项式的类型),并且训练的轨迹评估器334中是特定于轨迹生成器332的特定设计的(例如,轨迹生成器332用于生成轨迹的特定类型的多项式)。
在训练阶段,参数生成器337生成一组参数pt,该组参数用于生成轨迹。参数pt间接(或隐式)定义候选轨迹,而不是显式定义候选轨迹。训练轨迹评估器334以评估轨迹生成器332将用来生成轨迹的参数,而不是直接评估候选轨迹。基于生成的轨迹对环境的影响来训练轨迹评估器334,即使轨迹评估器334不接收生成的轨迹作为输入。在一些示例中,可以假设在未来时间跳变t+1的轨迹τt+1是使用用于在时间跳变t生成轨迹τt的相同参数生成的。换句话说,基于自动驾驶汽车100将在未来时间跳变沿着候选轨迹τt的假设,训练轨迹生成器332以输出评估值V(st,τt)。
在本例中,轨迹选择器336用作执行从当前状态st到产生最高评估值的参数pt的映射的函数。
在训练阶段期间,在给定时间跳变t对轨迹评估器334馈送与在给定状态st下在时间t所沿着的轨迹相对应的参数集pt,沿着对应于pt的轨迹而产生的下一个状态st+1和所得的奖励rt。换句话说,轨迹评估器334的训练数据样本由(st,pt,rt,st+1)组成,轨迹评估器334的训练数据集是i=0至k的某个范围的(st,pt,rt,st+1)i的集。
然后,训练过的轨迹评估器334可以在实际的自动驾驶汽车100中实现,用于实际的使用。在推断期间,奖励处理器410和RL训练处理器412可禁用。在推断期间,参数生成器332在给定时间生成给定状态的多个参数集。训练过的轨迹评估器334在给定时间为给定状态的多个参数集中的每一个分配相应的估计评估值。然后,训练过的轨迹选择器336可以基于给定状态选择轨迹生成器332要使用的选定参数集。然后,轨迹生成器332根据选定参数集生成轨迹,然后将根据选定参数集生成的轨迹(也简称为选定轨迹)提供给车辆控制系统140,以生成用于自动驾驶汽车100的控制信号。通常,轨迹选择器336可以是在给定状态下找到使轨迹评估器334的输出最大化的轨迹的任何合适的软件模块。轨迹选择器336可以以各种方式实现,包括上述方法。用于实现轨迹选择器336的其它技术包括,例如,轨迹选择器336执行迭代搜索,或找到使轨迹评估器334的输出最大化的轨迹的函数(从给定状态映射到期望轨迹)。
与图6的示例相比,在图7的示例中,轨迹评估器334的训练可以更快,因为要评估的不同轨迹的空间较小(即,限于轨迹生成器332使用的特定功能)。此外,使用轨迹参数执行训练可以使轨迹评估器334能够在可能轨迹的连续空间上训练,而不是有限数量的显式轨迹(这可能不会完全探索整个轨迹空间,或者可能以零碎的方式探索空间)。评估在连续空间中执行,与图6对一组离散(和有限)候选轨迹进行评估的示例相比可能产生更好的性能。结果是,与图6的示例相比,以图7所示的方式训练轨迹评估器334实现了更快的训练和更好的广义化(对于给定的轨迹生成函数)。此外,轨迹选择器336能够直接输出选定参数,而不必考虑多个候选轨迹,从而在推断阶段的实际部署期间实现更快的处理。
在一些示例中,代替假设自动驾驶汽车100将在未来时间跳变沿着相同的选定轨迹,可以修改训练阶段以考虑在未来时间跳变可以沿着不同选定轨迹的可能性。考虑到未来不同轨迹的可能性,这样的修改可以帮助运动规划器330找到轨迹,这些轨迹是从轨迹生成器332域内的一组轨迹中的轨迹部分的组合。因此,这种修改的训练可以使得运动规划器330输出比从轨迹生成器332可获得的一组轨迹可能的更有效的车辆操纵。
可以使用训练RL处理器412执行训练,以学习以下等式的参数,该等式从上面的等式(2)稍作修改:
V(st,τt)=rt+γV(st+1,TS(st+1)) (3)
其中,TS(st+1)是给定下一个时间跳变的环境状态st+1时,轨迹选择器336在下一个时间跳变t+1的输出(即,选定轨迹或选定的参数集)。
在本例中,通过避免轨迹为未来跳变固定的假设,可以训练轨迹评估器334以考虑可以在未来跳变改变轨迹的可能性。这扩大搜索空间以包括不严格地在轨迹生成器336的轨迹空间内的轨迹(例如,将包括在不同时间跳变改变参数的轨迹)。结果可以是,运动规划器330可以提供对应于作为多个轨迹的组合(例如,在不同时间跳变沿着不同轨迹)的运动的输出,该组合可以比由轨迹生成器336定义的单个轨迹更复杂和/或优化。
在一些示例中,轨迹评估器334分配的估计评估值可以具有统计特征,而不是标量值。也就是说,给定(st,τt)对的估计评估值可以是概率分布,它可以反映随机环境的特征,因为随机环境中的任何给定动作只能预测奖励的可能性。分布RL是一种学习(st,τt)对估计评估值与正则RL中平均值相比的分布的方法。轨迹评估器334可以替代地对候选轨迹分配概率分布(例如,由统计度量定义,诸如平均值、方差、最大值、最小值等),而不是对候选轨迹分配标量评估值。因此,轨迹选择器336可以被设计成基于一个或多个统计度量进行选择。例如,选定轨迹可以是在估计评估值的分布中具有最高下限的轨迹。这种轨迹选择方法可能产生在具有随机事件的非确定性环境中更保守(更安全)的运动规划。换句话说,轨迹选择器336考虑可能发生的不同事件的概率选择产生最佳最坏情况结果的轨迹。
图8是示出用于训练运动规划器330的示例性方法800的流程图。具体地,方法800可用于训练轨迹评估器334的代理(其可以使用CNN或RNN等神经网络实现)。方法800可以由系统(例如,实现图2的处理单元200的工作站或自动驾驶汽车100本身)执行。训练可以离线(例如,在模拟器中)或在线(例如,在实际驾驶期间)执行。
在802,接收定义自动驾驶汽车的(实际或模拟)当前状态以及环境的一组状态数据。如上所述,状态数据可以包括编码为2D图像的数据。状态数据可以是例如从感知系统120接收的观察状态。
在804,为当前状态选择轨迹(例如,使用轨迹选择器336)。在一些示例中,可以通过使用预定义轨迹生成函数中的一组参数来计算选定轨迹。基于当前状态确定一组参数(例如,通过将函数应用于状态数据以生成该组参数),然后使用轨迹生成函数中确定的参数生成选定轨迹。在其它示例中,可以从轨迹生成器332生成的一组轨迹中选择选定轨迹。轨迹评估器334计算由轨迹生成器332生成的每个轨迹的评估值,然后轨迹选择器336选择具有最高计算评估值的轨迹作为选定轨迹。如果给定的生成的轨迹被选择为自动驾驶汽车要沿着的选定轨迹,则评估值可以表示预测奖励。评估值可以生成为标量值或生成为定义概率评估值概率分布的一组统计度量(例如,平均值、方差、最大值、最小值等)。如果评估值生成为一组统计度量,则轨迹选择器336可以基于一个或多个统计选择标准选择选定轨迹。
在一些进一步的示例中,轨迹生成器332还可以基于选择生成一组细化轨迹,该组细化轨迹可以由轨迹评估器334评估,轨迹选择器336可以从该组细化轨迹中做出更新的选择(这种进一步的细化和选择在概念上可以等效于执行迭代搜索)。
在806,对于一个时间跳变,汽车100在(实际或模拟的)当前状态下沿着选定轨迹,并且基于汽车100的性能计算奖励。奖励是根据奖励函数计算的,该函数是为安全、舒适和快速(在限速内)驾驶而设计的。
在808,接收一组状态数据,该组状态数据定义自动驾驶汽车的(实际或模拟的)下一个状态和在下一个时间跳变(即,在t+1)的环境。
在810,在训练期间更新轨迹评估器334(例如,作为CNN实现)的参数(例如,权重),以更好地对应于预期未来奖励的折扣和。例如,这可以根据上面的等式(2)或等式(3)。
在812,用下一个状态(即,集st=st+1)的状态数据更新当前状态。方法800返回到步骤804以重复具有更新状态的训练。方法800可以继续,直到轨迹评估器334被充分训练(例如,轨迹评估器334的权重值收敛)。
然后,训练过的运动规划器可以在自动驾驶汽车100中实现以在现实生活场景中部署。在某些示例中,即使在部署之后,也可以间歇性进行训练。
在本文描述的各种示例中,提供了能够训练轨迹评估器以基于RL使用简单奖励信号学习用于自动驾驶的轨迹评估的系统和方法。
本公开描述了用于应用RL来训练轨迹评估器代理以基于一个未来时间跳变估计评估值的示例。已经描述了编码输入数据(例如,输入状态)以实现轨迹评估器代理的各种方法。
已经描述了编码轨迹和定义下一个时间跳变的轨迹的不同方法。例如,可以假定在下一个时间跳变的轨迹与在当前时间跳变的轨迹相同(仅提前一个时间跳变),或者可以不同(例如,基于下一个时间跳变的不同状态选择不同的轨迹)。
虽然已经在自动驾驶汽车的上下文中描述了示例,但应当理解,本公开并不限于在自动驾驶汽车中的应用。例如,任何轨迹规划应用(例如,用于移动机器人、用于半自动应用、用于辅助驾驶应用等)都可以受益于本公开。本公开可用于导航具有静态和/或动态障碍物的结构化或非结构化环境。
尽管本公开通过按照一定的顺序执行的步骤描述方法和过程,但是可以适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可以按所描述的顺序以外的顺序执行。
尽管本公开在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本公开也针对用于执行所述方法的至少一些方面和特征的各种部件,无论是通过硬件部件、软件还是其任意组合。相应地,本公开的技术方案可以通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其上的指令,这些指令使得处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。
在不脱离权利要求书的主题的前提下,本公开可以通过其它特定形式实施。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,在本公开的范围内可以理解适合于此类组合的特征。
还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和显示的系统、设备和流程可包括特定数量的元件/部件,但可以修改这些系统、设备和组件,以包括此类元件/部件中的更多或更少的元件/部件。例如,尽管所公开的任何元件/部件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/部件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。
Claims (20)
1.一种用于训练自动驾驶汽车的运动规划器的系统,其特征在于,所述系统包括处理单元,所述处理单元用于执行指令以使所述系统:
接收第一组状态数据,作为对所述运动规划器的轨迹评估器代理的输入,所述第一组状态数据定义了所述自动驾驶汽车的当前状态和在当前时间跳变的环境;
基于所述当前状态选择选定轨迹;
基于所述选定轨迹在所述当前状态下的性能,计算所述选定轨迹的奖励;
接收第二组状态数据,所述第二组状态数据定义了所述自动驾驶汽车的下一个状态和在下一个时间跳变的环境;
基于所述当前状态、所述选定轨迹、计算奖励和所述下一个状态更新所述轨迹评估器代理的参数,所述轨迹评估器代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
2.根据权利要求1所述的系统,其特征在于,所述第一组状态数据和所述第二组状态数据各自独立地包括以2D图像形式编码的状态数据。
3.根据权利要求1或2所述的系统,其特征在于,所述轨迹评估器代理的所述参数根据以下等式更新:
V(st,τt)←rt+γV(st+1,τt+1)
其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,V(st+1,τt+1)是所述选定轨迹在所述下一个时间跳变和所述下一个状态的评估值,γ是折扣因子。
4.根据权利要求1至3中任一项所述的系统,其特征在于,所述轨迹评估器的所述参数根据以下等式更新:
V(st,τt)←rt+γV(st+1,TS(st+1))
其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,TS(st+1)是在所述下一个时间跳变的下一个选定轨迹,V(st+1,TS(st+1))是所述下一个选定轨迹和所述下一个状态的评估值,γ是折扣因子。
5.根据权利要求1至4中任一项所述的系统,其特征在于,所述评估值生成为定义概率评估值的概率分布的一组统计度量。
6.根据权利要求5所述的系统,其特征在于,根据基于一个或多个统计度量的选择标准选择所述选定轨迹。
7.根据权利要求1至6中任一项所述的系统,其特征在于,定义候选轨迹的一组数据是根据轨迹生成函数定义所述候选轨迹的一组参数。
8.根据权利要求7所述的系统,其特征在于,所述处理单元用于执行指令以进一步使所述系统:
根据所述轨迹生成函数,从所述一组参数生成所述选定轨迹。
9.根据权利要求1至8中任一项所述的系统,其特征在于,所述选定轨迹由一组2D图像定义,所述一组2D图像定义所述候选轨迹在多个时间跳变上的航点。
10.一种用于训练自动驾驶汽车的运动规划器的方法,其特征在于,所述方法包括:
接收第一组状态数据,作为对所述运动规划器的轨迹评估器的输入,所述第一组状态数据定义了所述自动驾驶汽车的当前状态和在当前时间跳变的环境;
基于所述当前状态选择选定轨迹;
基于所述选定轨迹在所述当前状态下的性能,计算所述选定轨迹的奖励;
接收第二组状态数据,所述第二组状态数据定义了所述自动驾驶汽车的下一个状态和在下一个时间跳变的环境;
基于所述当前状态、选定轨迹、计算奖励和下一个状态更新所述轨迹评估器代理的参数,轨迹评估器代理的所述参数被更新以为所述选定轨迹分配反映所述选定轨迹在未来状态中的所述计算奖励和预期性能的评估值。
11.根据权利要求10所述的方法,其特征在于,所述第一组状态数据和所述第二组状态数据各自独立地包括以2D图像形式编码的状态数据。
12.根据权利要求10或11所述的方法,其特征在于,所述轨迹评估器的所述参数根据以下等式更新:
V(st,Tt)←rt+γV(st+1,τt+1)
其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,V(st+1,τt+1)是所述选定轨迹在所述下一个时间跳变和所述下一个状态的评估值,γ是折扣因子。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述轨迹评估器的所述参数根据以下等式更新:
V(st,τt)←rt+γV(st+1,TS(st+1))
其中,st是在所述当前时间跳变t的所述当前状态,τt是所述选定轨迹,rt是所述计算奖励,V(st,τt)是所述选定轨迹在所述当前时间跳变和所述当前状态的所述评估值,t+1是所述下一个时间跳变,TS(st+1)是在所述下一个时间跳变的下一个选定轨迹,V(st+1,TS(st+1))是所述下一个选定轨迹和所述下一个状态的评估值,γ是折扣因子。
14.根据权利要求10至13中任一项所述的方法,其特征在于,所述评估值生成为定义概率评估值的概率分布的一组统计度量。
15.根据权利要求14所述的方法,其特征在于,根据基于一个或多个统计度量的选择标准选择所述选定轨迹。
16.根据权利要求10至15中任一项所述的方法,其特征在于,定义候选轨迹的一组数据是根据轨迹生成函数定义所述候选轨迹的一组参数。
17.根据权利要求16所述的方法,其特征在于,还包括:
根据所述轨迹生成函数,从所述一组参数生成所述选定轨迹。
18.根据权利要求10至17中任一项所述的方法,其特征在于,所述选定轨迹由一组2D图像定义,所述一组2D图像定义所述候选轨迹在多个时间跳变上的航点。
19.一种计算机可读介质,其特征在于,存储用于由用于训练自动驾驶汽车的运动规划器的系统的处理单元执行的指令,所述指令在执行时使所述系统执行根据权利要求11至18中任一项所述的方法。
20.一种计算机程序,其特征在于,包括指令,所述指令当由用于训练自动驾驶汽车的运动规划器的系统的处理单元执行时,使所述系统执行根据权利要求11至18中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/940,807 US11835958B2 (en) | 2020-07-28 | 2020-07-28 | Predictive motion planning system and method |
US16/940,807 | 2020-07-28 | ||
PCT/CN2020/132669 WO2022021712A1 (en) | 2020-07-28 | 2020-11-30 | Predictive motion planning system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116249947A true CN116249947A (zh) | 2023-06-09 |
Family
ID=80002938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080104632.6A Pending CN116249947A (zh) | 2020-07-28 | 2020-11-30 | 预测运动规划系统及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11835958B2 (zh) |
CN (1) | CN116249947A (zh) |
WO (1) | WO2022021712A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110088775B (zh) * | 2016-11-04 | 2023-11-07 | 渊慧科技有限公司 | 使用加强学习的环境预测 |
US20210278852A1 (en) * | 2020-03-05 | 2021-09-09 | Uatc, Llc | Systems and Methods for Using Attention Masks to Improve Motion Planning |
US11834069B2 (en) * | 2020-03-05 | 2023-12-05 | Uatc, Lcc | Systems and methods for selecting trajectories based on interpretable semantic representations |
JP7435434B2 (ja) * | 2020-12-22 | 2024-02-21 | 株式会社デンソー | レイアウト生成装置、レイアウト生成方法およびレイアウト生成プログラム |
US11810225B2 (en) * | 2021-03-30 | 2023-11-07 | Zoox, Inc. | Top-down scene generation |
US11858514B2 (en) | 2021-03-30 | 2024-01-02 | Zoox, Inc. | Top-down scene discrimination |
US11960292B2 (en) * | 2021-07-28 | 2024-04-16 | Argo AI, LLC | Method and system for developing autonomous vehicle training simulations |
US11878706B2 (en) * | 2021-08-19 | 2024-01-23 | GM Global Technology Operations LLC | Driver command prediction |
US20230082654A1 (en) * | 2021-09-14 | 2023-03-16 | Kasra Rezaee | System and method for inferring driving constraints from demonstrations |
US11640562B1 (en) * | 2022-01-26 | 2023-05-02 | Motional Ad Llc | Counterexample-guided update of a motion planner |
US11999376B2 (en) * | 2022-02-01 | 2024-06-04 | Huawei Technologies Co., Ltd. | Systems, methods, and computer-readable media for spatio-temporal motion planning |
CN115238801A (zh) * | 2022-07-28 | 2022-10-25 | 上海理工大学 | 一种交叉口车辆二维轨迹重构方法 |
DE102022131178B3 (de) | 2022-11-24 | 2024-02-08 | Cariad Se | Verfahren zum automatisierten Führen eines Fahrzeugs sowie Verfahren zum Erzeugen eines hierzu fähigen Modells des Maschinellen Lernens sowie Prozessorschaltung und Fahrzeug |
CN116047900B (zh) * | 2022-12-08 | 2025-02-14 | 中国北方车辆研究所 | 一种面向无人装备平台分层类人控制的框架结构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US20180120843A1 (en) * | 2016-11-03 | 2018-05-03 | Mitsubishi Electric Research Laboratories, Inc. | System and Method for Controlling Vehicle Using Neural Network |
CN108875998A (zh) * | 2018-04-20 | 2018-11-23 | 北京智行者科技有限公司 | 一种自动驾驶车辆规划方法和系统 |
CN109991987A (zh) * | 2019-04-29 | 2019-07-09 | 北京智行者科技有限公司 | 自动驾驶决策方法及装置 |
US20190243370A1 (en) * | 2018-02-07 | 2019-08-08 | Baidu Usa Llc | Systems and methods for accelerated curve projection |
WO2020000192A1 (en) * | 2018-06-26 | 2020-01-02 | Psa Automobiles Sa | Method for providing vehicle trajectory prediction |
CN110646009A (zh) * | 2019-09-27 | 2020-01-03 | 北京邮电大学 | 一种基于dqn的车辆自动驾驶路径规划的方法及装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065328A1 (en) | 2006-09-08 | 2008-03-13 | Andreas Eidehall | Method and system for collision avoidance |
JP4623057B2 (ja) | 2007-06-05 | 2011-02-02 | トヨタ自動車株式会社 | 自車両の移動領域取得装置 |
US11283877B2 (en) * | 2015-11-04 | 2022-03-22 | Zoox, Inc. | Software application and logic to modify configuration of an autonomous vehicle |
JP7191843B2 (ja) | 2017-03-07 | 2022-12-19 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 自律車両用の行動計画システム及び方法 |
US10739774B2 (en) * | 2017-10-06 | 2020-08-11 | Honda Motor Co., Ltd. | Keyframe based autonomous vehicle operation |
US10817740B2 (en) * | 2018-06-20 | 2020-10-27 | Zoox, Inc. | Instance segmentation inferred from machine learning model output |
EP3605334A1 (en) * | 2018-07-31 | 2020-02-05 | Prowler.io Limited | Incentive control for multi-agent systems |
US10981564B2 (en) | 2018-08-17 | 2021-04-20 | Ford Global Technologies, Llc | Vehicle path planning |
CN109557912B (zh) | 2018-10-11 | 2020-07-28 | 同济大学 | 一种自动驾驶特种作业车辆的决策规划方法 |
DK201970121A1 (en) * | 2018-10-30 | 2020-06-04 | Aptiv Technologies Limited | GENERATION OF OPTIMAL TRAJECTORIES FOR NAVIGATION OF 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 |
US11520037B2 (en) * | 2019-09-30 | 2022-12-06 | Zoox, Inc. | Perception system |
US11146479B2 (en) * | 2019-10-10 | 2021-10-12 | United States Of America As Represented By The Secretary Of The Navy | Reinforcement learning-based intelligent control of packet transmissions within ad-hoc networks |
US20210173402A1 (en) * | 2019-12-06 | 2021-06-10 | Lyft, Inc. | Systems and methods for determining vehicle trajectories directly from data indicative of human-driving behavior |
CN111061277B (zh) * | 2019-12-31 | 2022-04-05 | 歌尔股份有限公司 | 一种无人车全局路径规划方法和装置 |
US20210264795A1 (en) * | 2020-02-20 | 2021-08-26 | Prowler .Io Limited | Fault-tolerant control system and method |
US11586209B2 (en) * | 2020-04-08 | 2023-02-21 | Baidu Usa Llc | Differential dynamic programming (DDP) based planning architecture for autonomous driving vehicles |
US11878682B2 (en) * | 2020-06-08 | 2024-01-23 | Nvidia Corporation | Path planning and control to account for position uncertainty for autonomous machine applications |
-
2020
- 2020-07-28 US US16/940,807 patent/US11835958B2/en active Active
- 2020-11-30 WO PCT/CN2020/132669 patent/WO2022021712A1/en active Application Filing
- 2020-11-30 CN CN202080104632.6A patent/CN116249947A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US20170277193A1 (en) * | 2016-03-23 | 2017-09-28 | nuTonomy Inc. | Facilitating Vehicle Driving and Self-Driving |
CN109313445A (zh) * | 2016-03-23 | 2019-02-05 | 优特诺股份有限公司 | 车辆驾驶和自动驾驶的促进 |
US20180120843A1 (en) * | 2016-11-03 | 2018-05-03 | Mitsubishi Electric Research Laboratories, Inc. | System and Method for Controlling Vehicle Using Neural Network |
US20190243370A1 (en) * | 2018-02-07 | 2019-08-08 | Baidu Usa Llc | Systems and methods for accelerated curve projection |
CN108875998A (zh) * | 2018-04-20 | 2018-11-23 | 北京智行者科技有限公司 | 一种自动驾驶车辆规划方法和系统 |
WO2020000192A1 (en) * | 2018-06-26 | 2020-01-02 | Psa Automobiles Sa | Method for providing vehicle trajectory prediction |
CN109991987A (zh) * | 2019-04-29 | 2019-07-09 | 北京智行者科技有限公司 | 自动驾驶决策方法及装置 |
CN110646009A (zh) * | 2019-09-27 | 2020-01-03 | 北京邮电大学 | 一种基于dqn的车辆自动驾驶路径规划的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11835958B2 (en) | 2023-12-05 |
WO2022021712A1 (en) | 2022-02-03 |
US20220035375A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11835958B2 (en) | Predictive motion planning system and method | |
US12097844B2 (en) | Constraining vehicle operation based on uncertainty in perception and/or prediction | |
JP7628948B2 (ja) | トップダウンシーンに関する軌道予測 | |
US11181921B2 (en) | System and method for hierarchical planning in autonomous vehicles | |
US20230359202A1 (en) | Jointly Learnable Behavior and Trajectory Planning for Autonomous Vehicles | |
US11131993B2 (en) | Methods and systems for trajectory forecasting with recurrent neural networks using inertial behavioral rollout | |
US11698638B2 (en) | System and method for predictive path planning in autonomous vehicles | |
US11834077B2 (en) | Systems, methods, and media for occlusion-aware motion planning | |
CN110857085A (zh) | 车辆路径规划 | |
US20240409126A1 (en) | Systems and Methods for Generating Behavioral Predictions in Reaction to Autonomous Vehicle Movement | |
JP2024528425A (ja) | オブジェクト軌道に基づくアクティブ予測 | |
EP4314716B1 (en) | Explainability and interface design for lane-level route planner | |
US20220306156A1 (en) | Route Planner and Decision-Making for Exploration of New Roads to Improve Map | |
US11543263B1 (en) | Map distortion determination | |
WO2022151666A1 (en) | Systems, methods, and media for evaluation of trajectories and selection of a trajectory for a vehicle | |
US11873004B2 (en) | Method and system for motion planning for an autonmous vehicle | |
US12187324B2 (en) | Trajectory prediction based on a decision tree | |
US11999376B2 (en) | Systems, methods, and computer-readable media for spatio-temporal motion planning | |
US20240174239A1 (en) | Route-relative trajectory generation and optimization computations incorporating vehicle sideslip | |
CN117980212A (zh) | 基于优化的规划系统 | |
US20240208546A1 (en) | Predictive models for autonomous vehicles based on object interactions | |
US20240174256A1 (en) | Vehicle trajectory tree search for off-route driving maneuvers | |
US12091045B2 (en) | Method and system for assessing whether a vehicle is likely to leave an off-road parking area | |
US20230211802A1 (en) | Motion planning using spatio-temporal convex corridors | |
US20230082654A1 (en) | System and method for inferring driving constraints from demonstrations |
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 |