I am a student studying in 11th grade.

I have some knowledge about python (more than what an ordinary student in 12th grade will have). I also have some knowledge of C# as I have been creating games with unity using C#.

But, I have no knowledge of C++ and I am planning to start learning ROS. I do not have any knowledge about where to start. Just have read a bunch of articles online which made me very confused for where to begin.

Should I start learning ROS with python only or should I first learn C++ as it is more efficient? As a school student, I literally have no money so I cannot buy paid content. It will be very grateful if you will suggest me some free content online to begin my Journey with ROS. Is there any good book that I can start reading? ...

  • $\begingroup$ Have you checked out the ROS lessons from theconstructsim.com? That's what I generally recommend for folks who are new to ROS, as you don't have to mess around with setting up the environment and everything, you can just jump into learning ROS itself. $\endgroup$ – Brandon J. DeHart Mar 3 at 2:17
  • $\begingroup$ They are not free except the python and Linux course. $\endgroup$ – Shriyam Avasthi Mar 3 at 16:23
  • $\begingroup$ Sorry, I should have been more clear. If you're looking for free learning tools for ROS, you can use the videos that they post online for free (or anyone else posts, for that matter) and then run them in the free cloud-based simulator that is provided as part of The Construct. No need to pay for the courses, just use the tools they provide as part of the ROS Development Studio. $\endgroup$ – Brandon J. DeHart Mar 5 at 4:47
  • $\begingroup$ Thanks for your reply. I will surely check that out. $\endgroup$ – Shriyam Avasthi Mar 6 at 12:05
  • $\begingroup$ Welcome to Robotics Shriyam Avasthi, but I'm afraid that Life Questions are off-topic. Choosing how to spend your time (books to read, classes to take, projects to construct, career to pursue etc.) may be difficult, but it's specific to you, so unlikely to help future visitors. Questions like this are welcome in Robotics Chat when you have the privilege. We prefer practical, answerable questions based on actual problems that you face, see How to Ask & tour. $\endgroup$ – Ben Mar 8 at 18:07

Welcome to the ROS world :). Definitely, stick with python in learning ROS. You'll learn C++ with time and adapt your ROS knowledge to it.

You'll find a lot of very good tutorials online, starting with the ROS ownd tutorials.

You should learn the basics: topics, services, actions.

As I often like to teach it, ROS is 3 things:

  • a middleware that allows multiple process to communicate together via topics, services, actions

  • a set of visual tools for debugging (RViz, RQT ...)

  • a community of developers that propose a thousands of open source packages that already implement a lot of robot functions.

For references, you'll find many free books online. A quick google search gaves me the following results:

But my all time favorite is the Programming Robotics with ROS by Morgan Quigley.. If you had to read one book, that would be my go to book.

  • 1
    $\begingroup$ Thank you for your reply. Can you tell me some good free online tutorials, for absolute beginners like me, online? How did you started learning ROS? $\endgroup$ – Shriyam Avasthi Feb 27 at 3:28
  • $\begingroup$ The official ros tutorials are very user friendly and should be a good starting point. $\endgroup$ – Akhil Kurup Feb 28 at 20:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.