自适应多网络车辆架构的制作方法

文档序号:26195545发布日期:2021-08-06 18:49阅读:102来源:国知局
自适应多网络车辆架构的制作方法

相关申请的交叉引用

本专利申请要求享有于2018年12月21日提交的序列号为16/230,966的美国实用专利申请的优先权。序列号为16/230,966的申请的全部内容通过引用并入本申请。



背景技术:

车辆可以连接到网络以通过远程计算设备发送和接收数据。在车辆的操作期间,网络可能会遇到拥塞,从而导致网络性能降低。降低的网络性能可能导致车辆与例如远程计算设备的通信性能欠佳。

附图说明

参照附图描述具体实施方式。在图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记来指示相似或相同的组件或特征。

图1描绘了在穿越环境的同时与远程计算设备通信的车辆的示例框图。

图2a描绘了车辆穿越示例轨迹的环境的示例顶视图。

图2b描绘了图2a的示例环境,其中随着车辆前进通过示例轨迹,沿着示例轨迹标识了位置。

图2c描绘了具有替代轨迹的图2b的示例环境。

图3描绘了用于实现本文描述的技术的示例系统的框图。

图4描绘了代表如本文所描述的自适应多网络车辆架构的一个或多个过程的流程图。

具体实施方式

本公开描述了用于车辆的自适应多网络架构的系统、方法和装置。例如,自动驾驶车辆可以连接到多个网络以发送由车辆捕获和/或确定的车辆数据。车辆数据可以包括由车辆的传感器捕获的传感器数据、车辆的诊断数据和/或指示车辆轨迹的轨迹数据。此外,车辆可以测量和/或确定与当前位置处的多个网络相关联的网络参数(也称为网络测量、信号参数和/或网络数据)以及与其他位置(在当前测量的时间和/或基于先前的映射)相关联的网络参数(或网络测量)。基于当前位置处的网络参数和/或与其他位置相关联的网络参数,车辆可以确定车辆数据中的在穿越轨迹的同时在不同位置和/或时间发送的部分。使用网络参数,车辆可以优先考虑和/或优化车辆数据的传输,并预期沿轨迹的多个网络的可用性。

车辆可以包括能够连接到一个或多个网络的多个调制解调器(也称为通信设备)。例如,车辆可以包括能够连接到第一无线网络的第一调制解调器和能够连接到第二无线网络的第二调制解调器。在一些实例中,车辆可以包括可以连接到第一无线网络和第二无线网络两者的单个调制解调器。在一些实例中,第一无线网络和第二无线网络可以与相同的无线网络提供商或不同的无线网络提供商相关联。在一些实例中,访问与不同的无线提供商相关联的多个网络可以降低穿越通过由于变化的网络覆盖而无法提供网络可用性的位置的可能性。

当车辆操作时,它可以捕获和/或确定与车辆相关联的数据(也称为车辆数据)。例如,车辆数据可以包括车辆状态数据、车辆诊断数据和车辆指标数据。例如,车辆状态数据可以指示车辆处于操作模式、待机模式和/或故障模式。车辆诊断数据可以指示电池状态/充电数据、车辆日志数据(例如,包括车辆已经接收到的操作和/或车辆已经执行的操作的数据日志)、车辆的各个组件的组件状态、和/或车辆的占用情况,尽管任何其他诊断数据也被设想。车辆指标数据可以包括当前和/或先前的转向角数据和/或当前和/或先前的加速度数据。

在一些实例中,车辆数据可以包括由一个或多个传感器捕获的传感器数据,其中传感器数据与环境相关联。一个或多个传感器可以包括渡越时间传感器、激光雷达传感器、雷达传感器、声纳传感器、图像传感器、音频传感器、红外传感器、位置传感器等,或它们的任何组合,尽管其他类型的传感器也被设想。传感器数据可以与诸如建筑物、树木、车辆、行人等之类的对象相关联。在一些实例中,传感器数据可以与道路标记和/或道路标志相关联。

使用传感器数据,车辆可以使用车辆计算设备来确定车辆要遵循并安全导航环境的轨迹。例如,轨迹可以包括沿着街道和/或道路的路径,在该路径中车辆已经确定沿其行驶是安全的。在一些实例中,车辆可以确定包括将车辆拉到路肩或路边以避免道路中的障碍物的轨迹。

当车辆穿越环境时,车辆可以发送或准备发送车辆数据中的一些或全部。例如,车辆可以将诸如位置数据之类的车辆数据发送到远程计算设备以实现对车辆的跟踪。在一些实例中,车辆可以将诸如由车辆的图像传感器捕获的图像数据之类的车辆数据发送到远程计算设备以监视车辆对环境的视角。附加地或替代地,车辆还可以接收用于驾驶的位置相关的数据,例如,用于穿越环境的一部分的地图数据和/或来自远程计算设备的命令。

如上面所讨论的,车辆可以包括能够连接到一个或多个网络的多个调制解调器。当车辆穿越环境时,车辆可以监视与网络相关联的网络参数。例如,车辆可以监视诸如带宽数据、信号强度数据、频段数据、时延数据、抖动数据和/或错误率数据之类的网络参数,尽管其他类型的网络参数也被设想。基于网络参数,车辆可以准备车辆数据进行传输。例如,网络参数可以指示车辆可以以20兆位每秒(mbps)的数据速率进行传输。作为响应,车辆可以压缩或选择车辆数据,使其不超过20mbps的数据速率或车辆数据使20mbps的数据速率饱和。

在一些实例中,车辆计算设备可以确定车辆数据的部分并且基于网络参数为车辆数据的部分指派优先级级别。例如,车辆计算设备可以关联与车辆诊断数据相关联的车辆数据的优先级级别,该优先级级别高于与图像数据相关联的优先级级别。在一些实例中,优先级可以基于车辆数据的类型是固定的,使得姿态类型的车辆数据总是比诊断类型的车辆数据具有更高的优先级。在一些实例中,优先级可以基于车辆数据和/或网络参数是动态的。在一些实例中,车辆可以具有与车辆数据的类型相关联的默认优先级方案和基于车辆数据、网络参数和/或来自远程计算设备的指令的动态优先级方案。在一些示例中,这种优先化可以是上下文相关的。作为非限制性示例,在这种车辆的标称操作期间,车辆诊断数据可以具有比其他数据类型更高的优先级。然而,当使用远程计算设备进行引导时,图像数据可能具有更高的优先级。

基于网络参数和/或优先级,车辆可以通过准备车辆数据中的要通过第一网络发送的第一部分和车辆数据中的要通过第二网络发送的第二部分来准备用于传输的车辆数据。例如,网络参数可以指示第一网络比第二网络具有更多的可用带宽(或更低的时延、更高的信号强度等)。作为响应,车辆计算设备可以确定使用第一网络发送具有较高优先级的车辆数据并且确定使用第二网络发送具有较低优先级的车辆数据。

车辆可以访问网络地图数据以确定与不同于车辆当前位置的其他位置相关联的网络参数。例如,车辆可以在穿越环境之前将网络地图数据存储在车辆计算设备处或车辆计算设备可访问的存储器中。在一些实例中,车辆可以在它穿越环境时接收网络地图数据和/或在它穿越环境时接收网络地图数据更新。在一些实例中,车辆可以将测量网络参数发送到远程计算设备并且远程计算设备可以使用测量网络参数来更新网络地图数据。基于网络地图数据,车辆计算设备可以抢先准备用于传输的车辆数据。例如,车辆地图数据可以指示沿车辆轨迹的即将到来的位置不提供网络可用性。作为响应,车辆计算设备可以在进入不具有网络可用性的位置之前准备发送更多车辆数据。在类似的示例中,在一个区域中只有一个提供商的连通性下降的情况下,车辆计算设备可能会偏置要在其他网络上发送的数据。通过另一示例的方式,车辆计算设备可以在进入网络性能降低的位置之前对要发送的数据的分辨率进行降级或以其他方式限制要发送的数据量。此外,在一些实例中,车辆计算设备可以在它穿越没有网络可用性的位置时继续确定新的车辆数据,并利用新的车辆数据的部分确定优先级级别,以便在网络变得可用时立即发送与更高优先级级别相关联的车辆数据。

在一些实例中,车辆可以从远程计算设备接收引导。例如,车辆可以通过一个或多个网络将车辆数据发送到远程计算设备。如上面所讨论的,车辆数据可以包括位置数据和传感器数据。在一些实例中,车辆可能遇到代表安全问题和/或包括不确定性的事件。车辆可以被配置为检测安全问题和/或不确定性,并且除了车辆数据之外还向远程计算设备发送请求。在一些实例中,远程计算设备可以与远程操作员相关联。远程操作员可以评估情况并为车辆提供引导。在接收到引导(和/或命令,一般而言)之后,车辆可以继续操作以便响应于事件实现安全结果。

此外,本文讨论的技术可以通过增加计算设备维持与一个或多个网络的连接和/或改进与一个或多个网络的连接的能力来改进计算设备的功能。例如,与车辆相关联的计算设备可以确定第一网络不可用,但第二网络可用。然后,计算设备可以使用第二网络发送优先数据以确保与远程计算设备的不间断通信。在一些实例中,计算设备可以确定第一网络与第二网络相比具有更低的时延和/或更高的带宽,并且可以针对更高优先级的数据使用第一网络发送数据。

因此,可以通过增加计算设备保持一致连接的能力和/或改进计算设备的数据传送性能来增加计算设备的功能。可以理解,维护和/或改进与车辆的网络连接可以改进安全结果,并且可以通过远程快速解决问题来改进乘坐质量,特别是在自动驾驶车辆的上下文中。因此,本文描述的技术可以改进计算设备的功能以及改进安全结果。

本文描述的技术可以以多种方式实现。下面参考以下附图提供示例实现方式。尽管在自动驾驶车辆的上下文中进行了讨论,但是本文描述的技术可以应用于要求确定和检测对象的各种系统,并且不限于自动驾驶车辆。在另一个示例中,系统、方法和设备可以用于航空或航海上下文中。此外,本文描述的技术可以与真实数据(例如,使用传感器捕获的数据)、模拟数据(例如,由模拟器生成的数据)或两者的任何组合一起使用。

图1示出了示例车辆102正在行驶通过的示例环境100。示例车辆102可以是无人驾驶车辆,例如,被配置为根据美国国家公路交通安全管理局发布的5级分类操作的自动驾驶车辆,该5级分类描述了能够在整个行程中执行所有安全关键功能的车辆,其中不期望驾驶员(或乘员)在任何时候控制车辆。在这样的示例中,因为车辆102可以被配置为控制从行程开始到完成的所有功能(包括所有停车功能),所以车辆102可以不包括驾驶员和/或用于驱动车辆102的控件,例如,方向盘、加速踏板和/或制动踏板。这仅仅是一个示例,并且本文描述的系统和方法可以并入任何地面、空中或水上交通工具中,包括从需要一直由驾驶员手动控制的交通工具到部分或完全自主控制的交通工具。

示例车辆102可以是任何配置的车辆,例如,厢式货车、运动型多功能车、跨界车、卡车、公共汽车、农用车辆和/或工程车辆。车辆102可以由一个或多个内燃机、一个或多个电动机、氢动力、它们的任何组合和/或任何其他合适的电源提供动力。尽管示例车辆102具有四个车轮,但本文所述的系统和方法可以并入具有更少或更多数量的车轮、轮胎和/或履带的车辆中。示例车辆102可以具有四轮转向并且可以在所有方向上大体上以相同或相似的性能特征操作,例如,使得当车辆102沿第一方向行驶时的第一端是车辆102的前端,并且当车辆102沿相反方向行驶时,第一端变成车辆102的后端。类似地,当车辆102沿第二方向行驶时的第二端是车辆的前端,并且当车辆102沿相反方向行驶时,第二端变成车辆102的后端。这些示例特征可以促进例如在狭小空间或拥挤的环境(例如,停车场和/或市区)中的更大的机动性。

如上面所讨论的,车辆102可以包括车辆计算设备104。车辆计算设备104可以包括一个或多个处理器106和通信地耦合到一个或多个处理器106的存储器108。一个或多个处理器106可以包括例如一个或多个fpga、soc、asic和/或cpu。车辆102可以用于穿越通过环境100并确定和/或捕获数据。例如,车辆计算设备104可以确定车辆状态数据、车辆诊断数据和/或车辆指标数据。在一些实例中,车辆102可以包括一个或多个传感器110,其中一个或多个传感器110可以包括一个或多个渡越时间传感器、激光雷达传感器、雷达传感器、声纳传感器、图像传感器、音频传感器、红外传感器、位置传感器、车轮编码器、imu等,或它们的任何组合,尽管其他类型的传感器也被设想。

当车辆102穿越通过环境100时,传感器110可以捕获与环境100相关联的传感器数据。例如,传感器数据中的一些可以与对象(例如,树木、车辆和/或行人)相关联。在一些实例中,传感器数据可以与包括但不限于建筑物、路面、标志、障碍物等的其他对象相关联。在一些实例中,车辆计算设备104可以确定关于环境中的对象的信息,例如,边界框、分类、分割信息等。

车辆计算设备104可以使用传感器数据来针对生成车辆102的轨迹。在一些实例中,车辆计算设备104还可以确定与车辆102的位置相关联的姿态数据。例如,车辆计算设备104可以使用传感器数据来确定车辆102在环境100中的位置数据、坐标数据和/或定向数据。在一些实例中,姿态数据可以包括xyz坐标和/或可以包括与车辆102相关联的俯仰、滚动和偏航数据。

车辆计算设备104可以通信地耦合到第一通信设备112(也称为第一调制解调器或第一通信连接)和第二通信设备114(也称为第二调制解调器或第二通信连接)。第一通信设备112可以与第一传输队列116相关联,并且第二通信设备114可以与第二传输队列118相关联。使用第一通信设备112和第二通信设备114中的一个或两个,车辆计算设备104可以经由第一通信塔120和/或第二通信塔122连接到第一网络和/或第二网络。例如,第一通信塔120可以与由第一通信设备112支持的第一网络的无线频带相关联,并且第二通信塔122可以与由第二通信设备114支持的第二网络的无线频带相关联。因此,该双调制解调器架构可以允许车辆计算设备104使用第一网络或第二网络中的任一个进行通信。

在一些实例中,第一通信设备112和第二通信设备114可以实质上相似,并且两者都可以连接到第一网络和/或第二网络。在一些实例中,第一网络和第二网络可以与相同的网络提供商和/或网络运营商相关联。在一些实例中,第一网络和第二网络可以与不同的网络提供商和/或网络运营商相关联。

当车辆102操作时,它可以将车辆数据或车辆数据的一部分发生到远程计算设备124。例如,车辆可以将诸如位置数据之类的车辆数据发生到远程计算设备124以实现对车辆的跟踪。在一些实例中,远程计算设备124可以包括服务器,该服务器将位置数据存储在数据库中。在一些实例中,远程计算设备124可以由人操作,如图1中所描绘的。例如,在操作时,车辆102可能遇到本质上不可预测的事件、代表安全问题的事件、或要求对来自例如警察或建筑工人的自发视觉提示或指示做出响应的事件。车辆102可以被配置为检测与动作相关联的不确定性(例如,通过确定与操纵和/或事件相关联的置信水平)。在标识这种不确定性时,车辆102可以向远程操作设备(例如,远程计算设备124)发送请求以获得解决不确定性并继续的引导。

根据对远程操作设备的请求,用户界面可以快速且准确地将情况通知远程操作员。在一些实例中,车辆102可以根据请求发送车辆数据(例如,传感器110捕获的传感器数据和/或操作状态数据)。响应于该请求,远程操作员可以向车辆102提供引导(其有时可以称为命令或其他信息,例如但不限于忽略某些策略、尝试和遵循的路径等)。在一些实例中,远程操作设备可以至少基于请求、传感器数据和/或车辆状态数据来确定引导。

远程计算设备124可以被配置为向车辆102提供网络地图数据。在一些示例中,这样的网络地图数据可以是标签或以其他方式的附加信息,其与地图相关联或以其他方式用于定位,如关于图3所描述的。如上面所讨论的,车辆102可以被配置为访问网络地图数据以确定与不同于车辆当前位置的其他位置相关联的网络参数。远程计算设备124可以在车辆102在环境100中操作之前提供网络地图数据和/或被配置为在车辆102穿越环境100时提供网络地图更新。在一些实例中,车辆102可以测量和/或记录由车辆在其穿越环境100时确定的网络参数并将测量网络参数发送到远程计算设备124。

在一些实例中,车辆可以使用参数索引(例如,时间参数、事件参数、位置参数和/或天气参数)来选择网络地图(包括网络地图数据)中的一部分或选择来自多个网络地图(包括网络地图数据)的一个网络地图。例如,车辆可以在下午3点接近某个位置,同时连接到与第一网络提供商相关联的第一网络和与第二网络提供商相关联的第二网络。然后车辆可以访问例如网络地图的数据库。车辆可以使用网络提供商作为参数索引并访问与第一网络提供商相关联的网络地图。然后,车辆可以使用该位置作为参数索引并访问与该位置处的第一网络提供商相关联的网络地图。随后,车辆可以使用一天中的时间作为下午3点来访问与在该位置处并且与一天中的下午3点时间相关联第一网络提供商相关联的网络地图。车辆然后可以执行相似的操作以使用相似或不同的参数索引访问与第二网络提供商相关联的网络地图。

在一些实例中,网络地图数据可以包括天气数据(例如,可能影响网络连通性的针对一个或多个季节、雨、雨夹雪、阳光、雪等的各种地图)。在一些实例中,网络地图数据可以包括将网络参数与事件相关联的事件数据。例如,网络地图数据可以指示在特定位置处的第一时间的可用带宽为50mbps,并且指示该特定位置处的第二时间的可用带宽为5mbps,其中第二时间与音乐会事件重合。无论如何,可以选择与一天中的时间、位置、天气、事件等(其可能影响网络连通性)相对应的网络地图/网络地图数据。

图2a-2c示出了具有由车辆计算设备执行的示例操作的示例环境。每个操作可以表示可以以硬件、软件或其组合实现的操作序列。在软件的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,这些计算机可执行指令当由一个或多个处理器执行时,执行引述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的次序不旨在被解释为限制,并且可以以任何次序组合任何数量的所描述的操作和/或这些操作可以是并行的以实现这些过程。例如,一些图包括诸如①、②、③等之类的编号。该编号旨在将读者定向到一种可能的操作次序,但并不旨在被解释为限制,如本文所讨论的。

图2a示出了示例环境200,其描绘了车辆202穿越轨迹204的顶视图。车辆202可以类似于以上参考图1描述的车辆102。在位置①处,车辆202可以确定与第一网络相关联的第一网络参数206,其中第一网络在第一网络区域207内提供网络覆盖。在一些实例中,网络地图数据可以指示第一网络区域207与由第一网络提供的任何量的网络覆盖相关联。在一些实例中,网络地图数据可以指示第一网络区域207与满足或超过阈值的网络参数相关联。例如,网络地图数据可以指示第一网络区域207与10mbps的带宽相关联,其中车辆202确定带宽阈值为8mbps。在一些实例中,第一网络区域207可以指示网络覆盖的梯度。例如,第一网络区域207的外部可以与较低的信号强度(或带宽)相关联,而第一网络区域207的中心部分可以与较高的信号强度(或带宽)相关联。在一些实例中,梯度可以是线性的或非线性的。在一些实例中,与第一网络区域207内的不同区域相关联的网络参数可以是统一的和/或不统一的。

如上面所讨论的,车辆202可以访问指示与环境200的各个位置处的一个或多个网络相关联的网络参数的网络地图数据以确定映射数据。为了确定测量数据,车辆202可以被配置为使用通信设备(或调制解调器)来测量车辆202的当前位置处的网络参数。

在一些实例中,网络参数可以包括带宽数据、信号强度(或场强)数据、频带数据、时间数据、时延数据、抖动数据、错误率数据和/或位置数据。带宽数据可以指示可以传送信息的最大速率。在一些实例中,带宽数据可以指示例如每秒比特数(bps)之类的数据速率。在一些实例中,带宽数据可以指示测量出的数据速率(例如,瞬时测量的和/或基于映射数据,如本文所讨论的)。例如,车辆202可以发送稳定的数据流,其中最大带宽指示100mbps的数据速率。然而,车辆202可以确定测量出的数据速率是50mbps。因此,带宽数据可以指示最大数据速率为100mbps,并且测量出的数据速率为50mbps。在一些实例中,测量出的数据速率可以称为吞吐量。

信号强度数据可以指示与网络相关联的信号的强度。例如,网络的信号强度可以以分贝-毫瓦、任意强度单位、参考信号接收功率(rsrp)和/或参考信号接收质量(rsrq)来测量。

频带数据可以指示与网络信号和/或网络相关联的射频(也称为频率、频带和/或频谱)。

时间数据可以指示与网络参数的测量相关联的一天中的时间。

时延数据可以指示网络中的延迟。例如,时延可以指示车辆202发送车辆数据和远程计算设备接收车辆数据之间的时间量。

抖动数据可以指示网络中时延的变化。

错误率数据可以指示与正确发送和接收的数据相比丢失、丢弃、不正确或损坏的数据的比率和/或百分比。

在一些实例中,车辆202可以在发送车辆数据之前估计第一网络参数206的一部分。例如,车辆202可以发送具有小的或空的有效载荷的数据分组并且将具有大的有效载荷的数据分组发送到远程计算设备。远程计算设备可以通过响应确认分组来确认对数据分组的接收。车辆202可以确定与数据分组相关联的往返时间(也称为响应时间),并通过将具有大的有效载荷的数据分组的大小除以两个数据分组的往返时间的差来估计带宽。车辆202可以使用估计的网络参数来确定在发送车辆数据之前它可以发送多少车辆数据。在一些实例中,车辆202可以被配置为在其穿越轨迹204时连续执行网络参数估计算法和/或测试。在一些示例中,这样的估计技术可以由远程计算设备发起并且由车辆202接收。例如,远程计算设备可以如上所讨论地确定往返时间并且可以将时间差值作为确认消息的有效载荷发送到车辆202。

在以上示例中的任一个中,来自网络地图数据(带宽、时延、错误率等)的预先测量出的数据可以用于预先确定通过哪些网络发送哪些数据主题(例如,车辆数据的类型/量),而测量出的(或瞬时)数据(如上面所描述的)可以用于进一步修改通过多个网络发送的主题、数据量等。

网络地图数据可以关联与当前位置不同的其他位置处的网络参数。例如,网络地图数据可以指示在位置②处,第一网络具有第一网络参数208。在一些实例中,车辆202可以使用与第一位置处的第一网络相关联的测量和/或估计网络参数和与第二位置处的第一网络相关联的网络地图数据来确定预测网络参数(也称为预测网络数据)。例如,车辆可以使用第一网络参数206来预测位置②处的第一网络的网络参数。车辆可以使用诸如卡尔曼滤波、扩展卡尔曼滤波和/或加权的平均之类的预测算法来确定预测网络参数,尽管其他类型的算法也被设想。在一些实例中,车辆202可以使用机器学习算法来确定和/或改善预测网络。

仅出于说明的目的,车辆202可以确定在位置①处的第一网络的测量可用带宽是100mbps,并且在位置①处的第一网络的映射可用带宽是200mbps(即,可用带宽是基于网络地图数据的预期带宽的50%)。此外,车辆202可以访问网络地图数据,该数据网络地图指示位置②处的第一网络的映射可用带宽是150mbps。使用网络地图数据和测量网络数据,车辆202可以确定与位置②相关联的第一网络的预测可用带宽为75兆比特。

在一些实例中,车辆202可以确定与网络地图数据和/或预测网络参数相关联的网络置信水平。例如,车辆202可以确定与当前位置相关联的测量网络参数和与当前位置相关联的网络地图数据之间的差异。基于满足或超过方差阈值的方差,车辆202可以确定与不同位置相关联的网络地图数据和/或与不同位置相关联的预测网络参数相关联的网络置信水平。

如上面所讨论的,网络地图数据可以包括将网络参数与事件相关联的事件数据。在一些实例中,车辆202可以基于当前或即将发生的事件来确定预测网络参数。仅出于说明的目的,网络地图数据可以指示当体育赛事在特定位置处发生时,可用带宽下降50%。车辆202可以确定体育赛事已经开始或将在特定位置开始,并基于已经开始或将开始的体育赛事确定预测可用带宽。

网络地图数据还可以指示与位置②相关联的第二网络参数210。例如,第一网络参数208可以与第一网络相关联并且第二网络参数210可以与第二网络相关联,其中第二网络提供在第二网络区域211内的网络覆盖。因此,仅出于说明的目的,位置①可以如所描绘的由第一网络经由第一网络区域207服务,并且位置②可以如所描绘的由第一网络和第二网络通过第一网络区域207和第二网络区域211服务。

在操作212处,车辆202可以基于第一网络参数208和第二网络参数210确定用于传输的车辆数据。例如,车辆202使用网络地图数据和/或测量网络参数基于第一网络参数206确定用于传输的车辆数据。如所描绘的,第二网络可能不提供网络可用性,或者第二网络可能不提供满足或超过网络可用性阈值的网络可用性,并且因此确定车辆数据,其中第二网络参数可以表示空值。在一些实例中,车辆202可以预先准备用于传输的车辆数据。例如,使用轨迹204和网络地图数据的车辆202可以确定它将很快进入位置②。车辆202可以识别与位置②相关联的网络参数,并且因此可以基于第一网络参数208和第二网络参数210确定用于传输的车辆数据。

例如,第一网络参数208可指示第一网络可以在位置②处提供100mbps,并且第二网络参数210可指示第二网络可以在位置②处提供10mbps。然后,车辆202可以优先处理车辆数据。例如,车辆202可以确定包括车辆姿态数据和诊断数据的车辆数据具有比图像数据更高的优先级,并且可以将姿态数据和诊断数据和与第一网络相关联的第一传输队列进行关联,并且将图像数据放在第一传输队列中靠后的位置。仅出于说明的目的,车辆202可以在尝试通过第二网络发送数据之前利用来自第一网络的可用带宽。在一些实例中,车辆还可以将图像数据放置在与第二网络相关联的第二传输队列中。这可以允许车辆202尝试通过具有较快网络连接的网络发送较高优先级数据,同时尝试通过具有较慢网络连接的网络发送较低优先级数据。在一些实例中,车辆可以确定与第一网络相关联的阈值带宽(或与不同网络参数相关联的阈值),并在达到或超过阈值带宽时通过具有较慢网络连接的网络发送较低优先级数据。

在一些实例中,车辆202可以经由第一网络和第二网络发送相同的数据。如果远程计算设备接收到相同的数据,则远程计算设备可以被配置为对数据进行重复数据删除。在一些实例中,车辆202可以提供数据正在被发送或数据可能是重复数据的指示。可以在网络连通性高度可变的区域使用数据复制,以确保接收到最高优先级的项目。

在一些实例中,车辆202可以基于网络参数确定和/或选择车辆数据。例如,在操作212处,车辆202可以压缩、裁剪或以其他方式减少将通过可用带宽发送的图像数据量。在一些实例中,车辆202可以发送图像数据的子集以减小图像数据的大小。例如,车辆202可以选择来自车辆202的第一图像传感器的图像数据并且忽略来自车辆202的第二图像传感器的图像数据。在一些实例中,车辆202可以确定图像数据中的感兴趣区域并压缩与感兴趣区域无关的图像数据部分。在一些实例中,车辆202可以通过减少车辆202每秒或每分钟向远程计算设备发送车辆数据的次数来降低传输频率。在一些实例中,车辆可以基于车辆的速度确定传输频率。仅出于说明的目的,车辆202可以在静止时不那么频繁地发送车辆数据,并且随着车辆202加速而增加传输频率。

基于由车辆202发送到远程计算设备的车辆数据,车辆202可以确定一组实用程序和/或命令,这些实用程序和/或命令由与远程计算设备相关联的远程操作员有效地使用和/或发布。在一些实例中,远程计算设备可以请求附加的车辆数据。如上面所讨论的,远程计算设备可能要求附加的车辆数据来为车辆202提供引导。

在一些示例中,当车辆202在车辆202穿越环境时确定(例如,测量)网络参数时,这样的网络参数可以并入网络地图数据中以持续地更新映射数据。

图2b示出了示例环境214,其可以类似于上面参考图2a描述的示例环境200,其中车辆202已经在其轨迹204中前进到位置②。类似于位置①,位置②处的车辆202可以确定与第一网络相关联的第一网络参数216,其包括例如映射网络参数以及测量网络参数,其中测量网络参数由车辆202测量。此外,类似地,车辆202可以确定与第二网络相关联的第二网络参数218。

在一些实例中,并且使用如上面关于位置①和②描述的类似技术,车辆202可以确定与位置③相关联的第二网络参数220以确定第二网络参数220。对于位置④,网络地图数据可以指示无网络连通性222,并且第一网络和第二网络均不提供位置④处的网络可用性。对于位置⑤,车辆可以执行类似的确定并确定第一网络参数224。因此,第一网络区域225可以提供与第一网络相关联的网络覆盖,其中第一网络在第一网络区域207和第一网络区域225处提供覆盖。

在一些实例中,车辆202可以基于在车辆当前位置处的测量网络参数和/或基于与当前位置或不同位置处相关联的网络地图数据来更新在不同位置处的预测网络参数。例如,车辆202可以基于位置②处的第二网络参数218的测量网络参数来更新位置③处的第二网络参数220的预测网络参数。因此,随着车辆202前进通过环境214,车辆可以在其他位置处持续地调整和/或改善预测网络参数。

在操作226处,车辆202可以基于第一网络参数和第二网络参数220配置用于传输的车辆数据。如上面所讨论的,车辆202可以使用在车辆的当前位置处和/或车辆的未来位置处的网络地图数据和/或测量网络参数来准备用于传输的车辆数据。如上面所讨论的,车辆202可以通过压缩车辆数据、优先处理车辆数据的部分、标识车辆数据中的感兴趣区域和/或忽略车辆数据的部分来配置车辆数据。

此外,当车辆202在穿越轨迹204的同时接近位置③时,车辆202可以基于认识到其在位置④处将不具有网络连通性来配置车辆数据。例如,车辆202可以配置车辆数据使得在接近与位置④相关的阈值距离之前,将发送车辆数据中的高于特定优先级级别的全部或大部分。

此外,车辆202可以在它穿越通过没有网络连通性的位置(例如,位置④)时配置车辆数据。例如,当车辆202穿越通过位置④时,它可以持续地计算和/或确定车辆数据。如上面所讨论的,车辆202可以确定与车辆数据的部分相关联的优先级级别并且将车辆数据的部分与和一个或多个网络相关联的一个或多个传输队列相关联。在一些实例中,车辆202可以确定车辆数据中的在传输队列中的一部分不再有效。然后,一旦车辆202进入提供网络连通性的位置,车辆202可以删除、丢弃或以其他方式移除车辆数据中的在传输队列中的部分并且可以优化发送的数据。

图2c示出了示例环境228,其可以类似于上面参考图2b描述的示例环境214。在操作230处,车辆202可以基于确定位置④不提供网络连通性来确定新轨迹232。例如,车辆202可以确定它要求通过轨迹的特定部分的网络连通性并确定新轨迹232。新轨迹232可以至少部分地基于第二网络参数234。例如,车辆202可以访问指示位置⑥处的第二网络的网络参数的网络地图数据(例如,第二网络如所描绘的在位置⑥处提供连通性,因为其落入第二网络区域211内)。然后,车辆202可以确定新轨迹232,使得其穿越通过位置⑥(而不是穿越通过位置④)并且能够例如在位置⑤处拾取原始轨迹204。在一些实例中,新轨迹232可以继续而不返回到初始轨迹204。在一些实例中,车辆202可以基于认识到沿着原始轨迹的位置不具有网络连通性来请求附加的网络地图数据。在一些实例中,车辆202可以访问已经存储在车辆中的网络地图数据以确定新轨迹232。

图3描绘了用于实现本文讨论的技术的示例系统300的框图。在至少一个示例中,系统300可以包括车辆302,其可以类似于上面参考图1描述的车辆102和上面参考图2a-2c描述的车辆202。在所示示例300中,车辆302是自动驾驶车辆;然而,车辆302可以是任何其他类型的车辆。

车辆302可以包括车辆计算设备304、一个或多个传感器系统306、一个或多个发射器308、一个或多个通信连接310(也称为通信设备和/或调制解调器)、至少一个直接连接312(例如,用于与车辆302物理耦合以交换数据和/或提供电力),以及一个或多个驱动系统314。一个或多个传感器系统306可以被配置为捕获与环境相关联的传感器数据。

传感器系统306可以包括渡越时间传感器、位置传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元(imu)、加速度计、磁力计、陀螺仪等)、激光雷达传感器、雷达传感器、声纳传感器、红外传感器、摄像机(例如,rgb、ir、强度、深度等)、麦克风传感器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)、超声波换能器、车轮编码器等。传感器系统306可以包括这些或其他类型的传感器中的每一个的多个实例。例如,渡越时间传感器可以包括位于车辆302的拐角处、前面、后面、侧面和/或顶部的各个的渡越时间传感器。作为另一个例子,摄像机传感器可以包括设置在车辆302的外部和/或内部周围的各个位置的多个摄像机。传感器系统306可以向车辆计算设备304提供输入。

如上面所描述的,车辆302还可包括一个或多个用于发射光和/或声音的发射器308。该示例中的发射器308包括用于与车辆302的乘客进行通信的内部音频和视觉发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的发射器308还包括外部发射器。作为示例而非限制,该示例中的外部发射器包括指示行进方向的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等)以与行人或其他附近车辆进行听觉交流,其中的一个或多个可以包括声束导向技术(acousticbeamsteeringtechnology)。

车辆302还可以包括一个或多个通信连接310,其实现车辆302和一个或多个其他本地或远程计算设备(例如,远程操作计算设备)或远程服务之间的通信。例如,通信连接310可以促进与车辆302上的其他本地计算设备和/或驱动系统314的通信。此外,通信连接310可以允许车辆302与附近的其他计算设备(例如,其他附近的车辆、交通信号灯等)进行通信。

通信连接310可以包括用于将车辆计算设备304连接到另一计算设备或一个或多个外部网络318(1)和/或318(2)(例如,互联网)的物理和/或逻辑接口。例如,通信连接310可以启用基于wi-fi的通信,例如通过ieee802.11标准所定义的频率、短程无线频率(例如,蓝牙)、蜂窝通信(例如,2g、3g、4g、4glte、5g等)、卫星通信、专用短程通信(dsrc)或任何合适的有线或无线通信协议,其使相应的计算设备能够与其他计算设备接合。在至少一些示例中,通信连接310可以包括一个或多个如以上详细描述的调制解调器。

在至少一个示例中,车辆302可以包括一个或多个驱动系统314。在一些示例中,车辆302可以具有单个驱动系统314。在至少一个示例中,如果车辆302具有多个驱动系统314,则各个驱动系统314可以定位在车辆302的相对端部(例如,前部和后部等)。在至少一个示例中,驱动系统314可以包括一个或多个传感器系统以检测驱动系统314的状况和/或车辆302的周围环境。作为示例而非限制,传感器系统可包括一个或多个车轮编码器(例如,旋转编码器)以感测驱动系统的车轮的旋转、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量方向和驱动系统的加速度、摄像机或其他图像传感器、超声波传感器以声学检测驱动系统周围的对象、激光雷达传感器、雷达传感器等。一些传感器(例如,车轮编码器)可以是驱动系统314独有的。在一些情况下,驱动系统314上的传感器系统可以重叠或补充车辆302的相应系统(例如,传感器系统306)。

驱动系统314可以包括许多车辆系统,包括高压电池、用于驱动车辆的马达、用于将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、转向系统(包括转向马达和转向齿条(其可以是电动的))、制动系统(包括液压或电动执行器)、悬架系统(包括液压和/或气动组件)、用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统、hvac系统、照明(例如,诸如用于照亮车辆外部环境的头灯/尾灯之类的照明),以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。此外,驱动系统314可以包括驱动系统控制器,其可以从传感器系统接收和预处理数据并且控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括一个或多个处理器以及与该一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动系统314的各种功能。此外,驱动系统314还包括一个或多个通信连接,其使相应驱动系统能够与一个或多个其他本地或远程计算设备进行通信。

车辆计算设备304可以类似于上面参考图1描述的车辆计算设备104。车辆计算设备304可以包括一个或多个处理器320以及与一个或多个处理器320通信耦合的存储器322。至少在一个实例中,一个或多个处理器320可以类似于处理器106,并且存储器322可以类似于上面参考图1描述的存储器108。在所示示例中,车辆计算设备304的存储器322存储定位组件324、感知组件326、计划组件328、一个或多个系统控制器330、网络测量组件332、地图数据组件334、数据部分组件336、传输队列组件338、命令接收组件340、命令验证组件342和网络预测组件344。尽管出于说明目的被描绘为驻留在存储器322中,但预期定位组件324、感知组件326、计划组件328、一个或多个系统控制器330、网络测量组件332、地图数据组件334、数据部分组件336、传输队列组件338、命令接收组件340、命令验证组件342以及网络预测组件344可以附加地或可替代地可由车辆计算设备304访问(例如,被存储在车辆302的不同组件中和/或可被车辆302访问(例如,远程存储)。

远程计算设备316可以包括一个或多个处理器以及与一个或多个处理器346通信耦合的存储器348。在至少一个实例中,一个或多个处理器346可以类似于处理器106,并且存储器348可以类似于上面参考图1描述的存储器108。在所示示例中,计算设备316的存储器348存储地图数据传输组件350和命令传输组件352。

在车辆计算设备304的存储器322中,定位组件324可以包括用于从传感器系统306接收数据以确定车辆302的位置的功能。例如,定位组件324可以包括和/或请求/接收环境的三维地图,并可以连续确定地图内自动驾驶车辆的位置。在一些实例中,定位组件324可以使用slam(同时定位和映射)或clams(同时校准、定位和映射)来接收渡越时间数据、图像数据、激光雷达数据、雷达数据、声纳数据、imu数据、gps数据、车轮编码器数据或其任何组合等,以准确确定自动驾驶车辆的位置。在一些实例中,定位组件324可以向车辆302的各个组件提供数据以确定用于生成轨迹的自动驾驶车辆的初始位置,如本文所讨论的。

感知组件326可以包括用于执行对象检测、分割和/或分类的功能。在一些示例中,感知组件326可以提供处理的传感器数据,该数据指示接近车辆302的实体的存在和/或作为一个实体类型的实体分类(例如,汽车、行人、骑自行车者、建筑物、树、路面、路边、人行道、未知等)。在附加和/或替代示例中,感知组件326可以提供指示与检测到的实体和/或实体所处的环境相关联的一个或多个特性的处理过的传感器数据。在一些示例中,与实体相关联的特性可以包括但不限于x位置(全局位置)、y位置(全局位置)、z位置(全局位置)、方向、实体类型(例如,分类)、实体的速度、实体的范围(大小)等。与环境相关联的特性可以包括但不限于:环境中另一个实体的存在、环境中的另一个实体的状态、一天中的某个时间、一周中的某一天、季节、天气状况、黑暗/光明的指示等。

计划组件328可以确定车辆302穿过环境要遵循的路径。例如,计划组件328可以确定各种路线和路径以及各种细节级别。在一些实例中,计划组件328可以确定用于从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于本次讨论的目的,路线可以是用于在两个位置之间行驶的一系列路径点。作为非限制性示例,路径点包括街道、十字路口、全球定位系统(gps)坐标等。此外,计划组件328可以生成用于引导自动驾驶车辆沿着从第一位置到第二位置的路线的至少一部分的指令。在至少一个示例中,计划组件328可以确定如何引导自动驾驶车辆从路径点序列中的第一路径点到路径点序列中的第二路径点。在一些示例中,指令可以是路径或路径的一部分。在一些示例中,可以根据滚动时域技术(recedinghorizontechnique)基本上同时生成多条路径(即,在技术容限内)。可选择具有最高置信水平的后退数据范围中的多个路径中的单个路径来操作车辆。

在其他示例中,计划组件328可替代地或附加地使用来自感知组件326的数据来确定车辆302穿过环境要遵循的路径。例如,计划组件328可以从感知组件326接收关于与环境相关联的对象的数据。使用该数据,计划组件328可以确定用于从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)以避免环境中的对象的路线。在至少一些示例中,这样的计划组件328可以确定不存在这样的无碰撞路径,并且进而提供使车辆302安全停止的路径,以避免所有碰撞和/或以其他方式减轻损坏。

在至少一个示例中,车辆计算设备304可以包括一个或多个系统控制器330,其可以被配置为控制车辆302的转向、推进、制动、安全、发射器、通信和其他系统。这些系统控制器330可以与驱动系统314和/或车辆302的其他组件的相应系统通信和/或控制它们,它们可以被配置为根据从计划组件328提供的路径进行操作。

网络测量组件332可以确定车辆302的当前位置处的网络参数。例如,当车辆302穿过环境时,车辆可以在一些实例中使用通信连接310来确定网络参数。如上面所讨论的,网络参数可以包括带宽数据、信号强度数据、频带数据、时延数据、抖动数据、错误率数据、时间数据和/或事件数据。在一些实例中,通信连接310可以连接到第一网络并且网络测量组件332可以确定与第一网络相关联的网络参数。在一些实例中,通信连接310还可以连接到第二网络并且网络测量组件332可以确定与第二网络相关联的网络参数。在一些实例中,车辆302可以具有多个通信连接310,并且使用第一通信连接来确定与第一网络相关联的网络参数并使用第二通信连接来确定与第二网络相关联的网络参数。

地图数据组件334可以访问与环境相关联的网络地图数据。例如,地图数据组件334可以在环境中操作车辆302之前加载有网络地图数据。在一些示例中,网络地图数据可以是与上述关于定位组件324的地图相关联的数据。在一些实例中,网络地图数据可以表示基于位置和/或条件的网络参数,例如带宽数据、信号强度数据、频带数据、时延数据、抖动数据、错误率数据。例如,条件数据可以包括时间数据、天气数据、事件数据等。在一些实例中,地图数据组件334可以从远程计算设备316请求网络地图数据。例如,计算设备316的地图数据传输组件350可以响应该请求并将网络地图数据发送到地图数据组件334。然后地图数据组件334可以将网络地图数据存储在地图数据组件334中。在一些实例中,地图数据组件334可以从地图数据传输组件350请求网络地图更新,以更新存储在地图数据组件334中的网络地图数据。

在一些实例中,地图数据组件334可以被配置为在地图数据传输组件350处更新存储在计算设备316中的网络地图数据。例如,网络测量组件332可以确定与第一网络318(1)相关联的网络参数。然后,地图数据组件334可以使用网络参数来确定网络地图更新,该更新可以被发送到计算设备316,从而允许其他车辆获得更新的网络地图数据。在一些实例中,地图数据组件334可以直接向计算设备316提供测量网络参数,使得计算设备316可以基于例如贝叶斯过滤、加权的平均等来更新本地存储的地图。在一些实例中,地图数据组件334可以确定轨迹的一部分穿过没有网络连通性的区域并且指示计划组件328基于网络地图数据来确定车辆要遵循的新轨迹。

数据部分组件336可以确定和/或配置用于传输的车辆数据。例如,车辆302可以通过使用传感器系统306捕获传感器数据来确定车辆数据。另外,在一些实例中,车辆302可以将车辆数据确定为包括车辆状态数据、车辆诊断数据和/或车辆指标。在一些示例中,各种组件(包括传感器系统306)可以在彼此之间发送信息作为一个或多个消息,并且在一些实例中,可以包括(或以其他方式被称为具有)相关联的消息话题。基于由网络测量组件332确定的网络参数,数据部分组件336可以确定车辆数据的部分(例如,一个或多个消息的子集)以及与车辆数据的各个部分相关联的优先级级别。作为示例而非限制,数据部分组件336可以确定车辆诊断数据和车辆状态数据具有比由网络测量组件332确定的网络地图更新数据更高的优先级级别。然后数据部分组件336可以将数据部分与网络和/或优先级级别相关联。在一些示例中,可以基于上下文(例如,车辆正在做什么、需要做什么、位置、正在执行的操纵等)和/或话题来分配优先级级别。

在一些示例中,数据部分组件336可以至少部分地基于来自远程计算设备的请求来确定要发送到远程计算设备的数据。例如,远程计算设备可以请求与车辆302相关联的姿态数据和/或由感知组件326确定的表示接近车辆的环境中的一个或多个对象的边界框。因此,数据部分组件336可以相应地对数据进行优先级排序并将数据发送到远程计算设备,如本文所讨论的。

传输队列组件338可以将车辆数据的部分放置到适当的队列中。通信连接310(也称为通信设备和/或调制解调器)可以包括类似于参考图1所讨论的传输队列116和传输队列118的传输队列。传输队列组件338可以访问由数据部分组件336确定的数据部分,并且基于网络和/或与数据部分相关联的优先级级别,将数据部分与适当的传输队列相关联。例如,传输队列组件338可以访问具有比车辆数据的第二部分更高的优先级级别的车辆数据的第一部分。然后,传输队列组件338可以使用由网络测量组件332测量的网络参数,以确定第一传输队列与第一网络318(1)相关联,该第一网络318(1)具有比与第二网络318(2)相关联的第二传输队列更多的网络可用性。然后,传输队列组件338可以将车辆数据的第一部分与第一传输队列相关联。

在一些实例中,传输队列组件338可以广播车辆数据的部分并将车辆数据的部分放入两个传输队列中。在一些实例中,传输队列组件可以确定传输队列中的车辆数据的一部分是陈旧的或不再相关,并且从传输队列中移除车辆数据的陈旧部分。

命令接收组件340可以从计算设备316的命令传输组件352接收命令。例如,车辆302可以将车辆数据发送到计算设备316。如上面所讨论的,车辆302还可以发送请求到远程操作设备以获得解决不确定性的引导。传输队列组件338可以将车辆数据的部分排队并且使其由通信连接310经由网络318发送到命令传输组件352。命令传输组件可以从远程操作员接收命令和/或确定将被传输并发送到命令接收组件340的命令。

命令验证组件342可以验证在命令接收组件340处接收到的命令。例如,车辆302可以确定被发送到计算设备316的车辆数据可以允许从计算设备316和/或远程操作员接收一组特定的引导。在命令接收组件340处接收到命令之后,命令验证组件342可以确定接收到的命令是否落入与发送到计算设备316的车辆数据相关联的引导集合内。在一些实例中,命令验证组件342可以忽略接收到的命令。在一些实例中,命令验证组件342可以请求更新的命令。在一些实例中,车辆302可以确定与发送的车辆数据相关联的一组实用程序和/或用户界面,使得计算设备316和/或远程操作员必须从有限的一组命令中选择命令。

网络预测组件344可以使用测量网络参数和网络地图数据来预测不同位置处的网络参数。如上面所讨论的,网络预测组件344可以使用诸如卡尔曼滤波、扩展卡尔曼滤波和/或加权的平均之类的预测算法来确定预测网络参数。在一些实例中,数据部分组件可以使用由网络预测组件344确定的预测网络参数,来确定车辆数据的部分和/或向车辆数据的部分分配优先级级别。类似于网络测量组件332,网络预测组件344可以确定轨迹的部分不提供用于根据当前轨迹和/或目标的操作程序进行操作必要的网络参数。网络预测组件344可以指示计划组件328基于预测网络参数来确定新轨迹。

车辆302的处理器320、计算设备316的处理器346以及图1的车辆计算设备104的处理器106可以是能够执行指令以处理数据并执行此处所述的操作的任何合适的处理器。作为示例而非限制,处理器320、346和106可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如,fpga等)和其他硬件设备也可以被视为处理器,只要它们被配置为实现编码指令。

车辆302的存储器322、计算设备316的存储器348以及图1的车辆计算设备104的存储器108是非暂时性计算机可读介质的示例。存储器322、348和108可以存储操作系统和一个或多个软件应用、指令、程序和/或数据以实现本文描述的方法和归属于各种系统的功能。在各种实现中,存储器322、348和108可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器或任何其他类型的能够存储信息的存储器。在此描述的架构、系统和各个元件可以包括许多其他逻辑、程序和物理组件,其中在附图中示出的那些仅仅是与本文的讨论相关的示例。

在一些实例中,本文讨论的一些或所有组件的各方面可以包括任何模型、算法和/或机器学习算法。例如,在一些实例中,存储器322、348和108中的组件可以实现为神经网络。

图4描绘了用于确定第二位置处的预测网络参数的示例过程400。在一些实例中,过程400的部分或全部可由图1或3中的一个或多个组件执行,如本文所述。参考图1中的车辆102和/或图3中的车辆302来描述过程400。另外,过程400的一些部分可以被省略、替换和/或重新排序,同时仍提供确定计算设备是否应保持在待机状态的功能。

在操作402处,网络测量组件332可以确定与第一位置处的第一网络相关联的第一网络参数。如上面所讨论的,在一些实例中,网络测量组件332可以通过发送具有小有效载荷的数据分组和具有大有效载荷的数据分组来确定估计的网络参数(例如,带宽)。在一些示例中,网络测量组件332可以通过测量往返时间(rtt)来确定与位置处的网络相关联的时延。在一些示例中,网络测量组件332可以通过查询诸如snmp之类的协议来确定信号强度。

在操作404处,网络测量组件332可以类似地确定与第一位置处的第二网络相关联的第二网络参数。在一些实例中,第一网络和第二网络可以与相同的网络提供商和/或操作相关联。在一些实例中,第一网络和第二网络可以与不同的网络提供商和/或运营商相关联。

在操作406处,地图数据组件334可以确定与第一网络相关联的第一网络地图数据。如上面所讨论的,地图数据组件334可以在环境中操作车辆之前加载有网络地图数据。在一些实例中,地图数据组件334可以从远程计算设备请求网络地图数据并且从地图数据传输组件350接收网络地图数据。

在操作408处,地图数据组件334可以类似地确定与第二网络相关联的第二网络地图数据。

在操作410处,车辆302可以确定车辆数据。例如,车辆302可以使用一个或多个传感器系统306来捕获环境的传感器数据作为车辆数据。在一些实例中,车辆302可以计算轨迹作为车辆数据。在一些实例中,车辆可以将车辆数据的部分确定为车辆状态、车辆位置数据和/或车辆诊断数据。在任何示例中,车辆数据可以包括由车辆302的任何一个或多个组件和/或相关联的消息话题所确定的一个或多个消息。然后数据部分组件336可以使用测量网络参数和/或网络地图数据来确定车辆数据的部分和/或将优先级级别与车辆数据的部分相关联。

在操作412处,传输队列组件338可以将车辆数据的第一部分与第一传输队列相关联。类似地,在操作414处,传输队列组件338可以将车辆数据的第二部分与第二传输队列相关联。如上面所讨论的,第一传输队列可以与第一网络相关联,而第二传输队列可以与第二网络相关联。在一些实例中,无论网络关联如何,第一传输队列可以是较高优先级队列,而第二传输队列可以是较低优先级队列。

在操作416处,一个或多个通信连接310可以发送车辆数据的第一部分或第二部分中的至少一个。如上面所讨论的,一个或多个通信连接310可以是与一个或多个网络318(1)和318(2)相关联的一个或多个调制解调器。

在操作418处,网络预测组件344可以预测与车辆302的当前位置不同的位置处的网络参数。如上面所讨论的,网络预测组件344可以使用测量网络参数和网络地图数据,以使用例如卡尔曼滤波算法、扩展卡尔曼滤波算法和/或加权的平均来预测不同位置处的网络参数,但也预期了其他算法。

因此,本文讨论的技术提供了自适应多网络车辆架构的稳健实现,以允许车辆维持和/或优化网络可用性并以安全方式持续操作。

示例条款

a:一种自动驾驶车辆的系统,该系统包括:第一调制解调器;第二调制解调器;传感器;处理器;以及存储计算机可执行指令的计算机可读介质,该指令在被执行时使系统执行操作,这些操作包括:确定与第一无线网络相关联的第一网络参数;确定与第二无线网络相关联的第二网络参数;使用传感器捕获环境的传感器数据,传感器数据的至少第一部分与第一优先级相关联;至少部分地基于传感器数据、车辆数据,确定与第二优先级相关联的车辆数据的至少第二部分;至少部分地基于第一网络参数、第二网络参数、第一优先级和第二优先级,确定用于经由第一调制解调器发送的传感器数据的第一部分;至少部分地基于第一网络参数、第二网络参数、第一优先级和第二优先级,确定用于经由第二调制解调器发送的车辆数据的第二部分;经由第一调制解调器并且向远程计算设备发送传感器数据的第一部分;经由第二模式并且向远程计算设备发送车辆数据的第二部分;经由第一调制解调器或第二调制解调器中的至少一个从远程计算设备接收命令;以及至少部分地基于命令来控制自动驾驶车辆。

b:段落a的系统,其中:第一无线网络与第一网络提供商相关联并且第二无线网络与不同于第一网络提供商的第二网络提供商相关联;操作还包括:访问与环境中的第一无线网络相关联的第一网络地图数据;访问与环境中的第二无线网络相关联的第二网络地图数据;用第一调制解调器确定第一测量网络参数;以及用第二调制解调器确定第二测量网络参数;确定第一网络参数至少部分地基于第一网络地图数据或第一测量网络数据中的一个或多个,以及确定第二网络参数至少部分地基于第二网络地图数据或第二测量网络数据中的一个或多个。

c:段落b的系统,其中第一网络地图数据包括与位置相关联的信号参数,信号参数包括最大带宽、信号强度或时延中的一个或多个。

d:段落c的系统,其中确定传感器数据的第一部分进一步至少部分地基于自动驾驶车辆的轨迹,其中位置与轨迹相关联。

e:段落a-d中任一段的系统,其中:传感器数据的第一部分包括图像数据;并且车辆数据还包括与图像数据中表示的对象相关联的边界框、自动驾驶车辆的姿态、自动驾驶车辆的轨迹或与自动驾驶车辆相关联的诊断数据中的至少一个。

f:一种方法,包括:确定与第一无线网络相关联的第一网络参数;确定与第二无线网络相关联的第二网络参数;确定与车辆相关联的数据、与第一优先级相关联的数据的第一部分以及与第二优先级相关联的数据的第二部分;至少部分地基于第一网络参数、第二网络参数和第一优先级,将数据的第一部分与第一传输队列相关联,第一传输队列与第一无线网络相关联;以及至少部分地基于第一网络参数、第二网络参数和第二优先级,将数据的第二部分与第二传输队列相关联,第二传输队列与第二无线网络相关联。

g:段落f的方法,其中,第一网络参数包括以下至少一个:带宽数据;信号强度数据;频段数据;与第一网络参数相关联的时间数据;时延数据;抖动数据;错误率数据;或者位置数据。

h:段落f或g的方法,其中,数据包括车辆的姿态、与环境的对象相关联的边界框、车辆的轨迹、诊断数据或由车辆的传感器捕获的传感器数据中的至少一个。

i:段落f至h中任一段的方法,该方法还包括:用与第一无线网络相关联的调制解调器确定第一测量参数;其中,确定第一网络参数至少部分地基于第一网络地图数据或第一测量参数中的一个或多个,该方法还包括:经由调制解调器向与第一网络地图数据相关联的数据储存库发送第一测量参数,第一测量参数表示第一信号强度或第一带宽中的至少一个。

j:段落i的方法,其中,确定第一网络地图数据包括:至少部分地基于参数索引从多个网络地图中选择第一网络地图数据,其中参数索引包括时间参数、事件参数或天气参数中的至少一个。

k:段落i或j的方法,其中,车辆处于第一位置处,该方法还包括:至少部分地基于第一网络地图数据和第一测量参数,确定第二位置处的预测网络数据;以及至少部分地基于预测网络数据来控制车辆;其中,确定预测网络数据包括卡尔曼滤波器、扩展卡尔曼滤波器或加权的平均中的一个或多个。

l:段落i至k中任一段的方法,其中,确定第一测量参数包括:经由调制解调器发送第一数据分组;确定与第一数据分组相关联的第一响应时间;经由调制解调器发送大于第一数据分组的第二数据分组;确定与第二数据分组相关联的第二响应时间;以及至少部分地基于第一响应时间和第二响应时间,确定与第一无线网络相关联的估计带宽。

m:段落f至l中任一段的方法,还包括:经由调制解调器并且向远程计算设备发送数据的第一部分或数据的第二部分中的至少一个;经由调制解调器并且从远程计算设备接收命令;以及至少部分地基于命令来控制车辆。

n:段落f至m中任一段的方法,其中,将数据的第二部分与第二传输队列相关联还至少部分地基于与第一无线网络相关联的阈值带宽,其中对满足或者超过阈值带宽的数据的第一部分进行关联。

o:一种存储可由处理器执行的指令的非暂时性计算机可读介质,其中所述指令在被执行时使所述处理器执行包括以下操作的操作:确定与第一无线网络相关联的第一网络参数;确定与第二无线网络相关联的第二网络参数;确定与设备相关联的数据、与第一优先级相关联的数据的第一部分以及与第二优先级相关联的数据的第二部分;至少部分地基于第一网络参数、第二网络参数、第一优先级和第二优先级,将数据的第一部分与关联于第一网络的第一传输队列相关联;以及至少部分地基于第一网络参数、第二网络参数、第一优先级和第二优先级,将数据的第二部分与关联于第一网络或第二网络中的至少一个的第二传输队列相关联。

p:段落o的非暂时性计算机可读介质,这些操作还包括:接收第一网络地图数据;接收第二网络地图数据;用第一调制解调器确定第一测量参数;以及用第二调制解调器确定第二测量参数;其中:确定第一网络参数至少部分地基于第一网络地图数据或第一测量参数中的一个或多个;以及确定第二网络参数至少部分地基于第二网络地图数据或第二测量参数中的一个或多个。

q:段落p的非暂时性计算机可读介质,这些操作还包括:使用预测算法,至少部分地基于第一网络参数和第一网络地图数据来确定预测网络参数;其中,预测算法包括以下至少之一:加权的平均算法;或者卡尔曼滤波算法。

r:段落o至q中任一段的非暂时性计算机可读介质,其中确定数据至少部分地基于使用设备的传感器来确定环境的传感器数据,其中数据包括传感器数据。

s:段落r的非暂时性计算机可读介质,其中,设备是自动驾驶车辆,操作还包括:至少部分地基于数据来确定自动驾驶车辆的轨迹,其中将数据的第一部分与第一传输队列相关联进一步至少部分地基于轨迹。

t:段落s的非暂时性计算机可读介质,这些操作还包括:将数据的第一部分或第二部分中的至少一个发送到远程计算设备;用第一调制解调器确定第一测量参数;以及向远程计算设备发送第一测量参数;从远程计算设备接收命令;以及至少部分基于命令来控制自动驾驶车辆。

虽然上述示例条款是针对一个特定的实现方式进行描述的,但是应当理解,在本文档的上下文中,示例条款的内容也可以通过方法、设备、系统和/或计算机可读介质来实现。

结论

虽然已经描述了本文描述的技术的一个或多个示例,但是其各种改变、添加、排列和等同物被包括在本文描述的技术的范围内。

在示例的描述中,参考了形成其一部分的附图,这些附图通过说明的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例并且可以进行改变或变更,例如结构改变。这样的示例、改变或变更不一定偏离关于预期要求保护的主题的范围。虽然本文的步骤可以按特定顺序呈现,但在一些情况下,可以改变顺序,以便在不同时间或以不同顺序提供特定输入,而不会改变所描述的系统和方法的功能。所公开的程序也可以以不同的顺序执行。此外,本文中的各种计算不需要按照所公开的顺序执行,并且可以容易地实现使用替代计算顺序的其他示例。除了重新排序之外,计算还可以分解为具有相同结果的子计算。

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