METHOD FOR PROCESSING SENSOR DATA AND DATA PROCESSING NETWORK - Patent application

JP2025503064A5Active Publication Date: 2025-11-04ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024543231
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-01-20
Filing Date
2022-12-21
Publication Date
2025-11-04
Estimated Expiration
2042-12-21

AI Technical Summary

Technical Problem

Conventional data processing networks in autonomous driving systems face challenges in efficiently handling sensor data due to unpredictable execution times, resource allocation inefficiencies, and difficulties in achieving reproducibility and predictability, leading to increased waiting times and reduced performance.

Method used

A method is introduced where sensor data from multiple sources is processed through data processing modules, prioritized based on parameters, with activation and execution controlled by set priorities, using a combination of data-driven and time-driven approaches to optimize resource utilization and reduce waiting times.

Benefits of technology

This method enhances the reliability and reproducibility of data processing, improves resource utilization, and reduces waiting times, ensuring high-quality output data generation even under varying execution times, thus supporting safe and efficient autonomous driving operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for processing sensor data (3) of at least two sensors (13, 23) in a vehicle (1), the vehicle (1) having a data processing network (4) including a plurality of data processing modules (5) each including at least one data processing component (6), each data processing component (6) being configured for a defined data processing task for processing the sensor data (3), each data processing module (5) taking as input data (7) the sensor data (3) and / or output data of other data processing modules (5) and generating output data (8) which become network output data (14) of the data processing network (4) and / or input data (7) of other data processing modules (5), the at least two sensors (13, 23) being partitioned into at least two different resource groups (28). The method includes the steps of A) receiving at least one parameter and enabling setting of at least one priority of a group of resources (28) based on the at least one parameter, B) setting at least one priority for the at least one group of resources (28) based on the at least one parameter, and C) activating a data processing module (5) according to the set priority.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Prior Art A system for driver assistance or automated driving consists of many individual software units that can usually be described in terms of a graphical data flow (often called runnables, nodes or data processing components) and are characterized by the input data sets that are processed and from which output data sets are generated.

[0002] In such systems, input data from sensors such as radar or video is processed in a graph of data processing components that visualizes the data flow in a static view.

[0003] The various software units usually form a complex data processing network which processes sensor data and thereby performs actions based on said sensor data, which may for example be control tasks in the framework of autonomous driving of a vehicle. Data processing in a data processing network generally involves a number of mutually structured data processing steps or data processing tasks which are executed by data processing components.

[0004] In such a data processing network, the execution of a data processing task is performed upon appropriate conditions that can cause stimuli, such as time steps or data arrivals. The control flow that sets up the execution of the data processing components is usually derived from the data flow.

[0005] There are data-driven approaches that orient the execution of data processing components in a data flow. Furthermore, there are also approaches that apply a time-driven execution of data processing components. These have recently been strengthened by the concept of worst-case execution time (longest execution duration).

[0006] In a strictly data-driven approach, the execution of a data processing component is triggered by the arrival of a data packet. The transmission of a data packet in the execution of a data processing component can cause a straightforward execution in the corresponding graph of the data processing components that depend on that graph. Multiple parallel executions of a data processing component are also possible if new data packets arrive while the data processing component is still executing. Such a system has a small latency but a large number of possible states.

[0007] In particular, in processing sensor data for autonomous driving operation applications, there are often limitations on the available computational capacity to uniformly process all available sensor data. Summary of the Invention [Problem to be solved by the invention]

[0008] Disclosure of the Invention In view of this background, this specification describes a method for processing data, which aims to achieve high performance while at the same time ensuring reproducibility of data processing. [Means for solving the problem]

[0009] The present disclosure relates to a method for processing sensor data of at least two sensors in a vehicle, the vehicle having a data processing network including a plurality of data processing modules each including at least one data processing component, each data processing component being configured for a defined data processing task for processing the sensor data, each data processing module taking as input data the sensor data and / or output data of other data processing modules and generating output data which become network output data of the data processing network and / or input data of other data processing modules, the at least two sensors being partitioned into at least two different resource groups, the method comprising the following steps: A) receiving at least one parameter and being able to set a priority for at least one of the resources based on the at least one parameter; B) setting at least one priority for at least one resource group based on at least one parameter; C) activating the data processing modules according to the set priorities; The present invention describes a method including:

[0010] Particularly preferably, for at least one data processing module, after step C), each of the following steps is carried out: a) receiving a set of input data for executing a data processing task in at least one data processing component of a respective data processing module; b) receiving a stimulus for activating at least one data processing component of the data processing module; c) activating at least one data processing component of the data processing module to execute a data processing task when a set of input data is received in step a) and a stimulus is received in step b), for which the data processing component is configured to generate output data using the respective input data; d) providing the output data for further data processing and / or as network output data; is executed.

[0011] The resources and the implementation of the method according to steps A) to C) allow an improved resource usage during data processing in a data processing network within a vehicle.

[0012] The at least one parameter received in step A) is any parameter that allows for the setting of a technically meaningful priority for a particular resource group. Hereinafter, it will be explained essentially what kind of parameters can be advantageous. By parameters that allow for the setting of a priority for a resource group, it is meant in particular parameters that allow for the setting of the priority with which the sensor data of a sensor should be processed within the respective resource group.

[0013] In step A), the parameters can essentially come from any data source, for example they can come from settings external to the method, but they can also come from the method itself, for example by having been set during a previous execution of the method in a data processing network.A further measure is to supply sensor data of at least two sensors from the resource group in parallel to the method described herein to another data processing unit, where the parameters are calculated, possibly in a short pre-evaluation of the sensor data for estimating the priority with which the sensor data should be processed.

[0014] Then, in step B), at least one priority is set for at least one resource group based on at least one parameter. Preferably, one priority is set for each of all resource groups. This step also includes, in particular, a weighting of each parameter. For example, two resource groups may both have very high priorities based on the parameters received in step A). ​​In this case, in some circumstances, it is not possible to set both resource groups to a very high priority. In such circumstances, it is often advantageous to assign the two priorities equal, moderately high priority values. Such a measure can be technically realized, for example, by making the sum of all priorities set in step B) smaller than the sum of all priorities. Other suitable measures that can be implemented in step B) include, for example, instead of or possibly as a complement to increasing the priority of the resource group, decreasing the priority of other resource groups.

[0015] Activating the data processing modules according to the priorities set in step C) preferably includes all data processing modules required for the desired evaluation of each sensor data of the sensors from the resource group, in particular data processing modules which directly process the sensor data as input data, but also data processing modules which process as input data output data of other data processing modules which are the result of processing the sensor data of the sensors of the respective resource group having a high priority.

[0016] In this connection, sensor data of sensors from other resource groups with lower priority can also be processed together, for example, a data processing module that is primarily involved in data processing of sensor data from a certain resource group can additionally be supplied with sensor data of sensors from other resource groups depending on the situation, because the graph of the data processing network provides for this, for example, because it is useful for a comprehensive evaluation of the sensor data calculated by the sensors.

[0017] The data processing in the individual data processing modules according to steps a) to d) forms a preferred subordinate method in comparison with the superior method steps A) to C), which calculates and uses priorities for the individual data processing tasks. The two methods (steps A) to C) and steps a) to d)) ensure a high reliability and reproducibility of the data processing and at the same time a particularly good workload of the available computing capacity / hardware is ensured.

[0018] The data processing in the individual data processing modules according to steps a) to d) solves the problem that it is very difficult to achieve predictability and reproducibility in the conventional approach. This makes it difficult to realize the safety measure of running the same SW on two microprocessors at the same time, such as SW lock step. The most accurate possible post-computation of the recorded driving situation is also difficult, because other run-time characteristics and therefore other situation-dependent results must be taken into account.

[0019] The basis of the method according to steps a) to d) described here is that a number of data processing components of a data processing network are respectively grouped together into so-called data processing modules, resulting in an additional superstructure of the data processing network, at the level of which the respective input and output data of the individual data processing components are grouped together in modules and the data flow is controlled or managed through the data processing network at this level, which structure is preferably also used to activate the respective data processing modules according to the set priorities (step C)) using the priorities set in step B).

[0020] In the automotive industry, which involves a large proportion of control technology, execution in time slices (e.g. tasks of 10 ms, 20 ms, 100 ms) has always been dominant up to now. However, additional problems arise, especially when multi-core systems are used as hardware for performing data processing with such data processing networks. In particular, in multi-core systems, data processing components of the data processing network have variable execution times. These variable execution times make it difficult or no longer predictable to match output data of a data processing component with input data of other data processing components. This predictability can possibly be improved again, for example, by the concept of a maximum achievable execution time or maximum processing time. However, this concept reduces the workload of the hardware (of the multi-core system), since the hardware has to be dimensioned significantly larger.

[0021] The (superordinate) method described here provides a synergistic effect: by focusing on data processing tasks and data processing modules with particularly high priority, the workload of the available hardware can be further improved and augmented towards the goal of guaranteeing a particularly high quality of the output data of the data processing network.

[0022] Especially in highly complex driver assistance applications or automated driving applications, the amount of sensor data to be processed increases significantly. However, the response time required for such systems is comparable or even shorter than when traditional driver assistance is applied. That is, in a longer processing chain, more and more costly calculations must be performed in a comparable period of time. This creates unacceptable latency when a time-driven approach exists, because additional latency is accumulated in the transition between the individual time slices in the entire chain.

[0023] The proposed method according to method steps a) to d) allows to combine the approach of data-driven execution with the feasibility of time-driven execution of data processing components. In this way, the data processing network can be operated with reduced latency (better performance) than a purely time-driven system and provide better reproducibility than a strictly data-driven system. This allows to obtain a system that meets the high requirements regarding latency in systems for autonomous driving and also allows execution in SW lockstep and accurate reproducibility in recomputing. For step b), appropriate stimuli are set that set the execution of the data processing in step c), and then the input data received in step a) are accessed. Then, in step d), output data are provided for the subsequent processing steps. If the respective data processing module is the last data processing module in the data processing network, the data can be called network output data or system output data, but can also be, for example, input data of a control unit that processes these data or takes them into account for use at the same time.

[0024] The described method allows both time-driven and data-driven execution of data processing tasks. The actual start of data processing takes place when a stimulus is received in step b). The data here is, so to speak, visible to the data processing components with the arrival of the stimulus. A time-organized data structure is therefore commonly transmitted between a number of data processing modules. The supply of data for the data processing components takes place on the basis of the data processing modules provided in the higher-level structure. Due to the structure of the higher-level data processing modules and the fact that the data is provided at this level, the number of system states of the overall data processing network is significantly reduced.

[0025] Particularly preferably, after step d), further e) providing a validation data set, comprising the input data set, the stimuli and / or the output data, for validating the execution of the at least one data processing task by the at least one data processing component. Step e) is here to be understood as part of the sequence of method steps a) to d) which are executed for each data processing module after step C).

[0026] Preferably, the validation data set additionally comprises at least one time piece of information enabling time information regarding the time of stimulation and / or the processing of at least one data processing task.

[0027] Such time information can be provided, for example, by recording the start and end of execution of a data processing task, so that the processed input data and the generated output data can be displayed on a common logical time line, allowing for check calculations of the described method.

[0028] A data processing module that processes the output data of another data processing module as input data can start processing at the time when a stimulus occurs as an activation. Thus, compared to a time-driven approach, WCET avoids additional latency until the start of the time slice of the receiving data processing module.

[0029] The method described herein achieves reproducibility of the execution of individual data processing tasks, since the information about the input data respectively processed is reproducible.

[0030] A data processing module, in the proposed method, during its execution (during execution of step c) always has a frozen view into the world or into the input data being processed. The input data does not change during the execution of the method. This is achieved by the fact that the incoming input data is collected in step a) and this data is controlled and transferable atomically in logical time. In order to process the output data of a data processing module consistently with respect to its execution by other data processing modules, the output data is preferably collected as well.

[0031] Particularly preferably, the stimuli (9) received in step b) are evaluated with a priority set in step B) in order to activate the data processing module in step C).

[0032] Steps C) and b) preferably relate to the interaction of the higher-level method according to steps A) to C) with the lower-level method according to steps a) to d) executed for each data processing module. Preferably, the sending of stimuli for activating each data processing module is controlled by a priority. By using the priority, it is possible, for example, to intentionally induce a delay of a data processing module with a lower priority in order to obtain additional computation capacity for a data processing module with a higher priority. It is also possible, for example, to intentionally increase the (time-controlled) frequency with which stimuli for a particular data processing module are sent.

[0033] Preferably, for generating the stimuli used in step b), at least one clock generator is used, which clock generator sets a time pattern for periodically repeating the execution of the data processing task by the data processing component.

[0034] The clock generator may for example be a corresponding module on the hardware on which the data processing network runs, which sends to each data processing module at regular intervals a clock generator signal forming a stimulus to trigger the implementation of the method, the time pattern here being modifiable by means of priorities, thereby realizing the execution of data processing tasks according to their respective priorities.

[0035] Further preferably, at least one availability signal indicating availability of data is used to form the stimuli used in step b), which may for example have been formed from a previous implementation of the described method in another data processing module. If it is identifiable on the basis of priority that data processing by a particular data processing module is less important despite the existence of data availability in a particular situation, then for example the availability signal with said priority can be delayed in order to obtain computational capacity for data processing tasks with higher priority.

[0036] Particularly preferably, the stimulus is formed by a combination of a clock generator and an availability signal. Whenever new data are indicated via the availability signal, the data processing module is ready to respond to the clock generator. Data processing (step c)) in the data processing component of the respective data processing module takes place only if both the clock generator and the (at least one) availability signal indicate that data processing should be started. Preferably, the formation of the stimulus with the combination of the clock generator and the availability signal also takes into account the priority of each resource group.

[0037] Particularly preferably, step a) is performed by means of an input data reception module of the data processing module, which has an input memory for temporarily storing input data that is not yet complete and which performs a completeness check of the input data set.

[0038] More preferably, step d) is performed using an output data providing module having an output memory for temporary storage of the not yet complete output data.

[0039] Therefore, preferably, the data processing module comprises special gates (input data receiving module=input gate and output data providing module=output gate) to perform the data processing tasks.

[0040] These gates allow the control unit to control the data flow between the data processing modules. If the control unit synchronizes the start and end of execution of the data processing modules with the transfer of data through the gates, it can control which data processing modules are executed with which data and when. To determine the start of a data processing module, the stimuli mentioned above are evaluated.

[0041] Particularly preferably, the method is implemented on a data processing device in which a number of threads can be executed in parallel or pseudo-parallel, each data processing module being associated with one thread each, and the activation of the data processing modules in step C) being performed by activating the respective threads with their respective priorities.

[0042] Further preferably, the data processing apparatus provides an operating system for implementing the described method, in which the threads can be given system priorities, and in step C) the priorities are converted into system priorities in order to activate the respective threads with their respective priorities.

[0043] Each thread is preferably set or predefined by an operating system in which the described method is implemented or in which the described data processing network is adapted to implement the described method. Such an operating system can provide, for example, a fixed, predefined number of threads or can also provide a variable (adjustable as required) number of threads. In a preferred variant embodiment, a data processing task corresponding to a data processing module is arranged to be executed in the respective thread if it is to be executed periodically. In each thread, the data processing task is then processed according to priority.

[0044] A priority system is usually set by the operating system, which makes it possible to control the priority of the processing of data processing tasks in the operating system. However, such a priority system is not suitable for regularly and correctly performing the priority management presented here for data processing tasks that process sensor data based on prioritized resource groups. For example, there is a priority system in the operating system that is configured to give a high priority to particularly important individual tasks according to the focus and to start their fast (or advanced) processing. The systems described here often have some different objectives. Faster processing of sensor data of sensors from a certain resource group, with the aim of forming decisive information for controlling the autonomous driving process as early or as quickly as possible, is achieved more if, for example, a large amount of less relevant data processing tasks are ranked backwards in terms of their priority than if a certain amount of data processing tasks are ranked high. For this reason, such requirements are often only feasible in a limited way by priority systems that provide operating systems that are quite suitable in themselves. For this reason, this specification also proposes a priority compiler or priority conversion device which converts the priorities set in step B) into system priorities, in which case the priority conversion device causes the execution of data processing tasks or data processing modules in threads of the operating system.

[0045] Further advantageously, by setting the priorities in step B), the computational capacity of the data processing device implementing the described method is concentrated on processing data from sensors in one or more resource groups, i.e. on sensors or resource groups that are assigned a high priority in step B).

[0046] When computational power is concentrated on the sensor data of sensors in a particular resource group, in particular for the sensor data of said sensors, reduced processing times, increased processing frequency (frequently repeated inspection of said sensors and processing of updated sensor data) and / or increased accuracy (deeper analysis of the respective sensor data) can be achieved. Preferably, in this case, processing of sensor data of sensors from other resource groups that are set to a lower (or lower) priority in step B) is not completely suppressed.

[0047] Further advantageously, the method is implemented on a data processing device and the setting of the priority in step B) is performed taking into account at least one workload parameter, which takes into account the workload of the data processing device due to processing of sensor data from sensors from one or more particular resource groups.

[0048] Such workload parameters can be taken into account as a higher order quantity in setting the priority in step B. For example, in a large scale data processing device including multiple microprocessors, multiple workload parameters can be used in parallel with each other.

[0049] Particularly preferably, the method provides that the priorities in step B) are set depending on the driving situation.

[0050] Furthermore, the method preferably provides that the priorities in step B) are set in such a way that data of sensors which are preferably to be given a high degree of attention depending on the driving situation are preferentially processed.

[0051] Overall, several advantageous methods can be implemented here. In this connection, it is advantageous if the currently existing driving situation can be deduced from the parameters received in step A) first. Such parameters can be calculated, for example, directly from the bus system of the vehicle. For example, the parameters can be determined generally by the steering impact angle when driving around a curve to the right or to the left. Other information obtained via the bus system is, for example, speed, driving in reverse, etc. In other variants, such parameters can also be obtained, for example, by a previous execution of the method described here. For example, it can be determined based on the method described that a significant number of pedestrians are present in the vicinity of the vehicle from the sensor data. Such information can then be used in the method described to determine priorities. Other groups of available information include, for example, geographical information, such as whether the vehicle is currently located on a motorway or on a road, for example, a query, or clock time information, which can lead to inferences about an increase in traffic, or similar information.

[0052] Detecting which sensor or which resource group should be given high attention depending on the driving situation for setting the priority can be done in step B) based on various methods. This can be done, for example, via a characteristic map or a network in which knowledge about the need for high attention is stored. However, this can also be done by a considerably simplified determination. If one resource group includes sensors on the left side of the vehicle and another resource group includes sensors on the right side of the vehicle, it can be advantageous to concentrate the available computing power on the sensors on the right side of the vehicle when the vehicle makes a right turn. Any more complex cases can also be covered by the described method.

[0053] Preferably, by feeding or distributing sensors or data sources to multiple resource groups, it is possible to control by priority how many data processing modules can be simultaneously activated to process the sensor data of sensors from one resource group. If a stimulus occurs for a module, the processing of the data processing module therein or the corresponding data processing task can be reset, preferably until "free resources" are available again for the resource group therein.

[0054] Preferably, for this purpose a parameter is provided which defines the maximum number of data processing modules allowed for processing, said parameter being preferably dynamically adjustable (depending on the driving situation).

[0055] Also described herein is a data processing network including at least one data processing module for performing the described methods, the data processing network having an input data receiving module associated with an input memory, an output data providing module associated with an output memory, and at least one data processing component that performs data processing tasks based on input data in the input memory and generates output data that is stored in the output memory.

[0056] The data processing network also includes a priority module which determines, inter alia, priorities for the activation of the individual data processing modules in steps A) to C).

[0057] Additionally, a data processing network including a plurality of such data processing modules is described.

[0058] The method description above is transferable and applicable to data processing modules and data processing networks.

[0059] The method is explained in detail below with reference to the drawings. [Brief description of the drawings]

[0060] [Figure 1] FIG. 1 illustrates a vehicle in which the described data processing network is used and in which the described method can be applied; [Diagram 2] FIG. 2 illustrates a data processing module for implementing the described method. [Diagram 3] FIG. 4 shows another variant embodiment of a data processing module for implementing the method described. [Figure 4] FIG. 2 illustrates one type of data processing according to the described method on a timeline. [Diagram 5] FIG. 2 illustrates another type of data processing according to the described method on a timeline. [Figure 6] FIG. 10 illustrates yet another type of data processing according to the described method on a timeline. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0061] In Fig. 1, a vehicle 1 is shown diagrammatically. The vehicle 1 is in particular a road vehicle, for example a car or a truck. The vehicle 1 comprises sensors 23 for detecting information, such as for example environmental data from the environment of the vehicle 1, which information can be used by various driver assistance systems. Such systems can for example be active or passive safety systems or even systems for autonomous (or semi-autonomous) driving behaviour. Such a system is shown as a control unit 20 in Fig. 1.

[0062] In order for the control unit 20 to be able to process the data of the sensors 23, these data must be prepared. For this purpose, the vehicle 1 has a data processing network 4. The sensors 23 form a data source 13 for this data processing network 4, which supplies the sensor data to the data processing network 4. The control unit 20 forms an output data receiver 21 for this data processing network 4, which receives the network output data 14 of the data processing network 4.

[0063] The data processing network 4 consists of a number of data processing modules 5, each of which consists of (one or more) data processing components 6. The data processing network 4, including the data processing modules 5 and the data processing components 6, is preferably realized on hardware 25, which may provide, inter alia, a data memory 27 in which the data processing network 4 can store data 2, as well as various other hardware functions for the data processing network 4, such as a clock generator 10.

[0064] The vehicle 1 according to Fig. 1 has sensors 23 or data sources 13 associated with two different resource groups 28. In a simple example, these could be for example sensors 23 or data sources 13 for the left side of the vehicle 1 in a first resource group 28 and sensors 23 or data sources 13 for the right side of the vehicle 1 in a second resource group 28. The described method allows for an appropriate prioritization of the sensor data 3 of the sensors 23 or data sources 13 from the respective resource groups. Preferably, the data processing network 4 comprises a prioritization module 29 for this purpose.

[0065] 2 and 3 show various variants of embodiments of data processing modules 5 for the described data processing network 4. The described method is implemented at the level of the respective individual data processing modules 5. Each data processing module 5 comprises an input data reception module 15 with an input memory 16 for receiving input data 7, an output data supply module 17 with an output memory 18 to which output data 8 is supplied, and a data processing component structure 26 comprising data processing components 6 for data processing from the input data 7 to the output data 8. The input data reception module 15 may have an interface for receiving a stimulus 9 by which data processing components 6 can start processing the data. The output data supply module 17 may have an interface for sending an availability signal 12 when data processing by the data processing components 6 has been completed and the output data 8 is available.

[0066] Method steps a) and b) of the described method are primarily executed by an input data receiving module 15 with regard to receiving input data 7. Method steps d) and e) of the described method are primarily executed by an output data providing module 17 with regard to providing output data 8. The actual data processing takes place in step c) in data processing components 6 forming a data processing component structure 26 of each data processing module 5.

[0067] A variant of the data processing module 5 according to Fig. 3 has as a special feature a feedback unit 22. Fig. 1 exemplarily shows a data processing network 4 which ultimately processes data from the data source 13 (here the sensor 23) directly and deterministically without feedback from the data source 13 to the output data receiver 21 (controller 20). This is sufficient for many applications. However, the feedback unit 22 shown in Fig. 3 also shows how a direct and non-deterministic data processing is possible in the data processing network 4 thus constructed, i.e. through such a feedback unit 22. The output data 8 can be returned via such a feedback unit 22 to the input data receiving module 15 of the same data processing module 5 and can then be processed during the subsequent data processing by the data processing component 6 of the data processing module 5. In this way, a data storage capability can be provided in the data processing network 4. In the variant according to Fig. 3, yet another special feature is shown in that the output data 8 consists of data subsets 19 which are available at different times during the data processing by the data processing component 6. The output data providing module 17 is configurable to send the availability signal 12 for all output data 8 (data subset 19) as one signal.

[0068] 4, 5 and 6 show various modes of data processing which can be performed by the described data processing network 4 or the described method.

[0069] The figure shows different data processing modules 5.1, 5.2 and / or 5.3, where the duration of the execution of data processing by the data processing components 6 contained in the respective data processing modules 5 is respectively plotted as a bar on a time line 24. Data 2 (here sensor data 3) can be introduced into the data processing network 4 by means of data sources 13 (here respectively sensors 23), respectively shown diagrammatically above.

[0070] The individual data processing modules 5.1, 5.2 and / or 5.3 are shown several times in succession over the time line 24. What is shown here is that the individual data processing modules 5.1, 5.2 and / or 5.3 are each repeatedly executed several times, with access to the respective other input data. The start of execution of one of the data processing modules 5.1, 5.2 and / or 5.3 takes place when a stimulus 9 occurs, respectively.

[0071] Figures 4, 5 and 6 show different types of stimuli 9 that can be used here.

[0072] In Fig. 4 it is shown that as a stimulus 9 only an availability signal 12 is used, which indicates the availability of data for the execution of a particular data processing task by the data processing modules 5.1, 5.2 and / or 5.3. The method shown in Fig. 4 proceeds with little control in terms of data technology. As soon as new data are available, the execution of the respective data processing module 5.1, 5.2 and / or 5.3 is started. This certainly achieves a high processing speed, but the traceability of the data processed by each data processing module 5.1, 5.2 and / or 5.3 is greatly reduced. This is particularly true since the duration of the data processing by the data processing modules 5.1, 5.2 and / or 5.3 cannot be predicted with precision and therefore there is no or only little reproducibility as to which data processing module 5.1, 5.2 and / or 5.3 responds to which input data. By "reproducibility" is meant here the reproducibility of the data processing by the data processing network 4. In this connection, poor reproducibility means that it is necessary to incur very high costs for tracking the data processing by the individual data processing modules 5.1, 5.2 and / or 5.3, for example as required for debugging tasks or for the task of safeguarding the correctness of data processing in redundant systems.

[0073] In Fig. 5 it is shown that as stimuli 9, respective signals of a clock generator 10 according to a fixed time pattern 11 are used. By such stimuli 9 for triggering the data processing by the data processing modules 5.1, 5.2 and / or 5.3, it is possible to achieve that it is always exactly known with which input data the data processing by the data processing modules 5.1, 5.2 and / or 5.3 starts. This achieves a high reproducibility in the above sense, but at the same time the performance of the data processing network 4 is significantly reduced. By performance of the data processing network 4 in this context is meant the ability of the data processing network 4 to operate with a minimum of hardware resources, since it must be guaranteed that the data processing by a data processing module (e.g. data processing module 5.1) has finished before the start of another data processing module (e.g. data processing module 5.2) which processes the output data 8 of the first data processing module as input data, respectively, occurs. Since the duration of data processing by the data processing modules 5.1, 5.2 and / or 5.3 cannot be predicted exactly, a thorough design of the time pattern must be made based on the maximum execution period.

[0074] The variant embodiment shown in figure 6 combines aspects of the variant embodiments shown in figures 4 and 5 in order to achieve high reproducibility on the one hand and good performance on the other hand. In the data processing network 4, operations are carried out according to the task using the availability signal 12 or the clock generator 10 as stimuli 9.

Claims

1. A method for processing sensor data (3) of at least two sensors (13, 23) in a vehicle (1), comprising: The vehicle (1) has a data processing network (4) including a plurality of data processing modules (5) each including at least one data processing component (6), Each data processing component (6) is configured for a defined data processing task for processing the sensor data (3); Each data processing module (5) receives sensor data (3) and / or output data (8) of other data processing modules (5) as input data (7) and generates output data (8) that become network output data (14) of the data processing network (4) and / or input data (7) of other data processing modules (5); the at least two sensors (13, 23) are divided into at least two different resource groups (28); The method comprises the following steps: A) enabling setting of at least one priority of resource groups (28) based on at least one parameter, the priority with which the sensor data (3) from the sensors (13, 23) within each resource group (28) should be processed; B) setting at least one priority for at least one resource group (28) based on said at least one parameter; C) activating the data processing modules (5) required to process the sensor data (3) from the sensors (13, 23) in the resource group (28) according to set priorities; Including, For at least one data processing module (5), after step C), the following steps are carried out: a) receiving a set of input data (7) for executing a data processing task in at least one data processing component (6) of each data processing module (5); b) receiving a stimulus (9) for activating at least one data processing component (6) of said data processing module (5); c) when the set of input data (7) is received in step a) and the stimulus (9) is received in step b), activating at least one data processing component (6) of the data processing module (5) to perform a data processing task, for which the data processing component (6) is configured to generate output data (8) using each input data (7); d) providing said output data (8) for further data processing and / or as network output data (14); is executed, Step a) is carried out using an input data receiving module (15) of said data processing module (5), The method, wherein the input data receiving module (15) has an input memory (16) for temporarily storing input data (7) that is not yet complete, and performs a completeness check on the set of input data (7).

2. The stimuli (9) received in step b) are identified with the priority set in step B) in order to activate the data processing module (5) in step C), The method of claim 1.

3. To generate the stimuli (9) used in step b), at least one clock generator (10) is used, said clock generator (10) setting a time pattern (11) for regularly repeating the execution of the data processing task by said data processing component (6), The method of claim 1.

4. 2. The method of claim 1, wherein at least one availability signal (12) indicating the availability of data (2) is used to form the stimuli (9) used in step b).

5. 2. The method according to claim 1, wherein step d) is performed using an output data supply module (17) having an output memory (18) for temporary storage of the not yet complete output data (8).

6. The method is implemented on a data processing device capable of executing multiple threads in parallel or pseudo-parallel; Each data processing module (5) is associated with one thread; the activation of said data processing module (5) in step c) is carried out by activating respective threads having respective priorities; The method of claim 1.

7. the data processing apparatus provides an operating system for implementing the method, and the operating system is capable of assigning system priorities to threads; To activate each thread with a respective priority, in step c) the priority is converted to a system priority. The method of claim 6.

8. 2. The method of claim 1, wherein by setting the priorities, the computational capacity of a data processing device implementing the method is focused on processing data from sensors (13, 23) in one or more resource groups (28).

9. the implementation of the method is performed on a data processing device; The setting of priorities in step B) is performed taking into account at least one workload parameter, 2. The method of claim 1, wherein the at least one workload parameter takes into account the workload of the data processing device due to processing sensor data (3) of sensors (13, 23) from one or more specific resource groups (28).

10. 2. The method according to claim 1, wherein in step d) an availability signal (12) is additionally generated, based on which it is possible to identify that the output data (8) for further processing has been provided.

11. 2. The method according to claim 1, wherein the priority in step B) is set depending on the driving situation.

12. 12. The method according to claim 11, wherein the priorities in step A) are set such that data from sensors that are advantageously given high attention depending on the driving situation are processed preferentially.

13. A data processing network (4) comprising at least one data processing module (5) for implementing the method according to claim 1, The at least one data processing module (5) an input data receiving module (15) associated with an input memory (16); an output data supply module (17) having an associated output memory (18); and at least one data processing component (6) that performs data processing tasks based on input data (7) in said input memory (16) and generates output data (8) that is stored in said output memory (18); having Data processing network (4).