The present disclosure relates to a nonlinear optimization program of a continuous value optimization problem, a route search program, and a route search apparatus.
For example, a driving support device has been developed as a measure to prevent accidents, and in particular, a driving support device has been developed to reduce the driver's burden for driving. It is confirmed by the inventors that when this type of driving support device searches for a route, the position and speed on a route are each defined as a function according to time, and an evaluation function based on the functions corresponding to the position and speed is introduced, so that an optimum route can be searched for by acquiring the position and speed that satisfy an extreme value (for example, a minimum value) of the evaluation function.
The present disclosure provides a program of a continuous value optimization problem, the program relating to an optimization problem and deriving an optimum value, is provided. The program may cause an apparatus to execute repeatedly and alternately procedure comprising: updating a variable of an evaluation function, causing an equality constraint to be gradually approached while searching for a condition at which the evaluation function approaches an extreme value; and updating the variable of the equality constraint, causing a condition at which the evaluation function to become close to the extreme value while keeping the equality constraint satisfied is gradually approached.
The abovementioned object, other objects, features and advantages of the present disclosure will become more apparent from the following detailed description with reference to the accompanying drawings. The drawings are as follows.
A related art discloses a technique minimizing the evaluation function with a constraint condition by dealing with the evaluation function and the constraint condition independently, and separating an updating process of variable for minimizing the evaluation function and an updating process of variable for satisfying the constraint condition, and then alternately executing these two updating processes.
The inventors have found the following. For example, the value of the evaluation function of the route of a movable body (referred to as the evaluation value) can be set according to the position and the speed (for example, the relative position with respect to another vehicle, and the difference between the current speed and the speed limit), and the evaluation function can be expressed by a function with the position x(t) and the speed v(t) as variables. Here, the position x(t) and the speed v(t) have a relation of equality constraint expressed by x(t+1)=x(t)+v(t)·Δt. Routes that do not satisfy the equality constraint may be unrealistic as the route of the movable body, so that it may be necessary to always output a route that satisfies the equality constraint. However, the route search is a real-time process, and it may be assumed that a solution is output before obtainment of an extreme value is completed. For this reason, a method of creating the extreme value that always satisfies the equality constraint may be necessary even in the middle of creation of the extreme value. Although the related art describes a method for the case having equality constraint, the equality constraint may be not be always satisfied during the extreme value creating process.
It may be conceivable to regard the speed v(t) as a function of the position x(t) and to make the evaluation function have an extreme value as a function of the position x(t), but when the evaluation function is expressed only as a function of the position x(t), the optimization processing performed with respect to the absolute position x(t) and the optimization processing performed with respect to the position difference x(t+1) x(t) having temporal change are executed at the same time so that it may be likely that the convergence to the extreme value of the evaluation function will take more time. This type of difficulty may not be limited to the route search processing and occurs in various kinds of difficulties.
The present disclosure provides a nonlinear optimization program of a continuous value optimization problem, a route search program, and a route search apparatus, which can perform high-speed processing while always keeping a given equality constraint satisfied.
According to one aspect of the present disclosure, a search program related to an optimization problem for deriving a variable satisfying a condition that an evaluation function provided with an equality constraint corresponding to the variable approaches an extreme value or an optimum value of an evaluation function is provided. The search program is a program that executes processing by preparing a variable of the evaluation function separated independently from a variable of the equality constraint, and using an additional equality constraint that makes the variable of the evaluation function and the variable of the equality constraint to agree with each other when applying a Lagrange multiplier method with equality constraint by using a Lagrange multiplier for an evaluation function.
According to the present disclosure, the optimization apparatus is made to execute alternately and repeatedly a procedure for updating a variable of the evaluation function so that the equality constraint is gradually approached while searching for a condition that makes the evaluation function close to an extreme value, and a procedure of updating a variable of the equality constraint so that a condition that makes the evaluation function close to the extreme value while keeping the equality constraint satisfied is gradually approached. In this manner, it may be possible to process the optimum control at high speed while the variable of the equality constraint always satisfies the equality constraint.
Hereinafter, an embodiment of a nonlinear optimization program of a continuous value optimization problem, a route search program, and a route search apparatus of the present disclosure will be described with reference to the drawings. As shown in
The route search apparatus 1 is also configured as an optimization apparatus that optimizes a route through which a movable body passes an optimum position at a future time. The controller 2 is configured by using a microcomputer 9 in which a CPU 6, a memory 7 composed of a ROM, a RAM, a nonvolatile memory, etc., and an input/output interface (I/O) 8 are connected by a bus, and an optimization program related to the optimization problem is stored in the memory 7.
As functions achieved by the controller 2 executing the optimization program, functions as an evaluation function updating section 10, an equality constraint variable updating section 11, and a route search section 12 can be mentioned, as shown in
The microcomputer 9 executes various processes by executing the optimization program stored in the memory 7 as a non-transitional substantive recording medium (also referred to as a computer-readable non-transitory storage medium), and derives and outputs a variable (position variable xiα, and speed variable via to be described later) satisfying a condition that the evaluation function, that is, H({xia, via}) to be described later approaches the extreme value, or an optimum value of the evaluation function.
The position detector 3 detects information on the current position using, for example, a global positioning system (GPS) or the like and outputs the information to the controller 2. The speed sensor 4 detects the moving speed of a movable body (for example, a car) C and outputs the information to the controller 2. The map information acquisition portion 5 acquires map information stored in advance in a predetermined storage device (for example, HDD) or map information from an external map server (not shown). In other words, the map information acquisition portion 5 may read the map information stored in the storage device or the external map server and may output the read map information to the controller 2.
This model predictive control is a technique for performing future prediction, and is a technique for performing optimum control over a certain period including the future, and updating these optimum controls at predetermined time intervals (for example, t=0 to T). The route search apparatus 1 derives an optimum traveling route of the movable body C in a certain period including the future by using the model predictive control technique and can support driving to guide the movable body to a predetermined space without colliding with the obstacle Ob1 or Ob2.
When performing route search processing while avoiding collision with the obstacle Ob1 or Ob2, the controller 2 determines the optimum movement position L1 at time t1 by deriving the optimum route Ro0 of the movable body C combining the positions L1, L2, L3, L4, L5, and L6 from the current time t0 to the future times t1 to t6 as shown in the bird's-eye view at time t0 in
[Equation 1]
x(t+1)=x(t)+v(t)·Δt (1)
Here, x(t) represents the position of the movable body. The v(t) represents the speed of the movable body. This is an equality constraint derived considering the route along which the movable body can actually travel. If the solution output during the route search processing does not satisfy the equality constraint, a route which is physically impracticable is output. Therefore, it may be preferable to calculate the optimum route so as to satisfy the equality constraint of equation (1). Now, the evaluation function of the route search can be generally expressed as a function of the position variable x(t) and the speed variable v(t) as shown in the following equation (2).
The traveling route of its own movable body (hereinafter, referred to as subject car assuming that the movable body is a car) C1 shown in
As shown in
At this time, if the subject car C1 changes the lane from the driving lane R1 to the overtaking lane R2, there is a possibility of collision. Therefore, it may be preferable for the controller 2 of the route search apparatus 1 mounted on the subject car C1 to predict the traveling route of the different car C3, and to search for the route Ra for the lane change from the driving lane R1 to the overtaking lane R2 as the optimum route after confirming the fast different car C3 has overtaken the subject car C1 as shown in
Here, the first suffix such as “1”, “2” . . . or “i” assigned to position variables x11 and x12, speed variables v11 and v12, etc. for example is an identification code for discriminating the subject car C1 from the different cars C2 and C3, and also identifying the different cars C2 and C3 located around the subject car C1 in particular. In this equation (3), this suffix “1” is used as the identification code corresponding to the subject car C1, and the suffixes “2” to “i” are the identification codes corresponding to the different cars C2 and C3.
The second suffix “1” or “2” assigned to the position variables x11 and x12, the speed variables v11 and v12, etc. indicates the axes of the dimension, and is an identification code indicating whether the axis is x coordinate or y coordinate for example. In the present embodiment, since it is assumed that route search processing is performed with a maximally two-dimensional bird's-eye view, “1” is taken as the x coordinate and “2” is taken as the y coordinate in this equation (3).
For simplicity of description, the processing is shown two-dimensionally, but may be considered in three or more dimensions. Also, in the position variables x11(0), x11(1) . . . x11(T) and the like, the numeral “0” in parentheses indicates a current time point, and the numerals “1, 2, . . . , T” represent the time points in the future relative to the current time point. That is, xiα(t) represents the a-th position variable of the vehicle i at time t, and viα(t) represents the α-th speed variable of the vehicle i at time t.
An equation made by generalizing equation (2) indicating the evaluation function and equation (1) indicating the equality constraint, and applying the determinant (3) thereto can be shown as equation (4).
Here, the coefficient matrix W can be expressed by equation (5-1), the position variable matrix xiα can be expressed by equation (5-2), the speed variable matrix viα, between the times 0 and T can be expressed by equation (5-3), and the speed variable matrix viα̂*(−) between times 0 and T−1 is defined as in equation (5-4).
The equality constraint viα{circumflex over ( )}(−)=Wxiα in the above-described equation (4) means defining time change of the position variable viα, for example, from the current time (for example, 0) to the next time (for example, 1) as a speed variable viα, and equation (4) shows that the position variable matrix xiα and the speed variable matrix viα that minimize the evaluation function H based on this equality constraint are output.
Lagrange multiplier method is applied to deal with such optimization problem. Variables (piα, qiα) of the evaluation function H independently separated from the variables (xiα, viα) of the equality constraint are also prepared, and the equality constraint (corresponding to an additional equality constraint) to make variables (piα, qiα) of the evaluation function and variables of the equality constraint (xiα, viα) agree with each other is added. That is, a pair of variables p and q related to the evaluation function H, the position variable xiα and the speed variable viα related to the equality constraint are replaced as separate variables, and an equality constraint condition making these variables coincide with each other respectively is prepared.
When applying the Lagrange multiplier method to the evaluation function H with equality constraint in equation (4), the evaluation function can be expressed as in equation (6).
In equation (6), N represents the number of vehicles including the subject car C1 and the different cars C2 and C3, and M represents the dimension number (for example, 2). Here, λiα indicates a Lagrange multiplier matrix and can be shown by the following equation (7).
Further, when the position variable matrix xiα and the speed variable matrix viα which are variables of the evaluation function H and the position variable matrix xiα, and the speed variable matrix viα which are variables of the equality constraint term are separated, and the equality constraint in which the separated pair of variables agree with each other is added, the following equation (8) can be expressed.
Here, a pair of variable matrixes piα and qiα are newly introduced variables, and the equality constraint first equation of equation (8) shows that the variable matrix piα agrees with the position variable matrix xiα, and the equality constraint second equation shows that the variable matrix qiα, agrees with the speed variable matrix viα.
Various methods can be conceived as methods for solving the optimization problem with equality constraint, but the inventors have derived an idea that it may be preferable to further treat the added equality constraint with the augmented Lagrange method. When the augmented Lagrange method is applied to equation (8), the equation can be expressed as the following equation (9).
The second term and the third term of equation (9) represent mathematical equation expansion using the augmented Lagrange method with respect to xiα−piα=0 of the equality constraint first equation in equation (8), and the fourth term and the fifth term of equation (9) represent mathematical equation expansion using the augmented Lagrange method with respect to viα−qiα=0 of the equality constraint second equation in equation (8). The second term to fifth term of equation (9) are terms that are provided for gradually approaching the equality constraint first and second equations of equation (8) which is a new equality constraint, and ρx and ρv detects deviations from the new equality constraint and updates the augmented Lagrange multiplier matrixes and θx,iα and θv,iα to make the matrixes approach new equality constraint. As a result, the evaluation function H can be minimized while keeping new equality constraint satisfied. This detailed description will be made later. In Equation (9), the augmented Lagrange multiplier matrixes θx,iα and θv,iα can be expressed as the following equations (10-1) and (10-2).
The detailed description of the solving method of the optimization problem related to this route search processing will be made below with reference to the drawings of
As shown in
By regularly updating these pieces of information at any time, the controller 2 accumulates, as initial values, past history information on the position variable xiα and the speed variable v of the subject car C1 and the different cars C2 and C3 at times 0 to T. As a result, past history information on the position variable xiα and the speed variable viα of the subject car C1 and the different cars C2 and C3 at times 0 to T can be accumulated as initial values, as shown in equation (3).
Using these pieces of information, the controller 2 updates a pair of values (piα, qiα) in equation (9) at S2 in
Hereinafter, the auxiliary function method will be briefly described. A detailed image of the auxiliary function method is shown in
In these equations (11-1) and (11-2), L represents the Lipschitz constant, and x{circumflex over ( )}* represents the current solution candidate of the variable x. When the right side of equation (11-2) is differentiated, equation (12) can be derived.
At this time, substituting the solution candidate x{circumflex over ( )}* for the variable x can make the second term of equation (12) zero, and the differential value in the current solution candidate x{circumflex over ( )}* becomes equal to the first term on the right side of equation (12). The first term on the right side of equation (12) agrees with the partial differential value a fmej (x{circumflex over ( )}*)/∂x of the evaluation function fmej at the solution candidate x{circumflex over ( )}*. Also, this quadratic function ff is a value greater than the evaluation value fmej (x,) of the evaluation function fmej with all the variables x, including the solution candidate x{circumflex over ( )}*. It is may be a preferable method to obtain the extreme value of the evaluation function fmej using such a quadratic function ff.
As shown in equation (11-2), by repeatedly deriving the solution candidate xz, when the current solution candidate is assumed to be xa, the quadratic function ff1 is searched for first, and a solution that satisfies the extreme value of the quadratic function ff1 is taken as a next solution candidate xb, and then a quadratic function ff2 is again searched for with respect to this next solution candidate xb so that a solution satisfying the extreme value of the quadratic function ff2 is updated to become a solution candidate xc, as shown in
Applying such an auxiliary function method to the evaluation function H({piα, qiα,}) of equation (9) and replacing the function with a quadratic function gives the following equations (13-1) and (14-1).
Equation (13-1) shows a mathematical equation made by applying the auxiliary function method when minimizing p in equation (9), and ˜piα(t) in equation (13-2) indicates the next solution candidates of piα. Equation (14-1) shows a mathematical equation to which the auxiliary function method is applied when minimizing qiα in equation (9), and ˜qiα(t) in equation (14-2) indicates the next solution candidate of qiα. By sequentially updating these solution candidates ˜piα(t) and ˜qiα(t), and repeating the update predetermined number of times for example, a pair of values (˜piα, ˜qiα) satisfying the condition that the evaluation function H({piα, qiα}) is minimized, can be updated.
Next, using the updated pair of variables (piα, qiα), the controller 2 updates the position variable and the speed variable (xiα, viα) in equation (9) at S3 in
Next, the Lagrange multiplier λiα included in equations (15-1) and (15-2) is derived. By deriving the Lagrange multiplier λiα that satisfies the original equality constraint viαx{circumflex over ( )}(−)=Wxiα shown in equation (4), the equation can be developed as shown in equation (16).
Therefore, by substituting the equation (16) into equations (15-1) and (15-2), the update solutions (˜xiα, ˜viα) can be derived as shown in equations (17-1) and (17-2).
Since the original equality constraint viαx{circumflex over ( )}(−)=Wxiα shown in equation (4) is kept satisfied, the update solution (˜xiα, ˜viα) can be updated so as to always keep the original equality constraint satisfied.
Next, after calculating these update solutions (˜xiα, ˜viα) and (˜piα, ˜qiα), the controller 2 derives update solutions (˜θx,iα, ˜θv,iα) by using these update solutions at S4 in
[Equation 18]
{tilde over (θ)}x,iα=θx,iα*+ρx({tilde over (x)}iα−{tilde over (p)}iα) (18-1)
{tilde over (θ)}v,iα=θv,iα*+ρv({tilde over (v)}iα−{tilde over (q)}iα) (18-2)
As described above, the update solutions (˜xiα, 18 viα) and (˜piα, ˜qiα) are calculated and these update solutions (˜xiα, ˜viα) and (˜piα, ˜qiα) are updated as needed so as to satisfy the additional equality constraint, but there is a deviation in these update solutions. Therefore, it may be preferable to update the augmented Lagrange undetermined variables (θx, θv) so as to approach the additional equality constraints, by introducing constants (ρx, ρv) for detecting deviations of variables (piα, qiα) of the evaluation function and variables (xiα, viα) of the equality constraint from the additional equality constraint, and deriving the variables as shown in equations (18-1) and (18-2). This makes it possible to correct deviation as much as possible.
The controller 2 repeats these processes from S2 to S4 in
When the predetermined end condition is satisfied, the controller 2 outputs the position variable and the speed variable (xiα, viα). As a result, the optimum value of the route according to the optimum position variable x and the speed variable v of the subject car Cl in the future can be searched for. In this case, the optimum value of the speed variable v need not be derived. As a result, the position variable x and the speed variable v of each of movable bodies C1, C2 and C3 at the future time can be estimated and output as solutions, and the route corresponding to the position variable can be searched out as an optimum route. In addition, since the position variable and the speed variable (xiα, viα) are updated so as to always satisfy the equality constraint, and even if the process is ended in the middle of the extreme value creating process described above and the position variable and the speed variable (xiα, viα) are output as a solution, the variable value actually practicable by the movable body can be output, and the unrealistic variable value, that is, an unrealistic route is not outputted. The process of S6 and the position variable xiα correspond to the optimum route search processing by the route search section 12.
The subject car C1 (also referred to as a subject vehicle) may include a vehicle control apparatus for control the subject car C1 by controlling power and steering force of the subject car C1. The vehicle control apparatus may receive the output from the controller 2 such as the position variable and the speed variable (xiα, viα). Thereby, based on the output, the vehicle control apparatus drives a steering wheel actuator for steering a steering wheel of the subject car C1, an accelerator actuator for driving an accelerator pedal of the subject car C1, and a brake actuator for driving a brake pedal of the subject car C1, so that a driving support is achieved. Herein, for example, the vehicle control apparatus may be configured by a microcontroller having a CPU (central processing unit), a ROM (read only memory), a RAM (random access memory), and an I/O device (input-and-output device). A part or all of the vehicle control apparatus may be configured by hardware such as ASIC (application specific integrated circuit) or FPGA (field programmable gate array). Further, the controller 2 and the vehicle control apparatus may be an integrated body or may be a separated body.
The features of the present embodiment are conceptually summarized.
According to the present embodiment, a procedure for updating the variables piα, and qiα, of the evaluation function H({xiα, viα}) so that the equality constraint is gradually approached while searching for a condition to make the evaluation function H({xiα, viα}) close to the extreme value, and a procedure for updating the variable of the equality constraint such that a condition to make the evaluation function H({xiα, viα}) approach the extreme value while keeping the equality constraint satisfied is gradually approached are repeatedly executed alternately. In this manner, the optimum control at high speed can be processed while the variable of the equality constraint always satisfies the equality constraint. Also, a procedure for updating the variables xiα, and viα, of the equality constraint are repeatedly executed by using the Lagrange multiplier λ to satisfy the additional equality constraint that makes the variables piα and qiα of the evaluation function H({xiα, viα}) and the variables xiα and viα of the equality constraint coincide with each other. Thus, the optimum control can be processed at high speed.
In particular, when the method is applied to the route search processing, the updating process by the evaluation function updating section 10 and the updating process by the equality constraint variable updating section 11 are iterated and a route corresponding to the position variable xiα obtained by satisfying the predetermined end condition is searched for as an optimum route. Thus, the optimum route can be searched out. In addition, since the position variable and the speed variable (xiα, viα) always satisfy the equality constraint, even if the processing is ended in the middle of the extreme value creating processing and the solutions of the position variable and the speed variable (xiα, viα) are output, a variable value practicable by the movable body in a realistic way can be output as a solution and a solution of unrealistic variable values or routes are not output.
When the augmented Lagrange method using the augmented Lagrange multipliers (θx, θv) and constant (ρx, ρv) for detecting the deviation of the variable (p, q) of the evaluation function H and the variable (x, v) of the equality constraint from the additional equality constraint is adapted for calculation, the augmented Lagrange multipliers (θx, θv) is updated after the variables (p, q) of the evaluation function H and the variables (x, v) of the equality constraint are updated. This makes it possible to correct the deviation.
(Other Embodiment)
The present disclosure is not limited to the above-described embodiments, and can be modified or expanded as follows.
In the above embodiment, a mode of outputting the optimum values of the position variable xiα, and the speed variable viα, as solutions is described, but the evaluation value corresponding to the position variable and the speed variable viα, that is, the evaluation value made by substituting the variable xi to be outputted as a solution into the evaluation function H may be output as the solution. A mode in which the equality constraint with the position variable and the speed variable (xiα, viα) as variables is applied, but the mode can be applied to a generalized nonlinear optimization process of a continuous value optimization problem. Although the mode in which an absolute minimum value and a local minimum value are applied as extreme values is shown, the embodiment can also be applied to the case where the absolute maximum value and the local maximum value are applied as extreme values.
In the drawings, reference numeral 1 denotes a driving support device as a route search apparatus and an optimization apparatus, reference numeral 2 denotes an evaluation function updating section, an equality constraint variable updating section, a route search section, an augmented Lagrange multiplier updating section, and an extreme value creating section executed by a controller, reference numeral 10 denotes the evaluation function updating section, reference numeral 11 denotes the equality constraint variable updating section, and reference numeral 12 denotes the route search section.
It is noted that a flowchart or the processing of the flowchart in the present application includes multiple steps (also referred to as sections), each of which is represented, for instance, as S1. Further, each step can be divided into several sub-steps while several steps can be combined into a single step.
Controllers and methods described in the present disclosure may be implemented by a special purpose computer created by configuring a memory and a processor programmed to execute one or more particular functions embodied in computer programs. Alternatively, the control units, the controllers and the methods described in the present disclosure may be implemented by a special purpose computer created by configuring a processor provided by one or more special purpose hardware logic circuits. Further alternatively, the control units, the controllers and the methods described in the present disclosure may be implemented by one or more special purpose computers created by configuring a combination of a memory and a processor programmed to execute one or more particular functions and a processor provided by one or more hardware logic circuits. The computer programs may be stored, as instructions being executed by a computer, in a tangible non-transitory computer-readable medium.
While various embodiments, configurations, and aspects of a nonlinear optimization program of continuous value optimization problem, a route search program, and route search apparatus according to the present disclosure have been exemplified, the embodiments, configurations, and aspects of the present disclosure are not limited to those described above. For example, embodiments, configurations, and aspects obtained from an appropriate combination of technical elements disclosed in different embodiments, configurations, and aspects are also included within the scope of the embodiments, configurations, and aspects of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2016-231278 | Nov 2016 | JP | national |
The present application is a continuation-in-part of International Patent Application No. PCT/JP2017/032850 filed on Sep. 12, 2017, which designated the U.S. and claims the benefit of priority from Japanese Patent Application No. 2016-231278 filed on Nov. 29, 2016. The entire disclosures of all of the above applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2017/032850 | Sep 2017 | US |
Child | 16391467 | US |