I am an engineering student and I took my second dedicated controls class last semester. It was cool math and whatnot, but after all was said and done: I still have no idea how to make an actual working control system.

In other words, there was no tie-in to reality at all; it was all Laplace-domain mathematics that somehow affected our result.

What I want to know is: how do I go from real-space, to controls-space, and back to real-space? To help with understanding, I have prepared an example:

I have platform that is supported by a vertical rod. This rod can freely move up and down, or rather, it would be able to if it was not held in position by a motor (either a servo or a gear). The job of this motor is to keep the platform at the same height. E.g., if I place a mass on the platform, the motor must be able to adjust to it and respond accordingly such that after the response, the height of the platform is the same as before. (Of course, with a specified rise time, maximum overshoot, yada yada...).

This might sound trivial to you controls engineers out there, but I really don't know how to do this. I get that it is a closed loop system, but what I don't know is what all these laplace-space block diagrams correlate to in the real world. How do I get the block diagram for this system, and how do I build a controller inside of it?

The point of this example is to extend it to other problems, like airplane control, but I figure if I don't understand this I probably won't be able to do those other (cooler) things!


I hope I can help you in some way, your question bounces around a bit so I'm guessing a little on what you are wanting to know. This is how you come up with a controller that is implementable from scratch:

1) Make the model ("plant")

The #1 preliminary skill a controls engineer needs is to be able to make a mathematical model of a system, whether it be chemical, mechanical, electrical etc. For example, what are the equations of motion for your example above with the motor and the vertical platform? When making the model, you may also want to decide if you'll be implementing state space or classical control methods later on. I'm guessing your controls class covered at least the classical control methods (PID, phase lag, etc.)

To be clear, a working model of a plant (system) that a control engineer can work with is typically the transfer function (laplace relation between input and output) or the state space model.

2) Decide what kind of control you want to implement

Deciding how to control your modeled system can depend on several factors; like what measurements you can make available to the controller, what performance criteria you need to achieve etc.

3) Design the controller

This is where you do the math, you draw the block diagram and evaluate how the controlled plant will perform. This is what you've been learning in class. This is why you are an engineer, because of the mathematics you know how your system will perform before you build it.

4) Implement

Now you just need to find the hardware/software to implement your designed controller. For example, if you're going to do full state feedback, you need sensors to measure the states, amplifiers to add/subtract signals, and the required input ability to make your plant behave.

Overall you need to model the system, know what kind of control to use, and then use the techniques from class to analyze how it will pan out. Implementing is just about knowing what kind of hardware to use.

  • $\begingroup$ This is great thanks! To be clearer, my main problem is with step number 1, and what comes after step number 4. Is making the physical model really as easy as simply creating a dynamical model and replacing the parts with values I can control (inputs)? For my example I have provided, I guess we could model it most simply as an input force that is applied to the bottom of the platform. Then I can retrieve the transfer function via classical control theory. $\endgroup$
    – hakzatchel
    Jul 29 '15 at 20:09
  • $\begingroup$ From there, I know how to create the controller in laplace-space using what I've learned in class. But how do I take it back to the real domain? This is the real problem I am facing (upon further reflection, I guess this is step 4). $\endgroup$
    – hakzatchel
    Jul 29 '15 at 20:11
  • 1
    $\begingroup$ @hakzatchel See my edits, I'll try to edit the answer to meet your questions. To figure out how to implement your laplace domain controller, I'd suggest condensing the block diagram to one transfer function, then do the inverse laplace transform. You'd then have your system in the time domain and could see how to implement. $\endgroup$ Jul 29 '15 at 20:16
  • 1
    $\begingroup$ @hakzatchel I'll also add that state space is a little more intuitive on thinking about the hardware to get the job done. Nowadays there are plenty of software and hardware tools at your disposal where you probably wouldn't have to leave the laplace domain to implement (like Simulink). $\endgroup$ Jul 29 '15 at 20:20
  • $\begingroup$ Fantastic! I cannot express how much clearer you just made this all to me. I think I am going to try solving this problem and then see if I have any more questions along the way. Thanks again! $\endgroup$
    – hakzatchel
    Jul 29 '15 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.