You are on page 1of 2

It depends on what you want to do with your career.

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.

In my opinion, knowledge of control is valuable in robotics when the system is under-


actuated and you really have to use advanced techniques other than simple PID
controller. Typical applications are attitude control of spacecrafts, unmanned
helicopters, UAVs, etc. In most robotic applications, like manipulators, humanoid
robots, there is a redundancy of control authority and trajectory planning boils down to
geometric path planning. Instead of using advanced control techniques, robotics people
use geometric planning techniques accompanied with tracking controllers (usually a PD
or LQR at best). So, there is no need to learn advanced control techniques unless you
want to work on advanced maths which literally has no value in engineering and
industry. Most of the engineers are practical guys and very application oriented. They do
not know advanced math and are not interested in learning advanced math either. Many
senior control engineers are reluctant to use new and advanced control techniques due to
their complexity. The common consensus in industry is that classical control theory is
just fine enough and provides good performance in many applications, and so why
bother to use complex approaches. In summary, control people work on the low-level
problems in robotics whereas machine learning people can work on a larger set of
problems to achieve higher level goals (task planning, mission planning, etc). Many
robotics people find problems at higher-level much more interesting.

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.

My background: 10 years of research experience in academia and industry

PhD in Robotics (areas: artificial intelligence, mechanics, controls), MS in Computer


Science (area: machine learning) , MS in Aerospace Engineering (flight mechanics and
control), BS in Computer Engineering, BS in Electrical Engineering (area: control
engineering)
2.5k Views View Upvotes

You might also like