Is ROS2 developed enough or should I stick with ROS1?

Hello! Student at Rensselaer Polytechnic here! We’ve had 2 Stretch RE1’s for a bit now, and finally dedicating one fully to give Lab Tours and delivering documents, small packages, etc.
I’m just starting, but have a pretty good understanding of ROS2 since that’s taught here, but have no knowledge of ROS1.
My question is: Should I stick with ROS1, or use ROS2?
Since I have a solid base with ROS2, I’d prefer to use that, but have seen a lot of warnings that it’s unstable right now… It looks like all the parts I need already exist within v0.3 (though experimental), so should I just stick with what I know?

Just asking because I’d rather not start and then learn down the road that a major capability doesn’t work on ROS2 and have to switch back…

Hi @byrnete, good question! ROS 2 Humble, the v0.3 docs, and Python 3.10 on Stretch are all being released on March 4th, 2024. That’s why you’ve seen the “experimental” tag on them; the code is public and open-source, but in “beta” until their release on March 4th.

As for which version to choose, I’d recommend going with ROS 2 as it should have near equal parity in terms of software capabilities as ROS 1. However, please note the exception that a ROS 2 simulator for Stretch isn’t being released on March 4th. The ROS 2 capabilities will exceed that of ROS 1 with support for Navigation2 and MoveIt2. Lastly, ROS 1 support is going into “maintenance mode” (i.e. it’ll receive bugfixes, but not new feature development) on March 4th, and it will reach end-of-life next year.

Hope this information is helpful. Let me know if you have any questions.


EDIT 03/12/2024: The software described above is released! Check out the Upgrading your Operating System guide.

Hi Binit,

Do you have a timeline for supporting robot simulation in ROS2? Using “new” gazebo (previously known as ignition) or another simulation environment?

Rod.

Hi @Roderick_Taylor, currently we do not have a timeline for supporting the new Gazebo Harmonic. Would you mind telling me a bit about your use-case and if the existing options (e.g. Stretch’s Mujoco simulation) do/don’t work for you.