Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Implement gain-scheduled state-space controller depending on two scheduling parameters

GNC/Control

The 2D Controller [A(v),B(v),C(v),D(v)] block implements a gain-scheduled state-space controller as defined by the equations

$$\begin{array}{l}\dot{x}=A(v)x+B(v)y\\ u=C(v)x+D(v)y\end{array}$$

where * v* is a vector of parameters over which

**A-matrix(v1,v2)**-matrix of the state-space implementation. In the case of 2-D scheduling, the*A*-matrix should have four dimensions, the last two corresponding to scheduling variables*A*1 and*v*2. Hence, for example, if the*v*-matrix corresponding to the first entry of*A*1 and first entry of*v*2 is the identity matrix, then*v*`A(:,:,1,1) = [1 0;0 1];`

.**B-matrix(v1,v2)**-matrix of the state-space implementation. In the case of 2-D scheduling, the*B*-matrix should have four dimensions, the last two corresponding to scheduling variables*B*1 and*v*2. Hence, for example, if the*v*-matrix corresponding to the first entry of*B*1 and first entry of*v*2 is the identity matrix, then*v*`B(:,:,1,1) = [1 0;0 1];`

.**C-matrix(v1,v2)**-matrix of the state-space implementation. In the case of 2-D scheduling, the*C*-matrix should have four dimensions, the last two corresponding to scheduling variables*C*1 and*v*2. Hence, for example, if the*v*-matrix corresponding to the first entry of*C*1 and first entry of*v*2 is the identity matrix, then*v*`C(:,:,1,1) = [1 0;0 1];`

.**D-matrix(v1,v2)**-matrix of the state-space implementation. In the case of 2-D scheduling, the*D*-matrix should have four dimensions, the last two corresponding to scheduling variables*D*1 and*v*2. Hence, for example, if the*v*-matrix corresponding to the first entry of*D*1 and first entry of*v*2 is the identity matrix, then*v*`D(:,:,1,1) = [1 0;0 1];`

.**First scheduling variable (v1) breakpoints**Vector of the breakpoints for the first scheduling variable. The length of

1 should be same as the size of the third dimension of*v*,*A*,*B*, and*C*.*D***Second scheduling variable (v2) breakpoints**Vector of the breakpoints for the second scheduling variable. The length of

2 should be same as the size of the fourth dimension of*v*,*A*,*B*, and*C*.*D***Initial state, x_initial**Vector of initial states for the controller, i.e., initial values for the state vector,

. It should have length equal to the size of the first dimension of*x*.*A*

Input | Dimension Type | Description |
---|---|---|

First | Any | Contains the measurements. |

Second | Contains the scheduling variable, conforming to the dimensions of the state-space matrices. | |

Third | Contains the scheduling variable, conforming to the dimensions of the state-space matrices. |

Output | Dimension Type | Description |
---|---|---|

First | Any | Contains the actuator demands. |

If the scheduling parameter inputs to the block go out of range, then they are clipped; i.e., the state-space matrices are not interpolated out of range.

See H-Infinity Controller (Two Dimensional Scheduling) in `aeroblk_lib_HL20`

for
an example of this block.

1D Controller [A(v),B(v),C(v),D(v)]

2D Observer Form [A(v),B(v),C(v),F(v),H(v)]

Was this topic helpful?