自动驾驶车辆停放场景设计的制作方法

文档序号:25743370发布日期:2021-07-06 18:54阅读:63来源:国知局
自动驾驶车辆停放场景设计的制作方法

本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及利用自动驾驶车辆(adv)执行从停放位置到在车辆驾驶车道上驾驶的转换。



背景技术:

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

当自动驾驶车辆(adv)停放在停车地点时,例如,停放在停车场中或沿着街道上的路缘停放时,车辆应能够基于驾驶员的请求重新启动并驾驶到目的地。

根据停车地点和adv的环境,诸如其它停放的车辆的静态障碍物可能妨碍adv。另外,adv的位置可能偏离驾驶车道。停车地点可能平行或垂直于目的地车道。在一些情况下,停车地点可能相对于目的地驾驶车道成角度。因此,解决自动驾驶领域中的这些问题是有利的。



技术实现要素:

根据本公开的一方面,提供了一种用于操作自动驾驶车辆的计算机实施的方法,所述方法包括:

基于从多个传感器获得的传感器数据确定是否满足一组标准,所述一组标准包括所述自动驾驶车辆是否位于相对于车辆车道的阈值距离和阈值前进方向内;

如果不满足所述一组标准,则在开放空间模式下操作,包括经由一个或多个向前和向后运动来调整所述自动驾驶车辆的位置,直到所述自动驾驶车辆位于相对于所述车辆车道的所述阈值距离和所述阈值前进方向内;以及

响应于确定已满足所述一组标准,在车道上模式下操作,以使所述自动驾驶车辆恢复沿着所述车辆车道的自动驾驶。

根据本公开的另一方面,提供了一种存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行操作自动驾驶车辆的操作,所述操作包括:

基于从多个传感器获得的传感器数据确定是否满足一组标准,所述一组标准包括所述自动驾驶车辆是否位于相对于车辆车道的阈值距离和阈值前进方向内;

如果不满足所述一组标准,则在开放空间模式下操作,包括经由一个或多个向前和向后运动来调整所述自动驾驶车辆的位置,直到所述自动驾驶车辆位于相对于所述车辆车道的所述阈值距离和所述阈值前进方向内;以及

响应于确定已满足所述一组标准,在车道上模式下操作,以使所述自动驾驶车辆恢复沿着所述车辆车道的自动驾驶。

根据本公开的又一方面,提供了一种数据处理系统,包括:

处理器;以及

存储器,联接至所述处理器以存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作自动驾驶车辆的操作,所述操作包括:

基于从多个传感器获得的传感器数据确定是否满足一组标准,所述一组标准包括所述自动驾驶车辆是否位于相对于车辆车道的阈值距离和阈值前进方向内;

如果不满足所述一组标准,则在开放空间模式下操作,包括经由一个或多个向前和向后运动来调整所述自动驾驶车辆的位置,直到所述自动驾驶车辆位于相对于所述车辆车道的所述阈值距离和所述阈值前进方向内;以及

响应于确定已满足所述一组标准,在车道上模式下操作,以使所述自动驾驶车辆恢复沿着所述车辆车道的自动驾驶。

附图说明

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

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

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

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

图4示出了说明根据一个实施方式的自动规划的处理流程的框图。

图5示出了根据一个实施方式的用于从停放位置转换到车辆驾驶车道的过程。

图6至图9示出了adv从停放位置转换到车辆驾驶车道的示例。

图10示出了根据一个实施方式的开放空间规划模块。

图11示出了根据一个实施方式的adv的开放空间规划模块的工作流。

具体实施方式

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

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

用于自动驾驶车辆的系统和方法涉及将adv从停车地点导航到车辆驾驶车道。在一些实施方式中,如果存在障碍物,和/或如果adv不在相对于车辆驾驶车道的阈值距离和航向角内,则adv可实现开放空间模式,该开放空间模式允许adv生成开放空间轨迹并朝向车辆驾驶车道导航,包括至少一个向前运动和向后运动。如果adv在阈值距离和角度内,并且没有障碍物存在或者在预定阈值距离内,则adv可进入车道上模式,在该模式下adv可沿着驾驶车道在轨迹上朝向预期目的地驾驶,例如主要向前运动。

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

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

定位模块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可能预测车辆将更可能分别左转或右转。

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

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

规划模块305可具有车道上规划模块309和开放空间规划模块308。当adv在车道上模式下运行时,车道上规划模块309生成adv的规划和控制数据。车道上规划模块309可生成限制和约束adv沿着车辆驾驶车道上的轨迹行进的控制。在车道上模式下,生成将adv约束成在车辆驾驶车道上行进的车道上轨迹。如在其它部分中所讨论的,adv可基于某些标准(例如,当从停放位置转换到车辆驾驶车道时)在开放空间模式与车道上模式之间切换。

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

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

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

基于车道配置驾驶车辆的上述规划过程称为车道上规划过程,其可至少部分地由车道上规划模块309(也称为车道上规划器)执行。在车道上规划期间,车辆通常根据基于车道配置(诸如车道的参考线)规划的路径正在向前移动。另一类型的规划称为开放空间规划,其可由开放空间规划模块308(也称为开放空间规划器)执行。在开放空间规划期间,车辆可向前和向后移动,而不遵循车道配置或车道线。车辆可基于相对于其它障碍物的相对位置自由移动。它不遵循常规的交通规则。

图4是示出根据一个实施方式的自动规划的处理流程的框图。参考图4,整个流程过程包括三个阶段:1)检查阶段401;2)调整阶段402;和3)巡航阶段403。当车辆驻停在当前位置时,在检查阶段401期间,系统基于在该时间点感知到的驾驶环境来检查是否满足将车道上规划器309用作如上所述的正常驾驶规划器的一组标准。在某些情况下,车辆可能不是以适合于车道上规划器来操作车辆的方式进行定位的。例如,当车辆停放在停车地点而不是在车道内时,或者车辆所处的驾驶环境不包含任何车道线或其它车道配置信息(例如,没有可从地图获得的车道信息)。

在一个实施方式中,该组标准可包括车辆是否足够接近车道并且其前进方向是否接近车道的车道方向。可替代地,该组标准可包括车辆是否过于接近障碍物,诸如在停车地点中邻近停放的车辆旁边。如果确定没有满足该组标准,则处理流程进入调整阶段402。在调整阶段402期间,调用开放空间规划器308来执行开放空间规划,包括来回移动以调整车辆的位置,直到满足该组标准。一旦满足该组标准,则处理流程进入巡航阶段403。在巡航阶段403期间,调用车道上规划器309来执行如上所述的正常规划。

参照图5,示出了可由adv的一个或多个处理器执行以从停放位置驾驶到车辆驾驶车道的过程500。车辆驾驶车道可以是指定的驾驶车道,诸如但不限于停车场或停车场结构中的行车道或街道上的行车道。在操作501处,adv驻停在停放位置(例如,偏离和离开车辆车道)。例如,如果乘客进入adv并准备好开始到目的地的旅程,则其可开始该过程以进入驾驶车道并朝着目的地前进。

在操作502处,该过程包括基于从多个传感器获得的传感器数据来确定是否满足一组标准。该组标准包括adv是否在相对于车辆车道的阈值距离和阈值前进方向内。基于该确定,adv可决定是在开放空间模式还是在车道上模式下操作。在车道上模式期间,adv控制将adv限制为沿着车辆车道上的轨迹行进。在开放空间模式期间,adv控制被移除,从而允许adv自由地脱离车辆车道行进。在一些实施方式中,这些模式是互相排斥的,使得adv不能同时在两种模式下操作。在一些实施方式中,必须满足该组标准的所有标准以进行到操作504,否则该过程朝向操作505进行。

如上所述,该标准包括adv是否在相对于车辆车道的阈值距离和阈值前进方向内。该标准还可包括障碍物(例如,另一车辆、停车站、路缘、行人、墙壁、大碎片或其它对象)是否阻碍adv到达车辆车道的路径。可基于adv的任何点(例如,在adv的前部或中心)到车辆驾驶车道上的点(例如,adv进入车道的点,或者adv与车辆驾驶车道之间的距离最短的点)来测量阈值距离。

阈值前进方向可以是adv的前进方向与驾驶车道的轨迹之间的角度。可理解,驾驶车道可在驾驶车道上的不同点处具有不同的轨迹,驾驶车道的轨迹可在adv将进入驾驶车道的进入点处取得。例如,可基于adv与驾驶车道之间的足够短的距离来确定进入点,这允许adv转向到驾驶车道上。进入点可从一种情况变化到另一种情况,例如,基于adv与驾驶车道之间的距离,处于停放位置的adv相对于车辆驾驶车道的前进方向,以及在adv与车辆驾驶车道之间是否存在障碍物。

在一些实施方式中,确定一个或多个障碍物是否阻碍adv到达车辆车道是基于传感器数据的,诸如但不限于由一个或多个摄像机、雷达单元和lidar单元生成的传感器数据。例如,adv可使用已知的计算机视觉技术来分析摄像机图像,以识别adv与车辆驾驶车道之间的障碍物。类似地,雷达和lidar可指示adv周围的对象的存在和位置。一旦adv操纵越过障碍物和/或障碍物不再阻碍adv到车辆驾驶车道的路径,则满足该标准。

在一些实施方式中,确定adv是否在相对于车辆车道的阈值距离和阈值前进方向内是基于地图数据和传感器数据中的至少一个。例如,地图数据可指示在车辆车道上的点处的车辆车道的方向。imu数据可指示adv在处于停放位置时和/或在adv的操纵期间的前进方向。该点可以是估计的进入点或adv与车辆车道之间的最近点。如果adv的前进方向与该点处的车辆车道的方向之间的差异在阈值前进方向内,则满足该特定标准。在一些实施方式中,阈值前进方向可以是20度的角度。因此,一旦adv前进方向在车辆车道的20度之内,则将满足该标准。在其它实施方式中,阈值前进方向是10度。在其它实施方式中,阈值前进方向是5度。

类似地,地图数据和传感器数据可用于确定adv的位置和车辆车道处的点的位置。该点可以是估计的进入点或adv和车辆驾驶车道之间的最短距离处的点。可计算adv与车辆车道处的点之间的距离。如果adv与车辆车道处的点之间的距离等于或小于阈值距离,则满足标准。在一些实施方式中,阈值距离是5米。在其它实施方式中,阈值距离是2米。在其它实施方式中,阈值距离是1米。

在操作503处,如果不满足标准,则过程进行到操作505。如果满足标准,则过程进行到操作504。换言之,该过程可在检查阶段期间确定是进入调整阶段还是巡航阶段。

在操作505处,该过程包括进入开放空间模式。因此,adv可在开放空间模式下操作,并且在没有将adv限制为沿着驾驶车道上的轨迹驾驶的控制规则的情况下自由移动。

在操作506处,当处于开放空间模式时,该过程包括操纵adv直到adv在相对于车辆车道的阈值距离和阈值前进方向内。adv还可操纵绕过和越过阻碍adv直接到达驾驶车道的障碍物。操纵adv包括生成一系列油门和转向命令以实现adv的向前运动和倒车运动中的至少一个。例如,简要地参考图3a和图3b,不同的模块可协同工作以机动地生成一个或多个开放空间轨迹,控制模块306使用该轨迹来生成控制命令(一系列油门和/或转向命令),以实现adv沿着开放空间轨迹的向前和/或倒车运动,从而更接近车辆驾驶车道,将adv与车辆驾驶车道对准,和/或安全地移动经过障碍物,如果存在任何这样的障碍物的话。

返回参考图5,在操作504处,响应于满足标准,该过程包括在车道上模式下操作,以使adv恢复沿着车辆车道驾驶。在该巡航阶段,adv可在沿着指定的车辆驾驶车道驾驶的同时朝向乘客的目的地前进。应理解,如果当adv驻停在离开车辆车道的位置处时(在检查阶段期间)满足所有标准,则adv进入并在车道上模式下操作,而不是进入并在开放空间模式下操作。

停车地点相对于驾驶车道可具有不同的定向和位置。例如,自行车车道或公共汽车车道可在停车地点与驾驶车道之间,从而增加两者之间的距离。一些停车地点平行于驾驶车道,而其它停车地点(通常在停车场中)相对于驾驶车道垂直或倾斜(以不垂直或平行的角度)。

例如,参考图6,adv602可停放在街道上的路缘处。乘客希望驾驶到目的地,并且adv已经生成了要求adv驾驶到驾驶车道604上的路线。adv可执行检查以确定是否满足上述标准。在该示例中,adv前进方向平行于驾驶车道。假设距离d在阈值距离内并且不存在障碍物,则adv可进入车道上模式(无需在开放空间模式下操作)并且直接驾驶到驾驶车道上。

在另一示例中,在图7中示出了与图6中所描述的相同的场景,除了这次是两个车辆(障碍物704和障碍物706)停放在adv702的前面和后面。在这种情况下,在检查阶段期间,adv感测到障碍物704过于接近adv和/或阻碍adv以单个向前运动到达驾驶车道708。作为响应,adv进入开放空间模式并生成倒车命令(倒车、油门、转向)。当adv具有足够的空间时,adv可生成附加命令(向前、油门、转向)以相对于驾驶车道在阈值距离和阈值前进方向内移动。一旦满足标准,adv可进入车道上模式,在车道上模式下adv将沿着驾驶车道上的轨迹驾驶。

在另一示例中,adv802停放在大致垂直于驾驶车道810的停车地点中。两个障碍物(车辆804和806)在adv的两侧。尽管可能满足adv与驾驶车道之间的距离,但是adv的前进方向将不在相对于驾驶车道的阈值前进方向内,因此,adv进入开放空间模式以生成开放空间轨迹(不需要在驾驶车道上)来操纵adv,直到满足标准。一旦满足,adv进入车道上模式并继续沿着驾驶车道810驾驶。

应注意,停车定位器808示出在adv的后部处,并且在这种特定情况下,停车定位器808本身不会作为adv的障碍物。然而,如果停车定位器位于adv的前面,则adv可在开放空间模式下生成倒车轨迹和其它轨迹,以最终朝adv移动并满足标准。

在图9中,adv902感测阻碍adv到驾驶车道908的路径的障碍物906。障碍物906可以是结构(例如,墙)、垃圾箱、大型碎片或其它对象。adv可进入开放空间模式并生成开放空间轨迹和一系列控制命令,以实现在这些开放空间轨迹上的移动,从而将adv朝着驾驶车道操纵,直到满足标准。adv前进方向与驾驶车道908的方向之间的差被示为角度θ。一旦距离d满足阈值距离,并且角度θ满足阈值前进方向,则adv可从开放空间模式转换到规划模式,并继续朝向预期目的地前进。

参考图10,在一个实施方式中,开放空间规划模块308包括环境感知模块1001、目标函数确定器模块1003、约束确定器模块1005、双变量预热模块1007、轨迹生成器模块1009和混合a*搜索模块1011。环境感知模块1001可感知adv的环境。目标函数确定器模块1003可确定用于优化模型(例如,开放空间优化模型1021(作为图3a的模型313的一部分))的目标函数以进行优化。约束确定器模块1005可确定用于优化模型的约束。约束可包括不等式、等式和有界约束。双变量预热模块1007可对目标(目标性)函数应用二次规划(qp)求解器,以求解经受一些约束的一个或多个变量(诸如双变量/两个变量),其中目标函数是二次函数。轨迹生成器模块1009可基于求解的变量生成轨迹。混合a*搜索模块1011可使用搜索算法(诸如a*搜索算法或混合a*搜索算法)搜索初始轨迹(z字形,不考虑观察到的障碍物的非平滑轨迹)。

图11是示出根据一个实施方式的用于adv的开放空间规划模块的工作流程的示例的流程图。参考图11,在操作1101中,处理逻辑从hd地图提取环境约束,并从预测模块(例如,预测模块303)提取移动障碍物约束,以生成开放空间优化算法,并初始化用于优化算法的约束的矩阵/向量。在一个实施方式中,优化模型可预先生成并上载到adv上(例如,图4的模型421,作为图3a的模型313的一部分)。约束可包括从车辆到开放道路边界的距离、可通行道路的尺寸、道路路缘和一个或多个障碍物。障碍物可包括诸如汽车和移动行人的移动障碍物,以及诸如建筑物、阻挡物和围栏非移动障碍物。移动障碍物可由预测模块处理,以确定移动障碍物在某个稍后的时间点的预测位置。可将这些障碍和约束建模为用于优化算法的矩阵和向量。

用于受控对象和障碍物的优化算法的示例可给出为:

其中:

(1)是基于自动驾驶车辆(adv)状态变量x、adv控制变量u以及从adv到m个障碍物的集合中的每个对象的距离的集合d的成本函数,

(2)是用于平滑轨迹和节省控制能量的成本函数。

(3)x(k)是离散化时间步长k的轨迹,

(4)u(k)表示在时间步长k处对adv的控制输入,

(5)α>0表示使最终状态相对于目标xf的位置最小化的超参数,

(6)是adv在时间k的第k个位置和前进方向x(k)与adv的最终位置和前进方向xf之间的偏差的惩罚,其通过常数α来调谐,

(7)β>0是使adv与m个障碍物和其他边界之间的总安全距离最大化的超参数,以及

(8)是添加到原始目标函数的碰撞避免缓冲区感知dm(k)。

用于adv的轨迹的上述开放空间目标函数服从:

(1)x(0)=x0,其中,x0是adv在时间增量k=0时的初始状态,

(2)x(k+1)=f(x(k),u(k)),其中,f是车辆动态模型,诸如车辆的自行车模型,

(3)h(x(k),u(k))≤0,其中,h是包括adv的限制的函数,诸如车辆的最大前进方向比、速度和加速度。

(4)-gtμm(k)+(amt(x(k))-bm)tλm(k)+dm(k)>0,其中,矩阵a和向量b涉及车辆周围的一个或多个障碍物的尺寸和位置,

(5)gtμm(k)+r(x(k))tamtλm(k)=0,其中,gt和gt分别涉及adv的尺寸和位置。λ和u描述表示障碍物与车辆之间的距离的双变量,以及r是旋转矩阵,其基于adv的参考方向测量adv相对于m个障碍物的旋转。一些变量在没有初始轨迹的情况下可能不被初始化,例如,r在没有初始轨迹的情况下不被限定。矩阵a和向量b涉及adv周围的一个或多个障碍物的大小和位置。障碍物可被建模为例如多边形。

(6)||amtλm(k)||2≤1,其中,矩阵am表示一组障碍物中的第m个多边形,

(7)λm(k)≥0,μm(k)≥0,其中,λm(k)和μm(k)是表示在轨迹的时间步长k处一组障碍物中的第m个多边形与adv之间的距离的双变量,

(8)dm(k)≤0,描述在时间步长k处的车辆与第m个障碍物多边形之间的安全距离,其中,k=0,...k,m=1,...,m,以及d是它们的集合的符号。

在操作1102中,开放空间规划模块308可在第一轨迹上对目标函数执行第一二次规划(qp)优化,同时固定目标函数的第一组变量。在实施方式中,第一组变量可包括双变量λ和μ,它们表示在时间增量k=0…k时该组障碍物的多边形与adv之间的距离。在实施方式中,第一轨迹可通过混合a*搜索获得。

在操作1103中,开放空间规划模块308可在固定第二组变量的同时对目标函数执行第二qp优化,并且使从adv到在第一轨迹的多个点中的每个上的一个或多个障碍物中的每个的边界的距离的和最大化。在时间步长k处,adv距该组障碍物的任何多边形m的距离可表示为负数,使得对于第一轨迹的所有时间步长k=0…k,该优化通过优化以下和来设法使adv距该组障碍物的每个多边形m的距离(即,负距离的幅度)最大化:

在操作1104中,可确定开放空间模型目标函数的优化是否收敛到预定条件。如果是,则方法1100在操作1105处继续,否则方法1100在操作1102处继续。

在操作1105中,开放空间规划模块308可基于第一qp优化和第二qp优化的结果生成第二轨迹。然后可根据第二轨迹自动地控制adv。

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

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

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1