Method for calculating the drift angle of a motor vehicle
The described process for calculating the angle of drift in motor vehicles addresses the issue of imprecision in existing methods by using a vehicle-mounted calculator to select appropriate models and filters based on kinematic parameters, achieving accurate drift angle estimation across various driving conditions.
Patent Information
- Application Number
- FR2023005869
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2043-06-09
AI Technical Summary
Existing methods for estimating the angle of drift in motor vehicles are not precise across various driving situations, leading to potential inaccuracies in driving assistance and trajectory control systems.
A process for calculating the angle of drift using a vehicle-mounted calculator, which involves acquiring kinematic parameters, selecting an appropriate model and filter from predetermined lists based on these parameters, and iteratively calculating the drift angle using the selected filter.
This solution ensures precise estimation of the drift angle with an error below a given threshold (e.g., 2 degrees or 1.5 degrees), regardless of the driving situation, without requiring a dedicated road condition detection system.
Smart Images

Figure 00000023_0000 
Figure 00000024_0000 
Figure 00000024_0001
Abstract
Description
Title of the invention: Method for calculating the drift angle of a motor vehicle Technical field of the invention
[0001] The present invention relates generally to the field of estimating driving parameters of a motor vehicle.
[0002] It relates more particularly to a method for calculating the drift angle of a motor vehicle.
[0003] It also relates to a motor vehicle comprising a computer adapted to implement this process.
[0004] The invention finds a particularly advantageous application in driving assistance functions or vehicle trajectory control functions. State of the art
[0005] Most car manufacturers integrate into their vehicles processes for estimating the drift angle from data measured by on-board sensors.
[0006] A sensor allowing direct measurement of the drift angle being in fact very expensive, several times the price of the vehicle itself, manufacturers therefore resort to an estimation of this drift angle according to virtual detection techniques.
[0007] Knowledge of the drift angle is particularly useful for implementing driving assistance or vehicle trajectory control systems such as: torque vectoring control, direct yaw control or electronic stability control (better known by the English acronym ESP for "electronic stability control")
[0008] It is known, for example, to estimate the drift angle using a filter adapted to estimate the vehicle's state based on the vehicle's previous states and observable quantities. The drift angle is then deduced from this vehicle state. The filter is based on a vehicle model describing its motion. The model relates, for example, the vehicle's accelerations and velocities using discretized differential equations.
[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 the vehicle's speeds, the filter and the model can give more or less accurate estimates of the drift angle. Presentation of the invention
[0010] In this context, the present invention proposes a method for calculating the drift angle of a motor vehicle, the method being implemented by a computer in the motor vehicle, the method comprising the following steps: - acquisition of a value for at least one kinematic parameter of the motor vehicle; - selection of a model and a filter, based on 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 based on at least one observable data and a predetermined prior state of said model; - determination of said at least one observable data point; - 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 several to provide an accurate estimate of the drift angle, regardless of the driving situation. This selection is precisely based on the driving situation, using the vehicle's kinematic parameters. This solution notably ensures that the estimated angle is always accurate, with an error below a given threshold, for example, 2 degrees or even 1.5 degrees.
[0012] For example, when a motor vehicle makes a slight turn on a dry road (i.e., with good grip), the noise in the measurements provided by the vehicle's sensors is essentially 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 rate is close to zero, the kinematic model does not provide a good estimate 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, those that are less computationally intensive or better suited to certain specific driving situations. The method according to the invention can therefore benefit from future technological developments. Preferably, the filters and models selected and stored on the vehicle's computer are computationally efficient.
[0014] Finally, the method according to the invention does not require determining the condition of the road surface (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 eliminates the need for dedicated road surface detection systems such as cameras.
[0015] Optionally and advantageously, the selection step is based on a machine learning algorithm. During learning, the algorithm learns which model / filter combination is the most accurate according to the kinematic parameter values provided to it (in other words, according to the driving situation). The computer can therefore accurately determine the driving situation (since it has learned to distinguish between them) in order to select the appropriate model / filter combination. Furthermore, the computer can then take into account a large number of kinematic parameters of the motor vehicle, which allows for a further refinement of its selection.
[0016] In this regard, the machine learning algorithm is pre-trained offline before the machine learning algorithm is implemented by the vehicle's computer, so that only simple calculations are performed by the computer to select the filter and the model. The invention is therefore simple to implement.
[0017] Other advantageous and non-limiting features of the process according to the invention, taken individually or in all technically possible combinations, are as follows:
[0018] - it is planned to train the machine learning algorithm on the basis of a database associating values of vehicle kinematic parameters 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 determining, for several sets of kinematic parameter values, which of said pairs provides the drift angle estimate closest to the drift angle measurement provided by the sensor; - the kinematic parameter relates to the movement of the motor vehicle in relation to a road on which the motor vehicle is traveling or to a movement of a moving element of the vehicle intended for driving; - each filter in the predetermined list is a recursive, Bayesian or particle numeric filter, which is based on a hidden Markov chain; - each model from the 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 includes at least one equation of motion relating to a time evolution of a state of the motor vehicle and at least one measurement equation allowing the calculation of said observable data on the basis of a measurement of at least one kinematic parameter; - the said observable data relates to the movement of the motor vehicle; - it is planned, at each iteration, to calculate several preliminary drift angles using several pairs formed from one of the models and one of the filters from 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, based on 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 based on at least one observable data and a predetermined prior state of said model; • determine said at least one observable data point; • calculate, by iterating 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 can be combined in various ways, provided they are not incompatible or mutually exclusive. Detailed description of the invention
[0021] The following description with regard to the attached drawings, given by way of non-limiting examples, will make it clear what the invention consists of and how it can be carried out.
[0022] On 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 enabling the implementation of a method according to the invention to calculate a drift angle of the motor vehicle of [Fig.1];
[0025] [Fig.3] is a schematic representation of an iteration of a Kalman filter implemented in the process of [Fig.2];
[0026] [Fig.4] is a schematic representation of an iteration of a Kalman filter extended implemented in the process of [Fig.2];
[0027] [Fig.5] is a schematic representation of an iteration of a particle filter implemented in the process of [Fig.2].
[0028] Figure 1 shows a motor vehicle 10 conventionally comprising a chassis that defines, in particular, a passenger compartment and an engine compartment, two front steering wheels 11, and two rear non-steering wheels 12. Alternatively, these two rear wheels could also be steerable. This motor vehicle 10 has a conventional steering system that allows the orientation of the steering wheels to be controlled so as to turn the motor vehicle 10. The motor vehicle 10 has a powertrain, including in particular a propulsion actuator that controls this powertrain to accelerate the motor vehicle 10.
[0029] As shown in [Fig. 1], the drift angle [3] of the motor vehicle 10 is defined as the angle between the vector representing the velocity of the motor vehicle 10, denoted v (represented at the center of gravity C of the vehicle in [Fig. 1]), and the longitudinal axis Al of the motor vehicle 10. In the bicycle model shown in [Fig. 1], the two front wheels 11 are considered to coincide, and the same applies to the two rear wheels 12. The vehicle's chassis is modeled by a body that connects the two wheel models. The longitudinal axis Al is then parallel to the line passing through the centers of the two wheel models.
[0030] The motor vehicle 10 also includes a computer 13. Thanks to its input interfaces, the computer 13 is adapted to receive input signals from various sensors on board the motor vehicle 10.
[0031] Among these sensors, for example, the following are planned: - an observation device such as a front-facing camera or a RADAR or LIDAR remote detector, - a device such as a gyroscope, enabling the determination of the yaw rate (around a vertical axis) of the motor vehicle 10, and - various sensors such as an inertial measurement unit allowing for the estimation of longitudinal speed, for example.
[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] In general, the computer 13 can acquire, through 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 with respect to a road surface on which it is traveling (or its lane of travel), or to a movement of a moving element of the motor vehicle 10 intended for driving. Kinematic parameters relating to movement relative to the road surface include, for example: yaw rate, longitudinal speed, lateral acceleration, longitudinal acceleration, steering wheel angle induced by the driver, wheel steering angles (for example, determined by the steering wheel angle), GPS position, vertical acceleration and velocity, and an estimated road gradient. Kinematic parameters relating to a moving element include, for example: wheel rotation speed, engine torque, tire pressure, suspension compression ratio, braking torque, wheel angular velocities, master cylinder brake pressure, electric power steering assistance torque, suspension travel, and drivetrain machine torque.
[0034] The computer 13 comprises at least one memory and at least one processor. Its memory stores data used in the process described below. In particular, it stores a computer application consisting of computer programs containing instructions whose execution by the processor enables the computer 13 to implement the process described below. In other words, the processor is programmed to implement the process described below.
[0035] The calculator 13 has in particular in memory a predetermined list of models and a predetermined list of filters.
[0036] Each model in the predetermined list of models allows for the description of a movement of the motor vehicle 10 and, more specifically, an evolution of the motor vehicle 10 in its lane of travel. Each model is therefore at least partially representative of the trajectory and dynamics of the motor vehicle 10.
[0037] To this end, each model includes, in particular, at least one equation of motion relating to a time evolution of a state of the motor vehicle 10. In the following, these equations are referred to as "equations of state," as is common in the field of modeling. Here, the equations of state are of the differential type, in that they relate at least one kinematic parameter and its derivative, for example, the velocity and acceleration of the motor vehicle 10. The equations of state are derived, for example, from the fundamental principle of dynamics.
[0038] Each model also includes a measurement equation for calculating an observable datum based on a measurement of at least one kinematic parameter. Each observable datum is therefore also related to the motion of the motor vehicle 10. As detailed in 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 in the predetermined list of filters is adapted to estimate an instantaneous state of at least one of the models based on at least one observable data point and at least one predetermined previous state of said model. Each filter is thus a recursive filter. This means that it relies on previous states to estimate, iteratively, the instantaneous state. A predetermined previous state is considered known here. A previous 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. These states are subsequently referred to as "state vectors," meaning that they group together several state variables, for example, the positions and velocities of the motor vehicle 10 or the velocities and accelerations of the motor vehicle 10. They are called "state variables" in the sense that their values can vary, particularly during the filter iteration as described later. Thus, the state variables are also related to the motion of the motor vehicle 10. They may, but do not necessarily, correspond to kinematic parameters measurable by the sensors of the motor vehicle 10. Alternatively, a state can be characterized by a single state variable.
[0041] Here, each filter in the predetermined list is preferably a numeric, Bayesian or particle filter, which is based on a hidden Markov chain.
[0042] Before describing this process, we can introduce the different parameters and variables that will be used, some of which are illustrated in [Fig.1].
[0043] The total mass of the motor vehicle will be denoted m.
[0044] The center of gravity of the vehicle will be noted C.
[0045] We will primarily consider here an orthogonal coordinate system (C, X, Y, Z) attached to the vehicle. Its origin coincides with the center of gravity C. The X axis corresponds to the longitudinal axis Al of the vehicle. The Y axis corresponds to the lateral axis oriented to 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 denoted L.
[0047] The distance between the center of gravity C and the front axle of the vehicle will be denoted af. Generally, in the following, the subscript / will be associated with the front wheels.
[0048] The distance between the center of gravity C and the rear axle will be denoted ar. In the following, the index r will be associated with the rear wheels.
[0049] The drift rigidity of the front wheel tires will be noted caf.
[0050] The drift rigidity of the rear wheel tires will be noted because.
[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 of the rear wheels with respect to the longitudinal axis X of the vehicle will be denoted ôr. Note 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 denoted r.
[0054] The longitudinal speed of the vehicle, along the X axis, will be denoted Vx.
[0055] The lateral speed of the vehicle, along the Y axis, will be denoted V,,.
[0056] The longitudinal acceleration of the vehicle, along the X axis, will be denoted ax.
[0057] The lateral acceleration of the vehicle, along the Y axis, will be denoted ay.
[0058] The lateral traction force of the front axle (i.e., the front wheels) will be denoted Fyf.
[0059] The lateral traction force of the rear axle (i.e., the rear wheels) will be denoted Fyr.
[0060] The longitudinal traction force of the front axle (i.e., the front wheels) will be denoted F
[0061] Finally, the operator “•” will signify a differentiation 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 allow for the accurate estimation of the drift angle [3]. As shown in [Fig. 2], the method comprises the following steps: - acquisition of a value for at least one kinematic parameter; - selection of 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 point 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 process are implemented here repeatedly. The computer 13 is thus programmed to implement the process recursively, that is, step by step. The drift angle [3] is thus estimated at each instant (for example, from the moment 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 instants that are, for example, separated by a constant time step. In what follows, the qualifier "instant" refers to the present instant, that is, the last iteration of the filter. This present instant is referenced as "k," and is equal to k times the time step from an initial instant referenced as "k0" (k being a strictly positive integer). Similarly, the state vector representing the present instant is referenced as "k" by subscript. We also refer to the "k" iteration of a filter, meaning that it has been iterated k times. The qualifier "previous" refers to a past instant, earlier than the present instant. A past instant corresponds, for example, to the instant preceding (i.e., immediately before) the present instant. The previous instant is then referenced as "k-1", for example, it is 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], that is, 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 calculate or estimate will be used in contrast to measure or acquire.
[0066] The kth iteration of the filter is described below, based on [Fig.2].
[0067] The method thus begins with a step El of acquiring, by means of the input interfaces of the computer 13, 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 velocity value Vx. As another example, the step El may include the acquisition of values of lateral acceleration a? and yaw rate r.
[0068] The method then includes a step E2 of selecting a pair formed by a model and a filter, called the "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 based more specifically on a machine learning algorithm. The machine learning algorithm is, for example: linear regression, a support vector machine, or a neural network.
[0070] The plan here is to train the machine learning algorithm prior to the implementation of the process by the computer 13, i.e., offline (for example, during the design of the motor vehicle). To perform this training, a database is constructed. This database associates values of kinematic parameters of the motor vehicle 10 with model / filter pairs, the models and filters being those from the lists stored in 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 adapted to measure the drift angle [3]. During these tests, the test vehicle is subjected to several driving situations corresponding to several sets of kinematic parameter values. For each set of values, the drift angle [3] is both measured using the sensor and estimated using the model / filter pairs by the method according to the invention. The database then associates, for example, the model / filter pair giving the drift angle [3] estimate closest to the value measured using 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 these values in the database is then the one with the lowest mean squared error, over all time steps, between the drift angles [3 measured and estimated.
[0073] In practice, the learning process here allows the construction of a decision tree with kinematic parameter values as input and model / filter pairs as output. During step E2, the decision tree selects the most suitable model / filter pair, that is, the one most appropriate for the driving situation reflected by the kinematic parameter values. This decision tree is stored in the memory of the computer 13 for the implementation of step E2. The learning process is, for example, carried out using Matlab software, here using the Deep Learning Toolbox, Statistics, and Machine Learning Toolbox applications. Preferably, several learning algorithms are compared during the testing phase, and only the most accurate one (compared to the derivative angle measurements from the sensor) is used to generate the decision tree.
[0074] In step E3 of the process, the computer 13 determines each observable data point associated with the selected model. The computer 13 thus determines one (see Example 1 below) or several observable data points (see Example 4 below). Each observable data point is determined here using a measurement equation for the selected model. Each observable data point is therefore determined on the basis of a measurement of at least one kinematic parameter, this at least one kinematic parameter being either used or not to select the model / filter pair in step E2.
[0075] The method includes a step E4 of iterating the selected filter. This iteration allows the instantaneous state vector of the motor vehicle 10 to be calculated.
[0076] Classically, as shown for example in [Fig.3], this iteration comprises: - a step Fl of predicting the instantaneous state vector based on at least one predetermined prior 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, that is, the one resulting from iteration k-1. Thus, initially, the prediction step Fl calculates a predicted state vector at time k based on the previous state vector at time k-1. The prediction is therefore based solely on prior state vectors, and in particular on the previous state vector. Subsequently, the correction step F2 adjusts the prediction, i.e., the predicted state vector from step Fl, by comparing the predicted state vector to measurements using observable data. The result of this correction step F2 is, in particular, the instantaneous state vector. Typically, the correction step F2 also includes a filter adjustment step, for example of a filter gain, in order to refine its subsequent predictions.
[0078] The process finally includes a step E5 of deduction, from the instantaneous state vector, of 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 time k, a preliminary drift angle is calculated for each model / filter pair stored 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 from Examples 1 to 4 described below.
[0080] Next, as described previously, the computer 13 selects, based on 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 allows coefficients to be assigned to the different preliminary drift angles according to the values of the kinematic parameters it receives as input. Here, the preliminary drift angle of the selected model / filter pair is assigned a coefficient of one, while 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 these, the steps E3, E4, and E5 implemented, and the kth iteration of the filter, are described in detail for the model / filter pair selected in step E2. The selected model is simply called the "model" and the selected filter is simply called the "filter". The purpose of this section is, in particular, to provide non-limiting examples of filters and models that can be stored on the computer 13 prior to implementing 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 reiterate here the theory (which can be found in any appropriate engineering textbook) of the Kalman filter, which is a Bayesian filter based on the Chapman-Kolmogorov equations and hidden Markov chains. However, we will explain its specific application to the kinematic model in order to fully understand its practical implementation by the computer 13.
[0084] The kinematic model is defined here by the following two equations:
[0085] - a state equation:
[0086] [Math.l] dt rl Vx ri 01[VyJ + L
[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 using the sensors of the motor vehicle 10.
[0090] In what follows, the variable y generally represents observable data. In particular, in this first example, y is directly equal to the measurement of the longitudinal velocity Vx.
[0091] We also denote x the state vector, that is to say the state of the motor vehicle 10. The 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 that's 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 moving, the filter begins to iterate to determine the successive states.
[0092] Advantageously, this model uses only easily accessible quantities (yaw rate r, acceleration ax, ad), provided by cheap sensors.
[0093] The Kalman filter allows the estimation of the state vector x governed by the linear stochastic differential equation of the type:
[0094] [Math.3] •^-1 - + Bk-luk-} + QkA
[0095] with the measurement equation for 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 measurement 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 the case, for example, when there is no slope (horizontal road surface) and the contact with the road surface at the wheels 11, 12 is rolling without slipping.
[0100] The Kalman filter iteration is shown schematically in [Fig.3].
[0101] In this first example (as well as in Example 2 below), the notation represents the state vector predicted at step Fl and iteration k of the filter. The notation represents the state vector corrected at step F2 and 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 at 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 filter correction gain at iteration k (see [Fig. 3] for its formula). In [Fig. 3], P represents the error covariance and Q the state noise covariance.
[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 combination is therefore based on an estimate of the lateral velocity Vy, based, in particular, on a measurement of the longitudinal velocity Vx. In this first example of a filter / model pair, step E5 involves calculating the drift angle [3] using the two state variables, namely the longitudinal velocity Vx and the lateral velocity Vv. The drift angle [3] is calculated here using the formula: p_arCfan(Vy 1 • Here, we assume small angles: for x close to zero sin(x) < x and cos(x) < 1, therefore
[0107] According to [Math. 1], the model is only observable for non-zero yaw rate values r. The estimation is also less accurate when the longitudinal velocity Vx is low. In practice, the machine learning algorithm is designed so that the computer 13 selects the model / filter pair from this first example only if the yaw rate r and the longitudinal velocity Vx are sufficiently high (i.e., above 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. Unlike the kinematic model presented above, the dynamic model takes into account the forces acting on the wheels. This dynamic model compensates for the shortcomings of the kinematic model, which is poorly suited when the yaw rate r is close to zero. The dynamic model is more comprehensive and considers other intrinsic aspects of the vehicle, as well as its dynamics. The dynamic model is defined here by the following two equations: - a state equation: [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 the drift angle as a state variable. B and the yaw rate r. At time k, the instantaneous state vector is denoted 1 *k = '0' • ^4 The observable data there is the measurement of the yaw rate r. This dynamic model includes a Dugoff tire model to estimate the variations in 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 measure and the vector the state is non-linear. According to [Math. 7] and [Math. 8], the dynamic model can be written in the form: [Math.9] ^-1 ~ / (-Vl|Lb with the following equation of measurement: [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 state noise and measurement noise. Here, Euler's explicit 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. Euler's method allows for a simple relationship between state vectors and different time intervals. The sampling period Te is chosen based on the frequency at which measurements are acquired to determine observable data and allows us to relate states 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 relating the state vectors at 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 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 dynamic model discretized using Euler's method. The parameters involved in the filter iteration and shown in [Fig. 4] are: - the Jacobian matrix of partial derivatives of / with respect to x, that is
[0139] zm M f (xk-$-l) - (Xk-lk-b llk-^ 0)
[0140] - ô[;-; j' the Jacobian matrix of partial derivatives of / with respect to q, that is
[0141] / A x ^za x Q (^-ijfc-i) - 0 ) - ;i ud 1 J
[0142] - H[zj], the Jacobian matrix of partial derivatives of h with respect to x, that is
[0143] EJ 7 A \ _ ^['1 / A _ EJ « UJ - / / [ÿ]
[0144] - R[iq], is the Jacobian matrix of 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 a filter / model pair, step E5 includes determining the drift angle P directly from the state vector. Indeed, the drift angle P is one of the state variables, and 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 reiterate here the theory (which can be found in any appropriate engineering textbook) of particle filters, which are based on hidden Markov chains, Monte Carlo methods (in particular preferential sampling), and Bayesian interference. However, we will explain its specific application to the bicycle model, that is, its practical implementation by 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 weighted Dirac sums.
[0151] The bicycle model is defined here 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 axle Fyr to the drift angle of the front wheels fif and rear wheels 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 vectorial here in the sense that each of them represents a value of the drift angle [3 and a value of the yaw rate r.
[0161] The 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 1,000 and 100,000. Preferably, the number of particles is greater than 10,000, which allows for an accurate estimation of the drift angle [3] even when the motor vehicle 10 maneuvers abruptly. However, using more particles 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 Fia only occurs from the second iteration of the filter onwards, in that it is replaced by step F0 in the first iteration. The particles from the previous iteration are then propagated (i.e., pulled) according to the distribution q. In other words, the distribution q is a probability density function that propagates the particles according to the previous state of the model.
[0164] The F2 correction step is then divided into several sub-steps. The main role of the F2 correction step 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 prior probability P( ) which is the probability of transitioning from one state to the next
[0166]
[0167]
[0168]
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176] to the next one. This prior 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 depends only on the previous state. Secondly, the calculator 13 calculates the likelihood y, which allows us to link the observable data yk to the state vector to be estimated. Here, the likelihood is a multidimensional Gaussian distribution defined by the equation: [Math. 18] where 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, and the determining operator. This vector and its variance S can be calibrated as the covariance of measurement noise and model noise. Thanks to these two probability densities, weighting coefficients a>k of iteration k are calculated at substep F21, as shown in [Fig.5]. In substep F22, the weighting coefficients a>k of iteration k are normalized. In substep 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, the particles can be removed at a substep F24 when the following condition is met: 1 / ) 2 < N / 4' then representing a probability density. Here, Euler's explicit 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 measurement noise is equal to le-2 for the longitudinal velocity Vx; - the covariance of state noise is equal to le-1 for the longitudinal velocity Vx and is between le-2 and 0.2 for the lateral velocity 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 appears 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 a 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 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 and the rear axle Fyr, and the front longitudinal force Fxf) are constant, and therefore that their time derivatives are zero, and to add a high level of noise which will allow for random force variations on each particle.
[0178] The state equations 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 measurement noise is for example equal to le-2 for the yaw rate r and to 1 for the longitudinal acceleration ax;
[0183] - the covariance of model noise 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 Fyret 200 for the longitudinal force on the front axle Fxf; - the initial distribution is a centered Gaussian with 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 referred to presented, but a person skilled in the art will be able to make any variation that conforms to the invention.
[0185] For example, instead of using a machine learning algorithm, a model / filter combination can be selected whereby the linear model is selected when the value of a vehicle kinematic parameter exceeds a predetermined threshold value. Thus, for example, the kinematic model and Kalman filter combination (Example 1) can be selected when the yaw rate exceeds a threshold value. When the yaw rate exceeds said threshold value, the computer then selects, for example, the dynamic model and extended Kalman filter combination (Example 2) or the combination based on a particle filter (Examples 3 and 4). This same selection principle can be based on longitudinal speed.
[0186] Alternatively, instead of using a machine learning algorithm, a model / filter pair can be selected based on several values of the vehicle's kinematic parameters by comparing each value to an associated threshold value. The selection is then made based on these comparisons, which are, for example, implemented sequentially. The comparisons concerning the most important kinematic parameters (i.e., those most representative of the driving situation) can be implemented first.
[0187] Other model / filter pairs than those described in detail above can be stored in the computer's memory and selected in the method according to the invention. By way of 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 a random walk (Example 4), further including the drift angle estimated by a Kalman filter with a 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 possible to select a single model / filter pair (always as a function of at least one kinematic parameter) and then estimate the drift angle using only this pair, i.e. without going through the determination of 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).;