So recently I have been interested in this new fascinated topic: data-driven control with machine learning. I accidentally discovered this topic when I was studying control theory for my course, dynamics and controls of space structures. Since this course requires me to understand control theory as its prerequiste, I had a hard time finding and learning the right materials to catch up quickly the topic, and I stumbled upon a youtube channel of Steve Brunton. He is a professor in mechanical engineering at University of Washington. He has a youtube channel which contains his free lectures about mathematics and engineering. From his channel I learn a lot about control theory, and he also hosts a very fascinating lecture series about data-driven control with machine learning. So in this post and for the upcoming posts, I am going to be talking about data-driven control which I learn from his lectures in brief way, and this is the first part
So, let’s first start with control theory. Basically, in control theory we want to manipulate a particular system dynamics with a controller so it achieves desired goals. The scheme is depicted as follows.

We have physical system which is disturbed by some disturbances, and we want this system to behave like we want, and we measure this behaviour by introducing cost function (hence our goal is to minimize this cost function). To achieve this, we introduce control law which produces prescribed control through actuators to steer the dynamics, and hence this control law needs input (which is given by sensors obviously). So the problem with classical and modern control theory are (classical: one with frequency domain analysis, modern: one with time domain, state space, and siso-mimo):
- Highly non-linear dynamics: oftentimes, the dynamics we want to control are highly nonlinear, for example we want to laminarize the turbulent flow over the wing using flap (hence lower the drag and increase the lift). Classical and modern control theory relies on linearization of system dynamics. By having linearized system dynamics, we can easily construct cost function, hence by using various control law, such as kalman filter, LQR, or optimal control, we can easily control this dynamics. But, what if our system is highly non-linear, like the case I mentioned before? Then the cost function would be very complicated and cannot be solve using existing control law (remember Riccatti’s equation, right). So this problem needs a new approach.
- Unkown dynamics:
- Very high multidimensional parameter:
- Limited measurements:
What is control? what is machine learning?
- Data driven model
- Learn control
- Sensors/actuators placement
