Controller definition

@CONTROLLER_DEFINITION {
@CONTROLLER_NAME {ContrlrName} {
@CONTROL_LAW_TYPE {ControlLawType}
@SIGNAL_LIST {Signal1, Signal2, ... SignalNs}
@CONTROL_SIGNAL_LIST {CntSig1, CntSig2, ...CntSigNc}
@NUMBER_OF_INPUTS {Ni}
@INPUT_MAPPING_MATRIX { M11I, M21I, ..., MNi, NsI}
@NUMBER_OF_OUTPUTS {No}
@OUTPUT_MAPPING_MATRIX {M11O, M21O, ..., MNc, NoO}
@COMMENTS {CommentText}
}
}

Introduction

Figure 1. Schematic of control law implementation.

Multibody systems are often interfaced with control systems. Within the framework of this code, a control system consists of three components, controllers, optional mapping matrices and control laws, as illustrated in a schematic manner in fig. 1.

The function of these three components is as follows.

  1. The controller is a generic interface between the multibody system and a control law. The controller collects information about the state of the system be means of Ns signals. The controller also interacts with the system by updating Nc control signals, which are each associated with a time function; in turn, these time functions are input to actuators or prescribed displacement elements.
  2. The optional input mapping matrix performs a linear transformation from the Ns signal measurements to the Ni control law inputs. If no input mapping matrix is defined, the inputs to the control law are the signal measurements and Ni = Ns.
  3. The optional output mapping matrix performs a linear transformation from the No control law outputs to the Nc control signals. If no output mapping matrix is defined, the outputs of the control law are the control signal values and No = Nc.
  4. The control law implements the actual control law of the control system. The control law uses Ni inputs and computes no outputs. Some control laws are imbedded in the multibody code, whereas other are provided by the user.

NOTES

  1. A controller is a generic interface between the multibody system and a control law. Control laws are either imbedded in the code or user provided.
    • Imbedded control laws are of the following types.
      • If ControlLawType = AUTO_PILOT, the controller implements an auto-pilot control law.
      • If ControlLawType = LINEAR_CONTROL_LAW, the controller implements a linear control law.
    • User defined control laws are of the following types. This option allows the direct implementation of a user defined control law; it is also possible to import a control law developed by an external code such as MATLAB/SIMULINK©.
      • If ControlLawType = USER_CONTROL_LAW_1, USER_CONTROL_LAW_2, USER_CONTROL_LAW_3, USER_CONTROL_LAW_4 or USER_CONTROL_LAW_5, the controller uses a user defined control law. Up to five user defined control laws can be simultaneously implemented.
  2. The inputs to the controller are the Ns signals, Signal1, Signal2, ...SignalNs. Each signal is associated with a sensor that extract information from various components of the model.
  3. The outputs of the controller are Nc control signals, CntSig1, CntSig2, ...CntSigNc. Each control signal is associated with a time function, which controls an element of the model, typically an actuator or a prescribed displacement element.
  4. An optional input mapping matrix can be defined that relates the signal measurements, S(Ns), to the control law inputs, y(Ni), through a linear transformation y(Ni) = MI(Ni x Ns) S(Ns). To define this mapping matrix, the sequence of two keywords must appear: @NUMBER_OF_INPUTS defines the number of control law inputs, Ni, and @INPUT_MAPPING_MATRIX defines the mapping matrix, MI(Ni x Ns), column by column}.
  5. An optional output mapping matrix can be defined that relates the control law outputs, u(No), to the control signal values, C(Nc), through a linear transformation C(Nc) = MO(Nc x No) u(No). To define this mapping matrix, the sequence of two keywords must appear: @NUMBER_OF_OUTPUTS defines the number of control law outputs, No, and @OUTPUT_MAPPING_MATRIX defines the mapping matrix, MO(Nc x No), column by column.
  6. It is possible to attach comments to the definition of the object; these comments have no effect on its definition.