OBSTACLE AVOIDANCE METHOD

20240124055 ยท 2024-04-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A method automatically controls a motor vehicle with wheels including at least two steered wheels. The method includes the following steps: the motor vehicle acquiring parameters relating to an obstacle avoidance trajectory, and a computer computing a provisional control instruction for an actuator for braking the steered wheels, based on the parameters and by way of a closed-loop controller. The method also includes the following steps: acquiring a lateral acceleration or a roll angle to which the motor vehicle is subject, and computing, in open-loop mode, a correction term or the provisional control instruction, based on the acquired lateral acceleration or roll angle.

Claims

1-10. (canceled).

11. A control method for automated steering of a motor vehicle comprising wheels of which at least two wheels are steered wheels, the method comprising: acquiring parameters relating to an avoidance path whereby the motor vehicle avoids an obstacle; calculating, using a computer, a temporary control instruction for a steering actuator that steers the steered wheels, as a function of said parameters and by a closed loop controller; acquiring a lateral acceleration or a roll angle experienced by the motor vehicle; and calculating, using an open loop calculation, a correction term for said temporary control instruction, as a function of the lateral acceleration or of the roll angle acquired.

12. The control method as claimed in claim 11, wherein the correction term is calculated as a function of a coefficient of steering induced by rolling of the motor vehicle on front wheels of the wheels of the motor vehicle and/or of a coefficient of steering induced by the rolling of the motor vehicle on rear wheels of the wheels of the wheels of the motor vehicle.

13. The control method as claimed in claim 11, wherein the correction term is calculated as a function of a curvature of the road taken by the motor vehicle.

14. The control method as claimed in claim 13, wherein the correction term is equal to the sum of: a product of a first variable multiplied by the lateral acceleration or by the roll angle, and a product of a second variable multiplied by the curvature of the road.

15. The control method as claimed in claim 11, wherein the correction term is calculated as a function of at least one gain of the closed loop controller.

16. The control method as claimed in claim 11, wherein the correction term is calculated as a function of an understeer gradient.

17. The control method as claimed in claim 16, wherein the understeer gradient is calculated as a function of at least one gain of the closed loop controller.

18. The control method as claimed in claim 17, wherein the understeer gradient is calculated by the following equation: K V = ( l r ( 1 - k ? - k ? ref ) C f - l f ( 1 - k ? - k ? ref + k ? L - k ? ) C r ) .Math. m l f + l r , where m, C.sub.f, C.sub.r, l.sub.f, l.sub.r are parameters connected only with architecture of the motor vehicle, and where k.sub.?, k.sub.?ref, k.sub.?L, and k.sub.? are gains of the closed loop controller.

19. The control method as claimed in claim 11, wherein the correction term is calculated by the following equation:
?.sub.Ffwd=[(l.sub.f+l.sub.r)(1?k.sub.??k.sub.?.sub.ref)+(k.sub.?.sub.L?k.sub.?)l.sub.r+k.sub.?.sub.Ll.sub.s?k.sub.rV+K.sub.VV.sup.2].Math.?.sub.ref?[(1?k.sub.??k.sub.?.sub.ref)?.sub.1?(1?k.sub.??k.sub.?.sub.ref+k.sub.?.sub.L?k.sub.?)?.sub.2].Math.? where: l.sub.f, l.sub.r are parameters connected only with an architecture of the motor vehicle, V is a longitudinal velocity of the motor vehicle, l.sub.s is a predetermined sighting distance, ?.sub.ref is a radius of curvature of the road at the motor vehicle, ?.sub.1 is a coefficient of steering induced by rolling on a front wheelset of the wheels, ?.sub.2 is a coefficient of steering induced by rolling on a rear wheelset of the wheels, ? is the roll angle, Kv is an understeer gradient, k.sub.?, k.sub.?ref, k.sub.?L, k.sub.r, and k.sub.? are gains of the closed loop controller.

20. A motor vehicle comprising: a steering actuator for steering the steered wheels and a computer for controlling said actuators, wherein the computer is programmed to implement the control method as claimed in claim 11.

Description

[0041] In the attached drawings:

[0042] FIG. 1 is a schematic view from above of a motor vehicle driving along a road, on which the path that this vehicle is to take is indicated;

[0043] FIG. 2 is a schematic view from above of the motor vehicle of FIG. 1, depicted in four successive positions situated along an obstacle avoidance path;

[0044] FIG. 3 is a schematic view from above of the motor vehicle of FIG. 1, showing the influence that the rolling has on the path of the vehicle;

[0045] FIG. 4 is a graph illustrating the parameters that can be used to stabilize a closed loop transfer function used in the context of a method according to the invention;

[0046] FIG. 5 is a block diagram illustrating the various algorithms involved in implementing the method according to the invention;

[0047] FIG. 6 is a diagram illustrating a transfer function used for implementing a method according to the invention.

[0048] FIG. 1 depicts a motor vehicle 10 conventionally comprising a chassis which delimits a cabin, two steered front wheels 11, and two non-steering rear wheels 12. As an alternative, these two rear wheels could also be steered, although this would then require a modification to the control law described hereinafter.

[0049] This motor vehicle 10 comprises at least one conventional steering system making it possible to influence the orientation of the front wheels 11 so as to cause the vehicle to turn. This conventional steering system notably comprises a steering wheel connected to steering links in order to cause the front wheels 11 to pivot. In the example considered, it also comprises an actuator 31 (depicted in FIG. 5) able to influence the orientation of the front wheels as a function of the orientation of the steering wheel and/or as a function of a request received from a computer 13.

[0050] In addition, this motor vehicle may also comprise a differential braking system able to act differently on the two front wheels 11 (or even also on the two rear wheels 12) so as to slow the motor vehicle thereby making it turn. Such a differential braking system for example comprises a controlled differential or electric motors placed at the wheels of the vehicle or else brake calipers that are controlled independently of one another. It thus comprises at least one actuator which is designed to act differently on the rotational speeds of the wheels as a function of a request received from the computer 13.

[0051] For the sake of the clarity of the explanation, it will be considered here that the vehicle does not have such a differential braking system. If it were provided with one, that would require modifications to the control law described hereinafter.

[0052] The computer 13 is intended to control the assisted-steering actuator 31 as a function of the traffic conditions encountered. To this end, it comprises at least one processor, at least one memory and an input/output interface connected to a data network of the vehicle (typically a CAN type of network).

[0053] By virtue of its interface, the computer 13 is able to receive input signals coming from various sensors.

[0054] Among these sensors, there are for example provided: [0055] a device such as a front camera, able to identify the position of the vehicle relative to its traffic lane, [0056] a device such as a RADAR or LIDAR remote sensor, able to detect an obstacle 20 in the path of the motor vehicle 10 (FIG. 2), [0057] at least one lateral detection device, such as a RADAR or LIDAR remote detector able to monitor the surroundings to the sides of the vehicle, [0058] a device such as a rate gyro, able to determine the yaw velocity (rotation about a vertical axis) of the motor vehicle 10, [0059] a steering wheel position and angular velocity sensor, and [0060] a torque sensor sensing the torque applied by the driver to the steering wheel.

[0061] Using its interface, the computer 13 is able to transmit an instruction to the assisted steering actuator 31. It is thus able to force the vehicle to follow an obstacle avoidance path T0 to avoid the obstacle 20 (see FIG. 2).

[0062] Using its memory, the computer 13 stores data used in the context of the method described hereinbelow.

[0063] It notably stores a computer application, consisting of computer programs containing instructions which when executed by the processor allows the computer to implement the method described hereinafter.

[0064] Before this method is described, the various variables and data that will be used, some of which are illustrated in FIG. 1, may be introduced.

[0065] Consider first of all a frame of reference (CG, X, Y, Z) attached to the vehicle, the origin of which is situated at the center of gravity of the vehicle, the axis X of which coincides with the longitudinal axis A1 of the vehicle (extended from the rear forward), the axis Y of which is a lateral axis (in this instance extending from right to left) and the axis Z of which is an axis that is vertical when the vehicle is on a road which is horizontal.

[0066] The total mass of the motor vehicle will be denoted M and will be expressed in kg.

[0067] The moment of inertia of the motor vehicle about the axis Z will be denoted J or I.sub.z and will be expressed in N.m.

[0068] The moment of inertia of the motor vehicle about the axis X will be denoted I.sub.x and will be expressed in N.m.

[0069] The distance between the center of gravity CG and the front axle of the vehicle will be denoted l.sub.f and will be expressed in meters.

[0070] The distance between the center of gravity CG and the rear axle will be denoted L.sub.r and will be expressed in meters.

[0071] The cornering stiffness of the front wheels will be denoted C.sub.f and will be expressed N/rad.

[0072] The cornering stiffness of the rear wheels will be denoted C.sub.r and will be expressed in N/rad.

[0073] These cornering stiffnesses of the wheels are notions well known to those skilled in the art. By way of example, the cornering stiffness of the front wheels is thus the stiffness that makes it possible to write the equation F.sub.f=2.Math.C.sub.f.Math.?.sub.f where F.sub.f is the sideslip force for the front wheels and ?.sub.f is the slip angle for the front wheels.

[0074] 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.

[0075] The variable ?.sub.ref, expressed in rad, will denote the saturated steering angle instruction as will be transmitted to the assisted steering actuator.

[0076] The variable ?.sub.K, expressed in rad, will denote the unsaturated steering angle instruction. At this stage, it may simply be emphasized that the concept of saturation will be associated with limits on value or on variation in value.

[0077] 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.

[0078] The relative heading angle between the longitudinal axis A1 of the vehicle and the tangent to the avoidance path T0 (desired path of the vehicle) will be denoted ?.sub.L, and will be expressed in rad.

[0079] The lateral deviation between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the avoidance path T0, at a sighting distance ls situated ahead of the vehicle, will be denoted y.sub.L, and will be expressed in meters.

[0080] The instructed lateral deviation between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the avoidance path T0, at a sighting distance ls situated ahead of the vehicle, will be denoted y.sub.L-ref and will be expressed in meters.

[0081] The path following error will be denoted e.sub.yL, and will be expressed in meters. It will be equal to the difference between the instructed lateral deviation Y.sub.L-ref and the lateral deviation y.sub.L.

[0082] The aforementioned sighting distance ls will be measured from the center of gravity CG and will be expressed in meters.

[0083] The slip angle of the motor vehicle 10 (angle made by the velocity vector of the motor vehicle and the longitudinal axis A1 of said vehicle) will be denoted ? and will be expressed in rad.

[0084] The velocity of the motor vehicle along the longitudinal axis A1 will be denoted V and will be expressed in m/s.

[0085] The constant g will be acceleration due to gravity, expressed in m.Math.s.sup.2.

[0086] The roll angle adopted by the vehicle with respect to the vertical, expressed in radians, will be denoted ?.

[0087] In the context of calculating this roll angle, the following parameters may be considered: [0088] b.sub.r is the roll damping coefficient, expressed in N.Math.rad.sup.?1.Math.s.sup.?1, [0089] k.sub.r is the roll stiffness, expressed in N.Math.rad.sup.?1, [0090] h is the distance between the center of roll of the vehicle and the ground.

[0091] The lateral acceleration experienced by the vehicle along the axis Y will be denoted a.sub.y and will be expressed in m.Math.s.sup.?2.

[0092] The mean curvature of the road at the motor vehicle will be denoted ?.sub.ref and will be expressed in m.sup.?1. This curvature is equal to the inverse of the radius of curvature of an arc of a circle formed by the road at the precise location of the center of gravity of the motor vehicle.

[0093] The constants ? and ? will represent dynamic characteristics of the steering angle of the front wheels of the vehicle, and more specifically ? represents the damping and ? is the natural frequency of the electric power assisted steering (EPAS).

[0094] The constant ?.sub.f will itself represent a dynamic characteristic of a value-limited arbitrary disturbance w applied to the vehicle.

[0095] The steering rate will denote the angular velocity of steering angle applied to the steered front wheels.

[0096] By way of assumption, for the clarity of the explanation, the road on which the motor vehicle is traveling is assumed to be flat and horizontal.

[0097] Before a description is given of the method that will be executed by the computer 13 in order to implement the invention, the calculations that led to the establishment of the algorithms used for implementing the invention will be described, so as to provide a clear understanding of where these algorithms originated from and what underpins them.

[0098] First, it will be noted here that, to simplify the explanation, only the assisted steering will be used to cause the vehicle to deviate from its initial path. Differential braking will not be installed or activated.

[0099] FIG. 5 models the process of calculating the saturated steering angle instruction ?.sub.ref to be transmitted to the assisted steering actuator 31.

[0100] In summary, provision is made for the controller to determine a path to be followed, to determine a first steering angle instruction (hereinafter referred to as an unsaturated steering angle instruction ?.sub.K) taking account of this path and of parameters connected with the dynamics of the vehicle, and to then saturate this instruction in order to obtain the saturated steering angle instruction ?.sub.ref that is to be transmitted to the actuator 31.

[0101] In FIG. 5, the block Z1 corresponds to the block for determining the path that is to be followed in order to avoid the obstacle 20.

[0102] The obstacle 20 may be in the same lane as the motor vehicle 10 or in the adjacent lane, provided that it lies on the initial path of the vehicle at a distance that is short in comparison with the speed of the vehicle.

[0103] The way in which this avoidance path T0 is determined does not form part of the subject matter of the present invention and is not described here. It must merely be remembered that this block Z1 makes it possible, when the AES function is activated, to determine a lateral deviation instruction y.sub.L-ref and the time-derivative thereof. It will be noted that this avoidance path T0 will be considered here to be static but that, in an alternative, a dynamic path (which is recalculated as a function of new obstacles detected or as a function of the actual path followed by the vehicle) may be employed.

[0104] The block Z6 illustrates the controller K.sub.Fbck that would be usable and reliable if the motor vehicle 10 were driving in a straight line. This controller corresponds to a mathematical operator able to calculate a temporary steering angle instruction (hereinafter referred to as the first component ?.sub.Fbck of the unsaturated steering angle instruction ?.sub.K) allowing the wheels of the vehicle to be steered in such a way that the vehicle follows the avoidance path T0.

[0105] The blocks Z2, Z3 and Z4 illustrate algorithms that make it possible to calculate a correction term to be applied to the first component ?.sub.Fbck to take account of the impact of the rolling of the vehicle on its path. This correction term will be referred to hereinafter as the second component ?.sub.Ffwd of the unsaturated steering angle instruction ?.sub.K.

[0106] The unsaturated steering angle instruction ?.sub.K can be calculated by summing the first component ?.sub.Fbck and the second component ?.sub.Ffwd.

[0107] The block Z5 illustrates a constant that it is desired to apply to the unsaturated steering angle instruction ?.sub.K.

[0108] This constraint here is a limit on the rate at which the steering wheel is turned. Effectively, it is desirable here for the angular velocity at which the steering wheel is turned should not exceed a threshold denoted v, so as to make the vehicle controllable if the driver needed to take back control of the steering of the vehicle during the obstacle avoidance phase.

[0109] Other constraints might be conceivable. By way of example, a constraint regarding the amplitude saturation of the steering angle could be employed. However, here, for the clarity of the explanation, this second constraint will not be envisioned. As a further alternative, it would also be possible to anticipate no constraint.

[0110] The block Z5 therefore here makes it possible to provide a saturated steering angle instruction hereinafter referenced ?.sub.sat. Since this saturated instruction also serves as a reference for controlling the assisted steering actuator 31, it will also be referenced ?.sub.ref.

[0111] The calculations that have led to the invention may now be described.

[0112] The steering of the front wheels 11 of the vehicle may be modeled simply using the following mathematical formula.

[00002] ( ? .Math. ? ? ) = [ - 2 ?? - ? 2 1 0 ] ( ? . ? ) + ( ? 2 0 ) ? ref

[0113] First of all, consider the assumption whereby the curvature of the road being taken is zero. Thus, if the rolling and the curvature of the road are not taken into consideration, the dynamic behavior of the vehicle can be modeled using the following equation.

[00003] ( ? . r . ? . L y . L ) = [ - C f + C r mv - 1 + C r l r - C f l f mv 2 - C f l f - C r l r J - C r l r 2 + C f l f 2 Jv 0 0 0 0 0 1 v l s 0 0 v 0 ] ( ? r ? L y L ) + [ 0 0 - v 0 ] ? ref + [ C f mv C f l f J 0 0 ] ? [ Math . 2 ]

[0114] This modeling of the behavior of the vehicle is known as the bicycle model because it does not take into account the fact that each axle of the vehicle comprises not one, but two wheels. However, it does lead to a good model of the path of the vehicle as a function of the steering angle of its steered wheels (in this instance the front wheels) when the vehicle is traveling in a straight line.

[0115] However, as FIG. 3 shows, the rolling adopted by the motor vehicle 10 in a bend has an influence on the actual path of the vehicle, which means that it is desirable to take this into account.

[0116] Here, the rolling can be defined by an angle, hereinafter referred to as the roll angle ?, that measures the angle of inclination of the vehicle body caused by the road about the longitudinal axis A1 of this vehicle.

[0117] The coefficient of steering induced by the rolling on the front wheel set of the vehicle will be denoted ?.sub.1. Once this has been multiplied by the roll angle ?, it will make it possible to evaluate the extent to which this rolling modifies the steering angle of the front wheels of the vehicle and therefore the path T1 indicated in FIG. 3.

[0118] The coefficient of steering induced by rolling on the rear wheel set will be denoted ?.sub.2. Once this has been multiplied by the roll angle ?, it will make it possible to evaluate the extent to which this rolling modifies the steering angle of the rear wheels.

[0119] As FIG. 3 shows, the rolling effectively has a tendency to cause the vehicle to deviate from its path.

[0120] In order to take this phenomenon into account, the bicycle model set out hereinabove is improved by means of the following equation.

[00004] ( ? . r . ? . L y . L ) = [ - C f + C r mv - 1 + C r l r - C f l f mv 2 - C f l f - C r l r J - C r l r 2 + C f l f 2 Jv 0 0 0 0 0 1 v l s 0 0 v 0 ] ( ? r ? L y L ) + [ 0 0 - v 0 ] ? ref + [ C f mv C f l f J 0 0 ] ( ? + ? 1 ? ) + [ C r mv - C r l r J 0 0 ] ? 2 ? [ Math . 3 ]

[0121] At this stage, it may be noted that the roll angle ? may be measured or estimated. Here it will be modeled by the following equation.


l.sub.x{umlaut over (?)}+b.sub.r{dot over (?)}+k.sub.r?=ma.sub.yh+mgh?[Math. 4]

[0122] It could therefore be estimated using a Kalman filter. However, here, it is estimated more simply in block Z4 of FIG. 5, using the following equation:

[00005] ? = ma y h k r - mgh [ Math . 5 ]

[0123] In order to establish this equation, it has been considered that the variation in roll and the roll acceleration are substantially zero. Effectively, for most of the time, the vehicle is more or less in an established bend and so the dynamics of the roll (the derivatives thereof) is substantially zero.

[0124] Here, it is sought to ensure correct path following by minimizing the path following error e.sub.yL, which, it will be recalled, can be expressed by means of the following equation.


e.sub.yL=y.sub.Ly.sub.L_ref [Math. 6]

[0125] In this embodiment of the invention, it is assumed that the dynamics of the reference path are represented by the equation below:


?.sub.L_ref=??.sub.f{dot over (y)}.sub.L_ref+?.sub.fw [Math. 7]

[0126] The bicycle model hitherto described does not, however, make it possible to limit the steering rate of the front wheels 11 of the vehicle. Now, such limitations prove to be particularly important in ensuring that the driver of the vehicle will be able to take back control of the vehicle at any moment.

[0127] The saturation of the steering rate illustrated in FIG. 5 by the block Z5 can be written as an equation as follows:


|{dot over (?)}.sub.ref|?v [Math. 8]

[0128] In this equation, the threshold v is for example equal to 0.0491 Rad/s, which corresponds to 0.785 Rad/s at the steering wheel (which is to say 45?/s) if the gearing ratio for the steering is equal to 16.

[0129] As shown in FIG. 6, the steering rate limiter used here is specific insofar as it forms a closed loop pseudo controller which comprises: [0130] a direct-chain transfer function equal to the product of the threshold v (in order to conform to the condition prescribed by the abovementioned question), of an integrator in 1/s, and of a corrector which is a function in the form of a hyperbolic tangent of ?.Math.?, [0131] an indirect-chain (or feedback-chain) transfer function equal to one.

[0132] As input it receives the unsaturated steering angle instruction ?.sub.K (and as output transmits the saturated steering angle instruction ?.sub.ref.

[0133] In this figure, the coefficient ? corresponds to the deviation between the variables ?.sub.K and ?.sub.ref. The coefficient ? is a constant comprised between 0 and infinity, and is the only parameter able to influence the rapid or soft nature of the steering rate limiter.

[0134] This steering rate limiter thus has the advantage of being simple to optimize since all that is required is the setting of the coefficient ?. It provides continuous and smooth (infinitely differentiable) control.

[0135] Thus, taking account of the form of this steering rate limiter, the following equation can be written:


{dot over (?)}.sub.refv.Math.tan h(?(?.sub.K??.sub.ref)) [Math. 9]

[0136] This then yields a mode of the controllability of the vehicle, which is pseudolinear.

[0137] It is then actually possible to introduce the following parameter ?:

[00006] ? = tanh ( ? .Math. ( ? K - ? ref ) ) ? .Math. ( ? K - ? ref ) [ Math . 10 ]

[0138] Then to rewrite the aforementioned equation in linear form:


{dot over (?)}.sub.ref=?v.Math.?.Math.?.Math.?.sub.ref+v.Math.?.Math.?.Math.?.sub.K [Math. 11]

[0139] This equation is characteristic of a state representation and shows that the instruction variation limiter model is linear as a function of the parameter ?.

[0140] It is then possible, on this basis, to determine the controller K.sub.Fbck, which, it will be recalled, ensures correct following of the avoidance path T0, but does not take account of the rolling adopted by the vehicle.

[0141] Taking account of the aforementioned equations, the bicycle model could be further enhanced to obtain a new usable model. This new enhanced model can be written:

[00007] ( ? . r . ? . L e . y L ? .. ? . y .. L ref ? . ref ) [ - C f + C r mV - 1 + C r l r - C f l f mV 2 0 0 0 C f mV 0 0 - C f l f - C r l r J - C r l r 2 + C f l f 2 JV 0 0 0 C f l f J 0 0 0 1 0 0 0 0 0 0 V l s V 0 0 0 - 1 0 0 0 0 0 - 2 ? ? - ? 2 0 ? 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 - ? f 0 0 0 0 0 0 0 0 - va ? ] [ Math . 12 ] ( ? r ? L e y L ? . ? y . L r ef ? ref ) + [ 0 0 0 0 0 0 0 v ? ? ] ? K + [ 0 0 - V 0 0 0 0 0 ] ? ref + [ ? 1 C f + ? 2 C r mv ? 1 C f l f - ? 2 C r l r J 0 0 0 0 0 0 ] ? + [ 0 0 0 0 0 0 ? f 0 ] w y ref

[0142] It will be recalled that it is possible to write


?.sub.K=?.sub.Fbck+?.sub.Ffwd [Math. 13]

[0143] Through this equation, it is indeed illustrated that the unsaturated steering instruction ?.sub.K can be obtained using a first controller K.sub.Fbck and a correction term that takes account of the influence of the rolling on the path of the vehicle.

[0144] First of all, the controller K.sub.Fbck, which is of a feedback (or closed loop) type makes it possible to determine the first component ?.sub.Fbck in such a way as to ensure the stability and robustness of the closed loop. In a second phase, the correction term (calculated in open loop or using feed forward) makes it possible to determine the second component ?.sub.Ffwd to compensate for the effects of the curvature of the road and the effects of the rolling (which is induced by the curvature of the road) on the nominal performance of the controller K.sub.Fbck.

[0145] It can thus first of all be considered how the controller K.sub.Fbck is made up.

[0146] It is possible to write:

[00008] ? Fbck = [ k ? k r k ? L k e y L k ? . k ? k y . L _ ref k ? ref ] ( ? r ? L e y L ? . ? y . L _ ref ? ref ) [ Math . 14 ]

where

[00009] k ? , k r , k ? L , k e y L , k ? . , k ? , k y . L ref

and k.sub.?.sub.ref are the gains of the controller K.sub.Fbck. This controller K.sub.Fbck is calculated on the assumption that the curvature and the rolling are negligible. Its purpose is to guarantee the stability of the closed loop and to minimize the impact that the disturbance w.sub.yref has on the reference avoidance path following. Specifically, the overall controller is divided into two parts: on the one hand, the feedback part which guarantees the stability and the reference path following in nominal instances (with no curvature effect) and, on the other hand, the feedforward part which compensates for the effect of the curvature in order to achieve the same performance (as in the case of a road with no curvature).

[0147] It is then possible to consider a state vector x, which is written in the form:


x=(?r?.sub.Le.sub.y.sub.L{dot over (?)}?{dot over (y)}.sub.L_ref?.sub.ref).sup.T [Math. 15]

[0148] The objective then is to determine the form of the controller K.sub.Fbck. To do that, our behavioral model can be written in a generic form:

[00010] { x . = A ( ? ) x + B u ( ? ) .Math. ? ref + B w w y = C y .Math. x [ Math . 16 ]

[0149] In this equation, C.sub.y is the identity matrix, A is a dynamic matrix, B.sub.u is a control matrix and B.sub.w is a disturbance matrix, that can be written in the form:

[00011] A = [ - C f + C r mV - 1 + C r l r - C f l f mV 2 0 0 0 C f mV 0 0 - C f l f - C r l r J - C r l r 2 + C f l f 2 JV 0 0 0 C f l f J 0 0 0 1 0 0 0 0 0 0 V l s V 0 0 0 - 1 0 0 0 0 0 - 2 ? ? - ? 2 0 ? 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 - ? f 0 0 0 0 0 0 0 0 - va ? ] , [ Math . 17 ] B u = [ 0 0 0 0 0 0 0 v ? ? ] , B w = [ 0 0 0 0 0 0 ? f 0 ]

[0150] The controller K.sub.Fbck, which is defined as being a static state feedback may itself be expressed in the form:


?.sub.Fbck=K.sub.Fbck.Math.x [Math. 18]

[0151] In order to find an optimal controller K.sub.Fbck, there are various methods that may be used.

[0152] The method used here is that of linear matrix inequalities. It is thus performed using convex optimization criteria with linear matrix inequality constraints.

[0153] The objective is more specifically to optimize the gains of the closed loop defined by the controller K.sub.Fbck by altering the choice of poles.

[0154] There are three matrix inequations and these are defined by the following inequations.

[00012] A i Q + B i R + ( A i Q + B i R ) T + 2 ? Q ? 0 [ Math . 19 ] [ - ? Q A i Q + B i R * - ? Q ] ? 0 [ Math . 20 ] [ sin ( ? ) ( A i Q + B i R + ( A i Q + B i R ) T ) cos ( ? ) ( A i Q + B i R - ( A i Q + B i R ) T ) * sin ( ? ) ( A i Q + B i R + ( A i Q + B i R ) T ) ] ? 0 [ Math . 21 ]

[0155] In these inequations the suffix i is equal to 1 or 2 and the matrices A.sub.i and B.sub.i can therefore be defined as follows:


A1=A(?.sub.min), A2=A(?.sub.max), B.sub.1=B.sub.u(?.sub.min),B.sub.2=B.sub.u(?.sub.max) [Math. 22]

[0156] A matrix of the form

[00013] [ X Y Y T W ]

is written in the form

[00014] [ X Y * W ]

[0157] The controller K.sub.Fbck is defined by the equation:


K.sub.Fbck=R.Math.Q.sup.?1 [Math. 23]

[0158] The vehicle speed is assumed to be constant (and therefore all the matrices in the system are considered to be constant).

[0159] The three inequations make it possible to ensure that the dynamics of the closed loop remain limited. Specifically, by virtue of these constraints, the poles of the closed loop are value-limited to a zone defined by a radius ?, a minimum distance with respect to the imaginary axis ?, and an aperture angle ? (see FIG. 4).

[0160] This method proves effective when the issue is one of determining the steering wheel angle at any time in a way that is reasonable (and can be mastered by a driver of average skill) and in a manner that is achievable by the actuator. These constraints also ensure the stability of the closed loop.

[0161] The objective here is to minimize the radius ?. Once the gains of the controller K.sub.Fbck have been obtained, the result of the controller can be obtained or calculated by means of the following formula:

[00015] ? Fbck = [ k ? k r k ? L k e y L k ? . k ? k y . L _ ref k ? sat ] ( ? r ? L e y L ? . ? y . L _ ref ? ref ) [ Math . 24 ]

[0162] The values ?.sub.min and ?.sub.max have been introduced into the three matrix inequations.

[0163] The value of ?, which is connected to the deviation between ?.sub.K and ?.sub.ref, reflects the extent to which the controller K.sub.Fbck violates the controllability limit stated by equation [Math. 8].

[0164] By definition ? is comprised between 0 (exclusive) and 1 (inclusive). When ? is equal to 1, the calculated unsaturated steering wheel angle instruction ?.sub.K does indeed respect the controllability limit. When it is close to zero, the calculated unsaturated steering wheel angle instruction ?.sub.K has a value that imposes far too high a steering dynamic, generating a risk of vehicle instability. When ? adopts intermediate values between 0 and 1, the controllability limit is not respected but it is possible that there will be no risk of vehicle instability.

[0165] In other words, the choice of the values ?.sub.min and ?.sub.max has a direct impact on the performance and on the robustness of the controller K.sub.Fbck. The wider the range (?.sub.min ?.sub.max), the lower the performance of the controller K.sub.Fbck, although this controller is more robust. By contrast, the narrower this range, the better the performance of the controller K.sub.Fbck, although it is less robust.

[0166] Logically, the value ?.sub.max is chosen to be equal to 1 (the case whereby the controller K.sub.Fbck operates in linear mode, as is incidentally generally the case, without violation of the controllability constraint).

[0167] Determining the value ?.sub.min on the other hand necessitates a compromise between robustness and performance. Determining this value amounts to imposing a maximum threshold for the deviation, in absolute value, between ?.sub.K and ?.sub.ref.

[0168] In a bend, the dual effect of the curvature and of the rolling starts to have a greater impact on the performance of the controller K.sub.Fbck.

[0169] The invention therefore proposes calculating the second component ?.sub.Ffwd in order to compensate for the effect of the curvature and that of the rolling so as to maintain a good level of following of the avoidance path T0.

[0170] This second component ?.sub.Ffwd may be calculated in each avoidance phase or just once for phases that occur on curved roads (when the radius of curvature of the road is below a predetermined threshold), the curvature of the road being derived for example from data perceived by a camera.

[0171] As is clearly apparent in FIG. 5, in order to obtain this second component ?.sub.Ffwd, the gains of the controller K.sub.Fbck are used.

[0172] In practice, the unsaturated steering angle instruction ?.sub.K is replaced, in equation [Math. 12] by its expression derived from equation [Math. 13] making it possible to obtain the following equation of a closed loop system.

[00016] ( ? . r . ? . L e . y L ? .. ? . y .. L ref ? . ref ) = [ Math . 25 ] [ - C f + C r mV - 1 + C r l r - C f l f mV 2 0 0 0 C f mV 0 0 - C f l f - C r l r J - C r l r 2 + C f l f 2 JV 0 0 0 C f l f J 0 0 0 1 0 0 0 0 0 0 V l s V 0 0 0 - 1 0 0 0 0 0 - 2 ? ? - ? 2 0 ? 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 - ? f 0 k ? va ? k r va ? k ? L va ? k e y L va ? k ? . va ? k ? va ? k y . L r ef va ? - va ? ( 1 - k ? sat ) ] ( ? r ? L e y L ? . ? y . L ref ? ref ) + [ 0 0 0 0 0 0 0 v ? ? ] ? F fwd + [ 0 0 - V 0 0 0 0 0 ] ? ref + [ ? 1 C f + ? 2 C r mv ? 1 C f l f - ? 2 C r l r J 0 0 0 0 0 0 ] ? + [ 0 0 0 0 0 0 ? f 0 ] w y ref

[0173] In the knowledge that the disturbance w.sub.yref has already been compensated for in the calculation of the component ?.sub.Fbck, it will then be merely necessary in calculating the second component ?.sub.Ffwd to minimize the influence of the other disturbances (the curvature and the rolling) on the avoidance path following static error e.sub.yL.

[0174] To do that, first of all, the static state values of the system defined by equation [Math. 25], wherein the derivatives are zero, may be calculated and this amounts to solving the following system of equations:

[00017] [ - C f + C r mV - 1 + C r l r - C f l f mV 2 0 0 0 C f mV 0 0 - C f l f - C r l r J - C r l r 2 + C f l f 2 JV 0 0 0 C f l f J 0 0 0 1 0 0 0 0 0 0 V l s V 0 0 0 - 1 0 0 0 0 0 - 2 ? ? - ? 2 0 ? 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 - ? f 0 k ? va ? k r va ? k ? L va ? k e y L va ? k ? . va ? k ? va ? k y . L _ ref va ? - va ? ( 1 - k ? sat ) ] [ Math . 26 ] ( ? static r static ? L static e y L static ? . static ? static y . L _ ref static ? ref static ) + [ 0 0 0 0 0 0 0 v ? ? ] ? F fwd + [ 0 0 - V 0 0 0 0 0 ] ? ref + [ ? 1 C f + ? 2 C r mv ? 1 C f l f - ? 2 C r l r J 0 0 0 0 0 0 ] ? = 0

[0175] Solving this above system of equations makes it possible to calculate the static path following error e.sub.yL, as a function of the curvature ?.sub.ref of the road, of the speed V of the motor vehicle 10, of the roll angle ?, of the gains of the controller K.sub.Fbck, of the sought-after second component ?.sub.Ffwd, and of other parameters relating to the vehicle itself (lf, lr, ?1, ?2, etc.). It is thus possible to write:


e.sub.y.sub.L.sup.static=f(?.sub.Ffwd,?,V,?.sub.ref) [Math. 27]

[0176] Thus, in order to find the second component ?.sub.Ffwd that makes it possible to obtain a zero static path following error e.sub.yL, it is possible to write the equation below:


e.sub.y.sub.L.sup.static=0 [Math. 28]

[0177] It makes it possible to obtain the following equation:


?.sub.Ffwd=[(l.sub.f+l.sub.r)(1?k.sub.??k.sub.?.sub.ref)+(k.sub.?.sub.L?k.sub.?)l.sub.r+k.sub.?.sub.Ll.sub.s?k.sub.rV+K.sub.VV.sup.2].Math.?.sub.ref?[(1?k.sub.??k.sub.?.sub.ref)?.sub.1?(1?k.sub.??k.sub.?.sub.ref+k.sub.?.sub.L?k.sub.?)?.sub.2].Math.?[Math. 29]

[0178] In this equation, the term K.sub.v is referred to as the understeer gradient and is expressed as:

[00018] K V = ( l r ( 1 - k ? - k ? ref ) C f - l f ( 1 - k ? - k ? ref + k ? L - k ? C r ) .Math. m l f + l r [ Math . 30 ]

[0179] This understeer gradient is a coefficient that makes it possible to express and quantify the tendency of the motor vehicle to understeer in a bend at a given speed.

[0180] In summary, in order to obtain the second component ?.sub.Ffwd, all that is therefore required is to calculate the term K.sub.v using the equation [Math. 30] (block Z2 in FIG. 5) and then use the equation [Math. 29] (block Z3).

[0181] At this stage it is now possible to describe the method that will be executed by the computer 13 of the motor vehicle 10 in order to implement the invention.

[0182] The computer 13 here is programmed to implement this method recursively, which is to say step by step, in a loop.

[0183] To do so, during a first step, the computer 13 verifies that the autonomous obstacle avoidance function (AES) is activated.

[0184] If it is, it attempts to detect the presence of a potential obstacle lying in the path of the motor vehicle 10. To do that, it uses its RADAR or LIDAR remote sensor.

[0185] In the absence of any obstacle, this step is repeated by looping.

[0186] As soon as potentially dangerous obstacle 20 is detected (see FIG. 2), the computer 13 plans an avoidance path T0 that allows this obstacle 20 to be avoided.

[0187] The computer 13 will therefore seek to define a control instruction for the assisted steering actuator 31, namely the saturated steering angle instruction ?.sub.ref that allows this avoidance path T0 to be followed as closely as possible.

[0188] To do that, it begins by calculating or acquiring parameters such as: [0189] the measured steering angle ?, [0190] the slip angle ? of the motor vehicle 10, [0191] the derivative with respect to time of the measured steering angle ?, [0192] the saturated steering angle instruction ?.sub.ref obtained in the previous time step, [0193] the yaw velocity r, [0194] the relative heading angle ?L, and [0195] the lateral deviation instruction y.sub.Lref.

[0196] As shown in FIG. 5, the computer 13 then calculates the gains of the controller K.sub.Fbck, and then from these deduces the value of the first component ?.sub.Fbck of the unsaturated steering angle instruction ?.sub.K.

[0197] From this it also deduces the values of the term K.sub.v and then of the second component ?.sub.Ffwd of the unsaturated steering angle instruction ?.sub.K.

[0198] From this it can then deduce the value of this unsaturated steering angle instruction ?.sub.K and then that of the saturated steering angle instruction ?.sub.ref.

[0199] This latter value is then transmitted to the assisted steering actuator 31 in order to cause the vehicle to deviate from its initial path.

[0200] The present invention is not in any way restricted to the embodiment described and depicted; rather the person skilled in the art will know how to vary it in any way that is in accordance with the invention.