Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Introduction

Engineers build machines that must behave reliably in the real world: temperatures drift, loads change, sensors are noisy, and everything has delay. Control is the set of ideas that lets us get predictable performance anyway: fast when we want fast, smooth when we want smooth, and stable when conditions change.

You already use control in everyday life: you choose a goal, take an action, observe what happened, and adjust. In this course we’ll take that familiar loop and turn it into engineering tools: simple diagrams to organize cause-and-effect, models that capture dynamics, and design methods that let you shape the response on purpose rather than by trial and error.

To make these ideas concrete, we’ll begin with a control problem you’ve solved hundreds of times, usually without realizing it.

Example: Shower temperature control

Imagine the simple task of adjusting a shower to a desired temperature TdesT_\textsf{des}. We can adjust the knob angle θ\theta, which causes the temperature of the water TtrueT_\textsf{true} to change. However, the change is not instantaneous, and we may imagine adjusting the knob over time, so we will write these quantities as functions of time: θ(t)\theta(t), Tdes(t)T_\textsf{des}(t), and Ttrue(t)T_\textsf{true}(t).

It is useful to represent the temperature adjustment process as a block diagram (Figure 1).

Block diagram representing the shower temperature adjustment process.

Figure 1:Block diagram representing the shower temperature adjustment process.

The arrows in the block diagram indicate causality.

Open-loop control

Since θ(t)\theta(t), Tdes(t)T_\textsf{des}(t), and Ttrue(t)T_\textsf{true}(t) are functions of time, let’s make a plot of what these functions might look like. Here is one possibility:

Plots of plausible signals from the block diagram of .

Figure 2:Plots of plausible signals from the block diagram of Figure 1.

At t=0t=0, we decide to take a shower, and our desired temperature is 100°F100\degree\textsf{F}. We know from experience that θ(t)=64°\theta(t) = 64\degree is the correct knob setting, so we turn the knob to that value and wait. But what if we wanted to reach TdesT_\textsf{des} more rapidly? Would that be possible?

Yes! To see why, let’s think about why the temperature responds the way it does. The hot water is stored in a tank, but the pipes that connect the tank to the showerhead are initially filled with cold water. The knob angle determines what mixture of hot water from the tank and cold water from the main supply line should be used. As time passes, the water in the pipes is replaced by the warm mixture from the tank and the main line. This warm water gradually heats the pipes, which eventually reach the same temperature as the warm water. At this point, the pipes cease to cool the water and the showerhead temperature reaches an equilibrium. We might expect these changes to occur at a rate proportional to the temperature difference (Newton’s law of cooling).

Of course, this is an approximate model, which we could verify more rigorously with experiments, but let’s go with it for now. We should expect that more hot water should lead to proportionately faster heating, so something like this:

Plots of plausible signals from the block diagram of , now with two inputs.

Figure 3:Plots of plausible signals from the block diagram of Figure 1, now with two inputs.

This suggests that we could reach our goal faster if we used a clever switching strategy. First, we should use as much hot water as possible, and then we should back off before the water gets too hot. Something like this:

More complicated control strategy for the system of .

Figure 4:More complicated control strategy for the system of Figure 1.

This switching strategy does heat the water faster, but we waited too long before turning the knob, which led to overshoot. Some tuning would be required to make this perfect.

This sort of control approach is called open-loop control: we decide on our course of action θ(t)\theta(t) in advance, and then we apply it. It doesn’t require much effort (just following a recipe), but it is generally fragile:

In other words, open-loop control works only to the extent that your model (and calibration) matches reality.

In practice, nobody does this... because we use feedback!

Closed-loop control

The more sensible approach is to place your hand in the water stream (measure the temperature). If the water is too cold, increase the knob angle. If the water is too hot, decrease the knob angle. This basic principle is called feedback, and it leads to a strategy called closed-loop control. Here is an updated diagram:

Block diagram of a closed-loop architecture for the shower temperature control problem.

Figure 5:Block diagram of a closed-loop architecture for the shower temperature control problem.

Some notes on how to read this block diagram:

The “me” block is now acting on the error, and there are two cases:

  1. ΔT(t)>0\Delta T(t) > 0. This occurs if Tdes(t)>Tmeas(t)T_\textsf{des}(t) > T_\textsf{meas}(t), meaning the water is not hot enough, so we should increase the knob angle θ(t)\theta(t).

  2. ΔT(t)<0\Delta T(t) < 0. This occurs if Tdes(t)<Tmeas(t)T_\textsf{des}(t) < T_\textsf{meas}(t), meaning the water is too hot, so we should decrease the knob angle θ(t)\theta(t).

Here are two popular ways to adjust knob angle based on the error signal:

The benefit of using feedback control as in Figure 5 (instead of open-loop control as in Figure 1) is that it is far more robust. As we know from personal experience, this approach works for a variety of showers, regardless of personal temperature preference or external factors such as time of year.

Automatic control

It is often possible to automate a control process so that a human need not be involved. Typically, the “hand” is replaced by a sensor, and the “me” block is replaced by some sort of digital computer or software. A mechanical actuator would also be needed to adjust the knob so no human intervention is needed. Once this is done, the human only needs to choose the desired temperature and the rest happens automatically! Here is an updated diagram:

Automatic control system for the shower temperature control problem.

Figure 6:Automatic control system for the shower temperature control problem.

The power of a control system as in Figure 6 is that the user does not need to know anything about the inner workings of the shower, Newton’s law of cooling, knob calibration, or any complications due to external factors. The user simply picks their desired temperature and the control system handles everything automatically.

More examples

Why stop at showers? The idea of feedback can be used to control just about anything. Control systems can be used to improve the efficiency, safety, and performance of systems. In fact, many engineered systems in use today would be impossible to control if humans had to control them manually. Look no further than Wilbur Wright (one of the Wright brothers, who invented, built, and flew the first successful airplane.)

Black-and-white photo of Wilbur Wright

“As long ago as 1884 a machine weighing 8,000 pounds demonstrated its power both to lift itself from the ground and to maintain a speed of 30 to 40 miles per hour, but failed of success owing to the inability to balance and steer it properly. This inability to balance and steer still confronts students of the flying problem, although nearly eight years have passed. When this one feature has been worked out, the age of flying machines will have arrived, for all other difficulties are of minor importance.”

Wilbur Wright, Sept. 18, 1901

By the way, it was two years later, in 1903, that the Wright brothers would complete their historic first flight. Airplanes became a significant military capability by World War I (1914-1918), and became common for passenger travel in the 1930s.


Virtually anything can be viewed as a system. Applying feedback produces a control system. There are countless examples... Here is a partial list.

The above examples are related to mechanical engineering, which will be our primary focus. However, this class will teach you to view everything as a system. So the techniques you learn will be broadly applicable beyond mechanical engineering use cases.

Some of the control systems listed above are not engineered systems; they occur in nature. So understanding the fundamental principles of control systems can also help in understanding how systems in science and nature function.

Class overview

There are three chapters in this class.

  1. Modeling

    • Use principles from physics (Newton’s law, Ohm’s law, Hooke’s law) to build a mathematical model (typically differential equations) that relates the inputs to the outputs. The first step in controlling a system is modeling it.

    • We will see how to do this for various mechanical, electrical, electromechanical, hydraulic, and thermal systems.

  2. Analysis

    • Given a mathematical model of a system, predict and/or simulate how it will respond to a given input.

    • Develop intuition for different broad classes of systems.

    • Develop metrics to quantify the performance of a system.

  3. Control

    • Learn how to change the dynamic response of a system by using feedback control, and which control strategies are appropriate for which types of systems.

    • Learn about trade-offs and fundamental limits of what is possible.

We will cover these topics both analytically and computationally. In other words, we will:

Let’s get started!