Control Systems Vs Machine Learning
Control Systems Vs Machine Learning
For a research career: learn more machine learning. All low-hanging fruits are taken in
control, there is no much funding for theoretical control research. Classical control
theory is enough for many robotics applications in industry. There are fewer openings in
control than in machine learning in academia.
Control: take undergraduate level feedback control theory, control system design, digital
control theory and modern control theory classes. No need to take advanced control
theory classes at graduate level. For most of robotics applications, knowing how to apply
PD, PI, PID controllers and Kalman filter are good enough skills.
Machine learning: it is a hot area and there are lots of funding opportunities. Take
fundamental classes in linear optimization, nonlinear optimization, probability theory
and statistics. Then, take many graduate level classes on algorithm design, machine
learning, reinforcement learning, deep learning, pattern recognition, etc.
Machine learning jobs are well-paid compare to control engineering jobs. Many control
engineering jobs start with 80K-90K at PhD level. On the other hand, I know, a couple
friends who got their MS in CS degrees with machine learning specialization and had a
starting salary of 120K. As a field, machine learning is much easier than control theory.
As a control guy, you have to deal with the real-world, hard time constraints, physical
phenomena that cannot be modeled perfectly (friction, contacts, etc.), noisy
measurements, faulty hardware and actuators, verification and validation of the control
software if the application is safety-critical. On the other hand, I know most of the
machine learning guys do data analysis on their computers while drinking their coffee.
They do have some of other forms of difficulties like uncertain data, unlabeled data, less
data or big data, etc. However, in my personal opinion, I find these issues easier to
handle compare to designing a control software for UAVs, humanoid robots.
My final words are if you really want to do control, then, instead of taking graduate-level
classes in control like adaptive control, robust control, nonlinear control, stochastic
control, etc., learn more about filtering, estimation, signal processing, system
identification, advanced dynamics, embedded programming which will help you a lot to
implement your control algorithm on a real hardware.