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

Revision history [back]

click to hide/show revision 1
initial version

If you are a novice and want to learn ROS, then you first need to learn how the Linux shell works and then, you must learn how to create programs in Python (in that order).

  1. Linux is required to manage the creation, compilation and launching of ROS programs. You do not need to master everything in Linux, but some basic concepts. We have created a free Linux For Robotics online course where we teach those concepts, applied to robotics. I recommend you to do it.

  2. Once you know about Linux, then you must learn to create programs either in C++ or in Python. ROS can be programmed in any of those languages, but if you are a novice, then I strongly recommend that you start by learning Python and then learn ROS using Python only. That is the fastest and simplest way to master ROS. We have also created a free online course about Python For Robotics, that I highly recommend you.

The previous two subjects are quite simple, so don't be scared, you will learn them very quickly.

  1. Once you know those two, you are equipped to start learning ROS. That is the tough part. There are several ways to learn ROS which depend on your learning style, urgency you may have, and money. Of course I recommend you the courses we created at our online academy (Robot Ignite Academy), but there are other ways to learn that may be more suited for you. Have a look at this post, were we listed all the ways you can learn ROS.

Hope this helps. As a final comment, I would like to mention that the key component to learn ROS is by practicing. Just reading text, watching a video or reading code will not make you understand later why a ROS program is not working as it should. So I recommend you to focus on practice.