使用感知系统措施管理前进路径的自动驾驶复杂度的制作方法

文档序号:18407811发布日期:2019-08-10 00:34阅读:204来源:国知局
使用感知系统措施管理前进路径的自动驾驶复杂度的制作方法

本公开一般涉及车辆的自动驾驶系统,并且具体地涉及使用感知系统复杂度信息来支持有条件和高自动化水平。



背景技术:

自主车辆可以以各种操作模式操作。例如,在“全自动”操作模式(有时被国家公路运输安全局(nhtsa)称为5级自动化)中,计算系统用于沿着行驶路线导航和/或操纵车辆而没有来自人类驾驶员的输入。在“半自动”操作模式(每个nhtsa的3级自动化)中,车辆可以执行完全自动驾驶功能,但可能需要在各种情况下进行人为干预,或者可能要求驾驶员进行控制(在响应中允许一些延迟)。存在各种其它操作模式,其有助于诸如防抱死制动、电子稳定性控制、车道保持等功能。此外,在一个或多个操作模式中,组合多个功能,诸如自适应巡航控制和车道保持的组合,以使汽车自身驱动但需要持续的人工监视和快速干预;或从车辆外部监视自行停车。

为了便于这种自动功能,车辆配备有传感器,该传感器被配置为检测关于周围环境的信息,包括环境中对象的存在。可以将检测到的信息发送到计算系统。不同的操作模式和驾驶场景可以使用不同类型和数量的计算资源。3级系统基于驾驶环境的增加复杂度来预测何时需要未来的驾驶员接管。由于当车辆遇到某些情况时涉及潜在的计算复杂度,4级自动驾驶系统目前仅限于小型地理围栏区域和低速操作。因此,这些系统还使用关于即将到来的环境的复杂度的细节,以便以使系统能够完成其任务的方式分配计算资源。

因此,期望提供改进的车辆自动化系统,其能够跟踪整体驾驶复杂度以预测何时自动驾驶功能可能变得不可用(为了驾驶员接管或利用弹性计算资源)。所提出的技术还可以用于根据所确定的操作模式自动确定使用哪种操作模式并分配计算资源,并且进一步基于可用的计算资源切换操作模式。



技术实现要素:

描述了用于控制车辆的自动驾驶系统的技术方案。示例方法包括计算沿着车辆行驶的路线的即将到来的区域的复杂度度量。该方法进一步包括,响应于复杂度度量低于预定的低复杂度阈值,使用车辆的计算系统确定车辆在即将到来的区域中行驶的轨迹。此外,该方法包括响应于复杂度度量高于预定的高复杂度阈值,指示外部计算系统确定车辆在即将到来的区域中行驶的轨迹。如果轨迹不能由外部计算系统确定,则执行车辆的最小风险条件操纵。

在一个或多个示例中,该方法进一步包括:响应于复杂度度量在低复杂度阈值和高复杂度阈值之间,通过重新分配车辆的计算系统的计算资源来调节车辆的计算系统,并且指示车辆的所调节的计算系统确定车辆在即将到来的区域中行驶的轨迹。如果计算系统不能确定轨迹,则执行车辆的最小风险条件操纵。

在一个或多个示例中,计算复杂度度量包括基于由车辆的一个或多个传感器捕获的传感器数据来计算个体传感器的复杂度度量。此外,计算复杂度度量包括基于传感器融合数据计算传感器融合复杂度度量,该传感器融合数据基于由车辆的一个或多个传感器捕获的传感器数据确定。此外,计算复杂度度量包括基于来自传感器数据的稳定跟踪的对象数量和由车辆的一个或多个传感器跟踪的对象的总数来计算对象跟踪复杂度度量。在一个或多个示例中,复杂度度量被计算为其中pi是包括使用来自车辆的一个或多个传感器的传感器数据计算的环境因子或复杂度值的第i个参数,wi是与第i个参数相关联的权重,并且m是参数的总数。在一个或多个示例中,基于由车辆的一个或多个传感器捕获的传感器数据的时间序列分析,使用机器学习来计算复杂度度量。

此外,该方法包括生成针对车辆的驾驶员的警报,以在到达即将到来的区域之前至少在预定时间间隔内控制车辆。

根据一个或多个实施例,描述了一种车辆的自动驾驶系统。该系统包括一个或多个对象传感器、计算系统和与一个或多个传感器和计算系统耦合的控制器,该控制器被配置为确定自动驾驶系统的操作模式。确定操作模式包括以下中的至少一个:确定车辆沿着车辆行驶的路线在即将到来的区域中行驶的轨迹,使用车辆的内部计算系统确定轨迹,以及指示外部计算系统确定车辆在即将到来的区域中行驶的轨迹,并且如果轨迹不能由外部计算系统确定,则执行车辆的最小风险条件操纵。

此外,确定操作模式包括通过重新分配车辆的计算系统的计算资源来调节车辆的计算系统。此外,它包括指示车辆的所调节的计算系统确定车辆在即将到来的区域中行驶的轨迹。此外,如果轨迹不能由计算系统确定,则其包括执行车辆的最小风险条件操纵。

在一个或多个示例中,控制器计算即将到来的区域的复杂度度量,其中计算复杂度度量包括基于由一个或多个传感器捕获的传感器数据计算个体传感器的复杂度度量。例如,计算复杂度度量包括基于传感器融合数据计算传感器融合复杂度度量,该传感器融合数据基于由一个或多个传感器捕获的传感器数据确定。

此外,计算复杂度度量包括基于来自传感器数据的稳定跟踪的对象数量和由车辆的一个或多个传感器跟踪的对象的总数来计算对象跟踪复杂度度量。在一个或多个示例中,复杂度度量被计算为其中pi是包括使用来自车辆的一个或多个传感器的传感器数据计算的环境因子或复杂度值的第i个参数,wi是与第i个参数相关联的权重,并且m是参数的总数。在一个或多个示例中,基于由车辆的一个或多个传感器捕获的传感器数据的时间序列分析,使用机器学习来计算复杂度度量。

此外,在一个或多个示例中,控制器生成针对车辆的驾驶员的警报,以在到达即将到来的区域之前至少在预定时间间隔内控制车辆。

根据自动车辆的一个或多个实施例进行描述。自动车辆包括通信系统和与通信系统耦合的控制器。控制器通过执行包括计算沿着车辆行驶的路线的即将到来的区域的复杂度度量的方法来确定自动驾驶系统的操作模式。该方法进一步包括,响应于复杂度度量低于预定的低复杂度阈值,使用车辆的计算系统确定车辆在即将到来的区域中行驶的轨迹。此外,该方法包括响应于复杂度度量高于预定的高复杂度阈值,指示外部计算系统确定车辆在即将到来的区域中行驶的轨迹。如果轨迹不能由外部计算系统确定,则执行车辆的最小风险条件操纵。

在一个或多个示例中,响应于复杂度度量在低复杂度阈值和高复杂度阈值之间,控制器通过重新分配车辆的计算系统的计算资源来调节车辆的计算系统,并指示车辆的所调节的计算系统确定车辆在即将到来的区域中行驶的轨迹。如果计算系统不能确定轨迹,则执行车辆的最小风险条件操纵。

在一个或多个示例中,计算复杂度度量包括基于由车辆的一个或多个传感器捕获的传感器数据来计算个体传感器的复杂度度量。此外,计算复杂度度量包括基于传感器融合数据计算传感器融合复杂度度量,该传感器融合数据基于由车辆的一个或多个传感器捕获的传感器数据确定。此外,计算复杂度度量包括基于来自传感器数据的稳定跟踪的对象数量和由车辆的一个或多个传感器跟踪的对象的总数来计算对象跟踪复杂度度量。在一个或多个示例中,复杂度度量被计算为其中pi是包括使用来自车辆的一个或多个传感器的传感器数据计算的环境因子或复杂度值的第i个参数,wi是与第i个参数相关联的权重,并且m是参数的总数。在一个或多个示例中,基于由车辆的一个或多个传感器捕获的传感器数据的时间序列分析,使用机器学习来计算复杂度度量。

此外,在一个或多个示例中,控制器生成针对车辆的驾驶员的警报,以在到达即将到来的区域之前至少在预定时间间隔内控制车辆。

从以下结合附图的详细描述中,本公开的上述特征和优点以及其它特征和优点将变得显而易见。

附图说明

其它特征、优点和细节仅作为示例在以下详细描述中出现,该详细描述参考附图,在附图中:

图1示出了根据一个或多个实施例的具有自动驾驶系统的车辆;

图2描绘了根据一个或多个实施例的车辆行驶的示例场景;

图3描绘了根据一个或多个实施例的用于控制自动车辆的方法的示例数据流;

图4描绘了根据一个或多个实施例的用于确定操作模式切换的时序分析的示例实施方式;以及

图5描绘了根据一个或多个实施例的用于控制自动车辆的示例方法的流程图。

具体实施方式

以下描述本质上仅是示例性的,并不旨在限制本公开、其应用或用途。应该理解的是,在整个附图中,对应的附图标记表示相同或对应的部分和特征。如本文所使用的,术语模块指的是处理电路,该处理电路可以包括专用集成电路(asic)、电子电路、处理器(共享、专用或组)和执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能的其它合适组件。

通常,自动或自主车辆包括安全关键控制功能的至少一些方面,例如转向、油门或制动,在没有直接驾驶员输入的情况下发生。在一个或多个示例中,在这种情况下,向驾驶员提供安全警告但不执行控制功能的车辆不被认为是自动化的,即使提供该警告所需的技术涉及不同程度的自动化。自动车辆可以使用车载传感器、相机、全球定位系统(gps)和电信来获得环境信息,以便关于安全关键情况做出判断,并通过在一些自动化级别实现控制来适当地操作。

车辆自动化已经由国际汽车工程师协会(sae)分类,范围从saej3016tm中的无自动化到全自动化-公路机动车辆中的驾驶自动化级别的分类。通常,saej3016tm级别和定义包括0级-无自动化:人类驾驶员对动态驾驶任务的所有方面的全职性能,即使通过警告或干预系统进行增强;1级-驾驶员辅助:使用关于驾驶环境的信息以及期望人类驾驶员执行动态驾驶任务的所有剩余方面的转向或加速/减速的驾驶员辅助系统的驾驶模式特定执行;2级-部分自动化:使用关于驾驶环境的信息并且期望人类驾驶员执行动态驾驶任务的所有剩余方面的转向和加速/减速二者的一个或多个驾驶员辅助系统的驾驶模式特定执行;3级-有条件的自动化:期望人类驾驶员将对干预请求做出适当响应的动态驾驶任务的所有方面的自动驾驶系统的驾驶模式特定性能;4级-高自动化:动态驾驶任务的所有方面的自动驾驶系统的驾驶模式特定性能,即使人类驾驶员没有对干预请求做出适当响应;以及5级-全自动化:在所有道路和可由人类驾驶员管理的环境状况下的动态驾驶任务的所有方面的自动驾驶系统的全职性能。

例如,在saej3016tm称为5级自动化的“全自动化”操作模式中,计算系统用于沿着行驶路线导航和/或操纵车辆而没有来自人类驾驶员的输入。该模式下的完全自动化执行所有安全关键的驾驶功能并监视整个行程的道路状况,并且可能仅需要驾驶员提供目的地或导航输入,而不是在行程期间的任何时间进行控制。这种全自动化包括有人和无人的自主车辆。

在“半自动”操作模式(2/3级自动化)中,车辆可以执行完全自动驾驶功能但在各种情况下需要人为干预或者可以请求驾驶员进行控制(在响应中允许一些延迟)。较低级别的操作模式便于如防抱死制动、电子稳定性控制、车道保持等功能。此外,在一个或多个操作模式中,组合多个功能,诸如自适应巡航控制和车道保持的组合,以使汽车自身驱动但需要持续的人工监视和快速干预;或从车辆外部监视自行停车。

然而,由于涉及潜在的计算复杂度,4级自动驾驶系统的开发和测试目前仅限于小的地理围栏区域和低速操作。4级系统的广泛部署受到无法在所有运营设计领域发挥作用的挑战。本文描述的技术方案通过使用驾驶复杂度趋势信息来实现3级功能或经由卸载4级自动化处理所使用的计算操作来克服4级系统的限制,从而解决了自动驾驶系统的这种技术挑战。

如前所述,为了便于自动化功能,车辆配备有传感器,该传感器被配置为检测关于周围环境的信息,包括环境中对象的存在。检测到的信息被发送到计算系统。不同的操作模式使用不同类型和数量的计算资源。本文描述的技术方案确定不同操作模式使用的计算资源。此外,技术方案确定可用信息量,并预测分析不同操作模式的可用信息所需的计算资源。基于可用的计算资源和可用信息的数量和/或类型,本文描述的技术方案有助于确定要使用的操作模式,并且如果需要,从当前操作模式切换到确定的操作模式。

本文描述的技术方案通过预测何时由于环境的复杂度增加而无法获得自动驾驶功能而便于自动车辆启用并提供3级功能。可替代地或另外地,当环境变得太复杂而不能使车辆中配备的计算系统协商时(“求救”),自动车辆可以通过从车外计算系统获得支持来维持5级功能。可替代地或另外地,自动车辆可以通过在困难环境中智能地分配车辆中配备的计算系统或车外计算系统中的计算资源来维持5级功能,以聚焦于感兴趣的区域。应当注意,本文描述的技术方案还有助于自动车辆从上面列出的那些操作模式之外的其它操作模式往返切换,这些仅仅是几个可能的示例。

现在参考图1,根据一个或多个实施例描绘了自动车辆。图1示意性地示出具有自动驾驶系统122的车辆120。自动驾驶系统122通常包括传感器系统124、控制系统126和通信系统128。应当理解,尽管特定系统是单独定义的,但是每个或任何系统可以经由硬件和/或软件以其它方式组合或分离。

传感器系统124可包括可操作以识别与车辆120相关联和在其周围的状况的各种传感器。在一个或多个示例中,传感器系统124包括周围监视器系统,该周围监视器系统包括但不限于诸如图像传感器、radar、sonar、lidar等的传感器。应当理解,可以可替代地或另外地提供各种传感器。

控制系统126通常包括处理器142、存储器144和接口146。控制模块40可以是中央车辆控制器、独立单元或诸如基于云的系统的其它系统的一部分。处理器142可以是具有期望性能特性的任何类型的微处理器,并且存储器144可以包括存储本文描述的数据和控制算法的任何类型的计算机可读介质。接口146便于与其它系统(诸如传感器系统124,通信系统128)和安全关键控制系统(诸如制动系统150、转向系统160和油门系统170)进行通信,以响应于控制算法,提供车辆120的选择性自动驾驶控制。

在一个或多个示例中,驾驶员可以通过驾驶员车辆接口(dvi)180与控制系统126交互。dvi180可以包括具有触摸屏、小键盘或其它接口的仪表板以及方向盘、踏板、变速器和/或其它车辆控制接口。应当理解,未示出用于相应安全关键控制系统150、160、170的车辆控制接口,并且可以利用各种接口来提供车辆120的手动和自动驾驶操作。

通信系统128可以可操作以从车外系统接收信息,该车外系统提供控制算法的信息以包括但不限于交通信息、天气信息、位置信息和可以便于车辆120的控制和导航的其它这种信息。控制算法可操作以根据例如由诸如国家公路交通安全管理局(nhtsa)和saeinternational的机构分类的车辆自动化范围(从自动化0级到自动化5级)来提供车辆120的选择性自动驾驶控制。应当注意,自动化级别的替代分类/命名方案可以在其它实施例中使用。

自动化0级-无自动化:驾驶员在主要车辆控制装置的所有时间处于完全且唯一的控制之下,并且全权负责监视道路和安全操作。主要车辆控制装置是制动、转向和油门。具有驾驶员便利系统但不具有转向、制动或油门控制权限的车辆仍将被视为“自动化0级”车辆。驾驶员便利系统的示例包括前方碰撞警告、车道偏离警告、盲点监视以及用于自动二级控制的系统,诸如雨刷、前灯、转向灯、危险警告灯等。

自动化1级-功能特定的自动化:该自动化级别涉及一个或多个特定控制功能。如果多个功能是自动化的,则它们独立操作。驾驶员具有全面控制权,并且全权负责安全操作,但可以选择通过主要控制(诸如自适应巡航控制)来放弃有限的权限。自动化自动驾驶系统可以在某些正常驾驶或即将发生碰撞的情况下提供额外的控制,例如在紧急情况下的动态制动支持。车辆可能具有多种功能,该功能结合了单独的驾驶员支持和防撞技术,但不会取代驾驶员的警惕性,并且也不会承担驾驶员的驾驶责任。自动化1级可以辅助或增强驾驶员,但是没有系统的组合一致地操作以使驾驶员能够通过将手从方向盘离开和脚同时离开踏板而脱离物理操作车辆。功能特定的自动化系统的示例包括:巡航控制、自动制动和车道保持。

自动化2级-组合功能自动化:该自动化级别涉及至少两个主要控制功能的自动化,该主要控制功能被设计为一致地工作以减轻驾驶员对这些功能的控制。当驾驶员在某些有限的驾驶情况下放弃主动主控制时,自动化2级可以利用共享权限。驾驶员负责监视道路以安全操作,并且预计可随时在短时间内进行控制。该自动化级别可以放弃控制而无需提前警告,并且驾驶员必须准备好安全地控制车辆。启用自动化2级的组合功能的示例是自适应巡航控制与车道对中相结合。自动化1级和自动化2级之间的主要区别在于,在系统设计的特定操作状况下的自动化2级,驾驶员脱离物理操作车辆,手离开方向盘并且同时脚离开踏板。

自动化3级-有限的自动驾驶自动化:该自动化级别使得驾驶员能够在某些交通或环境状况下放弃所有安全关键功能的完全控制,以及在那些状况下严重依赖车辆来监视那些需要转换回驾驶员控制的条件的变化。该车辆被设计为确保在自动驾驶模式期间的安全操作,并且预期驾驶员可用于偶尔控制,但具有足够舒适的过渡时间。示例是如下的自动车辆,其可以确定系统何时不再能够支持自动化,诸如来自即将到来的施工区域,并且然后向驾驶员发信号以重新进入驾驶任务。自动化2级和自动化3级之间的主要区别在于,在自动化3级,预计驾驶员不会持续监视道路。

4级-高自动化:动态驾驶任务的所有方面的自动驾驶系统的驾驶模式特定性能,即使人类驾驶员没有对干预请求做出适当响应。

自动化5级-完全自动驾驶自动化:该自动化级别执行所有安全关键的驾驶功能并监视整个行程的道路状况。这种设计预期驾驶员提供目的地或导航输入,但预计在行程期间的任何时间都不可用于控制。自动化4级允许有人和无人车辆,因为安全操作仅依赖于自动车辆系统。

应当理解,尽管上述自动化级别在本文中用于描述目的,但是可以另外或可替代地提供其它描述。然而,甚至本文描述的自动化级别的复杂度可能导致操作边界和驾驶员交互责任的不明确划分。在本文的描述中,“3级”用于表示部分自动化级别,诸如1-3级,并且4级用于表示高自动化级别,诸如4-5级。

本文描述的技术方案通过基于增加的驾驶复杂度指示何时将需要驾驶员输入来支持自动化3级系统,并且通过指示何时需要利用弹性计算资源来维持4级操作来支持自动化4级系统。例如,操作模式和驾驶复杂度趋势信息用于预测所需的接管操作(3级功能)或经由将计算卸载到车外计算机系统190或经由重新分配车载计算资源来克服车载计算系统的限制。

车外计算机系统190可以是计算机服务器,或与车辆120“车载”的控制系统126分离的任何其它计算系统。与控制系统126相比,车外计算机系统190可以更强大,例如,具有更快的处理器,具有更多的存储器,具有附加的计算资源,诸如图形编程单元(gpu)、人工神经网络(ann)芯片等。

图2描绘了根据一个或多个实施例的车辆行驶的示例场景。自动车辆120沿着路线200行驶,该路线200可以被分成一个或多个路径段或区域。车辆120当前处于路线200的区域210中。控制系统126基于当前车辆运动学(速度、加速度等)可以预测未来时间(例如t2)的车辆120的区域220。预测区域220可以在预定时间间隔t2(诸如2分钟、1分钟、15分钟等)之后接近。在一个或多个示例中,时间间隔t2是可调节的。

应当理解,尽管路线200和区域210和220被描绘为具有“直线”,但是路线和/或区域可以包括弯曲的路段、转弯、交叉路口、停车场、公路出口坡道、公路入口坡道、越野(泥土)区段、高乘载车辆(hov)车道或任何其它特定类型的路线元素。

控制系统126跟踪车辆20正在接近的区域220的环境信息的复杂度。基于复杂度,控制系统126监视并确定用于即将到来的区域220中的自动驾驶系统的操作模式。例如,控制系统126基于复杂度确定是否继续使用当前的自动化级别,诸如3级,或向驾驶员发出接管请求。可替代地或另外地,控制系统可以通过采用弹性计算方法来确定是否继续在4级自动化中操作。例如,控制系统126跟踪区域220中的静态对象(桥梁、标志等)、动态对象(车辆、行人等)以及接收过滤器附近的对象(场景复杂度的指示)。此外,控制系统126表征区域220中的环境(例如,照明、天气、地图、gps质量、无线质量)。控制系统126根据对象数据和环境测量来计算接近区域220的信息的复杂度。

在一个或多个示例中,控制系统126基于来自区域220中或在预定间隔内已经通过区域220的其它车辆的众包聚合的后端参数来调节/校准复杂度度量。此外,控制系统126将所计算的区域220的复杂度度量作为时间序列跟踪,并预测复杂度度量何时可超过车辆120在自主模式下操作的能力。如果前方区域220变得太复杂,例如如果复杂度度量超过车辆120可以实时处理以提供自动驾驶功能的预定阈值,则控制系统126基于复杂度度量的增加趋势执行缓解措施或请求接管。

图3描绘了根据一个或多个实施例的用于驾驶复杂度表征和控制自动车辆的方法的示例数据流。控制系统126执行该方法。在310处,控制系统126从车辆120的一个或多个传感器接收传感器数据并基于传感器数据计算第一复杂度度量。基于传感器数据的第一复杂度度量被计算为:

iscm=(预定阈值内的检测次数)/(检测总数)

这里,iscm是单个传感器的复杂度度量,其是基于来自车辆120的多个(n个)传感器124的传感器数据计算的第一复杂度度量。传感器的每次检测具有对应的置信度分数,并且置信度分数高于预定阈值指示检测是否在置信水平内以基于检测采取行动。传感器“s”的第一复杂度度量相应地计算具有至少置信度分数的预定阈值水平的传感器“s”的检测次数与传感器“s”的检测总数的比率。

在一个或多个示例中,针对来自传感器124的每个传感器单独计算iscm。例如,针对第一传感器(例如:前方雷达)计算iscm1,针对第二传感器(例如前方lidar)计算iscm2,针对第三传感器(例如前置相机)计算iscm3,针对第i个传感器(例如侧面雷达)计算iscmi,以及针对车辆120中的每个传感器类推。应当注意,每个传感器的置信度分数阈值可以是不同的,这是用于计算的预定值,并且可以是可调节的。

在320处,控制系统126执行传感器融合以组合从传感器124接收的输入并进一步基于传感器融合数据计算复杂度度量。传感器融合组合传感数据或从不同来源获得的数据,使得得到的信息具有比单独使用这些来源时的不确定性更小。在一个或多个示例中,对来自具有重叠视场的传感器的传感数据执行传感器融合。传感器融合复杂度度量计算为:

sfcm=(融合对象的数量)/(对象总数)

这里sfcm是基于传感器融合结果和没有传感器融合检测到的对象的传感器融合复杂度度量。sfcm被计算为作为传感器融合(其消除重复对象)的结果检测到的对象的数量与由传感器124检测到的对象的总数的比率。

此外,在330处,控制系统126执行对象跟踪并计算对象跟踪复杂度度量。对象跟踪包括从传感器124检测到的总数确定稳定跟踪的对象数量。例如,对象跟踪连续监视是否检测到的对象存在于由传感器124感测的一组连续帧中的至少预定比例的帧中。例如,考虑在帧-1中检测到对象的示例场景。为对象检测分配初始稳定性分数分数。如果在由传感器124进一步感测的一个或多个附加帧中检测到相同的对象,则可以递增或维持对象的稳定性分数。如果在连续帧中未感测到对象,则稳定性得分降低。如果对象的稳定性分数高于预定阈值,则认为对象检测的置信度足够高以做出关于基于对象操纵车辆120的决策。具有高于预定阈值的稳定性分数的对象被认为是“稳定检测到的”对象。

对象跟踪复杂度度量计算如下:

otcm=(稳定跟踪对象的数量)/(跟踪对象的总数)

这里,稳定跟踪的对象数量是在预定数量的最近帧中具有高于预定阈值的稳定性分数的对象的数量。跟踪对象的总数是在相同帧中已经跟踪的对象的数量。用于分析的帧数是可调节参数和计算时的预定值。在一个或多个示例中,帧数可以基于接收和分析传感器数据的预定间隔。

在340处,控制系统126接收图2的区域220的环境数据。环境状况包括但不限于照明状况(黑暗、明亮等)、天气状况(下雨、下雪、干燥等)、路面状况(湿滑、在建工程等)、交通状况(轻交通量、高交通量等)以及其它此类环境因子。环境因子从一个或多个来源接收。例如,使用包括在车辆120的传感器124中的光传感器来确定照明状况。可以使用配备在车辆120中的湿度传感器和/或自动雨刷的状态来确定雨天/干燥状况。此外,路面状况使用诸如相机/悬架传感器等的传感器124确定。在使用传感器124的上述示例中,控制系统126基于来自当前区域210处的传感器124的传感器数据来预测区域220中的状况。

可替代地或另外地,控制系统126从其它来源接收条件,诸如监视并为区域220提供这种数据的指定计算机服务器。例如,可以从第一来源(诸如天气计算机服务器342)接收天气状况,并且从交通计算机服务器344接收交通状况。可以包括其它这种数据源(未示出)用于接收的其它类型的数据。应当理解,以上列表是一些示例,并且在其它实施例中,可以从不同于上面列出的来源的不同来源接收不同的环境数据。

环境数据进一步包括区域220中可用的通信网络的定量属性。例如,定量属性包括但不限于信号强度、网络类型(例如4g、3g等)、服务级别等。环境数据进一步包括来自该区域的可用信息的时代,诸如经由通信网络接收的区域220中最后报告的交通/道路相关事件的时间戳。

此外,环境数据包括关于区域220中的gps网络的定量属性。例如,信噪比、gps卫星的数量、接收器类型(例如,l1/l5)、精度测量的稀释等。

环境数据进一步包括关于区域220的地图的定量属性。例如,地图属性包括地图中的道路曲率、车道数量、交叉口的数量、交叉口的复杂度(与基于车道数量的交叉口相关联的预定值,在交叉口凭经验报告的交通事故的数量等)、与该区域相关联的属性的数量(例如,x曲线+y交叉口)等。

在350处,控制系统126进一步从其它车辆120’接收复杂度信息。基于在预定间隔内行驶通过区域220的其它车辆120’来选择其它车辆120’。控制系统126经由通信系统128从其它车辆120’接收复杂度信息。

参考图3,在360处,控制系统126基于所接收/计算的一个或多个复杂度度量以及所接收/计算的一个或多个量化属性来确定场景复杂度度量。在一个或多个示例中执行场景复杂度计算为:

pi=f(x1,x2,....,xi);

这里,r是指示基于每个特性pi计算的区域220中的车辆120的自动驾驶性能的复杂度级别,该pi表示所计算/接收的复杂度度量和属性中的每一个(例如,iscm、sfcm、otcm、环境度量)。根据感兴趣的对应参数(例如雷达/相机/激光雷达、环境光等)计算每个特性pi。

在一个或多个示例中,每个特性与在计算复杂度级别r期间使用的加权值wi相关联。权重值是计算时的预定值。在一个或多个示例中,权重值是可调节的。此外,在一个或多个示例中,权重值由控制系统126例如使用基于历史数据的机器学习来动态地计算。

除了明确地将复杂度级别r建模为前面提到的那些特性的加权求和之外,诸如长期短期存储器(lstm)的机器学习技术可以在原始或处理的传感器数据的时间序列上使用以自动预测复杂度级别r。应当注意,lstm是可以用于确定驾驶复杂度结果的时间序列分析的一个示例,并且在其它实施例中,可以使用任何其它基于状态的学习算法来进行分析。该分析基于正在分析的预定间隔中的早期实例确定当前时间t的驾驶复杂度级别。

机器学习技术,诸如lstm,在没有固定方程和加权因子的情况下自动地和动态地预测复杂度级别,如上面的方程的情况。在一个或多个示例中,机器学习还使用iscm、sfcm和其它特性作为输入,并且然后基于动态学习的权重集自动学习使用这些特性来预测复杂度级别r。可替代地,在一个或多个示例中,原始传感器数据被直接发送到机器学习算法(例如:lstm),该机器学习算法可以从原始传感器数据直接预测复杂度级别r(不指定iscm、sfcm或其它特性和权重)。然后可以将复杂度级别r与预定阈值进行比较以确定驾驶性能。在一个或多个示例中,机器学习输出是由这种比较产生的驾驶性能。

图4描绘了根据一个或多个实施例的用于确定驾驶复杂度的lstm的示例实施方式。这里lstm块被堆叠在一起,其中每个lstm块405将其输出转发到下一个lstm块405。应当注意,尽管仅描绘了三个lstm块,但是在其它示例中,可以使用不同数量的lstm块。

在示例实施方式中,原始或处理的传感器数据在当前时间t被输入为时间序列410x(t)。此外,lstm块接收h(t-1)和c(t-1)作为输入,该h(t-1)是来自先前lstm单元405的输出,并且该c(t-1)是先前lstm单元405的“存储器”。每个单个lstm块405通过考虑当前输入(x(t))、先前输出(h(t-1))和先前存储器(c(t-1))来预测复杂度级别r。lstm块405生成新输出(h(t))并改变其自己的存储器(c(t))。输出根据以下表达式生成:

ft=σ(wf[ht-1,xt]+bf)

it=σ(wi[ht-1,xt]+bf)

ot=σ(wo[ht-1,xt]+bo)

ht=ot*tanh(ct)

这里,时间t的传感器数据x(t)包括从传感器124直接获得的原始数据,例如来自图像传感器的像素、来自激光雷达或雷达传感器的点云、来自温度传感器的温度信息等。可替代地或另外地,传感器数据包括处理的原始传感器数据,例如,来自图像传感器、激光雷达传感器或雷达传感器的检测对象信息和跟踪信息。可替代地或另外地,输入包括本文描述的属性,诸如加权求和方法中使用的特性。时间t的输出h(t)是预测的复杂度级别r。

lstm(或任何其它时间序列)分析有助于系统在遇到复杂情况时自动学习并通过考虑空间和时间信息生成鲁棒检测。例如,随着车辆120移动通过不同区域,时间序列分析指示区域的复杂度在一段时间内增加并且可以预测高复杂度级别r作为输出。

在上述计算中,使用m个不同的特性或通过某些机器学习方法(诸如控制系统126可以访问的lstm)来计算复杂度级别。控制系统126使用的特性可以是可调节的。例如,在一个或多个示例中,控制系统126仅使用传感器数据和传感器融合。可替代地,在一个或多个示例中,控制系统126使用来自其它车辆120’的环境数据和诸如计算机服务器的外部数据源。因此,m的值在不同的示例中可以不同。

复杂度级别r用于确定计算资源是否可用于分析可用信息以在图3的370处为车辆120提供3/4级的自动驾驶。例如,将复杂度级别r与预定阈值进行比较,并且如果r>阈值,则随着车辆120行驶通过区域220,控制系统126寻求补救措施(4级),向驾驶员发出警报(3级),或请求驾驶员接管(3级),如380处所示。

在一个或多个示例中,如果复杂度级别r小于预定阈值,则控制系统126继续通过区域220提供自动驾驶辅助。在一个或多个示例中,在390处,控制系统126将复杂度级别r与另一个阈值进行比较,检查配备在车辆120中的计算系统是否可以自己提供自动驾驶辅助。如果计算系统没有资源来执行自动驾驶辅助的分析,则在390处,控制系统126经由通信系统128寻求外部计算系统190的辅助。控制系统126例如在车辆120中可用的计算资源和外部计算系统190之间针对自动驾驶辅助分配计算资源。如果车辆120的计算系统具有分析可用信息的计算资源,则自动驾驶辅助由计算系统本身确定。然后在395处执行自动驾驶辅助。

执行自动驾驶辅助包括通过向车辆的一个或多个致动器发送对应的命令来执行车辆的一个或多个操纵,以调节车辆运动学(例如,速度、加速度、转向角等)。

在一个或多个示例中,阈值化用于确定是否发出接管请求(3级)或利用弹性计算资源(4级),或者基于复杂度级别r继续自动驾驶辅助。然而,lstm可以直接输出决策结果为h(t),而不显式地输出复杂度级别r和取决于不同实施方式偏好的阈值。

图5描绘了根据一个或多个实施例的用于确定自动驾驶复杂度和控制自动车辆的示例方法的流程图。该方法包括在510处感知车辆120的近场环境。近场环境包括车辆120当前行驶的区域210的环境数据。近场的环境数据可以从一个或多个来源获得,诸如来自传感器124的视线内的区域的传感器124。

该方法进一步包括在520处感知远程环境。通过获得超出车辆120的传感器124的范围的区域的环境数据来感知远程环境。用于远程区域(例如区域220)的环境数据使用通信系统128经由一个或多个外部数据源(诸如其它车辆、数据服务提供商等)获得。此外,在一个或多个示例中,通过使用时间序列分析和/或使用经验数据预测该区域中的环境因子来获得区域220的环境数据。

此外,该方法包括在530处分析所接收的数据以用于执行对象检测和维持对象列表以及基于对区域210和区域220的对象检测来计算环境度量。对象检测包括确定静态对象(静止的例如道路标志、建筑物)和被分析区域中的动态对象(移动的例如其它车辆、行人)。可以使用针对不同类型的传感器数据的已知对象检测技术和/或通过组合从多个传感器124获得的传感器数据来使用传感器融合技术来执行对象检测和分析。

该方法进一步包括在540处计算区域220的复杂度级别r。复杂度级别计算包括计算一个或多个不同的复杂度度量,该复杂度度量包括基于不同传感器124中的每一个传感器的复杂度(iscm)、基于传感器融合检测的复杂度(sfcm)、基于跨多个帧的对象跟踪(otcm)的复杂度等。这些复杂度中的每一个复杂度都表示如前面描述的计算中描述的特性(pi)。此外,如上所述,使用从一个或多个来源获得的环境数据,诸如交通状况、天气状况、网络状况、路面状况等来计算置信度水平r。环境因子也表示不同的特性(pi)。分配给每个特性的权重值被访问并用于计算。可替代地或另外地,可以基于诸如lstm的时间序列分析来预测复杂度级别r。

该方法进一步包括在550处预测复杂度级别r是否高于车辆120的控制系统126可以处理的用于提供自动驾驶辅助的复杂度阈值。在一个或多个示例中,比较复杂度级别r具有预定的复杂度阈值。可替代地或另外地,可以直接从lstm预测决策而不输出复杂度级别r并且明确地与预定的复杂度阈值进行比较。

如果控制系统126在计算资源本身的当前分配中确定复杂度级别对于控制系统126是可管理的,即r<低复杂度阈值,则在565处,控制系统126继续分析区域220的环境数据,并且当行驶通过区域220时为车辆提供自动驾驶辅助。分析环境数据并提供自动驾驶辅助包括通过区域220生成车辆120的轨迹。该方法由控制系统126连续执行。执行轨迹包括根据轨迹操纵车辆120。

可替代地,如果控制系统126确定复杂度级别高于计算资源的当前配置可以分析的复杂度级别,则控制系统126进一步分析复杂度级别以检查是否可以通过重新分配车辆120的计算系统内的计算资源来确定轨迹或者分析是否无法由计算系统管理。例如,控制系统126检查复杂度级别是否使得低复杂度阈值<r<高复杂度阈值。

如果复杂度级别对于控制系统126本身是无法管理的,即r>高复杂度阈值,则在552处,控制系统126可以将至少自动驾驶任务的子集卸载到另外的计算系统。卸载任务可以包括从外部计算系统190分配计算资源以执行任务子集以完成环境数据的分析来确定区域220中的车辆120的轨迹。

外部计算系统190在通过生成用于车辆120的轨迹接收到提供自动驾驶辅助的请求时,在560处指示外部计算系统190是否可以生成可导航路径。例如,外部计算系统190还可能无法在车辆120到达区域220之前生成车辆120的安全轨迹。在这种情况下,在560处,外部计算系统190向控制系统126指示不能生成可导航路径或轨迹。在这种情况下,在570处,控制系统126向驾驶员提供警报或者调用补救措施(即,执行使车辆减速/停止并且拉到道路侧面的最小风险条件操纵)。

警报向驾驶员指示需要手动接管。在一个或多个示例中,警报还指示必须采取驾驶员控制的时间间隔,诸如5秒、10秒等。可以以一种或多种方式提供警报。可以经由dvi180提供警报。可替代地或另外地,可以经由转向提供警报作为触觉反馈。可替代地或另外地,可以经由安装在车辆120中的扬声器提供警报作为音频反馈。可以在其它实施例中提供附加和/或替代形式的警报,诸如经由注册有控制系统126的驾驶员的移动装置。

在3级操作下,在指示的时间间隔之后,驾驶员必须控制用于操纵车辆120的至少任务的子集,诸如转向和加速。在4级操作下,控制系统126在最小风险条件下执行,直到驾驶员启动切换以重新接合全自动操作模式(4级)。在切换到全自动模式时,控制系统126继续执行本文描述的方法以监视车辆120的自动驾驶复杂度。

如果外部计算系统190可以生成轨迹,则在560处,外部计算系统190如此指示,并且在565处,经由通信系统128生成轨迹并将轨迹发送到控制系统126。在565处,所接收的轨迹然后由区域220的车辆120执行。该方法由控制系统126连续执行。执行轨迹包括根据轨迹操纵车辆120。

可替代地,基于复杂度比较,如果控制系统126确定区域220的复杂度低,则在554处,控制系统126执行车辆120的计算系统的计算资源的重新分配,以便于生成区域220的轨迹。例如,计算资源的重新分配可以包括改变用于分析传感数据的循环时间。在一个或多个示例中,用于分析来自面向车辆120的特定侧面(例如后面、右面)的传感器的传感器数据的循环时间减少。可替代地或另外地,用于分析面向车辆120的特定侧面的传感器的算法被改变为使用较少计算资源的算法。应该注意,可以在其它实施例中执行计算资源的任何其它调节。

因此,本文描述的技术方案有助于自动车辆的驾驶复杂度确定系统。当对于车辆的计算系统的当前配置可管理即将到来的区域的复杂度时,本文描述的技术方案进一步便于车辆的控制系统尝试继续在全自动操作模式下操作。此外,技术方案确定计算系统的不同配置(具有重新分配的计算资源)是否可以管理在即将到来的区域的全自动操作模式中生成和执行轨迹。此外,如果车辆的计算系统不能生成轨迹,则本文描述的技术方案还便于检查外部计算系统是否可用于生成车辆行驶通过即将到来的区域的轨迹。如果外部计算系统也不能在特定时间内(在车辆到达即将到来的区域之前)生成轨迹,则本文描述的技术方案便于车辆请求驾驶员干预或执行最小风险条件操纵。此外,本文描述的技术方案在到达具有预测复杂度级别的区域之前,有助于警告驾驶员至少在预定时间间隔内接管车辆的控制,在该复杂度级别中自动车辆不能生成轨迹。

本文描述的技术方案有助于基于静态对象(即,杂波)和动态元素(移动对象、环境状况:一天中的时间、一年等)来测量自动车辆的即将到来的区域的环境的复杂度。技术方案可以进一步提供即将到来的区域的复杂环境的指示,并且允许有足够的时间使驾驶员回到循环中以接管对车辆的控制(3级)或卸载/重新分配系统任务以继续在全自动操作模式(4级)中操作中。在一个或多个示例中,技术方案采用直接感测和通信来跟踪环境的增加的复杂度。此外,技术方案有助于经由dvi向adas或驾驶员提供系统置信度信息。

因此,本文描述的技术方案提高了自动驾驶系统的操作安全性。此外,本文描述的技术方案有助于改进系统用于控制车辆的计算系统。此外,本文描述的技术方案有助于控制系统生成并提供使得车辆运动学被调节(诸如使车辆以特定速度移动,以特定速率加速,在特定方向中转向等)的命令。本文描述的技术方案通过生成并向车辆中的一个或多个致动器/马达发送命令来调节车辆运动学。

应当注意,在以上描述中,阈值是几个可能的示例,并且在其它实施例中,可以使用不同的和/或更少/附加的阈值。此外,所描述的警报类型是示例,并且在其它实施例中,可以生成不同的警报。在一个或多个示例中,阈值和警报类型可以由车辆120的用户配置。

本技术方案可以是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。该计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或媒体),该指令用于使处理器执行本技术方案的各方面。

计算机可读存储介质可以是有形装置,该有形装置可以保留和存储指令以供指令执行装置使用。计算机可读存储介质可以是例如但不限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用光盘(dvd)、记忆棒等,以及任何前述的合适组合。如本文使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过电线发送的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理装置,或者经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理装置内的计算机可读存储介质中。

用于执行本技术方案的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括诸如smalltalk、c++等的面向对象的编程语言,以及诸如“c”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以完全在用户的计算机上,部分地在用户的计算机上,作为独立的软件包,部分地在用户的计算机上,部分地在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用个性化电子电路的计算机可读程序指令的状态信息来执行计算机可读程序指令,以便执行本技术方案的各方面。

本文参考根据技术方案的实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图来描述本技术方案的各方面。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生机器,使得经由计算机的处理器或其它可编程数据处理设备执行的指令创建用于实现流程图和/或一个框图块或多个框图块中指定的功能/动作的部件。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机、可编程数据处理设备和/或其它装置以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或一个框图块或多个框图块中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其它可编程数据处理设备或其它装置上,以使得在计算机、其它可编程设备或其它装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其它可编程设备或其它装置上执行的指令实现在流程图和/或一个框图块或多个框图块中指定的功能/动作。

附图中的流程图和框图示出了根据本技术方案的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或指令的一部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中提到的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者该框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行特定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。

可以说第二动作“响应于”第一动作,而不管第二动作是直接地还是间接地来自第一动作。第二动作可以在比第一动作晚得多的时间发生,并且仍然响应于第一动作。类似地,即使在第一动作和第二动作之间发生干预动作,并且即使一个或多个干预动作直接导致第二动作被执行,也可以说第二动作响应于第一动作。例如,如果第一动作设置标志则第二动作可以响应于第一动作,并且每当设置标志时第三动作稍后启动第二动作。

为澄清公众的使用并在此向公众发出通知,短语“<a>,<b>,......和<n>中的至少一个”或“<a>,<b>,......和<n>中的至少一个,或其组合”或“<a>,<b>,......和/或<n>”应在最广泛的意义上解释,取代上文或下文中的任何其它隐含定义,除非明确断言相反,短语是指从包括a,b,......和n的组中选择的一个或多个元素。换句话说,短语是指元素a,b,......或n中的一个或多个的任何组合,包括单独的任何一种元素或与一种或多种其它元素组合的一种元素,该一种或多种其它元素还可以组合包括未列出的其它元素。

还应当理解,本文示例的执行指令的任何模块、单元、组件、服务器、计算机、终端或装置可以包括或以其它方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储装置(可移动的和/或不可移动的),诸如例如磁盘、光盘或磁带。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,诸如计算机可读指令、数据结构、程序模块或其它数据。这种计算机存储介质可以是装置的一部分,或可以可访问或可连接到该装置的一部分。本文描述的任何应用或模块可以使用可以由这种计算机可读介质存储或以其它方式保持的计算机可读/可执行指令来实现。

虽然已经参考示例性实施例描述了以上公开,但是本领域技术人员将理解,在不脱离其范围的情况下,可以进行各种改变并且可以用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可以进行许多修改以使特定情况或材料适应本发明的教导。因此,意图是本公开不限于所公开的特定实施例,而是将包括落入其范围内的所有实施例。

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