Title: A Software Tool for Automatic Compensation of Linear Feedback Systems
Submitted by: Patrycja Ewelina Missiuro
550 Memorial Drive, Apt. 7B-4
Cambridge, MA 02139
Date of Submission: December 8, 1999
Fulfillment of Degrees: Master and Bachelor of Electrical Engineering and Computer Science
Massachusetts Institute of Technology
Department: Electrical Engineering and Computer Science
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
Abstract
*1. Introduction
*1.1 Motivation
*1.2 Background
*1.2.1 Feedback and Compensation Theory
*1.2.2 Developments in Compensation Software Tools
*2. Scope of the Thesis
*2.1 Focus
*2.2 Functionality of my system
*3. Schedule
*3.1 Milestone Specifications:
*3.2 Supervision on the project:
*4. Resources
*4.1 Hardware
*4.2 Software
*4.3 Information Sources
*5. Deliverables
*6. Bibliography
*
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:
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.
|
Time Domain |
|||
|
Time constant |
Bandwidth |
Percent overshoot |
Phase margin |
|
Speed of response |
Phase margin |
Time to peak |
Bandwidth |
|
Settling time |
Risetime |
Max magnitude in freq. |
|
|
Step response |
Steady state error |
Peak frequency |
|
|
Step response |
|||
|
Settling time |
|||
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:
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.
Developments in Compensation Software ToolsMathWorks, 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:
Scope of the Thesis
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.
2.2 Functionality of my system
An enduser provides a system model by one of these three methods:
After specifying the system model, the user can:
My thesis software toolkit will consist of two major parts:
|
Milestone |
Date of Completion |
|
|
1 |
High level design |
January 10 |
|
2 |
Software for uncompensated system |
January 20 |
|
3 |
Testing of uncompensated system + GUI |
January 27 |
|
4 |
Development of compensator’s specs |
February 10 |
|
5 |
Testing of specifications |
February 17 |
|
6 |
Uncompensated system’s spec fulfillment |
February 25 |
|
7 |
Design of systems fulfilling one spec |
March 5 |
|
8 |
Writing and the first few chapters submitted |
March 7-9 |
|
9 |
Fulfillment of multiple specs |
March 20 |
|
10 |
Testing and docs for multiple specs |
April 5 |
|
11 |
Non-unity feedback |
April 12 |
|
12 |
Testing of Non-Unity Feedback |
April 16 |
|
13 |
Draft of thesis submitted |
April 26 |
|
14 |
GUI improvements, debugging, rewriting |
April 30 |
|
15 |
Minor loop feedback |
May 8 |
|
16 |
Final Draft |
May 5-19 |
3.2 Supervision on the project:
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.
Resources
Hardware
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.
As a result of my research, I plan on delivering:
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.
Bibliography
[1] James K. Roberge, Operational Amplifiers: Theory and Practice, New York, NY: John Wiley & Sons, Inc., 1975.
[2] L. A. Gould, W. R. Markey, J. K. Roberge, D. L. Trumper, Control Systems Theory, Cambridge, MA: Massachusetts Institute of Technology, 1997.
[3] Mathworks, Inc., "Third Party Solutions by Application Area," [Online document], cited 1999, Dec 8, Available HTTP:
http://www-europe.mathworks.com/products/[4] Intelligent System Modeling and Control, Inc., "Optimal Primary Loop PID Control, RaPID," [Online document], cited 1999, Dec 8, Available HTTP:
http://www.ismc.be/[5] Terasoft, Inc., "Controls Tutor," [Online document], cited 1999, Dec 8, Available HTTP:
http://www.terasoft.com/[6] MathWorks, Inc., "Matlab Products," [Online document], cited 1999, Dec 8, Available HTTP:
http://www-europe.mathworks.com/index.shtml