用于处理传感器数据的方法及数据处理网络与流程

文档序号:39879150发布日期:2024-11-05 16:34阅读:51来源:国知局
用于处理传感器数据的方法及数据处理网络与流程

驾驶辅助或自动驾驶系统由许多单独的软件单元构成,这些软件单元通常可以关于数据流利用图形来描述。这些软件单元(通常也被称为可运行单元、节点或数据处理部件)的特征在于,处理大量输入数据,并且从中产生大量输出数据。


背景技术:

1、在上述的系统中,传感器、例如雷达或视频的输入数据在来自数据处理部件的图形中被处理,该图形在静态视图中可视化数据流。

2、不同的软件单元定期形成复杂的数据处理网络,利用该数据处理网络处理传感器数据,以便基于传感器数据执行动作,其中,这些动作例如可以是在车辆的自动驾驶运行的范围内的控制任务。数据处理网络中的数据处理通常包括多个相互构建的利用数据处理部件执行的数据处理步骤或数据处理任务。

3、在这种数据处理网络中,数据处理任务的执行取决于相应的条件,该条件可以包括诸如时间步长或数据到达之类的刺激。确定数据处理部件的执行的控制流通常从数据流导出。

4、存在数据驱动方法,其中,数据处理部件的执行以数据流为基础。此外,还存在应用数据处理部件的时间驱动的执行的方法。近年来,最坏情况执行时间(尽可能长的执行持续时间)的概念丰富了这一点。

5、在严格的数据驱动方法中,通过数据包的到达触发数据处理部件的执行。在相应的图形中,在数据处理部件的执行中发送数据包可能会导致立即执行相关的数据处理部件。如果新的数据包在数据处理部件仍执行期间到达,那么数据处理部件的多次并行执行甚至是可想到的。这样的系统具有低的延迟,但具有大量可能的状态。

6、尤其是在用于自动驾驶运行的传感器数据的处理中,在可用的用于类似处理所有可用的传感器数据的可用的计算能力方面往往存在限制。


技术实现思路

1、在该背景下,在此应该描述一种数据处理方法,其目标是在同时高的性能中实现数据处理的可再现性。

2、在此,应该描述一种用于处理车辆中的传感器数据的方法,该车辆具有数据处理网络,该数据处理网络包括多个数据处理模块,这些数据处理模块分别包括至少一个数据处理部件,其中,每个数据处理部件设计用于定义的用于处理传感器数据的数据处理任务,其中,每个数据处理模块获得传感器数据和/或另外的数据处理模块的输出数据作为输入数据并且产生输出数据,这些输出数据又是数据处理网络的网络输出数据和/或者另外的数据处理模块的输入数据,其中,至少两个传感器被划分为至少两个不同的资源组,其中,该方法包括以下步骤:

3、a)接收至少一个参数,借助该至少一个参数可以确定资源组的传感器的至少一个优先级;

4、b)借助至少一个参数确定至少一个资源组的至少一个优先级;

5、c)根据所确定的优先级激活数据处理模块。

6、特别优选的是,针对至少一个数据处理模块,在步骤c)之后执行以下步骤:

7、a)接收输入数据集,以用于在相应的数据处理模块的至少一个数据处理部件中执行数据处理任务;

8、b)接收刺激,以用于激活数据处理模块的至少一个数据处理部件;

9、c)如果在步骤a)中已接收到输入数据集,并且在步骤b)中已收到刺激,那么激活数据处理模块的至少一个数据处理部件并且执行数据处理任务,针对该数据处理任务,数据处理部件设计用于利用相应的输入数据产生输出数据;并且

10、d)提供输出数据,以用于进一步的数据处理和/或作为网络输出数据。

11、根据资源组和步骤a)至c)执行该方法能够改进在车辆中的数据处理网络中的数据处理中的资源使用。

12、在步骤a)中接收到的至少一个参数是可以在技术上有意义地确定特定的资源组的优先级的任何参数。下面解释哪些类型的参数在此基本上可以是有意义的。可以确定资源组的优先级的参数尤其是指可以确定优先级的参数,利用该优先级应该处理相应的资源组内的传感器的传感器数据。

13、在步骤a)中,参数可以基本上来自于任意的数据源,例如,这种参数可以来自于方法外部的预设。然而也可能的是,这种参数由方法本身产生,其方法例如是,在数据处理网络内,在方法的先前的执行中确定这种参数。另一可能性是,来自资源组的至少两个传感器的传感器数据与在此描述的方法并行地输送至进一步的数据处理,并且在该数据处理中、必要时在传感器数据的短的预评估中求取这种参数,以用于估计应该处理传感器数据的优先级。

14、在步骤b)中,借助至少一个参数确定至少一个资源组的至少一个优先级。优选地,为所有资源组分别确定优先级。该步骤尤其也包括对相应的参数的加权。例如可能的是,借助在步骤a)中接收到的参数,两个资源组的优先级都是很高的。将两个资源组设置为非常高的优先级于是可能是没有意义的。通常,在这种情况下将两个优先级分配给相等的平均优先级值是更有利的。这种方法在技术上例如可以实现为,使得在步骤b)中确定的所有优先级合计小于总优先级和。在步骤b)中可以实现的其他的适当的方法例如是,替代资源组的优先级的升级地或必要时作为其补充来执行其他资源组的优先级的降级。

15、在步骤c)中借助确定的优先级激活数据处理模块优选包括对于来自资源组的传感器的相应的传感器数据的期望的评估所需的所有数据处理模块。这尤其不仅包括直接将传感器数据作为输入数据进行处理的数据处理模块,而且还包括将其他的数据处理模块的输出数据作为输入数据进行处理的数据处理模块,这些输出数据是具有高的优先级的相应的资源组的传感器的传感器数据的处理结果。

16、在该情况下也可能的是,一起处理来自具有较低的优先级的其他资源组的传感器的传感器数据。例如可能的是,主要涉及来自特定的资源组的传感器数据的数据处理的数据处理模块有时附加地被提供以来自其他资源组的传感器的传感器数据,因为数据处理网络的图形预设这一点,例如因为这对于利用传感器求取的传感器数据进行全面的评估是有益的。

17、相对于用于求取和利用各个数据处理任务的优先级的高级的方法步骤a)至c),根据步骤a)至d)在各个数据处理模块中的数据处理形成优选的、次级的方法。(根据步骤a)至c)并且根据步骤a)至d)的)两个方法一起作用,以便在数据处理的同时高的可靠性和可再现性的情况下确保可用的计算能力/硬件的特别好的负荷。

18、通过在各个数据处理模块中根据步骤a)至d)的数据处理,尤其解决以下问题,即在传统的方法中很难实现可预测性和可再现性。这难以实现安全措施、例如在两个μ处理器上同时执行相同的软件的软件锁步。尽可能准确地重新计算所记录的驾驶情况(重新计算)也是困难的,因为要考虑其他的运行时间行为并且因此可能要考虑其他的结果。

19、根据步骤a)至d)的在此描述的方法的基础是,数据处理网络的多个数据处理部件分别被组合成所谓的数据处理模块,并且因此产生数据处理网络的附加的高级的结构。在该结构级别中,各个数据处理部件的输入数据和输出数据分别在模块内组合,并且数据流通过该级别的数据处理网络被控制或监控。该结构优选还用于利用在步骤b)中确定的优先级,以用于根据所确定的优先级(优选)激活相应的数据处理模块(步骤c)。

20、在调节技术比例较高的汽车行业中,时间片中的执行迄今总是占主导的(例如10ms、20ms、100ms任务)。然而尤其地,如果使用多核系统作为用于利用这种数据处理网络执行数据处理的硬件,那么出现附加的问题。尤其是在多核系统上,数据处理网络的数据处理部件的运行时间出现波动。由于这种波动的运行时间,一个数据处理部件的输出数据作为另外的数据处理部件的输入数据的配属变得困难或不再可预测。该可预测性必要时又可以例如利用最大可能执行时间/加工时间的概念被改进。但这些概念恶化了硬件(多核系统)的可负荷性。硬件必须明显更大地设计。

21、在此,所描述的(高级)方法提供协同效应。通过专注于具有特别高的优先级的数据处理任务和数据处理模块,可用的硬件的负荷可以进一步得到改进并且越来越多地用于确保数据处理网络的输出数据的特别高的质量的目标。

22、尤其通过高度复杂的驾驶辅助的应用或在自动驾驶的应用中,明显提高待处理的传感器数据的量。然而,这种系统的所需的响应时间与在传统的驾驶辅助应用中相比是类似的或甚至更低。这意味着,在类似的时间段内,在更长的处理链中必须执行更多的且计算成本更高的计算。这在现有的时间驱动方法中导致不可接受的延迟,因为附加的延迟通过整个链中的各个时间片之间的过渡相加。

23、根据方法步骤a)至d)提出的方法能够实现,将数据驱动执行的方法与数据处理部件的时间驱动执行的成果组合。因此,数据处理网络可以运行为,使得出现与在纯时间驱动的系统中相比更低的延迟(更好的性能)和与在严格的数据驱动系统中相比更好的可再现性。这能够满足关于自动驾驶系统中的延迟的高的要求,并且同时具有能够实现软件锁步中的执行和重新计算中的精确的可再现性的系统。对于步骤b),可以确定适当的刺激,该刺激确定步骤c)中的数据处理的执行,其中,随后使用在步骤a)中接收到的输入数据。随后,利用步骤d)提供输出数据以用于后续的处理步骤。如果相应的数据处理模块是数据处理网络中的最后的数据处理模块,则数据也可以被称为网络输出数据或系统输出数据,其例如同时是处理或针对应用考虑数据的控制器的输入数据。

24、通过所述方法,数据处理任务的时间和数据驱动的执行是可能的。当在步骤b)中接收到刺激时,实际开始数据处理。随着刺激的到达,数据处理部件在一定程度上可看到数据。因此,在时间上相关的数据结构共同在数据处理模块之间传输。借助在高级的结构中提供的数据处理模块,为数据处理部件提供数据。高级的数据处理模块的结构和在该级别上提供数据的事实明显减少整个数据处理网络的系统状态的数量。

25、特别优选的是,在步骤d)之后仍执行以下步骤:

26、e)提供由输入数据集、刺激和/或输出数据构成的验证数据集,以用于验证利用至少一个数据处理部件执行至少一个数据处理任务。

27、步骤e)在此理解为在步骤c)之后针对每个数据处理模块执行的一系列方法步骤a)至d)的一部分。

28、优选的是,验证数据集附加地包含至少一个时间信息,该至少一个时间信息能够实现刺激的时间点和/或关于处理至少一个数据处理任务的时间信息。

29、例如,可以通过记录数据处理任务的执行的开始和结束来提供这样的时间信息。因此,被处理的输入数据和产生的输出数据可以示出在共同的逻辑时间线上,并且能够实现所描述的方法的测试计算。

30、可能的是,当刺激作为激活出现时,将另外的数据处理模块的输出数据作为输入数据进行处理的数据处理模块开始进行处理。因此,与时间驱动方法相比,避免由于wcet引起的并且直到接收的数据处理模块的时间片开始的附加的延迟。

31、通过在此描述的方法,实现执行各个数据处理任务的可再现性,因为关于分别被处理的输入数据的信息是可再现的。

32、在所提出的方法中,在实施(执行步骤c)期间,数据处理模块总是具有对世界或被处理的输入数据的冻结视图。在执行方法期间,输入数据不会改变。这通过在步骤a)中收集到达的输入数据、监控数据并且在逻辑时间内原子地传送数据来实现。为了关于数据处理模块的输出数据通过其他的数据处理模块的执行一致地处理所述数据处理模块的输出数据,这些输出数据优选也被收集。

33、特别优选的是,为了在步骤c)中激活数据处理模块,在步骤b)中接收到的刺激(9)以在步骤b)中确定的优先级被求取。

34、步骤c)和b)优选共同涉及根据步骤a)至c)的高级的方法与根据步骤a)至d)的针对每个数据处理模块被执行的次级的方法的共同作用。优选地,通过优先级来控制用于激活相应的数据处理模块的刺激的发送。借助优先级,例如可以针对性地导致具有较低的优先级的数据处理模块的延迟,以便为具有较高的优先级的数据处理模块提供附加的计算能力。例如也可能的是,针对性地提高(时间受控的)频率,利用该频率为特定的数据处理模块发送刺激。

35、优选的是,使用至少一个计时器来产生在步骤b)中使用的刺激,计时器预设用于利用数据处理部件定期重复执行数据处理任务的时间网格。

36、例如,定时器可以是硬件上的相应的结构组,数据处理网络在该硬件上运行,并且该结构组针对每个数据处理模块在规则的间隔中输出定时器信号,该定时器信号形成刺激并且触发方法的执行。这样的时间网格可以借助优先级被修改,以便实现根据相应的优先级执行数据处理任务。

37、此外优选的是,使用至少一个可用性信号来产生在步骤b)中使用的刺激,该至少一个可用性信号表明数据的可用性。例如,该可用性信号可以由在其他的数据处理模块中描述的方法的之前的执行引起。如果借助优先级可看到的是,尽管存在数据的当前的可用性,但利用特定的数据处理模块的数据处理在特定的情况下是不太重要的,那么这种可用性信号例如可以利用优先级被延迟,以便为具有更高的优先级的数据处理任务提供计算能力。

38、特别优选的是,由定时器和可用性信号构成的组合形成刺激。每当通过可用性信号表明新的数据时,数据处理模块都处于响应计时器的准备中。仅当定时器和(至少一个)可用性信号表明应该开始数据处理时,才在相应的数据处理模块的数据处理部件中进行数据处理(步骤c))。优选地,相应的资源组的优先级也一起包含在刺激利用由定时器和可用性信号构成的组合的形成中。

39、特别优选的是,利用数据处理模块的输入数据接收模块执行步骤a),该输入数据接收模块具有用于缓存尚未完整的输入数据的输入存储器并且执行输入数据集的完整性测试。

40、此外优选的是,利用输出数据提供模块执行步骤d),该输出数据提供模块具有输出存储器,在其中对尚未完整的输出数据进行缓存。

41、优选地,数据处理模块因此具有特殊的门(输入数据接收模块=输入门,并且输出数据提供模块=输出门),以便执行数据处理任务。

42、通过这些门,控制单元可以监控数据处理模块之间的数据流。如果控制单元现在将数据处理模块的执行的开始和结束与数据通过门的转发同步,则可以控制什么时候、利用哪些数据执行哪个数据处理模块。为了决定数据处理模块的启动,对上述的刺激进行评估。

43、特别优选的是,在数据处理设备上执行该方法,在该数据处理设备上可以并行或伪并行地执行多个线程,其中,每个数据处理模块配属于一个线程,其中,在步骤c)中,通过以相应的优先级激活相应的线程来激活数据处理模块。

44、此外优选的是,数据处理设备提供一种执行所述方法的运行系统,其中,在运行系统中可以为线程分配系统优先级,其中,为了在步骤c)中以相应的优先级激活相应的线程,执行优先级到系统优先级的换算。

45、线程优选由运行系统预设或预定义,在运行系统上执行所述方法,或在运行系统上,所描述的数据处理网络设计用于执行所描述的方法。例如,这样的运行系统可以提供固定定义的数量的线程或可变的(可根据需要可适配的)数量的线程。在优选的实施变型方案中,与数据处理模块对应的数据处理任务(当其应该定期被执行时)被设定到相应的线程中以供执行。在线程中,这些数据处理任务根据优先级进行处理。

46、通常,优先级系统由运行系统预设,优先级系统能够控制在运行系统中处理数据处理任务的优先级。然而,这种优先级系统通常并不真正适用于执行在此提出的用于基于优先的资源组处理传感器数据的数据处理任务的优先级管理。例如,在运行系统中存在优先级系统,优先级系统主要设计用于为各个特别重要的任务赋予高的优先级并促使其加速的(或更早的)处理。在此描述的系统通常具有稍微不同的目的。与如果一定量的数据处理任务被升级相比,如果大量不太相关的数据处理任务在其优先级方面被降级,那么例如通常更可能实现对来自特定的资源组的传感器的传感器数据的更快的处理(目的是尽早地/尽快地产生与决策相关的信息来控制自动驾驶过程)。由于该原因。这些要求通常仅能有限地利用优先级系统实现,该优先级系统提供本身非常适当的运行系统。由于该原因,在此提出一种优先级编译器或优先级换算器,其将在步骤b)中确定的优先级换算为系统优先级,然后利用这些系统优先级执行运行系统的线程中的数据处理任务的执行或数据处理模块的执行。

47、此外有利的是,通过在步骤b)中确定优先级,执行所述方法的数据处理设备的计算能力被集中于对来自一个或多个资源组中的传感器的数据进行处理,即集中于这些传感器或在步骤b)中配属高的优先级的资源组。

48、在将计算性能集中于特定的资源组中的传感器的传感器数据时尤其可以实现的是,以减少的处理时间、增加的处理频率(更频繁地重复的测试和处理这些传感器的更新的传感器数据)和/或以更高的精度(对相应的传感器数据的深入分析)实现来自这些传感器的数据。在此优选地,不完全抑制对来自其他资源组的传感器的传感器数据的处理,在步骤b)中,为这些其他资源组确定较低的(或较低的)优先级。

49、此外有利地,在数据处理设备上执行该方法并且在步骤b)中,在考虑至少一个负荷参数的情况下确定优先级,其中,至少一个负荷参数考虑数据处理设备在处理来自一个或多个特定的资源组的传感器的传感器数据时的负荷。

50、这种负荷参数可以作为高级的参量包含在步骤b)中的优先级确定中。在例如包括多个微处理器的广泛的数据处理设备中,多个负荷参数也可以彼此并行使用。

51、如果优先级在步骤b)中根据驾驶情况被确定,那么该方法是特别优选的。

52、如果在步骤b)中确定优先级,使得优先处理来自根据驾驶情况增加关注是有利的传感器的数据,那么该方法是进一步有利的。

53、在此,多个有效的方法控制总体上是可能的。在该情况下优选首先有利的是,在步骤a)中接收到的参数能够推导出相应当前的驾驶情况。例如,这些参数可以直接从车辆的总线系统被求取。例如可能的是,在向右或向左转弯时求取通用的转向角。可以通过总线系统获得的其他信息例如是速度、倒车等。在其他的实施变型方案中也可能的是,例如通过在此描述的方法的先前的执行来获得这些参数。例如,借助所述方法从传感器数据可以求取的是,很多行人位于车辆附近。随后,这些信息可以用于确定所述方法的优先级。另一组的可能的可用信息例如是地理信息、例如车辆刚好是处于高速公路上还是乡村公路上的问题,或例如可以推断出更高的交通流量的时间信息,或类似信息。

54、在步骤b)中,可以借助许多不同的方法来确定根据驾驶情况应该给予哪些传感器或哪些资源组更多的关注,以便确定优先级。这例如可以通过特性曲线或网络来实现,在其中存储有关于需要增加关注的知识。然而,这也可以是相当简单的决定。如果资源组包括车辆左侧的传感器,而另一资源组包括车辆右侧的传感器,那么当车辆右转时,可用的计算性能集中于车辆右侧的传感器可能是有利的。任何更复杂的情况可以利用所描述的方法来涵盖。

55、优选地,提供传感器/数据源或将其划分为资源组还能够实现的是,通过优先级可以控制能够同时激活多少个用于处理来自资源组的传感器的传感器数据的数据处理模块。如果出现针对模块的刺激,则该数据处理模块或相关的数据处理任务的处理可以优选被推迟,直到“空闲资源”再次对于该资源组是可用的。

56、优选地,为此目的已经提供参数,该参数定义允许处理的数据处理模块的最大数量。该参数优选可以动态(根据驾驶情况)被适配。

57、在此还应该描述一种用于执行所述方法的数据处理网络,该数据处理网络具有至少一个数据处理模块,该数据处理模块具有配属输入存储器的输入数据接收模块和配属输出存储器的输出数据提供模块并且还具有至少一个数据处理部件,用于基于输入存储器中的输入数据执行数据处理任务并且用于产生用于存储在输出存储器中的输出数据。

58、数据处理网络尤其也包括用于求取优先级的优先级模块,以用于根据步骤a)至c)激活各个数据处理模块。

59、此外,应该描述包括多个这样的数据处理模块的数据处理网络。

60、上面提供的对方法的解释可以转移到并且可应用于数据处理模块和数据处理网络。

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