Well, winter break hardly began and it is already coming to a close. I’ll have to write a more journal-like post to document the trip up to Snoeshoe, WV, but today I want to discuss one technique of control theory that I recently came to know and love. Model Predictive Control (MPC) has always fascinated me and been something of an enigma to me since I knew little about it. However, the more I read about the subject matter, the more I wanted to share some of my findings with the interwebs. I’ll go over the basics of the theory and then I’ll wrap up with a little example that I coded in Matlab yesterday.
MPC is, in a nutshell, an practical implementation of numerical optimal control. All good control graduate students are exposed to optimal control at one point or another, but usually to the analytic (archaic at this point) calculus of variations (COV) version. In the COV incarnation, optimal control is difficult and adding constraints (limits and room boundaries), makes analytic computations nearly impossible. Numerical implementations of optimal control can solve this however.

I should mention, before I delve to deep into the theory, that optimal control at its core is a open loop control strategy… we find the optimal controller values and then run the system. If our system is not perfect or we hit a wall, optimal control is now confused and more or less screwed! So we run into the classic justification of closed loop control… where we watch what is going on and change accordingly. This, of course, is where MPC comes in the picture. With MPC, we implement optimal control at ever time step ( every second, say) and use only the next step of the resulting control… if something were to happen, we re-optimize accordingly!
In the following example, we have a three state system with state constraints and control constraints. In other words, if we think of this as a robot, the robot has a maximum speed, and is contained in a room. This system attempts to follow a desired path, shown in the figure below. The optimization window for MPC is adjusted and we show that by having an extended window, the path of the MPC controller approaches the optimal path (as given by a purely optimal controller).
0 comments:
Post a Comment