Main Content

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

Implement gain-scheduled state-space controller in observer form depending on three scheduling parameters

  • Library:
  • Aerospace Blockset / GNC / Control

  • 3D Observer Form [A(v),B(v),C(v),F(v),H(v)] block

Description

The 3D Observer Form [A(v),B(v),C(v),F(v),H(v)] block implements a gain-scheduled state-space controller defined in Algorithms.

The main application of this block is to implement a controller designed using H-infinity loop-shaping. Use this block to implement a controller designed using H-infinity loop-shaping, one of the design methods supported by Robust Control Toolbox.

Limitations

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

Ports

Input

expand all

Set-point error, specified as a vector.

Data Types: double

First scheduling variable, specified as a vector, that conforms to the dimensions of the state-space matrices.

Data Types: double

Second scheduling variable, specified as a vector, that conforms to the dimensions of the state-space matrices.

Data Types: double

Third scheduling variable, specified as a vector, that conforms to the dimensions of the state-space matrices.

Data Types: double

Measured actuator position, specified as a vector.

Data Types: double

Output

expand all

Actuator demands, specified as a vector.

Data Types: double

Parameters

expand all

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 v1, v2, and v3. For example, if the A-matrix corresponding to the first entry of v1, the first entry of v2, and the first entry of v3 is the identity matrix, then A(:,:,1,1,1) = [1 0;0 1];.

Programmatic Use

Block Parameter: A
Type: character vector
Values: vector
Default: 'A'

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 v1, v2, and v3. For example, if the B-matrix corresponding to the first entry of v1, the first entry of v2, and the first entry of v3 is the identity matrix, then B(:,:,1,1,1) = [1 0;0 1];.

Programmatic Use

Block Parameter: B
Type: character vector
Values: vector
Default: 'B'

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 v1, v2, and v3. For example, if the C-matrix corresponding to the first entry of v1, the first entry of v2, and the first entry of v3 is the identity matrix, then C(:,:,1,1,1) = [1 0;0 1];.

Programmatic Use

Block Parameter: C
Type: character vector
Values: vector
Default: 'C'

State-feedback matrix. In the case of 3-D scheduling, the F-matrix should have five dimensions, the last three corresponding to scheduling variables v1, v2, and v3. For example, if the F-matrix corresponding to the first entry of v1, the first entry of v2, and the first entry of v3 is the identity matrix, then F(:,:,1,1,1) = [1 0;0 1];.

Programmatic Use

Block Parameter: F
Type: character vector
Values: vector
Default: 'F'

Observer (output injection) matrix. In the case of 3-D scheduling, the H-matrix should have five dimensions, the last three corresponding to scheduling variables v1, v2, and v3. For example, if the H-matrix corresponding to the first entry of v1, the first entry of v2, and the first entry of v3 is the identity matrix, then H(:,:,1,1,1) = [1 0;0 1];.

Programmatic Use

Block Parameter: H
Type: character vector
Values: vector
Default: 'H'

Vector of the breakpoints for the first scheduling variable. The length of v1 should be same as the size of the third dimension of A, B, C, F, and H.

Programmatic Use

Block Parameter: AoA_vec
Type: character vector
Values: vector
Default: 'v1_vec'

Vector of the breakpoints for the second scheduling variable. The length of v2 should be same as the size of the fourth dimension of A, B, C, F, and H.

Programmatic Use

Block Parameter: AoS_vec
Type: character vector
Values: vector
Default: 'v2_vec'

Vector of the breakpoints for the third scheduling variable. The length of v3 should be same as the size of the fifth dimension of A, B, C, F, and H.

Programmatic Use

Block Parameter: Mach_vec
Type: character vector
Values: vector
Default: 'v3_vec'

Vector of initial states for the controller, that is, initial values for the state vector, x. It should have length equal to the size of the first dimension of A.

Programmatic Use

Block Parameter: x_initial
Type: character vector
Values: vector
Default: '0'

Algorithms

The block implements gain-scheduled state-space controller as defined by these equations:

x˙=(A(v)+H(v)C(v))x+B(v)umeas+H(v)(yydem)udem=F(v)x

References

[1] Hyde, R. A. "H-infinity Aerospace Control Design — A VSTOL Flight Application." Advances in Industrial Control Series, Springer Verlag, 1995.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced before R2006a