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

用于为自动驾驶车辆规划路径的分级路径决策系统

文献发布时间:2023-06-19 09:26:02


用于为自动驾驶车辆规划路径的分级路径决策系统

技术领域

本公开的实施方式总体上涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及使用分级路径决策系统来规划自动驾驶车辆(ADV)的路径。

背景技术

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

运动规划与控制是自动驾驶中的关键操作。预测其它车辆如何移动同样很重要,以便为自动驾驶车辆(ADV)规划路径。成功的自动驾驶系统需要能够以安全、灵活和舒适的方式处理任何障碍物。当遇到缓慢或静态的障碍物时,其主要是路径决策模块的任务来提供合适的路径,从而实现以上目标。

现有路径决策模块也尝试解决以上问题。然而,它只支持简单的情境。例如,现有系统只能绕过完全停止的车辆。然而,当停止的车辆在绕路期间开始移动时,路径决策将被停止。此外,在紧急情境(诸如,行人突然步入驾驶路线上等),现有系统只能进行紧急制动,而无法适当地避让。

发明内容

本申请的一个方面提供了用于操作自动驾驶车辆(ADV)的计算机实施方法,该方法可包括:在第一规划周期期间,使用被指定为当前车道边界确定方案的第一车道边界确定方案来确定由ADV感知的驾驶环境的第一车道边界;基于第一车道边界来规划第一轨迹,以驾驶ADV导航通过驾驶环境;评估第一轨迹是否满足安全规则集,以避免与驾驶环境中检测到的对象碰撞;以及响应于确定第一轨迹不满足安全规则集,使用第二车道边界确定方案来确定驾驶环境的第二车道边界,以及基于第二车道边界来规划第二轨迹以驾驶ADV。

本申请的另一方面提供了其中存储有指令的非暂时性机器可读介质,所述指令在由处理器运行时使得所述处理器执行操作。所述操作可包括:在第一规划周期期间,使用被指定为当前车道边界确定方案的第一车道边界确定方案来确定由ADV感知的驾驶环境的第一车道边界;基于第一车道边界来规划第一轨迹,以驾驶ADV导航通过驾驶环境;评估第一轨迹是否满足安全规则集,以避免与驾驶环境中检测到的对象碰撞;以及响应于确定第一轨迹不满足安全规则集,使用第二车道边界确定方案来确定驾驶环境的第二车道边界,以及基于第二车道边界来规划第二轨迹以驾驶ADV。

本申请的又一方面提供了数据处理系统。该数据处理系统可包括处理器以及存储器,存储器联接至处理器以存储指令,所述指令在由所述处理器运行时使得所述处理器执行操作。所述操作可包括:在第一规划周期期间,使用被指定为当前车道边界确定方案的第一车道边界确定方案来确定由ADV感知的驾驶环境的第一车道边界;基于第一车道边界来规划第一轨迹,以驾驶ADV导航通过驾驶环境;评估第一轨迹是否满足安全规则集,以避免与驾驶环境中检测到的对象碰撞;以及响应于确定第一轨迹不满足安全规则集,使用第二车道边界确定方案来确定驾驶环境的第二车道边界,以及基于第二车道边界来规划第二轨迹以驾驶ADV。

附图说明

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

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

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

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

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

图5是示出根据一个实施方式的车道边界确定方案分级结构的框图。

图6A至图6C是示出根据一个实施方式的使用适当的车道边界来规划路径的过程的框图。

图7是示出根据一个实施方式的用于为自动驾驶规划路径的过程的示例的流程图。

图8是示出根据一个实施方式的用于为自动驾驶规划路径的过程的示例的流程图。

具体实施方式

将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是对本公开的说明,而不应当解释为限制本公开。描述了许多特定细节以提供对本公开各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节以提供对本公开的实施方式的简洁讨论。

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

根据一些实施方式,利用分级车道边界确定系统来确定用于为不同驾驶环境下的自动驾驶车辆(ADV)规划路径的车道边界。通过在分级结构中的不同级别的车道边界确定方案之间进行动态转换,ADV能够稳健地处理多种驾驶情况。

根据一个实施方式,在第一规划周期期间,使用已被指定为当前车道边界确定方案的第一车道边界确定方案(例如,当前车道边界)来确定由ADV感知的驾驶环境的第一车道边界。基于第一车道边界规划第一轨迹,以驾驶ADV导航通过驾驶环境。对照预定的安全规则集来评估第一轨迹(例如,ADV是否将与对象发生碰撞或与对象过于接近),以避免与驾驶环境中检测到的对象碰撞。响应于确定第一轨迹不满足安全规则,使用第二车道边界确定方案确定驾驶环境的第二车道边界,并且基于第二车道边界规划第二轨迹以驾驶ADV。

此外,根据一个实施方式,第二车道边界确定方案被指定为当前车道边界确定方案,使得在第二规划周期(例如,下一规划周期)期间,可以基于根据作为当前车道边界确定方案的第二车道边界确定方案而确定的车道边界来规划后续轨迹。在一个实施方式中,第一车道边界确定方案基于ADV所处的当前车道的车道配置。第二车道边界确定方案基于当前车道和至少一个相邻车道的车道配置。在另一实施方式中,第二车道边界确定方案基于具有多条车道的道路的所有车道。

根据一个实施方式,在评估第一轨迹时,确定障碍物是否阻挡第一轨迹或者是否过于接近第一轨迹(例如,是否处于第一轨迹的预定接近度内),并且确定障碍物是否在预定时间段内不太可能移动。可以基于由ADV的传感器捕获到并由ADV的感知过程感知到的障碍物的移动历史,来确定障碍物是否可能移动。在另一实施方式中,所述确定可以基于ADV的预定接近度内是否存在救急车辆。

根据一个实施方式,在第一规划周期之后的第二规划周期期间,基于根据第一车道边界确定方案确定的车道边界来规划第三轨迹。然后,对第三轨迹进行评估,以确定其是否满足安全规则。如果满足,则可以将第一车道边界确定方案(例如,默认的车道边界确定方案)恢复为当前的车道边界确定方案。因此,尽管在第二规划周期期间没有使用第三轨迹,仍规划第三轨迹。然而,第三轨迹被用于确定驾驶场景是否已经改变,以确定是否可以在随后的规划周期中恢复默认的车道边界方案。在一个实施方式中,在当前车道边界确定方案不是默认的车道边界确定方案时,只有在存在使用默认的车道边界确定方案规划出连续多个成功轨迹的情况下,才恢复默认的车道边界方案。

图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但是多个自动驾驶车辆可以通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,Web或云服务器、应用服务器、后端服务器或其组合。服务器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可以包括具有分级结构的多个车道边界确定方案以及关于如何在不同的车道边界确定方案之间进行转换的算法。然后,可以将算法124上传到ADV上,从而在自动驾驶过程期间实时地使用。

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

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

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

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

感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个相机捕获的图像,从而识别自动驾驶车辆环境中的对象和/或特征。所述对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频追踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可以绘制环境地图,追踪对象,以及估算对象的速度等。感知模块302也可以基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。

针对每个对象,预测模块303预测所述对象在所述情况下的行为。基于在某时间点感知驾驶环境的感知数据根据地图/路线信息311与交通规则312的集合来执行所述预测。例如,如果对象是相反方向处的车辆且当前驾驶环境包括十字路口,则预测模块303将预测该车辆是可能向前直行还是可能转弯。如果感知数据表明十字路口没有交通灯,则预测模块303可预测该车辆可能在进入十字路口之前必须完全停下。如果感知数据表明该车辆当前处于左转专用车道或右转专用车道,则预测模块303可分别预测该车辆更可能进行左转或右转。

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

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

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

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

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

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

根据一个实施方式,车道边界确定模块308配置成基于车道边界确定方案313的当前设置来确定车道边界。规划模块305可以利用车道边界来规划路径或轨迹,以根据所确定的车道边界来驾驶ADV。车道边界确定模块308可以集成为规划模块305的一部分。根据由规划模块305执行的规划结果,车道边界确定模块308确定应利用车道边界确定方案313中的哪一个来确定用于后续路径规划的车道边界。出于说明的目的,术语“路径”和“轨迹”是可互换的术语。

图5是示出根据一个实施方式的用于自动驾驶的规划模块的示例的框图。参照图5,规划模块305包括路径规划模块401和速度规划模块402。路径规划模块401配置成基于由感知模块302提供的对驾驶环境的感知以及由预测模块303提供的对感知到的障碍物的预测来规划轨迹。对于由路径规划模块401规划的轨迹的每个轨迹点,速度规划模块402基于感知和预测来确定轨迹点的速度。

根据一个实施方式,路径规划模块401包括车道边界确定模块411、路径生成模块412以及路径评定或评估模块413。在该示例中,车道边界确定模块308与规划模块305集成在一起,以成为车道边界确定模块411的一部分。在一个实施方式中,车道边界确定模块411配置成基于车道边界确定方案的当前设置来确定车道边界,并且也可以基于路径规划结果来更新当前的车道边界确定方案。基于车道边界,路径生成模块412根据由车道边界确定模块411确定的车道边界、基于感知和预测来生成轨迹。路径评定模块413对照安全规则集来对轨迹进行评估,以确定该轨迹是否有效。如果该轨迹有效,则速度规划模块402对该轨迹执行速度规划。

图5是示出根据一个实施方式的边界确定方案分级结构的框图。参照图5,车道边界方案配置成包括低级别501、中等级别502和高级别503的分级结构。应注意的是,尽管示出了三个级别,但是也可以实现更多或更少的级别。在一个实施方式中,低级别501配置为默认级别,其中,在正常的驾驶情况下,可以基于与低级别501对应的车道边界确定方案来确定车道边界。然而,响应于某些特定的驾驶情境,车道边界方案的选择可以从低级别501转换到中等级别502或高级别503。类似地,当处于高级别503或中等级别502时,响应于某些情况,选择也可以向下转换回低级别501。

根据一个实施方式,当选择低级别501的边界确定方案时,只利用ADV所处的当前车道作为单个车道来确定用于路径规划的车道边界。在中等级别502下,可以利用当前车道加上至少一个相邻车道来确定用于路径规划的车道边界。在高级别503下,可以利用道路的所有车道来进行路径规划。在给定基于特定的车道边界确定方案所选择的车道边界的情况下,路径生成模块412尝试在所选的车道边界内生成路径。如上所述,当规划好路径时,如果路径因不满足安全规则而无效,则低级别501的边界确定方案可能是不合适的。相反地,可以根据特定环境来选择中等级别502或高级别503。

例如,如果基于根据低级别501的车道边界确定方案确定的车道边界而规划的路径被另一障碍物阻挡并且障碍物在预定时间段内不太可能移动,则车道边界方案的选择可以从低级别501转换到中等级别502。如果当前的车道边界确定方案是低级别501或中等级别502,并且在附近出现救急车辆,则车道边界确定方案的选择可以从低级别501或中等级别502切换到高级别503。基本原理是,当存在救急车辆时,道路上的每个车辆必须避让到侧边或安全空间,以允许救急车辆通过。由此,所有的车道均被考虑成用于规划安全地停止和停放ADV的路径。类似地,如果当前级别处于高级别503或中等级别502,并且如果不再存在导致从较低级别转换到较高级别的特定情况,则车道边界确定方案的选择可以向下转换回作为默认级别的低级别501。

根据一个实施方式,当处于级别502和503时,除了使用相应的车道边界确定方案规划路径之外,还使用默认的低级别501的车道边界确定方案规划附加路径。然而,附加路径不用于驾驶ADV。相反的,附加路径被用于确定是否仍然存在需要保持高级别503和中等级别502的特殊情况。在一个实施方式中,如果确定附加路径满足安全规则,则当前车道边界确定方案可以向下切换回默认级别501。

因此,对于每个规划周期,使用当前选择的车道边界确定方案来规划路径,取决于驾驶情况,所述当前选择的车道边界确定方案可以是级别501至503中的一个。如果当前级别不是默认的低级别501,则规划附加路径,即使不利用该附加路径进行自动驾驶。如果附加路径满足安全规则,则当前的车道边界确定方案可以被设置回默认级别501,以在下一规划周期期间利用默认的车道边界确定方案。在一个实施方式中,为了降低误报的可能性,只有在预定的连续数个规划周期内对附加路径作出了成功规划时,才执行默认的车道边界确定方案的恢复。

现在参照图6A,在该示例中,存在四条车道601至604,其中,车道601至602与车道603至604处于相反方向上。ADV 600当前处于车道603上。此外,已经检测到障碍物611至613。最初在默认情况下,基于默认的车道边界确定方案(即,使用当前车道作为单个车道的低级别501)来确定车道边界621。规划路径631,并且由于障碍物611,路径631无法满足安全规则,这是因为路径631已经被障碍物611阻挡。由此,利用高级别的车道边界确定方案(即,级别502)。在与级别502对应的车道边界确定方案下,可以在规划路径时使用当前车道和至少一个相邻车道。在该示例中,如图6B中所示,在确定车道边界622时考虑车道602,并且可以规划路径632以避免与障碍物611碰撞。在紧急情况下,如图6C中所示,在确定用于路径规划的车道边界623时,可以利用所有车道601至604。

图7是示出根据一个实施方式的自动驾驶的路径规划过程的流程图。过程700可以由可包括软件、硬件或其组合的处理逻辑来执行。例如,可以由规划模块305执行过程700。参照图7,在框701处,在第一规划周期期间,处理逻辑使用被指定为当前车道边界确定方案(例如,级别501下的默认方案)的第一车道边界确定方案来确定由ADV感知的驾驶环境的第一车道边界。在框702处,处理逻辑基于第一车道边界来规划第一轨迹以驾驶ADV导航通过驾驶环境。在框703处,对照安全规则集评估第一轨迹,以避免与驾驶环境中检测到的对象发生碰撞。在框704处,如果第一轨迹不满足安全规则,则使用第二车道边界确定方案(例如,级别502或503下的车道边界确定方案)来确定第二车道边界。在框705处,根据第二车道边界来规划第二轨迹。

图8是示出根据一个实施方式的用于为自动驾驶规划路径的过程的示例的流程图。过程800可以由可包括软件、硬件或其组合的处理逻辑来执行。例如,在特定规划周期期间,可以由规划模块305执行过程800。参照图8,在框801处,当前车道边界确定方案(LBDS)被初始设置成默认LBDS(例如,低级别LBDS 501)。在框802处,处理逻辑基于使用当前LBDS确定的车道边界来规划第一轨迹。在框803处,处理逻辑确定第一轨迹是否满足安全规则集。

如果第一轨迹不能满足安全规则,则在框805处,将替代的LBDS(例如,中等级别502或高级别503的LBDS)设置为当前LBDS。作为结果,在下一规划周期期间,将利用替代的LBDS规划轨迹。在当前的规划周期中,由于第一轨迹不能满足安全规则,因此将代替地使用在先前的规划周期期间最后成功规划的轨迹。

如果在框803处第一轨迹满足安全规则,则在框806处,确定当前LBDS是否是默认的LBDS。如上所述,在特定的规划周期期间,当前的LBDS可以是如图5中所示且在上文描述的LBDS级别中的任意级别。如果当前LBDS不是默认LBDS(例如,中等级别或高级别的LBDS),则在框807处,使用默认LBDS来规划第二轨迹,并且对照安全规则来检查第二轨迹。如上所述,不利用第二轨迹来驾驶ADV;相反,利用第二轨迹来确定默认LBDS是否应该被恢复为当前LBDS。如果确定第二轨迹满足安全规则,则在框808处,将默认LBDS恢复为用于下一规划周期的当前LBDS。

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

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

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

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

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

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

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

技术分类

06120112160550