A beginning graduate student in robotics asked me the areas of mathematics that he should brush up on (prerequisites) to begin a masters research program in robotics. What are some good materials/books that are indispensable for a research student? Which ones should we suggest in order that the student develops a solid foundation in robotics?
Other answers are correct: It depends on where you are focusing, and what your topic will be. However, there are some common themes. I would say that a minor in mathematics from a decent university should cover the bases.
I would strongly recommend the following, based on my experience:
- Linear Algebra, at least one or two semesters. Plan on taking refresher courses and specializing if necessary. Because robots operate in the world, and the world is defined by coordinate frames, knowing something about matrix multiplication, inverses, rank, affine and projective transformations, etc is extremely helpful.
- Calculus, at least 3 semesters.
- Some numerical analysis, because robots use computers.
- Probabilities and Statistics, at least 1 semester, though this is becoming increasingly important
For my subfield (Algorithmic Robotics), the following things are very helpful:
- Algorithms and Data Structures, at least 2 semesters
- Formal Theory of Computation (Hardness and mappings of problems), at least one semester
- Matrix Theory, (another semester of a specialized linear algebra)
- Discrete Math (graphs, counting and enumueration), at least 1 semester,
This depends heavily on what the research topic will be on. For example, is it:
- image processing, machine vision...
- path planning
- robotic manipulators?
Without knowing the area of research, it is not simple to know what mathematics will be required. Having said that, any mathematics required is taught during undergraduate studies anyways, so there are no real requirements. Any domain-specific mathematics generally just needs basic knowledge of matrix algebra to build on top of.
Some programming experience is likely to be required as well.
Since robotics is a combination of Electrical, Mechanical and Software Engineering the maths for those fields is obviously relevant. On top of that I would argue that in robotics it is very helpful to have good knowledge of linear algebra, probability and control theory. A good grasp of mechanics obviously helps as well.
A good approach would just be to research robotics programs and see what books they have for different classes that could help build a foundation. Personally I've used this book for a robotics/mechatronics class but it was for undergrad
If you want to build more than a foundation, it would be wise to look up top schools in robotics and find out what books they use. Most would be in syllabus that can be found by searching the school, class title and maybe a current professors name.
The Springer Handbook of Robotics is a good resource that explains what the requirements are for any particular robotic field you want to specialize in.