Control theory
Control theory is an interdisciplinary branch of engineering and mathematics that deals with the behavior of dynamical systems. The external input of a system is called the reference. When one or more output variables of a system need to follow a certain reference over time, a controller manipulates the inputs to a system to obtain the desired effect on the output of the system.
The usual objective of control theory is to calculate solutions for the proper corrective action from the controller that result in system stability, that is, the system will hold the set point and not oscillate around it.
The inputs and outputs of a continuous control system are generally related by nonlinear differential equations. A transfer function can sometimes be obtained by (1) Finding a solution of the nonlinear differential equations, (2) Linearizing the nonlinear differential equations at the resulting solution (i.e. trim point), (3) Finding the Laplace Transform of the resulting linear differential equations, and (4) Solving for the outputs in terms of the inputs in the Laplace domain.
The transfer function is also known as the system function or network function. The transfer function is a mathematical representation, in terms of spatial or temporal frequency, of the relation between the input and output of a linear timeinvariant solution of the nonlinear differential equations describing the system.
Extensive use is usually made of a diagrammatic style known as the block diagram.
Contents
Overview
Control theory is
 a theory that deals with influencing the behavior of dynamical systems
 an interdisciplinary subfield of science, which originated in engineering and mathematics, and evolved into use by the social sciences, like psychology, sociology, criminology and in the financial system.
Control systems can be thought of as having four functions; Measure, Compare, Compute, and Correct. These four functions are completed by five elements; Detector, Transducer, Transmitter, Controller, and Final Control Element. The measuring function is completed by the detector, transducer and transmitter. In practical applications these three elements are typically contained in one unit. A standard example is a Resistance thermometer. The compare and compute functions are completed within the controller which may be completed electronically through a Proportional Control, PI Controller, PID Controller, Bistable, Hysteretic control or Programmable logic controller. The correct function is completed with a final control element. The final control element changes an input or output in the control system which affect the manipulated or controlled variable.
An example
Consider a car's cruise control, which is a device designed to maintain vehicle speed at a constant desired or reference speed provided by the driver. The controller is the cruise control, the plant is the car, and the system is the car and the cruise control. The system output is the car's speed, and the control itself is the engine's throttle position which determines how much power the engine generates.
A primitive way to implement cruise control is simply to lock the throttle position when the driver engages cruise control. However, if the cruise control is engaged on a stretch of flat road, then the car will travel slower going uphill and faster when going downhill. This type of controller is called an openloop controller because no measurement of the system output (the car's speed) is used to alter the control (the throttle position.) As a result, the controller can not compensate for changes acting on the car, like a change in the slope of the road.
In a closedloop control system, a sensor monitors the system output (the car's speed) and feeds the data to a controller which adjusts the control (the throttle position) as necessary to maintain the desired system output (match the car's speed to the reference speed.) Now when the car goes uphill the decrease in speed is measured, and the throttle position changed to increase engine power, speeding the vehicle. Feedback from measuring the car's speed has allowed the controller to dynamically compensate for changes to the car's speed. It is from this feedback that the paradigm of the control loop arises: the control affects the system output, which in turn is measured and looped back to alter the control.
History
Although control systems of various types date back to antiquity, a more formal analysis of the field began with a dynamics analysis of the centrifugal governor, conducted by the physicist James Clerk Maxwell in 1868 entitled On Governors.^{[1]} This described and analyzed the phenomenon of "hunting", in which lags in the system can lead to overcompensation and unstable behavior. This generated a flurry of interest in the topic, during which Maxwell's classmate Edward John Routh generalized Maxwell's results for the general class of linear systems.^{[2]} Independently, Adolf Hurwitz analyzed system stability using differential equations in 1877, resulting in what is now known as the Routh–Hurwitz theorem.^{[3]}^{[4]}
A notable application of dynamic control was in the area of manned flight. The Wright brothers made their first successful test flights on December 17, 1903 and were distinguished by their ability to control their flights for substantial periods (more so than the ability to produce lift from an airfoil, which was known). Continuous, reliable control of the airplane was necessary for flights lasting longer than a few seconds.
By World War II, control theory was an important part of firecontrol systems, guidance systems and electronics.
Sometimes mechanical methods are used to improve the stability of systems. For example, ship stabilizers are fins mounted beneath the waterline and emerging laterally. In contemporary vessels, they may be gyroscopically controlled active fins, which have the capacity to change their angle of attack to counteract roll caused by wind or waves acting on the ship.
The Sidewinder missile uses small control surfaces placed at the rear of the missile with spinning disks on their outer surface; these are known as rollerons. Airflow over the disk spins them to a high speed. If the missile starts to roll, the gyroscopic force of the disk drives the control surface into the airflow, cancelling the motion. Thus the Sidewinder team replaced a potentially complex control system with a simple mechanical solution.
The Space Race also depended on accurate spacecraft control. However, control theory also saw an increasing use in fields such as economics.
People in systems and control
Many active and historical figures made significant contribution to control theory, including, for example:
 Alexander Lyapunov (1857–1918) in the 1890s marks the beginning of stability theory.
 Harold S. Black (1898–1983), invented the concept of negative feedback amplifiers in 1927. He managed to develop stable negative feedback amplifiers in the 1930s.
 Harry Nyquist (1889–1976), developed the Nyquist stability criterion for feedback systems in the 1930s.
 Richard Bellman (1920–1984), developed dynamic programming since the 1940s.
 Andrey Kolmogorov (1903–1987) codeveloped the Wiener–Kolmogorov filter (1941).
 Norbert Wiener (1894–1964) codeveloped the Wiener–Kolmogorov filter and coined the term cybernetics in the 1940s.
 John R. Ragazzini (1912–1988) introduced digital control and the ztransform in the 1950s.
 Lev Pontryagin (1908–1988) introduced the maximum principle and the bangbang principle.
Classical control theory
To avoid the problems of the openloop controller, control theory introduces feedback. A closedloop controller uses feedback to control states or outputs of a dynamical system. Its name comes from the information path in the system: process inputs (e.g., voltage applied to an electric motor) have an effect on the process outputs (e.g., speed or torque of the motor), which is measured with sensors and processed by the controller; the result (the control signal) is used as input to the process, closing the loop.
Closedloop controllers have the following advantages over openloop controllers:
 disturbance rejection (such as unmeasured friction in a motor)
 guaranteed performance even with model uncertainties, when the model structure does not match perfectly the real process and the model parameters are not exact
 unstable processes can be stabilized
 reduced sensitivity to parameter variations
 improved reference tracking performance
In some systems, closedloop and openloop control are used simultaneously. In such systems, the openloop control is termed feedforward and serves to further improve reference tracking performance.
A common closedloop controller architecture is the PID controller.
Closedloop transfer function
The output of the system y(t) is fed back through a sensor measurement F to the reference value r(t). The controller C then takes the error e (difference) between the reference and the output to change the inputs u to the system under control P. This is shown in the figure. This kind of controller is a closedloop controller or feedback controller.
This is called a singleinputsingleoutput (SISO) control system; MIMO (i.e., MultiInputMultiOutput) systems, with more than one input/output, are common. In such cases variables are represented through vectors instead of simple scalar values. For some distributed parameter systems the vectors may be infinitedimensional (typically functions).
If we assume the controller C, the plant P, and the sensor F are linear and timeinvariant (i.e., elements of their transfer function C(s), P(s), and F(s) do not depend on time), the systems above can be analysed using the Laplace transform on the variables. This gives the following relations:
 '"`UNIQpostMath00000001QINU`"'
 '"`UNIQpostMath00000002QINU`"'
 '"`UNIQpostMath00000003QINU`"'
Solving for Y(s) in terms of R(s) gives:
 '"`UNIQpostMath00000004QINU`"'
The expression '"`UNIQpostMath00000005QINU`"' is referred to as the closedloop transfer function of the system. The numerator is the forward (openloop) gain from r to y, and the denominator is one plus the gain in going around the feedback loop, the socalled loop gain. If '"`UNIQpostMath00000006QINU`"', i.e., it has a large norm with each value of s, and if '"`UNIQpostMath00000007QINU`"', then Y(s) is approximately equal to R(s) and the output closely tracks the reference input.
PID controller
The PID controller is probably the mostused feedback control design. PID is an acronym for ProportionalIntegralDerivative, referring to the three terms operating on the error signal to produce a control signal. If u(t) is the control signal sent to the system, y(t) is the measured output and r(t) is the desired output, and tracking error '"`UNIQpostMath00000008QINU`"', a PID controller has the general form
 '"`UNIQpostMath00000009QINU`"'
The desired closed loop dynamics is obtained by adjusting the three parameters '"`UNIQpostMath0000000AQINU`"', '"`UNIQpostMath0000000BQINU`"' and '"`UNIQpostMath0000000CQINU`"', often iteratively by "tuning" and without specific knowledge of a plant model. Stability can often be ensured using only the proportional term. The integral term permits the rejection of a step disturbance (often a striking specification in process control). The derivative term is used to provide damping or shaping of the response. PID controllers are the most well established class of control systems: however, they cannot be used in several more complicated cases, especially if MIMO systems are considered.
Applying Laplace transformation results in the transformed PID controller equation
 '"`UNIQpostMath0000000DQINU`"'
 '"`UNIQpostMath0000000EQINU`"'
with the PID controller transfer function
 '"`UNIQpostMath0000000FQINU`"'
Modern control theory
In contrast to the frequency domain analysis of the classical control theory, modern control theory utilizes the timedomain state space representation, a mathematical model of a physical system as a set of input, output and state variables related by firstorder differential equations. To abstract from the number of inputs, outputs and states, the variables are expressed as vectors and the differential and algebraic equations are written in matrix form (the latter only being possible when the dynamical system is linear). The state space representation (also known as the "timedomain approach") provides a convenient and compact way to model and analyze systems with multiple inputs and outputs. With inputs and outputs, we would otherwise have to write down Laplace transforms to encode all the information about a system. Unlike the frequency domain approach, the use of the state space representation is not limited to systems with linear components and zero initial conditions. "State space" refers to the space whose axes are the state variables. The state of the system can be represented as a vector within that space.^{[5]}
Topics in control theory
Stability
The stability of a general dynamical system with no input can be described with Lyapunov stability criteria. A linear system that takes an input is called boundedinput boundedoutput (BIBO) stable if its output will stay bounded for any bounded input. Stability for nonlinear systems that take an input is inputtostate stability (ISS), which combines Lyapunov stability and a notion similar to BIBO stability. For simplicity, the following descriptions focus on continuoustime and discretetime linear systems.
Mathematically, this means that for a causal linear system to be stable all of the poles of its transfer function must have negativereal values, i.e. the real part of all the poles are less than zero. Practically speaking, stability requires that the transfer function complex poles reside
 in the open left half of the complex plane for continuous time, when the Laplace transform is used to obtain the transfer function.
 inside the unit circle for discrete time, when the Ztransform is used.
The difference between the two cases is simply due to the traditional method of plotting continuous time versus discrete time transfer functions. The continuous Laplace transform is in Cartesian coordinates where the '"`UNIQpostMath00000010QINU`"' axis is the real axis and the discrete Ztransform is in circular coordinates where the '"`UNIQpostMath00000011QINU`"' axis is the real axis.
When the appropriate conditions above are satisfied a system is said to be asymptotically stable: the variables of an asymptotically stable control system always decrease from their initial value and do not show permanent oscillations. Permanent oscillations occur when a pole has a real part exactly equal to zero (in the continuous time case) or a modulus equal to one (in the discrete time case). If a simply stable system response neither decays nor grows over time, and has no oscillations, it is marginally stable: in this case the system transfer function has nonrepeated poles at complex plane origin (i.e. their real and complex component is zero in the continuous time case). Oscillations are present when poles with real part equal to zero have an imaginary part not equal to zero.
If a system in question has an impulse response of
 '"`UNIQpostMath00000012QINU`"'
then the Ztransform (see this example), is given by
 '"`UNIQpostMath00000013QINU`"'
which has a pole in '"`UNIQpostMath00000014QINU`"' (zero imaginary part). This system is BIBO (asymptotically) stable since the pole is inside the unit circle.
However, if the impulse response was
 '"`UNIQpostMath00000015QINU`"'
then the Ztransform is
 '"`UNIQpostMath00000016QINU`"'
which has a pole at '"`UNIQpostMath00000017QINU`"' and is not BIBO stable since the pole has a modulus strictly greater than one.
Numerous tools exist for the analysis of the poles of a system. These include graphical systems like the root locus, Bode plots or the Nyquist plots.
Mechanical changes can make equipment (and control systems) more stable. Sailors add ballast to improve the stability of ships. Cruise ships use antiroll fins that extend transversely from the side of the ship for perhaps 30 feet (10 m) and are continuously rotated about their axes to develop forces that oppose the roll.
Controllability and observability
Controllability and observability are main issues in the analysis of a system before deciding the best control strategy to be applied, or whether it is even possible to control or stabilize the system. Controllability is related to the possibility of forcing the system into a particular state by using an appropriate control signal. If a state is not controllable, then no signal will ever be able to control the state. If a state is not controllable, but its dynamics are stable, then the state is termed Stabilizable. Observability instead is related to the possibility of "observing", through output measurements, the state of a system. If a state is not observable, the controller will never be able to determine the behaviour of an unobservable state and hence cannot use it to stabilize the system. However, similar to the stabilizability condition above, if a state cannot be observed it might still be detectable.
From a geometrical point of view, looking at the states of each variable of the system to be controlled, every "bad" state of these variables must be controllable and observable to ensure a good behaviour in the closedloop system. That is, if one of the eigenvalues of the system is not both controllable and observable, this part of the dynamics will remain untouched in the closedloop system. If such an eigenvalue is not stable, the dynamics of this eigenvalue will be present in the closedloop system which therefore will be unstable. Unobservable poles are not present in the transfer function realization of a statespace representation, which is why sometimes the latter is preferred in dynamical systems analysis.
Solutions to problems of uncontrollable or unobservable system include adding actuators and sensors.
Control specification
Several different control strategies have been devised in the past years. These vary from extremely general ones (PID controller), to others devoted to very particular classes of systems (especially robotics or aircraft cruise control).
A control problem can have several specifications. Stability, of course, is always present: the controller must ensure that the closedloop system is stable, regardless of the openloop stability. A poor choice of controller can even worsen the stability of the openloop system, which must normally be avoided. Sometimes it would be desired to obtain particular dynamics in the closed loop: i.e. that the poles have '"`UNIQpostMath00000018QINU`"', where '"`UNIQpostMath00000019QINU`"' is a fixed value strictly greater than zero, instead of simply asking that '"`UNIQpostMath0000001AQINU`"'.
Another typical specification is the rejection of a step disturbance; including an integrator in the openloop chain (i.e. directly before the system under control) easily achieves this. Other classes of disturbances need different types of subsystems to be included.
Other "classical" control theory specifications regard the timeresponse of the closedloop system: these include the rise time (the time needed by the control system to reach the desired value after a perturbation), peak overshoot (the highest value reached by the response before reaching the desired value) and others (settling time, quarterdecay). Frequency domain specifications are usually related to robustness (see after).
Modern performance assessments use some variation of integrated tracking error (IAE,ISA,CQI).
Model identification and robustness
A control system must always have some robustness property. A robust controller is such that its properties do not change much if applied to a system slightly different from the mathematical one used for its synthesis. This specification is important: no real physical system truly behaves like the series of differential equations used to represent it mathematically. Typically a simpler mathematical model is chosen in order to simplify calculations, otherwise the true system dynamics can be so complicated that a complete model is impossible.
 System identification
The process of determining the equations that govern the model's dynamics is called system identification. This can be done offline: for example, executing a series of measures from which to calculate an approximated mathematical model, typically its transfer function or matrix. Such identification from the output, however, cannot take account of unobservable dynamics. Sometimes the model is built directly starting from known physical equations: for example, in the case of a massspringdamper system we know that '"`UNIQpostMath0000001BQINU`"'. Even assuming that a "complete" model is used in designing the controller, all the parameters included in these equations (called "nominal parameters") are never known with absolute precision; the control system will have to behave correctly even when connected to physical system with true parameter values away from nominal.
Some advanced control techniques include an "online" identification process (see later). The parameters of the model are calculated ("identified") while the controller itself is running: in this way, if a drastic variation of the parameters ensues (for example, if the robot's arm releases a weight), the controller will adjust itself consequently in order to ensure the correct performance.
 Analysis
Analysis of the robustness of a SISO (single input single output) control system can be performed in the frequency domain, considering the system's transfer function and using Nyquist and Bode diagrams. Topics include gain and phase margin and amplitude margin. For MIMO (multi input multi output) and, in general, more complicated control systems one must consider the theoretical results devised for each control technique (see next section): i.e., if particular robustness qualities are needed, the engineer must shift his attention to a control technique by including them in its properties.
 Constraints
A particular robustness issue is the requirement for a control system to perform properly in the presence of input and state constraints. In the physical world every signal is limited. It could happen that a controller will send control signals that cannot be followed by the physical system: for example, trying to rotate a valve at excessive speed. This can produce undesired behavior of the closedloop system, or even damage or break actuators or other subsystems. Specific control techniques are available to solve the problem: model predictive control (see later), and antiwind up systems. The latter consists of an additional control block that ensures that the control signal never exceeds a given threshold.
System classifications
Linear systems control
For MIMO systems, pole placement can be performed mathematically using a state space representation of the openloop system and calculating a feedback matrix assigning poles in the desired positions. In complicated systems this can require computerassisted calculation capabilities, and cannot always ensure robustness. Furthermore, all system states are not in general measured and so observers must be included and incorporated in pole placement design.
Nonlinear systems control
Processes in industries like robotics and the aerospace industry typically have strong nonlinear dynamics. In control theory it is sometimes possible to linearize such classes of systems and apply linear techniques, but in many cases it can be necessary to devise from scratch theories permitting control of nonlinear systems. These, e.g., feedback linearization, backstepping, sliding mode control, trajectory linearization control normally take advantage of results based on Lyapunov's theory. Differential geometry has been widely used as a tool for generalizing wellknown linear control concepts to the nonlinear case, as well as showing the subtleties that make it a more challenging problem.
Decentralized systems
When the system is controlled by multiple controllers, the problem is one of decentralized control. Decentralization is helpful in many ways, for instance, it helps control systems operate over a larger geographical area. The agents in decentralized control systems can interact using communication channels and coordinate their actions.
Main control strategies
Every control system must guarantee first the stability of the closedloop behavior. For linear systems, this can be obtained by directly placing the poles. Nonlinear control systems use specific theories (normally based on Aleksandr Lyapunov's Theory) to ensure stability without regard to the inner dynamics of the system. The possibility to fulfill different specifications varies from the model considered and the control strategy chosen. Here a summary list of the main control techniques is shown:
 Adaptive control
 Adaptive control uses online identification of the process parameters, or modification of controller gains, thereby obtaining strong robustness properties. Adaptive controls were applied for the first time in the aerospace industry in the 1950s, and have found particular success in that field.
 Hierarchical control
 A Hierarchical control system is a type of Control System in which a set of devices and governing software is arranged in a hierarchical tree. When the links in the tree are implemented by a computer network, then that hierarchical control system is also a form of Networked control system.
 Intelligent control
 Intelligent control uses various AI computing approaches like neural networks, Bayesian probability, fuzzy logic, machine learning, evolutionary computation and genetic algorithms to control a dynamic system.
 Optimal control
 Optimal control is a particular control technique in which the control signal optimizes a certain "cost index": for example, in the case of a satellite, the jet thrusts needed to bring it to desired trajectory that consume the least amount of fuel. Two optimal control design methods have been widely used in industrial applications, as it has been shown they can guarantee closedloop stability. These are Model Predictive Control (MPC) and linearquadraticGaussian control (LQG). The first can more explicitly take into account constraints on the signals in the system, which is an important feature in many industrial processes. However, the "optimal control" structure in MPC is only a means to achieve such a result, as it does not optimize a true performance index of the closedloop control system. Together with PID controllers, MPC systems are the most widely used control technique in process control.
 Robust control
 Robust control deals explicitly with uncertainty in its approach to controller design. Controllers designed using robust control methods tend to be able to cope with small differences between the true system and the nominal model used for design. The early methods of Bode and others were fairly robust; the statespace methods invented in the 1960s and 1970s were sometimes found to lack robustness. A modern example of a robust control technique is Hinfinity loopshaping developed by Duncan McFarlane and Keith Glover of Cambridge University, United Kingdom. Robust methods aim to achieve robust performance and/or stability in the presence of small modeling errors.
 Stochastic control
 Stochastic control deals with control design with uncertainty in the model. In typical stochastic control problems, it is assumed that there exist random noise and disturbances in the model and the controller, and the control design must take into account these random deviations.
See also

References
 ↑ Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 ↑ Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 ↑ Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 ↑ Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 ↑ Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
Further reading
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
For Chemical Engineering
 Lua error in Module:Citation/CS1 at line 746: Argument map not defined for this variable.
External links
Wikibooks has a book on the topic of: Control Systems 
Error creating thumbnail: File missing 
PhysicsWiki Commons has media related to Control theory. 
 Control Tutorials for Matlab  A set of worked through control examples solved by several different methods.
 Control Tuning and Best Practices