掌桥专利:专业的专利平台
掌桥专利
首页

自动驾驶车辆的混合规划系统

文献发布时间:2023-06-19 11:06:50


自动驾驶车辆的混合规划系统

技术领域

本公开的实施方式总体上涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及自动驾驶车辆(ADV)的混合规划系统。

背景技术

以自动驾驶模式运行(例如,无人驾驶)的车辆可将乘员、尤其是驾驶员从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,可使用车载传感器将车辆导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行进。

自动驾驶规划的目标是生成车辆可遵循的轨迹。ADV可使用驾驶轨迹自导航。驾驶轨迹可确定ADV在给定时间点的位置、速度和加速度。因此,驾驶轨迹的生成是半自动或全自动驾驶车辆的关键组件。

所生成的轨迹需要平衡至少三个标准,该标准是:车载乘客和/或附近的行人的安全性、车载乘客的舒适性,以及朝向目的地位置前进的目标。为了安全起见,轨迹需要避开周围环境中的障碍物。为了舒适性,轨迹需要是平滑且有效的轨迹,即,具有可在合理的时间内将ADV从当前位置操纵到目的地的适度的加速度。最后,轨迹需要遵循本地交通规则,即,在红色信号灯和停止标志处停止等。

发明内容

本申请的一个方面提供了这样一种用于生成自动驾驶车辆(ADV)的驾驶轨迹的计算机实现的方法,方法包括:基于自动驾驶车辆(ADV)的感知的环境来确定一个或多个界定条件;使用神经网络模型生成第一轨迹,其中,训练神经网络模型以生成驾驶轨迹;确定第一轨迹是否满足一个或多个界定条件;如果第一轨迹满足一个或多个界定条件,则根据第一轨迹自动地控制ADV;以及否则,根据第二轨迹自动地控制ADV,其中,第二轨迹是基于目标函数生成的,目标函数至少基于一个或多个界定条件。

本申请的另一个方面提供了这样一种存储有指令的非暂时性机器可读介质,该指令在由处理器执行时使得处理器执行操作,该操作包括:基于自动驾驶车辆(ADV)的感知的环境来确定一个或多个界定条件;使用神经网络模型生成第一轨迹,其中,训练神经网络模型以生成驾驶轨迹;确定第一轨迹是否满足一个或多个界定条件;如果第一轨迹满足一个或多个界定条件,则根据第一轨迹自动地控制ADV;以及否则,根据第二轨迹自动地控制ADV,其中,第二轨迹是基于目标函数生成的,目标函数至少基于一个或多个界定条件。

本申请的另一个方面提供了这样一种数据处理系统,包括:处理器;以及存储器,联接到处理器以存储指令,指令在由处理器执行时使得处理器执行操作,操作包括:基于自动驾驶车辆(ADV)的感知的环境来确定一个或多个界定条件;使用神经网络模型生成第一轨迹,其中,训练神经网络模型以生成驾驶轨迹;确定第一轨迹是否满足一个或多个界定条件;如果第一轨迹满足一个或多个界定条件,则根据第一轨迹自动地控制ADV;以及否则,根据第二轨迹自动地控制ADV,其中,第二轨迹是基于目标函数生成的,目标函数至少基于一个或多个界定条件。

本申请的另一个方面提供了这样一种计算机程序产品,包括:计算机程序,该计算机程序在被处理器执行时实现以下方法:基于自动驾驶车辆(ADV)的感知的环境来确定一个或多个界定条件;使用神经网络模型生成第一轨迹,其中,训练神经网络模型以生成驾驶轨迹;确定第一轨迹是否满足一个或多个界定条件;如果第一轨迹满足一个或多个界定条件,则根据第一轨迹自动地控制ADV;以及否则,根据第二轨迹自动地控制ADV,其中,第二轨迹是基于目标函数生成的,目标函数至少基于一个或多个界定条件。

附图说明

在附图的各图中以举例而非限制的方式示出了本公开的实施方式,附图中相同的参考标记指示相似元件。

图1是示出根据一个实施方式的网络化系统的框图。

图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。

图3A至图3B是示出根据一个实施方式的、与自动驾驶车辆一起使用的自动驾驶系统的示例的框图。

图4是示出根据一个实施方式的混合规划模块的示例的框图。

图5是示出根据一个实施方式的站-侧移(SL)地图的示例的框图。

图6A至图6B是示出根据一个实施方式的站时(ST)地图的示例的框图。

图7是示出根据一个实施方式的混合规划框架的示例的框图。

图8A至图8B是示出根据一个实施方式的SL地图的示例的框图。

图9A至图9B是示出根据一个实施方式的ST地图的示例的框图。

图10A至图10B是示出根据一个实施方式的SL地图的示例的框图。

图11A至图11B是示出根据一个实施方式的ST地图的示例的框图。

图12是根据一个实施方式的由ADV执行的方法的流程图。

具体实施方式

将参考以下所讨论的细节来描述本公开的各种实施方式和方面,且附图将示出各种实施方式。以下描述和附图是本公开的说明,而不应解释为对本公开的限制。为提供对本公开的各种实施方式的透彻理解,描述了大量的具体细节。然而,在某些情况下,为了提供对本公开的实施方式的简洁讨论,并未描述公知的或常规的细节。

本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可以包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。

本公开的实施方式结合了两种显著类型的规划系统。规划系统可以是基于规则的规划系统(使用目标函数),该规划系统可确保一定程度的操作员安全性、生成的轨迹的舒适性/平滑性,以及轨迹实现合理的进展。然而,基于规则的规划系统可能不能在某些场景中对这三个标准进行优先级排序。例如,当车辆在ADV的前方切入时,ADV可施加硬中断,以保证安全距离(例如,与前方切入的车相距3秒)。另一个规划系统可以是基于深度学习神经网络模型的规划系统,该规划系统可被训练以生成具有三个标准的平衡的轨迹。但是对于一些场景,模型可能输出不安全的轨迹。

根据一些实施方式,系统/方法生成自动驾驶车辆(ADV)的驾驶轨迹。该系统感知自动驾驶车辆(ADV)的环境。该系统基于所感知的环境来确定一个或多个界定条件。在一个实施方式中,界定条件还可基于交通规则和/或地图信息来确定。例如,地图信息指定ADV的车道、左车道边界和右车道边界、车道的交通方向,以及是否允许根据交通规则(例如,虚线车道标记或实线车道线)改变车道。地图信息可以是ADV的高清晰度地图(例如,图3A的地图和路线数据311),或者是从ADV的传感器感知到的实时生成的地图。交通规则可指定红色交通信号灯是停止,绿色交通信号灯是通行。基于交通规则和/或地图信息,可实时地为ADV指定界定条件。该系统使用神经网络模型生成第一轨迹,其中,神经网络模型被训练以生成驾驶轨迹。系统评估/确定第一轨迹是否满足一个或多个界定条件。如果第一轨迹满足一个或多个界定条件,则系统根据第一轨迹自动地控制ADV。否则,系统根据第二轨迹自动地控制ADV,其中基于目标函数生成第二轨迹,其中基于至少一个或多个界定条件确定目标函数。

图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆(ADV)101。尽管示出一个ADV,但多个ADV可通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的有线或无线的网络,例如,局域网(LAN)、广域网(WAN)(诸如互联网、蜂窝网络、卫星网络)或其组合。服务器103至104可以是任何种类的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。

ADV指的是可配置为自动模式的车辆,在该自动模式中,车辆在驾驶员很少输入或没有输入的情况下导航通过环境。这种ADV可包括:具有一个或多个传感器的传感器系统,该传感器配置为探测关于车辆运作环境的信息。车辆及其相关联的控制器使用所探测的信息来导航通过环境。ADV 101可在手动模式、全自动模式或部分自动模式下运作。

在一个实施方式中,自动驾驶车辆101包括,但不限于:自动驾驶系统(ADS)110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。ADV101还可包括普通车辆中包括的某些常用组件,诸如,发动机、车轮、方向盘、变速器等,该组件可由车辆控制系统111和/或ADS 110使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。

组件110至组件115可经由互连件、总线、网络或其组合通信地联接到彼此。例如,组件110至组件115可经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。

现在参考图2,在一个实施方式中,传感器系统115包括,但不限于:一个或多个摄像机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光探测和测距(LIDAR)单元215。GPS系统212可包括可操作以提供关于ADV的位置的信息的收发器。IMU单元213可基于惯性加速度来感测ADV的位置和定向变化。雷达单元214可表示利用无线电信号来感测ADV的本地环境内的对象的系统。在一些实施方式中,除感测对象之外,雷达单元214可另外感测对象的速度和/或航向。LIDAR单元215可使用激光来感测ADV所处环境中的对象。LIDAR单元215还可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其它系统部件。摄像机211可包括用来采集ADV周围环境的图像的一个或多个装置。摄像机211可以是静物摄像机和/或视频摄像机。摄像机可以是可机械地移动的,例如,通过将摄像机安装在旋转和/或倾斜平台上。

传感器系统115还可包括其它传感器,诸如,声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置为从ADV周围的环境中采集声音。转向传感器可配置为感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可集成为集成式油门/制动传感器。

在一个实施方式中,车辆控制系统111包括,但不限于:转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用来调整车辆的方向或航向。油门单元202用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元203用于通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。应注意,如图2所示的组件可以以硬件、软件或其组合实现。

返回参考图1,无线通信系统112用于允许ADV 101与诸如装置、传感器、其它车辆等的外部系统之间的通信。例如,无线通信系统112可直接地或者经由通信网络与一个或多个装置进行无线通信,诸如,通过网络102与服务器103至104进行通信。无线通信系统112可使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一组件或系统进行通信。无线通信系统112可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实现的外围装置的部分,包括例如:键盘、触摸屏显示装置、麦克风和扬声器等。

ADV 101的功能中的一些或全部可由ADS 110控制或管理,尤其当在自动驾驶模式下操作时。ADS 110包括必要的硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,以及随后基于规划和控制信息来驾驶车辆101。可替代地,ADS 110可与车辆控制系统111集成在一起。

例如,作为乘客的用户可例如经由用户接口来指定行程的起始位置和目的地。ADS110获得行程相关数据。例如,ADS 110可从MPOI服务器中获得位置和路线数据,MPOI服务器可以是服务器103至104的一部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。可替代地,此类位置和MPOI信息可本地高速缓存在ADS 110的永久存储装置中。

当ADV 101沿着路线移动时,ADS 110也可从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至服务器104可由第三方实体进行操作。可替代地,服务器103至服务器104的功能可与ADS 110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),ADS 110可规划最佳路线并根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效地到达特定目的地。

服务器103可以是数据分析系统,从而为各种客户执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(ADV或由人类驾驶员驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括指示所发布的驾驶命令(例如,油门、制动、转向命令)以及由车辆的传感器在不同的时间点采集到的车辆的响应(例如,速度、加速、减速、方向)的信息。驾驶统计数据123还可包括描述不同时间点的驾驶环境的信息,例如,路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。

基于驾驶统计数据123,机器学习引擎122为各种目的生成或训练规则集、算法和/或预测模型124。在一个实施方式中,算法124可包括神经网络(NN)模型,神经网络(NN)模型可基于ADV的动态(诸如,ADV的制动和加速能力)、地图信息、交通规则和/或感知环境来为ADV生成驾驶轨迹。在一个实施方式中,算法124包括基于规则的模型,基于规则的模型可生成可代替NN模型驾驶轨迹的驾驶轨迹。在一个实施方式中,算法124包括用于选择驾驶轨迹以控制ADV的处理逻辑。然后,算法124可被上载到ADV上,以便在自动驾驶期间被实时地利用。

图3A和图3B是示出根据一个实施方式的、与ADV一起使用的自动驾驶系统的示例的框图。系统300可以被实现为图1的ADV 101的一部分,包括但不限于:ADS 110、控制系统111和传感器系统115。参照图3A至图3B,ADS 110包括但不限于:定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线安排模块307和混合规划模块308。

模块301至模块308中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可安装在永久存储装置352中,加载到存储器351中,并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可通信地联接到图2的车辆控制系统111的一些或全部模块或与图2的车辆控制系统111的一些或全部模块集成。模块301至模块308中的一些可被集成在一起作为集成模块。

定位模块301确定ADV 300的当前位置(例如,利用GPS单元212)并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可例如经由用户界面登录并指定行程的开始位置和目的地。定位模块301与ADV 300的其它组件(诸如,地图和路线数据311)进行通信,以获得行程相关数据。例如,定位模块301可从位置服务器以及地图和POI(MPOI)服务器获得位置和路线数据。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,其可作为地图和路线数据311的一部分被高速缓存。当ADV 300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。

基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员在驾驶员正在驾驶的车辆周围将感知到什么。例如,,该感知可包括以对象的形式的车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行道,或其它交通相关标志(例如,停止标志、让行标志)等。车道配置包括描述一条或多条车道的信息,例如,车道的形状(例如,直线或弯曲)、车道的宽度、道路中有多少车道、单向或双向车道、合并或分裂车道、出口车道等。

感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个摄像机采集的图像,以便识别ADV环境中的对象和/或特征。对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施方式中,计算机视觉系统可绘制环境、跟踪对象和估计对象的速度等。感知模块302还可基于由其它传感器(诸如,雷达和/或LIDAR)提供的其它传感器数据来检测对象。

对于每个对象,预测模块303预测对象在环境下将表现的行为。鉴于一组地图和路线数据311和交通规则312,基于在时间点感知驾驶环境的感知数据执行预测。例如,如果对象是处于相对方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆可能直线向前移动或者转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。

对于每个对象,决策模块304做出关于如何处理对象的决策。例如,对于特定对象(例如,交叉路线中的另一车辆)及其描述该对象的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到该对象(例如,超车、让行、停止、路过)。决策模块304可根据可存储在永久存储装置352中的规则集(诸如,交通规则或驾驶规则312)来作出此类决策。

路线安排模块307配置为提供从起始点到目的地点的一个或多个路线或路径。对于例如从用户接收的、从开始位置到目的地位置的给定行程,路线安排模块307获得地图和路线311,并确定从开始位置以到达目的地位置的所有可能的路线或路径。路线安排模块307可针对其确定的从开始位置以到达目的地位置的每条路线生成地形图形式的参考线。参考线指的是没有来自其它诸如其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。即,如果在道路上没有其它车辆、行人或障碍物,则ADV应精确地或紧密地遵循参考线。然后将地形图提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以根据由其它模块提供的其它数据选择和更改最佳路线中的一个,其中,其它数据诸如来自定位模块301的交通状况、由感知模块302感知到的驾驶环境以及由预测模块303预测的交通状况。依据时间点处的特定驾驶环境,用于控制ADV的实际路径或路线可能接近于或不同于由路线安排模块307提供的参考线。

基于针对所感知到的每个对象的决策,规划模块305使用由路线安排模块307提供的参考线作为基础,为ADV规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。即,对于给定的对象,决策模块304决定对该对象做什么,而规划模块305确定如何去做。例如,对于给定的对象,决策模块304可决定超过对象,而规划模块305可确定在对象的左侧还是右侧超过。规划和控制数据由规划模块305生成,包括描述车辆300在下一移动周期(例如,下一路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆300以30英里每小时(mph)的速度移动10米,随后以25mph的速度变到右侧车道。

基于规划和控制数据,控制模块306根据由规划和控制数据限定的路线或路径、通过将适当的命令或信号发送到车辆控制系统111来控制并驾驶ADV。规划和控制数据包括足够的信息,以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。

在一个实施方式中,规划阶段在多个规划周期(也称作为驾驶周期)中执行,例如,在每个100毫秒(ms)的时间间隔中执行。对于每个规划周期或驾驶周期,将基于规划和控制数据发布一个或多个控制命令。即,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需要的时间。可替代地,规划模块305还可指定具体的速度、方向和/或转向角等。在一个实施方式中,规划模块305为下一个预定时间段(诸如,5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置为当前周期(例如,下一个5秒)规划目标位置。控制模块306然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。

注意,决策模块304和规划模块305可集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,来为ADV确定驾驶路径。例如,导航系统可确定一系列速度和定向型航向,以影响ADV沿着基本上避开了感知到的障碍物的路径的移动,同时通常使ADV沿着通往最终目的地的基于车行道的路径前进。目的地可根据经由用户接口系统113的用户输入来设置。导航系统可在ADV运行的同时动态地更新驾驶路径。导航系统可将来自GPS系统和一个或多个地图的数据合并,来为ADV确定驾驶路径。

图4是示出根据一个实施方式的混合规划模块的示例的框图。混合规划模块308可被实现为图3A的规划模块305的一部分。混合规划模块308可使用基于模型的方法或基于规则的方法来生成轨迹以控制ADV。轨迹的选择标准可基于应用于轨迹的一个或多个界定条件。参照图4,在一个实施方式中,混合规划模块308可包括子模块,诸如,环境感知器401、界定条件确定器402、基于模型的轨迹生成器403、基于规则的轨迹生成器404、轨迹评估器405、轨迹选择器406和轨迹平滑器407。

环境感知器401可使用ADV的传感器来感知ADV周围的环境。所感知的环境可包括静态障碍物(建筑物/地标)和动态障碍物(行人/车辆)。界定条件确定器402可为ADV识别一个或多个界定条件。界定条件的示例可包括障碍物边界、交通灯边界、让行/超车边界、道路/车道边界。这里,界定条件可以是基于规划决策(例如,向车辆让行或超车)确定的人工形成的边界。基于模型的轨迹生成器403可使用深度学习神经网络(NN)模型生成轨迹。基于规则的轨迹生成器404可使用基于规则的方法生成轨迹,诸如,使用基于安全性、舒适性和/或进展等因素的加权函数或目标函数。轨迹评估器405可评估生成的轨迹是否满足或违反一个或多个界定条件。轨迹选择器406可选择轨迹以控制ADV。轨迹平滑器407可对所选择的轨迹应用平滑函数(诸如,B样条或回归等)。

图5是示出根据一个实施方式的站-侧移(SL)地图的框图。参照图5,SL地图500具有S水平轴或站,以及L竖直轴或侧移。如上所述,站-侧移坐标是相对几何坐标系,该相对几何坐标系参考参考线上的特定固定点并遵循参考线。例如,(S,L)=(1,0)坐标可表示参考线上的静止点(即,参考点)之前一米,具有零米的侧移偏移。(S,L)=(2,1)参考点可表示沿着参考线在静止参考点之前两米以及距参考线的一米垂直侧移偏移,例如,左偏移。

参照图5,SL地图500包括参考线501和ADV 510感知到的障碍物503至509。在一个实施方式中,障碍物503至509可由不同坐标系中的ADV510的RADAR或LIDAR单元感知并被转换到SL坐标系。在另一个实施方式中,障碍物503至509可以是作为约束的人工形成的障碍物,因此决策和规划模块将不会在受约束的几何空间中搜索。在该示例中,路径决策模块可为障碍物503至509中的每一个生成决策,诸如,避开障碍物503至508和接近(靠得非常近)障碍物509(即,这些障碍物可以是其他车、建筑物和/或结构)的决策。然后,路径规划模块可基于考虑到障碍物503至509的路径成本来重新计算或优化参考线501,使用QP编程来以如上所述的最小总成本微调参考线501。在该示例中,ADV从障碍物509的左边接近障碍物509或者与障碍物509靠得非常近。

图6A和图6B是示出根据一些实施方式的站-时间地图的框图。参照图6A,ST图表600具有站(或S)竖直轴和时间(或T)水平轴。ST图表600包括曲线601和障碍物603至607。如上所述,站-时间图表上的曲线601指示ADV在何时离站点有多远。例如,(T,S)=(10000,150)可表示在10000毫秒内,ADV将离静止点(即,参考点)150米。在该示例中,障碍物603可以是要避开的建筑物/结构,以及障碍物607可以是与超过移动车辆的决策相对应的人工屏障。

参考图6B,在这种场景中,将人工屏障605作为约束添加到ST图表610。如ADV所察觉到的,人造屏障可以是路上的红光或行人的示例,该红光或行人处于与站参考点相距大约S2的距离处。屏障605对应于"停止"ADV的决策,直到稍后去除人工障碍(即,交通灯从红色变为绿色,或者行人不再在路上)。

图7是示出根据一个实施方式的混合规划框架的示例的框图。参照图7,框架700包括开始701、结束707和三个层702-704。三个层702-704包括界定层702、验证层703和平滑层704。界定层702可生成(真实的或人工形成的)路径和/或速度边界(或界定条件),用于轨迹验证。路径和速度边界可基于道路基础设施(例如,车道和道路边界)、交通信号/标志和车辆动态来生成。验证层703可验证轨迹是否满足轨迹边界,例如,满足安全性阈值和车辆动态阈值。平滑层704可基于层702的边界使层703的轨迹平滑,以生成平滑轨迹。

参照图7,由界定层702生成的界定条件用于确保最小安全性/舒适性阈值。在一个实施方式中,界定层702基于ADV的路径/速度决策来生成边界。例如,基于路径决策的左接近的边界和基于速度决策的超车将不同于基于路径决策的右接近的边界和基于速度决策的让行。参照图8A至图8B,基于路径决策、交通灯/车道边界和障碍物的位置来生成路径边界803。路径边界803表示界定ADV在其中安全驾驶的区域的边界。这里,路径决策确定ADV101规划通过障碍物801的哪一侧(左或右)。例如,图8A展示了边界803,边界803指示从障碍物801的右(下)侧通过障碍物801是安全的。图8B展示了边界805,边界805指示从障碍物801的左(上)侧通过障碍物801是安全的。

与路径边界类似,可基于车辆动态(例如,ADV的动态)生成速度边界,并且可基于所感知的障碍物来生成障碍物边界。参照图9A,为超过障碍物901的轨迹生成边界903。参照图9B,为让行障碍物901的轨迹生成边界905。速度边界903至905在ST地图中提供驾驶轨迹的速度曲线满足边界903的区域。在这种情况下,具有位于边界内的速度曲线的驾驶轨迹将满足速度边界903至905。

参照图7,验证层703可验证轨迹是否满足路径边界和速度边界两者,其中路径/速度边界由界定层702提供。验证层703可接收由深度学习模型层705和/或基于规则的模型层706生成的轨迹。如果由深度学习模型层705生成的轨迹满足路径和速度边界两者,则验证层703输出由深度学习模型层705生成的轨迹。如果由深度学习模型层705生成的轨迹不能满足路径边界或速度边界,则验证层703从基于规则的模型层706输出轨迹。这种混合方法确保层703的输出轨迹总是满足路径和速度边界两者。

参照图7,在一个实施方式中,深度学习模型层705可包括被训练以生成轨迹的一个或多个深度学习神经网络模型。然后,验证层703可从深度学习模型层705接收轨迹以进行处理。神经网络模型的示例包括监督/模拟神经网络模型、强化学习模型、循环神经网络模型、卷积神经网络模型或其组合。例如,ADV的视觉系统可包括卷积神经网络模型,以感知ADV的周围环境,ADV的周围环境包括静态环境(例如,道路基础设施)和/或动态环境(例如,周围车辆)。利用车辆动态(例如,ADV的加速和/或制动能力)、感知的环境、地图信息(例如,图3A的地图和路线数据311的一部分)和/或交通规则(例如,图3A的交通规则312)的输入,层705使用一个或多个深度学习神经网络模型生成驾驶轨迹。然而,深度学习模型层705不使用边界来生成轨迹。因此,尽管所生成的轨迹可能与人类驾驶员的驾驶行为紧密匹配(在模拟神经网络模型的情况下),但是轨迹可能违反一个或多个界定条件。

图10A至图10B是示出根据一个实施方式的SL地图的示例的框图。图10A至图10B的SL地图可类似于图8A的从障碍物801的右侧通过的SL地图。图11A至图11B是示出根据一个实施方式的ST地图的示例的框图。图11A至图11B的ST地图可类似于图9B的让行障碍901的ST地图。参照图10A至图10B,验证层703可在不同的规划周期从深度学习模型层705接收轨迹。图10A可包括来自一个规划周期的轨迹,而图10B包括来自另一个规划周期的轨迹。这里,验证层703可确定路径1001在边界803内并且路径1003违反边界803,其中路径1001可对应于一个规划周期的轨迹并且路径1003可对应于另一个规划周期的另一个轨迹。

参照图11A至图11B,验证层703可确定速度曲线1101在边界905内并且速度曲线1103违反边界905,其中速度曲线1101对应于一个规划周期的轨迹并且速度曲线1103对应于另一个规划周期的轨迹。在一个实施方式中,对于违反SL或ST地图中的路径边界或速度边界的轨迹,该轨迹被丢弃,并且基于规则的模型的轨迹被输出给层703。

参照图7,在一个实施方式中,基于规则的模型层706可生成轨迹并将该轨迹输出到层703以进行处理。例如,基于规则的模型层706可从层702接收界定条件以及从地图/路线信息(例如,图3A的地图和路线数据311)导出的参考线。参考线可以是在道路中心的规划路径。基于界定条件和参考线,层706可生成SL和ST地图(诸如,图8至图9的SL和ST地图)。然后,层706可基于在所生成的SL和ST地图的边界内的所列举的结束条件(例如,在轨迹的结束处的期望位置/速度)来生成多个候选轨迹。然后,层706生成成本/奖励函数,该函数包括一个或多个权重因子,诸如,用于选择候选轨迹的安全性、舒适性和/或实现进展(例如,目标)因子。例如,更靠近障碍物的轨迹比更远离障碍物的轨迹导致更高的成本。更靠近参考线的轨迹导致更低的成本。然后,层706基于成本/奖励函数来评估候选轨迹,以确定最佳轨迹(例如,具有最小成本的轨迹)作为层706的输出轨迹。

在一个实施方式中,成本函数可以是:cost_total=cost_safety*weight_safety+cost_comfort*weight_comfort+cost_obj*weight_obj,其中cost_safety是安全性成本,weight_safety是安全性成本的权重因子,cost_comfort是舒适性成本,weight_comfort是舒适性成本的权重因子,cost_obj是目标成本,weight_obj是目标成本的权重因子。注意,尽管示出了三个因子,但是成本函数可包括任何数量的因子。此外,不同的权重因子可以是数值,以调整每个成本相对于其余成本的重要性。一旦为每个候选轨迹计算了总成本,就可基于最低总成本在候选轨迹中选择最佳候选轨迹。

参照图7,在一个实施方式中,平滑层704可基于平滑函数使层703的输出轨迹平滑,以生成最终轨迹。在一个实施方式中,平滑层704可与验证层703集成。

在一个实施方式中,平滑函数是B样条或回归函数。在一个实施方式中,平滑函数包括优化函数。在一个实施方式中,可通过优化算法(例如,动态编程(DP)或二次编程(QP)算法,或任何其它类型的优化算法)迭代地求解平滑函数。

例如,轨迹可由SL地图和/或ST地图中的多个段或分段多项式来表示。在一个实施方式中,SL地图中的分段多项式可以是:

l(s)=a

其中,对于表示样条的n个分段多项式,(s,l)是站和侧移坐标,ai,…,fi是五阶分段多项式的系数,并且i=0,…,n。注意,分段多项式可以是取决于路线或道路条件的任何阶的多项式。

在一个实施方式中,平滑函数可包括平滑成本核。具有三个平滑核的示例目标/成本函数可如下:

当中,核按一阶导数平滑度、二阶导数平滑度、三阶导数平滑度排序,其中(s,l)是站和侧移坐标,w1…w3是平滑度成本的权重因子,li(s)是第i个分段多项式。这里,平滑度成本确保分段多项式被平滑为三阶导数。

图12是示出根据一个实施方式的由ADV执行的方法的流程图。过程1200可由可包括软件、硬件或其组合的处理逻辑来执行。例如,过程1200可由图3A的混合规划模块308执行。参照图12,在框1201处,处理逻辑感知自动驾驶车辆(ADV)的环境。在框1202处,处理逻辑基于所感知的环境、地图信息和/或交通规则来确定一个或多个界定条件。地图信息可指定ADV的车道,以及左车道边界和右车道边界、车道的交通方向,以及是否允许根据交通规则(例如,虚线车道标记或实线车道线)的车道改变。地图信息可以是ADV的高清晰度地图(例如,作为图3A的地图和路线数据311的一部分),或者可以是从ADV的传感器感知到的实时生成的地图。例如,如果车道不允许车道改变(例如,实线车道线),则界定条件可包括基于左车道线和右车道线的路径边界。如果车道允许车道改变,则界定条件可包括道路左侧和右侧的路径边界。在框1203处,处理逻辑使用神经网络模型生成第一轨迹,其中,神经网络模型被训练以生成驾驶轨迹。在框1204处,处理逻辑确定第一轨迹是否满足一个或多个界定条件。在框1205处,如果第一轨迹满足一个或多个界定条件,则处理逻辑根据第一轨迹自动地控制ADV。在框1206处,否则,处理逻辑根据第二轨迹自动地控制ADV,其中第二轨迹是基于目标函数生成的,并且目标函数是基于至少一个或多个界定条件确定的。

在一个实施方式中,基于至少一个目标函数生成第二轨迹,包括:基于ADV所感知的一个或多个障碍物和交通规则生成路径曲线;基于路径曲线生成速度曲线,其中速度曲线包括对于一个或多个障碍物中的每一个的、让行或超过障碍物的决策;以及基于路径曲线、速度曲线和目标函数、使用动态编程生成第二轨迹,以使得可基于第二轨迹自动地控制ADV。

在一个实施方式中,处理逻辑基于平滑函数进一步平滑第一轨迹或第二轨迹,其中,平滑函数是基于一个或多个界定条件确定的。在一个实施方式中,一个或多个界定条件包括车道边界、障碍物边界或交通灯边界。

在一个实施方式中,基于ADV的能力和ADV所感知的环境、使用神经网络模型来生成第一轨迹。在一个实施方式中,处理逻辑还基于地图信息确定一个或多个界定条件,并且地图信息是从ADV的本地或远程数据库中检索的。

在一个实施方式中,第二轨迹是基于至少一个目标函数生成的,包括:生成多个候选轨迹;基于每个候选轨迹的目标函数确定轨迹成本,该目标函数具有安全性因子、舒适性因子和/或进展因子;以及选择候选轨迹之一作为第二轨迹,其中所选择的轨迹具有最低的轨迹成本。

应注意,如上文示出和描述的组件中的一些或全部可以以软件、硬件或其组合实现。例如,此类组件可实现为安装并存储在永久存储装置中的软件,软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请的过程或操作。可替代地,此类组件可实现为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,可执行代码可经由来自应用的对应驱动程序和/或操作系统来访问。此外,此类组件可实现为处理器或处理器内核中的特定硬件逻辑,作为可由软件组件经由一个或多个特定指令访问的指令集的一部分。

前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。

然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和过程,计算机系统或类似电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。

本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。

前述附图中所描绘的过程或方法可由处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所描述的操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。

本公开的实施方式并未参考任何特定的编程语言进行描述。应理解到,可使用多种编程语言来实现如本文描述的本公开的实施方式的教导。

在以上说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

相关技术
  • 自动驾驶车辆的混合规划系统
  • 自动驾驶车辆速度限制变更的规划系统
技术分类

06120112799214