本发明涉及一种通过使用数据过滤器在车辆中提供数据的方法以及用于执行该方法的计算单元和计算机程序。
背景技术:
1、在车辆开发过程中,无论是在车辆开始批量生产之前还是之后,都可以记录和分析车辆中产生的数据(例如传感器信号),以便例如检查各种功能并发现任何错误。获得此类数据的一种可能性是,例如,使用车辆中专门配置的记录所需数据的测量计算机。
技术实现思路
1、根据本发明,提出了一种具有独立专利权利要求的特征的用于提供数据的方法以及用于执行该方法的计算单元和计算机程序。有利的设计方案是从属权利要求和以下描述的主题。
2、本发明涉及在车辆中提供并且特别是收集数据、特别是信号,或者说提供并且特别是收集在车辆中产生的数据、并且确切地说特别是在车辆运行期间产生的数据,特别是信号。为了获得这样的数据,如上所述地考虑在车辆中使用专门配置的记录所需数据的测量计算机。然而,这关联到巨大的耗费并且尤其是对于大量车辆而言通常并不实用。还表明,已经批量生产并由客户驾驶的车辆有时可以为开发提供相关数据(所谓的现场数据)。这里并不考虑部署测量计算机。
3、此外,恰恰是在现代车辆中会产生大量此类数据,因为车辆中存在越来越多的传感器、执行器和控制装置或功能,例如用于自动驾驶。在此情况下,要找到具体所需的数据可能很困难。除此之外,从大量车辆收集所有产生的车辆数据通常是没有意义的,特别是如果例如要考虑将车辆数据无线传输到例如服务器以供进一步使用的话。
4、在此背景下,建议在车辆中使用或应用特殊的数据过滤器。该数据过滤器例如可以被实施为车辆的计算单元、特别是控制装置或中央计算机上的(于是例如在所谓的“车辆边缘计算(vehicle edge computing)”的范畴内的)软件模块。鉴于上述解释,如果在大量车辆上使用这种数据过滤器,则这是特别适宜的。
5、在此情况下,并且确切地说特别是在车辆的运行期间,获取在车辆中产生的车辆数据作为针对数据过滤器的输入数据。为此,可以允许该数据过滤器或相关软件模块访问例如车辆中的一个或多个总线或其他通信介质,例如以便能够记录或读出在车辆中所产生的全部车辆数据。在车辆中产生的这些车辆数据在此包括例如在车辆运行期间由传感器和/或执行器和/或控制装置生成的信号和/或消息。应当提及的是,根据数据过滤器的类型和部署而定,不一定必须能够记录或读出所有产生的车辆数据,尽管这是适宜的。因此,根据应用情况而定,例如,在特殊总线上或由特定传感器/执行器或控制装置产生的车辆数据可能就足够了。
6、通过将具有所提供的配置的数据过滤器应用于输入数据,于是从输入数据选择和/或生成满足通过所提供的配置而预给定的一个或多个条件的数据。然后,如果可用的话,所选择的和/或生成的数据(可能以信号的形式)作为输出数据被提供。有利地,所提供的输出数据被输出到外部,即车辆外部,特别是通过无线通信。例如,因此,输出数据可以被传输到服务器,开发者或其他被授权方可以从服务器检索和使用所述输出数据。
7、当数据过滤器被激活时,所产生的车辆数据于是被分析,并且如果需要的话,相应的输出数据被确定和提供,并且如果需要的话,被传输到外部。从这个意义上说,还可以论及触发器或触发器框架,因为每当车辆数据或输入数据满足通过所述配置而预给定的条件时,就确定或生成输出数据,并且如果需要的话,传输输出数据。
8、如稍后将更详细解释的,还可能发生:当应用特定配置或特定数据过滤器时,并不从输入数据选择和/或生成数据,即,如果所述输入数据例如不满足这些条件,或者至少不在常规运行期间,而是例如仅在错误的情况下,则并不从输入数据选择和/或生成数据。而这正是在本发明的范畴内尤其应该也使用到的。
9、另外,通过所提供的配置预给定的所述一个或多个条件以具有数据标识符的相对于车辆数据抽象化的形式而存在。例如,可以选择形式描述语言。为此,于是也应例如以分配表的形式而提供从这种抽象标记(数据标识符)到(实际)车辆信号或车辆数据的分配。配置中输入和输出数据的抽象描述使其无关于具体的车辆架构、e/e架构和车辆功能。数据过滤器的这种抽象描述可以通过形式语言来实现,其可以在不同的车辆类型、制造商等之间以相同的方式使用,并且因此也可以重复使用。
10、抽象标记(数据标识符)和(实际)车辆信号或车辆数据之间的分配(或转换)特别优选地自动地在应用中或应用期间通过信号和形式语言的所使用的要素之间的配置文件(映射)来进行。
11、可以设置在数据过滤器的上游的组件,该组件自动将形式语言的符号翻译成字节码(例如以“stl编译器”的方式,stl见下文),即,条件的描述(触发条件)总是以形式语言进行,没有手动生成代码。例如,这种到字节码的翻译可以在车辆外部进行(上游的组件于是位于车辆外部),并且仅将经翻译的字节码传输到车辆中;然而,也可以在运行时解释触发条件,于是上游的组件位于车辆中。例如,后者优选地在开发阶段中和所谓的“快速原型(rapid prototyping)”中进行,前者优选地发生在受调节的使用条件的环境中(其中,例如,运行时行为的这种变化的影响应该或者必须预先被测试和被防止)。
12、特别优选地,通过使用信号的时序逻辑来进行:应用数据过滤器,特别是检查是否满足通过所提供的配置所预给定的所述一个或多个条件。信号的这种时序(时间上的)逻辑也以名称“信号时序逻辑(signal temporal logic)”、即stl而已知。时序逻辑或时间逻辑是逻辑的扩展,通过其可以记录时间流程。例如,这些是基于时间点之间的前后关系的模态逻辑的应用。
13、于是,信号时序逻辑(stl)特别涉及信号的时间进程,在这种情况下是车辆中的信号(或者通常是数据或消息)。特别是,在此考虑如在车辆运行期间产生或可能产生的实时限制或实时条件;还可以考虑实际上可能的值的限制或条件,例如专门适配于车辆中可能的信号或数据。信号定时序逻辑的更多细节描述和解释可以在例如“https://people.eecs.berkeley.edu/~sseshia/fmee/lectures/eecs294-98_spring2014_stl_lecture.pdf”中找到。
14、使用信号的时序逻辑使得可以针对信号或数据,并且确切地说不仅是针对各信号,而且特别是还针对多个信号的组合来预给定或定义例如必须满足的或者不允许满足的特定条件(例如模式或标准)。例如,针对车辆中的两个特定信号可以适用:这两个信号在正常运行期间或在没有错误的情况下永远不可能同时呈现相同的值。如果确为这种情况,则可以假定有错误。例如,这使得可以创建具有针对数据过滤器的条件的配置,其中,如果没有错误,则不会获取可以提供的输出数据。相反,如果在应用具有这种配置的相关数据过滤器时获取输出数据,则可以得出结论:存在错误,并且确切地说例如在这两个信号之一中或生成这些信号的单元(传感器、执行器、控制装置)中存在错误。但是,使用信号的时序逻辑同样还可以使得从输入数据中过滤出对特定开发项目或特定问题很重要的特定信号或信号(或数据)的组合,并且然后相应地将其作为输出数据而提供。
15、通过使用形式语言,在无法例如经由大量车辆/公里/运行小时样本而收集到有关特定错误行为的数据的情况下,可以保证数学上可证明的系统属性(例如最小距离),或者甚至可以导出统计学论证。
16、下面给出了针对使用stl的形式语言中的条件的示例:
17、float vx,ax;
18、bool persondetection;
19、formula=once[0s,2s,ax<=0]and once[2s,2.1s,persondetection]andalways[2s,2.1s,vx>2];
20、以此针对车辆在x或纵向方向上的速度(vx)和加速度(ax)以及使用相机对人员的识别(persondetection)列出条件。如果车辆行驶得比2ms/更快时识别到有人,并且之后在接下来的2秒内加速度小于或等于0m/s2,则应记录并输出数据。在此情况下,也即假设由于识别到人而发出制动。术语“once(一旦)”、“always(总是)”对应于通常的stl条件。
21、通过上述组件(stl编译器),这些条件于是可以被翻译成例如字节码,使得相关控制装置知道要观察哪些信号,以便恰恰知道例如车辆的速度。相应地,所获取的信号(该信号于是例如作为字节码而存在)可以被再翻译成形式描述。
22、不仅可以以一种配置来设置一个这样的数据过滤器,而是还可以在车辆或车辆的计算单元上(或者也可以在车辆的不同计算单元上)设置多个这样的数据过滤器。这些数据过滤器于是可以用于不同的目的,但基本上以相同的方式起作用。不同的数据过滤器可以但不是必须访问相同的车辆数据。不同过滤器的输出数据通常会不同,但也可能相同,即使例如数据过滤器的类型或其配置不同。
23、优选地,数据过滤器基于从外部、即从车辆外部特别是通过无线通信(所谓的“空中下载(over the air)”,ota)获取的信息而被激活或停用,以用于激活或停用数据过滤器。因此,数据过滤器基本上可以存在于车辆的计算单元上,例如作为例如特别设置的存储区域上的所提及的软件模块,但是可以仅在需要时被激活并且然后在需要时再次停用。例如,开发团队可能在特定时间点对特定信号或其属性感兴趣。为此目的,于是可以利用适当的配置来在特定时间段激活存储在计算单元上的数据过滤器。
24、有利地,基于从外部、即从车辆外部特别是通过无线通信获取的信息来选择配置,以从多种配置中选择配置。因此,可以为数据过滤器存储多种特别是不同的配置,所述配置例如从输入数据确定不同的输出数据。根据当前的需求而定,于是可以选择其中一种配置;这可以例如通过将相应的命令(用于选择配置的信息)传输到车辆或进行执行的计算单元来进行。
25、在使用(选定的)配置激活的数据过滤器的情况下,于是特别是在车辆运行期间(运行时)分析所产生的车辆数据,并且如果需要则确定并提供相应的输出数据,并且如果需要,则将其传输到外部。从这个意义上说,也可以论及触发器或触发器框架,因为每当车辆数据或输入数据满足通过所述配置而预给定的条件时,就确定或生成输出数据,并且如果需要的话,传输输出数据。
26、也有利的是,配置是从外部获取的,即从车辆外部获取的,特别是通过无线通信获取的。所述配置虽然可以例如在车辆制造时已经在进行执行的计算单元上被提供(例如,在框架内或者与车辆的所谓的变体编码相当地),但是这些配置也可以稍后被传输到那里。例如,如果特定配置仅在之后才变得相关或已知,则这是令人感兴趣的。通过这种方式也可以获取多种配置;这样,也可以用另外的配置来补充已经现有的配置。还可以通过这种方式更新(升级)一个或多个现有配置。、
27、优选地,应用数据过滤器包括:使用诸如人工神经网络的机器学习算法。在此,通过机器学习算法,可以例如将特定计算或标准(恰恰按照配置)应用于针对数据过滤器的输入数据,以获取输出数据。但是,机器学习算法同样可以例如仅用于其中的子任务,例如还用于最终要检查的输入数据的预选择和/或用于针对信号的时序逻辑的应用的输入数据的预处理。因此也可以集成复杂的计算步骤,并且确切地说无论具体应用情况如何也可以集成复杂的计算步骤。
28、通过将神经网络的输出信号又作为输入(输入数据)馈送到数据过滤器中,例如可以将神经网络(nn)纳入到信号的预处理链中。例如,神经网络可以映射“传感器失明(sensorblindness)”的函数,并且如果在指定时间段(例如300毫秒)内不间断地识别到前置摄像机的传感器失明,数据过滤器就会输出数据。对此的应用情况可能是,例如,挡风玻璃刮水器的移动应作为假正例而被剔除。
29、一般来说,原则上,所有类型的复杂计算都可以从数据过滤器中被转移出来,并且仅可以对复杂计算的输出信号级的时间依赖性进行建模。因此,将复杂的检测逻辑与时间行为和相互依赖性分开。
30、有利地,只有在满足关于运行时行为的一个或多个标准的情况下才进行:提供车辆数据,其中至少包括应用数据过滤器,但特别还包括获取输入数据和提供输出数据。特别是,如果不再满足多个标准中的一个或至少一个,则也中止提供车辆数据。如已经提到的,数据过滤器的应用包括在运行时提供输出数据以及如果需要的话传输输出数据。因此,在进行执行的计算单元上的计算资源被使用。因此,应注意:计算单元(例如控制装置、中央计算机)原本或主要设置用于的任务也可以被执行。如果这由于对数据过滤器的应用而不再可能或者在预给定时间的范围内不再可能,则数据过滤器的应用可以并且应该被中断,或者如果需要的话根本还未开始。因此,作为标准而考虑的是:例如一定份额的自由可用的计算能力和/或存储区域,或者缺少安全关键的调节干预。
31、通过在进行执行的计算单元上预先保留所需的受保护的存储区域,使得也能够在安全关键的系统的领域中应用这种数据过滤器,其中应确保:在数据过滤器的配置和规模方面的变化仅仅在预先保留的受保护的存储区域以及运行时预算的极限内变动。
32、根据本发明的计算单元,例如机动车辆的控制装置或中央计算机,特别是在编程技术方面被设置为执行根据本发明的方法。
33、以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实施根据本发明的方法也是有利的,因为这导致特别低的成本,特别是如果进行执行的控制装置还被用于其他任务并且因此无论如何都存在的话。最后,提供一种机器可读存储介质,其上存储有如上所述的计算机程序。用于提供计算机程序的合适的存储介质或数据载体特别是磁、光和电存储器,例如硬盘、闪存、eeprom、dvd等。还可以通过计算机网络(互联网、内联网等))下载程序。这样的下载在此可以是以有线的或线缆连接的或无线的方式(例如,通过wlan网络、3g、4g、5g或6g连接等)来进行。
34、本发明的进一步的优点和设计从说明书和附图中得出。
35、本发明使用实施例在附图中示意性地示出,并且下面参考附图进行描述。
1.用于在车辆(100)中提供数据的方法,所述方法包括:
2.根据权利要求1所述的方法,其中通过使用信号的时序逻辑来进行:应用所述数据过滤器(112、212),特别是检查是否满足通过所提供的配置所预给定的所述一个或多个条件(216、218)。
3.根据权利要求1或2所述的方法,其中将具有所提供的配置(114、214)的所述数据过滤器(112、212)应用于输入数据包括:使用所述输入数据与所述数据标识符之间的分配。
4.根据前述权利要求中任一项所述的方法,其中,所提供的输出数据(170、270)被输出到外部,特别是通过无线通信而被输出到外部。
5.根据前述权利要求中任一项所述的方法,其中,所述数据过滤器(112、212)基于从外部、特别是通过无线通信所获取的信息而被激活或停用,以用于激活或停用所述数据过滤器。
6.根据前述权利要求中任一项所述的方法,其中,基于从外部特别是通过无线通信所获取的信息来选择所述配置(114、214),以从多种配置中选择配置。
7.根据前述权利要求中任一项所述的方法,其中,所述配置(114、214)是从外部特别是通过无线通信所获取或更新的。
8.根据前述权利要求中任一项所述的方法,其中,使用分别具有配置(114、214)的多个数据过滤器(112、212)来确定并提供相应的输出数据(170、270)。
9.根据前述权利要求中任一项所述的方法,其中应用所述数据过滤器(112、212)包括:使用机器学习算法。
10.根据前述权利要求中任一项所述的方法,其中,只有在满足关于运行时行为的一个或多个标准的情况下才进行:应用所述数据过滤器(112、212),并且特别是如果不再满足多个标准中的一个或至少一个,则也中止应用所述数据过滤器。
11.根据前述权利要求中任一项所述的方法,其中,在车辆(100)中产生的车辆数据(160、260、262、264、266)包括:在车辆运行期间由传感器(130、132、134、136)和/或执行器(140、142)和/或控制装置(122、124)生成的信号和/或消息。
12.计算单元(110),特别是车辆的控制装置或中央计算机,所述计算单元被设置为执行根据前述权利要求中任一项所述的方法的所有方法步骤。
13.计算机程序,当所述计算机程序在计算单元(110)上被执行时,所述计算机程序促使所述计算单元(110)执行根据权利要求1至11中任一项所述的方法的所有方法步骤。
14.机器可读存储介质,其上存储有根据权利要求13所述的计算机程序。
