首页 / 专利分类库 / 控制;调节 / 车辆传感器数据获取

车辆传感器数据获取

申请号 CN202311325770.9 申请日 2023-10-13 公开(公告)号 CN117908396A 公开(公告)日 2024-04-19
申请人 福特全球技术公司; 发明人 大卫·迈克尔·赫尔曼; S·萨法尔;
摘要 本公开提供了“车辆 传感器 数据获取”。公开了一种系统,所述系统包括计算机,所述计算机包括处理器和 存储器 ,所述存储器包括可由所述处理器执行以在第一时间段内从移动平台获取真实世界 传感器数据 的指令。可以将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据。可以将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统;其中所述模拟系统基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。
权利要求

1.一种方法,其包括:
在第一时间段内从移动平台获取真实世界传感器数据;
将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据;
将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统;并且
其中所述模拟系统基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。
2.根据权利要求1所述的方法,其中通过将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较来训练所述第一神经网络。
3.根据权利要求2所述的方法,其中将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较包括确定损失函数。
4.根据权利要求1所述的方法,其中将所述模拟系统传输到第二移动平台以进行真实世界操作。
5.根据权利要求1所述的方法,其中使用在大于并包括所述第一时间段的第三时间段内从所述移动平台获取的地面实况传感器数据来训练所述第一神经网络。
6.根据权利要求1所述的方法,其中所述移动平台的所述模拟系统基于所述真实世界传感器数据和所述预测的传感器数据来实现稳定性能。
7.根据权利要求1所述的方法,其中在第三时间段内获取第二真实世界传感器数据,其中将所述第二真实世界数据输入到输出潜在变量的第二神经网络;并且其中所述潜在变量与来自所述移动平台的所述真实世界传感器数据一起输入到所述第一神经网络。
8.根据权利要求1所述的方法,其中所述模拟系统包括第二神经网络。
9.根据权利要求1所述的方法,其中所述移动平台是车辆。
10.根据权利要求1所述的方法,其中所述真实世界传感器数据包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。
11.根据权利要求1所述的方法,其中所述第一神经网络预测所述移动平台在所述第一时间段之后的第二时间段内的传感器数据。
12.根据权利要求1所述的方法,其中所述第一神经网络预测所述移动平台在所述第一时间段内的第二时间段内的传感器数据。
13.根据权利要求1所述的方法,其中响应于事件而获取所述真实世界数据。
14.根据权利要求1所述的方法,其中在随机时间获取所述真实世界数据。
15.一种系统,其包括被编程为执行根据权利要求1至14中任一项所述的方法的计算机。

说明书全文

车辆传感器数据获取

技术领域

[0001] 本公开涉及车辆中的传感器数据获取。

背景技术

[0002] 图像可以由传感器获取并使用计算机进行处理以确定关于移动系统周围环境中的对象的数据。移动系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。计算机可以从包括图像传感器的一个或多个传感器获取包括图像的数据,所述图像可以被处理以确定关于对象的数据。计算机可以使用关于移动系统的环境中的对象的数据来操作移动系统。移动系统可以包括车辆、机器人和无人机。发明内容
[0003] 如本文所述,在移动系统中的计算机上执行的一个或多个软件程序可以用于基于处理关于移动系统内部的状况和移动系统周围的环境的传感器数据来操作移动系统。例如,传感器可以获取关于包括在移动系统中所包括的一个或多个计算机、控制器致动器中的状态的数据。传感器还可以获取关于移动系统周围的环境的数据。开发和测试控制系统的软件程序可以包括在系统的操作期间获取和记录传感器数据以允许评估系统性能并重新模拟系统操作以允许进一步开发和测试移动系统中所包括的硬件和软件程序。基于传感器和计算机软件来操作移动系统的示例是以自主模式、半自主模式或非自主模式操作车辆。车辆将在本文中用作移动系统的示例,然而,本文描述的技术可以应用于包括例如机器人或无人机的其他移动系统。
[0004] 可以通过模拟来辅助移动系统硬件和软件的开发。模拟系统是在计算机系统上复制移动系统中所包括的软件和/或硬件的系统。可以从移动系统中所包括的传感器获取传感器数据并将其输入到模拟系统。可以将来自模拟系统的输出与来自移动系统中所包括的硬件和软件的输出进行比较。模拟系统可以包括模拟移动系统的软件,或者可以包括测试环境中的移动系统硬件和软件的副本。软件模拟可以实现与硬件/软件模拟相同的结果,但是硬件/软件模拟还可以包括定时数据以复制移动系统的实时操作。
[0005] 使用模拟系统开发移动系统可能需要大量测试数据。从移动系统传感器获取大量测试数据可以包括经由边缘计算机和服务器将传感器数据从大量移动系统无线地传输到实验室设施。来自移动系统传感器的测试数据在服务器计算机和实验室计算机处可能需要大量的无线网络带宽和大量数字存储装置。模拟系统是模仿控制移动系统的操作的硬件和软件的操作的硬件和软件系统。在实验室中模拟移动系统控制硬件和软件可以通过允许更有效地更新和测试硬件和软件来增强控制硬件和软件的开发。模拟系统可以是模型在环(MIL),其中在软件中模拟整个移动系统的高级模型以验证控制过程。软件在环(SIL)模拟可以从MIL模拟生成,并且可以用于生成要在移动系统上执行的软件。例如,硬件在环(HIL)模拟复制移动系统中所包括的硬件,并且可以用于测试实际系统定时。模拟系统可以是开环的,其中单个输入集被输入到模拟系统以生成单个输出集,并且可以是闭环的,其中来自模拟系统的输出被反馈到输入以允许模拟正在被模拟的系统的连续操作。
[0006] 获取大量数据的原因是模仿具有高分辨率时间和输出数据的高保真度模拟可能需要大量输入数据。这样做的第一个原因是,控制算法通常依赖于状态性来确定结果。状态性是硬件或软件算法使用通常基于算法的先前执行确定的内部存储的数据。模拟系统有时可以被配置为提供状态性数据,而无需先前对现实数据执行算法,然而,这并不总是可能的或有效的。例如,模拟系统可以包括供应商提供的内部不可访问的例程,例如,“黑盒”。模拟系统还可以包括来自未被模拟但影响结果的其他系统部件的输入。除了简单地增加输入到模拟系统的数据量之外,确定这些系统部件的状态性可能会使模拟任务不必要地复杂化。
[0007] 获取大量测试数据的另一个原因是移动系统和移动系统的模拟在结果稳定之前可能需要连续几秒钟应用的测试数据。结果稳定意味着基于输入的测试数据输出正确结果。例如,带宽和存储限制可能将测试数据获取限制为从移动系统获取两秒的连续传感器数据,而一些移动系统可能需要长达十秒的连续输入数据来输出稳定结果。如本文所述的非结构化数据收集系统可以通过生成几秒钟的模拟测试数据并将其添加到所获取的测试数据之前来增强移动系统模拟,以允许移动系统模拟实现稳定的输出结果,但是由于数据收集的复杂性增加,因此无需附加的网络带宽和/或计算机资源。
[0008] 本文公开了一种方法,所述方法包括:在第一时间段内从移动平台获取真实世界传感器数据;以及将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据。可以将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统,并且所述模拟系统可以基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。可以通过将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较来训练所述第一神经网络。可以将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较包括确定损失函数。可以将所述模拟系统传输到第二移动平台以进行真实世界操作。可以使用在大于并包括所述第一时间段的第三时间段内从所述移动平台获取的地面实况传感器数据来训练所述第一神经网络。
[0009] 所述移动平台的所述模拟系统可以基于所述真实世界传感器数据和所述预测的传感器数据来实现稳定性能。可以在第三时间段内获取第二真实世界传感器数据,其中将所述第二真实世界数据输入到输出潜在变量的第二神经网络;并且其中所述潜在变量与来自所述移动平台的所述真实世界传感器数据一起输入到所述第一神经网络。所述模拟系统可以包括第二神经网络。所述移动平台可以是车辆。所述真实世界传感器数据可以包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。所述第一神经网络可以预测所述移动平台在所述第一时间段之后的第二时间段内的传感器数据。所述第一神经网络可以预测所述移动平台在所述第一时间段内的第二时间段内的传感器数据。可以响应于事件而获取所述真实世界传感器数据。可以在随机时间获取所述真实世界传感器数据。
[0010] 还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述一些或全部方法步骤的程序指令。还公开了一种计算机,所述计算机被编程为用于执行上述一些或全部方法步骤,所述计算机包括计算机设备,所述计算机设备被编程为:在第一时间段内从移动平台获取真实世界传感器数据;以及将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据。可以将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统,并且所述模拟系统可以基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。可以通过将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较来训练所述第一神经网络。可以将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较包括确定损失函数。可以将所述模拟系统传输到第二移动平台以进行真实世界操作。可以使用在大于并包括所述第一时间段的第三时间段内从所述移动平台获取的地面实况传感器数据来训练所述第一神经网络。
[0011] 所述指令可以包括其他指令,其中所述移动平台的所述模拟系统基于所述真实世界传感器数据和所述预测的传感器数据来实现稳定性能。可以在第三时间段内获取第二真实世界传感器数据,其中将所述第二真实世界数据输入到输出潜在变量的第二神经网络;并且其中所述潜在变量与来自所述移动平台的所述真实世界传感器数据一起输入到所述第一神经网络。所述模拟系统可以包括第二神经网络。所述移动平台可以是车辆。所述真实世界传感器数据可以包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。所述第一神经网络可以预测所述移动平台在所述第一时间段之后的第二时间段内的传感器数据。所述第一神经网络可以预测所述移动平台在所述第一时间段内的第二时间段内的传感器数据。可以响应于事件而获取所述真实世界传感器数据。
可以在随机时间获取所述真实世界传感器数据。
附图说明
[0012] 图1是示例性交通基础设施系统的框图
[0013] 图2是包括交通基础设施节点的示例性交通场景的图式。
[0014] 图3是模拟稳定性的示例性图形的图式。
[0015] 图4是用于增强模拟稳定性的示例性系统的图式。
[0016] 图5是用于进一步增强模拟稳定性的示例性系统的图式。
[0017] 图6是用于测试和增强模拟系统的示例性过程的流程图
[0018] 图7是用于基于模拟系统操作车辆的示例性过程的流程图。

具体实施方式

[0019] 图1是可以包括交通基础设施节点105的系统100的图式,所述交通基础设施节点包括服务器计算机120。系统100包括移动系统,所述移动系统在该示例中是车辆110,其可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以以自主模式、半自主模式或非自主模式操作车辆110。
[0020] 计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(即,通过控制内燃发动机、电动达、混合动发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
[0021] 计算装置115可以包括多于一个计算装置(即,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(即,动力传动系统控制器112、制动控制器113、转向控制器114等)),或即经由如下面进一步描述的车辆通信总线通信地联接到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(即,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,即,以太网或其他通信协议。
[0022] 计算装置115可经由车辆网络向车辆中的各种装置(即,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。此外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
[0023] 另外,计算装置115可被配置用于通过车辆对基础设施(V2X)接口111经由网络130与远程服务器计算机120(即,服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网 或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2X接口111可以包括被配置为利用各种有线和/或无线联网技术(即,蜂窝, 蓝牙低功耗(BLE)、超宽带(UWB)、对等通信、基于UWB的雷达、IEEE 802.11和/或其他有线和/或无线分组网络或技术)的处理器、存储器、收发器等。计算装置115可以被配置用于使用即在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V对V)网络(即,根据包括蜂窝通信(C‑V2X)、无线通信、蜂窝、专用短程通信(DSRC)等的通信)通过V2X(车联网)接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2X)接口111传输到服务器计算机120或用户移动装置160。
[0024] 如已经提及的,用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(即,制动、转向、推进等)的编程通常包括在存储器中所存储的并可由计算装置115的处理器执行的指令中。使用在计算装置115中接收的数据(即,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的有效穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
[0025] 如本文所使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可为诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可从计算装置115接收指令以操作车辆110的制动器。
[0026] 用于车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一者可包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
[0027] 传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆110。
[0028] 车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的陆基车辆110,即,乘用车、轻型卡车等。如上文所讨论的,例如,本文讨论的用于模拟的数据获取的技术也将适用于其他系统(诸如无人驾驶飞行器(UAV)、摩托车和移动机器人)的控制。车辆110包括一个或多个传感器116、V2X接口111、计算装置115和一个或多个控制器112、113、
114。传感器116可收集与车辆110和车辆110的操作环境相关的数据。以举例的方式但非限制,传感器116可以包括即测高仪、相机、激光雷达(LIDAR)、雷达、超声传感器、红外传感器、压力传感器加速度计陀螺仪温度传感器、压力传感器、霍尔传感器、光学传感器电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用来感测车辆110的操作环境,即,传感器116可以检测诸如天气条件(降雨、外界温度等)的现象、道路坡度、道路位置(即,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
[0029] 车辆可以被配备为以自主、半自主或手动模式操作。半自主模式或完全自主模式意指车辆可以由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。出于本公开的目的,自主模式被定义为车辆推进(即,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主模式下,这些都不由计算机控制。在半自主模式中,其中的一些但非全部由计算机控制。
[0030] 交通基础设施节点105可以包括物理结构,诸如塔或其他支撑结构(即,杆子、可安装到桥梁支撑件的盒子、蜂窝电话塔、道路标志支撑件等),服务器计算机120可安装、存储和/或容纳在所述物理结构上并且得以供电等。为了便于说明,在图1中示出一个交通基础设施节点105,但是系统100可以并且很可能将包括数十、数百或数千个交通基础设施节点105。交通基础设施节点105通常是静止的,即,固定到特定地理位置并且无法从所述位置移动。
[0031] 服务器计算机120通常具有与车辆110的V2X接口111和计算装置115共同的特征,并且因此将不进一步描述以避免冗余。尽管为了便于说明而未示出,但是交通基础设施节点105还包括电源,诸如电池太阳能电池和/或与电网的连接。交通基础设施节点105的服务器计算机120可从车辆110的计算装置115接收传感器116的数据。传感器116可以获取关于车辆110周围的环境的数据或关于车辆110的内部状态的数据。
[0032] 图2是交通场景200的图式。交通场景200包括车辆110,因为车辆在道路204上操作。车辆110还可以在停车场中或在停车库或其他结构中所包括的人行道上操作。交通场景200还可以包括其他车辆202。如上文关于图1所讨论的,车辆110可以包括一个或多个传感器116,所述一个或多个传感器获取关于车辆110周围的环境的数据。车辆110可以包括各种传感器116,包括激光雷达传感器,雷达传感器或超声传感器中的一者或多者,以获取关于车辆110周围的环境的数据。车辆110还可以包括检测车辆110相对于全球坐标系的位置(诸如纬度、经度和海拔)的位置和取向的传感器116,包括GPS和惯性测量单元(IMU)。车辆110还可以包括检测车辆110状态(诸如例如,速度、横向加速度和纵向加速度以及与车辆动力传动系统、转向和制动相关的各种工况)的传感器116。
[0033] 计算装置115可以从传感器116获取数据并使用所获取的数据来操作车辆110。所述真实世界传感器数据可以包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。计算装置115可以检测包括其他车辆202、行人等的对象,并且确定在其上操作车辆110的车辆轨迹。车辆轨迹可以是包括车辆110速度和方向的多项式函数。车辆轨迹中所包括的车辆110速度和方向的变化可以描述其在车辆轨迹上操作的车辆横向加速度和纵向加速度。当车辆110在道路204上操作时,由计算装置115从传感器116获取的数据可以由计算装置传送到交通基础设施节点105中的服务器计算机120。服务器计算机120可以从多个车辆110、202获取传感器116数据,并将所获取的传感器116数据转发到存储来自多辆车辆的传感器116数据的实验室计算机。除了传感器116的数据之外,车辆110中的计算装置115还可以存储关于处理传感器116的数据的结果的数据(例如,基于传感器数据116确定的车辆轨迹)并将其传送到服务器计算机120。
[0034] 图3是示出用于获取真实世界传感器116的数据并模拟计算装置115中包括的高级驾驶员辅助系统(ADAS)硬件和软件的操作的模拟系统的模拟系统稳定性的图形300的图式。ADAS硬件和软件的开发可以是迭代过程,其中可以在由车辆中所包括的传感器116获取的真实世界数据上测试原型硬件和软件。当对ADAS进行更新时,包括更新的ADAS的车辆110将必须在各种照明、天气和交通状况下在道路上操作以确定结果以与先前结果进行比较。使用模拟系统可以通过允许使用真实世界传感器116数据的所获取数据库来测试更新以产生可以与无需操作车辆110的先前结果进行比较的结果而来增强ADAS的开发。
[0035] 在其他示例中,测试数据也可以在ADAS事件周围间歇地保存,而不是连续保存,或者数据记录器可能在ADAS事件之前丢失一些数据。在又其他示例中,或者由于车辆110硬件和软件的实验本质,所获取的数据集中可能存在一些损坏。在所有这些示例中,本文讨论的用于基于所获取的数据生成用于模拟的数据的技术可以用于回填数据集并增强数据集以输入到模拟硬件和软件。
[0036] 使用模拟系统开发ADAS硬件和软件可能需要非常大量真实世界数据集。例如,ADAS硬件和软件可以包括可能需要数十万个图像来训练的神经网络。获取和存储用于使用模拟系统开发ADAS硬件和软件的大量真实世界数据集可能需要大量网络带宽来传递来自在真实世界中操作的车辆110的数据以及大量计算机存储器来存储真实世界数据。对所获取的数据量施加限制,以对用于获取真实世界数据的网络带宽和计算机存储器的量施加合理限制。在其他示例中,ADAS制造商可以生产稳定版本的硬件和软件,并且希望在发生特征激活或类似的感兴趣事件时使用共享给ADAS制造商的最终用户数据来持续监测和增强ADAS性能。
[0037] 用于限制用于从车辆110获取真实世界数据的网络带宽和计算机存储器的技术是在车辆110中所包括的计算装置115中重复地记录有限秒数(例如,五秒)的数据。当发生ADAS事件时,来自ADAS硬件和软件的输出以及当前正在记录的传感器116的五秒数据可以由计算装置115上传到交通基础设施节点105中所包括的服务器计算机120。可以触发上传的事件是响应于传感器116数据而指示车辆110的ADAS的操作的事件,即,ADAS事件。在其他示例中,可以获取随机样本,或者可以基于车辆的其他操作来获取样本。例如,ADAS事件可以是变道,车辆制动或加速或由于交通或路况引起的车辆110轨迹的其他变化。通过这种方式,模拟系统可以使用车辆ADAS所具有的相同输入数据作为输入和输出结果来操作,所述输入和输出结果可以与来自车辆ADAS的上传结果进行比较。
[0038] 随着新ADAS硬件和软件的开发,ADAS硬件和软件中所包括的算法可能会改变,从而导致改变达到稳定输出结果所需的传感器数据的持续时间。结果,对于一些ADAS事件,测试数据库中所包括的真实世界传感器数据的持续时间可能没有足够的长度来允许新模拟系统实现稳定结果。例如,新算法可能导致用于模拟ADAS事件的模拟系统需要五秒至十秒才能稳定,而获取和存储真实世界传感器116的数据的系统在每个ADAS事件中仅获取五秒数据。图形300示出了基于所获取的传感器数据312的模拟系统稳定性。图形300在y轴上绘制模拟稳定性百分比302与在x轴上绘制时间304。模拟稳定性302以从0至100的百分比呈现,以示出模拟系统将基于传感器116数据输入到模拟系统的时间长度而输出正确结果的概率。
[0039] 图形300表示车辆110中的计算装置115获取在时间t0处开始并在时间t1处结束的真实世界数据312。在从时间t0至时间t1的间隔期间,在时间te处发生ADAS事件。车辆110中的计算装置115将真实世界数据312和在时间te处发生的ADAS事件传输到交通基础设施节点105中所包括的服务器计算机120。例如,服务器计算机120可以转发真实世界数据312和ADAS事件以存储在开发或实验室设施中所包括的计算机处。实验室计算机的开发可以包括模拟车辆110中所包括的ADAS硬件和/或软件的模拟硬件和/或软件系统。
[0040] 将真实世界数据312输入到模拟系统而不进行修改可能导致从模拟系统输出错误结果。图形300包括稳定性曲线306,所述稳定性曲线示出了模拟将基于输入数据的持续时间输出正确结果的概率。模拟系统可能需要输入数据持续大于或等于图形300上从t‑1至ts的时间的时间段。时间(例如时间t0)是时间点,而时间段是时间之间的持续时间,例如时间t0至te之间的时间段。记录由在时间te处发生的事件指示的真实世界数据的有限时间段,仅使用真实世界数据会将模拟系统限制为在图形300上从t0至te的时间段输入数据。这可能小于达到100%稳定性所需的时间段t‑1至ts,这意味着模拟系统可能基于该有限数据输出错误结果。本文讨论的技术通过以下步骤来增强模拟系统:使用可以被添加到真实世界数据312之前的数据预测系统来生成预测数据310并将预测数据310和真实世界数据312两者输入到模拟系统以增加模拟系统将达到稳定性并输出关于ADAS事件的准确数据的概率。
[0041] 可以通过将真实世界数据312输入到经训练的神经网络来生成预测数据310。所采用的神经网络的类型是要预测的真实世界数据的类型的函数。可以使用包括全连接神经元层的神经网络来预测包括一系列数字(诸如GPS位置、速度或横向或纵向加速度)的真实世界数据,所述全连接神经元层可以将输入数据编码为潜在变量,然后将潜在变量解码为预测数据。包括图像数据(诸如视频序列)的真实世界数据可以用输入卷积层对输入数据进行编码,所述输入卷积层将输入图像数据编码为潜在变量并输出卷积层,所述卷积层将潜在变量解码为预测图像。
[0042] 可以通过在等于待预测的数据310加上真实世界数据312的持续时间的持续时间内获取真实世界训练数据的长度来训练生成预测数据的神经网络。训练数据的每个长度被划分为要用作地面实况的第一部分和要用作神经网络的输入的第二部分。第二部分被输入到神经网络以生成在第二部分之前的预测数据。可以通过将预测数据与所获取的第一部分进行比较以确定可以通过神经网络反向传播的损失函数来训练神经网络。反向传播是将损失函数值输入到从输出层开始并前进到输入的神经网络的层。训练数据的多个第二部分可以由神经网络处理持续多个迭代,同时改变对神经网络中所包括的层的操作进行编程的权重。对于每次迭代,将训练数据的第二部分输入到神经网络,并且将结果与第一部分地面实况进行比较以确定要通过神经网络反向传播的损失函数。反向传播选择产生最小损失函数的权重集,所述最小损失函数可以被保存为经训练的神经网络中所包括的权重。可以针对多个真实世界训练数据部分重复该过程以训练神经网络。
[0043] 图4是模拟系统400的图式。模拟系统400模拟计算装置115中所包括的车辆110的ADAS硬件和软件的操作,所述计算装置输入传感器116数据并输出由计算装置115使用来确定车辆轨迹的ADAS数据。模拟系统400输入从车辆110获取的真实世界数据312。如上文关于图3所讨论的,真实世界数据312可以是由车辆中的计算装置115记录并连同ADAS事件一起传送到交通基础设施系统105中的服务器计算机120的几秒钟的传感器116数据,所述ADAS事件由计算装置115响应于传感器116数据而确定。服务器计算机120可以将真实世界数据312和ADAS事件包括在数据库中,所述数据库包括来自多辆车辆110的真实世界数据312和ADAS事件。另外或替代地,服务器计算机120可以将真实世界数据312和ADAS事件转发到例如开发ADAS硬件和软件的另一个位置处的实验室或开发计算机系统。
[0044] 可以从数据库中检索真实世界数据312并将其输入到模拟系统400。如上文所讨论的,由于网络带宽和存储限制施加的约束,真实世界数据312的秒数可能不足以允许模拟系统400实现如上文关于图3所讨论的稳定性。为了允许模拟系统400实现稳定性,将真实世界数据312输入到神经网络402。神经网络输入真实世界数据312并生成预测数据310。所生成的预测数据310被输出到级联器404,所述级联器将预测数据310添加到真实世界数据312之前或将预测数据级联到真实世界数据。组合的预测数据310和真实世界数据312被输入到模拟硬件和/或软件406。
[0045] 模拟硬件和/或软件406输入组合的预测数据310和真实世界数据312并确定ADAS事件。例如,组合的预测数据310和真实世界数据312可以包括雷达数据,所述雷达数据指示车辆110正接近在同一行车道中在车辆110前方行驶的另一车辆。车辆110接近引导车辆的速率可以通过两辆车辆的相对速度来确定。取决于车辆110被确定为正在接近引导车辆的速率,所确定的ADAS事件可以是使前进运动减速或施加制动或两者的命令。所确定的ADAS事件可以由车辆110中的计算装置115记录,并且作为记录的ADAS事件408输出到服务器计算机120。由模拟硬件/软件406确定的ADAS事件可以被输出到结果解译410,在所述结果解译中,可以将所述ADAS事件与被记录并连同真实世界数据312一起上传到服务器计算机120的记录的ADAS事件408进行比较。例如,结果解译410可以确定对模拟硬件和/或软件406的更新是否增强、不改变或降低模拟硬件和/或软件的性能。模拟系统400通过允许模拟硬件和/或软件达到稳定性来增强模拟硬件和/或软件406的操作,并且因此输出准确结果,尽管网络带宽和计算机存储存在限制也是如此。
[0046] 图5是修改的模拟系统500的图式。修改的模拟系统500包括增强型神经网络502。增强型神经网络502输入由预神经网络506基于对长持续时间真实世界数据504进行编码而确定的潜在变量508。长持续时间真实世界数据504可以包括从车辆110获取的长达30秒的传感器116数据序列。处理长持续时间真实世界数据504可以允许预神经网络生成潜在变量。潜在变量可以被输出到增强型神经网络502以与潜在变量(即,在增强型神经网络502内部生成和/或使用的变量)组合,以增强从神经网络502输出的预测的准确性并提供模拟系统400的增强的稳定性。在其他示例中,可以基于如结果解译所指示的模拟硬件和/或软件
406的准确度来存储和选择由增强型神经网络502生成的潜在变量。作为由预神经网络506生成的潜在变量508的补充或替代,选定的潜在变量可以被存储并作为潜在变量508输入到增强型神经网络。
[0047] 将潜在变量508输入到增强型神经网络502可以通过允许真实世界数据312的持续时间比输入到模拟系统400的真实世界数据312更短来增强修改的模拟系统500的操作。组合通过使用长持续时间真实世界数据片段生成的潜在变量508或基于性能选择潜在变量508可以允许增强型神经网络502使用较短持续时间真实世界数据312来生成预测数据310。
使用较短持续时间真实世界数据312可以允许针对给定的网络带宽和计算机存储装置收集更多的真实世界数据312,从而降低系统复杂性。
[0048] 图6是关于图1至图6描述的用于使用模拟硬件和/或软件406更新ADAS硬件和/或软件的过程600的流程图。过程600可以由服务器计算机120或实验室计算机的处理器来实施,所述处理器将从传感器116获取的图像作为输入、执行命令并输出模拟结果。过程600包括可以按所示次序执行的多个框。替代地或另外,过程600可以包括更少的框,或者可以包括以不同次序执行的框。
[0049] 过程600开始于框602,其中模拟系统400输入由车辆110中所包括的传感器116获取的真实世界数据312。真实世界数据312可以存储在服务器计算机120或实验室计算机中所包括的存储器中,如上文关于图3和图4所讨论的。
[0050] 在框604处,模拟系统400通过将真实世界数据312输入到被训练以预测数据的神经网络中来生成预测数据310,如上文关于图3、图4和图5所讨论的。预测数据310被附加到真实世界数据312之前,以形成持续时间等于真实世界数据312和预测数据310的长度的数据。
[0051] 在框606处,更新模拟硬件和/或软件406。更新通常寻求增强模拟硬件和/或软件406的性能,包括允许模拟硬件和/或软件处理真实世界数据312中所包括的其他类型的输入数据。
[0052] 在框608处,将组合的预测数据310和真实世界数据312输入到更新的模拟硬件和/或软件以生成ADAS事件。模拟移动平台的操作的模拟硬件和软件可以基于组合的真实世界传感器数据和预测的传感器数据来实现稳定性能。如上文所讨论的,可以将ADAS事件传递到车辆110中的计算装置115以确定车辆轨迹。
[0053] 在框610处,模拟系统400可以评估输出的ADAS事件以确定由更新的模拟硬件和/或软件406输出的ADAS事件是否与和真实世界数据312包括在一起的ADAS事件一致。在这种背景下的一致意味着模拟硬件和/或软件406在真实世界数据312中检测到对象并生成ADAS事件以在由车辆中的计算装置115生成的ADAS事件之前发信号通知对象检测。不一致意味着模拟硬件和/或软件406未生成ADAS事件来在由计算装置生成的ADAS事件之前发信号通知对象检测。
[0054] 在框612处,测试比较结果以确定模拟硬件和/或软件406是否已经通过框610的比较以确定是存在一致还是不一致。在其中存在不一致的示例中,过程600可以返回到框606以修改更新并再次用新的更新运行模拟硬件和/或软件406。在其中确定一致的示例中,过程600在框612之后结束。
[0055] 图7是关于图1至图6描述的用于基于ADAS硬件和/或软件操作车辆110的过程700的流程图。过程700可以由计算装置115的处理器来实施,所述处理器将传感器116数据作为输入,执行命令,并操作车辆110。过程700包括可按所示次序执行的多个框。替代地或另外,过程700可以包括更少的框,或者可以包括以不同次序执行的框。
[0056] 在框702处,过程700将ADAS硬件和/或软件安装在车辆110中所包括的计算装置115中。ADAS硬件和/或软件是由过程600确定以正确处理真实世界数据312的模拟硬件和/或软件406。ADAS硬件和/或软件可以从模拟系统400移除并安装在车辆110中所包括的计算装置115中。在一些示例中,计算装置115具有足够的计算资源来单独作为软件运行ADAS。在其他示例中,添加硬件以增强计算装置115的计算资源以允许ADAS实时执行。
[0057] 在框704处,计算装置115从车辆110中所包括的传感器116获取真实世界数据。不需要预测数据以添加到真实世界数据之前,因为对获取真实世界数据没有限制。因为不需要传输或存储数据,所以可以将真实世界数据连续地输入到ADAS硬件和/或软件。
[0058] 在框706处,计算装置115将传感器116数据输入到ADAS硬件和/或软件。只要正在获取传感器116数据并将其输入到ADAS硬件和/或软件,ADAS硬件和/或软件就将在启动后不久达到稳定并且继续稳定操作。该技术的默认实施方式是前数据外推,例如,在获取的数据之前插入生成的数据。其他实施方式可以包括:数据插值,其中数据被插入到所获取的数据中;以及后数据外推,其中所生成的数据被插入在所获取的数据之后。ADAS硬件和/或软件将基于输入的传感器116数据来输出ADAS事件。
[0059] 在框708处,过程700基于从ADAS硬件和/或软件输出的ADAS事件来操作车辆110。计算装置115可以基于ADAS事件来确定车辆轨迹。车辆轨迹可以包括在交通中维持车辆110位置(包括变道)的横向加速度和纵向加速度。车辆轨迹的其他示例包括避开对象、停车或跟随交通信号。计算装置115可以通过命令控制器112、113、114操作车辆动力传动系统、车辆转向和车辆制动来在车辆轨迹上操作车辆110。在框606之后,过程600结束。
[0060] 诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文讨论的过程框可体现为计算机可执行命令。
[0061] 计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或TM解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:Java 、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(即,微处理器)接收即来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
[0062] 计算机可读介质(也称为处理器可读介质)包括参与提供可以由计算机(即,由计算机的处理器)读取的数据(即,指令)的任何非暂时性(即,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、电线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。共同形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH‑EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
[0063] 除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
[0064] 术语“示例性”在本文中以表示示例的意义使用,即,对“示例性小部件”的候选应被解读为仅指代小部件的示例。
[0065] 修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何形状、距离、测量值、值、确定、计算等有偏差。
[0066] 在附图中,相同的候选标记指示相同的要素。此外,可以改变这些要素中的一些或全部。关于本文所描述的介质、过程、系统、方法等,应理解,虽然此类过程等的步骤或框已被描述为按照特定顺序的序列发生,但是此类过程可以通过以本文所描述的顺序以外的顺序执行的所描述步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
[0067] 根据本发明,提供了一种系统,其具有:计算机,所述计算机包括处理器和存储器,所述存储器包括可由所述处理器执行以进行以下操作的指令:在第一时间段内从移动平台获取真实世界传感器数据;将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据;将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统;并且其中所述模拟系统基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。
[0068] 根据一个实施例,通过将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较来训练所述第一神经网络。
[0069] 根据一个实施例,将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较包括确定损失函数。
[0070] 根据一个实施例,将所述模拟系统传输到第二移动平台以进行真实世界操作。
[0071] 根据一个实施例,使用在大于并包括所述第一时间段的第三时间段内从所述移动平台获取的地面实况传感器数据来训练所述第一神经网络。
[0072] 根据一个实施例,所述移动平台的所述模拟系统基于所述真实世界传感器数据和所述预测的传感器数据来实现稳定性能。
[0073] 根据一个实施例,在第三时间段内获取第二真实世界传感器数据,其中将所述第二真实世界传感器数据输入到输出潜在变量的第二神经网络;并且其中所述潜在变量与来自所述移动平台的所述真实世界传感器数据一起输入到所述第一神经网络。
[0074] 根据一个实施例,所述模拟系统包括第二神经网络。
[0075] 根据一个实施例,所述移动平台是车辆。
[0076] 根据一个实施例,所述真实世界传感器数据包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。
[0077] 根据本发明,一种方法包括:在第一时间段内从移动平台获取真实世界传感器数据;将来自所述移动平台的所述真实世界传感器数据输入到第一神经网络以预测所述移动平台在所述第一时间段之前的第二时间段内的传感器数据;将所述预测的传感器数据和所述真实世界传感器数据输入到所述移动平台的模拟系统;并且其中所述模拟系统基于所述第二时间段内的所述预测的传感器数据和所述第一时间段内的所述真实世界传感器数据来输出所述移动平台的预测的真实世界操作。
[0078] 在本发明的一个方面,通过将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较来训练所述第一神经网络。
[0079] 在本发明的一个方面,将从所述模拟系统输出的所述移动平台的所述预测的真实世界操作与所述移动平台的观察到的真实世界操作进行比较包括确定损失函数。
[0080] 在本发明的一个方面,将所述模拟系统传输到第二移动平台以进行真实世界操作。
[0081] 在本发明的一个方面,使用在大于并包括所述第一时间段的第三时间段内从所述移动平台获取的地面实况传感器数据来训练所述第一神经网络。
[0082] 在本发明的一个方面,所述移动平台的所述模拟系统基于所述真实世界传感器数据和所述预测的传感器数据来实现稳定性能。
[0083] 在本发明的一个方面,在第三时间段内获取第二真实世界传感器数据,其中将所述第二真实世界传感器数据输入到输出潜在变量的第二神经网络;并且其中所述潜在变量与来自所述移动平台的所述真实世界传感器数据一起输入到所述第一神经网络。
[0084] 在本发明的一个方面,所述模拟系统包括第二神经网络。
[0085] 在本发明的一个方面,所述移动平台是车辆。
[0086] 在本发明的一个方面,所述真实世界传感器数据包括视频数据、雷达数据、车辆控制器局域网数据或车辆发动机控制单元数据中的一者或多者。
QQ群二维码
意见反馈