用于自主车辆运动规划的系统和方法与流程

文档序号:18468353发布日期:2019-08-17 02:59阅读:324来源:国知局
用于自主车辆运动规划的系统和方法与流程

本公开大体上涉及自主车辆,并且更具体地,涉及用于自主车辆的车辆运动规划的系统和方法。

引言

自主车辆是一种能够感测其环境并利用很少或不利用用户输入来导航的车辆。自主车辆利用感测装置感测其环境,例如,雷达、激光雷达、图像传感器等。自主车辆系统进一步使用来自全球定位系统(gps)技术、导航系统、车辆-到-车辆通信、车辆-到-基础设施技术、和/或线控系统的信息来导航车辆。

车辆自动化已经被分类成范围从零到五的数值级别,零对应于利用完全人类控制的无自动化,五对应于不利用人类控制的完全自动化。各种自动化驾驶员辅助系统,比如巡航控制、自适应巡航控制以及停车辅助系统,对应于较低的自动化级别,而真正的“无人驾驶”车辆对应于更高的自动化级别。

轨迹规划可以用于自动化驾驶并且对道路上的动态目标的变化进行反应。计算后的轨迹应遵循交通规则、在道路边界内安全、满足动态约束条件等。然而,现有的运动规划算法,要么是计算密集的要么并未针对城市和高速公路驾驶的多种不同可能场景来设计。

相应地,期望提供能够更有效地针对自动化驾驶加速对运动规划的处理的系统和方法。此外,通过随后的详细描述和所附权利要求书并结合附图和前述技术领域和

背景技术:
,本发明的其他期望特征和特性将是显而易见的。



技术实现要素:

提供了用于生成车辆路径以操作自主车辆的系统和方法。在一个实施例中,一种系统和方法包括通过对横向预规划数据应用横向相关优化模型来生成横向空间规划。通过对纵向预规划数据应用纵向相关优化模型来生成纵向时间规划。通过融合横向空间规划与纵向时间规划来生成车辆路径。

在其他实施例中,一种系统和方法包括接收横向和纵向预规划数据。通过对横向预规划数据应用横向相关优化模型来生成横向空间规划。通过对纵向预规划数据应用纵向相关优化模型来生成纵向时间规划。横向空间规划包括地图内的车辆路径位置且纵向时间规划提供针对路径位置的定时信息。通过融合横向空间规划与纵向时间规划来生成车辆路径。

附图说明

以下将结合附图来描述示范性实施例,其中相同的附图标记指代相同的元件,并且其中:

图1是示出了根据各种实施例的自主车辆的功能框图;

图2是示出了根据各种实施例的具有一台或多台图1中所示的自主车辆的运输系统的功能框图;

图3是示出了根据各种实施例的与自主车辆相关联的自主驾驶系统(ads)的功能框图;

图4和图5是示出了根据各种实施例的车辆路径控制系统的功能框图;

图6是示出了根据各种实施例的涉及车辆路径规划的操作场景的流程图;

图7是示出了根据各种实施例的车辆运动规划系统的功能框图;

图8和图9是示出了根据各种实施例的用于车辆运动规划系统的优化模型的功能框图;

图10是示出了根据各种实施例的横向预处理操作的流程图;

图11是示出了根据各种实施例的纵向预处理操作的流程图;

图12是示出了根据各种实施例的用于车辆路径跟随器系统的功能框图;

图13是示出了根据各种实施例的车辆低级控件系统的功能框图;

图14是示出了根据各种实施例的前馈控制系统的控制框图;以及

图15示出了根据本公开的各种实施例包括分布在车辆周围的多个雷达装置、相机以及激光雷达装置的示范性车辆。

具体实施方式

以下详细描述在本质上仅是示范性的,并且并不旨在限制应用和使用。另外,不存在被任何前述的技术领域、背景技术、发明内容或以下详细描述中提出的任何明确的或暗示的理论约束的意图。如本文所使用,术语模块是指单独地或呈任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(asic)、现场可编程门阵列(fpga)、电子电路、处理器(共享、专用或成组)以及执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能性的其他合适部件。

本公开的实施例在本文中可依据功能和/或逻辑块部件和各个处理步骤来描述。应当理解的是,这些块部件可由被配置为执行指定功能的任何数量的硬件(例如,一个或多个数据处理器)、软件和/或固件部件来实现。例如,本公开的实施例可采用各种集成电路部件,例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制装置的控制下执行多种功能。另外,本领域技术人员将理解的是,本公开的实施例可结合任何数量的系统来实践,并且本文所述的系统仅仅是本公开的示范性实施例。

为了简洁起见,本文可以不再详细描述与信号处理、数据传输、信号发送、控制、机器学习、图像分析以及该系统(和该系统的单独操作部件)的其他功能方面有关的常规技术。另外,本文中所包含的各个图示中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意的是,在本公开的实施例中可以存在许多替代或附加的功能关系或物理连接。

参考图1,根据各种实施例,总体上以100示出的用于执行自主车辆路径控制的系统与车辆10相关联。一般来说,系统100优化车辆路径规划并校正可能在规划过程中出现的误差以用于在控制车辆10中使用。

如图1中所示,车辆10通常包括底盘12、车身14、前轮16以及后轮18。车身14被布置在底盘12上并且大体上包围车辆10的部件。车身14和底盘12可以共同形成框架。车轮16至18各自在车身14的相应拐角附近可旋转地联接到底盘12。

在各种实施例中,车辆10是自主车辆并且系统100和/或其部件被结合到自主车辆10中(以下称为自主车辆10)。自主车辆10例如是一种被自动控制以将乘客从一个位置运送到另一个位置的车辆。车辆10在所示实施例中被描绘为客车,但是应当理解的是,还可以使用任何其他车辆,包括摩托车、卡车、运动型多功能车(suv)、娱乐车辆(rv)、船舶、飞行器等。

在示范性实施例中,自主车辆10对应于在自动化驾驶等级的美国汽车工程师学会(sae)“j3016”标准分类下的四级或五级自动化系统。利用该术语,四级系统指示“高度自动化”,其指代其中自动驾驶系统执行动态驾驶任务的所有方面的驾驶模式,即使人类驾驶员对干预请求没有做出适当响应。另一方面,五级系统指示“全自动化”,其指代其中自动驾驶系统在可由人类驾驶员管理所有道路和环境状况下执行动态驾驶任务的所有方面。然而,应当理解,根据本发明主题的实施例并不限于自动化类别的任何特定分类或量规。此外,根据本发明实施例的系统可以结合利用导航系统和/或其他系统以提供路线引导和/或实施的任何自主或其他车辆来使用。

如图所示,自主车辆10通常包括推进系统20、变速器系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储装置32、至少一个控制器34,以及通信系统36。在各种实施例中,推进系统20可以包括内燃机、诸如牵引电动机的电机和/或燃料电池推进系统。变速器系统22被配置为根据可选速度比将来自推进系统20的动力传递到车辆车轮16和18。根据各种实施例,变速器系统22可包括分级传动比自动变速器、无级变速器或其他适当的变速器。

制动系统26被配置为向车轮16和18提供制动转矩。在各种实施例中,制动系统26可以包括摩擦制动器、线控制动器、诸如电机的再生制动系统,和/或其他适当的制动系统。

转向系统24影响车辆车轮16和/或18的位置。虽然为了说明目的而被描绘为包括方向盘25,但是在本公开的范围内设想的一些实施例中,转向系统24可不包括方向盘。

传感器系统28包括感测自主车辆10的外部环境和/或内部环境的可观察状况的一个或多个感测装置40a至40n。感测装置40a至40n可以包括但不限于雷达、激光雷达、全球定位系统、光学相机、热感相机、超声波传感器、和/或其他传感器。致动器系统30包括一个或多个致动器装置42a至42n,其控制一个或多个车辆特征,例如但不限于推进系统20、变速器系统22、转向系统24和制动系统26。在各种实施例中,自主车辆10还可以包括图1中未示出的内部和/或外部车辆特征,例如各种车门、行李箱以及诸如无线电、音乐、照明、触摸屏显示部件(例如那些结合导航系统使用的部件)等客舱特征。

数据存储装置32存储用于自动控制自主车辆10的数据。在各种实施例中,数据存储装置32存储可导航环境的已定义地图。在各种实施例中,已定义地图可由远程系统预定义并且从远程系统获取(关于图2进一步详细描述的)。例如,已定义地图可由远程系统组装并且(以无线方式和/或以有线方式)传送到自主车辆10并存储在数据存储装置32中。路线信息也可以存储在数据专职32内-即,一组道路分段(地理地与已定义地图中的一个或多个相关联),它们一起定义了用户从开始位置(例如用于的当前位置)到目标位置可能采取的路线。另外在各种实施例中,数据存储装置32存储用于处理三维点云的处理算法和数据以在逐帧的基础上确定周围目标的速度。如可以理解的,数据存储装置32可为控制器34的一部分,与控制器34分开,或作为控制器34的一部分以及单独系统的一部分。

控制器34包括至少一个处理器44和计算机可读存储装置或介质46。处理器44可为任何定制的或商业上可获得的处理器、中央处理单元(cpu)、图形处理单元(gpu)、与控制器34相关联的若干处理器中的辅助处理器、基于半导体的微处理器(采用微芯片或芯片组的形式)、它们的任何组合或通常用于执行指令的任何装置。计算机可读存储装置或介质46可包括例如只读存储器(rom)、随机存取存储器(ram)和保活存储器(kam)中的易失性和非易失性存储装置。kam是一种持久或非易失性存储器,其可在处理器44断电时用于存储各种操作变量。计算机可读存储装置或介质46可使用诸如prom(可编程只读存储器)、eprom(电prom)、eeprom(电可擦除prom)、闪速存储器或能够存储数据的任何其他电、磁、光学或组合存储器装置的许多已知存储器中的任何一种来实施,其中的一些数据表示由控制器34用于控制自主车辆10的可执行指令。

指令可包括一个或多个单独的程序,每个程序包括用于实施逻辑功能的可执行指令的有序列表。指令在由处理器44执行时接收并处理来自传感器系统28的信号,执行用于自动控制自主车辆10的部件的逻辑、计算、方法和/或算法,并且向致动器系统30产生控制信号以基于逻辑、计算、方法和/或算法来自动地控制自主车辆10的部件。虽然图1中仅示出了一个控制器34,但是自主车辆10的实施例可包括通过任何合适的通信介质或通信介质的组合进行通信并且协作以处理传感器信号、执行逻辑、计算、方法和/或算法且产生控制信号以自动控制自主车辆10的特征的任意数量的控制器34。在一个实施例中,如以下所详细讨论的,控制器34被配置为用于处理车辆10周围呈点云形式的三维成像数据以在逐帧的基础上确定速度以用于在自主控制车辆的过程中使用。

通信系统36被配置为向和从其他实体48(例如但不限于其他车辆(“v2v”通信)、基础设施(“v2i”通信)、远程运输系统和/或用户装置(关于图2更详细进行描述的)无线地传送信息。在示范性实施例中,通信系统36是被配置为经由使用ieee802.11标准的无线局域网(wlan)或通过使用蜂窝数据通信来进行通信的无线通信系统。然而,诸如专用短距离通信(dsrc)信道等附加或替代通信方法也被认为在本公开的范围内。dsrc信道是指专门为汽车使用而设计的单向或双向短距离到中距离无线通信信道,以及对应的一组协议和标准。

现在参考图2,在各种实施例中,关于图1描述的自主车辆10可以适合于在特定地理区域(例如,城市、学校或或商业园区、购物中心、游乐园、活动中心等)中的出租车或往返运输系统的背景下使用或者可以仅通过远程系统进行管理。例如,自主车辆10可以与基于自主车辆的远程运输系统相关联。图2示出了操作环境的示范性实施例,大体上以50示出,其包括基于自主车辆的远程运输系统(或简称为“远程运输系统”)52,该远程运输系统与关于图1所述的一个或多个自主车辆10a至10n相关联。在各种实施例中,操作环境50(其全部或部分可以对应于图1中所示的实体48)进一步包括一个或多个用户装置54,该一个或多个用户装置经由通信网络56与自主车辆10和/或远程运输系统52通信。

通信网络56根据需要支持操作环境50所支持的装置、系统和部件之间的通信(例如,经由有形通信链路和/或无线通信链路)。例如,通信网络56可以包括无线载波系统60,比如蜂窝电话系统,其包括多个蜂窝塔(未示出)、一个或多个移动交换中心(msc)(未示出)、以及将无线载波系统60与陆地通信系统进行连接所需的任何其他联网部件。每个蜂窝塔包括发送和接收天线以及基站,来自不同蜂窝塔的基站直接或经由诸如基站控制器的中间设备连接至msc。无线载波系统60可以实施任何合适的通信技术,包括例如,诸如cdma(例如,cdma2000)、lte(例如,4glte或5glte)、gsm/gprs的数字技术,或者其他当前或正在出现的无线技术。其他蜂窝塔/基站/msc布置也是可能的且可与无线载波系统60一起使用。例如,基站和蜂窝塔可以共同位于相同的地点或者它们可以彼此远程地定位,每个基站可以负责单个蜂窝塔或者单个基站可以服务不同的蜂窝塔,或者不同的基站可以耦合至单个msc,仅举出一些可能的布置作为例子。

除了包括无线载波系统60之外,还可以包括采用卫星通信系统64形式的第二无线载波系统以提供与自主车辆10a至10n的单向或双向通信。这可以利用一个或多个通信卫星(未示出)和上行链路传输站(未示出)完成。单向通信可以包括,例如卫星无线电服务,其中节目内容(新闻、音乐等)由传输站接收、打包以用于上传以及随后发送至卫星,卫星将节目广播给订户。双向通信可以包括,例如卫星电话服务,其利用卫星来在车辆10和站之间中继电话通信。可以利用卫星电话作为无线载波系统60的补充或替代。

可以进一步包括陆地通信系统62,其可以是连接至一个或多个陆线电话的传统的陆基电信网络并且将无线载波系统60连接至远程运输系统52。例如,陆地通信系统62可以包括公共交换电话网(pstn),比如用来提供硬线电话、分组交换数据通信以及因特网基础架构的pstn。陆地通信系统62的一个或多个分段可以通过使用标准有线网络、光纤或其他光网络、电缆网络、电力线、诸如无线局域网(wlan)的其他无线网络、或者提供宽带无线接入(bwa)的网络或者它们的任何组合来实施。此外,远程运输系统52并不需要经由陆地通信系统62连接,但是可以包括无线电话设备,使得其可以直接与诸如无线载波系统60的无线网络通信。

尽管图2中仅显示了一个用户装置54,操作环境50的实施例可以支持任何数量的用户装置54,包括由一个人拥有、操作或以其他方式使用的多个用户装置54。操作环境50所支持的每个用户装置54可以利用任何合适的硬件平台来实施。就这一点而言,用户装置54可以按照任何常见的形式因素来实现,包括但不限于:桌上型计算机;移动计算机(例如,平板计算机、膝上型计算机,或者上网本计算机);智能电话;电子游戏装置;数字媒体播放器;家庭娱乐设备的部件;数字相机或摄像机;可穿戴计算装置(例如,智能手表、智能眼镜、智能服装);等等。操作环境50所支持的每个用户装置54被实现为计算机实施的或基于计算机的装置,其具有执行本文所述的各种技术和方法所需要的硬件、软件、固件和/或处理逻辑。例如,用户装置54包括采用可编程装置形式的微处理器,其包括存储在内部存储器结构中并应用于接收二进制输入以创建二进制输出的的一个或多个指令。在一些实施例中,用户装置54包括能够接收gps卫星信号并基于这些信号生成gps坐标的gps模块。在其他实施例中,用户装置54包括蜂窝通信功能,以便该装置利用一种或多种蜂窝通信协议在通信网络56上实现语音和/或数据通信,如本文所讨论的。在各种实施例中,用户装置54包括视觉显示器,比如触摸屏图形显示器或其他显示器。

远程运输系统52包括一个或多个后端服务器系统(未示出),其可以是基于云的、基于网络的,或者驻存在由远程运输系统52伺服的特定园区或地理位置处。远程运输系统52可以由现场顾问人工控制,或者是自动顾问、人工智能系统,或者它们的组合。远程运输系统52可以与用户装置54和自主车辆10a至10n通信,以调度搭乘、派遣自主车辆10a至10n等。在各种实施例中,远程运输系统52存储账户信息,比如订户认证信息、车辆标识符、简档记录、生物测量数据、行为模式,以及其他相关的订户信息。在一个实施例中,如以下进一步详细描述的,远程运输系统52包括路线数据库53,其存储和导航系统路线有关的信息,例如用于沿各种路线的道路的车道标记,以及特定路线端是否且在多大程度上受已经由一个或多个自主车辆10a至10n检测到的建筑区域或其他可能危险后障碍的影响。

根据典型的使用情况流程,远程运输系统52的注册用户可以经由用户装置54创建搭乘请求。搭乘请求通常将指示乘客的期望搭车位置(或当前的gps位置)、期望的目的地位置(其可以标识预定车站和/或用户指定的乘客目的地)以及搭车时间。远程运输系统52接收搭乘请求、处理该请求,并且(当且如果一个可用时)派遣自主车辆10a至10n中的选定一个来在在指定搭车位置处和在合适的时间搭载该乘客。远程运输系统52还可以生成并向用户装置54发送经合适配置的确认消息或通知,以使乘客知晓车辆正在路上。

如可以理解的,本文所公开的主题为被认为是标准和基础自主车辆10和/或基于自主车辆的远程运输系统52提供了增强特征和功能。为此目的,自主车辆和基于自主车辆的远程运输系统可以被修改、增强,或者以其他方式补充以提供以下更详细描述的附加特征。

根据各种实施例,控制器34实现图3中所示的自主驾驶系统(ads)70。也就是说,控制器34的合适的软件和/或硬件部件(例如,处理器44和计算机可读存储装置46)被用来提供结合自主车辆10一起使用的自主驾驶系统70。

在各种实施例中,自主驾驶系统70的指令可以由功能或系统组织。例如,如图3中所示,自主驾驶系统70可以包括传感器融合系统74、定位系统76、导向系统78,以及车辆控制系统80。如可以理解的,在各种实施例中,指令可以被组织成任意数量的系统(例如,组合的、进一步划分的等),因为本公开并不限于本示例。

在各种实施例中,传感器融合系统74合成并处理传感器数据并预测目标的存在、位置、类别和/或路径以及车辆10的环境的特征。在各种实施例中,传感器融合系统74可以合并来自多个传感器的信息,包括但不限于相机、激光雷达、雷达和/或任意数量的其他类型的传感器。

定位系统76处理传感器数据连同其他数据,以确定车辆10相对于环境的位置(例如,相对于地图的局部位置、相对于道路的车道的精确位置、车辆前进方向、速度等)。导向系统78包括车辆路径控制系统100以处理传感器数据连同其他数据以生成横向空间和纵向时间规划。规划被融合以创建用于车辆10遵循的路径。车辆控制系统80生成用于根据所确定的路径控制车辆10的控制信号。

在各种实施例中,控制器34实施机器学习技术来辅助控制器34的功能,比如特征检测/分类、拥塞减轻、路线穿越、绘图、传感器集成、地面真实情况确定,等等。

图4以100示出了根据各种实施例的车辆路径控制系统。车辆路径控制系统100包括规划系统102、运动规划器系统104以及路径跟随器系统106。车辆路径控制系统100与低级控件系统108进行通信,该低级控制系统例如是车辆控制系统80(图3)的一部分。车辆路径控制系统100通常优化路径规划并校正可能在规划过程期间出现的误差。规划系统102管理路径预规划操作。规划系统102生成针对车辆横向控制考虑因素(例如,转向控制)的预规划数据103和针对纵向控制考虑因素(例如,制动和油门控制)的预规划数据103。预规划数据103可以包括道路信息、在车辆环境中所跟踪的目标的定位/大小等。来自规划系统102的此类数据103通过由车辆传感器系统、数据存储装置(例如,地图信息)等提供的数据等导出。

运动规划器系统104将来自规划系统102的预规划数据103用作优化模型的输入,该优化模型标识满足路径标准的候选车辆路径规划以及它们的代价105。例如,运动规划器系统104可以配置为使用代价模型来生成表示其中车辆将运行的可行区域的车辆路径规划。代价模型可以通过考虑车辆环境内的动态障碍物的位置以及避开它们来解出最平滑的无碰撞路径。代价可以包括轨迹平滑度、轨迹一致性等。所得到的理想车辆路径规划和代价105被提供给规划系统102。规划系统102基于代价选择获胜的车辆路径规划107作为理想车辆路径规划。

路径跟随器系统106通过检查实际车辆位置与获胜车辆路径规划107中所标识的理想车辆位置来评价理想获胜车辆路径规划107。实际车辆位置通过定位操作来提供,定位操作涉及基于惯性传感器和车轮角度编码器的局部里程计连同迭代最近点算法,该迭代最近点算法将激光雷达回波与先前生成的激光雷达回波的地形图进行匹配。如果路径跟随器系统106通过两个位置相差超过预定阈值的结果识别出两个位置之间的显著误差,则路径跟随器系统106通过求解将车辆从当前位置带到获胜路径规划107的路径再入规划来校正该误差。为了实现校正规划,路径跟随器系统106向低级控件系统108提供横向(转向)和纵向(制动和油门)命令109。低级控件系统108将横向和纵向命令转换成期望的转向角度和油门/制动扭矩以便跟踪该规划。

图5示出,图4的低级控件系统108可以与车辆的各种控制单元进行交互。这些控制单元可以包括车辆的电动转向单元120、电子制动控制模块122以及发动机控制模块124。交互(例如,命令的传输)可以在车辆的总线上进行,该总线连接至电动转向单元120、电子制动控制模块122以及发动机控制模块124。

图6以200示出了车辆路径规划的方法,其可以例如由车辆路径控制系统100来执行。在处理框202处,来自规划系统的横向和纵向预规划数据被用作优化模型的输入。更具体地,在该示例中,代价模型利用横向和纵向预规划数据计算车辆路径的代价以用于评价受制于车辆路径约束条件的代价函数。

在处理框204处,基于代价模型的结果选择获胜车辆路径。在处理框206处基于横向和纵向路径再入数据生成局部规划以针对任何路径误差来进行调整。在处理框208处局部规划被转换成低级控制命令,以便将命令传送给车辆控制单元,例如和转向、制动等有关的那些车辆控制单元。

图7示出了车辆运动规划器系统104内部件的示例。车辆运动规划器系统104包括横向预规划器模块304、纵向预规划器模块306以及车辆路径构建器模块316。在该示例中,车辆运动规划器系统104的部件生成空间(横向)规划312和时间(纵向)规划314。空间(横向)规划312包括地图内的期望位置,而时间(纵向)规划314提供了用于路径的期望定时信息。车辆路径构建器316将空间规划312和时间规划314一起缝合成车辆路径以用于由规划系统102使用。

为了生成规划312和314,横向预规划器模块304和纵向预规划器模块306从规划系统102接收输入数据。用于横向预规划器模块304的输入数据包括横向预规划数据(如图4上以103标记的),其可以包括来自纵向预规划器306的先前纵向解、道路信息、感知信息(例如,所跟踪的目标的定位/大小)等。基于该输入数据,横向预规划器模块304使用由解算器308提供的代价模型以生成其中车辆将运行的可行区域。在该区域内,横向预规划器模块304基于先前纵向规划通过考虑动态障碍物的位置来求解最平滑的无碰撞路径。横向预规划器模块304进一步确定在特定时间车辆(行程上)将到多远,从而使得横向预规划器模块304可以知晓在生成特定cte(偏离航迹误差)带时要使用哪个占用电影帧。cte带被用来指示操作的可接受区域。cte带以横向的离散间距出现并垂直于车道中央。cte带可以被认为是在车辆中央周围的线性化的车辆工作空间。以下关于图10进一步讨论cet带生成。

纵向预规划器模块306接收来自规划系统102(如图4上以103标记的)的输入以及来自横向预规划器模块304的空间规划,并且求解沿横向路径的最平滑无碰撞速度分布。这涉及将空间量插值到时间离散内,以及考虑其他要求,例如跟随距离、横向加速度、速度限制等。作为例示说明,通过由解算器310提供的代价模型计算道路曲率和道路变窄影响速度,使得车辆在弯道附近减速以及当障碍物/目标之间空间紧密时减速。

如图7中所示,为了在规划生成过程中更有效地计算出问题的解,横向预规划器模块304和纵向预规划器模块306单独地求解横向和纵向问题。以此方式,通过模块304和306针对横向和纵向问题的计算是松散耦合(例如,间接耦合)的。

在一个实施例中,运动规划器系统104以特定时间间隔生成空间规划312和时间规划314,例如每100毫秒基于新的传感器信息。为了设定初始条件,先前的100毫秒和当前规划一起被用作优化的初始条件。一旦进行,在一个实施例中,运动规划器系统104沿先前解插值(相对于利用平滑的局部化姿态插值而言)。这使理想运动学车辆的轨迹受制于理想车辆应当遵照的约束条件。

横向预规划器模块304和纵向预规划器模块306向车辆路径构建器模块316提供空间规划312和时间规划314。车辆路径构建器模块316融合空间规划312(其包含在地图内的路径位置)与时间规划314(其包含路径的定时信息)之间的信息以创建沿路径的一系列点。信息的融合通过插值来执行,插值以一致的时间和/或空间间隔将横向和纵向信息封装在一起,其中每个点具有时间戳和沿车道的行程。这导致沿路径的每个点与时间、x位置、y位置、速度、加速度、曲率和前进方向相关联并且创建被用作路径跟随器系统106参考的轨迹。以此方式,运动规划器系统104的结果与路径跟随器系统106的处理相组合。这有助于确保在存在定位跳动、模型误差等的情况下的平滑度。这还可以使规划器和跟随器/低级别控制之间的验证和测试更为模块化。

图8和图9以340和350示出了优化控制建模,它们被横向预规划器模块304和纵向预规划器模块306用于生成其相应的规划312和314。优化通过针对到未来的较短范围求解最优控制问题来执行。该优化包括例如,利用凸二次代价函数342和358。凸二次方法包括优化代价函数,其中代价假设为x^t*q*x的形式,其中x是决策变量的向量,而q是正定加权矩阵。如果q是具有更大或相等元素的正交矩阵,则每个变量具有固定的二次代价。

凸二次代价函数342和358包括仿射约束条件(线性和恒定约束条件),如352和362所指示的。仿射约束条件352和362可以具有f<=a*x+c的形式,其中f是下界,a是约束矩阵,x是决策变量的向量,且c是常数。这些约束条件具有数学结构,其使得能够相对于通用函数形式迅速地求解优化解算法。

如在图8中针对横向预规划器模块304所示,针对凸二次代价函数342优化的代价354可以包括具有用于横向且基于速度以0.5m至2.5m离散化的50个点的(25m至150m)平滑度(例如,最小化横向加加速度等)。其他代价354可以包括在车道中的期望横向布置。

解析点可以被设置为以便足够捕获车辆和障碍物的动态特性。范围还可以足够长以达到在端部(例如,车道中央)附近的“均衡”状态。在某些情形下可以修改和车道中央有关的线性化公式,使得修改后的车道中央可以实际上并非是映射的车道的中央。

约束条件352可以包括cte(偏离航迹误差)约束条件,例如避开障碍物、避开车道边界(同时考虑到可以侵犯某些边界类型;例如,“虚线”边界)等。其他约束条件可以包括利用先前的纵向解满足汽车的转弯半径(曲率)约束条件、方向盘速度以及方向盘加速度。

运动学模型350被用于模拟在自主车辆的区域内目标的运动。运动学模型350可以描述目标位置、速度、加速度等。这种信息被用于优化代价函数,例如针对于最小化横向加加速度。运动学模型350可以具有以下状态:偏离车道中央;前进方向;曲率;空间加加速度(曲率的空间导数);等等。

以下提供了对评价用于横向预规划器模块304的二次代价函数342的例示说明。规划系统102向横向预规划器模块304提供输入数据。输入数据可以包括来自地图的道路边界,例如虚线边界信息和实线边界信息等。在评价二次代价函数342过程中,如有需要可以更多地侵犯虚线边界。输入到模型内的其他输入可以包括:中心线(来自地图,包括和车道有关的元数据)、速度限制、学校区域/减速带/道路坡度;感知信息(例如,所跟踪的目标的定位/大小,对规划范围上目标轨迹的预测);以及停止点(例如,如果是红灯在十字路口处停下或者存在停车标志停下,等等)。

图9示出了用于纵向预规划器模块306的示例性代价364。用来优化的针对凸二次代价函数358的代价364可以包括:轨迹的平滑度和一致性;速度和距离跟踪;平衡舒适度与合理的前向加速度分布;车辆的平滑跟随;针对转弯的平滑减速;等等。解析度可以包括以0.5秒离散化设置24个纵向点(即,12秒)。该解析度可以被设置为以便足够捕获车辆和其他障碍物的相关动态特性。范围还可以足够长以预见远在我们和障碍物前方的弯道和十字路口。

针对二次代价函数358的约束条件362可以包括:

*速度限制,例如:满足基于横向路径的横向加速度、方向盘速度以及方向盘加速度约束条件;基于cte带的量由于障碍物而减小的“道路变窄减速”;等等。

*加速度限制,例如基于车辆性能的“硬性”限制;基于舒适度的“软性”前向加速度限制;等等。

*基于车辆性能的加加速度限制。

*满足“停止线”,例如十字路口或红灯。

*为了保持在障碍物后方的安全跟随距离的应急约束条件。

*为了保持在障碍物后方的较长跟随距离的软性约束条件,其中软性约束条件通常被侵犯,以使得对前车速度的变化可以有“弹性的”响应。

运动学模型360生成和自主车辆的区域内目标的运动有关的信息。该信息被用于优化二次代价函数358,例如针对于减速度限制。运动学模型360可以具有以下状态:行程(例如,沿横向路径的弧长);速度;加速度;加加速度;等等。

图10以500示出了和cte(“偏离航迹误差”)带生成有关的横向预处理操作。如关于图7所讨论的,cte(偏离航迹误差)带被用作横向预规划器模块的操作的一部分。cte带被用来指示操作的可接受区域。cte带基于车道中央和车道边界生成并且视觉上类似于火车轨道。这些cet带以横向的离散间距出现并垂直于车道中央绘制。cte带可以被认为是在车辆中央周围的线性化的车辆工作空间。

参考图10,在处理框502处通过垂直于车道中央创建延伸到车道边界外的线来生成cte带。在处理框504处每个cte带被划分成横向从一个车道边界到另一个的一组多个点(例如,50个点)。在处理框506处,基于哪些区域是自主车辆能够安全驶入的来收缩cte带。处理框508确定在特定时间(行程上)自主车辆按照预期到多远。这通过利用先前的纵向解来执行。

处理框510找到按预测在该特定时间沿所考虑的cte带的障碍物的位置。在处理框512处,cte带被生成为使得cte带表示其中自主车辆的后车轴可以摆脱预测的障碍物行驶。在cte带上的任一点表示车辆形状的多边形(以后车轴为中心)不接触碰撞。

图11以600示出了用于确定沿横向预规划器模块所提供的横向路径的最平滑无碰撞速度分布的纵向预处理操作。处理框602使用先前的纵向规划和最近解出的横向规划以将空间量插值到时间离散内。这在处理框604处通过基于自主车辆将会在预期时间到达空间中各个位置而将道路曲率和道路变窄转换成时间来执行。

处理框606通过在每个步骤查询在该时间按预测将在纵向规划范围内的目标来识别沿路径的障碍物。这通过沿横向路径向前遍历直到识别出碰撞来确定。

处理框608在考虑其他约束条件的情况下(例如,跟随距离、横向加速度、速度限制等)求解沿横向路径的最平滑无碰撞速度分布。在该示例中,求解速度分布通过利用“内迭代”来执行,其使得空间量能收敛到时间离散内,如在处理框610处所指示的。内迭代涉及一系列的“纵向预处理”以及随后的“纵向求解”,其被重复直到空间量收敛。更具体地,纵向预处理在首个内迭代中使用先前步骤的纵向解,并且在后续的迭代中使用所获得的先前迭代纵向解。纵向解提供了新的纵向解以用于在预处理步骤的下一次迭代中使用。该过程被重复(例如,达到3次)以实现收敛。

图12以106示出了路径跟随器系统。路径跟随器系统106连接真实生活(例如,平滑的局部姿态)与沿规划的理想车辆定位(例如,“幽灵姿态”)。如果定位系统702跳动或者低级控件系统108有错误,则路径跟随器系统106通过由当前位置求解动力学可行的再入规划来将其校正到实际规划。

类似于运动规划器系统104,路径跟随器系统106同样被分解成712的纵向处理和716的横向处理,它们各自被公式表示为二次优化问题,如以714和718所指示的。路径跟随器系统106以50hz运行,其为平滑的局部姿态的频率。初始位置来自定位并且被用于确定横向和纵向再入误差。

样条曲线库710从规划系统102、定位系统702以及里程计704接收输入数据以便同时确定横向再入误差和纵向再入误差。样条曲线库710通过计算沿样条曲线化的路径到车辆当前位置的最接近点来实现此目的。该点基于车辆的当前前进方向被分解成横向和纵向分量。(除了样条曲线之外)也可以使用替代的插值方法。

横向再入规划器模块712使用空间离散化的优化来校正横向再入误差。该优化确定了将跟随细长车辆路径的的最优曲率、前进方向以及cte轨迹。横向再入规划器模块712使用和以上所述横向预规划器模块类似的运动学模型以及类似的曲率约束条件(但是,在稍微更为“开放”或容许的级别上)。

纵向再入规划器模块716使用时间离散化的优化来校正纵向再入误差。该优化确定了将跟随车辆路径的的最优加速度/速度/行程轨迹。纵向再入规划器模块716使用和以上所述纵向预规划器模块类似的运动学模型以及类似的加速度和加加速度曲率约束条件(但是,在稍微更为“开放”或容许的级别上)。

来纵向再入规划器模块712和横向再入规划器模块716的解被合并在一起以在720处生成局部规划,其被用作低级控件系统108的参考。局部规划可以包含时间、位置(x,y)、速度、加速度、前进方向、曲率以及曲率的导数。

图13和图14示出了低级控件系统108的部件。参考图13,低级控件系统108求解期望的转向角度和油门/制动扭矩以跟踪在720处生成的给定局部规划。低级控件系统108以100hz运行。在低级控件系统108内,横向控制器802获得局部规划并求解期望曲率。横向控制器802映射成转向角度以用于在控制电动转向120过程中使用。

纵向控制器804利用pid(比例-积分-微分)以及以下关于图14所述的前馈方法来求解期望油门或制动扭矩。电子制动控制模块122在其控制操作中使用所求解的期望制动扭矩。发动机控制模块124按照类似的方式使用所求解的期望油门值。纵向控制器804通过沿局部规划预测预期量的延迟来解决致动器延迟。纵向控制器804利用pid以及如图14中所示的前馈方法来求解期望油门或制动扭矩。

图14示出了用于与低级控件系统108的纵向控制器804一起使用的控制系统。纵向控制器804从里程计704接收参考速度和速度估计以便求解期望加速度。来自里程计的704的数据是基于来自车辆的imu(例如,包含陀螺仪和加速度计的惯性测量单元)和车轮角度编码器的测量值。这些为姿态(例如,滚动、俯仰和偏航)、速度、加速度等提供了非线性状态估计。

控制系统具有在速度误差加上前馈项900周围的控制回路902(例如,比例-积分-微分(pid)回路),该前馈项解释局部规划的预测加速度以及来自里程计704的俯仰。期望加速度随后由模型904转换成用于车辆特定接口906的期望输入。例如,针对特定车辆模型类型的输入可以是油门或制动扭矩,它们利用基于车轮直径和车辆质量的模型进行转换。对于不同的车辆模型类型,输入可以是制动和油门踏板位置的百分比,其通过模型904由期望加速度转换。用于模型904的其他参数包括车辆质量、车轮半径、动力传动系的集中惯性、空气动力阻力项、滚动阻力项、转弯时由于轮胎滑动引起的阻力等。

由模型904所生成的命令通过车辆的总线发送给推进和制动控制单元。控制单元调节电机电流、再生制动负载以及摩擦制动卡钳压力以便车辆906跟随正确计算的车辆路径。

规划系统102管理路径预规划操作。规划系统102生成针对车辆横向控制考虑因素(例如,转向控制)的预规划数据103和针对纵向控制考虑因素(例如,制动和油门控制)的预规划数据103。预规划数据103可以包括道路信息、在车辆环境中所跟踪的目标的定位/大小等。来自规划系统102的此类数据103通过由车辆传感器系统、数据存储装置(例如,地图信息)等提供的数据等导出。

如以上关于图4所讨论的,规划系统102管理路径预规划操作。规划系统102生成针对车辆横向控制考虑因素(例如,转向控制)的预规划数据103和针对纵向控制考虑因素(例如,制动和油门控制)的预规划数据103。预规划数据103由车辆传感器系统所提供的数据导出。图15示出了以950标示的用于示范性自主车辆952的的车辆传感器系统的示例。以950标示的车辆传感器系统包括分布在车辆952周围的多个雷达装置954a、分布在车辆952周围的多个相机954b以及分布在车辆952周围的多个激光雷达装置954c。在车辆传感器系统28中传感器的这种组合获取了用于环境和目标检测及分析的信息。可以使用许多不同类型的传感器配置,例如如图15中所示。

雷达装置954a设置在车辆952的不同位置处,并且在一个实施例中,围绕车辆952的纵向轴线对称地设置以获得视差。雷达装置954a中的每一个可以包括或包含部件,该部件被适当配置为水平地且旋转地扫描环境以生成由其他系统所消耗的雷达数据。

相机954b同样被设置在不同的位置处并且定向成提供捕获车辆952附近的周围环境的不同部分的不同视场。例如,第一相机954a定位在车辆952的左前(或驾驶员)侧并且其视场相对于车辆952的纵向轴线沿前向方向逆时针45°定向,而另一相机954b可以定位在车辆952的右前(或乘客)侧并且其视场相对于车辆952的纵向轴线顺时针45°定向。另外的相机954b定位在车辆952的左后侧和右后侧并且类似地相对于车辆纵向轴线以45°远离纵向轴线定向,同时相机954b定位在车辆952的左侧和右侧并且垂直于车辆纵向轴线远离纵向轴线定向。所示实施例还包括一对相机954b,其定位在车辆纵向轴线处或附近并且定向成捕获沿大体上平行于车辆纵向轴线的视线的前向观察视场。

在示范性实施例中,相机954b具有不同于一个或多个其他相机954b的那些的视角、焦距以及其他属性。例如,在车辆右侧和左侧的相机954b的视角可以大于与定位在车辆的左前、右前、左后或右后的相机954b相关联的视角。在一些实施例中,相机954b的视角被选择成使得不同相机954b的视场至少部分相重叠,以确保相机覆盖相对于车辆952的特定定位或定向。

激光雷达装置954c设置在车辆952的不同位置处,并且在一个实施例中,围绕车辆952的纵向轴线对称地设置以获得视差。激光雷达954c中的每一个可以包括或包含一个或多个激光器、扫描部件、光学装置、光电检测器以及被适当配置为利用特定角频率或旋转速度水平地且旋转地扫描车辆952附近的环境的其他部件。例如,在一个实施例中,每个激光雷达装置954c配置为水平低旋转并以10赫兹(hz)的频率360°扫描。如本文所使用的,激光雷达扫描应当被理解为是指激光雷达装置954c的单次旋转。

在本文所述的示范性实施例中,相机954b捕获图像的频率或速率大于激光雷达装置954c的角频率。例如,在一个实施例中,相机954b以30hz的速率捕获对应于其相应视场的新图像数据。由此,每个相机954b每次激光雷达扫描可以捕获多个图像,并且独立于激光雷达装置954c的定向或扫描内的角位置在不同时间捕获图像。相应地,本文所述的主题选择或以其他方式识别来自每个相应相机954b的的图像,其基于由该相应相机954b捕获的图像的时间戳与来自特定激光雷达扫描的点云数据相关联,该时间戳相对于激光雷达扫描的角位置和大体上平行于相应相机954b的视角的平分线(或视线)对准的激光雷达装置954c的视线的采样时间。

自主车辆952使用来自这些不同类型传感器的信息来跟踪在车辆附近的目标的三位定位和几何形状。在一个示范性实施例中,自主车辆952可以生成或使用此类跟踪作为目标的三位定位、目标距离车辆的距离/深度、目标的尺寸和形状、目标的速度等以用于确定车辆的路径。

尽管在前面的详细描述中已经提出了至少一个示范性实施例,但是应该理解的是仍存在大量的变型。还应该理解的是,示范性实施例或多个示范性实施例仅是示例,而并非旨在以任何方式限制本公开的范围、适用性或配置。而是,前面的详细描述将为本领域技术人员提供用于实现示范性实施例或多个示范性实施例的便利路线图。应当理解的是,在不脱离如所附权利要求及其合法等同物所阐述的本公开的范围的情况下,可以在元件的功能和设置上做出各种改变。

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