本公开总体上涉及自主车辆,并且更具体地涉及用于预测自主车辆附近的车辆和对象的交通模式的系统和方法。
背景技术:
自主车辆是能够感测其环境并且以很少或不需要用户输入进行导航的车辆。它通过使用诸如雷达、激光雷达、图像传感器等感测装置来这样做。自主车辆进一步使用来自全球定位系统(gps)技术、导航系统、车对车通信、车对基础设施技术和/或线控驱动系统的信息来对车辆进行导航并且执行交通预测。
虽然近年来在导航系统和交通预测方面取得了重大进展,但是这样的系统在许多方面仍可能得到改进。例如,在正常操作期间,自主车辆通常会遇到大量车辆和其它对象,其中每一个都可能表现出其自己的难以预测的行为。即,即使自主车辆具有对道路的精确语义理解并且已经在其附近正确检测和分类对象,车辆仍然无法准确地预测在各种情况下的某些对象的轨迹和/或路径。
因此,期望提供能够预测自主车辆遇到的对象的行为的系统和方法。另外,从以下结合附图和前面的技术领域及背景技术进行的具体实施方式和所附权利要求书中将更清楚地明白本发明的其它理想特征和特性。
技术实现要素:
提供了用于控制车辆的系统和方法。在一个实施例中,交通模式预测方法包括在自主车辆内提供第一组预测策略。该方法进一步包括接收与由自主车辆观察的对象相关联的交通模式数据,该交通模式数据包括对该对象的运动学估计、对象的位置序列以及与对象附近的区域相关联的道路语义。交通模式数据还可包括与对象的形状和/或大小有关的数据。基于第一组预测策略和交通模式数据来确定对象的预测路径,并且确定对象的实际路径。如果预测路径与实际路径之间的差异高于预定阈值,则确定对象的新预测策略。基于第一组预测策略和新策略产生第二组预测策略。
在一个实施例中,运动学估计包括观察对象的速度、加速度和转弯速率中的至少一个。
在一个实施例中,交通模式数据进一步包括对该对象的物理尺寸的估计。
在一个实施例中,由远离自主车辆的服务器来执行确定新预测策略。
在一个实施例中,第一组预测策略包括多次车辆操纵。
在一个实施例中,预测路径与实际路径之间的差异是平方和差异。
在一个实施例中,道路语义包括道路标签、车道边界、车道连接性以及道路的可行驶区域中的至少一个。
在一个实施例中,一种用于控制车辆的系统包括传感器系统,其配置为观察与车辆相关联的环境中的对象;以及通信地联接到传感器系统的策略学习模块,其包括第一组预测策略。策略学习模块配置为:接收与由自主车辆观察的对象相关联的交通模式数据,该交通模式数据包括对该对象的运动学估计、对象的位置序列以及与对象附近的区域相关联的道路语义;基于第一组预测策略和交通模式数据来确定对象的预测路径;确定对象的实际路径;如果预测路径与实际路径之间的差异高于预定阈值,则确定对象的新预测策略;并且基于新策略来修改第一组预测策略。
在一个实施例中,运动学估计包括观察对象的速度、加速度和转弯速率中的至少一个。
在一个实施例中,交通模式数据进一步包括对该对象的物理尺寸的估计。
在一个实施例中,由远离自主车辆的服务器来确定新预测策略。
在一个实施例中,第一组预测策略包括多次车辆操纵。
在一个实施例中,预测路径与实际路径之间的差异是平方和差异。
在一个实施例中,道路语义包括道路标签、车道边界、车道连接性以及道路的可行驶区域中的至少一个。
根据一个实施例的自主车辆包括:传感器系统,其配置为观察与车辆相关联的环境中的对象;以及通信地联接到传感器系统的策略学习模块,其包括第一组预测策略。策略学习模块配置为:接收与由自主车辆观察的对象相关联的交通模式数据,该交通模式数据包括对该对象的运动学估计、对象的位置序列以及与对象附近的区域相关联的道路语义;基于第一组预测策略和交通模式数据来确定对象的预测路径;确定对象的实际路径;如果预测路径与实际路径之间的差异高于预定阈值,则确定对象的新预测策略;并且基于新策略来修改第一组预测策略。
在一个实施例中,运动学估计包括观察对象的速度、加速度和转弯速率中的至少一个。
在一个实施例中,交通模式数据进一步包括对该对象的物理尺寸的估计。
在一个实施例中,由远离自主车辆的服务器来确定新预测策略。
在一个实施例中,第一组预测策略包括多次车辆操纵。
在一个实施例中,预测路径与实际路径之间的差异是平方和差异。
附图说明
下文将结合以下附图描述示例性实施例,其中相同标号表示相同元件,且其中:
图1是说明根据各种实施例的具有交通模式预测系统的自主车辆的功能框图;
图2是说明根据各种实施例的具有如图1中所示的一个或多个自主车辆的运输系统的功能框图;
图3是说明根据各种实施例的与自主车辆相关联的自主驾驶系统(ads)的功能框图;
图4是有助于描述各种实施例的示例道路和车辆的俯视概念图;
图5是说明根据各种实施例的路径预测模块的数据流图;
图6是说明根据各种实施例的策略学习模块的数据流图;
图7是说明根据各种实施例的用于控制自主车辆的控制方法的流程图;并且
图8说明了用于确定对象类别的不明确对象的聚类。
具体实施方式
具体实施方式本质上仅仅是示例性的,并且不旨在限制应用和用途。另外,不存在被任何前述的技术领域、背景技术、发明内容或具体实施方式中提出的任何明确的或暗示的理论约束的意图。如本文所使用,术语“模块”是指单独地或呈任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(asic)、现场可编程门阵列(fpga)、电子电路、处理器(共享、专用或成组)以及执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能性的其它合适部件。
本公开的实施例在本文可依据功能和/或逻辑块部件和各个处理步骤来描述。应当明白的是,这些块部件可由配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实施。例如,本公开的实施例可采用各种集成电路部件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其它控制装置的控制下执行多种功能)。另外,本领域技术人员将明白的是,本公开的实施例可结合任何数量的系统来实践,并且本文所述的系统仅仅是本公开的示例性实施例。
为了简明起见,本文可不详细描述与信号处理、数据传输、信令、控制、机器学习、图像分析、神经网络、车辆运动学以及该系统(和该系统的单个操作部件)的其它功能方面有关的常规技术。另外,本文所包括的各个图式中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意的是,在本公开的实施例中可存在许多替代或附加的功能关系或物理连接。
参考图1,根据各种实施例,总体上示为100的交通模式预测系统与车辆10相关联。通常,交通模式预测系统(或简称为“系统”)100配置为基于与对象相关的观察(例如,对象位置、分类和运动学)以及关于附近道路的本质的信息(即“道路语义”)来预测那些对象的未来路径(或“轨迹”)。
如图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可为控制器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配置为预测av10附近的对象的轨迹。
通信系统36配置为向和从其它实体48(诸如但不限于其它车辆(“v2v”通信)、基础设施(“v2i”通信)、远程运输系统和/或用户装置(关于图2更详细描述)无线地传送信息。在示例性实施例中,通信系统36是配置为经由使用ieee802.11标准的无线局域网(wlan)或通过使用蜂窝数据通信来进行通信的无线通信系统。然而,诸如专用短程通信(dsrc)信道等附加或替代通信方法也被认为在本公开的范围内。dsrc信道是指专门为汽车使用以及对应的一组协议和标准而设计的单向或双向短程到中程无线通信信道。
现在参考图2,在各种实施例中,关于图1描述的自主车辆10可适用于在某个地理区域(例如,城市、学校或商业园区、购物中心、游乐园,活动中心等)的出租车或班车系统的背景下或可只需由远程系统管理。例如,自主车辆10可与基于自主车辆的远程运输系统相关联。图2说明了总体上以50示出的操作环境的示例性实施例,该操作环境包括基于自主车辆的远程运输系统(或简称为“远程运输系统”)52,其与关于图1所描述的一台或多台自主车辆10a到10n相关联。在各种实施例中,操作环境50(其全部或部分可对应于图1中所示的实体48)进一步包括经由通信网络56与自主车辆10和/或远程运输系统52进行通信的一个或多个用户装置54。
通信网络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)。一段或多段陆地通信系统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,其存储与导航系统路线有关的信息并且还可用于执行交通模式预测。
根据典型的用例工作流程,远程运输系统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处理传感器数据以及其它数据以确定车辆10遵循的路径。车辆控制系统80根据所确定的路径产生用于控制车辆10的控制信号。
在各种实施例中,控制器34实施机器学习技术以辅助控制器34的功能,诸如特征检测/分类、障碍减少、路线穿越、绘图、传感器集成、地面实况确定等。
如上面简要提及,交通模式预测系统100配置为预测av10附近的车辆和其它对象的轨迹,并且基于其对这些对象的观察来随时间迭代地改进那些预测。在一些实施例中,该功能被结合到图2的传感器融合系统74中。
就此而言,图4是可用于描述可结合图3的ads70采用的各种实施例的道路的俯视概念图。更具体地,图4说明av10沿着道路400的车道412行驶(在图中向右行驶)。图4中还说明了两个移动对象:对象431(被说明为摩托车)和对象432(被说明类似于av10的车辆)。如上所述,本主题集中于交通模式预测-即,av10可如何在给定可用于av10的信息的情况下更准确地预测对象431和432的未来路径和运动学(在本文中也称为“轨迹”)。
通常,av10配置为利用传感器数据(例如,来自图1的传感器系统28)以及可用于系统100的其它数据来随时间观察对象431和432的行为和本质。在一个实施例中,例如,可为对象431和432确定一系列位置。因此,如所示,av10适于观察对象431已经沿着可大致上由一系列点或位置441到446特征化的路径行驶,其中位置446是最后或“当前”位置(假设图4说明特定时间的快照)。类似地,对象432已经沿着由位置451到455特征化的路径前进。
av10可基于它们相应的路径和其它可用传感器数据来估计对象431和432的空间定向461和462。例如,如图4中所示,对象431似乎朝向左下方(从顶部看)定向,这符合尝试从车道414改变为车道413。相反,对象432似乎具有与符合在车道411内朝av10直行的定向。
对象位置的序列(例如,441到446和451到455)可使用本领域中已知的任何便利的数据结构和度量来表示和存储。另外,将明白的是,系统所使用的位置的分布和数量不受该示例的限制。对于对象431和432可确定任何数量的这样的位置,并且获取这样的位置的速率也可根据取决于设计考虑而变化。
根据各种实施例,估计对象431和432的大小、几何形状、尺寸和其它这样的方面。根据其它实施例,av10还配置为估计对象431和432的运动学行为。如本文所使用,应用于对象的术语“运动学行为”和“运动学估计”是指可用于特征化这些对象的运动且通常不参考产生这样的运动的力的参数和值的集合。运动学参数可包括例如对象431、432的相应速度(即,它们的速率和方向)以及对象431、432的瞬时加速度。运动学参数还可包括对象431、432的转弯速率。如本领域中已知的,这些运动学参数可以各种方式确定。
根据各种实施例,av10通常具有对道路400的语义理解(即,“道路语义”)。这样的道路语义可包括例如道路标签(例如,用于车道411到414)、车道边界、车道连接性、道路400的可行驶区域等。这样的信息可例如从通常可用于av10并且在上面结合图3描述的类型的地图数据来导出。
在各种实施例中,av10配置为利用例如应用于经由传感器系统28获取的激光雷达、雷达和图像数据的机器学习技术来观察、检测和分类对象431和432。即,在给定图4中所示的示例的情况下,av10和其各种子系统配置为分别将对象431和432分类为标准摩托车和标准轿车。随后可(例如,通过训练的机器模型)使用这种分类来帮助预测那些对象的轨迹。
现在参考图5和6。根据各种实施例的系统包括两个模块:在av10内(例如,在图3的ads70内)实施的路径预测模块520以及例如在诸如图2的系统52等离线系统内实施的策略学习模块620。
首先参考图5,路径预测模块520配置为接收对象位置(例如,位置441到446)的序列511、每个对象的运动学估计512(例如,对象431的速度和加速度)、道路语义513(如上所述)以及每个对象的分类(例如,对象431被分类为“摩托车”)。总之,输入511到514在本文中可被称为“交通模式数据”。路径预测模块520还可将可能与交通模式预测相关的任何其它可用信息结合到交通模式数据中。例如,这样的信息可包括交通信号灯状态、指示汽笛或火车喇叭的背景音频、警示灯闪烁、转向灯信号和/或在附近车辆观察到的危险信号灯等。
路径预测模块520存储或以其它方式访问一组策略501到503,如下文进一步详细描述,其允许模块520产生对应于一个或多个所观察对象的未来路径的预测的输出521。在各种实施例中,通过迭代地适应调整501到503来适应“不明确”对象类别(经由策略学习模块620,如下面进一步详细描述),模块520的准确性不断提高。
如本文中使用的术语“策略”或“预测策略”是指将对象的特性和对象的环境(例如,输入511到514的总和)作为其输入并且产生该对象的预测路径的程序、模型、标准集合等。因此,策略501到503在它们是指导方针、规则等含义中是“预测策略”,其用于基于关于类似环境和类似道路语义中的对象类型的以往了解来预测对象的行为。因此,策略501到503通常将对应于不同类别的对象和操纵,并且模块520将尝试基于输入511到514和以往的经验来选择策略501到503中最适合对象和/或操纵的策略(例如,经由监督、无监督和/或强化学习)。在一些实施例中,车辆可以彼此交互使得一台车辆的行为和/或策略可用于影响另一台车辆的策略。即,av10的策略501到503可基于附近其它自主或非自主车辆的策略和行为来交互式地修改。
例如,路径预测模块520在接收到对应于图4的对象431(即,摩托车)的输入511到514后可确定对象431最适合策略501,这对应于对象以恒定速率移动并且执行变道的情况。在这种情况下,模块521然后可产生输出(符合策略501),预测对象431将继续直线移动以改变车道,并且随后调整其定向以在新车道413内以恒定速率恢复。类似地,模块520可确定对象432最适合策略502,这对应于车辆在迎面而来的交通中加速但停留在车道内的情况。模块520然后可容易地预测对象432在近期的可能位置和运动学。将明白的是,模块520可实施任何数量的策略。
路径预测模块520(以及策略学习模块620)可使用硬件和软件的任何期望的组合来实施。在一些实施例中,模块520、620中的一个或多个实施机器学习(ml)模型。可采用各种ml技术,包括例如多元回归、人工神经网络(ann)、随机森林分类器,贝叶斯分类器(例如朴素贝叶斯)、主成分分析(pca)、支持向量机、线性判别式分析、聚类算法(例如,knn、k均值)等等。在一些实施例中,(例如,经由全体学习技术)使用多个ml模型。
应当理解的是,图5和6中所示的子模块可被组合和/或被进一步划分以类似地执行本文描述的功能。模块520、620的输入可从传感器系统28接收、从与自主车辆10相关联的其它控制模块(未示出)接收、从通信系统36接收和/或由图1的控制器34内的其它子模块(未示出)确定/建模。
现在结合图5参考图6,策略学习模块620可用于基于以往尝试预测对象轨迹来迭代地改进和/或补充策略501到503。通常,策略学习模块620配置为接收与不明确对象相关联的数据610(例如,数据611、612等)-即,与路径预测模块520的输出521相关联的数据,该输出在预测所观察对象的路径/运动学方面是不成功的-并且产生可用于补充和/或替换路径预测模块520的策略501到503的一组新策略601。输入610可对应于例如输入511到514,其之前由路径预测模块520使用来预测不明确对象的路径。
在一些实施例中,路径预测模块520(周期性地或实时地)确定哪些输出521应当被视为“不明确”,并且该数据随后被上传到离线系统,诸如图2的系统52,该系统实施策略学习模块620。以此方式,新的/改进的策略601可被提供(例如,经由系统52下载)到其它自主车辆(例如,在这样的车辆的车队内的自主车辆)。另外,可基于某些类似性(例如,运动学、道路语义、对象类别等)将类似的不明确对象“聚集”或以其它方式分类。
现在参考图7并且继续参考图1到6,流程图说明了可由根据本公开的系统100执行的控制方法700。如根据本公开可明白,该方法内的操作顺序不限于如图7中所说明的顺序执行,而是可根据需要并且根据本公开来以一个或多个不同顺序来执行。在各种实施例中,控制方法700可被安排为基于一个或多个预定事件运行,和/或可在自主车辆10的操作期间连续运行。
首先,在701处,提供一组(例如,“第一组”)策略(例如,501到503)。上面描述了策略501到503的本质,但是这些策略通常对应于这些对象的不同位置序列、运动学和类别的预期行为以及可应用的道路语义(例如,模块520的输入511到514)。在一些实施例中,提供了大量的策略;在其它情况下,假设基于经验的后续学习(通过模块620进行)将进一步填充并优化那些策略,最初使用最少数量的策略。
接下来,在702处,av10收集与在其附近观察到的对象相关联的交通模式数据。如上所述,对于每个检测到的对象,这样的交通模式数据可包括位置序列511、运动学估计512和分类514。随后或同时,系统确定(例如,召回、下载等)适用于av10正在其中操作的区域的道路语义513(例如,道路400中的车道411到414的预期布局)。
在704处,路径预测模块520尝试基于输入511到514来为每个观察对象(例如,431和432)选择“最适合”策略(例如501、502或503)。如上所述,这可使用例如通常用于解决分类问题的人工神经网络(ann)模型或其它这样的机器学习模型来实现。
接下来,在704处,模块520跟踪并确定观察对象(例如,431和432)的行为的未来,并且确定这些对象中的任何一个是否是“不明确”类被的对象。如本文所使用,术语“不明确”是指其中预测行为(如经由策略501到503确定)与实际(未来)行为相差某个预定“距离”或量的对象或对象类别。用于确定“不明确”类别的度量标准可能会有所不同。例如,该度量可基于对象的实际路径和预测路径和/或运动学值之间的差异(例如,平方和差异)。如果计算的差异高于某个预定阈值,则该对象被归类为“不明确”。
在给定一组“不明确”对象和与其相关的数据(610)的情况下,策略学习模块620然后将这些对象分组或聚类成对象类别。即,模块620检查不明确对象数据610并且尝试确定某些对象是否具有一些共同的特征。考虑例如图4中的对象431并且考虑路径预测模块520尚未学会认识到这样的对象可能以恒定速度变道的情况。即,模块520可能先前已经预测到对象431可能保持在相同车道414中,并且随后观察到它没有保持在相同车道中(使得它与预测轨迹相差超过预定量)。在这样的情况下,模块620可通过具有类似道路语义(513)的背景中的类似运动学(512)的类似对象将这种情况连同与不能预测变道有关的其它不明确对象一起分组。
在图8中说明了一种用于确定不明确对象的这种对象类别的方式。通常,该图说明了基于两个参数801和802(其可对应于例如对象类型、速度、车道形状或输入511到514的任何其它特征)在二维空间中分布的多个对象(811、812等)。将明白的是,在大多数应用中,该参数空间可包括两个、三个或更多个维度,如本领域中所已知的。尽管如此,在图8可看出,一些对象(如它们的对应数据所描述的)彼此足够接近以至于它们形成集群821,而其它对象形成集群822。模块620然后可推断集群821中的对象属于类别831,而集群822中的对象属于另一个类别832。可使用各种常规聚类技术(诸如k-最近邻、k-均值等)来实现该分组。
接下来,在707处,模块620在步骤706中确定针对针对不明确对象确定的类的新的一组策略。这可例如通过监督训练模块520使用先前确定的输入511到514和在那些对象中观察到的实际行为来实现。随后,在708处,基于新的一组策略和在701处提供的先前的“第一”策略组,向模块520提供新的一组策略。然后可在av10的操作期间连续执行步骤701到708。以此方式,该组策略将倾向于随着时间而改进和优化,从而允许模块520迭代地学习以识别和预测各种各样的对象类别的行为。
虽然前述详细描述中已经提出了至少一个示例性实施例,但是应当明白的是,存在许多变化。还应当明白的是,示例性实施例仅仅是示例并且不旨在以任何方式限制本公开的范围、适用性或配置。实情是,前文详细描述将给本领域技术人员提供用于实施示例性实施例或多个示例性实施例的便捷指引。应当理解的是,在不脱离所附权利要求书和其合法等同物的范围的情况下,可对元件的功能和设置做出各种改变。