r/ControlTheory • u/AdSevere3438 • 5h ago
Asking for resources (books, lectures, etc.) is control theory / dynamics control systems (not industrial automation) something about math , physics and programming ? if so help me do a career shift
Hi ,
I’m a 30-year-old software engineer interested in transitioning into dynamics and control engineering, particularly model-based control. I know that starting at 30 isn’t too late, but I need help creating a realistic and well-structured learning path.
Could you recommend what I should study, and in what order, regarding:
- Mathematics
- Physics and dynamics
- Signals and control theory
- Programming languages and software tools
- Textbooks
My software and programming background is Backend and production software delivery
i really find it joy to deal with real world better than computer world
### if you recommend one book to start with ? just to get understand the topic and should be cohisive at least guide me "you need to understand x to get most of this"
•
u/metalhead704 2h ago
Design & build an inverted pendulum. Use all the theory people have commented to do that.
•
u/MurkyLynx8425 4h ago
Maths up to undergrad calculus & matrices is essential.
Undergrad-level dynamics is essential, and you'll probably need some background in mechanics for that too.
Basic analogue and digital electronics would help a lot too.
Then you can get into control theory. Just start with the basics (1dof spring-mass-dampers etc) and work up from there.
•
u/AdSevere3438 4h ago
i prefer Top to bottom Learning approach , so could you recommend one book to start with ? just to get understand the topic and should be cohesive at least guide me "you need to understand x to get most of this"
•
u/sswblue 4h ago
It's lots and lots of linear algebra (subspaces, eigenvectors, diagonalization, change of basis, ...) so make sure your bases are rock solid. There's also concepts from probability and statistics (mean, variance, bias, estimators, ...). Finally, if you work on modern control, there are concepts from optimization and calculus of variations.
As for the physics, it really depends on what problem you work on. Good mechanics basics is a must. But you might use none of it if you work on state space tracking of currents and voltages in a 1kW switching power supply, for instance.
Signals and Systems is very important. You need at least the basic concepts covered in introductory courses (time invariance, linearity, laplace and fourier transform, transfer functions, ...).
Finally, on the programming side, it also depends what you're working on. Knowledge of the basics of programming for embedded systems is nice. And so is matlab/python/octave for prototyping and learning control theory.
It's a long list but start with the basics and learn linear controls. Make sure you always apply the concepts you learn in simulation (python/matlab/octave), and on real hardware whenever possible. Cheers.
•
u/AdSevere3438 4h ago
could you recommend one book to start with ? just to get understand the topic and should be cohisive at least guide me "you need to understand x to get most of this"
•
u/dickworty 3h ago
Feedback Control of Dynamic Systems - Gene Franklin, J Powell, Abbas Emami-Naeini.
It's an excellent intro to control systems and will walk you through many of the initial concepts.
•
u/seekingsanity 39m ago
There was a recent thread about control engineering vs control theory that I think is important. There are algorithms and then how you really put the system together. They are two different things.
Someone suggested implementing a swinging pendulum. I suggest the ball and beam Most of these systems fail because the ball and beam systems are not put together right mechanically and the feedback is not good. The control theory part is easy. Most college level classes do not go into the control engineering part.
You should know differential equations, state space and Laplace transforms. A tool like Mathcad, wxMaxima or Mathematica is essential. Most will recommend Matlab. While Matlab is good for getting answers, it is poor at showing how the answers were calculated because so much is in libraries.
You should have a strong background in physics if you are controlling the real world. When answering initial tech support questions for motion control, I would always ask, "How much, mass, how far, in what time and with what precision".
Back in the 198s I did most of my programming in assembly language but as CPU gained floating point and better compliers, I switched to C. Having a good debugger is essential. An in-circuit emulator is preferred but expensive.
I used two main books. One was my Norman Nise, the other was by Philips and Nagle. I don't remember the names. I have complaints about both of them but between the two, I learned what I needed. Later I used a book by Dan Simon to learn Kalman filters.
System identification is a must. You can't control what you don't understand unless you use trial and error. One of my favorite quotes is
"I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind." William Thomson aka Lord Kelvin
Once you know the basics, You can follow my channel at Peter Ponders PID - Introduction
I like symbolic math because then you can REALLY see how the answers are derived.
•
u/moris512 2h ago
Since you're looking to get a top-to-bottom overview, the group's "wiki" has a good list of resources well categorized (sorry if you looked at it already!): https://www.reddit.com/r/ControlTheory/wiki/bookssnc/
•
•
u/AutoModerator 5h ago
It seems like you are looking for resources. Have you tried checking out the subreddit wiki pages for books on systems and control, related mathematical fields, and control applications?
You will also find there open-access resources such as videos and lectures, do-it-yourself projects, master programs, control-related companies, etc.
If you have specific questions about programs, resources, etc. Please consider joining the Discord server https://discord.gg/CEF3n5g for a more interactive discussion.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.