Title:
Model predictive control apparatus
Document Type and Number:
United States Patent 7418372

Abstract:
A model predictive control apparatus includes an initial solution generation section, an abnormality handling section, and an objective function adjustment section. The abnormality handling section performs initial solution generation when it is determined that performed optimization is abnormal. The initial solution generation section generates an initial optimal value of a future time series control input in accordance with an initial objective function, without reference to a candidate value of the time series control input. The objective function adjustment section adjusts the current objective function so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current objective function is different from the normal objective function.

Inventors:
Nishira, Hikaru (Yokohama, JP)
Kawabe, Taketoshi (Fukuoka, JP)
      Plaque It!

Sponsored by:
Flash of Genius
Application Number:
11/128271
Publication Date:
08/26/2008
Filing Date:
05/13/2005
View Patent Images:
Images are available in PDF form when logged in. To view PDFs, Login  or  Create Account (Free!)
Assignee:
Nissan Motor Co., Ltd. (Yokohama-shi, JP)
Primary Class:
Other Classes:
701/96, 700/44, 703/8, 701/301, 706/21, 703/2
International Classes:
G06F17/10
Field of Search:
701/117, 701/96, 700/44, 703/8, 701/301, 706/21, 700/28-31, 703/2
US Patent References:
5424942Extended horizon adaptive block predictive controller with an efficient prediction systemJune, 1995Dong et al.700/44
6330507Automatic vehicular velocity control apparatus for automotive vehicleDecember, 2001Adachi et al.
6865562Adaptive constraint problem solving method and systemMarch, 2005Fromherz et al.706/14
6912515Method and system for algorithm synthesis in problem solvingJune, 2005Jackson et al.706/19
6934931System and method for enterprise modeling, optimization and controlAugust, 2005Plumer et al.717/104
7089220Complexity-directed cooperative problem solvingAugust, 2006Fromherz et al.706/45
7089221Feedback control of problem solvingAugust, 2006Fromherz et al.706/46
Foreign References:
JP7191709July, 1995
JP2000135934May, 2000PRECEDING VEHICLE FOLLOWING CONTROLLER
Other References:
Payton et al., D. Intelligent Real-Time Control of Robotic Vehicles, Communications of the ACM, Aug. 1991, pp. 48-63.
Gao et al., J. Performance Evaluation of Two Industrial MPC Controllers, Control Engineering Practice, vol. 1, Dec. 2003, pp. 1371-1387.
Gu et al., D. Neural Predictive Control for a Car-Like Mobile Robot, Robotics and Autonomous Systems, vol. 39, May 2002, pp. 73-86.
Onnen et al., C. Genetic Algorithms for Optimization in Predictive Control, Control Engineering Practice, vol. 5, Oct. 1997, pp. 1363-1372.
Toshiyuki Ohtsuka, “Continuation/GMRES Method for Fast Algorithm of Nonlinear Receding Horizon Control,” Proc. 39th IEEE Conference on Decision and Control, pp. 766-771, 2000.
Primary Examiner:
Frejd, Russell
Attorney, Agent or Firm:
Foley & Lardner LLP
Claims:
What is claimed is:

1. A model predictive control apparatus comprising: a sensing section configured to measure a state of a physical system; and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, the control unit comprising: a system behavior prediction section configured to perform the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; an objective function reference section configured to perform the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; an initial solution generation section configured to perform the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; an optimization section configured to perform the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; an abnormality handling section configured to perform the following: determining whether or not the performed optimization in the optimization section is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; an objective function adjustment section configured to perform the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and an output section configured to perform the following: determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

2. The model predictive control apparatus as claimed in claim 1, wherein the optimization section is configured to set the next candidate value of the time series control input to the optimal value of the time series control input.

3. The model predictive control apparatus as claimed in claim 1, wherein the adjusted current objective function is a weighted average of the initial objective function and the normal objective function, and wherein the objective function adjustment section is configured to perform the following when it is determined that the current function definition data value is different from the normal function definition data value: adjusting the current function definition data value so that the weights for the initial objective function and the normal objective function in the adjusted current objective function vary stepwise with time, and so that the current objective function varies stepwise with time toward the normal objective function.

4. The model predictive control apparatus as claimed in claim 1, wherein the adjusted current objective function is a weighted average of the current objective function and the normal objective function so that the current objective function varies stepwise with time toward the normal objective function.

5. The model predictive control apparatus as claimed in claim 1, wherein the abnormality handling section is configured to adjust the current function definition data value so that a current value of a length of the prediction horizon decreases from a normal value of a length of the prediction horizon so that the optimization is held normal, when it is determined that the performed optimization is abnormal.

6. The model predictive control apparatus as claimed in claim 5, wherein objective function adjustment section is configured to adjust the current function definition data value so that the current value of the prediction horizon length varies stepwise with time toward the normal value of the prediction horizon length, when the current value of the prediction horizon length is different from the normal value of the prediction horizon length.

7. The model predictive control apparatus as claimed in claim 1, wherein the initial objective function is configured to take less calculation cost to generate the optimal value of the time series control input without reference to the candidate value of the time series control input than the normal objective function.

8. The model predictive control apparatus as claimed in claim 1, wherein the normal objective function is a weighted sum of a plurality of functions, and wherein the initial objective function is a weighted sum of part of the plurality of functions.

9. The model predictive control apparatus as claimed in claim 1, wherein the initial solution generation section is configured to perform the following: providing an explicit function definition data value defining an explicit function to provide the optimal value of the time series control input in accordance with the initial objective function; and calculating the optimal value of the time series control input in accordance with the explicit function definition data value when it is determined that the current function definition data value is identical to the initial function definition data value.

10. The model predictive control apparatus as claimed in claim 1, wherein the initial solution generation section is configured to perform the following: providing a set of multiple optimal values of the time series control input with respect to multiple hypothetical values of the system state in accordance with the initial objective function; and determining the optimal value of the time series control input in accordance with the provided set of multiple optimal values of the time series control input.

11. The model predictive control apparatus as claimed in claim 1, wherein the abnormality handling section is configured to determine that the performed optimization is abnormal when the optimal value of the time series control input correction includes a value of the control input correction whose magnitude is larger than a certain threshold value.

12. The model predictive control apparatus as claimed in claim 1, wherein the abnormality handling section is configured to determine that the performed optimization is abnormal when the optimal value of the time series control input includes a value of an element of the control input which is out of certain associated bounds.

13. The model predictive control apparatus as claimed in claim 1, wherein the optimization section is configured to calculate the optimal value of the future time series control input correction by iterative calculations the number of which is bounded by a certain upper bound; and wherein the abnormality handling section is configured to perform the following: determining a degree of error of the performed optimization; and determining that the performed optimization is abnormal when the error degree is at or above a certain threshold level.

14. The model predictive control apparatus as claimed in claim 1, wherein the system behavior prediction section is configured to perform the following: providing a time series of the measured system state; and predicting the future time series system state in accordance with the time series measured system state, and the time series control input.

15. The model predictive control apparatus as claimed in claim 1, wherein the system state includes a position of a movable object and a velocity of the movable object, and wherein the control input includes a physical quantity to generate an acceleration of the movable object to change the position and velocity of the movable object.

16. A model predictive control apparatus for a host automotive vehicle, comprising: a sensing section configured to detect a target vehicle present around the host vehicle, and to measure a state of a physical system including the host vehicle and the target vehicle; and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, the control unit comprising: a system behavior prediction section configured to perform the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the host vehicle over a control horizon of time; an objective function reference section configured to perform the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; an initial solution generation section configured to perform the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; an optimization section configured to perform the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; an abnormality handling section configured to perform the following: determining whether or not the performed optimization in the optimization section is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; an objective function adjustment section configured to perform the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and an output section configured to perform the following: determining a recommended value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the recommended value of the control input.

17. The model predictive control apparatus as claimed in claim 16, wherein the abnormality handling section is configured to perform the following: determining a degree of risk of contact between the host vehicle and the target vehicle in accordance with the system state; and determining that the performed optimization is abnormal when the optimal predicted value of the time series system state includes an abnormal future value of the system state whose risk degree is at or above a certain threshold level.

18. The model predictive control apparatus as claimed in claim 17, wherein the abnormality handling section is configured to perform the following when the optimal predicted value of the time series system state includes the abnormal future value of the system state whose risk degree is at or above the threshold level: determining a provisional desired normal future value of the system state at a future time at which the system state is predicted to be the abnormal future value; reducing a current value of a length of the prediction horizon from a normal value of the prediction horizon length so that the future time is an end point of the prediction horizon; and adjusting the initial function definition data value so that the optimal predicted value of the time series system state in accordance with the initial objective function includes the provisional desired normal future value of the system state at the future time.

19. The model predictive control apparatus as claimed in claim 17, wherein the abnormality handling section is configured to perform the following when the optimal predicted value of the future time series system state includes the abnormal future value of the system state in which the host vehicle is beyond the lane end point: determining a provisional desired normal future value of the system state at a future time at which the system state is predicted to be the abnormal future value; reducing a current value of a length of the prediction horizon from a normal value of the prediction horizon length so that the future time is an end point of the prediction horizon; and adjusting the initial function definition data value so that the optimal predicted value of the time series system state in accordance with the initial objective function includes the provisional desired normal future value of the system state at the future time.

20. The model predictive control apparatus as claimed in claim 16, wherein the sensing section is configured to detect forward lane reduction of a road on which the host vehicle is traveling, and wherein the abnormality handling section is configured to perform the following: identifying a lane end point when forward lane reduction of the road is detected; and determining that the performed optimization is abnormal when the optimal predicted value of the future time series system state includes an abnormal future value of the system state in which the host vehicle is beyond the lane end point.

21. The model predictive control apparatus as claimed in claim 16, wherein the system behavior prediction section is configured to perform the following: providing a time series of the measured system state; and predicting a future time series state of the target vehicle as part of the future time series system state in accordance with the time series measured system state.

22. The model predictive control apparatus as claimed in claim 16, further comprising a control-command input device disposed in the host vehicle, and manually operable to input the setpoint of the system state.

23. The model predictive control apparatus as claimed in claim 16, further comprising a wheel torque actuator configured to adjust a wheel torque of the host vehicle as part of the control input in accordance with the output signal.

24. The model predictive control apparatus as claimed in claim 16, further comprising a display disposed in the host vehicle, and configured to display information concerning the current recommended control input value in accordance with the output signal.

25. A model predictive control apparatus comprising: sensing means for measuring a state of a physical system; and control means for receiving a sensing signal indicative of the measured system state, the control means comprising: system behavior prediction means for performing the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; objective function reference means for performing the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; initial solution generation means for performing the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; optimization means for performing the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; abnormality handling means for performing the following: determining whether or not the performed optimization in the optimization means is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; objective function adjustment means for performing the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and output means for performing the following: determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

26. A method of controlling a model predictive control apparatus including a sensing section configured to measure a state of a physical system, and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, the method comprising: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; providing a current value of the function definition data defining a current objective function; setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; setting the next candidate value of the time series control input to the initial optimal value of the time series control input; calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; setting the next candidate value of the time series control input; determining whether or not the performed optimization is abnormal; performing the initial optimal value generation when it is determined that the performed optimization is abnormal; comparing the current function definition data value with the normal function definition data value; adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

Description:

BACKGROUND OF THE INVENTION

The present invention relates generally to model predictive control apparatus, and more particularly to model predictive control apparatus for automotive vehicles which predicts future dynamic behaviors of the host vehicle and target vehicles around the host vehicle, and optimizes a control input to the host vehicle in accordance with the prediction.

In recent years, there have been proposed and disclosed various model predictive control (MPC, or model-based predictive control (MPDC)) systems. In general, a model predictive control method is configured to predict a time series of a state of a system in accordance with a mathematical model of the system, to define an objective function to numerically evaluate the predicted time series system state and a future time series of a control input to force the system state to track its setpoint, to calculate an optimal value of a future time series of the control input which minimizes the objective function, and to input the calculated optimal value of the control input to the system.

A Published Japanese Patent Application No. H7(1995)-191709 (hereinafter referred to as “H7-191709”) shows a parameter setting method for the model predictive control. The method disclosed in H7-191709 is configured to check the condition numbers of matrices whose inverse matrices are calculated and used in its computational process, when parameters of a model predictive control system are changed, and to adjust a weight for a control input in an associated objective function so that the condition numbers are held within predetermined bounds. Incidentally, the condition number of a matrix A is the ratio of its maximum singular value to its minimum singular value. The condition number is a measure of the sensitivity of solution of Ax=b to perturbations of A or b (x and b are vectors). In other words, the condition number is a measure of the numerical accuracy of its inverse matrix A −1 . In general, with increasing condition number of a matrix, the numerical accuracy of its inverse matrix decreases so that it becomes more difficult to accurately calculate its inverse matrix. Thus, the method disclosed in H7-191709 has intention to prevent the control input from violating its constraints due to computational errors or computational abnormality, monitoring the condition numbers of the matrices concerned. When there is a possibility that a large condition number adversely affects the control computation, the method increases the weights for the control input in the objective function to equivalently reduce the condition number, and to hold the stability of the control computation.

A Published Japanese Patent Application No. 2000-135934 shows an automatic vehicular velocity control apparatus for automotive vehicle, which has intention to follow up a preceding vehicle which is running ahead of the vehicle at an appropriate inter-vehicle distance when the preceding vehicle has been recognized. In addition, a reference “T. Ohtsuka, “Continuation/GMRES method for fast algorithm of nonlinear receding horizon control” Proc. 39th IEEE Conference on Decision and Control, pp. 766-771, 2000” shows an algorithm for model predictive control in which the control input to a system is updated by a differential equation to trace the solution of an associated two-point boundary-value problem.

SUMMARY OF THE INVENTION

In a model predictive control method, its prediction inaccuracy adversely affects its control performance, because the current value of a control input to a system is determined in accordance with a predicted value of future time series system state as mentioned above. In general, a model predictive control method is configured to use the immediately preceding optimal solution calculated in the immediately preceding control cycle, for example, is configured to provide an objective function including a term whose value increases with increasing differential between the current optimal solution and the immediately preceding optimal solution, so as to reduce the optimal solution differential. In some model predictive control systems, however, it is possible that the control input is desired to largely change from the immediately preceding control input, for some reasons, for example, for reasons of an increase in prediction inaccuracy. In such a situation, it is possible that the numerical condition of the control computation varies adversely. The method disclosed in H7-191709 is configured to increase the weight for the term concerning the control input differential in order to improve the numerical condition. However, this operation also tends to reduce the control input change so that it is possible that the response to a fast change in the situation is delayed. In a case the model predictive control is applied to a driver support apparatus of an automotive vehicle, it is possible that its delayed response to the situation change has a significant problem. For example, in a situation in which an automotive vehicle is performing merging or lane change, which are unique to driving an automotive vehicle, it is desired to quickly respond to the situation change. In that situation, it is possible that the response of the above-mentioned method of improving the numerical condition is delayed. As mentioned above, the method disclosed in H7-191709 is configured to reduce the control input change in order to improve the numerical condition in some situations. Therefore, it is possible that the control input is not controlled as desired in a case the response to the situation change is desired to be quick.

Accordingly, it is an object of the present invention to provide a model predictive control apparatus capable of quickly responding to a change in an environmental situation in accordance with prediction of a target system.

According to one aspect of the present invention, a model predictive control apparatus comprises: a sensing section configured to measure a state of a physical system; and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, the control unit comprising: a system behavior prediction section configured to perform the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; an objective function reference section configured to perform the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; an initial solution generation section configured to perform the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; an optimization section configured to perform the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; an abnormality handling section configured to perform the following: determining whether or not the performed optimization in the optimization section is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; an objective function adjustment section configured to perform the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and an output section configured to perform the following: determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

According to another aspect of the invention, a model predictive control apparatus for a host automotive vehicle, comprises: a sensing section configured to detect a target vehicle present around the host vehicle, and to measure a state of a physical system including the host vehicle and the target vehicle; and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, the control unit comprising: a system behavior prediction section configured to perform the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the host vehicle over a control horizon of time; an objective function reference section configured to perform the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; an initial solution generation section configured to perform the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; an optimization section configured to perform the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; an abnormality handling section configured to perform the following: determining whether or not the performed optimization in the optimization section is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; an objective function adjustment section configured to perform the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and an output section configured to perform the following: determining a recommended value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the recommended value of the control input.

According to a further aspect of the invention, a model predictive control apparatus comprises: sensing means for measuring a state of a physical system; and control means for receiving a sensing signal indicative of the measured system state, the control means comprising: system behavior prediction means for performing the following: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; objective function reference means for performing the following: providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; and providing a current value of the function definition data defining a current objective function; initial solution generation means for performing the following: setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; and setting the next candidate value of the time series control input to the initial optimal value of the time series control input; optimization means for performing the following: calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; and setting the next candidate value of the time series control input; abnormality handling means for performing the following: determining whether or not the performed optimization in the optimization means is abnormal; and performing the initial solution generation when it is determined that the performed optimization is abnormal; objective function adjustment means for performing the following: comparing the current function definition data value with the normal function definition data value; and adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; and output means for performing the following: determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

According to a still further aspect of the invention, a method of controlling a model predictive control apparatus including a sensing section configured to measure a state of a physical system, and a control unit connected electrically to the sensing section for receiving a sensing signal indicative of the measured system state, comprises: predicting a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time; providing a normal value of function definition data defining a normal objective function, the function definition data defining an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a time series of a setpoint of the system state over the prediction horizon; providing an initial value of the function definition data defining an initial objective function; providing a current value of the function definition data defining a current objective function; setting the current function definition data value to the initial function definition data value; generating an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input; setting an optimal value of the time series control input to the initial optimal value of the time series control input; setting the next candidate value of the time series control input to the initial optimal value of the time series control input; calculating an optimal value of a time series control input correction over the control horizon in accordance with the current function definition data value, and the candidate value of the time series control input, the control input correction being a differential between the control input and the candidate control input value; setting the optimal value of the time series control input to a sum of the candidate value of the time series control input and the optimal value of the time series control input correction; setting the next candidate value of the time series control input; determining whether or not the performed optimization is abnormal; performing the initial optimal value generation when it is determined that the performed optimization is abnormal; comparing the current function definition data value with the normal function definition data value; adjusting the current function definition data value so that the current objective function varies stepwise with time toward the normal objective function when it is determined that the current function definition data value is different from the normal function definition data value; determining an output value of the control input in accordance with the optimal value of the time series control input; and outputting an output signal in accordance with the output value of the control input.

The above objects and other objects, features, and advantages of the present invention are readily apparent from the following detailed description of the best modes for carrying out the invention when taken in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a model predictive control apparatus in accordance with a first embodiment of the present invention.

FIG. 2 is a functional block diagram of a motor controller of the model predictive control apparatus in accordance with the first embodiment of the present invention.

FIG. 3 is a flow chart depicting a routine to be executed by the motor controller in accordance with the first embodiment of the present invention.

FIG. 4A is a graph depicting how a desired position of the wheeled vehicle changes over time in a case where the model predictive control apparatus in accordance with the first embodiment detects an abnormal solution.

FIG. 4B is a graph depicting how a control input (motor torque) changes over time in accordance with the desired position of FIG. 4A under the control of the model predictive control apparatus in accordance with the first embodiment.

FIG. 4C is a graph depicting how the weight for the position of the wheeled vehicle changes over time in accordance with the desired position of FIG. 4A under the control of the model predictive control apparatus in accordance with the first embodiment.

FIG. 4D is a graph depicting how the actual position of the wheeled vehicle changes over time in accordance with the desired position of FIG. 4A under the control of the model predictive control apparatus in accordance with the first embodiment.

FIG. 5 is a schematic diagram of a model predictive control apparatus for an automotive vehicle in accordance with a second embodiment of the present invention.

FIG. 6 is a functional block diagram of an ECU of the model predictive control apparatus in accordance with the second embodiment of the present invention.

FIG. 7 is a schematic diagram depicting a coordinate system to be used in the second embodiment of the present invention.

FIGS. 8A and 8B illustrate how the model predictive control apparatus in accordance with the second embodiment of the present invention predicts the dynamic behaviors of target vehicles around the host vehicle.

FIGS. 9A through 9C illustrate how the model predictive control apparatus in accordance with the second embodiment of the present invention operates in a sample case.

FIG. 10 is a flow chart depicting a routine to be executed by the ECU in accordance with the second embodiment of the present invention.

FIGS. 11A through 11F illustrate how the model predictive control apparatus in accordance with the second embodiment of the present invention operates in a sample case in which an abnormal solution is detected.

FIG. 12 is a schematic diagram of a model predictive control apparatus for an automotive vehicle in accordance with a third embodiment of the present invention.

FIG. 13 is a functional block diagram of an ECU of the model predictive control apparatus in accordance with the third embodiment of the present invention.

FIG. 14 illustrates how the model predictive control apparatus in accordance with the third embodiment of the present invention operates in a sample case.

FIGS. 15A and 15B illustrate how the model predictive control apparatus in accordance with the third embodiment of the present invention operates in a sample case in which an abnormal solution is detected.

FIGS. 16A and 16B illustrate how a display of the model predictive control apparatus in accordance with the third embodiment of the present invention operates in two sample cases.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIGS. 1 through 4D, there is shown a model predictive control apparatus in accordance with a first embodiment of the present invention. FIG. 1 is a schematic diagram of the model predictive control apparatus. As shown in FIG. 1, a wheeled vehicle 3 is connected to a left side wall through a spring 1 and a damper 2 disposed in parallel. Wheeled vehicle 3 is equipped with a motor 4 , a motor controller 5 as a control unit, and a rotary encoder 6 . Receiving a control command from a control-command input device 7 , motor controller 5 actuates motor 4 to control a horizontal position of wheeled vehicle 3 in accordance with the control command. A coordinate system is defined so that its x-coordinate indicates the horizontal position of wheeled vehicle 3 and the origin point is a position of wheeled vehicle 3 in a condition in which spring 1 is in its neutral condition.

With u representing the torque generated by motor 4 , the motion of wheeled vehicle 3 is described by the following differential equation (E1).
m{umlaut over (x)}=−d ( {dot over (x)} ) {dot over (x)}−kx+ru (E1)
where m is the mass of wheeled vehicle 3 , k is the spring constant of spring 1 , r is the reciprocal of the semidiameter of the wheels of wheeled vehicle 3 , d(v) is a function of speed v which indicates the damping coefficient of damper 2 with respect to speed v. {dot over (x)} and {umlaut over (x)} represent the first and the second derivative of x with respect to time t, respectively. d(v) is described by the following approximate equation (E2).
d ( v )= d 0 v 2 (E2)
where d 0 is a positive scalar constant.

Rotary encoder 6 is configured as a sensing section to measure a state of a physical system, that is, to measure the position x and the speed {dot over (x)} of wheeled vehicle 3 by detecting pulse signals generated along with rotation of the associated wheel. Rotary encoder 6 is connected electrically to motor controller 5 , so that the signals indicative of the position x and the speed {dot over (x)} are sent to motor controller 5 for use in its control computation.

Motor controller 5 includes a microcomputer, its peripheral devices, and a current control device. Specifically, motor controller 5 includes an input/output interface (I/O), memories (RAM, ROM), and a microprocessor or a central processing unit (CPU). The input/output interface (I/O) of motor controller 5 receives input information from sensors, namely, rotary encoder 6 , and from control-command input device 7 . Within motor controller 5 , the central processing unit (CPU) allows the access by the I/O interface of input informational data signals from the sensors. The CPU of motor controller 5 is responsible for carrying out the control program stored in the memories and is capable of performing necessary arithmetic and logic operations. Computational results, that is, calculated output signals are relayed through the output interface circuitry of motor controller 5 to output stages, motor 4 through the current control device. Thus, motor controller 5 receives control signals from rotary encoder 6 and control-command input device 7 , processes the control signals using the program stored in its internal memory, and generates a driving current to drive motor 4 accordingly.

FIG. 2 shows software modules or functional sections 5 a through 5 j of the program stored in motor controller 5 . Thus, motor controller 5 is equipped with an algorithm base on the model predictive control. In general, a model predictive control method is configured to predict a time series of a state of a system in accordance with a mathematical behavior prediction model of the system, to define an objective function (or an evaluation function or a cost function) to numerically evaluate the predicted future time series system state and a future time series of a control input (or manipulated variables) to force the system state to track its setpoint, to calculate an optimal value of the future time series control input which minimizes the objective function, and to input the calculated value of the control input to the system.

In general, with x representing a state of a target system (controlled variables, a vector in general) and u representing a control input to the system (a vector in general), the mathematical model of the behavior of the system is described by the following differential equation (E3).
{dot over (x)}=f ( x,u ) (E3)
The objective function J is assumed to be the following form of equation (E4).

J [ u ( t ; t ) ] = t t + T L ( x ( t ) , u ( t ) , t ) t ( E4 )
where t is the current instant, t′ is a future instant, T is the prediction horizon which is identical to the control horizon in the embodiments, and L is a function indicating an instantaneous objective function at each future instant. u(t′;t) represents a future time series of u(t′) over a range of t≦t′≦t+T. With both of the system model (the equation (E3)) and the objective function (the equation (E4)) being defined, a problem of finding u which minimizes J is identical to a formulated optimal control problem, which is given an algorithm of solving the optimal control problem. In accordance with u*(t′;t) which is obtained as the optimal solution of the optimization problem, the current control input are set to u*(t;t) for the current instant t. The foregoing is an overview of the model predictive control.

In this embodiment, a system includes a movable object, the state of the system includes a position and a velocity of the movable object, and a control input to the system includes a physical quantity to generate an acceleration of the movable object to change the position and velocity of the movable object. In FIG. 2, sections 5 a through 5 e of motor controller 5 serve to perform the above-mentioned basic model predictive control. Current state determination section 5 a determines the measured position x(t) and speed v(t) of wheeled vehicle 3 in accordance with the pulse signal from rotary encoder 6 . System behavior prediction section 5 b is configured to predict a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the system over a control horizon of time. More specifically, system behavior prediction section 5 b stores the system model described by the equation (E1). With using v identical to {dot over (x)}, the equation (E1) is described by the following equation (E5).
{dot over (x)}=v
{dot over (v)}=−a 1 v 3 −a 2 x+bu (E5)
where a 1 =d 0 /m, a 2 =k/m, and b=r/m. Substitution of x=(x,v) T , and u=u into the equation (E3) shows that the equation (E5) is described in the general form of the equation (E3).

Current objective function storage section 5 c stores a specific equation contained in the form of equation (E4). The following equation (E6) is used as an instantaneous objective function to be integrated over the prediction horizon.
L ( x ( t ′), u ( t ′), t ′)= w u u ( t ′) 2 +w x ( x ( t ′)− x *( t ′)) 2 (E6)
where x*(t′) is a setpoint value (a desired value) of the position of wheeled vehicle 3 at future instant t′ which is input from control-command input device 7 , and w u and w x are positive scalar values indicating weights for u and x, respectively. Actually, current objective function storage section 5 c stores and provides a normal value of function definition data defining a normal objective function. The function definition data serves to define an objective function configured to provide a quantitative measure, in accordance with the time series system state, the time series control input, and a setpoint of the time series system state. As mentioned below, an objective function reference group including current objective function storage section 5 c and normal objective function storage section 5 j also stores and provides an initial value of the function definition data defining an initial objective function, and a current value of the function definition data defining a current objective function.

Optimization section 5 d is configured to determine the optimal value of the time series of the control input u*(t′;t) which minimizes the objective function J, reading the measured position x(t) and speed v(t) of wheeled vehicle 3 , the prediction model (the equation (E5)), and the instantaneous objective function (the equation (E6)).

If the system model (the equation (E3)) and or the objective function (the equation (E4)), which defines the optimization problem, includes a nonlinear term, the optimization problem is generally a nonlinear optimization problem. In general, it takes a lot of arithmetic operations to solve a nonlinear optimization problem, so that it is possible that real-time optimization computation in the model predictive control may cause a time delay to adversely affect the control performance of the model predictive control. In order to reduce the number of arithmetic operations or calculation cost, the model predictive control apparatus may initially and properly determine a candidate solution K as a candidate of the optimal value of the time series control input u*(t′;t), and then find an optimal value of a time series control input correction Δu*(t′;t) with respect to the candidate solution K, without directly determining u*(t′;t). The control input correction Δu*(t′;t) is a differential between the optimal solution u*(t′;t) and the candidate solution K. If a control interval (also called a control period, or a sampling interval) Δt is sufficiently small, the change of the optimal solution over time may be assumed to be small in many cases. Therefore, the model predictive control apparatus may use the last optimal solution or the immediately preceding optimal value of the time series control input u*(t′;t−Δt) as the candidate solution K, which is calculated in the immediately preceding control cycle. With the optimal correction Δu*(t′;t) given, optimal solution u*(t′;t) is calculated using the following equation (E7).
u *( t′;t )= u ( t′;t−Δt )+Δ u *( t′;t ) (E7)
Thus, optimization section 5 d determines the optimal solution u*(t′;t) through the step of calculation of Δu*(t′;t). Optimization section 5 d may use such an optimization algorithm as disclosed in “T. Ohtsuka, “Continuation/GMRES method for fast algorithm of nonlinear receding horizon control” Proc. 39th IEEE Conference on Decision and Control, pp. 766-771, 2000”. The entire contents of this document are hereby incorporated by reference.

Control input determination section 5 e determines a current value of the control input to the system in accordance with the optimal value of the time series control input u*(t′;t). Actually, in the shown embodiment, control input determination section 5 e determines the current control input value as a final output value of the control input to be the current value u*(t;t) of the optimal value of the time series control input u*(t′;t) in the usual manner of the model predictive control, and outputs an output signal indicative of the current control input value to motor 4 to generate a torque of the current control input value. Specifically, control input determination section 5 e calculates an electric current needed for motor 4 to output the current control input value u*(t;t), and outputs a command signal indicative of the needed electric current to the current control device, to apply the commanded electric current to motor 4 .

The foregoing describes the sequence of the normal control cycle to be repeatedly executed by the model predictive control apparatus, which implements the overall model predictive control. However, it is possible that this normal control cycle does not always work well in any condition. The optimization calculation executed by optimization section 5 d includes a process of solving a system of simultaneous first order equations. If the equation system is in an ill numerical condition, it is possible that the accuracy of the optimal solution is adversely affected so that optimization section 5 d finds an improper solution for the control of motor 4 . In this embodiment, the control input u is constrained with an upper bound u P and a lower bound u N as the following equation (E8), because the output torque of motor 4 is finite.
u N ≦u≦u P (E8)
where u N and u P are positive values of the control input to the system corresponding to the upper and lower bounds of the actual output torque of motor 4 . When the accuracy of the optimal solution is adversely affected, it is possible that the control input u is determined to be out of the bounds of the equation (E8) for a control objective which can be actually satisfied with a value within the equation (E8). On the other hand, even when the accuracy of the optimal solution is held normal, it is possible that the control input u is determined to be out of the bounds of the equation (E8). In such abnormal conditions, motor controller 5 performs abnormality handling as mentioned below.

The following describes the detailed process of the optimization calculation. The horizon of the control (t≦t′≦t+T) is divided into N steps, and u*(t′;t) is assumed to be constant in each of the divided steps. The finite time-varying function u*(t′;t) is time-discretized and described by an N-dimensional vector having elements whose values are u*(t′;t) at N steps, respectively. Finally, the problem is converted to the following system of simultaneous first order equations (E9).

A ( t ) X ( t ) = b ( t ) ( E9 ) X ( t ) = [ Δ u ( t ; t ) Δ u ( t + T N ; t ) Δ u ( t + N - 1 N T ; t ) ] ( E10 )
where matrix A(t) and vector b(t) are given according to the system model (the equation (E3)), the objective function (the equation (E4)), and the candidate solution K. The optimal value of the time series control input u*(t′;t) is represented by U*(t) as the following equation (E11).

U * ( t ) = [ u * ( t ; t ) u * ( t + T N ; t ) u * ( t + N - 1 N T ; t ) ] ( E11 )
In order to find the optimal solution U*(t), first, the equation (E9) is solved to find the optimal correction X*(t). Subsequently, the optimal solution U*(t) is calculated using the following equation (E12), according to the equation (E7).
U *( t )= U *( t−Δt )+ X *( t ) (E12)

Abnormal solution detection section 5 f is configured to determine whether or not the optimal control calculation is abnormal. When the optimal time series control input correction X*(t) or the optimal time series control input U*(t) satisfies at least one of the following abnormality conditions, abnormal solution detection section 5 f determines that the optimal control calculation is abnormal.

  • (Condition C1) An element of the optimal time series control input U*(t) is out of bounds of the equation (E8).
  • (Condition C2) The square norm ||X*(t)|| is larger than a predetermined threshold value.
  • (Condition C3) A residual error of the system of simultaneous first order equations ||e||=||b(t)−A(t)X*(t)|| is larger than a predetermined threshold value.
    The condition C1 serves to prevent the possibility of issuing a command signal indicative of a torque out of the allowable range. Actually, abnormal solution detection section 5 f is configured to determine that the performed optimization is abnormal when the optimal value of the time series control input includes a value of an element of the control input which is out of certain associated bounds. The condition C2 serves to detect the adverse condition of the accuracy of the calculation of the system of simultaneous first order equations, based on the fact that X*(t) varies largely or includes a large error if the condition of the system of simultaneous first order equations is in an ill condition. Actually, abnormal solution detection section 5 f is configured to determine that the performed optimization is abnormal when the optimal value of the time series control input correction includes a value of the control input correction whose magnitude is larger than a certain threshold value. The condition C3 is a typical condition applied to solution of a system of simultaneous first order equations with iterative calculation. The condition C3 is provided, based on the fact that the residual error tends to increase with increasing degree of adverse effect on calculation. Actually, in case optimization section 5 d is configured to calculate the optimal value of the future time series control input correction by iterative calculations the number of which is bounded by a certain upper bound, abnormal solution detection section 5 f is configured to determine that the performed optimization is abnormal when an error degree of the performed optimization is at or above a certain threshold level.

The above-mentioned abnormality conditions are often satisfied, when a large disturbance is input to the system to generate a large difference between the predicted value of the system state based on the equation is (E5) and the actual value of the system state, or when the objective function (the equation (E6)) varies largely in accordance with a change in the setpoint generated by the control command input device. In such cases, the assumption that the difference between the immediately preceding optimal solution and the current optimal solution is small does not hold. This adversely affects the accuracy of the linearity approximation of nonlinear terms in converting the original nonlinear optimization problem to the system of simultaneous first order equations. Therefore it is possible that the abnormality conditions are satisfied in such cases.

When an abnormal solution is detected, abnormality handling section 5 g is initiated. Abnormality handling section 5 g discards the calculated optimal solution U*(t) and the candidate solution U*(t−Δt), as a preparation to generation of a new normal optimal solution. Without reference to the candidate solution U*(t−Δt), the equation (E12), with which the candidate solution and the optimal correction is needed to calculate the optimal solution, is not available. Accordingly, motor controller 5 adopts another method of finding the optimal solution. Incidentally, a combination of abnormal solution detection section 5 f and abnormality handling section 5 g may be integrally referred to as an abnormality handling section.

In general, solution of an optimization problem takes a lot of arithmetic operations. However, if an optimization problem is defined by a specific type of system model and a specific type of objective function, the optimal solution is described by a relatively simple explicit function. In such a case, the optimal solution is obtained in a short period of time, without solving a system of simultaneous first order equations by inverse calculations and iterative calculations. Accordingly, in the shown embodiment, in order to obtain an optimal solution in a short period of time, the objective function is converted from the normal objective function (the equation (E6)) to a form of function for which the optimal solution is easily found. In case weight w x in the equation (E6) is changed to zero, u*(t′;t)=0 is the optimal solution independently of x*(t′) and the prediction horizon T. Thus, initial solution generation section 5 h determines or provides an objective function for which the optimal solution is easily found (initial objective function), and generates an initial optimal solution for the initial objective function. When an abnormal condition of the calculation is detected, abnormality handling section 5 g constructs the objective function by replacing the objective function stored in current objective function storage section 5 c with an initial objective function for which the optimal solution is easily found, and initiates initial solution generation section 5 h to generate the initial optimal solution. As mentioned above, the initial objective function is generated by changing weight w x to zero in the equation (E6). Thus, the initial objective function is configured to take less calculation cost to generate the optimal value of the time series control input without reference to the candidate value of the time series control input than the normal objective function. Actually, initial solution generation section 5 h is configured to set the current function definition data value to the initial function definition data value, to generate an initial optimal value of the time series control input in accordance with the initial function definition data value, without reference to a candidate value of the time series control input, to set an optimal value of the time series control input to the initial optimal value of the time series control input, and to set the next candidate value of the time series control input to the initial optimal value of the time series control input.

In the above-mentioned manner, the abnormality handling is performed. However, if the objective function with w x being zero were held in the next control cycle, the normal control objective of controlling the system state to the desired system state would not be achieved. Therefore, weight w x is adjusted toward the original normal value. Objective function adjustment section 5 i compares between the normal objective function (the normally weighted function (the equation E6)) stored in normal objective function storage section 5 j and the current objective function (or reference objective function) stored in current objective function storage section 5 c . When objective function adjustment section 5 i detects that the current objective function is different from the normal objective function, objective function adjustment section 5 i adjusts the current objective function toward the normal objective function. When an abnormal solution is detected in the immediately preceding control cycle, weight w x in the current objective function is zero. Objective function adjustment section 5 i increases weight w x in the current objective function from zero. If weight w x increases in one step to the normal value, it is possible that the condition of the optimization problem is adversely affected to produce an abnormal solution. Therefore, objective function adjustment section 5 i increases weight w x gradually stepwise with time. More specifically, weight w x is changed to the normal weight w x * in accordance with an update law expressed by the following equation (E13).
w x ( t )= w x ( t−Δt )+α·( w x *−w x ( t−Δt )) (E13)
where α is a positive constant value serving to determine the rate of change in weight w x . The stepwise change of weight w x allows use of the algorithm used in optimization section 5 d in which the correction solution is calculated with respect to the candidate solution. In this manner, the solution gradually approaches with time to the normal optimal solution. In general, in case the adjusted current objective function is a weighted average of the initial objective function and the normal objective function, objective function adjustment section 5 i is configured to adjust the current function definition data value so that the weights for the initial objective function and the normal objective function in the adjusted current objective function vary stepwise with time, and so that the current objective function varies stepwise with time toward the normal objective function, when it is determined that the current function definition data value is different from the normal function definition data value.

FIG. 3 is a flow chart depicting the above-mentioned routine to be executed by motor controller 5 of the model predictive control apparatus. First, at step S 1 , motor controller 5 reads the sensing signal from rotary encoder 6 , and determines the measured position x and speed {dot over (x)} (=v) of wheeled vehicle 3 accordingly. Subsequently, at step S 2 , optimization section 5 d reads the data concerning the system model stored in system behavior prediction section 5 b . Subsequently, at step S 3 , objective function adjustment section 5 i compares the normal objective function stored in normal objective function storage section 5 j and the current objective function stored in current objective function storage section 5 c . When the two objective functions are different from each other, the routine proceeds to step S 4 , at which objective function adjustment section 5 i adjusts or updates the current objective function with weight w x determined in accordance with the equation (E13), and then proceeds to step S 5 . When the two objective functions are identical to each other, the routine proceeds directly to step S 5 , without the update step of step S 4 . At step S 5 , optimization section 5 d finds the optimal correction value X*(t) with respect to the candidate solution U*(t−Δt). Subsequently, at step S 6 , abnormal solution detection section 5 f determines whether or not the optimal solution including X*(t) and U*(t) is abnormal. When the answer to step S 6 is affirmative (YES), the routine proceeds to step S 7 . On the other hand, when the answer to step S 6 is negative (NO), the routine proceeds to step S 10 , without executing steps S 7 , S 8 , and S 9 . At step S 7 , abnormality handling section 5 g discards the optimal correction value X*(t), the optimal solution U*(t), and the candidate solution U*(t−Δt). Subsequently, at step S 8 , abnormality handling section 5 g replaces the current objective function stored in current objective function storage section 5 c with the initial objective function. Subsequently, at step S 9 , initial solution generation section 5 h generates the initial optimal solution in accordance with the initial objective function. Subsequently, at step S 10 , control input determination section 5 e determines the current control input in accordance with the optimal solution U*(t), calculates the electric current needed to produce the control input, and send a control signal to the current control device accordingly. In the first cycle of the control in which there is no candidate solution, initial solution generation section 5 h is initiated unconditionally to generate the initial optimal solution.

FIGS. 4A through 4D show how the system behaves in a situation where an abnormal solution is detected. The desired position is changed largely from A to −B at time t 0 in accordance with a command signal from control-command input device 7 . At time t 0 , at first, the control input is calculated to be below −u N which is the lower bound of the torque of motor 4 , so that it is determined that the performed calculation is abnormal. Accordingly, weight w x is set to zero, to adjust the objective function to the initial objective function. In accordance with the initial objective function, the control input is determined to be zero at time t 0 . As weight w x increases after time t 0 , the control input increases so that the position of wheeled vehicle 3 is controlled to be −B.

Referring now to FIGS. 5 through 11F, there is shown a model predictive control apparatus for an automotive vehicle in accordance with a second embodiment of the present invention. FIG. 5 is a schematic diagram of the model predictive control apparatus. As shown in FIG. 5, the vehicle is equipped with an engine, cameras 8 a , 8 b , and 8 c , a vehicle speed sensor 9 , an electrical control unit (ECU) 10 , a control-command input device 11 , a throttle controller 12 , a throttle actuator 13 , brake controllers 14 , and brake actuators 15 . Front camera 8 a includes a CCD camera, and mounted on the front portion of the vehicle to detect a plurality of target vehicles present in front of the vehicle, and to measure the positions of the target vehicles. In addition, front camera 8 a is configured to monitor or recognize driving lanes of a road by detecting white marking lines on the road. Rear camera 8 b is attached to the rear portion of the vehicle to detect a plurality of target vehicles present rearward of the vehicle, and to measure the positions of the target vehicles. Side camera 8 c is mounted on each of the sides of the vehicle to detect a plurality of target vehicles present in a space that front camera 8 a and rear camera 8 b is disable to monitor, and to measure the positions of the target vehicles. Vehicle speed sensor 9 includes rotary encoder 6 mounted at a road wheel of the vehicle. Rotary encoder 6 generates periodical pulse signals whose period is determined in accordance with the rotational speed of the road wheel. Vehicle speed sensor 9 is configured to measure the vehicle speed in accordance with the periodical pulse signals.

Control-command input device 11 includes manually-operable switches disposed in the interior space of the vehicle. As the switches are manually operated by a driver, control-command input device 11 inputs the control objective or the setpoint of the system state such as the desired vehicle speed accordingly.

Throttle controller 12 is configured to receive from ECU 10 a control signal indicative of a desired driving torque, and to control the driving torque in accordance with the desired driving torque by means of throttle actuator 13 . Throttle actuator 13 is configured to adjust the throttle valve to control the engine output torque. Brake controller 14 is configured to receive from ECU 10 a control signal indicative of a desired braking torque, and to control the braking torque in accordance with the desired braking torque by means of brake actuator 15 . Brake actuator 15 is configured to adjust the brake apply pressure. As a whole, a wheel torque actuator including devices 12 to 15 is configured to adjust the wheel torque of host vehicle 16 as part or whole of the control input in accordance with an output signal from ECU 10 .

ECU 10 includes a microcomputer, its peripheral devices, and a current control device. Specifically, ECU 10 includes an input/output interface (I/O), memories (RAM, ROM), and a microprocessor or a central processing unit (CPU). The input/output interface (I/O) of ECU 10 receives input information from sensors, namely, vehicle speed sensor 9 , and cameras 8 a through 8 c , and from control-command input device 11 . Within ECU 10 , the central processing unit (CPU) allows the access by the I/O interface of input informational data signals from the sensors. The CPU of ECU 10 is responsible for carrying out the control program stored in the memories and is capable of performing necessary arithmetic and logic operations. Computational results, that is, calculated output signals are relayed through the output interface circuitry of ECU 10 to output stages, throttle controller 12 , and brake controller 14 , through the current control device. Thus, ECU 10 is configured to receive control signals from vehicle speed sensor 9 and control-command input device 11 , to process the control signals using the program stored in its internal memory, and to output a control command to throttle controller 12 and brake controller 14 accordingly.

FIG. 6 shows blocks indicative of software modules or functional sections 10 a through 10 k of the program stored in ECU 10 . Thus, ECU 10 is equipped with an algorithm base on the model predictive control. As in the above-mentioned first embodiment, the model predictive control apparatus is configured to predict a time series of a state of a system in accordance with a mathematical model of the system, to define an objective function to numerically evaluate the predicted future time series system state and a future time series of a control input to force the system state to track its setpoint, to calculate an optimal value of the future time series control input which minimizes the objective function, and to input the calculated value of the control input to the system. In the second embodiment, the system state includes the positions and the speeds along a road or the direction of travel, and the positions in the lateral direction, of the host vehicle and the target vehicles.

FIG. 7 shows a coordinate system for mathematical modeling in the shown embodiment. In FIG. 7, host vehicle 16 , two target vehicles, i.e., target vehicle A 17 , and target vehicle B 18 are present or traveling on a two-lane one-way road (a four-lane road). The x-axis is defined to extend along the road, and the y-axis is defined to extend normal to the x-axis in the horizontal plane. The zero point of the x-axis may be located at any point, because the relative distances between host vehicle 16 and target vehicle A 17 and between host vehicle 16 and target vehicle B 18 are used in the actual control computation. The zero point of the y-axis is located at the lane-marking line which divides between the left lane and the right lane. The scale of the y-axis is normalized so that the y-coordinate of the center line of the left lane is 1, and the y-coordinate of the center line of the right lane is −1. Host vehicle 16 , target vehicle A 17 , and target vehicle B 18 are given denotations “0”, “1”, and “2”, respectively. More specifically, the x-position, the longitudinal speed, the y-position, of each of the vehicles concerned are represented by x i , v i , and y i (i=0, 1, 2) respectively. Accordingly, when two target vehicles are detected as in the shown embodiment, the system state x is described by the following equation (E14).
x=(x 0 v 0 y 0 x 1 v 1 y 2 x 2 v 2 y 2 ) (E14)
As shown in FIG. 6, a sensing section 101 includes front camera 8 a , rear camera 8 b , side cameras 8 c , and vehicle speed sensor 9 (rotary encoder 6 ), to detect target vehicles present around host vehicle 16 , and to measure the state of the physical system including host vehicle 16 and the target vehicles, and is connected electrically to ECU 10 to output the sensing signals to current state determination section 10 a of ECU 10 . ECU 10 determines the measured value of each element of the system state in the equation (E14), in accordance with the signals from the sensing section 101 .

System behavior prediction section 10 b is configured to predict a future time series of the system state over a prediction horizon of time in accordance with the measured system state, and a future time series of a control input to the host vehicle over a control horizon of time. In order to predict each of the future behaviors of the vehicles concerned, a mathematical prediction model is constructed. The mathematical prediction models of the vehicles concerned are combined together to produce an integrated mathematical prediction model in the form of the equation (E3) which predicts all the future behaviors of the vehicles concerned. The behavior prediction model of the host vehicle 16 is described by the following equation (E15).
{dot over (x)} 0 =v 0
{dot over (v)} 0 =u
{dot over (y)} 0 =0 (E15)
where u is the acceleration (or deceleration) of host vehicle along the x-axis, which is the control input to be optimized. A variable accompanied with an upper dot represents its time derivative. In the shown embodiment, the model predictive control apparatus is targeted only to the motion of host vehicle 16 along the x-axis. Accordingly, the equation concerning {dot over (y)} 0 includes no lateral element of the control input. Assuming that host vehicle 16 keeps traveling in the current driving lane, {dot over (y)} 0 =0 is given.

On the other hand, each of the behavior prediction models of target vehicles A 17 and B 18 is described by the following equation (E16).
{dot over (x)} i =v i
{dot over (v)} i i v v i i v v i com
{dot over (y)} i =−ω i y y i i y u i y (E16)
where ω i v , and ω i y are positive constant values indicative of quickness of speed adjustment, and quickness of lane change, of target vehicle i (i=1, 2), respectively, v i com is a desired vehicle speed of target vehicle i, and u i y is the lane position of target vehicle i.

The desired speed v i com in the equation (E16) is modeled by the following equation (E17).

v i com = { v i * ( no preceding vehicle ) v i f ( x i p - x i , v i p - v i , v i ) ( preceding vehicle present ) ( E17 )
where v i * is an estimated desired vehicle speed of target vehicle i during there is no vehicle preceding target vehicle i, v i f (R i ,R i ′,v i ) is a model function which indicates a desired vehicle speed of target vehicle i in a condition in which the relative distance and the relative speed with respect to the preceding vehicle are R i , and R i ′, respectively, and the vehicle speed is v i . This function may be implemented by an algorithm including the equations (2) through (8), and the tables (1) and (2), in a Published Japanese Patent Application No. 2000-135934. The entire contents of this Japanese Patent Application No. 2000-135934 are hereby incorporated by reference. x i p , and v i p are the position and speed of the preceding vehicle in the same lane as target vehicle i. In FIG. 7, the preceding vehicle for target vehicle A 17 is target vehicle B 18 . Accordingly, x i p =x 2 , and v i p =v 2 . Host vehicle 16 and target vehicle B 18 both have no preceding vehicle, so that the variables x i p , and v i p for them are not defined.

System behavior prediction section 10 b is configured to predict a future time series state of the target vehicle as part of the future time series system state in accordance with the time series measured system state. Desired lane position u i y is set to −1 or 1 in accordance with prediction about whether target vehicle i (i.e. target vehicle A 17 or target vehicle B 18 ) keeps traveling in its current lane or is going to shift to the adjacent lane. The prediction is based on a past time series of lane position y i . FIGS. 8A and 8B illustrate how the model predictive control apparatus predicts the dynamic behaviors of target vehicles around the host vehicle. When lane position y i tends to increase as shown in FIG. 8A, it is determined that target vehicle i has intention of lane change to the left driving lane. Accordingly, the desired lane position u i y is switched from −1 to 1. When lane position y i has no tendency as shown in FIG. 8B, it is determined that target vehicle i has no intention of lane change to the left driving lane. Accordingly, the desired lane position u i y is held at −1. Thus, system behavior prediction section 10 b is configured to construct the prediction models of host vehicle 16 , and target vehicles A 17 and B 18 .

The objective function is described in the form of the equation (E4), as in the first embodiment. The instantaneous objective function L is constructed so as to express criteria concerning a desired behavior of the host vehicle. In this embodiment, the instantaneous objective function L includes terms concerning the following three criteria.

  • (Criterion CR1) The host vehicle is desired to travel at a speed as close to the desired speed as possible.
  • (Criterion CR2) The host vehicle is desired to accelerate at as small an acceleration as possible.
  • (Criterion CR3) The host vehicle is desired not to be too close to target vehicles.

The term concerning criterion CR1 is described by the following equation (E18).
L v ( v 0 )= W v /2( v 0 −v D *) 2 (E18)
where w v is a positive constant value indicative of a weight for criterion CR1 in the instantaneous objective function L. v 0 * is set to the desired speed of host vehicle 16 which is input by control-command input device 11 .

The term concerning criterion CR2 is described by the following equation (E19).
L u ( u )= W u /2 u 2 (E19)
where w u is a positive constant value indicative of a weight for criterion CR2 in the instantaneous objective function L.

In order to mathematically express criterion CR3, a degree of close approach to target vehicles A 17 and B 18 , (a collision risk degree, or a contact risk degree), is evaluated by an indicator. Headway time (=following distance/following-vehicle speed) or time to collision (=following distance/relative speed) is available as an indicator. Accordingly, the term concerning criterion CR3 is configured to include reciprocals of the headway time and the time to collision, so that the term decreases with increasing degree of desirability of the behavior. The term concerning a vehicle preceding to host vehicle 16 in the same driving lane is described by the following equation (E20). The term concerning a vehicle following host vehicle 16 in the same driving lane is described by the following equation (E21).

L f ( x f , v f ) = λ · v 0 x f - x 0 + ( 1 - λ ) · v 0 - v f x f - x 0 · 1 1 + exp ( - k s ( v 0 - v f ) ) ( E20 ) L r ( x r , v r ) = λ · v r x 0 - x r + ( 1 - λ ) · v r - v 0 x 0 - x r · 1 1 + exp ( - k s ( v r - v 0 ) ) ( E21 )
where x f and v f are the position and the speed of the preceding vehicle, respectively, x r and v r are the position and the speed of the following vehicle, λ is a constant value in a range from 0 to 1 which adjusts weights between the headway time and the time to collision, and k s is a positive constant value as a parameter to determine the shape of a saturation term which is provided to make the term bounded below.

In the situation as shown in FIG. 7, target vehicles A 17 and B 18 are both the preceding vehicles with respect to host vehicle 16 . When target vehicles A 17 and B 18 are present in the right driving lane, the collision risk degrees concerning target vehicles A 17 and B 18 are both evaluated to be zero. When one or both of the target vehicles are about to perform lane change to the left driving lane, the collision risk degree is evaluated. The collision risk degree is evaluated with respect to one of the target vehicles which is the nearest to host vehicle 16 . Accordingly, when both of target vehicles A 17 and B 18 are going to perform lane change to the left driving lane, only the collision risk degree concerning target vehicle A 17 is determined. Therefore, the term concerning criterion CR3 is described by the following equation (E22).
L s ( x )= c L ( y 1 w 1 ·L f ( x 1 ,v 1 )+ c L ( y 2 c R ( y 1 w 2 ·L f ( x 2 ,v 2 ) (E22)
where w 1 and w 2 are positive constant values indicating weights for target vehicles A 17 and B 18 , respectively, and c L (y) and c R (y) are functions described by the following equations (E23) and (E24), respectively.

c L ( y ) = { 0 ( y < - 1 2 ) 1 2 + 1 2 sin ( n · y ) ( - 1 2 y 1 2 ) 1 ( 1 2 < y ) ( E23 ) c R ( y ) = { 1 ( y < - 1 2 ) 1 2 - 1 2 sin ( n · y ) ( - 1 2 y 1 2 ) 0 ( 1 2 < y ) ( E24 )
Finally, the instantaneous objective function L is described by the following equation (E25) which is the sum of the equations (E18), (E19), and (E22).
L ( x,u )= L v ( v 0 )+ L u ( u )+ L s ( x ) (E25)
This instantaneous objective function L is used to calculate the optimal control input. As in the first embodiment, the normal objective function is stored in normal objective function storage section 10 e . Current objective function storage section 10 c is configured to store the current objective function which is the normal objective function or an adjusted objective function. Actually, the objective function reference group including current objective function storage section 10 c and normal objective function storage section 10 e stores and provides a normal value of the function definition data defining the normal objective function, an initial value of the function definition data defining the initial objective function, and a current value of the function definition data defining the current objective function. Optimization section 10 d is configured to read the objective function from current objective function storage section 10 c , and performs optim