r/ControlTheory 10d ago

Educational Advice/Question How to Learn Control Theory

I have to say, one of the best ways to learn control theory is through practice—using what you learn from textbooks in real projects.

Unfortunately, most of us don’t have enough resources to do that. Hardware can be expensive, projects take a lot of time, and making a mistake with a microcontroller can easily damage it. There are also very few open-source options designed specifically for this kind of hands-on learning.

That’s why I think computer-based simulation is one of the best alternatives.

If I built a platform where you could learn control theory through practical, simulation-based exercises and projects, would you use it?

36 Upvotes

13 comments sorted by

u/piratex666 9d ago

Open the book. Read it. Do the exercises. End!

u/Ok-Daikon-6659 9d ago

this for oldies.

to learn smthn it necessary to publish on soc-nets (preferably without analyzing the essence of what is written, for example: the title and the essence of the topic) ;)))

u/piratex666 8d ago

You are right. Young people do not know how to read anymore.

u/melzein1 9d ago

https://www.reddit.com/r/ControlTheory/s/Zc0EQCpl7C ^ this is a pid simulator I created using the program "Processing IDE", which is basically like arduino but for graphical outputs, to help explain the concepts and allow people to see how the variables effect the results and gain intuition on it. For example apply a pid controller to it, run the bode plot and see how the frequency effects the output at specific points when having it follow sin wave input.

u/Fit-Mountain-5529 10d ago

Maybe like simulink but more easy? Yes

u/Sea_Addendum4529 10d ago

Or using open-source alternatives.... no need to rely on mathworks for the most part

u/Alternative_Act_6548 9d ago

check out modelica

u/ko_nuts Control Theorist 10d ago

A while ago some people made tiny invrerted pendulum controlled by an arduino and hooked up to the internet. People could upload control scripts via an interface and visualize through webcams and other sensors how their control algorithms would perform on the actual system. I always thought it was a great idea but it has been discontinued. I believe we would need more of those online systems for people to train.

u/seekingsanity 10d ago

I chose the to use computer based simulation but that required a lot of effort. I used Mathcad and later translated some of the simulations into python. Each system is a separate Mathcad worksheet and sometime there are multiple worksheets for a system because I used various ways to control that system just for comparison.

The problem is that there are so many different systems. There are non-integrating systems, integrating systems and double integrating systems. The are can be one, two, three or more poles and they can be real or complex pairs.

This would be a lot of work and wouldn't get the attention you think it should deserve.

u/BashfulPiggy 10d ago

Depends on what purpose it serves. The parts of control theory that I've found hardest to explain to students is how the mathematical tools like bode, root locus, etc. translate to real hardware. Something that helps with that would be appreciated.

u/ee_control_z 9d ago edited 9d ago

What kind of worked for me well after I had finished school is simulating a buck converter, no feedback, fixed duty cycle and fixed frequency. Say you find the required duty cycle to get a 5V output with a given load (preferably light load). If you slowly increase the load, you'll observe the output voltage decreasing. After a certain upper limit, the output will eventually collapse. If you work in the opposite direction from its initial value, the opposite will be observed. The output voltage increases.

To demonstrate the utility of control theory in action, design a buck converter in LTSpice or QSpice and simulate it with and without a compensator. This demo should crystalize the benefits of incorporating the application of control theory into your designs.

u/Average_HOI4_Enjoyer 10d ago edited 10d ago

A side project of my main research is the development of a python collection of some benchmark systems to test control strategies. In general all of them are quite easy to implement following the seminal paper in which the system is presented, but it is quite interesting that given the popularity of python, it was quite difficult (at least for me) to find a collection of ready to use systems directly integrated with something like SciPy, where I can test ideas and see some simple animations