Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Robotics generally involves a combination of sensing, actuation,
and computation. Researchers design and analyze machines that
interact with the physical world to accomplish tasks such as
autonomous driving, surveillance, vacuuming, raising crops,
exploring planets, and automating factories. It is important
for students to develop a broad, interdiscplinary background
because many robotic issues are well outside of computer
science. The robotics community is very international and
interdisciplinary. In the US, most robotics researchers work
in engineering departments, such as mechanical, electrical,
and aerospace. Those in computer science departments
usually have a strong interest in algorithmic issues.

Robotics Courses

There are few courses that deal directly with
robotics. CS 443 is an undergraduate-level course
that introduces basic robot kinematics and dynamics,
while surveying other issues. Courses that address
motion planning exist, although most are topics
courses. Check for offerings by Hutchinson, LaValle,
or Bretl.

Relevant CS Areas

Within computer science, all robotics students should develop
a strong background in algorithms. Taking CS 473G is essential.
Computational geometry, when offered, is extremely valuable.
The theory of computation (CS 475 or beyond) is also worth
considering.

...

Vision and graphics involve many geometry-oriented problems
that are similar to those in robotics. Machine learning provides
a helpful complement to robotics by considering how to develop
models automatically. Scientific computing issues arise frequently
in robotics because many approaches perform numerical computations
that involve matrices, optimizations, or differential equations.
It is therefore recommended to choose courses from some of these
areas.

Math, Math, Math

Outside of computer science, it is perhaps most important that
students build a strong math background. Most of the difficulty
in robotics is formulating the right problem. Rather than
developing a limited understanding of mathematical tools that
have already appeared in robotics, it is strongly suggested
that students learn enough math to clearly formulate new
problems and approaches. Some areas that have been most
interesting to robotics students in the past are

...

The typical student in robotics may take a couple of 500-level
math courses, from two different areas. In many cases, students
might first take an undergraduate prerequisite course, depending
on their previous exposure to abstract mathematics.

Control Theory

Finally, UIUC has a strong tradition in the area of control theory.
The subject essentially amounts to considering parameterized families
of differential equations, and determining how to fix the parameters
in a way that leads to the desired outcomes. The diffential equations
may model many kinds of systems, including mechanical (it is like
parameterized physics--force the world to do what you want),
electrical systems, chemical systems, economic systems, and so on.
There are numerous control courses. Robotics students have most often
found the following to be relevant and interesting:

...