ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

While ROS is used in many research laboratories and universities, you don't have to be an academic to use it.

I would say as a general guide, you will want to have some background in the following.

  • Linux: You should be aware of how the Linux operating system is put together and how to navigate it's file system. You should also be able to install and uninstall packages, as well as follow tutorials written for Linux software.
  • Command Line: You will want to have a basic fluency in using the Linux command line. Much of this can be learned as you go, but without some basic knowledge, you will struggle to get to the higher-level concepts that ROS has to offer.
  • Python and C Programming: You don't have to have a degree in computer science to dabble in programming, and I would say that most hobbyists (or undergraduates) have the skill set necessary to create their own ROS nodes.

If you have some basic working knowledge of these things, then you should have no trouble using ROS. Some of the higher level concepts are more mathematically rigorous (or rely more heavily on computer science and control systems knowledge), but most of these things can be learned from Wikipedia or other sources of information on the web. I am currently mentoring a group of undergraduates on a robotics project, and they have had no trouble attaining the skills necessary to work in ROS.