Implement gain-scheduled state-space controller in self-conditioned form depending on two scheduling parameters

GNC/Control

The 3D Self-Conditioned [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}$$

in the self-conditioned form

$$\begin{array}{l}\dot{z}=\left(A(v)-H(v)C(v)\right)z+\left(B(v)-H(v)D(v)\right)e+H(v){u}_{meas}\\ {u}_{dem}=C(v)z+D(v)e\end{array}$$

For the rationale behind this self-conditioned implementation,
refer to the Self-Conditioned [A,B,C,D] block reference. These blocks
implement a gain-scheduled version of the Self-Conditioned [A,B,C,D]
block, *v* being the vector of parameters over which *A*, *B*, *C*,
and *D* are defined. This type of controller scheduling
assumes that the matrices *A*, *B*, *C*,
and *D* vary smoothly as a function of *v*,
which is often the case in aerospace applications.

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

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

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

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

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

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

*v*2 should be same as the size of the fourth dimension of*A*,*B*,*C*, and*D*.**Third scheduling variable (v3) breakpoints**Vector of the breakpoints for the third scheduling variable. The length of

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

*x*. It should have length equal to the size of the first dimension of*A*.**Poles of A(v)-H(v)*C(v)**Vector of the desired poles of

*A*-*HC*. Note that the poles are assigned to the same locations for all values of the scheduling parameter*v*. Hence the number of pole locations defined should be equal to the length of the first dimension of the*A*-matrix.

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

First | Contains the measurements. | |

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

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

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

Fifth | Contains the measured actuator position. |

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

First | Contains the measured actuator position. |

The first input is the measurements.

The second, third, and fourth inputs are the scheduling variables ordered conforming to the dimensions of the state-space matrices.

The fifth input is the measured actuator position.

The output is 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.

This block requires the Control System Toolbox™ product.

The algorithm used to determine the matrix H is defined in Kautsky,
Nichols, and Van Dooren, “Robust Pole Assignment in Linear
State Feedback,” *International Journal of Control*,
Vol. 41, No. 5, pages 1129-1155, 1985.

1D Self-Conditioned [A(v),B(v),C(v),D(v)]

2D Self-Conditioned [A(v),B(v),C(v),D(v)]

Was this topic helpful?