After taking classes in control theory as an undergraduate, I ended up not using them at all after I graduated. I've started to fix that by starting a hobby project in controls. My textbooks are pretty good references for the theory, but my biggest problem is that I have not found a good reference on determining system parameters in models. For example, say I have a temperature sensor located some distance away from a heating element, and on top of that it has some non-trivial amount of thermal mass. How should I model this non-ideality? And even after I've modeled the error function for the element, how do I determine the actual numerical coefficients from bench experiments?

Does anyone here have any good textbooks or references to recommend?

  • \$\begingroup\$ I love your question, I am not a controls guy(been 3 years since I took the class), if you break up your question just a little so that it is not one large paragraph it improves the number of people whom read it. This is just a suggestion, I read it, and it seems at least 3 others have. \$\endgroup\$
    – Kortuk
    Dec 20, 2010 at 14:50

2 Answers 2


I've also had this problem...even though I've done controls work for a living. My part of the controls work has been dealing with what the system identification guys give me, so I never developed that skill as well as I wanted. After a while, I've picked up a couple of additional books and relearned how to do it in some cases.

The method that I use is by constructing lagrangian equations that describe the system. The lagrangian describes the kinetic and potential energy in a system. I've found that Control system design: An Introduction to state-space methods (cheap) actually has a decent reference for performing system identification. I recommend going through all of the examples and problems in chapter 2.

Additionally, the thermal problem you describe can be handled by converting the components of the model to electrical equivalents. This can be found in the book or by doing a bit of googling.

  • \$\begingroup\$ I like this textbook - found it at the local university library and I'm reading it right now. \$\endgroup\$
    – krapht
    Dec 21, 2010 at 16:07

I've had a similar history with control theory. Last year, I tried to solve the same problem, but I was only somewhat successful. I learned a few things:

  • This part of the field is called "system identification."

  • Unfortunately, most engineering literature on the topic covers dynamic system identification, meaning the task of adjusting control parameters because, for example, the mass of your robotic arm changed because it picked up a box.

  • For a lot of physical parameters, there are tests you can do that will give you decent estimates. For example, in mechanical systems, you can measure the stiffness of a beam by weighing it down with a few different masses and measuring how far it deflects. For the specific example of thermal mass, I'd think your best bet is probably estimation by material properties and volume, unless you have a calorimeter.

  • For estimating gains for PID systems that actually exist outside the computer, I've found the Ziegler-Nichols method to be a good start: http://www.mstarlabs.com/control/znrule.html

  • From what I can tell, the general procedure often involves building a prototype with a powerful actuator, and then seeing how the system reacts to different inputs. See, for example, this Matlab tutorial that describes how you can estimate the damping coefficient and natural frequency of a system by measuring its response to a step input (i.e. jerking a spring and seeing how it wiggles): http://www.me.cmu.edu/ctms/modeling/tutorial/systemidentification/mainframes.htm


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.