Method for providing data in vehicle
By applying data filters in vehicles and using signal timing logic and formal language for data filtering and abstract marking, the cost and complexity of vehicle data collection and analysis are solved, and efficient and flexible data collection and analysis are achieved. In the large-scale application of modern vehicles.
Patent Information
- Application Number
- CN202380037779.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-03-01
- Filing Date
- 2023-02-23
- Publication Date
- 2024-12-13
AI Technical Summary
During vehicle development, when recording and analyzing data generated by vehicles, the prior art requires the deployment of specialized measurement computers, which are costly and unsuitable for large-scale applications, especially in the presence of a large number of sensors and control devices in modern vehicles. The required data is difficult and wireless transmission of vehicle data is meaningless.
Apply a data filter as a software module in a vehicle, select and generate data that meets predefined conditions by accessing the bus or communication medium, and output it to the outside through wireless communication, and use signal timing logic and formal language to filter and abstract marking , supports a variety of configuration and activation mechanisms, including machine learning algorithms.
It realizes efficient collection and analysis of data during vehicle operation, reduces costs, is suitable for a large number of vehicles, provides a reusable data filtering solution, can be applied across different vehicle types, and supports real-time data analysis and error detection.
Smart Images

Figure CN119137925A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for providing data in a vehicle by using a data filter, as well as to a computing unit and a computer program for carrying out the method. Background Art
[0002] During vehicle development, both before and after the vehicle starts series production, data generated in the vehicle (e.g. sensor signals) can be recorded and analyzed in order, for example, to check various functions and detect any errors. One possibility for obtaining such data is, for example, to use a measurement computer in the vehicle that is specially configured to record the required data. Summary of the invention
[0003] According to the invention, a method for providing data and a computing unit and a computer program for carrying out the method are proposed having the features of the independent patent claims. Advantageous embodiments are the subject matter of the dependent claims and the following description.
[0004] The present invention relates to providing and in particular collecting data, in particular signals, in a vehicle, or providing and in particular collecting data generated in a vehicle, and more precisely data generated during the operation of the vehicle, in particular signals. In order to obtain such data, it is considered as mentioned above to use a specially configured measuring computer in the vehicle that records the required data. However, this is associated with huge expenditure and is generally not practical, especially for a large number of vehicles. It has also been shown that vehicles that have been mass-produced and driven by customers can sometimes provide relevant data for development (so-called field data). The deployment of a measuring computer is not considered here.
[0005] Moreover, a large amount of such data is generated precisely in modern vehicles, since there are more and more sensors, actuators and control devices or functions in the vehicle, for example for autonomous driving. In this case, it can be difficult to find the specific data required. In addition, it is usually meaningless to collect all the generated vehicle data from a large number of vehicles, especially if, for example, the wireless transmission of the vehicle data to, for example, a server for further use is to be considered.
[0006] In this context, it is proposed to use or apply special data filters in the vehicle. The data filter can be implemented, for example, as a software module on a computing unit, in particular a control unit or a central computer of the vehicle (thus, for example, within the scope of so-called "vehicle edge computing"). In view of the above explanations, this is particularly suitable if such a data filter is used on a large number of vehicles.
[0007] In this case, and more precisely in particular during the operation of the vehicle, vehicle data generated in the vehicle are acquired as input data for the data filter. For this purpose, the data filter or the associated software module can be allowed access to, for example, one or more buses or other communication media in the vehicle, for example in order to be able to record or read out all vehicle data generated in the vehicle. These vehicle data generated in the vehicle include, for example, signals and / or messages generated by sensors and / or actuators and / or control devices during the operation of the vehicle. It should be mentioned that, depending on the type and deployment of the data filter, it is not necessarily necessary to be able to record or read out all generated vehicle data, although this is appropriate. Therefore, depending on the application, for example, vehicle data generated on a special bus or by specific sensors / actuators or control devices may be sufficient.
[0008] By applying a data filter with the provided configuration to the input data, data that meets one or more conditions predefined by the provided configuration are then selected and / or generated from the input data. The selected and / or generated data are then provided (possibly in the form of a signal) as output data, if applicable. Advantageously, the provided output data are output to the outside, i.e. outside the vehicle, in particular by wireless communication. For example, the output data can thus be transmitted to a server, from which the developer or another authorized party can retrieve and use the output data.
[0009] When the data filter is activated, the generated vehicle data are then analyzed and, if necessary, corresponding output data are determined and provided and, if necessary, transmitted externally. In this sense, it can also be referred to as a trigger or a trigger framework, because each time the vehicle data or input data meets the conditions predefined by the configuration, the output data are determined or generated and, if necessary, transmitted.
[0010] As will be explained in more detail later, it can also happen that when a specific configuration or a specific data filter is applied, data are not selected and / or generated from the input data, i.e. if the input data do not meet these conditions, for example, or at least not during normal operation, but for example only in the case of an error. And this is also what should be used in particular within the scope of the present invention.
[0011] In addition, the one or more conditions pre-set by the provided configuration exist in the form of an abstraction with respect to the vehicle data with a data identifier. For example, a formal description language can be selected. For this purpose, an assignment from such an abstract label (data identifier) to (actual) vehicle signals or vehicle data should also be provided, for example in the form of an assignment table. The abstract description of the input and output data in the configuration makes it independent of the specific vehicle architecture, E / E architecture and vehicle functions. This abstract description of the data filter can be implemented by a formal language, which can be used in the same way between different vehicle types, manufacturers, etc., and can therefore also be reused.
[0012] The assignment (or conversion) between the abstract identifier (data identifier) and the (actual) vehicle signal or vehicle data is particularly preferably carried out automatically during or in the application by means of a configuration file (mapping) between the signal and the used elements of the formal language.
[0013] A component can be provided upstream of the data filter, which automatically translates the symbols of the formal language into bytecode (e.g. in the manner of an "STL compiler", STL see below), i.e. the description of the conditions (trigger conditions) is always carried out in the formal language, without manual code generation. For example, this translation into bytecode can be carried out outside the vehicle (the upstream component is then located outside the vehicle) and only the translated bytecode is transferred to the vehicle; however, the trigger conditions can also be interpreted at runtime, the upstream component is then located in the vehicle. The latter is preferably carried out, for example, in the development phase and in so-called "rapid prototyping", the former preferably takes place in the context of regulated use conditions (where, for example, the effects of such changes in the runtime behavior should or must be tested and prevented in advance).
[0014] Particularly preferably, the application of data filters, in particular the checking of whether one or more conditions predefined by the provided configuration are met, is carried out by using a temporal logic of the signal. Such a temporal logic of the signal is also known under the name "Signal Temporal Logic", i.e. STL. Temporal logic or temporal logic is an extension of logic by which time sequences can be recorded. For example, these are applications of modal logic based on contextual relationships between time points.
[0015] Signal timing logic (STL) thus relates in particular to the time course of signals, in this case signals (or generally data or messages) in a vehicle. In particular, real-time constraints or real-time conditions, such as arise or may arise during operation of the vehicle, are taken into account here; constraints or conditions of actually possible values may also be taken into account, for example specifically adapted to possible signals or data in the vehicle. A more detailed description and explanation of signal timing logic can be found, for example, in "https: / / people.eecs.berkeley.edu / ~sseshia / fmee / lectures / EECS294-98_Spring2014_STL_Lecture.pdf".
[0016] The use of sequential logic of signals makes it possible to predetermine or define, for example, specific conditions (e.g., patterns or standards) that must be met or must not be met for signals or data, and more precisely not only for individual signals, but also for combinations of multiple signals. For example, it can be applicable to two specific signals in a vehicle: these two signals can never simultaneously present the same value during normal operation or in the absence of errors. If this is the case, it can be assumed that there is an error. For example, this makes it possible to create a configuration with conditions for data filters, wherein, if there is no error, no output data that can be provided is obtained. On the contrary, if output data is obtained when applying the relevant data filter with such a configuration, it can be concluded that there is an error, and more precisely, for example, an error exists in one of the two signals or in the unit (sensor, actuator, control device) that generates these signals. However, the use of sequential logic of signals can also make it possible to filter out specific signals or combinations of signals (or data) that are important for a specific development project or a specific problem from the input data, and then provide them accordingly as output data.
[0017] By using a formal language, mathematically provable system properties (such as minimum distance) can be guaranteed or even statistical arguments can be derived in cases where data on specific erroneous behaviors cannot be collected, for example via a large sample of vehicles / km / operating hours.
[0018] Given below is an example of a conditional in a formal language using STL:
[0019] float vx,ax;
[0020] bool PersonDetection;
[0021] formula=once[0s,2s,ax<=0]and once[2s,2.1s,PersonDetection]andalways[2s,2.1s,vx>2];
[0022] This lists the conditions for the vehicle's speed (vx) and acceleration (ax) in the x or longitudinal direction and for the detection of persons using a camera (PersonDetection). If a person is detected while the vehicle is traveling faster than 2 ms / s and then has an acceleration less than or equal to 0 m / s for the next 2 seconds 2 , the data should be recorded and output. In this case, it is assumed that the brake is activated due to the recognition of a person. The terms "once" and "always" correspond to the usual STL conditions.
[0023] By means of the above-mentioned component (STL compiler), these conditions can then be translated into, for example, bytecodes, so that the relevant control device knows which signals to observe in order to know, for example, the speed of the vehicle. Accordingly, the acquired signal (which then exists, for example, as bytecode) can be translated back into a formal description.
[0024] Not only one such data filter can be provided in one configuration, but a plurality of such data filters can also be provided on the vehicle or on a computing unit of the vehicle (or also on different computing units of the vehicle). These data filters can then be used for different purposes, but function in essentially the same way. Different data filters can, but do not necessarily, access the same vehicle data. The output data of different filters will usually be different, but can also be the same, even if, for example, the type of data filter or its configuration is different.
[0025] Preferably, the data filter is activated or deactivated based on information acquired from the outside, i.e. from outside the vehicle, in particular via wireless communication (so-called "Over The Air", OTA), for activating or deactivating the data filter. Thus, the data filter can essentially be present on a computing unit of the vehicle, for example as the mentioned software module on a specially provided storage area, but can be activated only when required and then deactivated again when required. For example, a development team may be interested in specific signals or their properties at a specific point in time. For this purpose, the data filter stored on the computing unit can then be activated for specific time periods using a suitable configuration.
[0026] Advantageously, the configuration is selected based on information obtained from outside, i.e. from outside the vehicle, in particular via wireless communication, to select a configuration from a plurality of configurations. Thus, a plurality of, in particular different, configurations can be stored for the data filter, which for example determine different output data from the input data. Depending on the current requirements, one of the configurations can then be selected; this can be done, for example, by transmitting a corresponding command (information for selecting the configuration) to the vehicle or to a computing unit that performs the operation.
[0027] In the case of data filters activated using a (selected) configuration, the generated vehicle data are then analyzed, in particular during vehicle operation (runtime), and corresponding output data are determined and provided if necessary and, if necessary, transmitted externally. In this sense, it can also be referred to as a trigger or a trigger framework, because whenever the vehicle data or input data meet the conditions predefined by the configuration, the output data are determined or generated and, if necessary, transmitted.
[0028] It is also advantageous if the configuration is acquired externally, i.e. from outside the vehicle, in particular via wireless communication. Although the configurations can already be provided on the executing computing unit during vehicle manufacture (e.g. within the framework or in accordance with a so-called variant coding of the vehicle), they can also be transferred there later. This is of interest, for example, if a specific configuration only becomes relevant or known later. In this way, a plurality of configurations can also be acquired; thus, an already existing configuration can also be supplemented with a further configuration. In this way, one or more existing configurations can also be updated (upgraded).
[0029] Preferably, applying the data filter comprises using a machine learning algorithm such as an artificial neural network. In this case, by means of the machine learning algorithm, for example, specific calculations or criteria can be applied (according to the configuration) to the input data for the data filter in order to obtain output data. However, the machine learning algorithm can also be used, for example, only for subtasks thereof, such as also for the preselection of the input data to be ultimately checked and / or for the preprocessing of the input data for the application of a sequential logic for the signal. Thus, complex calculation steps can also be integrated, and precisely regardless of the specific application case.
[0030] A neural network (NN) can be incorporated into a signal preprocessing chain, for example, by feeding the output signal of the neural network back as input (input data) into a data filter. For example, the neural network can map a function of "sensor blindness" and the data filter outputs data if sensor blindness of the front camera is detected uninterruptedly within a specified period of time (e.g. 300 milliseconds). An application case for this could be that, for example, a movement of the windshield wipers should be rejected as a false positive.
[0031] In general, in principle, all types of complex calculations can be moved out of the data filter and only the temporal dependencies of the output signal level of the complex calculations can be modeled, thus separating the complex detection logic from the temporal behavior and interdependencies.
[0032] Advantageously, the provision of vehicle data, which includes at least the application of data filters, but in particular also the acquisition of input data and the provision of output data, is only carried out if one or more criteria regarding the runtime behavior are met. In particular, the provision of vehicle data is also suspended if one or at least one of the multiple criteria is no longer met. As already mentioned, the application of data filters includes the provision of output data during runtime and, if necessary, the transmission of output data. As a result, computing resources on the computing unit that performs the execution are used. Therefore, it should be noted that tasks that the computing unit (e.g. control device, central computer) was originally or primarily set for can also be performed. If this is no longer possible due to the application of data filters or is no longer possible within a predetermined time, the application of data filters can and should be interrupted or, if necessary, not started at all. Therefore, what is taken into account as a criterion is, for example, a certain share of freely available computing power and / or storage area, or the lack of safety-critical regulatory interventions.
[0033] By reserving the required protected memory areas on the executing computing unit, such data filters can also be used in the field of safety-critical systems, wherein it should be ensured that changes in the configuration and size of the data filter occur only within the limits of the reserved protected memory areas and the runtime budget.
[0034] A computing unit according to the invention, for example a control device or a central computer of a motor vehicle, is configured, in particular in terms of programming, to carry out the method according to the invention.
[0035] It is also advantageous to implement the method according to the invention in the form of a computer program or computer program product with a program code for executing all method steps, because this leads to particularly low costs, especially if the control device for execution is also used for other tasks and therefore exists anyway. Finally, a machine-readable storage medium is provided, on which a computer program as described above is stored. Suitable storage media or data carriers for providing computer programs are particularly magnetic, optical and electrical memories, such as hard disks, flash memories, EEPROMs, DVDs, etc. The program can also be downloaded via a computer network (Internet, intranet, etc.). Such downloading can be carried out in a wired or cable-connected or wireless manner (for example, via a WLAN network, 3G, 4G, 5G or 6G connection, etc.).
[0036] Further advantages and embodiments of the invention are apparent from the description and the drawings.
[0037] The invention is schematically illustrated in the drawings using embodiments and is described below with reference to the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 A vehicle is schematically shown to explain a preferred embodiment of the invention.
[0039] Figure 2 The flow of the method according to the present invention in a preferred embodiment is schematically shown. DETAILED DESCRIPTION
[0040] Figure 1 1 and 2 to illustrate a preferred embodiment of the invention. Vehicle 100 has, for example, a computing unit 110 designed as a central computer 110 to which two control devices 122 and 124 are connected, for example via a communication connection or bus 120 .
[0041] Sensors 130, 132, 134 and 136 and actuators 140, 142 are connected to these control devices 122, 124 by way of example. The sensors can be, for example, cameras, radar, ultrasonic or lidar sensors, tachometers or other measuring sensors or measuring devices, and, for example, inertial sensors. The actuators can be, for example, brake actuators, steering actuators or other actuators. These sensors, actuators and control devices generate signals or data or, in general, vehicle data, such as those marked with 160, during the operation of the vehicle 100. These data or signals are applied to the communication connection 120 and can be read or recorded by the central computer 110.
[0042] A data filter 112 with a configuration 114 is executed in or on the central computer 110. Vehicle data 160 is used as input data for the data filter 112. Using the data filter 112, a certain portion of the vehicle data is selected from the input data according to the configuration 114 and transmitted as output data 170, for example wirelessly to a server 190 or another off-vehicle computing unit, i.e. externally. For example, a developer can then access the output data 170 in order to use it for analysis.
[0043] Furthermore, two further vehicles 102, 104 are shown by way of example, on whose central computers data filters with corresponding configurations may also be present, thus indicating that such data filters may exist and be applied to a large number of vehicles, for example vehicles located in the field, in order to be able to collect specific vehicle data from a large number of vehicles.
[0044] exist Figure 2 The flow of the method according to the present invention in a preferred embodiment is schematically shown in FIG. For this purpose, a data filter 212 is shown, which may correspond to, for example, Figure 1 Data filter 112 in.
[0045] During vehicle operation, vehicle data, i.e. various signals, are recorded and supplied as input data to a data filter 212. Four signals 260, 262, 264, 266 are shown by way of example. The data filter 212 has a configuration 214, which is predefined by, for example, two conditions 216, 218. The condition 216 can, for example, include that only signals of types 260 and 262 are considered. The condition 218 can then include that, among the signals considered, for example, a signal of type 260 must temporally precede a signal of type 262 to assume the value 1. These conditions can be formulated in such a way that they are never satisfied during normal operation, since, for example, the signal 260 never assumes the value 1 before the signal 262, but mostly after the signal 262.
[0046] Accordingly, only if an error is present are the two conditions 216 and 218 satisfied and data 270 , for example information about the error that has occurred, provided as output data.
[0047] For example, in another configuration, only conditions can be predefined which take into account signals of type 264, so that these signals are also always output as output data (if necessary directly).
[0048] In this way, the required vehicle data can be obtained very quickly and flexibly using the required data filters in various vehicles.
[0049] It is important here that the configuration 214 also specifies which data should be provided or stored when the conditions (trigger conditions) 216, 218 are met. These can also be signals (vehicle data) in addition to the signals for the trigger conditions (i.e. 260, 262 here). A preferred application is, for example, that a simple scalar signal is triggered, but then the camera image should also be stored in addition. As mentioned at the beginning, not only can data be selected from the vehicle data, but other data can also be generated if necessary.
Claims
1. A method for providing data in a vehicle (100), the method comprising: obtaining vehicle data (160, 260, 262, 264, 266) generated in the vehicle (100) as input data for the data filter (112, 212), The data filter (112, 212) having the provided configuration (114, 214) is applied to input data, wherein data satisfying one or more conditions (216, 218) predetermined by the provided configuration (114, 214) are selected from the input data and / or generated, wherein the one or more conditions (216, 218) predetermined by the provided configuration are present in a form abstracted from the vehicle data with a data identifier, and If applicable, the selected and / or generated data is provided as output data (170, 270).
2. The method according to claim 1, wherein applying the data filter (112, 212), in particular checking whether one or more conditions (216, 218) predetermined by the provided configuration are met, is performed by using a sequential logic of the signal.
3. The method of claim 1 or 2, wherein applying the data filter (112, 212) having the provided configuration (114, 214) to input data comprises: An assignment between the input data and the data identifier is used.
4. A method according to any one of the preceding claims, wherein: The provided output data (170, 270) is output to the outside, in particular via wireless communication.
5. A method according to any one of the preceding claims, wherein: The data filter (112, 212) is activated or deactivated based on information acquired from the outside, in particular via wireless communication, for activating or deactivating the data filter.
6. A method according to any one of the preceding claims, wherein: The configuration (114, 214) is selected based on information acquired from the outside, in particular through wireless communication, to select a configuration from a plurality of configurations.
7. A method according to any one of the preceding claims, wherein: The configuration (114, 214) is acquired or updated from the outside, especially through wireless communication.
8. A method according to any one of the preceding claims, wherein: A plurality of data filters (112, 212) having respective configurations (114, 214) are used to determine and provide corresponding output data (170, 270).
9. The method according to any of the preceding claims, wherein applying the data filter (112, 212) comprises: Use machine learning algorithms.
10. A method according to any one of the preceding claims, wherein: The data filter (112, 212) is applied only if one or more criteria regarding the runtime behavior are met, and in particular the application of the data filter is also terminated if one or at least one of the criteria is no longer met.
11. A method according to any one of the preceding claims, wherein: Vehicle data (160, 260, 262, 264, 266) generated in a vehicle (100) include signals and / or messages generated by sensors (130, 132, 134, 136) and / or actuators (140, 142) and / or control devices (122, 124) during operation of the vehicle.
12. A computing unit (110), in particular a control device or a central computer of a vehicle, which is configured to carry out all method steps of the method according to any of the preceding claims.
13. A computer program which, when executed on a computer unit (110), causes the computer unit (110) to execute all method steps of the method according to any one of claims 1 to 11.
14. A machine-readable storage medium having stored thereon a computer program according to claim 13.
