Method for calculating the drift angle of a motor vehicle
The method selects model/filter pairs based on kinematic parameters to accurately estimate the drift angle, addressing inaccuracies in existing virtual detection techniques and reducing sensor costs, enabling precise driving assistance and trajectory control.
Patent Information
- Application Number
- FR2023005869
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2043-06-09
AI Technical Summary
Existing methods for estimating the drift angle of a motor vehicle using virtual detection techniques are often inaccurate due to variations in driving situations, such as road adhesion and vehicle speed, and require expensive sensors, making them impractical for widespread implementation in driving assistance systems.
A method involving a computer in the vehicle that selects a model/filter pair based on kinematic parameters to estimate the drift angle, using a predetermined list of models and filters, including Kalman, extended Kalman, and particle filters, which are adapted to different driving conditions, eliminating the need for roadway condition detection systems.
The method provides precise drift angle estimation with an error less than 2 degrees, ensuring accurate driving assistance and trajectory control functions without the need for costly sensors, and allows for future technological updates.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for calculating a drift angle of a motor vehicle Technical field of the invention
[0001] The present invention generally relates to the field of estimating driving parameters of a motor vehicle.
[0002] It relates more particularly to a method for calculating a drift angle of a motor vehicle.
[0003] It also relates to a motor vehicle comprising a computer adapted to implement this method.
[0004] The invention finds a particularly advantageous application in driving assistance functions or functions for controlling the trajectory of the motor vehicle. State of the art
[0005] Most car manufacturers integrate drift angle estimation processes into their vehicles from data measured by on-board sensors.
[0006] Since a sensor capable of directly measuring the drift angle is very expensive, several times the price of the vehicle itself, manufacturers therefore resort to estimating this drift angle using virtual detection techniques.
[0007] Knowledge of the drift angle is particularly useful for implementing driving assistance or trajectory control systems for the motor vehicle such as: torque vector control, direct yaw control or even electronic trajectory corrector (better known by the English acronym ESP for “electronic stability control”).
[0008] For example, it is known to estimate the drift angle by means of a filter adapted to estimate the state of the vehicle as a function of the previous states of the vehicle and of observable quantities. The drift angle is then deduced from this state of the vehicle. The filter is based for this on a model of the vehicle describing its movement. The model links, for example, the accelerations and the speeds of the vehicle by means of equations of the discretized differential equation type.
[0009] However, depending on the driving situation, which is for example representative of the vehicle's grip on the road, the slope of the road or even the vehicle's speeds, the filter and the model can give more or less precise estimates of the drift angle. Presentation of the invention
[0010] In this context, the present invention proposes a method for calculating a drift angle of a motor vehicle, the method being implemented by a computer of the motor vehicle, the method comprising the following steps: - acquisition of a value of at least one kinematic parameter of the motor vehicle; - selection of a model and a filter, on the basis of said value of said at least one kinematic parameter, from respectively a predetermined list of models and a predetermined list of filters, said model describing a movement of the motor vehicle, said filter being adapted to estimate an instantaneous state of said model on the basis of at least one observable data item and a predetermined previous state of said model; - determination of said at least one observable data; - calculation, by iteration of said filter, of the instantaneous state of said model; - deduction, from the instantaneous state, of the drift angle.
[0011] Thus, thanks to the invention, a model / filter pair is selected from among several so as to give a precise estimate of the drift angle, whatever the driving situation. Indeed, this selection is precisely carried out according to the driving situation through the kinematic parameters of the vehicle. This solution makes it possible in particular to guarantee that the estimated angle is always precise, with an error lower than a given threshold, for example 2 degrees or even 1.5 degrees.
[0012] For example, when the motor vehicle makes a turn with a small curvature on a dry road (therefore with good grip), the noise on the measurements provided by the sensors of the motor vehicle is substantially Gaussian. In this case, a Kalman filter based on a kinematic model of the vehicle is particularly accurate for estimating the drift angle. However, when the lateral, longitudinal or yaw speed is close to zero, the kinematic model does not allow a good estimation of the drift angle and, for these driving situations, it is preferable to use a dynamic model with an extended Kalman filter or a particle filter.
[0013] Advantageously, the filters and models are selected from predetermined lists. These lists can in particular be updated with new filters and models, for example less expensive in computing power or more adapted to certain particular driving situations. The method according to the invention can therefore benefit from future technological developments. Preferably, the filters and models chosen and recorded on the computer of the motor vehicle are economical in computing power.
[0014] Finally, the method according to the invention does not require determining the state of the roadway (for example whether it is dry or wet). Indeed, the selection is based solely on parameters relating to the motor vehicle itself. The process therefore makes it possible to do without a detection system dedicated to determining the condition of the roadway, such as cameras.
[0015] Optionally and advantageously, the selection step is based on a machine learning algorithm. During learning, the algorithm learns which is the most accurate model / filter pair according to the kinematic parameter values provided to it (in other words, according to the driving situation). The computer can therefore precisely determine the driving situation (since it has learned to distinguish them) so as to select the appropriate model / filter pair. In addition, the computer can then take into account a large number of kinematic parameters of the motor vehicle, which makes it possible to further refine its selection.
[0016] In this regard, the training of the machine learning algorithm is pre-performed offline before the machine learning algorithm is implemented by the computer of the motor vehicle, so that only simple calculations are performed by the computer to select the filter and the model. The invention is thus simple to implement.
[0017] Other advantageous and non-limiting characteristics of the method according to the invention, taken individually or in all technically possible combinations, are the following:
[0018] - it is planned to train the machine learning algorithm on the basis of a database associating values of kinematic parameters of the vehicle with pairs formed from one of the models and one of the filters of said lists, the database being established by equipping a test vehicle with a sensor adapted to measure the drift angle and by determining, for several sets of values of kinematic parameters, which of said pairs provides the estimate of the drift angle closest to the measurement of the drift angle provided by the sensor; - the kinematic parameter relates to the movement of the motor vehicle in relation to a roadway on which the motor vehicle is traveling or to a movement of a mobile element of the vehicle intended for rolling; - each filter in the predetermined list is a recursive, Bayesian or particle digital filter, which is based on a hidden Markov chain; - each model of said predetermined list is chosen from the group comprising: a linear kinematic model, a non-linear dynamic model, a dynamic model with random walk, a bicycle type model; - the model comprises at least one equation of motion relating to a temporal evolution of a state of the motor vehicle and at least one measurement equation making it possible to calculate said observable data on the basis of a measurement of at least one kinematic parameter; - said observable data relates to the movement of the motor vehicle; - it is planned, at each iteration, to calculate several preliminary drift angles by means of several pairs formed of one of the models and one of the filters of said lists, and to determine the drift angle by selecting one of the preliminary drift angles on the basis of said value of said at least one kinematic parameter.
[0019] The invention also proposes a motor vehicle comprising a computer, said computer comprising: - an interface adapted to the acquisition of a value of at least one kinematic parameter of the motor vehicle; - a memory on which are recorded a predetermined list of models describing a movement of the motor vehicle and a predetermined list of filters; - a processor programmed to: • select a model and a filter, on the basis of said value of said at least one kinematic parameter, from respectively a predetermined list of models and a predetermined list of filters, said model describing a movement of the motor vehicle, said filter being adapted to estimate an instantaneous state of said model on the basis of at least one observable data item and a predetermined previous state of said model; • determine said at least one observable data; • calculate, by iteration of said filter, the instantaneous state of said model; • deduce, from the instantaneous state, the drift angle.
[0020] Of course, the various features, variants and embodiments of the invention may be combined with each other in various combinations to the extent that they are not incompatible or mutually exclusive. Detailed description of the invention
[0021] The description which follows with reference to the appended drawings, given as non-limiting examples, will make it clear what the invention consists of and how it can be implemented.
[0022] In the attached drawings:
[0023] [Fig-1] is a schematic top view of a motor vehicle and its representation sensation in the bicycle model;
[0024] [Fig.2] is a block diagram of a sequence of steps for implementing a method according to the invention for calculating a drift angle of the motor vehicle of [Fig.l];
[0025] [Fig.3] is a schematic representation of an iteration of a Kalman filter implemented in the method of [Fig.2];
[0026] [Fig.4] is a schematic representation of an iteration of a Kalman filter extended implemented in the method of [Fig.2];
[0027] [Fig.5] is a schematic representation of an iteration of a particle filter implemented in the method of [Fig.2].
[0028] In [Fig. 1], a motor vehicle 10 is shown conventionally comprising a chassis which delimits in particular a passenger compartment and an engine compartment, two front steered wheels 11, and two rear non-steered wheels 12. Alternatively, these two rear wheels could also be steered. This motor vehicle 10 comprises a conventional steering system making it possible to act on the orientation of the steered wheels so as to be able to turn the motor vehicle 10. The motor vehicle 10 comprises a powertrain, comprising in particular a propulsion actuator making it possible to control this group in order to accelerate the motor vehicle 10.
[0029] As shown in [Fig.l], the drift angle [3 of the motor vehicle 10 is defined as the angle between the vector representing the speed of the motor vehicle 10 denoted v (represented at the level of the center of gravity C of the vehicle in [Fig.l]) and the longitudinal axis Al of the motor vehicle 10. In the context of the bicycle model represented in [Fig.l], the two front wheels 11 are considered to be merged, and the same applies to the two rear wheels 12. The chassis of the vehicle is modeled by a body which connects the two wheel models. The longitudinal axis Al is then parallel to the straight line passing through the centers of the two wheel models.
[0030] The motor vehicle 10 also comprises a computer 13. Thanks to its input interfaces, the computer 13 is adapted to receive input signals coming from different sensors on board the motor vehicle 10.
[0031] Among these sensors, the following are provided, for example: - an observation device such as a front camera or a RADAR or LIDAR remote sensor, - a device such as a gyrometer, making it possible to determine the yaw rotation speed (around a vertical axis) of the motor vehicle 10, and - various sensors such as an inertial unit allowing for example the longitudinal speed to be estimated.
[0032] Here, the input interfaces of the computer 13 allow it to have access to the CAN data bus of the motor vehicle 10.
[0033] Generally speaking, the computer 13 can acquire, thanks to its input interfaces, a large number of kinematic parameters of the motor vehicle 10. The kinematic parameters of the motor vehicle 10 are here parameters relating to the movement of the motor vehicle 10 relative to a roadway on which it is traveling (or to its traffic lane), or to a movement of a mobile element of the motor vehicle 10. intended for rolling. The kinematic parameters relating to the movement relative to the roadway are for example: a yaw rate, a longitudinal speed, a lateral acceleration, a longitudinal acceleration, a steering angle induced by the driver, wheel steering angles (for example determined by the steering angle), a GPS position, a vertical acceleration and speed, an estimated value of the road gradient. The kinematic parameters relating to a moving element are for example: a wheel rotation speed, an engine torque, a tire pressure, a suspension compression ratio, a braking torque, wheel angular speeds, a master cylinder brake pressure, an electric power steering assistance torque, a suspension travel, a machine torque of the traction chain.
[0034] The computer 13 comprises at least one memory and at least one processor. Thanks to its memory, it stores data used in the context of the method described below. In particular, it stores a computer application, consisting of computer programs comprising instructions whose execution by the processor allows the computer 13 to implement the method described below. In other words, the processor is programmed to implement the method described below.
[0035] The computer 13 has more particularly in memory a predetermined list of models and a predetermined list of filters.
[0036] Each model in the predetermined list of models makes it possible to describe a movement of the motor vehicle 10 and more particularly an evolution of the motor vehicle 10 in its traffic lane. Each model is therefore at least partially representative of the trajectory and the dynamics of the motor vehicle 10.
[0037] For this, each model comprises in particular at least one equation of motion relating to a temporal evolution of a state of the motor vehicle 10. In the following, these equations are called “state equations”, as is common in the field of modeling. Here, the state equations are of the differential equation type, in the sense that they link at least one kinematic parameter and its derivative, for example the speed and acceleration of the motor vehicle 10. The state equations are for example derived from the fundamental principle of dynamics.
[0038] Each model also comprises a measurement equation making it possible to calculate an observable datum on the basis of a measurement of at least one kinematic parameter. Each observable datum is therefore also relative to the movement of the motor vehicle 10. As detailed in the subsequent examples, an observable datum is for example directly equal to the measurement of a kinematic parameter or to a combination of measurements of kinematic parameters.
[0039] Each filter of the predetermined list of filters is adapted to estimate an instantaneous state of at least one of the models on the basis of at least one observable data and at least one predetermined prior state of said model. Each filter is thus a recursive filter. This means that it is based on the prior states to estimate, by iteration, the instantaneous state. A predetermined prior state is here considered known. A prior state corresponds for example to an initial state of said model or to a state preceding, by one or more iterations, the instantaneous state.
[0040] A state is here characterized by a set of parameters describing the motor vehicle 10. The states are subsequently called “state vectors”, which means that they group together several state variables, for example the positions and speeds of the motor vehicle 10 or the speeds and accelerations of the motor vehicle 10. We speak of state “variables” in the sense that their value can vary, in particular during the iteration of the filter as described later. Thus, the state variables are also relative to the movement of the motor vehicle 10. They may, but not necessarily, correspond to kinematic parameters measurable by the sensors of the motor vehicle 10. Alternatively, a state may be characterized by a single state variable.
[0041] Here, each filter in the predetermined list is preferably a digital, Bayesian or particle filter, which is based on a hidden Markov chain.
[0042] Before describing this method, we can introduce the different parameters and variables that will be used, some of which are illustrated in [Fig.l].
[0043] The total mass of the motor vehicle will be noted m.
[0044] The center of gravity of the vehicle will be noted C.
[0045] Here we will mainly consider an orthogonal reference frame (C, X, Y, Z) attached to the vehicle. Its origin is the same as the center of gravity C. The X axis corresponds to the longitudinal axis A1 of the vehicle. The Y axis corresponds to the lateral axis facing towards the left of the vehicle. In practice, this Z axis is the axis normal to the road.
[0046] The vertical moment of inertia of the motor vehicle around the Z axis will be noted L.
[0047] The distance between the center of gravity C and the front axle of the vehicle will be noted af. Generally, in the following, the index / will be associated with the front wheels.
[0048] The distance between the center of gravity C and the rear axle will be noted ar. In the following, the index r will be associated with the rear wheels.
[0049] The drift stiffness of the front wheel tires will be noted caf.
[0050] The drift stiffness of the rear wheel tires will be noted as.
[0051] The steering angle that the front steering wheels make with the longitudinal axis X of the vehicle will be noted ôf.
[0052] The steering angle that the rear wheels make with the longitudinal axis X of the vehicle will be noted ôr. It will be noted here that in the following, this angle will be zero. Alternatively, it could be non-zero and be expressed as a function of the steering angle ôf.
[0053] The yaw rate of the vehicle (around the Z axis) will be noted r.
[0054] The longitudinal speed of the vehicle, along the X axis, will be noted Vx.
[0055] The lateral speed of the vehicle, along the Y axis, will be noted V,,.
[0056] The longitudinal acceleration of the vehicle, along the X axis, will be noted ax.
[0057] The lateral acceleration of the vehicle, along the Y axis, will be noted ay.
[0058] The lateral traction force of the front axle (i.e. the front wheels) will be noted Fyf.
[0059] The lateral traction force of the rear axle (i.e. the rear wheels) will be noted Fyr.
[0060] The longitudinal traction force of the front axle (i.e. the front wheels) will be noted F
[0061] Finally, the operator “•” will signify a derivation with respect to time, the operator “T” the transpose of a matrix and the operator “1” the inverse of a matrix.
[0062] The method according to the invention is intended to enable the drift angle [3] to be accurately estimated. As shown in [Fig.2], the method comprises the following steps: - acquisition of a value of at least one kinematic parameter; - selecting a model and a filter, based on said at least one value, from respectively the predetermined list of models and the predetermined list of filters; - determination of at least one observable data associated with the selected model; - calculation, by iteration of the selected filter, of the instantaneous state vector of the selected model; - deduction, from the instantaneous state vector, of the drift angle [3.
[0063] The steps of the method are here implemented repeatedly. The computer 13 is thus programmed to implement the method recursively, that is to say step by step. The drift angle [3 is thus estimated at each instant (for example from the moment when the motor vehicle 10 starts) which then allows the computer 13 to implement driving assistance or trajectory control functions.
[0064] In particular, the selected filter is iterated at successive times which are for example separated by a constant time step. In the following, the qualifier "instantaneous" refers to the present time, that is to say to the last iteration of the filter. This present time is referenced "k", it is here equal to k times the time step from an initial time referenced "k0" (k being a strictly positive integer). Similarly, the state vector representative of the present time is referenced "k" as an index. In the following, we also speak of "k" iteration of a filter, which means that it has been iterated k times. The qualifier "earlier" refers to a past time, older than the present time. A past time corresponds for example to the previous time (i.e. immediately before) the present time. The previous instant is then referenced “k-1”, it is for example equal to k-1 times the time step from the initial instant.
[0065] The objective of the method is precisely to estimate the “instantaneous” drift angle [3, i.e. at iteration “k” of the selected filter. The drift angle [3 at the “previous” instant is known since the previous state vector is predetermined (typically because it has already been calculated at a previous iteration). “Estimating” means determining by calculation as opposed to direct measurement. Therefore, in the following, the terms calculating or estimating will be used as opposed to measuring or acquiring.
[0066] The iteration k of the filter is described below, based on [Fig.2].
[0067] The method thus begins with a step E1 of acquisition, by means of the input interfaces of the computer 13, of a value of at least one kinematic parameter. Preferably, the values of several kinematic parameters are acquired, for example a yaw rate value r and a longitudinal speed value Vx. As a further example, step E1 may comprise the acquisition of lateral acceleration values a? and yaw rate r.
[0068] The method then comprises a step E2 of selecting a pair formed by a model and a filter, called a “model / filter” pair. This selection is carried out on the basis of the values of the kinematic parameters acquired in step EL
[0069] Here, the selection step E2 is more particularly based on a machine learning algorithm. The machine learning algorithm is for example: a linear regression, a support vector machine, or even a neural network.
[0070] It is here provided to train the automatic learning algorithm prior to the implementation of the method by the computer 13, that is to say offline (for example during the design of the motor vehicle). To carry out this learning, a database is constructed. This database associates values of kinematic parameters of the motor vehicle 10 with model / filter pairs, the models and the filters being those of the lists recorded on the memory of the computer 13.
[0071] This association between the values of the kinematic parameters and the model / filter pairs is established during tests carried out with a test vehicle equipped with a sensor suitable for measuring the drift angle [3. During these tests, the test vehicle is in several driving situations corresponding to several sets of kinematic parameter values. For each set of values, the drift angle [3 is both measured by means of the sensor and estimated by means of the model / filter pairs by the method according to the invention. The database then associates, for example, the model / filter pair giving the estimate of the drift angle [3 closest to the value measured by means of the sensor.
[0072] It is also possible, during these tests, to acquire several values of kinematic parameters at several successive time steps, for example ten values acquired every the 200 ms. The model / filter pair associated with all of these values in the database is then the one presenting the lowest mean square error, over all time steps, between the measured and estimated drift angles [3.
[0073] In practice, the learning here makes it possible to construct a decision tree with kinematic parameter values as input and model / filter pairs as output. The decision tree makes it possible, during step E2, to select the most suitable model / filter pair, i.e. the most appropriate to the driving situation reflected by said kinematic parameter values. This decision tree is recorded in the memory of the computer 13 for the implementation of step E2. The learning is for example carried out using the Matlab software, here using the applications: Deep learning toolbox, Statistics and Machine learning toolbox. Preferably, several learning algorithms are compared during the testing phase and only the most accurate one (in comparison with the derivative angle measurements from the sensor) is used to generate the decision tree.
[0074] In step E3 of the method, the computer 13 determines each observable data item associated with the selected model. The computer 13 thus determines one (see Example 1 below) or more observable data items (see Example 4 below). Each observable data item is here determined using a measurement equation of the selected model. Each observable data item is therefore determined on the basis of a measurement of at least one kinematic parameter, the at least one kinematic parameter possibly having been used or not to select the model / filter pair in step E2.
[0075] The method comprises a step E4 of iterating the selected filter. This iteration makes it possible to calculate the instantaneous state vector of the motor vehicle 10.
[0076] Conventionally, as shown for example in [Fig.3], this iteration comprises: - a step F1 of prediction of the instantaneous state vector on the basis of at least one predetermined previous state vector of the selected model, - a step F2 of correction of the instantaneous state vector on the basis of each observable data determined in step E3.
[0077] Here, the predetermined prior state vector on which the prediction is based is the one preceding the instantaneous state vector, i.e. the one resulting from iteration k-1. Thus, initially, the prediction step F1 makes it possible to calculate a predicted state vector at time k on the basis of the previous state vector at time k-1. The prediction is thus based solely on the prior state vectors, and in particular on the previous state vector. In a second step, the correction step F2 makes it possible to adjust the prediction, i.e. the predicted state vector of step F1, by comparing the predicted state vector with measurements via the observable data. The result of this correction step F2 is in particular the instantaneous state vector. Conventionally, the correction step F2 also comprises a filter adjustment step, for example of a filter gain, so as to refine its subsequent predictions.
[0078] The method finally comprises a step E5 of deducing, from the instantaneous state vector, the drift angle [3. Here, the drift angle [3 is deduced either by calculating it from one or more state variables, or by being itself directly one of the state variables.
[0079] Here, several model / filter pairs perform preliminary drift angle estimations in parallel. Preferably, at each instant, i.e. at each time step, and in particular at instant k, a preliminary drift angle is calculated for each model / filter pair recorded in the memory of the computer 13. By way of example, four preliminary drift angles are determined at each instant using respectively one of the model / filter pairs of Examples 1 to 4 described below.
[0080] Then, as described previously, the computer 13 selects, on the basis of the values of the kinematic parameters and using the learning algorithm, one of the model / filter pairs. The drift angle [3 is then determined as the preliminary drift angle of the selected model / filter pair. In practice, the decision tree makes it possible to assign coefficients to the different preliminary drift angles according to the values of the kinematic parameters that it receives as input. Here, the preliminary drift angle of the selected model / filter pair is assigned a coefficient of one when the others are assigned a coefficient of zero. Alternatively, different non-zero coefficients (for example between zero and one) could be applied to the preliminary drift angles.
[0081] The implementation of several model / filter pairs is now described. For each of them, the steps E3, E4 and E5 implemented, the iteration k of the filter, for the model / filter pair selected in step E2 are described in detail. The selected model is simply called “model” and the selected filter is simply called “filter”. The idea of this part is in particular to give non-limiting examples of filters and models which can be recorded on the computer 13 prior to the implementation of the method according to the invention.
[0082] Example 1: Kinematic model and Kalman filter
[0083] In this first example of a model / filter pair, the filter is a Kalman filter. We will not recall here the theory (which can be found in any appropriate engineering work) of the Kalman filter, which is a Bayesian filter based on the Chapman-Kolmogorov equations and hidden Markov chains. We will however explain its particular application to the kinematic model in order to understand its practical implementation by the computer 13.
[0084] The kinematic model is here defined by the following two equations:
[0085] - an equation of state:
[0086] [Math.l] dt rl Vx ri 01[VyJ + L0
[0087] - a measurement equation:
[0088] [Math.2]
[0089] The operator d[.] / dt represents the derivative with respect to time. The yaw rate r is measured at each instant by means of the sensors of the motor vehicle 10.
[0090] In the following, the variable y generally represents an observable datum. In particular, in this first example, y is directly equal to the measurement of the longitudinal speed Vx.
[0091] We also note x the state vector, that is to say the state of the motor vehicle 10. The state vector includes, in this kinematic model, the longitudinal velocity Vx and the lateral velocity Vy. Here, the instantaneous state vector is denoted and so is it characterized by the longitudinal velocity Vx and the lateral velocity Vy at time k. The state vector is for example initialized as a zero vector at time k0, which corresponds to the motor vehicle 10 being stationary. When the motor vehicle 10 starts, the filter begins to be iterated to determine the successive states.
[0092] Advantageously, this model uses only quantities (yaw rate r, acceleration ax, ad) that are easily accessible, provided by inexpensive sensors.
[0093] The Kalman filter allows the estimation of the state vector x governed by the linear stochastic differential equation of type:
[0094] [Math.3] •^-1 - + Bk-luk-} + QkA
[0095] with the measurement equation of the observable data y at time k
[0096] [Math.4] yk = Hkxk + mk
[0097] The matrices A, BdH represent respectively the transition matrix, the matrix linked to the command u and the observation matrix. Here, the command u at time k-1 is the vector _ ] comprising the longitudinal accelerations ax UkA “ zi J and lateral ay at time k-1. The vector u is measured here using the inertial unit of the motor vehicle 10. These matrices are defined by the following equations:
[0098] [Math.5] M? oL' Mo ?]' "'=0 °1
[0099] The random variables qk.j and mk represent the model noise (state noise) and the measurement noise, they are considered Gaussian and independent of each other. This is for example the case when there is no slope (horizontal road) and the contact with the road at the wheels 11, 12 is a rolling without slippage.
[0100] The iteration of the Kalman filter is shown schematically in [Fig.3].
[0101] In this first example (as well as in Example 2 below), the notation represents the predicted state vector at step F1 and at iteration k of the filter. The notation represents the corrected state vector at step F2 and at iteration k of the filter. The notation represents the state vector calculated at iteration k-1 of the filter (i.e. the predetermined previous state of the model).
[0102] The state vector corrected in step F2 is calculated according to the formula:
[0103] [Math.6] -¼ = -¼.]+^k(yk~^Aik~i )
[0104] The observable data yk is obtained at step E4, here by measuring the longitudinal velocity K as shown in [Math. 2]. The variable Kk is the correction gain of the filter at iteration k (see [Fig. 3] for its formula). In [Fig. 3], P represents the covariance of the error and Q the covariance of the state noise.
[0105]
[0106] At the end of step E4, the state vector at time k (i.e. the instantaneous state of the motor vehicle 10) is estimated. In this first example, the model / filter pair is therefore based on an estimation of the lateral speed Vy on the basis, in particular, of a measurement of the longitudinal speed Vx. In this first example of filter / model pair, step E5 includes the calculation of the drift angle [3 using the two state variables, namely the longitudinal speed Vx and the lateral speed Vv. The drift angle [3 is calculated here according to the formula: p _ arCfan( Vy 1 • Here, we make the assumption of small angles: for x close to zero sin(x)«x and cos(x)« 1, so
[0107] According to [Math. 1], we note that the model is only observable for non-zero yaw rate r values. The estimation is also less precise when the longitudinal speed Vx is low. In practice, the automatic learning algorithm is designed so that the computer 13 selects the model / filter pair of this first example only if the yaw rate r and the longitudinal speed Vx are sufficiently high (i.e. greater than threshold values).
[0108]
[0109]
[0110] [YES]
[0112] Example 2: Dynamic model and extended Kalman filter This second example is based on the use of a dynamic model. The dynamic model, unlike the kinematic model presented above, takes into account the forces experienced by the wheels. This dynamic model makes it possible to overcome the shortcomings of the kinematic model, which is poorly adapted when the yaw rate r is close to zero. The dynamic model is more complete and takes into account other intrinsic aspects of the motor vehicle 10 as well as its dynamics. The dynamic model is defined here by the following two equations: - an equation of state: [Math.7]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122] - a measurement equation: [Math. 8] ■ Vf ' 6r , M yawC, in which MyawC represents the yaw moment at the center of gravity C. In this model the state vector includes as state variables the drift angle B and the yaw rate r. At time k, the instantaneous state vector is denoted 1 *k = '0' • ^4 The observable data is the measurement of the yaw speed r. This dynamic model includes a Dugoff tire model to estimate the variations in the drift stiffness of the front and rear axles. Alternatively, the drift stiffnesses can be assumed to be constant. The filter implemented in this second example is an extended Kalman filter. This filter, which is derived from the Kalman filter, allows the estimation of a state vector of a nonlinear model, that is, a model where the relationship between the measurement and the vector state is nonlinear. According to [Math. 7] and [Math. 8], the dynamic model can be written in the form: [Math.9] ^-1 ~ / (-Vl|Lb with the measurement equation: [Math. 10]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132] As in the first example (Kalman filter), the random variables qk_} and mk denote the state noise and the measurement noise. Here, the explicit Euler method is used to express the model in a form suitable for implementing the filter. This method gives: [Math. 11] ^=4 / -^-1)+41 ^ = 414-1)+¾ where xkj and xk represent the state vector. The Euler method allows the state vectors to be simply linked at different times. The sampling period Te is chosen according to the frequency at which measurements are acquired to determine the observable data and allows the states to be linked at times k and k-1: xk = xkA + Te XkA. Here, the sampling period is equal to the time step. The functions fk_] and hk^ are respectively the state and observation functions connecting the state vectors of times k and k-1. They are given here by: [Math. 12] •u-nrr -M 1+ .............. 41 mV* And [Math. 13] ......W..........+¾)
[0133]
[0134] with [Math. 14]
[0135]
[0136]
[0137]
[0138] The iteration of the extended Kalman filter is shown schematically in [Fig.4]. To iterate this extended Kalman filter, the calculator 13 calculates the partial derivatives of the function / and of the function h around The iteration of the extended Kalman filter is then similar to that of the Kalman filter once the dynamic model is linearized, as shown in [Fig.4]. Here, the extended Kalman filter is applied to the linearized and discretized dynamic model according to the Euler method. The parameters involved in the filter iteration and appearing in [Fig.4] are: - the Jacobian matrix of partial derivatives of / with respect to x, that is to say
[0139] zm M f (xk-$-l) - (Xk-lk-b llk-^ 0)
[0140] - ô[;-; j' the Jacobian matrix of the partial derivatives of / with respect to q, that is to say
[0141] / A x ^za x Q (^-ijfc-i) - 0 ) - ;i ud 1 J
[0142] - H[zj], the Jacobian matrix of the partial derivatives of h with respect to x, that is to say
[0143] EJ 7 A \ _ ^['1 / A _ EJ « UJ - / / [ÿ]
[0144] - R[iq], is the Jacobian matrix of the partial derivatives of h with respect to m, that's to say
[0145] n7 A \ _ ^[4 / A n R (aMm) - %'l
[0146] In [Fig.4], P represents the covariance of the error.
[0147] In this second example of filter / model pair, step E5 comprises the determination of the drift angle P directly from the state vector. Indeed, the drift angle P is one of the state variables, it is therefore estimated in step E4.
[0148] Example 3: Bicycle model and particle filter
[0149] In this third example of a model / filter pair, the filter is a particle filter. We will not recall here the theory (which can be found in any appropriate engineering work) of particle filters which are based on hidden Markov chains, Monte-Carlo methods (in particular preferential sampling) and Bayesian interference. We will however explain its particular application to the bicycle model, that is to say its practical implementation by the computer 13.
[0150] Particle filters allow the estimation of the instantaneous state vector of a strongly nonlinear and non-Gaussian model. Particle filters allow the calculation of probability densities as Dirac weighted sums.
[0151] The bicycle model is here defined by the following two systems of equations:
[0152] - two state equations:
[0153] [Math. 15] ' 1 mVx \ J mV* r _ _ p------j.------ +
[0154] - two measurement equations:
[0155] [Math. 16] 1 _ Cl / C„ f ~ ~ P m "fr "r Pf m r — r
[0156] This model is partly based on a linear pneumatic model relating the lateral forces on the front axle Fyf and rear Fyr to the drift angle of the front wheels fif and rear 0 . This pneumatic model is given by the following equations:
[0157] [Math. 17] Fyr = C„f(Sf-fif)
[0158] Fyr=C„(Br- / ir)
[0159] In this model, the state vector includes as state variables the drift angle [3 and the yaw rate r. The observable data are the yaw rate r and the lateral acceleration cq. This model also assumes small angles.
[0160] The iteration of the particle filter is shown schematically in Figure 5. In this figure, the notation x represents a particle and xj, the state vector. The particles are here vectorial in the sense that each of them represents a value of the drift angle [3 and a value of the yaw rate r.
[0161] Particle filtering begins with an initialization step F0 comprising a drawing of initial particles x^ Xq, ■ ■ ■, X$, N being the number of initial particles, following a uniform distribution q. At the initialization step F0, all the particles have an identical weighting coefficient a>0 equal to 1 / N.
[0162] The number N of initial particles is for example between 1000 and 100,000. Preferably, the number of particles is greater than 10,000, which makes it possible to accurately estimate the drift angle [3 even when the motor vehicle 10 maneuvers abruptly. Using more particles, however, requires more computing power. The initialization step F0 takes place only during the first iteration of the filter. In [Fig.5], the symbol “~” represents a weighting, here a raw weighting different from a weighting normalized to unity.
[0163] The prediction step Fi takes place only from the second iteration of the filter in that it is replaced by the step F0 during the first iteration. The particles from the previous iteration are then propagated (i.e., drawn) according to the distribution q. In other words, the distribution q is a probability density q propagates the particles according to the previous state of the model.
[0164] The correction step F2 is then divided into several sub-steps. The main role of the correction step F2 is to calculate the weighting coefficients a>k of the particles of iteration k on the basis of the weighting coefficients oh- > of the previous iteration k-1.
[0165] First, to perform this step, the calculator 13 calculates two probability densities (from a hidden Markov chain). First, the calculator 13 calculates the a priori probability P( ) which is the probability of a state passing
[0166]
[0167]
[0168]
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176] to the next. This a priori probability is calculated using two state equations (see [Math. 11]). Thus, the particles at iteration k are calculated knowing the particles X'^ at iteration k-1 using [Math. 11]. It therefore only depends on the previous state. Secondly, the calculator 13 calculates the likelihood y which allows the observable data yk to be linked to the state vector to be estimated. Here, the likelihood is a multidimensional Gaussian distribution defined by the equation: [Math. 18] in which Nv represents the number of state variables, x the state vector, a vector of means associated with the state vector, S the variance of this vector il and of the determining operator. This vector il and its variance S can be calibrated as the covariance of measurement noise and model noise. Using these two probability densities, weighting coefficients a>k of iteration k are calculated in sub-step F21, as shown in [Fig.5]. In sub-step F22, the weighting coefficients a>k of iteration k are normalized. In sub-step F23, the instantaneous state vector is calculated as the sum of the particles xj, weighted by their normalized weighting coefficients As shown in Figure 7, optionally, particles can be removed at a substep F24 when the following condition is true: 1 / ) 2 < N / 4' then representing a probability density. Here, the explicit Euler method presented previously is also used to express the bicycle model in a form suitable for implementing the particle filter. In this third example, the following parameters can be used to implement the particle filter: - the covariance of the measurement noises is equal to le-2 for the longitudinal speed Vx; - the covariance of the state noises is equal to le-1 for the longitudinal speed Vx and is between le-2 and 0.2 for the lateral speed Vv; - the initial distribution is a centered Gaussian with covariance le-2 for the longitudinal velocity Vx and for the lateral velocity Vv. The initial distribution occurs during the first iteration of the filter. Example 4: Dynamic model with random walk and particle filter In this fourth example of a model / filter pair, the filter is also a particle filter. Its implementation is identical to that of the filter presented in the third example.
[0177] The model here is a dynamic model with random walk. This model does not require knowledge related to a pneumatic model. The equations used are derived from the fundamental principle of dynamics. The state vector includes in particular the lateral forces on the front axle FyJet and on the rear axle Fyr and the front longitudinal force Fxf. The principle of the random walk is to consider that the forces exerted on the wheels 11, 12 (i.e. the lateral forces on the front axle FyJet rear Fyr and the front longitudinal force F^ are constant, therefore their time derivatives are zero, and to add a high noise which will allow to have random force variations on each particle.
[0178] The equations of state are:
[0179] [Math. 19] ' rcosô f+Fx, if n5 y}+-arF>ys in3 y t = —;--—7“--: - Fv / cos(S^j)+FVrsm<^ P............~.............-......" ^ / = 0 Fyr = Q FXf = 0
[0180] The observation equations are:
[0181] [Math.20] r = r ax = ±(FXf+Fyfsinôf) ay - ^;(FXfsinôf + Fyf+Fyrcosô f)
[0182] In this fourth example, the following parameters can be used to implement the particle filter: - the covariance of the measurement noises is for example equal to le-2 for the yaw rate r and to 1 for the longitudinal acceleration ax;
[0183] - the covariance of the model noises is for example equal to le-2 for the speed of yaw r, le-3 for the drift angle [3, 1500 for the lateral force on the front axle Fyf, 1500 for the lateral force on the rear axle Fyr, and 200 for the longitudinal force on the front axle Fxf; - the initial distribution is a centered Gaussian of covariance le-4 for the yaw rate r, le-5 for the drift angle [3, le3 for the lateral force on the front axle Fyf, le3 for the lateral force on the rear axle Fyr, le3 for the longitudinal force on the front axle Fxf; - the number of particles is between 30,000 and 100,000.
[0184] The present invention is in no way limited to the embodiments described and re presented, but those skilled in the art will be able to make any variation in accordance with the invention.
[0185] For example, it may be provided, instead of using a machine learning algorithm, to select a model / filter pair in which the linear model when the value of a kinematic parameter of the vehicle is greater than a predetermined threshold value. Thus, for example, the kinematic model and Kalman filter pair (Example 1) may be selected when the yaw rate is greater than a threshold value. When the yaw rate is greater than said threshold value, the computer then selects for example the dynamic model and extended Kalman filter pair (Example 2) or the pair based on a particle filter (Examples 3 and 4). This same selection principle may be based on the longitudinal speed.
[0186] As a further variant, it may be provided, instead of using a machine learning algorithm, to select a model / filter pair on the basis of several values of kinematic parameters of the vehicle by comparing each value to an associated threshold value. The selection is then made according to these comparisons, which are for example implemented one after the other. The comparisons concerning the most important kinematic parameters (i.e. the most representative of the driving situation) may be implemented first.
[0187] Other model / filter pairs than those described in detail above can be stored in the memory of the computer and selected in the method according to the invention. For example, the particle filter can be used in combination with the kinematic model (Example 1) or the dynamic model (Example 2). It can also be used in combination with a mixed model based on the dynamic model with random walk (Example 4) also including the drift angle estimated by a Kalman filter with kinematic model. The drift angle of the Kalman filter is then compared with the angle estimated by the particle filter to improve the estimation.
[0188] It may also be provided to select a single model / filter pair (always as a function of at least one kinematic parameter) and then to estimate the drift angle solely using this pair, i.e. without going through the determination of the preliminary drift angles.
Claims
Claims
1. Method for calculating a drift angle (|3) of a motor vehicle (10), the method being implemented by a computer (13) of the motor vehicle (10), the method comprising the following steps: - acquiring a value of at least one kinematic parameter (Vx, r) of the motor vehicle (10); - selecting a model and a filter, on the basis of said value of said at least one kinematic parameter (Vx, r), from respectively a predetermined list of models and a predetermined list of filters, said model describing a movement of the motor vehicle (10), said filter being adapted to estimate an instantaneous state of said model on the basis of at least one observable data item (Vy) and a predetermined previous state of said model; - determining said at least one observable data item (Vy); - calculating, by iteration of said filter, the instantaneous state of said model; - deducing, from the instantaneous state, the drift angle (|3).
2. The method of claim 1, wherein the selecting step is based on a machine learning algorithm.
3. Method according to claim 2, in which it is provided to train the machine learning algorithm on the basis of a database associating values of kinematic parameters (Vx, r) of the vehicle with pairs formed of one of the models and one of the filters of said lists, the database being established by equipping a test vehicle with a sensor adapted to measure the drift angle and by determining, for several sets of values of kinematic parameters (Vx, r), which of said pairs provides the estimate of the drift angle (|3) closest to the measurement of the drift angle provided by the sensor.
4. Method according to one of claims 1 to 3, according to which the kinematic parameter (Vx, r) relates to the movement of the motor vehicle (10) relative to a roadway on which the motor vehicle (10) is traveling or to a movement of a mobile element of the vehicle intended for rolling.
5. Method according to one of claims 1 to 4, according to which each filter of the predetermined list is a recursive, Bayesian or particle digital filter, which is based on a hidden Markov chain.
6. Method according to one of claims 1 to 5, according to which each model from said predetermined list is chosen from the group comprising: a linear kinematic model, a non-linear dynamic model, a dynamic model with random walk, a bicycle type model.
7. Method according to one of claims 1 to 6, according to which the model comprises at least one equation of motion relating to a temporal evolution of a state of the motor vehicle (10) and at least one measurement equation making it possible to calculate said observable data (Vy) on the basis of a measurement of at least one kinematic parameter (Vx, r).
8. Method according to one of claims 1 to 7, according to which said observable data relates to the movement of the motor vehicle (10).
9. Method according to one of claims 1 to 8, in which it is provided, at each iteration, to calculate several preliminary drift angles by means of several pairs formed of one of the models and one of the filters of said lists, and to determine the drift angle (|3) by selecting one of the preliminary drift angles on the basis of said value of said at least one kinematic parameter (Vx, r).
10. Motor vehicle (10) comprising a computer (13), said computer (13) comprising: - an interface adapted to the acquisition of a value of at least one kinematic parameter (Vx, r) of the motor vehicle (10); - a memory on which are recorded a predetermined list of models describing a movement of the motor vehicle (10) and a predetermined list of filters; - a processor programmed to: • select a model and a filter, on the basis of said value of said at least one kinematic parameter (Vx, r), from respectively a predetermined list of models and a predetermined list of filters, said model describing a movement of the motor vehicle (10), said filter being adapted to estimate an instantaneous state of said model on the basis of at least one observable data item (Vy) and a predetermined previous state of said model; • determine said at least one observable data item (Vy);• calculate, by iteration of said filter, the instantaneous state of said model; • deduce, from the instantaneous state, the drift angle (|3).;
Citation Information
Patent Citations
Ground adhesion coefficient acquisition method and device and storage medium
CN116101295A
Device for estimating vehicle lateral slip angle changes between measurement and model-based estimator outputs depending on measured transverse tire load
DE10059030A1
determination of driving status variables
DE102016214064A1
