Composite Nonlinear Feedback Control Toolkit

    Guoyang Cheng, Ben M. Chen, Kemao Peng, Tong H. Lee

    The CNF Control Toolkit is developed under MATLAB (6.5 and above) with SIMULINK. It fully utilizes the GUI resources of MATLAB and provides a user-friendly graphical interface. It can be utilized to design a fast and smooth tracking controller for a class of linear and nonlinear systems with actuator and other nonlinearities as well as with external disturbances. The composite nonlinear feedback control for general SISO linear systems without disturbances and with disturbances introduced recently in the literature consists of a linear feedback law and a nonlinear feedback law. A more complete treatment of the subject can be found in the 2nd Edition of a Springer monograph, Hard Disk Drive Servo Systems. The linear feedback part is designed to yield a closed-loop system with a small damping ratio for a quick response, while the nonlinear feedback part is used to increase the damping ratio of the closed-loop system as the system output approaches the target reference to reduce the overshoot caused by the linear part. A nonlinearity pre-compensation will be implemented if there are plant nonlinearities that can be canceled using certain output feedback. If the given plant is noisy and/or has high frequency resonance modes, a low-pass or a notch filter can also be added to yield a good performance. An integrator can also be added to the overall controller design if there are external disturbances. The toolkit is capable of displaying both time-domain and frequency-domain responses on its main panel, and generating three different types of control laws, namely, the state feedback, the full order measurement feedback and the reduced order measurement feedback controllers.

    The main interface of the toolkit consists of three panels:

    • Main Panel: The simulation panel is the main portion of the CNF control toolkit. Users can specify directly on the panel the simulation parameters, such as the set point for the target reference, the duration of simulation and the sampling period. Users can also define the tracking performance indicator and obtain the result for settling time and steady state bias of the controlled output response. We have also implemented the following commands and functions on the simulation panel for saving and loading data as well as for evaluating the frequency domain properties of the overall control system. There are two windows in the simulation panel for displaying the system controlled output response and the control input signal, together with a block diagram showing the structure of the overall control system. Using the right button of the computer mouse to click on the window displaying the output response and control signal, users will be prompted by a small text window showing options to re-draw the plots on a new pop-out window or export the simulation data to the MATLAB workspace.
    • Plant Model Setup Panel: A setup panel for entering system data will be opened when the box labeled PLANT in the main simulation panel has been activated. In addition to the state space model of the given plant specified, the toolkit allows users to specify resonant modes of the plant as well on this panel. We note that high frequency resonant modes are existing almost in all physical systems. Because of the complexity of resonant modes, they are generally ignored or simplified in the controller design stage. However, they should be and have to be included in the simulation and evaluation of the overall control system design.
    • Controller Setup Panel: As the core of this toolkit, the CNF controller design is to be proceeded in a configurable and convenient fashion. A controller setup panel will be opened when the user has activated the box marked with CONTROLLER in the main simulation panel. This panel carries a block diagram for an adjustable controller configuration, which will automatically refresh if the user has made any change or re-selection on the controller structure. Users need to decide a controller structure first before proceeding to specify the corresponding controller parameters.

    The detailed description on the usage of the toolkit together with few sample design examples including two benchmark problems (one on an RTAC nonlinear system and the other on an HDD servo system). Interested readers might register your contact information below:

    Interested readers please send us an email with (1) your name; (2) email address; (3) institution; and (4) country. A zipped file, CNFv3.zip, containing all the m-functions of the toolkit will be sent to your email address. Please note that we might verify your information first before sending out the package to you. Once again, note that your information will be added to our database for distribution of future versions.


    The toolkit is free for use in research work only. Any commercial utilization of the package without the owners' permission is strictly prohibited.