Method for automatically driving a vehicle under constraint, in particular a bus in a storage facility, and device implementing such a method
11254330 · 2022-02-22
Assignee
Inventors
Cpc classification
B60W2520/263
PERFORMING OPERATIONS; TRANSPORTING
B62D15/0285
PERFORMING OPERATIONS; TRANSPORTING
B60W60/001
PERFORMING OPERATIONS; TRANSPORTING
B62D15/021
PERFORMING OPERATIONS; TRANSPORTING
B60W2520/266
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60W60/00
PERFORMING OPERATIONS; TRANSPORTING
B60W30/02
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method includes at least the following phases: a first phase wherein a path to be followed is generated, the path being subdivided into a series of sections of which the starting point forms an intermediate position; a second phase wherein, at the current intermediate position of the vehicle: a non-zero curvature is defined for each of the next n prediction horizon sections, the curvature varying progressively from one section to the next; a prediction is made, before the vehicle engages a movement, as to whether the path can be followed to the prediction horizon, as a function of imposed constraints and of the estimated lateral and/or longitudinal slips; a third phase wherein, if the path can be followed, the steering lock angle of the front wheels and the linear traction speed of the vehicle are controlled as a function of the state of the vehicle and of the lateral and/or longitudinal slips to line up the centre of the axle of the rear wheels on the path; if the path cannot be followed, the vehicle is realigned towards the target position and a new reference path is generated according to the first phase.
Claims
1. A method for automatically driving a vehicle from a given first point to a given second point forming a target position, said vehicle being subject to lateral and/or longitudinal slips of the front wheels and of the rear wheels in its movements, wherein it comprises at least the following phases: a first phase wherein a path to be followed is generated as a function of the state of said vehicle and of said target position, said state being given by the current position and the orientation of said vehicle, said path being subdivided into a series of sections of which the starting point forms an intermediate position; a second phase wherein, at the current intermediate position of said vehicle: a curvature is defined for each of the next n sections, said curvature varying from one section to the next according to a polynomial function of the curvature c.sub.r.sub.
2. The method according to claim 1, wherein at each of said intermediate positions comprised between the position of said vehicle and said n.sup.th section, the curvature c.sub.r.sub.
3. The method according to claim 1, wherein at each of said intermediate positions comprised between the position of said vehicle and said n.sup.th section, the curvature c.sub.r.sub.
4. The method according to claim 1, wherein the law controlling said steering lock angle β.sub.f of the front and rear wheels is obtained according to a process of optimization of a constrained function wherein the variable is a vector u composed of the derivative relative to the distance β′.sub.f of said steering lock angle, independently of time.
5. The method according to claim 4, wherein said control law uses a kinematic model of said vehicle defined by the set of the following relationships:
6. The method according to claim 4, wherein a vector u is calculated for each section of said path.
7. The method according to claim 4, wherein said constraint is a function of said imposed constraints dependent on the bulk of said vehicle.
8. The method according to claim 1, wherein the state of said vehicle and the slips are derived from an observation of independent variables of said path, said variables being: the average rotation speeds ω.sub.f and ω.sub.r of the front and rear wheels; the steering angles of said front and rear wheels α.sub.f, α.sub.r; the derivatives relative to time {dot over (α)}.sub.f, {dot over (α)}.sub.r of said angles; the position (x.sub.m, y.sub.m) and the angle (θ.sub.m) of a mobile reference frame (m) linked to said vehicle relative to a fixed reference frame (o).
9. The method according to claim 1, wherein said vehicle is a public transport bus, said bus being driven automatically inside a bus storage centre.
10. A device for controlling the automatic driving of a vehicle from a given first point to a given second point forming a target position, said vehicle being subject to lateral and/or longitudinal slips of the front wheels and of the rear wheels in its movements, wherein, said device being able to be embedded in said vehicle and to be linked at least, via appropriate interfaces, to proprioceptive sensors, exteroceptive sensors and motors actuating the steering and the traction of said vehicle, it comprises a computer implementing the method according to claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Other features and advantages of the invention will become apparent from the following description, given in light of the attached drawings which represent:
(2)
(3)
(4)
DETAILED DESCRIPTION
(5)
(6)
(7) This control architecture is the same as that described in the patent application FR 1501414. In particular, the state observer 22 and the slip estimator 23 are the same. The kinematic model, described hereinbelow, is simplified compared to that of the document FR 1501414.
(8) A control device according to the invention therefore incorporates these three block 21, 22, 23, these blocks being functions performed by a computer implementing the different phases of the method according to the invention.
(9) The control device, fixed to the bus, is linked via appropriate interfaces to: an energy source ensuring its electrical power supply; a perception system which gives information on position and orientation relative to an accommodation station, this system being notably described in the patent application FR 1455049, the accommodation station being, for example, the parking space 3 of
(10) Hereinbelow, the different kinematic models used for the control 21 and the observation 22 are described. The control algorithm is based on a linearized model.
(11)
(12) For simplification purposes, a single front wheel 31 represents both of the two front wheels and their axis (axle). Likewise, a single rear wheel 32 represents both of the two rear wheels and their axis (axle). A local reference frame (f) is linked to the front wheels and a local reference frame (r) is linked to the rear wheels.
(13) For reasons of clarity, the centre of the local reference frame (f) has not been represented on the path 33, at the current point P. The same applies for the reference frame (r).
(14) The front wheels 31 have a speed vector V.sub.f forming an angle δ.sub.f relative to the steering axis of the wheels. This angle δ.sub.f represents the slip of the wheels on the ground. The speed vector V.sub.f forms an angle β.sub.f with the axis 30 of the bus, equal to the corrected steering angle α.sub.f of the slip angle δ.sub.f. The guiding of the bus is performed by the front wheels, according to the steering angle α.sub.f. The angle β.sub.f expresses the steering lock angle of the front wheels.
(15) In the case of the rear wheels 32, the steering angle α.sub.r is nil. There is always a slip angle δ.sub.r, between the speed vector of the rear wheels V.sub.r and the steering axis 30.
(16) The resultant speed vector V of the bus forms an angle β relative to the axis 30 of the bus. This angle β expresses the resultant slip of the vehicle, in the absence of slip β=0.
(17) The line of the axis 30 of the vehicle is marked in an absolute reference frame (o) by an angle θ.sub.m. This angle θ.sub.m also represents the angle between the mobile reference frame (m) linked to the vehicle and the absolute reference frame (o).
(18) The centre of the axle of the front wheels 31 forms a deviation y.sub.f, or lateral error, with the reference path 33. More specifically, through a process of constrained optimization, this deviation must be reduced for the centre of the axle of the wheels 81 to reach the path at a point P where a tangential local reference frame c.sub.f forms an angle θ.sub.Cf with the mobile reference frame (o), this angle θ.sub.Cf being the angle of the reference path at the point P. Likewise, the centre of the axle of the rear wheels 32 must line up with a point that is not represented of the path 33.
(19) For the purpose of simplification, the kinematic model chosen for the synthesis of the control results from the following choice: the controlled reference frame is the reference frame (r) linked to the rear wheels 32, situated at the centre of the axle of these rear wheels. In other words, the control seeks to make this reference frame converge on the path 33.
(20) With respect to
(21)
{dot over (θ)}.sub.m being the rotation speed of the mobile, v.sub.f and v.sub.r being, respectively, the projection of the speed vectors V.sub.f and V.sub.r on the axis f.sub.fx of the reference frame (f) and on the axis f.sub.rx of the reference frame (r).
(22) Moreover, the kinematic torques of the reference frames (f) and (r) relative to the body of the mobile and expressed in the reference frame (m) linked to the mobile, the bus in particular, are denoted T.sub.f/m and Trim and thus formulated:
(23)
(24) The torques defined by the relationship (1) are not independent. The combination of the relationships (1) and (2) makes it possible to link v.sub.f and v.sub.r and obtain an expression of the rotation speed {dot over (θ)}.sub.m of the mobile, i.e.:
T.sub.m=.sup.mAd.sub.f(T.sub.f−T.sub.f/m)=.sup.mAd.sub.rT.sub.r (3)
with:
(25)
(26) Thus:
(27)
hence:
(28)
leading to the rotation speed according to the following relationship:
(29)
(30) After the equations of evolution of the model, the path continuation is dealt with below.
(31) For each of the reference frames (f) and (r), the projection onto the path and the associated reference frame, respectively the reference frame (c.sub.f) and the reference frame (c.sub.r), which is not represented, are considered. Relative to these reference frames, the evolution of reference frame (f) and of the reference frame (r) is given by:
.sup.fT.sub.f/c.sub.
with:
(32)
with s.sub.f,r and c.sub.f,r curvilinear abscissas and curvatures associated with the path in (c.sub.f) and (c.sub.r) respectively.
(33) In particular, at the level of the axle of the front wheels:
(34)
Hence:
(35)
Thus:
(36)
(37) Now .sup.c.sup.
(38) Therefore:
(39)
and therefore:
(40)
(41) In other words, in the reference frame (c.sub.f):
(42) {dot over (0)}.sub.f/c.sub.
(43) Hence: {dot over (x)}.sub.f/c.sub.
(44) And: {dot over (y)}.sub.f/c.sup.f−r.sub.f sin(θ.sub.c.sub.
(45) By writing the relative speed .sup.fT.sub.f/cf in the reference frame (c.sub.f) without transport, that is to say by multiplying the translation speed by the matrix .sup.fR.sub.cf.sup.t, the following is obtained:
(46)
(47) Similarly, .sup.fT.sub.f/cr is expressed in the reference frame (c.sub.r):
(48)
(49) The linear model is described hereinbelow.
(50) The navigation path considered is a circle of constant curvature C.sub.r. The models above are then linearized around the state of equilibrium: θ.sub.r=θ.sub.c.sub.
(51) By considering the law of breakdown of a function into Taylor series:
(52)
(53) the following applies for the tangent function:
tan(x)≈tan β.sub.c+(1+tan.sup.2β.sub.c)(x−β.sub.c)+tan β.sub.c(1+tan.sup.2β.sub.c)(x−βc).sup.2
It follows therefrom that, by positing: θ=θ.sub.r−θ.sub.c.sub.
the linearization of the relationships (6) leads to the following relationships:
(54)
(55) Then, by considering
(56)
and by eliminating the terms that are two times smaller like y(β.sub.f−β.sub.c), the kinematic model is obtained that is defined by the set of the following relationships:
(57)
in which: (.)′, (.)″, (.)′″ respectively express the first, second and third derivatives relative to the curvilinear abscissa, θ′ being the first derivative of θ, and y′, y″, y′″ being respectively the first, second and third derivatives of y; θ=θ.sub.r−θ.sub.c.sub.
(58) By considering the state vectors:
(59)
in which the exponent “′” expresses a derivation relative to the curvilinear abscissa as explained above; and
(60)
the following linearized model is obtained:
(61)
(62) In order to take account of the strong constraints of accessibility during the navigation in a bus centre, the method according to the invention uses a predictive control. This is a discrete predictive control which relies on the discrete model associated with the relationships (8). This predictive control optimizes a criterion that is a function of the predicted states and of the future controls over a spatial window of length n.sub.stepS by guaranteeing if possible a certain number of constraints on the state (an admissible template) and the control (speed of orientation of the steering gear constraints).
(63) Given (8), the state matrices of the continuous system are:
A.sub.c=AP.sup.−1 and B.sub.c=B
The solution of the differential equation y′=A.sub.cy+B.sub.c u
is y(s)=y.sub.0e.sup.A.sup.
(64) For that, A.sub.c and B.sub.c are assumed constant relative to the curvilinear abscissa s.
(65) This assumption is retained over each small interval of distance S, the matrices A.sub.ck and B.sub.ck being a function of the curvilinear abscissa c.sub.rk and constant over a pitch S.
(66) By performing a discretization along the curvilinear abscissa according to the pitch S, the state matrices of the discrete system:
(67) Y.sub.k+1=A.sub.dk y.sub.k+B.sub.dk u.sub.k (k being between 1 and N, where N is the number of intervals) are given by:
(68)
(69) The input u.sub.k is assumed constant over the distance pitches S. If forward and reverse movements are considered, the calculations must be performed for S>0 and S<0.
(70) After this discretization step, predicted states are calculated. The predicted states are calculated by starting from the knowledge of the current state y.sub.0 and by using the matrices A.sub.dk and B.sub.dk calculated previously. By performing a recurrence over n pitches, the following is obtained:
(71)
(72) In other words, in matrix form:
(73)
and, more synthetically, the predicted state Y is obtained as a function of the current state y.sub.0 and of the future control U, i.e.:
Y=Ay.sub.0+βU (11)
(74) The criterion to be optimized is a quadratic function of the predicted state Y and of the future control U. According to the invention, this criterion, denoted crit, is expressed as follows:
crit=1/2Y.sup.tY+1/2U.sup.t
U (12)
in which and
are matrices of 3n×3n and n×n dimensions respectively for the state and for the control. They are chosen to be of block-diagonal structure of generic elements γ.sub.Q.sup.kQ.sub.3×3 and γ.sub.R.sup.kR.sub.1×1, in which γ.sub.Q.sup.k and γ.sub.R.sup.k, lying between 0 and 1, are omission factors, k being the rank in the diagonal and the matrices Q and R being adjustment matrices defined as positive.
(75) The expression of the criterion, solely as a function of the independent unknowns, that is to say as a function of U takes the form:
crit=1/2U.sup.t(.sup.t
+
)U+y.sub.0
U (13)
from which the constant dependent only on y.sub.0 is extracted.
(76) The expression of the constraints on the state for an a priori given template is given below. These constraints are a function of the environment in which the guided bus is moving around, for example the structure of a storage centre, and on the dimensions of the bus. Simplistically, firstly, the bus is likened to a rectangle whose front and rear ends are respectively situated at a point Df and at a point Dr of the steering axis of the front gear along the longitudinal axis 30. It is posited as constraint that these ends remain within a tolerance δ.sub.gap around the path. This constraint can be written thus:
|y−D.sub.r sin(θ.sub.m−θ.sub.c)|<δ.sub.gap
|y−D.sub.r sin(θ.sub.m−θ.sub.c)|<δ.sub.gap
(77) These relationships can also be expressed as follows, by linearizing and by positing θ=θ.sub.m−θ.sub.c:
(78)
(79) By positing:
(80)
and by positing d=δ.sub.gap1.sub.4×1;
the constraint can be expressed by the following relationship:
Dy+d≥Q.sub.4×1 (15)
(81) Extended to any predicted state and expressed as a function of the future controls, this constraint becomes:+σ.sub.gap+
y.sub.0≥0.sub.4n×1 (16)
with: , the block diagonal matrix formed by n blocks D; and σ.sub.gap=δ.sub.gap1.sub.4n×1.
(82) The control vector U is obtained by solving the following quadratic equation:
(83)
(84) The first element β′.sub.f=u.sub.0 of the vector U is then extracted. The control is then given by the steering lock angle of the front wheels: {dot over (β)}.sub.f=v.sub.f u.sub.0.
(85) The phases of implementation of the method according to the invention which apply for example the path and control prediction described previously are now described. The steps of the patent application FR 1501414 are repeated but differently, in particular the path is no longer subdivided according to rectilinear sections but according to sections of non-zero curvature, by advantageously using a hypothetical curvature as a function of the real curvature of the path to be followed, in order to implement the control with a curvature of progressive variation, as will be described hereinbelow.
(86) The method according to the invention thus comprises the phases described hereinbelow. These phase are repeated throughout the trajectory as a function of the result of the prediction.
(87) In a first phase, the path 33 to be followed to engage the bus to its parking space 3 is generated, as a function of the state of the vehicle and of this parking space which is the target position. If the example of
(88) In a second phase, for each intermediate position of the bus (corresponding to a start of section), a non-zero hypothetical curvature is defined for a set of n subsequent sections, forming the horizon over which the prediction is performed. The curvature varies progressively from one section to the next. Examples of definition of curvatures will be given hereinbelow.
(89) Then, before the bus engages a movement, a prediction is made at the start of each section as to whether the path can be followed as a function on the one hand of the bulk constraints (for example those encountered on the trajectory inside the storage centre) or of the imposed speed limitation constraints on the actuators of the wheels and, on the other hand, of the estimated lateral and/or longitudinal slips.
(90) In a third phase, if the prediction indicates that the path can be followed, the steering lock angle of the front wheels 31 and the linear traction speed of the bus are controlled as a function of the state of the bus and of the lateral and/or longitudinal slips, to line up the centre of the axle of the rear wheels 32 on the path 33. The control applied is for example that described previously in relation to the kinematic model retained for the bus.
(91) The second and third phases are repeated as long as the path can be followed. If the result of the prediction is that the path cannot be followed, the bus is realigned to the target position and a new path is generated according to the first phase.
(92) In this trajectory along the path 33, the bus can perform its forward or reverse movement.
(93) The nature of the path sections on which the prediction is performed is now described.
(94) When the kinematic model of the bus is linearized around a section of curvature c.sub.r, a nominal front steering angle β.sub.f configured for the corresponding curvature is a priori assumed. There is, consequently, a jump in steering angle in the prediction. If this jump is too great, it is not feasible in a real situation.
(95) According to the invention, one solution to this problem is to artificially modify the value of the curvature c.sub.r over all the prediction horizon n, so as to obtain a progressive variation at the change of section. The number n indicates the number of sections to be covered over the prediction horizon.
(96) With the bus being at the current instant at the start of a section of curvature c.sub.r.sub.
(97) in which 1≤i≤n−2
(98)
(99)
(100) The intermediate positions defined hereinbelow correspond to the starts of the successive sections of the path.
(101) Other choices are possible, notably more complex polynomials of higher degrees. According to the cases, the ratio between the value of the prediction horizon nS and the size of the sections of the path needs to be considered. Indeed, in the case where the prediction horizon nS is small compared to the size of the sections, this method ensuring a redefinition of each of the intermediate curvatures c.sub.ri is the most relevant, inasmuch as it is comparable to a virtual subdivision of the latter. On the other hand, in the case where the prediction horizon nS becomes significant compared to the size of the sections, a virtual variation of the curvature values is not always necessary. If, however, such a variation is necessary, it is essential to ensure that any new virtual curvature value does not compromise the path, by still remaining within the real value and the next different real value.
(102) Regarding the characterization of the path, the latter is defined at least in a geometrical form x(u) parameterized by a parameter u.
(103) It is assumed that the function x(.) is C.sup.3 piecewise. This expression makes it possible to deduce all the desired characteristics of the path, in terms of tangent, normal, curvature and variation of curvature, i.e.:
(104)
in which: (.).sub.′u, (.)″.sub.u et (.)′″.sub.u respectively define a first, second and third order derivation according to u; and (a, b)=a.sup.t.sub.⊥b.
(105) In the case where u varies like the curvilinear abscissa s, then ∥x′.sub.u∥=1, and the equations (18) are simplified as:
(106)
(107) Conventionally, the path of the bus is defined as a succession of segments and circular arcs, the position of the bus on this path varying as a function of a curvilinear abscissa s. One possible problem is that the control law put in place tends as a priority to retain a zero error over a section covered, including at the end of this section, even in the case of a strong variation of the value of the curvature on the next section. That induces errors at the moment of change of section, linked notably to the limitations of the actuators of the axles. In order to limit this phenomenon, as a function of the size of the sections and of the variation of their curvature, any pair of two successive sections having a significant variation of curvature is subdivided into several sections of smaller sizes in order to have a minimal variation of the curvature.
(108) Among other advantages, the method according to the invention allows a bus to follow all types of paths or trajectories, with a very good accuracy on all types of section geometry, including at the transitions between the sections.
(109) The invention has been described for driving a bus, but it can of course be applied for other types of vehicles.