A tour through PARADISE
Starting a PARADISE session
To start up PARADISE simply type paradise at the MATLAB-prompt. This will start up the main control window and automatically connect to the MATLAB Extended Symbolic Math Toolbox which is used to perform symbolic computations. From the menus of the main control window all further inputs can be accomplished and in general the user does not have to return to the Matlab window.
The main window is illustrated in the figure above. The logo of the toolbox represents the color-coded value set of a track guided vehicle for fixed frequency.
Input specifications
The plant
Different kinds of inputs are necessary. The most obvious one is the plant itself. For this purpose a graphical user interface (GUI) was developed. PARADISE offers two different ways to specify the plant and controller structure: The more comfortable manner is the plant specification via Simulink. Once the user has selected the desired model, the information contained in the Simulink model is passed to the Extended Symbolic Math Toolbox, where a parametric representation of the closed-loop is calculated. If the Simulink model is changed the system equations have to be re-calculated. In order to save computation time, especially for larger systems, the symbolic system equations can be saved. When re-reading the Simulink-model in a later session, the saved data will be passed to the Extended Symbolic Math Toolbox without again calculating the system equations from the Simulink model. If Simulink is not available, the closed-loop system equations (state-space or transfer function representation) have to be typed in manually.
The next figure shows an example of a Simulink model. It illustrates the block diagram of a crane positioning control. The example represents a continuous plant family. PARADISE also allows to handle multi-model representations, where a finite number of linear plants are given as representatives of a nonlinear plant. Typical applications are flight control problems where only linearized models for various flight conditions are given.
The description of the block Crane in the Simulink model points to another feature of PARADISE, see below.
This block contains the description of the crane dynamics which is of fourth order for the linearized crane model as it is used here. The state space matrices
were given in a very general form, for example
The entries of this matrix depend on crane parameters like crab mass, load mass, and rope length. This dependency could, of course, be declared in the Simulink model. However, if the system order is large, the detailed specification of the matrices in the Simulink block would be quite awkward and could easily lead to typing errors. To facilitate this procedure, it is possible to substitute Simulink parameters after the symbolic system equations are determined: the parameters contained in the Simulink model are determined from the symbolic equations, see the next figure. The user now has the possibility to substitute these parameters by their actual dependency. In the example,
was replaced by
. Of course not all parameters have to be replaced, like for example the controller parameters
to
.
The operating domain
After a substitution was performed the resulting parameters have to be classified. Three classes of parameters exist:
- Varying parameters: These are plant parameters which are uncertain (for example the crab mass) or vary but can be measured.
- Fixed parameters: These are plant parameters which will not change their value (for example the wheel base of a car)
- Controller parameters: to be determined by the design process
The uncertain parameters are assumed to vary within given intervals. The interface in the next figure allows the specification of these values. Also, the values for fixed and controller parameters have to be set.
The
-region
For technical applications Hurwitz-stability is mostly not sufficient. Further specifications, like settling time, damping, and bandwidth, have to be met. Several specifications can be translated into locations of eigenvalues which leads to a restricted set of eigenvalues in the left half plane. This set of admissible eigenvalue locations of the closed-loop is referred to as
. A graphical editor for the construction of such regions is part of PARADISE. It offers a set of basic elements (e.g. shifted left half plane, pair of lines of constant damping, hyperbolas, circles, ellipses, etc.) from which the region
can be composed. The example below illustrates the functionality of the
-editor. The region consists simply of a hyperbola. This guarantees a certain degree of damping and a maximal settling time of the system.
The basic elements can be combined arbitrarily using the operations intersection and union. Additionally, each element can be used in its inverted form. The basic elements can be modified by clicking on the specific element and dragging it with the mouse to the new location. Multiple -regions can be loaded and edited in a PARADISE session.
Algorithms - The parameter space approach
As an example of algorithms implemented in the toolbox the parameter space approach will be illustrated in this overview. Once the input specifications have been accomplished, the parameter space approach can be selected from the Algorithms-menu in the main control window. This will fire up a new window titled ``Parameter Space'', see below. The parameter space approach is used to determine the set of stabilizing parameters in a parameter plane. For this purpose, the plane has to be fixed before any calculations can be executed. The user can select the desired plane using the two popup menues displayed her.
After the plane was specified the user starts the computations of the stability boundaries from the Run-menu. An example is illustrated in in the figure above. Dashed lines identify ``real root'' boundaries, solid lines ``complex root'' boundaries. The stability boundaries divide the parameter plane into a finite number of regions. By checking
-stability of each region in the parameter plane the set of simultaneously
-stabilizing parameters can be identified. This is accomplished by selecting the appropriate function from the Options-menu and selecting different points in the parameter plane by mouse click. A message in the Matlab-window reports
-stability or
-instability. Several others functionalities are implemented, for example scaling and identification of curves.