This application claims priority under 35 U.S.C. §119 from Chinese Patent Application No. 2010-264660 filed in Japan, the entire contents of which are incorporated by reference herein.
1. Field of the Invention
The present invention relates to a technique for constructing a controller such as a plant of an automobile, and more specifically to a technique for performing gain scheduled control by describing a plant by a linear-parameter variant model and converting the plant into linear matrix inequalities.
2. Description of Background
In conventional prior art methodology, to control a plant in which a constitutive parameter changes during operation, certain methodology is used that introduces variable structure control which performs the controlling function while estimating a state variable by adjusting a gain of an observer by a data map has been employed in many cases.
However, these conventional methods require a lot of efforts especially to incorporate all possibility in a data map. Further, when a map is made experimentally, it is difficult to handle the parameter change of the plant. In view of this, a gain scheduled control, which covers all cases in such a manner that a plant is described by a linear parameter-varying (LPV: Linear Parameter-Varying) model, and a variation range constraint is converted into linear matrix inequalities (LMI: Linear Matrix Inequalities), has been examined as one solution. Nonetheless, in the conventional techniques, the selection of scheduling parameter candidates to obtain sufficient performances was difficult. The selection was human-intensive and required special measures and subjective determination by observing a Bode diagram. This took time and made it difficult to choose the most suitable parameter candidate. The.
Consequently, it is desirable to implement a technique capable of automatically constructing a controller that calculates v gaps for each candidate of a plant parameter vector. It is desirous that the automatically constructed controller be based on these v gaps calculated for each candidate of a scheduling parameter vector.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method, system and program for constructing a controller. In one embodiment, a computer implemented method for selecting a controller from a plurality of controllers and constructing so that it can automate one or more processes used in a plant, comprising the steps of: constructing a controller from a plant described by an LPV model to which a scheduling parameter is given by: a) calculating via a processor one or more v gaps respectively for Min, Max, and a mean value of each candidate of a plant parameter vector of said LPV model based on a requirement of preselected constraints; b) the processor choosing a candidate via information gathered by proof said plant parameter vector based on the magnitude of differences between the v gaps; c) the processor converting the LPV model into LMI and finding controllers, according to an H∞ criterion, at all combination end points of a maximum value and a minimum value of the plant parameter vector thus chosen; and d) the processor choosing and constructing said chosen controller for said plant by using bilinear interpolation weighted by said v gaps specifically calculated for said plant parameter vector thus chosen.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Some of the concepts of the present invention are described in conjunction with the following exemplary embodiments of the present invention according to the figures as provided. However, it should be understood that these embodiments are intended to provide examples for ease of understanding and therefore should not be used as if intended to limit the scope of the invention. In addition, the figures as will be described, the same numerals are used to indicate the same component or function unless otherwise indicated to the contrary.
Referring now to
The CPU 104 is preferably based on architecture of 32 bits or 64 bits, and, for example, Pentium (trademark) 4 of Intel Corporation, Core (trademark) 2 DUO of Intel Corporation, Athlon (trademark) of AMD Inc. can be used. The main memory 106 preferably has a capacity of 2 GB or more, more preferably a capacity of 4 GB or more.
Into the hard disk drive 108, though they are not shown individually, an operating system, a processing program according to the present invention, and the like are stored in advance. The operating system may be anything adapting to the CPU 104, such as Linux (trademark), Windows Vista, Windows XP (trademark), and Windows (trademark) 2000, each of which is produced by Microsoft, and Mac OS (trademark) of Apple Computer, Inc.
The key-board 110 and the mouse 112 are used to operate graphic objects such as an icon, a task bar, and a window, which are displayed on the display 114, according to a graphic user interface provided by the operating system. The key-board 110 and the mouse 112 are also used to operate a data recording program, which is described later.
The display 114 is preferably an LCD monitor of 32-bit true color with a resolution of 1024×768 or more, but should not be limited to this. The display 114 is used to display a waveform and the like of operation of a plant by the controller 118. In the hard disk drive 108, an LPV model 204, a scheduling parameter 206 for the LPV model 204, a v gap-calculation module 208, an LMI conversion module 210, a controller-construction module 212, and a main program 202 to integrate overall processing, all of which will be described later, are stored. The main program 202, the v gap-calculation module 208, the LMI conversion module 210, and the controller-construction module 212 can be created by any existing programming language such as C, C++, C#, and Java(R). These modules are loaded to the main memory 106 by the operation of the operating system as appropriate for execution. Although it is not shown, the main program 202 may display a window for an operator to operate on the display 114 by an appropriate GUI, so that the operator can start or stop a process by using the key-board 110, the mouse 112, and the like.
To the bus 102, a controller 118 for controlling a plant 402 shown in
The plant 402 is, for example, a target mechanism device to be controlled, such as an engine, a brake, or an air conditioner. The plant 402 may be an actual machine, or a software-like model created with simulation modeling tools such as Simulink(R) and Modelica. When the plant 402 is a software-like model, the plant 402 is a module stored in the hard disk drive 108. In that case, since the controller 118 is also a module stored in the hard disk drive 108, the interface through the interface board 116 is unnecessary. Next will be described a logical construction of a program or the like to execute a process of determining a controller according to the present invention, with reference to a functional block diagram of
A main program 202 functions to control overall operation including an interface with a user. A linear parameter-varying (LPV) model 204 is a model to describe the plant 402 by the following linear equations, and it is described beforehand by a user in consideration of a mechanics equation and the like.
{dot over (x)}(t)=A(θ(t))x(t)+B(θ(t))u(t)
y(t)=C(θ(t))x(t)+D(θ(t))u(t)
G(s,θ(t))=D(θ(t))+C(θ(t)){sI−A(θ(t))}−1B(θ(t))
{dot over (x)}(t)=A(θ(t))x(t)+B(θ(t))u(t)
y(t)=C(θ(t))x(t)+D(θ(t))u(t)
G(s, θ(t)=D(θ(t))+C(θ(t)){sI−A(θ(t))}−1B(θ(t)) [Expression 1]
In this instance A, B, C, and D are coefficient matrices of a state space model.
A scheduling parameter 206 is a time-varying parameter θ(t), which is used in the LPV model 204. As shown in the following expression, the scheduling parameter 206 is a vector of the r dimension.
θ(t)=[θ1(t), . . . , θr(t)]T ∈r [Expression 2]
Each element θj(t) (j=1, 2, . . . , r) of θ(t) is described beforehand by the user according to system requirements. Also, for each element θj(t) (j=1, 2, . . . , r) of θ(t), a maximum value θimax and a minimum value θimin, which come out of an upper requirement of constraints, are determined beforehand by the user, as shown in the following expression, and they are stored into the hard disk drive 108 as the scheduling parameter 206.
A v gap-calculation module 208 has a function to calculate v gaps in the method described in G. Vinnicombe, “Frequency Domain Uncertainty and the Graph Topology,” IEEE Trans. Automatic Control, Vol. 38, No. 9, pp. 1371-1383, 1993, from a maximum value θjmax and a minimum value θjmin of the scheduling parameter 206, and a mean value θjmid therebetween. Note that the mean value θjmid is calculated as follows:
A linear-matrix-inequality (LMI) conversion module 210 has a function to convert the LPV model 204 into LMI, and to find controllers according to an H∞ criterion by use of a maximum value and a minimum value of a chosen scheduling parameter.
A controller-construction module 212 constructs the controller 118 for a generalized plant by bilinear interpolation weighted by the v gaps calculated when the parameter is chosen. At this time, the construction of the controller 118 is carried out through the interface board 116 shown in
With reference to the flowchart in
In Step 304, the main program 202 accesses the v gap-calculation module 208, so that a v gap is calculated for each of Min, Max, and a mean value thereof of each candidate of the scheduling parameter vector coming out of an upper requirement of the constraints, in accordance with, for example, the method described in G. Vinnicombe, “Frequency Domain Uncertainty and the Graph Topology,” IEEE Trans. Automatic Control, Vol. 38, No. 9, pp. 1371-1383, 1993.
At first, a general calculation of the v gap is described. When transfer functions of two plant models are assumed P1(jω) and P2(jω), the v gap between the two transfer functions is defined as the following expression. Here, ω is an angular frequency.
Further,
Here, κ(X, Y) is defined as follows:
κ(X, Y)=
represents a maximum singular-value. If it is a single-input single-output system, the v gap is calculated as follows:
Here, in terms of the i-th element (i=1, . . . , r) of θ, a transfer function into which a maximum value thereof is substituted is assumed Timax, and a transfer function into which a minimum value thereof is substituted is assumed Timin. Further, a transfer function into which a mean value therebetween is substituted is assumed Timid.
In this instance, the main program 202 accesses the v gap-calculation module 208 to calculate the following values by use of the above v gap calculation expression.
v
i
mid_max=δv(Timid, Timax)
v
i
min_mid=δv(Timin, Timid)
v
i
min_max=δv(Timin, Timax)
In Step 306, the main program 202 sequentially takes those elements as scheduling parameter candidates in the order from i with a largest value of (|vi
In the first embodiment, only a first given parameter is chosen, and in the second embodiment, a subsequently given parameter is also chosen. The first embodiment and the second embodiment will be described later.
In Step 308, the main program 202 accesses the LMI conversion module 210 to convert the LPV model 204 into LMI and to derive an H∞ criterion controller. At first, the generalization thereof is described. That is, a fluctuation portion of the LPV model 204 is taken as an exogenous signal. Then, a large plant for it is assumed and defined as a generalized plant 404 as shown in
In view of this, from the viewpoint that it is a control aim to suppress a controlled variable z as small as possible to an exogenous signal w in the generalized plant 404 that can be represented by the following expression:
a controller K that makes a transfer function Gzw therebetween small is designed. Here, the transfer function Gzw is represented by the following expression:
G
zw
=G
11
+G
12
K(I−G22K)−1G21 [Expression 10]
As a measure of the magnitude of this Gzw, an H∞ norm is used. This is an H∞ criterion. The definition thereof is as follows:
represents a maximum singular-value, and ω represents an angular frequency. By this definition, the H∞ control problem can internally stabilize a closed loop system by a feedback control of u=Ky with respect to a generalized plant G. In the meantime, with respect to a given positive number γ, the H∞ control problem can be formulated to obtain a controller K that satisfies the following expression:
∥G∥∞<γ. [Expression 13]
Here, γ may be given optionally, but as a conventional technique, there is a method in which γ may be determined automatically. One approach to solve this is a technique according to LMI. That is, when only parts corresponding to z and w are taken out and assumed as follows:
{dot over (x)}=Ax+Bw
z=Cx+Dw, [Expression 14]
The following two conditions are equivalent according to a certain theorem. (i) A matrix A is stable, and in the block shown in
∥G∥∞<γ. [Expression 15]
(ii) There exists X>0, which satisfies the following expression:
In other words, the condition (i) is the aforementioned H∞ criterion, and a matrix X that satisfies the H∞ criterion is a controller. Further, when a solution that satisfies linear matrix inequalities (LMI) about X in the condition (ii) is found, a controller based on the H∞ standard is obtained.
Generally, in the case of a feedback control, even if variables are just substituted as they are, this does not make a linear for X. Therefore, a change of the variables or the like is performed so as to make the above form. As for the technical details thereof, S. Aubouet et al., “H-infinity/LPV observer for an industrial semi-active suspension,” IEEE Proc. Conf. on Control Applications, pp. 756-763, 2009, can be also referred to as appropriate.
On the other hand, w cannot be inputted with respect to all the scheduling parameters. In view of this, in Step 308, the main program 202 calculates controllers at end points according to the H∞ criterion using the LMI by use of the LMI conversion module 210. Then, in Step 310, the main program 202 constructs a controller for a generalized plant by bilinear interpolation weighted by the v gaps calculated when the parameter is chosen.
Note that, in the conventional technique, it has been implicitly assumed that the controller K for a generalized plant can be expressed by affine transformation as follows:
Here, K(i) is the i-th controller.
It is one of the characteristics of the present invention that this is replaced to the bilinear interpolation weighted by v gaps calculated when a parameter is chosen, as follows:
How many parameters are chosen as N is different between the embodiments. In the first embodiment, only a first given parameter is chosen. That is, with respect to the parameter, a controller is constructed by bilinear interpolation where K(1) is assumed a controller fixed to min, K(2) is assumed a controller fixed to max, v1 is assumed a v gap between transfer functions respectively fixed to min and mid, v2 is assumed a v gap between transfer functions respectively fixed to mid and max, and p1 and p2 are given as the following expressions:
In the second embodiment, two parameters, i.e., a first given parameter and a subsequent parameter are chosen. That is, with respect to those parameters, a controller is constructed by bilinear interpolation where a controller designed at an end point of {p1_min, p2_min} is assumed K(1), a controller designed at an end point of {p1_min, p2_max} is assumed K(2), a controller designed at an end point of {p1_max, p2_min} is assumed K(3), a controller designed at an end point of {p1_max, p2_max} is assumed K(4), a v gap between transfer functions respectively fixed to p1_min and p2_min is assumed v1, a v gap between transfer functions respectively fixed to p1_min and p2_max is assumed v2, a v gap between transfer functions respectively fixed to p1_max and p2_min is assumed v3, a v gap between transfer functions respectively fixed to p1_max and p2_max is assumed v4, and p1, p2, p3, and p4 are given as the following expressions:
The use of weighting by the v gaps rather than the linear interpolation according to the characteristic of the present invention takes into consideration a geodesic distance of the non-Euclidean geometry, thereby lowering the error of the feedback control.
Note that such an embodiment in which three or more parameters may be chosen to construct a controller can be considered. However, it is desirable to keep the number of parameters to choose within a proper number, because when the number of parameters to choose is so large, a controller may be complicated and may not function in some cases.
The embodiments of the present invention have been described as above, but it will be understandable for a person skilled in the art that the present invention is not limited to a platform such as specific hardware or software, but is realizable on any given platform.
102 System Bus
104 CPU
106 Main Memory
108 Hard Disk Drive
114 Display
116 Interface Board
118 Controller
202 Main Program
204 LPV Model
206 Scheduling Parameter
208 Gap-calculation Module
210 Conversion Module
212 Controller-construction Module
402 Plant
404 Generalized plant