METHOD FOR AUTOMATED STEERING OF A MOTOR VEHICLE
20240001914 ยท 2024-01-04
Assignee
Inventors
Cpc classification
B60W10/20
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60W30/09
PERFORMING OPERATIONS; TRANSPORTING
B60W10/20
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method for automated steering of a motor vehicle including wheels at least two of which are steered wheels. The method comprising: acquiring parameters relating to a path for avoidance of an obstacle by the motor vehicle, and calculating, by a computer, a first steering setpoint for a steering actuator for the steered wheels and a second steering setpoint for at least one actuator for differential braking of the wheels, depending on the parameters. The first and second steering setpoints are each determined by a controller respecting a model that limits setpoint variation and/or range.
Claims
1-11. (canceled)
12. A process for automated piloting of a motor vehicle having wheels, at least two of the wheels being steered wheels, the method comprising: acquiring parameters relating to a trajectory for the motor vehicle to avoid an obstacle; and calculating by a computer a first piloting setpoint of a steering-angle actuator of the steered wheels and a second piloting setpoint of at least one differential-braking actuator of the wheels, as a function of said parameters, wherein the first piloting setpoint and the second piloting setpoint are each determined by a controller that satisfies a setpoint amplitude and/or variation limiting model, and wherein the first piloting setpoint and the second piloting setpoint are determined as a function of a coefficient that fixes a contribution of each actuator, said coefficient being calculated as a function of a yaw velocity of the motor vehicle, a torque applied by a driver to a steering wheel of the motor vehicle and a parameter, the value of which varies according to whether or not the first piloting setpoint is limited by the controller.
13. The process as claimed in claim 12, wherein the first piloting setpoint and/or the second piloting setpoint is determined by a controller that satisfies a setpoint amplitude and variation limiting model.
14. The process as claimed in claim 12, wherein the coefficient is calculated so that: the second piloting setpoint is zero when the absolute value of the torque applied by the driver to the steering wheel of the motor vehicle exceeds a predetermined threshold, only the steering-angle actuator of the steered wheels is used when the yaw velocity of the vehicle is greater than a control threshold and/or when the piloting setpoint on its own makes it possible to stabilize the motor vehicle, and otherwise, the steering-angle actuator of the steered wheels and the differential-braking actuator of the wheels are used in combination.
15. The process as claimed in claim 14, wherein the coefficient is calculated so as to vary continuously as a function of time.
16. The process as claimed in claim 12, further comprising interrupting the determination of the first piloting setpoint when the absolute value of the torque applied by the driver to the steering wheel of the motor vehicle exceeds a predetermined threshold.
17. The process as claimed in claim 12, further comprising interrupting the determination of the second piloting setpoint when the absolute value of the torque applied by the driver to the steering wheel of the motor vehicle exceeds a predetermined threshold.
18. The process as claimed in claim 12, wherein the controller making it possible to determine the second piloting setpoint satisfies an amplitude limiting model, so that the second piloting setpoint remains less than or equal to a limit, and wherein said limit is determined as a function of a velocity and the yaw velocity of the motor vehicle.
19. The process as claimed in claim 12, wherein, in order to calculate the first piloting setpoint, provision is made to determine a first non-saturated setpoint and to deduce the first setpoint therefrom by a closed-loop pseudo-controller having a direct-chain transfer function that comprises a function of the hyperbolic tangent type of the deviation between the first non-saturated setpoint and the first setpoint.
20. The process as claimed in claim 12, wherein, in order to calculate the second setpoint, provision is made: to determine a second non-saturated setpoint and to deduce a second semi-saturated setpoint therefrom by a closed-loop pseudo-controller having a direct-chain transfer function that comprises a function of the hyperbolic tangent type of the deviation between the second non-saturated setpoint and the second semi-saturated setpoint, then to use another closed-loop pseudo-controller, which provides the second setpoint as output and the direct-chain transfer function of which comprises a function of the hyperbolic tangent type of the deviation between the second semi-saturated setpoint and said second setpoint.
21. A method for creating controllers for the process as claimed in claim 12, the method comprising: acquiring a behavioral matrix model of the apparatus; determining at least some of the coefficients of matrices of the behavioral matrix model; deducing two controllers therefrom, each of which satisfies a piloting setpoint amplitude limiting model and/or a piloting setpoint variation limiting model.
22. A motor vehicle comprising: a steering-angle actuator of the steered wheels, a differential-braking actuator of the steered wheels, and a computer configured to pilot said actuators, wherein the computer is programmed in order to carry out the process as claimed in claim 12.
Description
[0038] In the appended drawings:
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046] This motor vehicle 10 has a conventional steering system making it possible to intervene on the orientation of the front wheels 11 so as to be able to turn the vehicle. This conventional steering system has in particular a steering wheel connected to tie rods in order to make the front wheels 11 pivot. In the example considered, it also has an actuator 31 (represented in
[0047] In addition, this motor vehicle has a differential-braking system making it possible to intervene directly on the front wheels 11 (and on the rear wheels 12) so as to decelerate the motor vehicle while making it turn. This differential-braking system comprises, for example, a piloted differential or electric motors, which are positioned at the wheels of the vehicle, or brake calipers that are piloted independently of one another. It also has at least one actuator 32 (represented in
[0048] The computer 13 is then intended to pilot the assisted-steering actuator 31 and the actuators 32 of the differential-braking system as a function of the traffic conditions encountered. For this purpose, it has at least one processor, at least one memory, and an input and output interface.
[0049] By virtue of its interface, the computer 13 is adapted to receive input signals coming from various sensors.
[0050] Among these sensors, the following are for example provided: [0051] a device, such as a front camera, making it possible to identify the position of the vehicle in relation to its road lane, [0052] a device, such as a RADAR or LIDAR remote detector, making it possible to detect an obstacle 20 lying on the trajectory of the motor vehicle 10 (
[0057] By virtue of its interface, the computer 13 is adapted to transmit one setpoint to the assisted-steering actuator 31 and another setpoint to the actuators 32 of the differential-braking system.
[0058] It also makes it possible to force the vehicle to follow a trajectory T0 for avoiding the obstacle 20 (see
[0059] By virtue of its memory, the computer 13 stores data used in the scope of the process described below.
[0060] In particular, it stores application software consisting of computer programs comprising instructions, the execution of which by the processor makes it possible for the process described below to be carried out by the computer.
[0061] Before describing this process, the different variables that will be used may be introduced, some of which are illustrated in
[0062] The total mass of the motor vehicle will be denoted m, and will be expressed in kg.
[0063] The inertia of the motor vehicle about a vertical axis passing through its center of gravity CG will be denoted J or I.sub.z, and will be expressed in N.m.
[0064] The distance between the center of gravity CG and the front axle of the vehicle will be denoted If, and will be expressed in meters.
[0065] The distance between the center of gravity CG and the rear axle will be denoted I.sub.r, and will be expressed in meters.
[0066] The cornering stiffness coefficient of the front wheels will be denoted C.sub.f, and will be expressed in N/rad.
[0067] The cornering stiffness coefficient of the rear wheels will be denoted C.sub.r, and will be expressed in N/rad.
[0068] These cornering stiffness coefficients of the wheels are concepts well known to a person skilled in the art. By way of example, the cornering stiffness coefficient of the front wheels is thus that which allows the equation F.sub.f=2.Math.C.sub.f.Math..sub.f to be written, with F.sub.f the lateral slip force of the front wheels and .sub.f the drift angle of the front wheels.
[0069] The steering angle that the steered front wheels make with the longitudinal axis A1 of the motor vehicle 10 will be denoted , and will be expressed in rad.
[0070] The variable .sub.ref, expressed in rad, will denote the saturated steering-angle setpoint, as will be transmitted to the assisted-steering actuator.
[0071] The variable .sub.K, expressed in rad, will denote the non-saturated steering-angle setpoint. At this stage, it may only be stated that the concept of saturation will be linked with limits of value or value variation.
[0072] The yaw velocity of the vehicle (about the vertical axis passing through its center of gravity CG) will be denoted r, and will be expressed in rad/s.
[0073] The relative heading angle between the longitudinal axis A1 of the vehicle and the tangent to the evasion trajectory T0 (desired trajectory of the vehicle) will be denoted .sub.L, and will be expressed in rad.
[0074] The lateral deviation between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the evasion trajectory T0, at a sighting distance Is lying in front of the vehicle, will be denoted y.sub.L, and will be expressed in meters.
[0075] The setpoint of lateral deviation between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the evasion trajectory T0, at a sighting distance Is lying in front of the vehicle, will be denoted y.sub.L-ref, and will be expressed in meters.
[0076] The trajectory following error will be denoted e.sub.yL, and will be expressed in meters. It will be equal to the difference between the lateral deviation setpoint y.sub.L-ref and the lateral deviation y.sub.L.
[0077] The aforementioned sighting distance Is will be measured from the center of gravity CG, and will be expressed in meters.
[0078] The drift angle of the motor vehicle 10 (the angle which the velocity vector of the motor vehicle makes with its longitudinal axis A1) will be denoted , and will be expressed in rad.
[0079] The velocity of the motor vehicle along the longitudinal axis A1 will be denoted V, and will be expressed in m/s.
[0080] The constant g will be the acceleration due to gravity, expressed in m.Math.s.sup.2.
[0081] The average curvature of the road level with the motor vehicle will denoted .sub.ref, and will be expressed in m.sup.1.
[0082] The setpoint of yaw moment to be applied by virtue of the differential-braking means will be denoted M.sub.z_ref, and will be expressed in N.m.
[0083] The constants and will represent dynamic characteristics of the steering angle of the front wheels of the vehicle.
[0084] The constant .sub.f will for its part represent a dynamic characteristic of an arbitrary bounded perturbation w applied to the vehicle.
[0085] The steering-angle velocity will denote the steering angular velocity of the steered front wheels.
[0086] As an assumption, the road on which the motor vehicle is moving is presumed to be straight and flat. They extend along a principal axis.
[0087] Before describing the process that will be performed by the computer 13 in order to carry out the invention, in a first part of this explanation the constraints that are selected in order to ensure effective piloting of the motor vehicle may be summarized, then the calculations that have made it possible to achieve the controllers allowing the invention to be implemented may be described, so as to understand clearly where these calculations come from and on what they are based.
[0088] In the part X1 of
[0089] The part X2 is in turn given over to schematizing the way in which these setpoints interact with the actuators 31, 32.
[0090] This second part X2 shows the constraints that are applied to the aforementioned setpoints so as to ensure stability and controllability of the vehicle by the driver when a driving assistance system of the AES type is activated.
[0091] The first constraint Z5, which is applied to the saturated steering-angle setpoint .sub.ref, is a velocity saturation. It is more precisely a limitation of the steering-angle velocity of the vehicle. The steering angular velocity threshold used is denoted .
[0092] This first constraint, by virtue of a feedback loop that provides the current steering angle _.sub.meas, and a controller K.sub.DAE, makes it possible to obtain a provisional engine torque.
[0093] The second constraint Z7, which is applied to the output of the controller K.sub.DAE, is an amplitude saturation. It is more precisely a limitation of the absolute value of the aforementioned provisional engine torque. The engine torque threshold used is denoted ne.sub.EPS_saturation_1.
[0094] The block Z6 illustrates a first mechanism for inhibiting the regulation of the saturated steering-angle setpoint .sub.ref. This first mechanism is intended to block the regulation, and therefore the calculation of any engine torque to be provided to the assisted-steering actuator 31, when the absolute value of the torque exerted by the driver on the steering wheel exceeds a threshold denoted T.sub.Driver_.sup.ctrl.
[0095] The third constraint Z8, which is applied to the yaw-moment setpoint M.sub.z_ref, is an amplitude saturation. It is more precisely a limitation of the value of this yaw-moment setpoint M.sub.z_ref, the aim of which is to prevent the differential braking from being too great and preventing satisfactory stability and controllability of the vehicle from being ensured. The yaw moment threshold used is referred to as limit M.sub.z_max.
[0096] The limit M.sub.z_max used for this saturation will preferably be variable. It will be calculated (in block Z10) as a function of at least the yaw velocity r and the velocity V of the vehicle. It may optionally also depend on the torque exerted by the driver on the steering wheel.
[0097] The fourth constraint Z9, which is applied to the amplitude-saturated yaw-moment setpoint M.sub.z_ref, is a velocity saturation. It is more precisely a limitation of the rate of variation of the yaw-moment setpoint M.sub.z_ref. The yaw moment variation rate threshold used is denoted M.sub.z.sup.ctrl (it will also appear with the simplified notation ).
[0098] This fourth constraint, by virtue of a controller K.sub.Brake, makes it possible to obtain a braking torque to be provided to the actuators 32 of the differential-braking system.
[0099] This fourth constraint is considered to be preferable in order to improve the controllability of the vehicle when turning off or resuming the yaw-moment setpoint M.sub.z_ref.
[0100] The block Z11 illustrates a second mechanism for inhibiting the regulation of the yaw-moment setpoint M.sub.z_ref. This second mechanism is intended to block the regulation and therefore the calculation of any differential engine torque, when the absolute value of the torque exerted by the driver on the steering wheel exceeds a threshold denoted T.sub.Driver_Mz.sup.ctrl.
[0101] The aforementioned thresholds , T.sub.EPS_saturation_1 and .sub.Mz.sup.ctrl are obtained by carrying out road trials with the aid of a test vehicle of the same model as the vehicles on which the invention will be implemented.
[0102] In particular, the threshold T.sub.EPS_saturation_1 is obtained for different velocities V of the vehicle since it varies as a function of this parameter. It is obtained by carrying out trials while the differential-braking function is deactivated.
[0103] Likewise, the thresholds and .sub.Mz.sup.ctrl are obtained by means of road trials for different velocities V of the vehicle since they vary as a function of this parameter.
[0104] The limit M.sub.z_max is for its part obtained in a particular way, with the aid of the block Z10.
[0105] This limit is selected to be equal to a variable, denoted
[0106] This may be written in the form of the following equation Math1:
[0107] It may also be represented graphically, as shown by the part W1 of
[0108] The yaw velocity threshold r.sup.ctrl corresponds to the maximum yaw velocity at which the vehicle is still controllable by the driver, at a given velocity V.
[0109] The yaw velocity threshold r.sup.ctrl and the variable
[0110] For this purpose, during a first step, the differential-braking function of the test vehicle is deactivated then controllability trials of the vehicle are carried out in order to determine the thresholds usable for the constraints Z5 and Z7.
[0111] Next, during a second step, the differential-braking function of the vehicle is reactivated then new controllability trials are carried out in order to determine the maximum steering angle thresholds .sub.max(V) for a plurality of different velocities (for example with an increment of 5 km/h). As a variant, these steering angle thresholds could be obtained by calculation.
[0112] Finally, during a third step, the yaw velocity threshold r.sup.ctrl and the variable
[0113] The yaw velocity threshold r.sup.ctrl is more precisely obtained by modeling the vehicle by means of a bicycle model (described in more detail below), then by deducing the following equation therefrom:
[0114] In this equation, k is the understeer gradient, which is calculated by means of the following equation:
[0115] By virtue of the same modeling, it is possible to obtain the variable M.sub.z.sup.ctrl by means of the following equation:
[0116] The two inhibition mechanisms represented in
[0117] The threshold T.sub.Driver_.sup.ctrl used to negate the steering-angle setpoint .sub.ref is determined by controllability trials carried out on the vehicle when the differential-braking function is deactivated. This threshold varies as a function of the velocity V of the vehicle.
[0118] The threshold T.sub.Driver_Mz.sup.ctrl used to negate the yaw-moment setpoint M.sub.z_ref is determined by controllability trials when the differential-braking system is active. This threshold also varies as a function of the velocity V of the vehicle.
[0119] It may be noted that these thresholds satisfy the following inequality:
T.sub.Driver_Mz.sup.ctrl(V)T.sub.Driver_Saturation_1.sup.ctrl(V)T.sub.Driver_.sup.ctrl(V)[Math. 5]
In this inequality, the variable T.sub.Driver_Saturation_1.sup.ctrl is obtained from the threshold T.sub.EPS_Saturation_1. For this purpose, taking into account the function f corresponding to the assistance law of the assisted-steering actuator 31, the following may be written:
T.sub.Driver_Saturation_1.sup.ctrl(V)=f.sup.1(T.sub.EPS_Saturation_1,V)[Math. 6]
[0120] At this stage of the description, the procedure making it possible to obtain the values of the aforementioned thresholds and variables in order to guarantee controllability of the vehicle may be summarized by using
[0121] As this figure shows, during a first step E1, while the differential-braking function of the test vehicle is deactivated, controllability trials are performed in order to obtain the values of the thresholds T.sub.EPS_Saturation_1 and T.sub.Driver_.sup.ctrl.
[0122] Next, during a second step E2, the differential-braking function being reactivated, a new series of controllability trials is performed in order to obtain the values of the maximum steering angles .sub.max.
[0123] In this step, the value of the threshold T.sub.Driver_Saturation_1.sup.ctrl is also calculated.
[0124] During a third step E3, the thresholds
[0125] Finally, during a fourth step E4, the results of the controllability trials are used in order to refine the values of the thresholds
[0126] The various constraints mentioned above, and the way in which the choice between the steering angle of the steering wheel and the differential-braking system is made in order to pilot the vehicle, may now be formulated.
[0127] For this purpose, reference may be made to the left part X1 of
[0128] In this figure, the block Z1 corresponds to the block that makes it possible to determine the trajectory to be followed in order to avoid the obstacle 20. Since the way in which this trajectory is determined does not form part of the subject matter of the present invention, it will not be described here. This block Z1 then makes it possible, when the AES function is activated, to determine the lateral deviation setpoint y.sub.L-ref and the relative heading angle LPL.
[0129] The block Z2 is the one that makes it possible to make a choice between the steering system and the differential-braking system in order to follow the evasion trajectory optimally. It makes it possible to determine the value of a coefficient .sub.DB that illustrates the proportion of the differential braking and of the steering angle which is to be applied. When its value is zero, the differential braking is deactivated, and when its value is maximum (equal to 1), it is the steering angle that is deactivated. This block will be described in detail below.
[0130] The block Z3 corresponds to the mathematical function that makes it possible to model the aforementioned constraints Z5 and Z7. It receives as input the non-saturated steering-angle setpoint .sub.K.
[0131] The block Z4 corresponds to the mathematical function that makes it possible to model the aforementioned constraints Z8 and Z9. It receives as input the non-saturated yaw-moment setpoint M.sub.Kz.
[0132] These non-saturated setpoints are obtained with the aid of controllers denoted K.sub. for the calculation of the non-saturated steering-angle setpoint .sub.K, and K.sub.M for the calculation of the non-saturated yaw-moment setpoint M.sub.Kz. They depend on the coefficient .sub.DB.
[0133] In order to understand the calculations underlying these two blocks, it may be assumed that the dynamic behavior of the vehicle can be modeled by means of the following equation Math7.
[0134] This model is an improved bicycle model.
[0135] But it does not thereby make it possible to limit the steering-angle amplitude and velocity of the front wheels 11 of the vehicle, or the differential-braking moment applied to the wheels of the vehicle, or the variation of this braking moment. However, these limitations prove particularly important for ensuring that the driver of the vehicle can be capable of resuming control of the vehicle at any moment.
[0136] The saturation of the steering-angle velocity may be formulated in the following way:
|{dot over ()}.sub.ref|
[0137] In this equation Math 8, the threshold is for example equal to 0.0491 rad/s, which corresponds to 0.785 rad/s at the steering wheel (i.e. 45/s) if the gear reduction coefficient of the steering is equal to 16.
[0138] As shown by
[0141] A function of the hyperbolic tangent type is intended to mean the various functions that have a form similar to the hyperbolic tangent function, which includes in particular inverse trigonometric functions (such as the arctangent), the error function (commonly denoted erf), the Gudermannian function (commonly denoted gd) and the hyperbolic trigonometric function (such as hyperbolic tangent).
[0142] It receives as input the non-saturated steering-angle setpoint .sub.ref and transmits as output the saturated steering-angle setpoint .sub.ref.
[0143] In this figure, the coefficient corresponds to the deviation between the variables .sub.K and .sub.ref. The coefficient is a constant between 0 and infinity, which is the only parameter making it possible to affect the rapid or flexible nature of the steering-angle limiter.
[0144] This steering-angle velocity limiter thus has the advantage of being simple to tune, since it is sufficient to adjust the coefficient . It makes it possible to ensure continuous and smooth (infinitely differentiable) command.
[0145] For this purpose, taking into account the form of this steering-angle velocity limiter L2, the following equation Math9 may be written:
{dot over ()}.sub.ref=.Math.tanh((.sub.K.sub.ref))[Math 9]
[0146] A controllability model of the vehicle is thus obtained which is pseudo-linear.
[0147] More precisely, the following parameter es may then be introduced:
[0148] and then the equation Math 10 may be rewritten in the form:
{dot over ()}.sub.ref=.Math..Math..sub..Math..sub.ref+.Math..Math..sub..Math..sub.K[Math 11]
[0149] This equation Math 11 is characteristic of a state representation, and it shows that the setpoint variation limiting model is linear as a function of the parameter es.
[0150] On this basis, it is then possible to determine the controller which ensures good following of the evasion trajectory T0, which satisfies the setpoint variation limiting model and which complies with the condition stipulated by the coefficient .sub.DB.
[0151] The saturation of the yaw-moment setpoint M.sub.z_ref may be formulated in the following way:
|M.sub.z_ref|M.sub.z_max[Math 12]
[0152] The saturation of the rate of variation of the yaw-moment setpoint M.sub.z_ref may be formulated in the following way:
|{dot over (M)}.sub.z_ref|.sub.Mz.sup.ctrl[Math 13]
[0153] According to the invention, the amplitude and the rate of variation of the yaw-moment setpoint M.sub.z_ref are intended to be limited not by imposing a severe threshold, but instead by using a setpoint amplitude limiter and a setpoint variation limiter.
[0154] Referring to
[0155] This amplitude limiter is noteworthy insofar as it forms a closed-loop pseudo-controller which has: [0156] a direct-chain transfer function equal to the product of the limit M.sub.z_max (in order to comply with the condition stipulated by the equation Math 12) and a corrector, which is a function of the hyperbolic tangent type of .sub.1.Math..sub.1, [0157] an indirect-chain (or feedback-chain) transfer function equal to one.
[0158] In this
[0159] The use of such a pseudo-controller makes it possible not only to time-limit the yaw-moment setpoint M.sub.z_ref well, but furthermore to ensure continuity of the variation of this setpoint.
[0160] Taking into account the form of this amplitude limiter, the equation Math14 may be written:
M.sub.z_sat=M.sub.z_max.Math.tanh(.sub.1.Math.(M.sub.z_satM.sub.Kz))[Math 14]
[0161] As shown by
[0164] It receives as input the semi-saturated yaw-moment setpoint M.sub.z_sat and transmits as output the yaw-moment setpoint M.sub.z_ref.
[0165] In this figure, the coefficient .sub.2 corresponds to the deviation between the variables M.sub.z_ref and M.sub.z_sat. The coefficient .sub.2 is a constant between 0 and infinity, which is the only parameter making it possible to affect the rapid or flexible nature of the velocity limiter.
[0166] The use of such a corrector makes it possible not only to time-limit the yaw-moment variations well, but furthermore to ensure continuity of this variation.
[0167] Taking into account the form of this velocity limiter, the equation Math15 may be written:
{dot over (M)}.sub.z_ref=.sub.Mz.sup.ctrl.Math.tanh(.sub.2(M.sub.z_satM.sub.z_ref))[Math 15]
[0168] A controllability model of the vehicle is thus obtained which is pseudo-linear.
[0169] Some variables may now be introduced to simplify the expressions of equations Math 14 and Math 15, in order to represent the full model quasi-linearly (that is to say in the manner of LPV, Linear Parameter Varying), in the form of a state representation.
[0170] The equation Math 14 may be written in the form of an equation Math16:
[0171] The following parameter .sub. may then be introduced:
[0172] Next, the equation Math 15 may be rewritten in the form of an equation Math19:
[0173] The equation Math 19 is characteristic of a state representation, and it shows that the full yaw-moment amplitude and velocity limiting model is quasi-linear as a function of the exogenous parameters .sub. and .sub. (parameters which can be calculated when the vehicle is in motion).
[0174] The bicycle model of equation Math 7 may then be enhanced with this state representation in order to obtain a new usable model.
[0175] In this way, it is possible to synthesize the controllers (represented in
[0176] These controllers may then be implemented in the computers 13 of motor vehicles 10 of the production series of the motor vehicle on which the trials were carried out.
[0177] By way of example, the way in which the synthesis of the first controller (the one that makes it possible to obtain the steering-angle setpoint .sub.ref) is carried out may be described. The synthesis of the second controller (the one that makes it possible to obtain the yaw-moment setpoint) will be performed in a corresponding way, and will therefore not be described in detail here.
[0178] The enhanced bicycle model of equation Math 7 is written:
[0179] A state vector x may then be considered, which can be written in the form:
x=(r.sub.Le.sub.y.sub.
The aim is then to determine the form of the controller Ks which is the state feedback making it possible to calculate the non-saturated steering-angle setpoint .sub.K on the basis of this state vector x.
[0180] In order to understand how to determine a controller Ks that is suitable in terms of both stability and rapidity, our behavioral model may now be written in a generic form:
[0181] In this equation, C.sub.y is the identity matrix, A is a dynamic matrix, B.sub.u is a command matrix and B.sub.w is a perturbation matrix, which may be written in the form:
[0182] The controller K.sub., which is defined as a static state feedback, may for its part be expressed in the form:
.sub.K=K.sub..Math.x[Math 28]
[0183] In order to find an optimal controller K.sub., various methods may be used.
[0184] The method used here is that of linear matrix inequalities. It is thus carried out on the basis of convex-optimization criteria under constraints of linear matrix inequalities.
[0185] The aim is more precisely to optimize the gains of the closed loop defined by the controller K.sub. by varying on the choice of the poles.
[0186] Three matrix inequalities are used, and these are defined by the following inequalities.
[0187] In these inequalities, i is equal to 1 or 2, and the matrices A.sub.i and B.sub.i may then be defined in the following way:
A.sub.1=A(.sub.min)
A.sub.2=A(.sub.max)
B.sub.1=B.sub.u(.sub.min)
B.sub.2=B.sub.u(.sub.max)[Math 32]
[0188] A matrix of the form
is written in the form
The controller K.sub. is defined by the equation:
K.sub.=R.Math.Q.sup.1[Math 33]
[0189] The velocity of the vehicle is assumed to be constant (and all the matrices of the system are therefore deemed to be constant).
[0190] The three inequalities make it possible to ensure that the dynamics of the closed loop remain limited. This is because, by virtue of these constraints, the poles of the closed loop become bounded in a zone defined by a radius , a minimum distance from the imaginary axis , and an aperture angle .
[0191] This method proves effective because it involves determining the steering-wheel angle at each instant in a way which is reasonable (and can be mastered by a driver with average competence) and in a way which can be performed by the actuator. These constraints also ensure stability of the closed loop.
[0192] The aim here is to minimize the radius . Once the controller K.sub. has been obtained, the non-saturated steering-angle setpoint may be obtained calculated by means of the following formula:
[0193] The values .sub.min and .sub.max have been introduced into the three matrix inequalities.
[0194] The value of .sub., which is linked to the deviation between .sub.K and .sub.ref, reflects the level of violation by the controller Ks of the controllability limit set down by the equation Math 8.
[0195] By definition, .sub. lies between 0 (exclusive) and 1 (inclusive). When .sub. is equal to 1, the calculated non-saturated setpoint of the angle at the steering wheel .sub.K complies well with the controllability limit. When it is close to 0, the calculated non-saturated setpoint of the angle at the steering wheel .sub.K has a value which imposes steering dynamics that are too great, which generates a risk of instability of the vehicle. When .sub. takes intermediate values between 0 and 1, the controllability limit is not complied with but it is possible for there to be no risk of instability of the vehicle.
[0196] In other words, the choice of the values .sub.min and .sub.max has a direct impact on the performance and the robustness of the controller Ks. The larger the interval [.sub.min, .sub.max] is, the less well the controller K.sub. performs, but the more robust it is. Conversely, the smaller this interval is, the better the controller K.sub. performs but the less robust it is.
[0197] Logically, the value .sub.max is selected to be equal to 1 (a case according to which the controller K.sub. functions in linear mode, as is moreover generally the case, without controllability constraint violation).
[0198] The determination of the value .sub.min, on the other hand, requires making a compromise between performance and robustness. The determination of this value equates to imposing a maximum threshold for the deviation, in absolute value, between .sub.K and .sub.ref.
[0199] In summary, the method for calculating the controller Ks that is suitable for a particular motor vehicle model consists in fixing on values of .sub.DB, v, , .sub.min and .sub.max.
[0200] It next consists in determining the coefficients of the matrices A.sub.i, B.sub.i, then in solving the equations Math 29 to Math 31 in order to deduce therefrom a controller K.sub. that ensures good following of the evasion trajectory T0 and satisfies the steering-angle setpoint variation limiting model.
[0201] The block Z2 may now be described in more detail.
[0202] The way in which the coefficient .sub.DB is obtained, which it will be recalled illustrates the proportion of differential braking and steering angle to be applied, may now be described.
[0203] For this purpose, a preliminary variable .sub.DB_raw is initially selected.
[0204] This choice is made only if the torque exerted by the driver on the steering wheel is less than or equal to, in absolute value, the threshold T.sub.Driver_Mz.sup.ctrl.
[0205] Specifically, if it is greater than this threshold, no setpoint will be calculated.
[0206] In the case in which it is less than or equal to the threshold T.sub.Driver_Mz.sup.ctrl, the preliminary variable .sub.DB_raw is selected to be equal to 1 if the two following cumulative conditions are fulfilled. Otherwise, it is selected to be equal to zero.
[0207] The first condition is that the variable .sub., in absolute value, is less than or equal to a variable .sub..sup.min in absolute value.
[0208] This variable .sub..sup.min is the minimum value of the variable .sub. at which the steering-angle controller K.sub. on its own can stabilize the vehicle. It is a variable since it depends on the velocity V of the vehicle.
[0209] In other words, the first condition consists in checking whether or not the steering-angle setpoint is saturated.
[0210] The second condition is that the yaw velocity is less than or equal to, in absolute value, the yaw velocity threshold r.sup.ctrl in absolute value.
[0211] Once the value (0 or 1) of the preliminary variable .sub.DB_raw has been chosen, it is possible to calculate the coefficient .sub.DB by means of the following equation:
[0212] In this equation, the parameter .sub.DB is a time constant that makes it possible to filter any abrupt change of the coefficient .sub.DB in order to guarantee a good feel for the driver. The value of this parameter is therefore adjustable according to the feel that the driver wishes to have.
[0213] The parameters is the Laplace variable.
[0214] At this stage, the process that will be executed by the computer 13 of one of the motor vehicles of the aforementioned production series, in order to carry out the invention, may be described.
[0215] Here, the computer 13 is programmed in order to carry out this process recursively, that is to say step-by-step, and in a loop.
[0216] For this purpose, during a first step, the computer 13 checks that the automatic obstacle evasion function (AES) is activated.
[0217] If this is the case, it attempts to detect the presence of a possible obstacle lying on the path of the motor vehicle 10. For this purpose, it uses its RADAR or LIDAR remote detector.
[0218] In the absence of an obstacle, this step is repeated in loops.
[0219] As soon as an obstacle 20 is detected (see
[0220] The computer 13 will then try to define piloting setpoints for the conventional steering system and for the differential-braking system, which make it possible to follow this evasion trajectory T0 optimally.
[0221] For this purpose, it starts by calculating or measuring parameters, these parameters characterizing in particular the dynamic behavior of the vehicle, such as: [0222] the measured steering angle , [0223] the time derivative of the measured steering angle , [0224] the saturated steering-angle setpoint .sub.ref obtained in the preceding time increment, [0225] the yaw velocity r, [0226] the relative heading angle .sub.L, [0227] the time derivative of the lateral deviation setpoint y.sub.L-ref, [0228] the trajectory following error e.sub.yL, [0229] the drift angle , [0230] the coefficient .sub.DB.
[0231] As shown by
[0232] The pseudo-controllers represented in
[0233] In other words, it is therefore the combination of the controller K.sub. and the pseudo-controller represented by the block Z3 which will form a first overall controller making it possible to determine the steering-angle setpoint .sub.ref on the basis of the parameters listed above.
[0234] Likewise, it is the combination of the controller K.sub.M and the pseudo-controller represented by the block Z4 which will form a second overall controller making it possible to determine the yaw-moment setpoint M.sub.z_ref on the basis of the parameters listed above.
[0235] The present invention is in no way limited to the embodiment described. Rather, a person skilled in the art will know how to add thereto any variant according to the invention.