# Self-Tuning of Design Variables for Generalized Predictive

## Transcript Of Self-Tuning of Design Variables for Generalized Predictive

NASA/TM-2000-210619

Self-Tuning Generalized

of Design Variables for Predictive Control

Chaung Institute Langley Hampton,

Lin for Computer Applications Research Center

Virginia

Jer-Nan Juang Langley Research Center Hampton, Virginia

in Science and Engineering

December 2000

The NASA STI Program Office... in Profile

Since its founding, NASA has been dedicated to

the advancement of aeronautics and space science. The NASA Scientific and Technical

Information (STI) Program Office plays a key part in helping NASA maintain this important role.

The NASA STI Program Office is operated by Langley Research Center, the lead center for NASA's scientific and technical information. The

NASA STI Program Office provides access to the NASA STI Database, the largest collection of aeronautical and space science STI in the world. The Program Office is also NASA's institutional mechanism for disseminating the results of its research and development activities. These results are published by NASA in the NASA STI Report Series, which includes the following report types:

TECHNICAL PUBLICATION. Reports of

completed research or a major significant

phase of research that present the results of NASA programs and include extensive

data or theoretical analysis. Includes compilations of significant scientific and technical data and information deemed to

be of continuing reference value. NASA counterpart of peer-reviewed formal

professional papers, but having less

stringent limitations on manuscript and extent of graphic presentations.

length

TECHNICAL MEMORANDUM. Scientific

and technical findings that are preliminary or of specialized interest, e.g., quick release reports, working papers, and bibliographies that contain minimal annotation. Does not contain extensive

analysis.

CONTRACTOR REPORT. Scientific and

technical findings by NASA-sponsored contractors and grantees.

CONFERENCE PUBLICATION. Collected

papers from scientific and technical conferences, symposia, seminars, or other meetings sponsored or co-sponsored by NASA.

SPECIAL PUBLICATION. Scientific, technical, or historical information from

NASA programs, projects, and missions, often concerned with subjects having substantial public interest.

TECHNICAL TRANSLATION. language translations of foreign

and technical material pertinent mission.

Englishscientific to NASA's

Specialized services that complement the STI Program Office's diverse offerings include creating custom thesauri, building customized databases, organizing and publishing research results ... even providing videos.

For more information about the NASA STI Program Office, see the following:

• Access the NASA STI Program Home Page "at http:llwww.sti.nasa.gov

• E-mail your question via the Internet to [email protected]

• Fax your question to the NASA STI Help Desk at (301) 621-0134

• Phone the NASA STI Help Desk at (301) 621-0390

Write to:

NASA STI Help Desk NASA Center for AeroSpace 7121 Standard Drive

Hanover, MD 21076-1320

Information

NASA/TM-2000-210619

Self-Tuning Generalized

of Design Variables for Predictive Control

Chaung Institute Langley Hampton,

Lin for Computer Applications Research Center

Virginia

in Science and Engineering

Jer-Nan Juang Langley Research Center Hampton, Virginia

National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23681-2199

December 2000

Available from:

NASA Center for AeroSpace 7121 Standard Drive

Hanover, MD 21076-1320 (301) 621-0390

Information

(CASI)

National Technical Information 5285 Port Royal Road Springfield, VA 22161-2171 (703) 605-6000

Service (NTIS)

Self-Tuning of Design Variables For Generalized Predictive Control

Chaung Lin 2 National Tsing Hua University

Hsinchu, Taiwan 300 Republic of China

Jer-Nan Juang 3 NASA Langley Research Center

Hampton, Virginia 23681 United States of America

Abstract

Three techniques are introduced to determine the order and control weighting for

the design of a generalized predictive controller.

These techniques are based on the

application of fuzzy logic, genetic algorithms, and simulated annealing to conduct an

optimal search on specific performance indexes or objective functions. Fuzzy logic is

found to be feasible for real-time and on-line implementation due to its smooth and quick

convergence.

On the other hand, genetic algorithms and simulated annealing are

applicable for initial estimation of the model order and control weighting, and final fine-

tuning within a small region of the solution space. Several numerical simulations for a

multiple-input and multiple-output system are given to illustrate the techniques developed

in this paper.

1 This research was performed when the first author visited the Institute for Computer Applications

in

Science and Engineering,

NASA Langley Research Center, Hampton, Virginia, USA.

2 Professor of Engineering

and System Science, [email protected]

3 Principal Scientist,

Structural

Dynamics

Branch,

MS 230, [email protected] I

Introduction

Adaptive predictive feedback control has been successfully used to suppress plate vibrations for acoustic noise reduction as presented in Ref. 1. The adaptive predictive

controller consists of an on-line identification technique coupled with a control scheme.

The basic design variables used in generalized predictive control (GPC) include autoregressive exogeneous (ARX) model order for on-line identification and control

weighting for computing control force. They must be determined before on-line

implementation.

The values of these variables are typically obtained by experience or

trial-and-error methods. Therefore, an experienced engineer is needed to perform the tuning process. Also, the optimal performance might not be achieved.

An on-line tuning method using fuzzy logic rules will be developed. Starting with a set of proper initial values for the design variables, GPC performance can be gradually

improved. The required data are collected and then sent to the higher level. At the

higher level, the fuzzy logic rules are used to adjust the design variables. The procedure is repeated until some stopping criterion is met. However, the stability of the GPC

controller cannot be guaranteed.

To solve the aforementioned problem, an optimization problem is formed. An

objective function is defined, which includes a term to reflect performance and a

controller stability penalty term. A genetic algorithm or simulated annealing is adopted to perform optimal search for control weighting and ARX model order. Both methods

need to evaluate the objective function performance may be presented during

over the solution space, which the search process. Therefore,

means that poor this method is

suitable for the initial tuning and the fine-tuning of the control weighting. During the

initial tuning, the objective function evaluation should use an identified system model

instead of on-line experimental data. However, during the fine-tuning, the range of solution space is limited so that only the acceptable performance will occur. Therefore, on-line tuning is feasible in the latter case.

Generalized Predictive Control

Consider

the predictive

matrix equation 2

as defined

in Ref. (1)

Ys (k) = Tu s (k) + ®Vp (k - p)

(1)

The vectors ys(k)and

us (k )consist of current and future output and input data,

respectively, from the current time step k to a desired future time step k+s-1,

Ys (k) = y(k i+ 1) and u s (k) = u(k + 1) (2)

y(k + s - 1)J

u(k + s - 1)J

and vp (k - p) contains past input and output data from time step k-p to k-l,

-y(k - p)-

y(k -1)

vp (k - p) =

(3)

u(k - p)

u(k-1)

The matrixT is a Toeplitz matrix which is formed from the pulse response sequence. The

matrix @ is a rectangular coefficient matrix. The integer p is the order of the identified

model and s is the prediction horizon.

The goal of the predictive minimizes the cost function

control is to compute the control force us(k) that

J(k) = 1 {y(k)- _y(k)]rs[y(k) - y(k]+ Us(k) r Aus(k)}

(4)

where A is a positive-definite matrix to weight the force vector us(k). Taking the

derivative of the resulting equation with respect to u s (k) with the aid of Eq. (1) yields

us(k ) = -[TrT + Al-lTr[®v_ (k - p) -_(k) ]

(5)

The first r values of the force vector u, (k) are applied to the r control inputs, the

remainder is discarded, and a new control sequence is calculated the next time step. In

order to carry out the above process, the desired outputs in the vector Ys (k) must be

given. In the regulation problem, with zero desired outputs results

the desired in

plant output is zero. Taking

the first r rows

u(k) = First r rows of {-[TrT + A] -_ T r }®vp (k - p)

(6)

When A is a zero matrix, the closed-loop system will be unstable for non-minimum systems because the matrix T is rank deficient. The quantity A must be carefully tuned to make the system stable.

Application of Fuzzy Logic

In theory, the smaller the value of A, the better the performance of GPC, which is

due to rather large control magnitude.

However, there is a limitation of control

magnitude and so the performance and control magnitude should be traded off, which is

determined by A. For simplicity, assume that the weighting matrix A is an identity

matrix multiplied by a scalar _,. This is a common assumption in practice in predictive

control applications. The fuzzy logic rules are developed to tune the value of/1,. To

understand fuzzy logic, the reader is directed to Ref. 2 for further information.

Control Weighting Tuning In this study, the antecedent

part of fuzzy rules has two inputs, i.e., performance

index (PI) and control index (CI), which are defined as follows.

4

PI= RMS[yrop(k)Yop(k)]

(7)

CI = Max ku(k)l/Uma x

(8)

where y(k) is the system output with control, yop(k) is the system output without control, u(k) is the control, Uma_is the maximum control force allowed, and k is the time step.

The membership functions of linguist variables are shown in Fig. 1 and the rule

matrix is shown in Table 1. The output linguist variable (multiplication factor) has ten

linguist labels, which are represented by 1 to 10 as shown in Fig. 1. The number 7 means

zero action. Note that the multiplication factor value is an exponent to a number that is

two in this study. For example, if PI = 0.5 and CI = 0.8 computed from Eqs. (7) and (8),

then PI is A and CI is A with degree 1 (see Fig. 1). From Table 1, only one fuzzy rule is

activated and its label is 6. The corresponding

value from the bottom figure in Fig. 1

results in -0.5. The final multiplication to the control weighting 2. is 2 x =0.70711 where

x= -0.5. The integer 2 is introduced to regulate the change of ,,_. Any other integer or

number may be used for different weighting is

applications.

The recursive update law for the control

/]'new _ 2x/]'old

(9)

Now consider the case where PI = 0.4, then both fired degrees of G and A from the

top figure of Fig. 1 are 0.5. In addition, if CI = 1, the degree of linguist label U from the

middle figure of Fig. 1 is 1. According to Table 1, the activated rules are linguist labels 8

and 9. The defuzzified value becomes 0.75. Thus the multiplication

to the control

weighting is 2 o.75. The negative value of x means the multiplier is less than one, i.e.,

decrease 2, and the positive value means greater than one, i.e., increase 2. The fuzzy

rules are briefly described as below.

(1) If the controller performance is good and the control effort is close to the maximum

value, then 2, should be increased, i.e., using the linguist label 8-10.

(2) If the controller performanceis not satisfiedandthe control magnitudehasroom to increase,then,_. should be decreased, i.e., using linguist label 1-6.

(3) If both PI and CI are satisfied or there is no room to increase control magnitude, then should be kept constant, i.e., using the linguist label 7.

The universe of discourse defined for the fuzzy variables in this study may not be

suitable for other systems. However, this problem can be overcome by multiplying the

signals by a scalar before fuzzification so that the fuzzy rules can be applied correctly.

For example, if the value of variable PI is 0.3, the degree of good is 1.0 according to Fig.

1. If the value 0.3 is excellent in a specific system, the signal PI should be multiplied by

1/3 to become 0.1 and PI should be excellent with degree close to 1 after fuzzification.

On the other hand, if this value is only acceptable, the signal should be multiplied by 5/3

to yield 0.5 so that it will belong to acceptable with degree close to 1 after fuzzification.

With these modifications, the defined fuzzy logic rules can be applied to many different

systems.

The computational follows

procedure for control weighting tuning can be summarized as

1. Perform an open loop experiment with a given input sequence u(k) where k = 1,2,.../

to obtain the open-loop output response history Yop (k) with k = 1,2,...l. Note that the system may also be excited by unknown disturbances. 2. Set the control weighting to an initial value, 2 = 1 for example. 3. Perform system identification to compute T and ® shown in Eq. (1). 4. Determine the control law according to Eq. (6). 5. Close the system loop using the control force defined by Eq. (6). 6. Compute the performance index (PI) and the control index (CI) using Eqs. (7) and (8). 7. Update the control weighting using the fuzzy rules described earlier. 8. Repeat step 3 to 7 until the weighting 2 converges.

Self-Tuning Generalized

of Design Variables for Predictive Control

Chaung Institute Langley Hampton,

Lin for Computer Applications Research Center

Virginia

Jer-Nan Juang Langley Research Center Hampton, Virginia

in Science and Engineering

December 2000

The NASA STI Program Office... in Profile

Since its founding, NASA has been dedicated to

the advancement of aeronautics and space science. The NASA Scientific and Technical

Information (STI) Program Office plays a key part in helping NASA maintain this important role.

The NASA STI Program Office is operated by Langley Research Center, the lead center for NASA's scientific and technical information. The

NASA STI Program Office provides access to the NASA STI Database, the largest collection of aeronautical and space science STI in the world. The Program Office is also NASA's institutional mechanism for disseminating the results of its research and development activities. These results are published by NASA in the NASA STI Report Series, which includes the following report types:

TECHNICAL PUBLICATION. Reports of

completed research or a major significant

phase of research that present the results of NASA programs and include extensive

data or theoretical analysis. Includes compilations of significant scientific and technical data and information deemed to

be of continuing reference value. NASA counterpart of peer-reviewed formal

professional papers, but having less

stringent limitations on manuscript and extent of graphic presentations.

length

TECHNICAL MEMORANDUM. Scientific

and technical findings that are preliminary or of specialized interest, e.g., quick release reports, working papers, and bibliographies that contain minimal annotation. Does not contain extensive

analysis.

CONTRACTOR REPORT. Scientific and

technical findings by NASA-sponsored contractors and grantees.

CONFERENCE PUBLICATION. Collected

papers from scientific and technical conferences, symposia, seminars, or other meetings sponsored or co-sponsored by NASA.

SPECIAL PUBLICATION. Scientific, technical, or historical information from

NASA programs, projects, and missions, often concerned with subjects having substantial public interest.

TECHNICAL TRANSLATION. language translations of foreign

and technical material pertinent mission.

Englishscientific to NASA's

Specialized services that complement the STI Program Office's diverse offerings include creating custom thesauri, building customized databases, organizing and publishing research results ... even providing videos.

For more information about the NASA STI Program Office, see the following:

• Access the NASA STI Program Home Page "at http:llwww.sti.nasa.gov

• E-mail your question via the Internet to [email protected]

• Fax your question to the NASA STI Help Desk at (301) 621-0134

• Phone the NASA STI Help Desk at (301) 621-0390

Write to:

NASA STI Help Desk NASA Center for AeroSpace 7121 Standard Drive

Hanover, MD 21076-1320

Information

NASA/TM-2000-210619

Self-Tuning Generalized

of Design Variables for Predictive Control

Chaung Institute Langley Hampton,

Lin for Computer Applications Research Center

Virginia

in Science and Engineering

Jer-Nan Juang Langley Research Center Hampton, Virginia

National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23681-2199

December 2000

Available from:

NASA Center for AeroSpace 7121 Standard Drive

Hanover, MD 21076-1320 (301) 621-0390

Information

(CASI)

National Technical Information 5285 Port Royal Road Springfield, VA 22161-2171 (703) 605-6000

Service (NTIS)

Self-Tuning of Design Variables For Generalized Predictive Control

Chaung Lin 2 National Tsing Hua University

Hsinchu, Taiwan 300 Republic of China

Jer-Nan Juang 3 NASA Langley Research Center

Hampton, Virginia 23681 United States of America

Abstract

Three techniques are introduced to determine the order and control weighting for

the design of a generalized predictive controller.

These techniques are based on the

application of fuzzy logic, genetic algorithms, and simulated annealing to conduct an

optimal search on specific performance indexes or objective functions. Fuzzy logic is

found to be feasible for real-time and on-line implementation due to its smooth and quick

convergence.

On the other hand, genetic algorithms and simulated annealing are

applicable for initial estimation of the model order and control weighting, and final fine-

tuning within a small region of the solution space. Several numerical simulations for a

multiple-input and multiple-output system are given to illustrate the techniques developed

in this paper.

1 This research was performed when the first author visited the Institute for Computer Applications

in

Science and Engineering,

NASA Langley Research Center, Hampton, Virginia, USA.

2 Professor of Engineering

and System Science, [email protected]

3 Principal Scientist,

Structural

Dynamics

Branch,

MS 230, [email protected] I

Introduction

Adaptive predictive feedback control has been successfully used to suppress plate vibrations for acoustic noise reduction as presented in Ref. 1. The adaptive predictive

controller consists of an on-line identification technique coupled with a control scheme.

The basic design variables used in generalized predictive control (GPC) include autoregressive exogeneous (ARX) model order for on-line identification and control

weighting for computing control force. They must be determined before on-line

implementation.

The values of these variables are typically obtained by experience or

trial-and-error methods. Therefore, an experienced engineer is needed to perform the tuning process. Also, the optimal performance might not be achieved.

An on-line tuning method using fuzzy logic rules will be developed. Starting with a set of proper initial values for the design variables, GPC performance can be gradually

improved. The required data are collected and then sent to the higher level. At the

higher level, the fuzzy logic rules are used to adjust the design variables. The procedure is repeated until some stopping criterion is met. However, the stability of the GPC

controller cannot be guaranteed.

To solve the aforementioned problem, an optimization problem is formed. An

objective function is defined, which includes a term to reflect performance and a

controller stability penalty term. A genetic algorithm or simulated annealing is adopted to perform optimal search for control weighting and ARX model order. Both methods

need to evaluate the objective function performance may be presented during

over the solution space, which the search process. Therefore,

means that poor this method is

suitable for the initial tuning and the fine-tuning of the control weighting. During the

initial tuning, the objective function evaluation should use an identified system model

instead of on-line experimental data. However, during the fine-tuning, the range of solution space is limited so that only the acceptable performance will occur. Therefore, on-line tuning is feasible in the latter case.

Generalized Predictive Control

Consider

the predictive

matrix equation 2

as defined

in Ref. (1)

Ys (k) = Tu s (k) + ®Vp (k - p)

(1)

The vectors ys(k)and

us (k )consist of current and future output and input data,

respectively, from the current time step k to a desired future time step k+s-1,

Ys (k) = y(k i+ 1) and u s (k) = u(k + 1) (2)

y(k + s - 1)J

u(k + s - 1)J

and vp (k - p) contains past input and output data from time step k-p to k-l,

-y(k - p)-

y(k -1)

vp (k - p) =

(3)

u(k - p)

u(k-1)

The matrixT is a Toeplitz matrix which is formed from the pulse response sequence. The

matrix @ is a rectangular coefficient matrix. The integer p is the order of the identified

model and s is the prediction horizon.

The goal of the predictive minimizes the cost function

control is to compute the control force us(k) that

J(k) = 1 {y(k)- _y(k)]rs[y(k) - y(k]+ Us(k) r Aus(k)}

(4)

where A is a positive-definite matrix to weight the force vector us(k). Taking the

derivative of the resulting equation with respect to u s (k) with the aid of Eq. (1) yields

us(k ) = -[TrT + Al-lTr[®v_ (k - p) -_(k) ]

(5)

The first r values of the force vector u, (k) are applied to the r control inputs, the

remainder is discarded, and a new control sequence is calculated the next time step. In

order to carry out the above process, the desired outputs in the vector Ys (k) must be

given. In the regulation problem, with zero desired outputs results

the desired in

plant output is zero. Taking

the first r rows

u(k) = First r rows of {-[TrT + A] -_ T r }®vp (k - p)

(6)

When A is a zero matrix, the closed-loop system will be unstable for non-minimum systems because the matrix T is rank deficient. The quantity A must be carefully tuned to make the system stable.

Application of Fuzzy Logic

In theory, the smaller the value of A, the better the performance of GPC, which is

due to rather large control magnitude.

However, there is a limitation of control

magnitude and so the performance and control magnitude should be traded off, which is

determined by A. For simplicity, assume that the weighting matrix A is an identity

matrix multiplied by a scalar _,. This is a common assumption in practice in predictive

control applications. The fuzzy logic rules are developed to tune the value of/1,. To

understand fuzzy logic, the reader is directed to Ref. 2 for further information.

Control Weighting Tuning In this study, the antecedent

part of fuzzy rules has two inputs, i.e., performance

index (PI) and control index (CI), which are defined as follows.

4

PI= RMS[yrop(k)Yop(k)]

(7)

CI = Max ku(k)l/Uma x

(8)

where y(k) is the system output with control, yop(k) is the system output without control, u(k) is the control, Uma_is the maximum control force allowed, and k is the time step.

The membership functions of linguist variables are shown in Fig. 1 and the rule

matrix is shown in Table 1. The output linguist variable (multiplication factor) has ten

linguist labels, which are represented by 1 to 10 as shown in Fig. 1. The number 7 means

zero action. Note that the multiplication factor value is an exponent to a number that is

two in this study. For example, if PI = 0.5 and CI = 0.8 computed from Eqs. (7) and (8),

then PI is A and CI is A with degree 1 (see Fig. 1). From Table 1, only one fuzzy rule is

activated and its label is 6. The corresponding

value from the bottom figure in Fig. 1

results in -0.5. The final multiplication to the control weighting 2. is 2 x =0.70711 where

x= -0.5. The integer 2 is introduced to regulate the change of ,,_. Any other integer or

number may be used for different weighting is

applications.

The recursive update law for the control

/]'new _ 2x/]'old

(9)

Now consider the case where PI = 0.4, then both fired degrees of G and A from the

top figure of Fig. 1 are 0.5. In addition, if CI = 1, the degree of linguist label U from the

middle figure of Fig. 1 is 1. According to Table 1, the activated rules are linguist labels 8

and 9. The defuzzified value becomes 0.75. Thus the multiplication

to the control

weighting is 2 o.75. The negative value of x means the multiplier is less than one, i.e.,

decrease 2, and the positive value means greater than one, i.e., increase 2. The fuzzy

rules are briefly described as below.

(1) If the controller performance is good and the control effort is close to the maximum

value, then 2, should be increased, i.e., using the linguist label 8-10.

(2) If the controller performanceis not satisfiedandthe control magnitudehasroom to increase,then,_. should be decreased, i.e., using linguist label 1-6.

(3) If both PI and CI are satisfied or there is no room to increase control magnitude, then should be kept constant, i.e., using the linguist label 7.

The universe of discourse defined for the fuzzy variables in this study may not be

suitable for other systems. However, this problem can be overcome by multiplying the

signals by a scalar before fuzzification so that the fuzzy rules can be applied correctly.

For example, if the value of variable PI is 0.3, the degree of good is 1.0 according to Fig.

1. If the value 0.3 is excellent in a specific system, the signal PI should be multiplied by

1/3 to become 0.1 and PI should be excellent with degree close to 1 after fuzzification.

On the other hand, if this value is only acceptable, the signal should be multiplied by 5/3

to yield 0.5 so that it will belong to acceptable with degree close to 1 after fuzzification.

With these modifications, the defined fuzzy logic rules can be applied to many different

systems.

The computational follows

procedure for control weighting tuning can be summarized as

1. Perform an open loop experiment with a given input sequence u(k) where k = 1,2,.../

to obtain the open-loop output response history Yop (k) with k = 1,2,...l. Note that the system may also be excited by unknown disturbances. 2. Set the control weighting to an initial value, 2 = 1 for example. 3. Perform system identification to compute T and ® shown in Eq. (1). 4. Determine the control law according to Eq. (6). 5. Close the system loop using the control force defined by Eq. (6). 6. Compute the performance index (PI) and the control index (CI) using Eqs. (7) and (8). 7. Update the control weighting using the fuzzy rules described earlier. 8. Repeat step 3 to 7 until the weighting 2 converges.