Control Theory Essentials

Alon Albalak
Learning is a Journey
5 min readApr 26, 2019

Prior to starting my current research project I had 0 experience in controls, and I wouldn’t even have known what it was if you asked me. I still don’t really know a lot about controls, but at least I’ve gained some knowledge in one little area of control theory, optimal control.

My project involves learning the hidden dynamics of a system, and then using the dynamics to build an optimal controller. If you don’t know what any of that means, then this post is just for you!
Of course, it’s also for me to refer to when I forget what a concept means, or to just periodically review.

The goal of this post is simply to establish a baseline knowledge of control theory so that in future posts, we have a shared vocabulary, and a shared understanding of how things work. Without further ado, here are a bunch of definitions and some explanations of ideas coming from control theory.

State space representation

I’m going to explain most concepts with respect to the state space model, so I should probably define and explain it before we go anywhere else. The state space model is defined as follows:

x(t+1) = A(t)x(t)+B(t)u(t)
y(t) = C(t)x(t)
where:

  • x is the state vector, it contains information about the state
  • y is the output vector, it contains all the information we observe
  • u is the control vector, it is our only way of influencing the system
  • A is the state/transition matrix
  • B is the control matrix
  • C is the output matrix

Controllability

As you can see, we’re starting off with core topics. Controllability is the ability to move a system around in its entire configuration space using only certain admissible manipulations. This includes both state controllability and output controllability. This definition is nearly straight from wikipedia, and if you don’t know what that means, don’t worry.

Every dynamical system has both states, x, and outputs, y. Outputs are more natural to understand since outputs are what we see or know about the system. For example, if you throw a ball, some of the outputs of the system could be the height and distance of the ball since you can see exactly where it is, those would be part of y. However, there are some intrinsic details of the system which cannot be measured simply by looking. These would be things like acceleration and velocity. We can consider both the observed and hidden features to be part of the state, x. Now, if we add an accelerometer to the ball, then we would be able to add more things from the state into the output.

And now that we have that brief rant out of the way, we can understand controllability. Essentially, state controllability means that you can force the dynamical system into any state that you’d like with the correct sequence of control inputs, u.
Output controllability, as its name suggests, describes our ability to move the output to any condition we like through a sequence of control inputs.

That is the essence of what the state space representation is saying. We have only a few things we care about. We have a state, x, which is what’s really happening in the system. We have the outputs, y, which are our observations of the system. And we have our control inputs, u, which are our only method of moving either the state or the output.

Observability

Observability is a measure of how well internal states of a system can be inferred from knowledge of its external inputs.
This is a slightly more abstract concept than controllability, but it is really just saying “How good can we guess the internal states based on our observations”. Going back to the thrown ball example, observability is asking the question: how accurately can we infer the velocity and acceleration of the ball if we only know its position.
Observability does not imply that we can only use the current outputs, we can also consider past outputs! In our example, knowing past observations can make a huge difference. Imagine that we have a video recording of the ball and we are trying to guess where a ball will end up if we only see a single frame of it! Now, if we get a few pictures of the ball in sequence, we have a good idea of the direction. Further, if we know the amount of time between frames, we can even make an educated on its velocity, and all of a sudden, this system seems somewhat “observable”.

I will just briefly mention that there are methods of inferring the state of a system given only the outputs. One in particular, the kalman filter, will be a focus of a future article that I write. It is not simple, and discussing it is definitely beyond the scope of this article. I just want to mention that inferring the state is possible, and the methods that can do this are called state observers.

Open vs. Closed-loop Control

Now that we have a few basic concepts, we can move onto some aspects of what it means to control a dynamical system. In our old example where we threw a ball and then observe it, we don’t actually have any control after we’ve let go. So, that’s not a very good example to use when talking about controlling a system.

Let’s focus now on a controllable system. For example, the heating unit in your home. What are our controller and output in this scenario? The switch that turns the heating unit on is our controller, and the actual temperature of the building is the output.
Now, Imagine in this scenario that we have our heating set to run on a timer. For instance it turns on at 4pm before we get home, and then turns off again at 10pm when we are going to bed. This is considered an open loop control system because the controller is independent of the output. The heating unit has no connection with the actual temperature of the building. Doesn’t sound very comfortable, but this type of system is simple, and very few things that can break.
On the other hand, consider the situation where we have the heating unit connected to a thermostat. Now, we can simply set the heater to a certain temperature and it can make its own decisions of when to turn on and off. This is considered a closed loop, or feedback, control system. In this scenario we have the control action being dependent on the state of the system. That’s a big improvement in convenience and comfort!

Obviously, this is not a comprehensive list of the concepts used in control theory, this is just a small taste. But I find these to be the core concepts. This article will probably be updated, so feel free to let me know what other concepts you believe to be central in control theory!

Just in case anybody is interested, this is the paper that I originally read which brought me into the world of control theory, the deep state space models paper. What they are trying to solve is a time series forecasting problem, so there are actually no controls involved in their paper. However, they do use a state space model and the kalman filter to make predictions, both of which originate in the controls world.

--

--