The present application claims priority to and all the benefits of Italian Patent Application No. 102017000073722, filed on Jun. 30, 2017, which is hereby expressly incorporated herein by reference in its entirety.
The present description relates to techniques computing optimal parking maneuvers for road vehicles, operating in a known environment in the presence of static obstacles. The method comprises operating according to a dynamic programming calculation procedure to compute a set of vehicle controls implementing an optimal parking maneuver to reach a target state corresponding to a given parking target. The parking maneuvers are trajectories obtained by a system of equations modeling the evolution of the state of the road vehicle as a function of the set of vehicle controls. The method includes computing a set of value functions of a cost function of parking maneuvers reaching the target state as unique viscosity solution of a Hamilton Jacobi Bellman equation. The cost function takes into account the arrival time of the vehicle for a given parking maneuver, and supplies the set of value functions, together with a starting state of the vehicle, as input to said dynamic programming calculation procedure that calculates at least the set of vehicle controls.
In recent times, many path planning methods used to compute optimal parking maneuvers for road vehicles, operating in a known environment in presence of static obstacles have been developed.
Early solutions on path-planning for the system represented the shortest path between two configurations as a concatenation of at most three lines or arc segments of constant curvature. In more recent years, due to the developments in automotive industry, path planning problems have received great consideration in literature and have been addressed with different approaches. Some solutions were based on geometrical considerations tailored to specific parking configurations, using simple algorithms for parallel parking. Other solutions use an incremental search on a multi-resolution lattice state space for generating dynamically-feasible maneuvers.
A different approach is represented by the numerical solution of the Hamilton-Jacobi-Bellman (HJB) equation. This method allows finding a deterministic solution to the motion planning problem, at the expense of a greater computational cost. For instance, this approach is used in R. Takei and R. Tsai. Optimal trajectories of curvature constrained motion in the Hamilton-Jacobi formulation, Journal of Scientific Computing, 54(2-3): 622-644, 2013, that considers the problem of optimal path planning for Dubins' and Reeds-Sheep's car models, using a finite difference numerical approximation of HJB equation.
An object of one or more embodiments is to overcome the limitations inherent in the solutions achievable from the prior art.
According to one or more embodiments, that object is achieved thanks to a method of the present invention. One or more embodiments may refer to a corresponding system.
The claims form an integral part of the technical teaching provided herein in relation to the various embodiments.
According to the solution described herein, the method includes the steps of providing a set of equations modeling the evolution of the state of the road vehicle that includes a switched system of equations between a first sub-system if the vehicle is in forward motion and a second sub-system if the vehicle is in rear or backwards motion, while a cost function taking into account in addition to the arrival time a number of direction changes of the road vehicle between forward motion and rear motion is also provided.
The solution described herein is also directed to a corresponding system for computing optimal parking maneuvers for road vehicles.
Other objects, features and advantages of the present invention will be readily appreciated as the same becomes better understood after reading the subsequent description taken in connection with the accompanying drawings.
Other advantages of the invention will be readily appreciated as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The ensuing description illustrates various specific details aimed at an in-depth understanding of the embodiments. The embodiments may be implemented without one or more of the specific details, or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not illustrated or described in detail so that various aspects of the embodiments will not be obscured.
Reference to “an embodiment” or “one embodiment” in the framework of the present description is meant to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is comprised in at least one embodiment. Likewise, phrases such as “in an embodiment” or “in one embodiment”, that may be present in various points of the present description, do not necessarily refer to the one and the same embodiment. Furthermore, particular conformations, structures, or characteristics can be combined appropriately in one or more embodiments.
The references used herein are intended merely for convenience and hence do not define the sphere of protection or the scope of the embodiments.
In the following it will be assumed that the road vehicle is modeled by a kinematic car-like model with rear-wheel drive. To this regard, in
where (z,y) represents the position of the center of the rear wheel axle and θ an orientation angle (i.e., the angle of the main longitudinal axis M of the vehicle, which is the axis passing by the midpoint of the track distance separating the pair of wheels). In this way, the state of the vehicle 11 is represented by the triplet x=[z,y,θ]. The control input u is given by u=[ν,ω], where ν and ω are, respectively, the linear and angular velocities.
The angular velocity co is related to the front wheel 12 steering angle δ (i.e., the angle of the direction of the wheel 12 with respect to the main vehicle axis M), by the relation
The input variables, the linear velocity ν and the steering angle, are constrained between minimum and maximum values as follows
νmin<ν<νmax,δmin<δ<δmax.
As described also with reference to
As mentioned, the method here described makes use of the general approach represented by the numerical solution of the Hamilton-Jacobi-Bellman (HJB) equation. It is therefore provided to derive the Hamilton-Jacobi equation that models a class of curvature constrained motions in a maneuver space, which, as better described in the following, is represented as the union of a free space and a space with obstacles.
Under this view, also discussed with reference to step 110 in
Thus, it is indicated with Ωop⊂(2×[0,2π]) a bounded and connected domain, which represents the operating space of the road vehicle 11. This is the set of the poses (x, y, θ) of the vehicle, 11, which occupies a point (x, y) in a bi-dimensional space and has a direction (i.e., an orientation angle) θ. Such space 12 is partitioned as Ωop=Ωfree ∩Ωobst, with Ωfree ∪Ωobst=Ø, where Ωfree is the free space and Ωobst is the subset of the operating space covered by obstacles.
The car-like vehicle 11 of
The switched dynamics function ƒ is defined as:
In other words, the dynamics function ƒ includes a function for the forward motion ƒ(x,1,ω) of the vehicle (i.e., with vehicle 11 in forward gear), and a function for the reverse motion of the vehicle ƒ(x,2,ω) (i.e., with the vehicle 11 in reverse gear). This means that the switched system {dot over (x)}(t)=ƒ(x(t),i,ω(t)) includes two subsystems, corresponding to the function for the forward motion and the function for the reverse motion respectively, which can be selected by a controller, such as module 50 which will be described with reference to
The dynamics function ƒ is dimensionally a velocity and V+,V−: Ω→ are respectively forward and reverse velocity functions defined by
and 0<r<1 is a reduction factor, which can be set, which is in general a small number (i.e., r is smaller than one, usually much smaller than one). In some embodiments the reduction factor r is chosen 0.001, in other embodiments it could be chosen even smaller. Here, ν−<0<ν+ are the speeds associated to forward and reverse gears.
It is underlined that speeds ν−,ν+ are constant values, (i.e., the dynamics function ƒ which defines the switched system is a function only of the state x, of the switching index i, and of angular velocity ω). With respect to the dynamics function ƒ while the linear velocity ν is constant with respect to its absolute value at values ν−,ν+, just its sign is changed when a gear switching takes place (i.e., ν=ν−−−ν+).
It can be observed in the definition of the velocity functions V+, V− that if the state of the vehicle x∈Ωobst (i.e., it belongs to the subset of the operating space covered by obstacles Ωobst) the velocity of the vehicle 11 is reduced by a reduction factor r. Being such reduction factor r close to zero, the vehicle 11 is very slow when traveling on obstacles. Since there is interest in minimum time trajectories, such small values of the reduction factor r ensure that optimal trajectories will not intersect the subset of the operating space covered by obstacles Ωobst for relevant intervals of time.
A control signal α is given by the couple α=(ω,σ), where ω: [0,+∞)→[ωmin,ωmax] is the steering control input represented by the angular velocity (which, as shown, is a function of the steering angle δ) and σ∈(,{1,2})* indicates the sequence of gear switching corresponding to respective system configuration changes, for instance pairs of time coordinates tk and switching index values ik. Namely, if (tk,ik)∈σ, then a controller switches switched system {dot over (x)}(t) to the subsystem corresponding to the switching index ik value at time tk. The sequence of switches of switched system {dot over (x)}(t) satisfies the following inequalities:
0=t1<t2< . . . <tK,
ik−1≠ik,2≤k≤K.
It is defined a gear switching function I:→{1,2} as I(t)=i
Given the control signal α, α=(ω,σ)∈A, where ω is the control input as also discussed with reference to step 130 in
and is denoted by yx
Then it is considered a target set Γ∈Ω, closed and such that int(Γ)≠Ø. The target set Γ can therefore include a plurality of target states. It is also indicated with P a positive real parameter, which, as better discussed in the following, is a penalty parameter P.
Thus, as also discussed with reference to step 140 in
where it is considered cost tc(x0,i0,α)=+∞ if the solution never reaches the target set Γ for any time t>0.
A value function T:Ω×{1,2}→∩{+∞} of the cost function tc is then obtained (see also step 150 of
and represents the first or minimum time of arrival on the target set Γ, incremented by the product between the number of switchings and the positive constant represented by the penalty parameter P. The minimum is calculated with respect to the all possible controls α belonging to the control set A.
It is convenient to perform a rescaling of the value function T as a rescaled value function V(x0,i) (see also step 160 of
where λ is a positive scalar. The change of variables of equation (5) is called the Kru{circumflex over (z)}Iov transformation and gives several advantages. In particular, the value function V(x) takes values in
(whereas the non-scaled value function T is generally unbounded), and this helps in both the analysis and the numerical approximation.
Problem (5), defining the rescaled value function V(x0,i), can be addressed via a dynamic programming procedure. In particular, it falls into the class of optimal switching control problems discussed for instance in the publication I. C. Dolcetta and L. C. Evans “Optimal switching for ordinary differential equations”, SIAM journal on control and optimization, 22(1):143-161, 1984. There, it is proven that the value function V(x0,i) is uniformly bounded, and Hoelder continuous, and is the unique viscosity solution of the following Hamilton Jacobi Bellman equation:
where V∈C (Ω×{1,2},[0,+∞)),x∈n, i∈{1,2} and W≡[ωmin,ωmax]. Here, D(V)(x,i) denotes the gradient of function V at x
In the following, is described an analytical solving procedure presenting an analytical solution of the system of equations (6) with a sequence of decoupled QVIs (Quasi Variation Inequalities).
Then, the analytical solving procedure receives in input the target state set Γ, a target switching value i1 (i.e., the final direction or gear of motion of the vehicle 11) and a termination tolerance ϵ, supplying as output the value functions V0, . . . , VK, where K is the index representing the maximum number of gear switching, to perform the parking maneuver associated with the value function. In other words, the outputs correspond to the value function V0 which requires zero switchings till the value function VK, which requires K gear switching or direction switching between forward and reverse direction.
The analytical solving procedure includes for instance the following steps:
In step a) of the analytical solving procedure, the value function V0 is computed as the solution of the HJB equation for a car-like vehicle 11 that proceeds to the final state set Γ in forward (i1=1) or backward (i1=2) direction, without direction changes.
Then, in the loop formed by steps c)-e) the k-th cost function Vk is computed so that, for any state x of the vehicle such that Vk (x)<P+Vk−1(x) (i.e., the difference between two consecutive, with respect to the number of switchings k, value functions is greater than the penalty parameter P), the k-th cost function Vk is the solution of the HJB equation applied alternatively to subsystems (2) and (3). In other words, V0, V1, . . . , VK is a sequence of cost functions such that Vk represents the value function that solves the optimal maneuvering problem with a maximum of k+1 gear switchings. In this way, the difference between two consecutive value functions, Vk−Vk−1 represents the decrease in value function that can be obtained by passing from k to k+1 gear switchings. This is reiterated until the stopping condition in line c), set by the termination tolerance is satisfied. It is underlined that such stopping condition makes loop c)-e) end when an additional k+1 gear switching does not significantly reduce the corresponding value function (i.e., the difference between two consecutive value functions is smaller than the termination tolerance E which has been set for the solving procedure just described).
The numerical implementation of the above analytical solving procedure, as it can be readily observed, relies on the solution of HJB's equations of the form:
with ϕ=P+Vk−1, a value function with penalty (i.e., the sum of the penalty parameter P and of the previous value function).
In general, this partial differential equation does not admit a closed form solution. It is applied an approximation scheme based on a finite approximation of state and control spaces and a discretization in time.
Roughly speaking, in equation (7) one can approximate
D(V(x))ƒ(x,i,ω)≅h−1(V(x+hƒ(x,i,ω))−V(x)),
where h is a small positive real number that represents an integration time.
In this way, the second member of equation (9) becomes
for x∈n and, by approximating (1+λh)−1≅=(1−λh), (1+λh)−1 h≅h it is obtained the following discrete time HJB equation
with x∈n.
A grid is then computed on a finite set of vertices S={xl}⊂n, l=1, . . . , p. Evaluating the previous equation at x∈S, it is obtained
Note the dependence of the value cost function on the choice of the integration step h. Using the grid, the function V can be approximated by a linear function of the finite set of variables Vh(xl), l=1, . . . , p.
To further simplify equation (8), it is possible to perform a discretization of the control space, substituting W with a finite set of controls {ω1, . . . , ωm}, so that it is possible to replace equation (8) with
where l=1, . . . , p and j=1, . . . , m being the index of grid points and of the finite set of controls respectively.
The value cost function for these end points xl+hƒ(xl,i,ωj) is given by a multi-linear combination of its values on the grid vertices.
Set vector z: =[Vh(x1), Vh(x2), . . . , Vh(xp)]. In this way, z∈n represents the value of the cost function on grid points, or vertices {xl}. Assuming that the value function with penalty ϕ is non-negative, for each xl,ωj, the right-hand side of equation (9) is affine with respect to z, so that problem (9) can be rewritten in form
where for j=1, . . . , m, Aj∈+n×n are suitable nonnegative matrices and bj∈+n are suitable nonnegative vectors.
Let w∈n, define a map M: +n→+n as
Mw(z):=min{w,min{Ajz+bj}},
it can be shown that M is a contraction, so that equation (10) can be solved as a fixed-point iteration. Namely, setting
the solution z of equation (10) is obtained as z=lims→cox(s), for any initial condition x0. Note that in equation (10) matrixes Aj and vectors bj depend on subsystem i∈{1,2}. So, for any w∈n and i∈{1,2}, we define map Mw,i:+n→+n as
Mw,i(z):=min{w,min{Ajiz+bji}}.
In the following is described a numerical solving procedure presenting a numerical implementation for solving system (4).
The numerical procedure includes as inputs target states set Γ, target switching gear i1, the maximum number of gear switchings Kmax, and the termination tolerance ε, supplying as output a set of value functions V0, . . . , VK
In steps a)-f) of the above procedure, the value function V0 is computed by a fixed-point iteration with error tolerance ε. In steps g)-o), Vk is computed by contraction. Subsystems (2), (3), alternate until the chosen maximum number of direction or gear switchings Kmax is reached.
Such numerical solving procedure, as indicated with reference to
In the solution of the car maneuvering problem, the optimal trajectory that reaches the target state set Γ may end with either a forward maneuver (i1=1) or with a reverse one (i1=2). Thus, for any initial state x0, it is defined the cost function T*:n→∩{+∞} as
Defining the optimal final condition as i*={i∈{1,2}|T(x0,i)=T*(x0)} and letting {V*,0, . . . , V*,K
The control synthesis procedure includes as inputs the value functions {V*,0, . . . , V*,K
Starting from initial state x0, the proposed procedure performs the synthesis of feedback controls, and returns the vector Ω of controls and the vector of gear switchings I, that allow reaching the target state x1. In loop formed by steps d)-l), the synthesis of feedback controls is obtained by a reiterated Euler integration step until the distance between the current state x and target state x1 is less than the allowed distance tolerance ϵd.
In the internal loop e)-f), the current value function is updated. Note that function interp(V,x) evaluates the value cost function at x as a multi-linear interpolation of the vector V of the values of the cost function on grid vertices.
Basically, steps a)-c) correspond to the initialization of the variables (i.e., the current state x is initialized to the starting state x0, and the number of switchings index k is initialized to the chosen maximum number of switchings Kmax). A position index 1 of the vector Ω of controls and the vector of system switchings I is also set to zero. Then, while the distance between the current state (initially xo) and the next state (initially x1) is lower than the distance tolerance ϵd, it is evaluated if the current value function V*,k,x in the current state is greater than the next value function V*,k−1 in the current state (i.e., with a lower number of switchings k, in particular decreased by one). In the affirmative, the index k of the current value function is decreased by one and the difference with respect to the next value function evaluated. The index k is decreased till the current value function V*′k,x is smaller than the next. Then it is updated the configuration index i according to the current value of k. Then it is found in step h), the control ωj in the finite set of controls which minimizes the current value function, in particular its interpolation on the grid vertex corresponding to the current state. This step determines a control ωj which is introduced in the vector Ω of controls at the current position index l, an associated configuration index i which is introduced in the vector of system configurations I at the current position index l. The state is updated by its finite approximation x=x+hƒ(x,i,ωj*) evaluated from the current state and from the determined control ωj and associated configuration index i.
A value function definition procedure is designated at 100.
A step defining the operating space, or maneuver space, Ω0p, of the vehicle 11 (i.e., the set of the poses (x, y, θ) of the vehicle 11), preferably partitioned as Ωop=Ωfree ∩Ωobst, with Ωfree ∪Ωobst=Ø, is designated at 110, where Ωfree is the free space and Ωobst is the subset of the operating space covered by obstacles.
A step of model definition (i.e., modeling by a system of equations the evolution of the state x(t) of said road vehicle as a function of the set of vehicle controls) is designated at 120. As previously discussed, this is done by a switched system {dot over (x)}(t)=ƒ (x(t),i,u(t)), where equations (2) and (3) define the subsystems switching between a first sub-system if the vehicle 11 is in forward motion and a second sub-system if the vehicle 11 is in reverse or backwards motion.
A step of computing trajectories, where the trajectory of the switched system {dot over (x)}(t) as defined in equations (2), (3) is defined as the solution of equation (4), representing the set of feasible paths or maneuvers from a pose (x, y, θ) associated with a given dynamics function ƒ is designated at 130.
The cost function tc that associates to each initial state x0, initial configuration i0 and control α∈A, is designated at 140 and includes a cost represented by the arrival time in the target state summed to a number of direction changes k(t) of the road vehicle between forward motion and rear motion. The number of direction changes k(t) is multiplied by a penalty factor P (which can take also value one). The cost function is defined as infinite if the solution never reaches the target set Γ for any t>0.
Then, in a step 150 the value function T which represents the minimum value of the cost function with respect to the possible controls α (i.e., the minimum time of arrival on the target Γ) incremented by the product between the number of switchings k(t) is defined and the positive constant represented by the penalty parameter P.
Finally, it is preferably performed a rescaling of the value function T as a rescaled value function V(x0,i), using in particular equation (5) which is called the Kru{circumflex over (z)}kov transformation.
The definition procedure 100, which defines the value function V(x0,i), is followed by a solving procedure 200 of the Hamilton Jacobi Bellman equation with respect to the rescaled value function V(x0,i), which, as described, is preferably the numerical solving procedure described above, which involves obtaining a discrete time Hamilton Jacobi Bellman equation, performing also a discretization of the controls computing a grid on a finite set of vertices S, evaluating said discrete time Hamilton Jacobi Bellman equation on said set of vertices S.
The solving procedure 200 supplies the value functions, preferably the numerically computed value functions {V*,0, . . . , V*,K
In
The step 110 of operative space definition can be performed offline, or it can be performed using information acquired by videocameras 80 on board the vehicle, for instance parking videocameras. Also in this the information regarding the operative space can be acquired by external sources, for instance external videocameras or digital maps.
The penalty parameter P value can be set by the user or by other systems controlling the vehicle 11 in order to adjust the output of the system. This also applies to the maximum number of gear switchings Kmax.
The vector Ω of the controls ω and a vector I of the configuration indexes obtained by the method described, for instance in the microprocessor based module 50, can be used by the same microprocessor based module 50, or by a different module to drive the vehicle automatically during the parking maneuvers.
In variant embodiments, information based on the vector Ω of the controls ω and a vector I of the gear switching indexes obtained by the method described can be supplied as assistance information to a human driver, for instance displaying the value or a graphic representation of the control and/or gear switching to perform on a parking monitor. The controls ω could for instance be represented as a trace on the monitor to follow.
Now, tests performed by the method here described will be discussed.
Referring to the car-like model of
so mat W={−0.183,0.183}.
If x1 is a target state, it is also set the target state set Γ as an ellipsoid centered in target state x1 with semiaxes rx=ry=0.12 m and rθ=0.08.
A grid S with 525231 vertices was used to approximate the operative space Ωop=[−8,23]×[−10,10]×[0,2π), with target state x1=[2,8.5,π], and target configuration i1=1. Note that, by increasing penalty P, the number of gear switchings decreases, while the shape of the path remains approximately the same, until, for high values of penalty parameter P, a single forward maneuver is planned with a significant increase of path length (i.e., arrival time) since the speed is constant.
A similar consideration can be made for the perpendicular parking maneuver scenario of
and configuration i1=1.
Thus, the advantages of the method and system just disclosed are clear.
The method and system described allows finding the optimal solution if the parking problem is feasible, in a deterministic way, which does not depend on random choices.
The method and system described are also general as they also allow to address any parking configuration.
The method and system described have a good human acceptability, since the solution obtained has a good correspondence with the parking maneuver that would be performed by a skilled human driver.
Of course, without prejudice to the principle of the embodiments, the details of construction and the embodiments may vary widely with respect to what has been described and illustrated herein purely by way of example, without thereby departing from the scope of the present embodiments, as defined the ensuing claims.
Number | Date | Country | Kind |
---|---|---|---|
102017000073722 | Jun 2017 | IT | national |
Number | Name | Date | Kind |
---|---|---|---|
9902425 | Singh | Feb 2018 | B2 |
20060111820 | Goetting | May 2006 | A1 |
20100076640 | Maekawa | Mar 2010 | A1 |
20110060703 | Alaniz | Mar 2011 | A1 |
20120072039 | Anderson | Mar 2012 | A1 |
20160202670 | Ansari | Jul 2016 | A1 |
20170015312 | Latotzki | Jan 2017 | A1 |
20170129538 | Stefan | May 2017 | A1 |
Entry |
---|
Search Report for Italian Patent Application No. 201700073722 dated Mar. 8, 2018. (2 Pages). |
Dolcetta, I. Capuzzo, et al., “Optimal Switching for Ordinary Differential Equations,” SIAM J. Control and Optimization, 22(1): 143-161, Jan. 1984. |
Falcone, Maurizio, “Recent Results in the Approximation of Nonlinear Optimal Control Problems,” Large Scale Scientific Computing, I. Lirkov, et al., Eds., pp. 15-32, 2014, Revised Selected Papers from the 9th International Conference, LSSC, Sozopol, Bulgaria, Jun. 3-7, 2013. |
Takei, Ryo, et al., “Optimal Trajectories of Curvature Constrained Motion in the Hamilton-Jacobi Formulation,” J. of Scientific Computing, 54(2-3):622-644, Feb. 1, 2013. (32 Pages). |
Number | Date | Country | |
---|---|---|---|
20190001967 A1 | Jan 2019 | US |