The present invention relates to a method and a control unit for activating an occupant protection arrangement, as well as to a computer program and a computer program product.
German patent document DE 103 60 893 A1 discusses activating an occupant protection arrangement as a function of a comparison of a forward displacement with a threshold value. The threshold value is set as a function of a velocity decrease and a deceleration. The velocity decrease and the deceleration span a two-dimensional feature space which is subdivided into two regions by the threshold value. These two regions characterize the classes that are significant for the activation of the occupant protection arrangement, the threshold value representing the lowest limit.
To automate a calibration process and to shorten the calibration time, automated learning-based methods are proposed. Neural networks are one possible implementation as discussed in WO 2005/037609 A1, WO 2005/037610 A1, WO 2005/037611 A1, WO 2005/035319 A1, EP 1133418, and DE 198 54 380 A1. In a training process, which takes place off line in the lab, the separating line otherwise calibrated manually is set automatically by the machine learning method. The algorithm ultimately delivers a triggering decision based on neural networks on the basis of a learned characteristic curve.
The use of such neural networks is non-transparent. There is no fall-back level in the case of an erroneous classification. In addition, neural networks require a large amount of training data, which often do not exist. The problem of so-called overfitting, which is an excessive specialization of neural networks, is disadvantageous.
The method and control unit according to the present invention for activating the occupant protection arrangement have the advantage over the related art that a kernel algorithm known from the related art is combined with a classification method, so that the strengths of both methods complement each other. A support vector machine (SVM) is used here as the classifier. The SVM is trained in the lab. It delivers a multidimensional separating surface, for example, between a triggering region and a non-triggering region, and possibly, however, also between different crash classes such as ACT, ODB40 kmh, ODB64 kmh, 56 kFullFrontal, AngularCrash, etc. The comparison of crash data with the support vectors corresponding to the separating line, performed in actual operation, delivers a classification of the crash signal. This classification generates an influence on the kernel algorithm, so that its triggering performance is optimized.
This brings about a series of advantages:
The core of the present invention is the classification of the feature or the partial feature vector by a support vector machine. The kernel algorithm is then influenced by this classification. The support vector machine is based on a statistical learning process, which is described in greater detail below.
Triggering is understood here as activation of the occupant protection arrangement such as airbags, seatbelt tensioners, rollover bars, or also active occupant protection arrangements such as brakes or an electronic stability program.
A feature vector here contains at least two features which are formed from a signal of a crash sensor system. For example, if the signal is an acceleration signal, the acceleration signal itself or the first or second integral may be used as features. The vector is formed therefrom which is incorporated, on the one hand, in the kernel algorithm and, on the other hand, in the support vector machine. It is possible that only part of the feature vector is incorporated in the support vector machine. It is then referred to as a partial feature vector. This also applies to the reverse case, i.e., a feature vector is incorporated in the support vector machine, while only a partial feature vector is incorporated in the kernel algorithm.
The crash sensor system may be, in this case, an acceleration sensor system inside and/or outside the control unit, which is also true for a structure-borne noise sensor system.
Furthermore, the crash sensor system may have an air pressure sensor system on the lateral parts of the vehicle and also a surroundings sensor system. Other common crash sensors known to those skilled in the art may be included here. The signal may have one or more measured values of different sensors.
The kernel algorithm here is an algorithm which analyzes the feature vector in such a way that an activation decision may be made. This may take place via a threshold value decision, for example.
A classification here means that the feature vector is assigned to a certain class. This class then determines how the kernel algorithm is influenced. Classes may be divided, for example, by the severity of the crash, i.e., to what degree the crash affects the occupants. A classification by crash type or by a combination of crash type and crash severity may also be used.
The influence is described in greater detail in the dependent claims. Influence is exerted, in particular on the activation decision, i.e., the classification results, in a first case, in a triggering decision, which would not have been made without the influence of the classification.
A control unit is understood here as a device that decides on the activation of the occupant protection arrangement as a function of sensor signals. Therefore, the control unit has means for analyzing the signals of the crash sensor system. To issue the control signal, a suitable device in the control unit is then also needed.
The at least one interface is implemented here with the aid of hardware and/or software. As software, it is embodied, for example, as a software module on a microcontroller in the control unit.
The analyzer circuit is normally a microcontroller; however, it may also be another processor type such as a microprocessor or a signal processor. An integrated circuit which contains the analyzer functions and is embodied, for example, as an ASIC, may be used as the analyzer circuit. The analyzer circuit may also have discrete components or a combination of the above-mentioned subassemblies. It is also possible to form the analyzer circuit from a plurality of processors. For the individual functions, the analyzer circuit then has appropriate software modules when it is a processor type such as a microcontroller, or appropriate hardware modules are present which may also be situated on a single chip.
The measures and refinements recited in the dependent claims make advantageous improvements on the method for activating the occupant protection arrangement described in the independent claims possible.
It is advantageous that the kernel algorithm forms a decision for the activation by comparing the feature vector to a first threshold value in an at least two-dimensional feature space. The kernel algorithm is thus designed in such a way that it transfers the feature vector having the at least two features into an at least two-dimensional feature space and compares it there to a threshold value, where the threshold value may also be a function. A time-invariable kernel algorithm is thus implemented, where, for example, the deceleration and the first integral of the deceleration, i.e., the velocity, may be used as the features. However, other variables such as forward displacement, i.e., the double integral of the deceleration, may also be used here.
It is furthermore advantageous that the kernel algorithm is influenced by the classification in that the first threshold value is modified as a function of the classification. By modifying this threshold value, the classification directly affects the decision-making of whether or not the occupant protection arrangement are to be activated. This modification may take place via an addition or subtraction as a function of the classification or by replacing the first threshold value with a second threshold value. The second threshold value is stored in a memory, for example, or is calculated.
It is furthermore possible to perform a plausibility check of the activation decision as a function of the classification in addition to influencing the kernel algorithm. Using the classification, a decision is made as to whether or not a case of triggering the occupant protection arrangement exists. This result is then combined with the decision of the kernel algorithm to reach a reliable overall decision. Additional functions may also contribute to the combination. These additional functions include, for example, the processing of further sensor signals or a crash type recognition.
Plausibility check means that a first decision is confirmed or revoked by a second decision. This makes a more reliable overall decision possible.
It is furthermore advantageous that a misuse is recognized as a function of the classification, and the kernel algorithm takes this into account in the activation. A misuse is an impact which should not result in the occupant protection arrangement being triggered. A triggering decision by the kernel algorithm may thus still be prevented. This may also be determined as a function of the particular classification. The classification may also be used as a supplement to an existing misuse classification. Also in this case, the classification may provide an add-on to the shift of a misuse threshold or act as a misuse plausibility check function, for example.
It is furthermore advantageous that a very severe crash is recognized as a function of the classification. A very severe crash usually must activate all necessary front occupant protection arrangements, i.e., the seatbelt tensioner and the first and second airbag stages. If the kernel algorithm classifies activation and the SVM classifies a very severe crash, the SVM classification may cause all front occupant protection arrangements to be activated by an activation circuit.
It is furthermore advantageous that there is a computer program which executes all steps of the method according to the present invention as recited in one of claims 1 through 7 when it runs on a control unit. This computer program may be originally written in high-level computer language and is then translated into a machine-readable code.
Also advantageous is a computer program product in the program code, which is stored on a machine-readable medium, such as a semiconductor memory, a hard disk memory, or an optical memory, and is used for carrying out the method as recited in one of claims 1 through 7 when the program is executed on a control unit.
Exemplary embodiments of the present invention are depicted in the drawing and explained in greater detail in the description that follows.
An aspect of the exemplary embodiments and/or exemplary methods of the present invention is the use of the support vector machine (SVM) as the classifier of the feature vector. This is to be elucidated in greater detail in the following.
In the following, the classification principle of the SVM is to be described for two classes, for example, for separating fire crashes and no-fire crashes. In principle, this may be applied easily to the classification of multiple classes.
A precise description of the SVM may be encountered in the relevant literature (for example, Nello Cristianini, and John Shawe-Taylor: An introduction to support vector machines and other kernel-based learning methods or Trevor Hastie: The elements of statistical learning).
Multiclass support vector classification is described, for example, in Bernhard Schölkopf et al.: Extracting Support Data for a Given Task, Proceedings of the First International Conference on Knowledge Discovery and Data Mining, AAAI Press, Menlo Park, Calif., 1995, pp. 252-257.
Only the principle will be qualitatively described here.
The support vector machine is a linear classifier. The linear separation line has the following aspect:
f(x)=w·x+b (1)
The purpose is to draw a separation line between the two classes to be classified that is optimum regarding the distance of the training data (
Finding the optimum straight lines for separating the classes is known as a “quadratic problem with linear boundary conditions.” A quadratic problem with linear boundary conditions may be solved efficiently by using algorithms of the quadratic programming (point 3 of “Advantages of the Invention”). (See, for example, “R. Vanderbei, LOQO: An Interior Point Code for Quadratic Programming”.) An important advantage is the fact that this optimum solution is always found by the algorithms. Therefore, there is no risk of remaining hung up at a local minimum of the optimization (point 4 of “Advantages of the Invention”). The characteristic curve shown in
In mathematics, equation (1) may be represented in the so-called “dual form”:
The two representations are identical. yi is the class to which training data i belong (usually +1 or −1); xi represents the so-called support vectors; x are, for example, the features to be classified in the crash. In
In summary, it may therefore be stated: The support vector algorithm, which is run through during the training, always finds an optimum, i.e., maximally sturdy, separating line of the two classes. After the training, in the test or in the crash, the generated features are not analyzed with respect to the entire separating line, but only with respect to the (much fewer) support vectors.
In reality, the classes are normally not linearly separable, but are separable only by a non-linear separating line. The so-called “kernel trick” is used for this reason. From the initial space (x1, x2) in
In the image space, the features are linearly separable again (see
The kernel function k(xi, x) must meet certain mathematical conditions, which may be found, for example, in Nello Cristianini and John Shawe-Taylor: “An introduction to support vector machines and other kernel-based learning methods.” Normally the following standard kernels are used as kernel functions:
It should be pointed out that the exemplary embodiments and/or exemplary methods of the present invention does not depend on the kernel function.
As is readily apparent from equation (3), the normally non-linear kernel function k(xi, x) must also be calculated exclusively for the support vectors. For the example of a radial base kernel
this means: the distance of features x must only be calculated for the support vectors xi. The e-function could be saved in the control unit, for example, via a Taylor approximation, or implemented by a lookup table. Parameter δ in equation (4) allows the sturdiness of the classifier and thus the number of support vectors to be influenced.
In summary, it may thus be stated that by using the kernel trick, even non-linear characteristic curves may be optimally separated without need for performing the transformation explicitly in the image space. The kernel function and formula (3) for separating must be analyzed only with regard to the support vectors.
By using so-called slack variables, the sturdiness of the classification may be further enhanced. Erroneous classifications are occasionally tolerated with the help of the slack variables. For this purpose, erroneously classified features are added up weighted using a factor C:
Since it may be advantageous to penalize the erroneous classification of one class more severely than that of another class (for example, it may be tolerated that a must-fire is classified as no-fire, rather than the other way around), equation (5) should be extended:
Equation (6) has the effect that erroneous classification of class −1 (i.e., “no fire,” for example) has a higher weight than that of class +1 (“must fire”). Allowing erroneous classifications may also affect the number of support vectors and thus indirectly the calculation time. When using slack variables, the calibrator may still introduce, a priori, his knowledge about his data. If he is aware of the fact that the data are highly scattered, erroneous classifications may be tolerable.
As in all learning-based methods, also in the case of the support vector machine, a training phase takes place prior to the actual use of the control unit (see
The support vectors ascertained during training must subsequently be placed into the control unit.
Often, in particular in an early airbag project phase, insufficient crash data are available. The training set may be increased and the reliability of the classification may be enhanced via cross-validation methods. In cross-validation, the available crash set is subdivided into subsets. Some subsets are used as training data; others are used to evaluate the classification quality. The best-known of these methods is probably the leave-one-out cross-validation, in which one data set is always used for the test and in which all other data sets have been drawn in advance for the training. If this one test data set is permutated through all the data sets, a very large number of tests is obtained for the classification and, using statistical analysis, the quality indicators described in point 7 of “Advantages of the Invention” may be determined for the classifier. With the help of cross-validation, the classification parameters, for example, δ in equation (4), may be further optimized on the basis of the quality indicators.
Various crash sensors are connected to control unit SG, such as a structure-borne noise sensor system KS, an acceleration sensor system BS1, a pressure sensor system DS, and a surroundings sensor system US. Further sensors such as a vehicle dynamics sensor system and/or yaw rate sensors may be additionally or alternatively connected. Those skilled in the art are aware of different positions for installation in vehicle FZ. The structure-borne noise sensor system and acceleration sensor system BS1 are connected to a first interface IF1, interface IF1 providing these signals to the analyzer circuit, namely to microcontroller μC. A second interface IF2, to which air pressure sensor system DS and surroundings sensor system US are connected, provides these signals to microcontroller μC.
Air pressure sensor system DS is installed in the lateral parts of the vehicle and is to be used as a side impact sensor. Surroundings sensor system US may include different surroundings sensors such as radar, LIDAR, video, or ultrasound to analyze the surroundings of vehicle FZ regarding collision objects. Microcontroller pC receives further sensor signals from an acceleration sensor system BS2 within control unit SG. Further sensors may be located within the control unit and may output signals to microcontroller μC. These include vehicle dynamics sensors and structure-borne noise sensors.
Control unit SG here has a housing which may be made of metal and/or plastic. Microcontroller μC itself has internal memories, but may also access external memories also located in control unit SG. Using a kernel algorithm, microcontroller pC analyzes a feature vector from the features of these crash signals and decides whether the occupant protection arrangement PS, activated via activating circuit FLIC, are to be activated. For this purpose, the kernel algorithm is influenced by a support vector machine using a classification of the feature vector. Due to this influence, the decision is more accurate and more appropriate.
More or fewer than the illustrated sensors may be used. The communication of interfaces IF1 and IF2 to microcontroller pC may take place, for example, via bus SPI (serial peripheral interface bus) situated in the control unit. The SPI bus may also be used for the communication between microcontroller μC and activating circuit FLIC. Activating circuit FLIC here has a plurality of integrated circuits, which have power switches and, in the case of activation, make it possible to energize the firing or activating elements of the occupant protection arrangement PS. This activating circuit may also have different designs which have one or more integrated circuits and/or discrete components.
However, it may also be a memory connected to microcontroller μC via conductors. An interface IF3 is used for connecting acceleration sensor system BS2 and provides the signals of this acceleration sensor system BS2. These signals are received, on the one hand, by feature module M, which forms features from the signals of the crash sensor system and forms the feature vector from the features by, for example, the acceleration signal being the signal and module M determining the velocity therefrom via simple integration and then forming a two-dimensional feature vector from the acceleration and the velocity.
This feature vector, which may also have a plurality of dimensions depending on the number of features it is to contain, is then incorporated, on the one hand, in module SVM which contains the support vector machine, and, on the other hand, in kernel algorithm K. It is possible that feature module M provides only one partial vector to module SVM, since only part of the features is needed for the classification. The same is true for the kernel algorithm. Module SVM now classifies the feature vector using the support vector machine. This classification result is also provided in kernel algorithm K. It is possible that this classification result may also be provided to other modules not illustrated here. For example, this classification result may be used as plausibility for a triggering decision obtained from another algorithm part. It is also conceivable that the classification result is used for controlling the further algorithm processing. For example, targeted turning on and off of functionality is conceivable. The kernel algorithm, together with the classification result, now influences the analysis of the feature module of whether or not the occupant protection arrangement PS is to be activated. If a decision is made that the occupant protection arrangement are to be activated, module A is activated for this purpose to generate an activation signal using the hardware of microcontroller μC and transmit it to activation circuit FLIC. This transmission may be secure in particular if it is done over the SPI bus.
Additionally or alternatively, a separate plausibility check may also be performed from the classification, the result of this plausibility check and the decision of the kernel algorithm then being linked for making the ultimate activation decision.
Number | Date | Country | Kind |
---|---|---|---|
10 2007 027 649.6 | Jun 2007 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP08/56055 | 5/16/2008 | WO | 00 | 11/10/2009 |