Method for processing sensor data and data processing network
By grouping data processing components into modules and setting priorities, the method addresses reproducibility and performance issues in autonomous driving systems, ensuring efficient and accurate data processing with reduced waiting times.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-21
- Publication Date
- 2026-03-17
AI Technical Summary
Existing data processing systems for autonomous driving face challenges in achieving reproducibility and high performance due to limitations in computing power and fluctuating execution times, especially in multicore systems, which affect the predictability and accuracy of data processing tasks.
A method that groups data processing components into modules and sets priorities based on parameters, allowing data-driven and time-driven execution, with stimuli and availability signals to manage resource usage, ensuring reproducibility and efficient workload distribution.
The method enhances reproducibility and reduces waiting times, improving the quality and accuracy of data processing while optimizing hardware usage, particularly in complex driver assistance and automated driving applications.
Smart Images

Figure 0007830810000001 
Figure 0007830810000002 
Figure 0007830810000003
Abstract
Description
Technical Field
[0001] Prior Art Systems for driver assistance or autonomous driving consist of many individual software units, which can usually be described in terms of a graphical data flow. (Often referred to as runnables, nodes or data processing components) These software units are characterized by the fact that an input data set is processed and an output data set is generated therefrom.
[0002] In the above system, the input data of sensors such as radar or video is processed in a graph consisting of data processing components that visualize the data flow in a static view.
[0003] The various software units usually process sensor data, thereby forming a complex data processing network that executes actions, which can be, for example, control tasks in the framework of autonomous driving of a vehicle, based on the sensor data. Data processing in the data processing network generally includes a plurality of mutually structured data processing steps or data processing tasks executed by data processing components.
[0004] In such a data processing network, the execution of data processing tasks is performed under appropriate conditions that can cause stimuli such as time steps or data arrivals. The control flow that sets the execution of data processing components is usually derived from the data flow.
[0005] There is a data-driven approach that targets the execution of data processing components in the data flow. Furthermore, there is an approach that applies time-driven execution of data processing components. These have been strengthened in recent years by the concept of worst-case execution time (longest execution period).
[0006] In a strictly data-driven approach, the execution of data processing components is triggered by the arrival of data packets. The transmission of data packets during the execution of a data processing component can result in the direct execution of graph-dependent data processing components in the corresponding graph. Multiple parallel executions of the data processing component are also possible if new data packets arrive while a data processing component is still running. Such a system has numerous possible states, although the latency is minimal.
[0007] In particular, when processing sensor data for autonomous driving applications, there are often limitations on available computing power in order to process all available sensor data equally. [Overview of the project] [Problems that the invention aims to solve]
[0008] Disclosure of the invention In light of this background, this specification describes a method for processing data that aims to achieve both reproducibility and high performance in data processing. [Means for solving the problem]
[0009] This describes a method for processing sensor data from at least two sensors in a vehicle, wherein the vehicle has a data processing network comprising multiple data processing modules, each containing at least one data processing component, each data processing component configured for a defined data processing task for processing sensor data, each data processing module taking sensor data and / or output data from other data processing modules as input data, and generating output data that becomes network output data of the data processing network and / or input data for other data processing modules, and the at least two sensors are divided into at least two different resource groups, and the method comprises the following steps, namely: A) A step of receiving at least one parameter and enabling the setting of at least one priority for a group of resources based on that at least one parameter, B) A step of setting at least one priority for at least one group of resources based on at least one parameter, C) A step of activating the data processing module according to the set priority, This explains the method, including the following:
[0010] Particularly preferred is that, for at least one data processing module, after step C), the following steps are performed, namely: a) A step of receiving a set of input data for performing a data processing task in at least one data processing component of each data processing module, b) The step of receiving a stimulus to activate at least one data processing component of a data processing module, c) If a set of input data is received in step a) and a stimulus is received in step b), the step of activating at least one data processing component of a data processing module and executing a data processing task, wherein the data processing component is configured to generate output data using each input data for the data processing task. d) The step of supplying the output data for further data processing and / or as network output data, This will be executed.
[0011] By implementing the resource group and the methods described in steps A) through C), it becomes possible to improve resource usage during data processing in the in-vehicle data processing network.
[0012] At least one parameter received in step A) is any parameter that allows for the setting of technically significant priorities for a particular group of resources. Here, we will explain what types of parameters may be advantageous. Parameters that allow for setting resource priorities include, in particular, Within each resource group sensor from Sensor data but This refers to a parameter that allows you to set the priority of what should be processed.
[0013] In step A), the parameters may essentially originate from any data source, for example, from settings outside the method. However, such parameters may also be obtained from the method itself, for example, by being set when the method is previously executed within a data processing network. As a further measure, sensor data from at least two sensors from a set of resources may be supplied to another data processing unit in parallel with the method described herein, and the parameters may be calculated in this other data processing unit in a short preliminary evaluation of the sensor data to estimate the priority to which the sensor data should be processed.
[0014] Next, in step B), at least one priority is set for at least one set of resources based on at least one parameter. Preferably, one priority is set for each of all resource sets. This step also includes, in particular, weighting each parameter. For example, two sets of resources may both have very high priorities based on the parameters received in step A). In this case, depending on the circumstances, it may not be possible to set both sets of resources to very high priorities. In such situations, it is often advantageous to assign equally moderate priority values to the two sets of resources. This technique can be technically achieved, for example, by ensuring that the sum of all priorities set in step B) is less than the sum of all priorities. Other appropriate techniques that can be implemented in step B) include, for example, lowering the priority of other sets of resources instead of raising the priority of the resource set in question, or possibly as a supplement to this.
[0015] Activating data processing modules according to the priority set in step C) preferably includes all data processing modules required to evaluate each sensor data from the group of resources as desired. This includes not only data processing modules that directly process sensor data as input data, but also data processing modules that process output data from other data processing modules, which are the result of processing sensor data from the sensors of each resource group having a high priority, as input data.
[0016] In this regard, sensor data from other groups of resources with lower priority can also be processed together. For example, sensor data from other groups of resources can be supplied additionally, depending on the situation, to a data processing module that is primarily responsible for processing sensor data from a specific group of resources. This is because the graph of the data processing network sets this up, for example, as 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 preferred lower-level methods to higher-level methods steps A) to C) that calculate and use the priority for individual data processing tasks. The two methods (by steps A) to C) and steps a) to d) ensure high reliability and reproducibility of data processing, while also ensuring a particularly good workload on available computing capacity / hardware.
[0018] The data processing in the individual data processing modules according to steps a) through d) solves the problem of the extreme difficulty in achieving predictability and reproducibility in conventional approaches. This makes it difficult to implement safety measures such as SW lockstep, which allows the same software to run simultaneously on two microprocessors. It is also difficult to perform post-computation (recomputation) of recorded operating conditions as accurately as possible because other execution time characteristics and, consequently, other results depending on the situation must be taken into consideration.
[0019] The basis of the methods described in steps a) through d) is that multiple data processing components of a data processing network are grouped into so-called data processing modules, thereby obtaining an additional higher-level structure for the data processing network. At this higher-level structure, the input and output data of each individual data processing component are grouped within the module, and the data flow is controlled or managed through the data processing network at that level. This structure is preferably also used to activate each data processing module according to the set priority (step C)) using the priority set in step B).
[0020] In the automotive industry, where control technology plays a significant role, execution in time slices (e.g., 10ms, 20ms, 100ms tasks) has always been dominant. However, additional problems arise, particularly when multicore systems are used as hardware for executing data processing using such data processing networks. In multicore systems, the data processing components of the data processing network experience fluctuating execution times. These fluctuating execution times make it difficult, or even impossible, to match the output data of data processing components with the input data of other data processing components. This predictability can, in some cases, be improved again by concepts such as the maximum feasible execution time or maximum processing time. However, this concept reduces the hardware workload (of the multicore system) because the hardware must be designed to be significantly larger in dimensions.
[0021] The (higher-level) methods described here provide synergistic effects. Focusing on data processing tasks and modules with particularly high priority can further improve the workload on available hardware and enhance the goal of ensuring particularly high quality output data from the data processing network.
[0022] In particular, in the application of highly complex driver assistance or the application of automated driving, the amount of sensor data to be processed increases significantly. However, the response time required for such a system is equal to or even shorter than when conventional driver assistance is applied. That is, in a longer processing chain, more costly calculations must be performed in the same period. This causes unacceptable waiting times when there is a time-driven approach, because the additional waiting times are accumulated during the transition between individual time slices throughout the chain.
[0023] The proposed method by method steps a) to d) makes it possible to combine a data-driven execution approach with the feasibility of time-driven execution of data processing components. By doing so, the data processing network can be operated with reduced waiting times (better performance) compared to a purely time-driven system, and can also provide better reproducibility than a strictly data-driven system. This enables a system that meets the high requirements regarding waiting times in an automated driving system and also enables accurate reproducibility in SW lockstep execution and recomputing. For step b), an appropriate stimulus for setting the execution of data processing in step c) is set, and then access to the input data received in step a) is performed. Then, in step d), output data is provided for subsequent processing steps. If each data processing module is the last data processing module in the data processing network, the data can be referred to as network output data or system output data, but at the same time, for example, this data can also be the input data of a control unit that processes or considers these data for use.
[0024] By the method described, it is possible to execute data processing tasks both in a time-driven and data-driven manner. The original start of data processing occurs when a stimulus is received in step b). Here, the data becomes, so to speak, visible to the data processing component along with the arrival of the stimulus. Thus, a temporally aggregated data structure is transmitted commonly among a plurality of data processing modules. The supply of data for the data processing component is performed based on the data processing modules prepared in the upper structure. From the structure of the upper data processing module and the fact that data is provided at that level, the number of system states of the entire data processing network is significantly reduced.
[0025] Particularly preferably, after step d), further, e) supplying a verification data set consisting of an input data set, a stimulus, and / or output data for verifying the execution of at least one data processing task by at least one data processing component is executed. Step e) should here be understood as part of a series of method steps a) to d) executed for each data processing module after step C).
[0026] Preferably, the verification data set additionally includes at least one time information enabling time information regarding the time point of the stimulus and / or the processing of at least one data processing task.
[0027] Such time information can be obtained, for example, by recording the start and end of the execution of the data processing task. Thus, the processed input data and the generated output data can be displayed on a common logical time line, enabling the inspection calculation of the described method.
[0028] A data processing module that processes the output data of another data processing module as input data can begin processing as soon as a stimulus occurs, as activation. In this way, compared to a time-driven approach, WCET avoids the additional waiting time until the receiving data processing module starts its time slice.
[0029] The methods described herein achieve reproducibility in the execution of individual data processing tasks because the information regarding the input data being processed becomes reproducible.
[0030] In the proposed method, the data processing module always has a frozen view of the world or the input data being processed during execution (during the execution of step c). The input data does not change during the execution of the method. This is achieved by the incoming input data being collected in step a), this data being controlled, and made transferable as atoms in logical time. Output data is also preferably collected in a similar manner in order to be processed consistently with respect to its execution by other data processing modules.
[0031] Particularly preferred is that in step C), the stimuli (9) received in step b) are given a priority set in step B) in order to activate the data processing module. identification It will be done.
[0032] Steps C) and b) preferably relate to the interaction between the higher-level methods of steps A) to C) and the lower-level methods of steps a) to d) performed for each data processing module. Preferably, the transmission of stimuli to activate each data processing module is controlled by priority. By using priority, for example, delays can be intentionally caused in lower-priority data processing modules to obtain additional computing capacity for higher-priority data processing modules. Alternatively, for example, the (time-controlled) frequency when stimuli are transmitted to a particular data processing module can be intentionally increased.
[0033] Preferably, at least one clock generator is used to form the stimulus used in step b), and the clock generator sets a time pattern for periodically repeating the execution of a data processing task by the data processing component.
[0034] The clock generator may be, for example, a corresponding module on the hardware on which the data processing network operates, and this module sends clock generator signals to each data processing module at regular intervals, forming stimuli that trigger the execution of the method. The time pattern here can be modified using priorities, thereby enabling the execution of data processing tasks according to their respective priorities.
[0035] More preferably, at least one availability signal indicating data availability is used to form the stimulus used in step b). This availability signal may be formed, for example, from a prior implementation of the method described in another data processing module. If it is possible to identify, based on priority, that data processing by a particular data processing module is not particularly important despite the existence of data availability in a particular situation, the availability signal with the above priority may be delayed, for example, to gain 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 is displayed via the availability signal, the data processing module becomes capable of responding to the clock generator. Data processing (step c)) is performed in the data processing component of each data processing module only when both the clock generator and (at least one) availability signal indicate that data processing should be initiated. Preferably, the priority of each resource group is also taken into consideration when forming a stimulus having a combination of a clock generator and an availability signal.
[0037] Particularly preferably, step a) is performed using an input data receiving module of the data processing module, which has an input memory for temporarily storing incomplete input data and performs an integrity check of the input dataset.
[0038] More preferably, step d) is performed using an output data supply module having an output memory for temporary storage of output data that is not yet complete.
[0039] Therefore, preferably, the data processing module has special gates (input data receiving module = input gate and output data supply module = output gate) for performing data processing tasks.
[0040] These gates allow the control unit to control the data flow between data processing modules. If the control unit synchronizes the start and end of data processing module execution with the transfer of data through the gates, it can control which data processing module is executed and by which data. The aforementioned stimuli are evaluated to determine the start of a data processing module.
[0041] Particularly preferably, the method is carried out on a data processing device on which multiple threads can run concurrently or pseudo-concurrently, where each data processing module is associated with a single thread, and the activation of the data processing module in step C) is performed by activating each thread having its own priority.
[0042] More preferably, the data processing device provides an operating system for carrying out the described method, in which the operating system can assign system priorities to threads, and in step C), the priorities are converted to system priorities in order to activate each thread having its respective priority.
[0043] Each thread is preferably set up or predetermined by an operating system on which the described method is implemented, or by an operating system configured to implement the described method in the data processing network. Such an operating system may, for example, provide a fixed number of threads, or it may provide a variable (adjustable as needed) number of threads. In a preferred variant embodiment, data processing tasks corresponding to data processing modules are coordinated to run in each thread if they should be run periodically. In this case, the data processing tasks are processed in each thread according to priority.
[0044] Typically, an operating system sets up a priority system that allows the operating system to control the priority of data processing tasks. However, such priority systems are not suited to regularly and correctly performing the priority management presented herein for data processing tasks that process sensor data based on a set of prioritized resources. For example, a priority system exists within an operating system that is configured to assign high priority to individual tasks that are particularly important according to their importance, and to initiate their rapid (or preemptive) processing. The systems described herein often have some different purposes. Processing sensor data from sensors from a specific set of resources more quickly, with the aim of forming critical information for controlling the autonomous driving process as early or as quickly as possible, is achieved, for example, more often when a large number of less relevant data processing tasks are ranked lower in terms of priority than when a given amount of data processing tasks are ranked higher. For these reasons, such requirements are often only achievable to a limited extent, even by priority systems that provide a perfectly suitable operating system on their own. Therefore, this specification also proposes a priority compiler or priority converter that converts the priority set in step B) to a system priority, in which case the priority converter performs the execution of a data processing task or a data processing module in an operating system thread.
[0045] Furthermore, by setting priorities in step B), the computing 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., the sensors or resource groups to which high priority is associated in step B).
[0046] When computing power is concentrated on sensor data from a specific set of resources, it is possible to achieve reduced processing time, increased processing frequency (for frequently repeated inspections of the sensor and processing of updated sensor data), and / or increased accuracy (for deeper analysis of each sensor data) for the sensor data of that sensor. Preferably, in this case, the processing of sensor data from other sets of resources that have been given a lower (or lower) priority in step B) is not completely suppressed.
[0047] More advantageously, the implementation of the method is performed on a data processing device, and the priority setting in step B) is performed with consideration to at least one workload parameter, the at least one workload parameter considering the workload of the data processing device due to processing sensor data from sensors from one or more specific resource groups.
[0048] Such workload parameters can be considered as higher-priority quantities when setting priorities in step B). For example, in a large-scale data processing system including multiple microprocessors, multiple workload parameters can be used in parallel with each other.
[0049] Particularly preferable, in the method, the priority in step B) is set depending on the operating conditions.
[0050] Furthermore, the method is configured such that the priority in step B) is set to preferentially process sensor data where it is advantageous to pay a high level of attention, preferably depending on the driving conditions.
[0051] Here, several effective methods can be implemented as a whole. In this regard, it is preferable, first, to be able to infer the driving conditions present at any given time from the parameters received in step A). Such parameters can be calculated, for example, directly from the vehicle's bus system. For example, such parameters can be roughly calculated by the steering impact angle when turning a curve to the right or left. Other information obtained via the bus system includes, for example, speed and reversing. In other modified embodiments, such parameters can also be obtained, for example, by a prior execution of the method described herein. For example, based on the method described, it can be calculated from sensor data that a very large number of pedestrians are present near the vehicle. Such information can then be used to determine priority in the method described. Other groups of available information include, for example, geographical information such as whether the vehicle is currently located on an expressway or a street, for example, queries, or time information that can lead to inferences about increased traffic volume, or similar information.
[0052] In order to set priorities, detecting which sensors or resource groups should receive high attention depending on the driving conditions can be done in step B) using a variety of methods. This can be done, for example, via a characteristic map or network that stores knowledge about the need for high attention. However, this may also be done by a considerably simplified discrimination. 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, when the vehicle is making a right turn, it may be advantageous to concentrate the available computing power on the sensors on the right side of the vehicle. Any more complex cases can also be accommodated by the methods described.
[0053] Preferably, by supplying or distributing sensors or data sources to multiple resource groups, the number of data processing modules that can be simultaneously activated to process sensor data from a single resource group can be controlled by priority. When a stimulus occurs to a module, the processing of the data processing module or the corresponding data processing task can preferably be reset until "available resources" become available again for the resource group.
[0054] Preferably, for the purposes described above, a parameter is provided that defines the maximum number of data processing modules allowed for the processing. This parameter is preferably dynamically adjustable (depending on the operating conditions).
[0055] Hereafter, we also describe a data processing network for implementing the described method, comprising at least one data processing module, the network having an input data receiving module associated with an input memory, an output data supply module associated with an output memory, and at least one data processing component that performs a data processing task based on the input data in the input memory and generates output data to be stored in the output memory.
[0056] The data processing network also includes a priority module that calculates priority for activating individual data processing modules in steps A) through C).
[0057] Furthermore, a data processing network including multiple such data processing modules will be described.
[0058] The description of the method described above can be transferred and applied to data processing modules and data processing networks.
[0059] The method will be explained in detail below, with reference to the diagrams. [Brief explanation of the drawing]
[0060] [Figure 1] This figure shows a vehicle in which the described data processing network is used and the described method is applied. [Figure 2] This figure shows the data processing module for implementing the described method. [Figure 3] This figure shows another modified embodiment of the data processing module for implementing the method described. [Figure 4] This diagram shows one type of data processing using the described method on a single timeline. [Figure 5] This diagram shows other types of data processing using the method described on a single timeline. [Figure 6] This diagram shows other types of data processing using the method described on a single timeline. [Modes for carrying out the invention]
[0061] Figure 1 schematically shows Vehicle 1. Vehicle 1 is a road vehicle, such as a passenger car or a truck. Vehicle 1 has sensors 23 that detect information such as environmental data from the environment surrounding Vehicle 1, and this information can be used by various driver assistance systems. Such systems may be, for example, active safety systems, passive safety systems, or even systems for autonomous (or semi-autonomous) driving operations. Such a system is shown as a control unit 20 in Figure 1.
[0062] The data from the sensor 23 must be prepared so that the control unit 20 can process it. For this purpose, the vehicle 1 has a data processing network 4. The sensor 23 forms a data source 13 for the data processing network 4, and this data source 13 supplies sensor data to the data processing network 4. The control unit 20 forms an output data receiver 21 for the data processing network 4, and this output data receiver 21 receives network output data 14 from the data processing network 4.
[0063] The data processing network 4 consists of a plurality of data processing modules 5, each comprising (one or more) data processing components 6. The data processing network 4, including the data processing modules 5 and data processing components 6, is preferably implemented on hardware 25, which can, in particular, provide a data memory 27 on which the data processing network 4 can store data 2, and various other hardware functions for the data processing network 4, such as a clock generator 10.
[0064] The vehicle 1 shown in Figure 1 has sensors 23 or data sources 13 associated with two different resource groups 28. In a simple example, these may be, for example, sensors 23 or data sources 13 relating to the left side of the vehicle 1 of the first resource group 28, and sensors 23 or data sources 13 relating to the right side of the vehicle 1 of the second resource group 28. The method described allows for the assignment of necessary priorities to the sensor data 3 from the sensors 23 or data sources 13 from each resource group. Preferably, the data processing network 4 has a priority assignment module 29 for this purpose.
[0065] Figures 2 and 3 show various modified embodiments of the data processing module 5 for the data processing network 4 described. The methods described are each performed at the level of individual data processing modules 5. Each data processing module 5 includes an input data receiving module 15 including an input memory 16 for receiving input data 7, an output data supply module 17 including an output memory 18 for which output data 8 is supplied, and a data processing component structure 26 including a data processing component 6 for data processing from input data 7 to output data 8. The input data receiving module 15 may have an interface for receiving a stimulus 9, which can initiate data processing by the data processing component 6. The output data supply module 17 may have an interface for sending an availability signal 12 when data processing by the data processing component 6 is completed and the output data 8 is available.
[0066] Steps a) and b) of the described method are mainly performed by the input data receiving module 15 with respect to the reception of input data 7. Steps d) and e) of the described method are mainly performed by the output data supply module 17 with respect to the supply of output data 8. The actual data processing is performed in step c) by the data processing components 6 that form the data processing component structure 26 of each data processing module 5.
[0067] The modified embodiment of the data processing module 5 shown in Figure 3 has a special feature: a feedback unit 22. Figure 1 illustrates a data processing network 4 that ultimately processes data from the data source 13 (here, the sensor 23) directly and deterministically without any feedback from the data source 13 to the output data receiver 21 (control unit 20). In many applications, this is sufficient. However, the feedback unit 22 shown in Figure 3 demonstrates how direct and non-deterministic data processing is possible in such a data processing network 4, i.e., through such a feedback unit 22. The output data 8 can be returned to the input data receiver module 15 of the same data processing module 5 via such a feedback unit 22, and then processed during subsequent data processing by the data processing component 6 of the data processing module 5. In this way, data storage capability can be introduced to the data processing network 4. In the modified embodiment shown in Figure 3, another special feature is that the output data 8 consists of data subsets 19 that become available at different points in time during data processing by the data processing component 6. The output data supply module 17 can be configured to send out an availability signal 12 for all output data 8 (data subset 19) as a single signal.
[0068] Figures 4, 5, and 6 illustrate various data processing methods that can be implemented 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 data processing performed by the data processing components 6 included in each data processing module 5 is plotted as bars on the timeline 24. Data 2 (sensor data 3) can be introduced into the data processing network 4 using the data sources 13 (sensors 23 in this case) schematically shown above.
[0070] Each data processing module 5.1, 5.2, and / or 5.3 is shown multiple times in succession across timeline 24. This indicates that each data processing module 5.1, 5.2, and / or 5.3 is executed repeatedly, each accessing other input data. The execution of one of the data processing modules 5.1, 5.2, and / or 5.3 begins when stimulus 9 occurs.
[0071] Figures 4, 5, and 6 show different types of stimuli 9 that can be used here.
[0072] Figure 4 shows that, as stimulus 9, only availability signals 12 indicating the availability of data for the execution of a specific data processing task by data processing modules 5.1, 5.2, and / or 5.3 are used. The method shown in Figure 4 proceeds with little data-technical control. As soon as new data becomes available, execution by each data processing module 5.1, 5.2, and / or 5.3 begins. While this certainly achieves high processing speed, the traceability of the data processed by each data processing module 5.1, 5.2, and / or 5.3 is significantly reduced. This is particularly true because the duration of data processing by data processing modules 5.1, 5.2, and / or 5.3 cannot be accurately predicted, and therefore there is little to no reproducibility regarding which data processing module 5.1, 5.2, and / or 5.3 responds to which input data. "Reproducibility" here refers to the reproducibility of data processing by the data processing network 4. In this regard, low reproducibility means that tracking data processing by individual data processing modules 5.1, 5.2, and / or 5.3 must be extremely costly, for example, as required for debugging tasks or for tasks that protect the accuracy of data processing in redundant systems.
[0073] Figure 5 shows that, as stimuli 9, each signal of the clock generator 10 following a fixed time pattern 11 is used. Such stimuli 9 for triggering data processing by data processing modules 5.1, 5.2 and / or 5.3 make it possible to always know exactly which input data will initiate data processing by data processing modules 5.1, 5.2 and / or 5.3. This achieves high reproducibility in the sense described above, but at the same time, significantly degrades the performance of the data processing network 4. The performance of the data processing network 4 as used herein means the ability of the data processing network 4 to operate with minimal hardware resources. This is because it must be ensured that data processing by a data processing module (e.g., data processing module 5.1) is completed before the initiation of another data processing module (e.g., data processing module 5.2) that processes the output data 8 of the first data processing module as input data occurs. Since it is not possible to accurately predict the duration of data processing by data processing modules 5.1, 5.2, and / or 5.3, the time patterns must be well designed based on the maximum execution period.
[0074] The modified embodiment shown in Figure 6 combines the features of the modified embodiments shown in Figures 4 and 5 in order to achieve high reproducibility on the one hand and good performance on the other. In the data processing network 4, operation is performed using the availability signal 12 as a stimulus 9 or the clock generator 10 according to the task.
Claims
1. A method for processing sensor data (3) from at least two sensors (13, 23) in a vehicle (1), The vehicle (1) has a data processing network (4) which includes a plurality of data processing modules (5) each containing at least one data processing component (6), Each data processing component (6) is configured for a defined data processing task for processing sensor data (3), Each data processing module (5) acquires sensor data (3) and / or output data (8) of other data processing modules (5) as input data (7), and generates output data (8) which becomes 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 above method involves the following steps, namely: A) A step of setting, based on at least one parameter, at least one priority for the resource group (28), which is the priority for which the sensor data (3) from the sensors (13, 23) within each resource group (28) should be processed, B) A step of setting at least one priority for at least one resource group (28) based on the at least one parameter, C) The step of activating the data processing module (5) required to process the sensor data (3) from the sensors (13, 23) in the resource group (28) according to the set priority, Includes, For at least one data processing module (5), after step C), the following steps are performed, namely: a) A step of 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) The step of receiving a stimulus (9) to activate at least one data processing component (6) of the data processing module (5), c) If the set of input data (7) is received in step a) and the stimulus (9) is received in step b), the step of activating at least one data processing component (6) of the data processing module (5) and executing a data processing task, wherein the data processing component (6) is configured to generate output data (8) using each input data (7) for the data processing task, d) The step of supplying the output data (8) for further data processing and / or as network output data (14), The execution is performed. Step a) is performed using the input data receiving module (15) of the data processing module (5), The input data receiving module (15) has an input memory (16) for temporarily storing incomplete input data (7), and the method for performing a completeness check of the set of input data (7).
2. In step C), in order to activate the data processing module (5), the stimuli (9) received in step b) are identified according to the priority set in step B), The method according to claim 1.
3. In step b), at least one clock generator (10) is used to form the stimulus (9) used in step b), the clock generator (10) sets a time pattern (11) for regularly repeating the execution of the data processing task by the data processing component (6). The method according to claim 1.
4. The method according to claim 1, wherein at least one availability signal (12) indicating the availability of data (2) is used to form the stimulus (9) used in step b).
5. 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 output data (8) that is not yet complete.
6. The above method is carried out on a data processing device on which multiple threads can run concurrently or pseudo-concurrently. Each data processing module (5) is associated with one thread. The activation of the data processing module (5) in step c) is performed by activating each thread having its own priority. The method according to claim 1.
7. The data processing device provides an operating system for carrying out the method, and the operating system is capable of assigning system priority to threads. In step c) in order to activate each thread having its own priority, the priority is converted to the system priority. The method according to claim 6.
8. The method according to claim 1, wherein by setting the priority, the computing capacity of the data processing device that implements the method is concentrated on processing data from sensors (13, 23) in one or more resource groups (28).
9. The above method is carried out on a data processing device. The priority setting in step B) is performed considering at least one workload parameter. The method according to claim 1, wherein the at least one workload parameter takes into account the workload of the data processing device due to the processing of sensor data (3) from sensors (13, 23) from one or more specific resource groups (28).
10. The method according to claim 1, wherein in step d), an availability signal (12) is additionally formed, and based on the availability signal (12), it is possible to identify that output data (8) for further processing has been supplied.
11. The method according to claim 1, wherein the priority in step B) is set depending on the driving conditions.
12. The method according to claim 11, wherein the priority in step A) is set so that sensor data is processed preferentially, depending on the driving conditions, to which it is advantageous to pay a high level of attention.
13. A data processing network (4) comprising at least one data processing module (5) for carrying out the method of claim 1, The at least one data processing module (5) is, The input memory (16) is associated with the input data receiving module (15), The output memory (18) is associated with the output data supply module (17), It has, and further, At least one data processing component (6) executes a data processing task based on the input data (7) in the input memory (16) and generates output data (8) to be stored in the output memory (18). Having, Data processing network (4).
Citation Information
Patent Citations
System, method, and computer program for detecting one or more activities of a driver of a vehicle
EP3088270B1
Mobile object control system
JP1998105880A
System and method for thread control
JP2000194573A
Resource management device and resource management method
JP2022011822A
Centralized scheduling system for operating autonomous driving vehicles
US20190004528A1