The goal of the thesis is to develop an intelligent software tool, which is capable of analyzing and eventually controlling a modeled system. I plan to focus on series compensation for linear feedback systems. A user provides an uncompensated system along with specifications in both the time and the frequency domains. These requirements are to be met with proper compensation. The software is responsible for finding a solution if one exists. If the requirements cannot be met, the tool decides what tradeoffs need to be made to optimize the design. The difficulty of this research project is in designing an effective method to resolve the tradeoffs required by feedback systems control and to come up with a properly compensated system .
Table of Contents
The motivation for this project is my personal interest in feedback theory and the challenges of compensation design. I hope to make the process of designing proper compensation more efficient by providing a software tool, which will automatically design proper compensation. Many students including myself have difficulty finding efficient methods for designing a good compensator for a particular feedback system. There is no clearly defined or rigorous method to approach such problems. Students often end up plugging numbers and do not develop any intuition. The software tool that I am planning on designing will allow them to view their uncompensated and compensated systems� properties. Users will be able to compare properties of systems in both the time and the frequency domains. The most common system design specification options will be implemented as well so that students can compare their paper designs with the one the automatic compensation tool comes up with.
Moreover, I will provide documentation on the usage of my software tool and the methods that I will implement.
There has been significant development in the software compensation schemes by MathWorks, Inc. Their Control Systems Toolbox, described in section 1.2.2, is a powerful analysis and design tool running as an extension to Matlab, which provides computational and visual support functions. However, these tools are somewhat expensive. Other companies� products in this area are not focused on system analysis more so than compensation design. Their products build on top of the Matlab package and are platform dependent. I hope to be able to run my software on any browser, making it platform independent. Moreover it will be free to use.
A feedback control system regulates an output variable based on information from the output variable itself. It is a type of closed loop control where the control is dependent on the controlled variable. The system which is being controlled is called a plant.
An Example of A Typical Feedback System
Depending on the specifications, a well-designed feedback system can be one where:
- System output is following commands with very high accuracy.
- Disturbances are rejected.
- Sensitivity to uncertain system parameters is lower.
- Plant�s stability problems are resolved.
- The dynamics of a plant are improved. Those include response time, overshoot, degree of stability, and more.
The list above represents the most common design requirements.
They are not necessarily parallel and most of the design of feedback systems requires making appropriate tradeoffs that will ensure the most important characteristics of such system are achieved. Most real life systems are modeled as linear and time-invariant. Moreover, first and second order systems are often used to approximate the characteristics of more complex feedback systems. This makes analyzing and compensating such systems much easier.
Feedback system performance can be specified in either the time domain or the frequency domain.
In order to improve system�s performance, various techniques of compensation can be used depending on the designer�s objective. One approach is a series or cascade compensation, where the compensating elements are in series with the plant.
Types of series compensation:
- Proportional control � gain of the loop is varied in order to control the degree of stability.
- Lag compensation � a pole and then a higher frequency zero are placed well below the crossover frequency; this compensation can improve error magnitudes in a system�s responses because it allows for higher gains; however it introduces a long tail transient in the system�s time response.
- Lead compensation � a zero and then a pole are placed around the crossover frequency. This compensation allows us to increase crossover frequency and therefore results in the fastest transient response; however, large bandwidth leads to greater noise sensitivity; low frequency behavior is not improved by this compensation. On the contrary, the steady state error magnitude might increase.
- Lead and lag compensation � we can combine both types of compensation to have improved behavior at all frequencies; lead will improve the bandwidth of the system and ensure reasonable phase margin; lag will provide for higher low frequency gain and therefore low steady state error magnitudes.
Another approach is using minor loop compensation. This type of compensation is used when noise, nonlinearities, and uncertainties can considerably affect characteristics of the plant. The two most frequently used types are single pole compensation and two-pole compensation.
MathWorks, Inc. is currently the leading developer and supplier of system analysis and design software. Matlab, one of their core products, is an interactive program for numerical computation and data visualization; it is used extensively by control engineers for analysis and design. There are many different toolboxes available which extend the basic functionality of Matlab into different application areas. In the area of systems control, the Control System Toolbox contains specialized tools for the design and analysis of automatic control systems. The toolbox provides various control design methods, including root locus and pole placement. A Graphical User Interface allows the user to evaluate control system performance using standard plotting techniques such as Bode, Nichols, Nyquist, pole-zero, and more. Matlab and the Control System Toolbox are supported on Unix, Macintosh, and Windows environments.
In addition to the MathWorks� software tools, some third-party solutions have been developed. Most of them however build on top of the Matlab computing environment. The most relevant examples are:
- ACD � Automatic controller design and automatic robust controller design by Delzer-Kybernetic in Germany. ACD claims to be able to automatically calculate the parameters for well-known compensator types (P, PI, PD, PID). The control parameters are optimized with respect to a plant model and additional user options.
- RaPID � Robust Advanced PID Control by Intelligent Systems Modeling and Control, Inc. This tool helps in the design and implementation of PID controllers. It claims to integrate data acquisition, automated process modeling, and optimal PID control design with an emphasis on engineering specifications and requirements.
- Software Laboratory for Control Education � hands-on software for control education developed at the McMaster University. The Software Laboratory includes hands-on exercises for the following technologies: single-loop simulation, stability analysis and frequency response, cascade, feed-forward, level control, chemical reactor control, and multivariable control via decentralized single-loop controllers or centralized Dynamic Matrix Control.
- Controls Tutor � graphical user interface for visualizing classical control concepts developed by Terasoft, Inc. The software is meant to help students understand classical control concepts. When Controls Tutor is coupled with The Student Edition of MATLAB by MathWorks, a student can study control characteristics without having to first learn any Matlab syntax.
My thesis research will focus on linear feedback systems� properties and compensation techniques. Non-minimal phase systems and nonlinear systems will not be included unless time permits. The basic functionality of my software tool will be focused on solving for a good series compensator. Later I will begin working on other compensation methods such as minor loop feedback compensation. To simplify analysis, the controller will be positioned in the forward path of the system. After this part is functional, I will try implementing methods to handle compensation in the feedback path.
An enduser provides a system model by one of these three methods:
- specifying the poles, zeros, and gain of the open loop system
- specifying the function of the loop transmission
- using a mouse click on the Bode magnitude plot to specify poles and zeros, as well as a similar way of specifying DC gain
After specifying the system model, the user can:
- Perform systems frequency and time domain analyses (see 1.2.1)
- Provide the desired specifications that should be met and run the automatic compensation tool.
My thesis software toolkit will consist of two major parts:
- The backend responsible for calculations and algorithm solving based on user input specifications and uncompensated system parameters.
- The Graphical User Interface (GUI) responsible for handling user inputs, and presenting the appropriate visuals such as graphs, plots, or numerical values.
- High level design of the system is ready. Block diagrams representing system modules are drawn. The basic scope of the project is determined. Small chunks of code are written to check for the validity of implementation of certain design choices. Some documentation is written.
- Software responsible for analyzing a given uncompensated system and presenting its properties is working. Graphical user interface for this portion of the project is partially done.
- Testing and documentation is being done to debug any problems with the uncompensated system.
- Development of user specifications to be fulfilled by the compensated system is complete. This part includes development of the graphical user interface for the specifications.
- Testing and documentation of the specifications is complete.
- Uncompensated systems are tested for fulfilling the specs.
- Systems fulfilling a particular specification are designed. The compensation method used is series compensation with unity feedback.
- More documentation is written and the first few chapters of my thesis are submitted to Professor Roberge for comments.
- Systems fulfilling more than one specification are designed. If fulfilling both specifications is not possible, the program attempts to make the best tradeoff. The algorithms for such tradeoffs are being explored.
- Testing and documentation of the research on the theoretical tradeoff of system properties is complete. Description of the specifications and their implemented relations is complete.
- Non-unity feedback compensation is being implemented.
- Testing and documentation of feedback path compensation.
- Graphical User Interface is being improved. The code is being debugged. More writing done.
- A draft of the thesis is submitted to Professor Roberge.
- Minor loop feedback design and possible implementation.
- Final Draft Complete
My thesis advisor, Professor J. K. Roberge, has agreed to discuss my project weekly on either Tuesdays or Thursdays of each week as necessary and as time permits him.
My thesis project will be done on Athena, which is a campus-wide networked computer system provided for MIT students. The workstations that I will be using are Sun Sparc machines. The workstation performance varies depending on the model. However I plan on using mainly the best machines available, Sparc Ultra 10, with 333MHz processor. All my work-related material will be stored on my personal student account, which is currently 30 Megabytes. If more space is necessary, portable storage media such as zip disks and 3.5-inch floppies will be used.
Some of the thesis-related work will be done on my personal computer with 266 MHz Pentium II processor and running Windows 95.
The project will be programmed in Java, which is available for free. I will also use the installation of Matlab available on Athena to check the accuracy of some of my results. Matlab already has many analytic tools that allow its user to easily plot system�s parameters in both the frequency and the time domains.
The text editor I plan on using is Emacs for both the code and the thesis document. The thesis will be compiled with Latex which is a text formatting system designed to simplify writing professional looking papers with math, commonly used at MIT for theses and other coursework.
Numerous books on the theory of feedback compensation will be used to gain a better understanding of the concepts and previously developed analysis and design methods. I am already familiar with Java, however, I will use some books as a reference and to learn about the new libraries that one can use to simplify coding. The internet will also be a major source of information with most up-to-date development in Java and work related to automatic compensation.
- A software toolkit useful for analyzing feedback systems.
The toolkit will be written in Java since it can be easily moved to many different platforms as well as run on a web browser.
The thesis document will describe the research and implementation done to complete my thesis. The appropriate background on the topic of feedback compensation and software development in the area will be presented. I will document the methods I used to analyze the system and their advantages. I will present the algorithms used for determining the tradeoff issues. I will include documentation on the use of this toolkit. The thesis will contain appropriate visual aids such as graphs, plots, user interface prints, and other examples. All the code will be included in the appendix.
 James K. Roberge, Operational Amplifiers: Theory and Practice. New York, NY: John Wiley Sons, Inc. 1975.
 L. A. Gould, W. R. Markey, J. K. Roberge, D. L. Trumper, Control Systems Theory. Cambridge, MA: Massachusetts Institute of Technology, 1997.
 Mathworks, Inc. Third Party Solutions by Application Area, [Online document], cited 1999, Dec 8, Available HTTP: www-europe.mathworks.com/products/
 Intelligent System Modeling and Control, Inc. Optimal Primary Loop PID Control, RaPID, [Online document], cited 1999, Dec 8, Available HTTP: ismc.be/
 Terasoft, Inc. Controls Tutor, [Online document], cited 1999, Dec 8, Available HTTP: terasoft.com/
 MathWorks, Inc. Matlab Products, [Online document], cited 1999, Dec 8, Available HTTP: www-europe.mathworks.com/index.shtml