Using text "Programming Robots with ROS" advice

From personal experience I would say that ROS 2 is perfectly functional for education purposes, mainly thanks to the Turtlebot3 project.

The only quirk that really threw us off is the necessity of adjusting QoS settings for subscribing to sensor topics that was not documented, and in general the documentation is still at its early stages. But any basic document that you would have to write anyways for your course will easily fix that.

If I was to teach ROS in a course, and it might very well be the case in the near future, I would definitely go with ROS 2. At the same time, this course would be for masters students at a school fully focused on software engineering and that teaches solely through practice and projects, so the level of programming is already strong in the audience. But, also at the same time, beside the docs I don’t really see what is making the entry level so different between ROS 1 and ROS 2.

Seen the industrial impact of the set of features present in ROS 2, the traction that it currently has in the industry and its current maturity, I would say that the (very near) future is definitely there and ROS 1 is soon to be a relic of the past, like, within a year.

EDIT: During the “personal experience” that I am talking about we stayed in the simulator and did not deploy to an actual robot, although I have seen from the linked docs, another project on Github and a Discourse announcement that it is currently functional on live robots.

1 Like