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

which version of ROS to install?

asked 2019-08-19 03:50:42 -0600

jweaver gravatar image

Just getting started in ROS, and I have several questions:

1) At this site : there are several versions to install. Is the reason for this, that they are not backwards compatible? If I install the newest version: "ROS Melodic Morenia" , and get that running and develop my robot application for that particular version, what happens when a new version comes out- will I always be tied to the "Melodic Morenia" version? What is standard practice here?

2) Why is ROS2 not in this list? ( ?

3) If I am new to ROS should I start with ROS2 ? Is ROS(1) not going to be developed anymore- is all attention shifting to ROS2?

Thanks for your advice.

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2019-08-19 10:04:58 -0600

I would disagree with Mehdi, I think ROS2 would be a good place to start if you're just now starting. ROS2 is where most of the development is happening and if you learn ROS2 it'll be more "Future proof" each has a steep learning curve so if you're going to invest the time, I'd recommend investing the time in ROS2. ROS1 Melodic is going to be more stable as they mention, but Dashing isn't "unstable" by any stretch. There are a few quirks but overall its all together.

Disclosure: I develop on the ROS2 navigation stack. I'm a little biased.

edit flag offensive delete link more



Disclosure: I develop on the ROS2 navigation stack. I'm a little biased.

This may indeed be the case.

For people just starting out, the fact that there is almost zero documentation and tutorials is a major pain point with ROS 2. Don't underestimate the difficulty newcomers will have trying to understand how things "fit together", how packages are supposed to be created, how workspaces work (Colcon? Catkin? catkin_tools? catkin_make?), which (build) tools to use, etc, etc.

Even something as essential as creating a new, custom message is already quite complex and somewhat underdocumented (the tutorial even acknowledges that).

And that's not even mentioning Ament ..

gvdhoorn gravatar image gvdhoorn  ( 2019-08-19 10:15:41 -0600 )edit

That's totally fair, however even with the abundance of documentation, ROS1 to many people is also a "trial by fire" experience getting up and running. But for all the reasons gvdhoorn mentioned, ROS1 Melodic isn't by any means deprecated. If you have a little grit to power through issues and already have some C++ experience, I don't think it's insurmountable.

stevemacenski gravatar image stevemacenski  ( 2019-08-19 11:13:04 -0600 )edit

ROS1 to many people is also a "trial by fire" experience getting up and running.

Sure, but at least there are at about 20+ books about it, MOOCs, summer schools, video tutorials, a large support forum + many more smaller ones and 10+ years of experience.

ROS 2 will have all of that, but right now I would not state -- without some nuance -- to newcomers to "learn ROS 2 if you're just starting out".

gvdhoorn gravatar image gvdhoorn  ( 2019-08-19 11:22:55 -0600 )edit

ok, here's an example. I start with ROS2 (Dashing). Get it all running on Unbuntu 18.04, deploy it to my raspberry pi powered robot, then ROS2 goes to the next release- maybe fixes some bugs, improves some things. I assume my ROS2 (Dashing) work can still be used in the next release? By the way, what do I call this- a "package" developed in ROS2 Dashing? Sorry for this basic question. I could not find a tutorial or process-flow that gives a simple general overview of the process, any clarity would be appreciated.

jweaver gravatar image jweaver  ( 2019-08-19 13:31:12 -0600 )edit

I would agree with gvdhoorn on this one. Even though ROS2 introduces some great changes (definitely feels cleaner and faster) I would recommend newcomers to start with ROS mostly due to the available documentation, tutorials and the abundance of existing packages. In addition, some of the most important tools such as rosbag are still not implemented in ROS2. ROS2 is definitely the future of ROS but I think that once you are familiar with ROS1, the transition to ROS2 is way easier. Otherwise I can only imagine the horror when newcomers start with ROS2 and then have to deal with ros1_bridge and ROS1 due to lack of some packages. I would make a comparison here (I usually make lame comparisons but I will give it a try), learning ROS2 before ROS1 is like learning (undocumented/early stage) C++ before C. It is quite doable and it is the future but ...(more)

pavel92 gravatar image pavel92  ( 2019-08-19 13:40:20 -0600 )edit

@jweaver and this is why so far it has been recommended to start with ROS tutorials. The tutorials give a good introduction into ROS and I would definitely recommend going through them at least once to grasp the basic concepts. Even with all the documentation and tutorials ROS has a steep learning curve and diving directly into ROS2 will leave you will some confusion and a lot of questions.

pavel92 gravatar image pavel92  ( 2019-08-19 13:47:58 -0600 )edit

answered 2019-08-19 05:52:56 -0600

Mehdi. gravatar image

Start with ROS Melodic Morenia on Ubuntu 18.04

ROS2 is still in heavy development and is very experimental at this stage. Most robotics companies I know of will be using ROS Melodic.

Here are more information about ROS2 and here too

edit flag offensive delete link more


ok, I will do that, but if I have Unbuntu 19.04 installed, do I have to uninstall it and re-install 18.04? I mean what is the standard practice? Do people normally have different versions installed ?
Sorry- in this forum I did not see any "reply" option, only "add comment"

jweaver gravatar image jweaver  ( 2019-08-19 06:34:13 -0600 )edit

@jweaver this is not a forum, it is a Q&A-site, like stackoverflow. Thus no reply :-)

there has been the decision to support ROS distributions mainly for the specific Ubuntu LTS to lower the maintenance burden. Thus, 19.04 does not have precompiled binaries. You could look into installing from source, but I'd discourage that. better use 18.04.

mgruhler gravatar image mgruhler  ( 2019-08-19 07:19:40 -0600 )edit

Question Tools



Asked: 2019-08-19 03:50:42 -0600

Seen: 2,105 times

Last updated: Aug 19 '19