Skip to content

Conversation

@kscottz
Copy link
Contributor

@kscottz kscottz commented Jan 8, 2025

The intent with this post is to have a single landing page for current ROS 1 users that we can link to from notifications in ROSCore and in RViz.

See this pull request for more context.

@kscottz
Copy link
Contributor Author

kscottz commented Jan 8, 2025

In situ screenshots

Screenshot from 2025-01-08 15-16-34

Screenshot from 2025-01-08 15-16-48

Screenshot from 2025-01-08 15-17-00

Copy link
Contributor

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, several minor comments.

Merge suggestions form @fujitatomoya

Co-authored-by: Tomoya Fujita <[email protected]>
Copy link
Member

@tfoote tfoote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm with one suggestion/typo fix

Copy link
Contributor

@sloretz sloretz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Kat! 🚀 I have some high level feedback

Assuming the audience is familiar with ROS 1, and is unfamiliar that ROS 1 is going EOL
Assuming the goal of the page is to teach the audience what they need to do about it

I'd recommend the outline:

  • ROS 1 is going EoL (already have this)
  • What does EoL mean? (already have this)
  • What do I need to do? (new section higher level than ROS 2)
    • Recommended: Migrate to ROS 2
      • Include in this section how ROS 2 has real users, and resources for migrating, and where to get help
    • Other migration options (already have this)
      • Build ROS 1 from source
        • Include in this section how ROS-O has patches to build on newer Ubuntu versions
      • Pay Canonical for ROS ESM

Comment on lines 54 to 56
If your ROS 1 system is tightly coupled, has a number of un-ported dependencies, or is reasonably complex, you may want to take advantage of the [ROS 1 to ROS 2 Bridge](https://github.com/ros2/ros1_bridge).
The ROS 1 to ROS 2 Bridge performs automated translation between major ROS versions and should allow you to migrate your project one package at a time.
Due to the operating system constraints for the curent active ROS releases (Noetic / Ubuntu 20.04, Humble / 22.04) the only way to use the ROS Bridge is to use ROS 2 Humble Hawksbill compiled from source on Ubuntu 20.04, [which has limited Tier 3 support](https://www.ros.org/reps/rep-2000.html#humble-hawksbill-may-2022-may-2027).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend we add a page on bridging to the ROS 1 -> ROS 2 migration guide instead of writing it here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That could be a tough one.

The suggestion would be to have a page, that only exists in the Humble docs branch, on how to compile Humble on 20.04 with the bridge. I could do that pretty quickly if I had some crib notes or a history dump. Would someone have something like that? Are there any gotchas?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a guide I'm wanting to write, but to unblock this PR I'm good with leaving this section in for now. I will make a PR to replace it with a link when I land the bridging doc.

The suggestion would be to have a page, that only exists in the Humble docs branch, on how to compile Humble on 20.04 with the bridge. I could do that pretty quickly if I had some crib notes or a history dump. Would someone have something like that? Are there any gotchas?

I'm thinking making it not ROS distro specific. In my mind it looks like:

  1. Pick the ROS 2 distro you want to use
  2. Here's how to compile Noetic and the bridge on newer ubuntu distros
  3. If something doesn't work, here's how to grab a patch from ROS O

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be for Humble and Jazzy in particular?

I don't have an objection but we probably want a black box warning stating that this is only recommended in the case of migration. Feel free to tag me for a review.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that ROS-O can be easily installed from binaries next to all active ROS2 releases.
I suggest to replace the sentence with something along the following line:

Due to the operating system constraints for the current active ROS releases (Noetic = Ubuntu 20.04, ROS2 >= Ubuntu 22.04) we suggest installing ROS-One next to ROS2 on a decent Ubuntu distro (instead of building ROS2 from source on Ubuntu 20.04).

@kscottz
Copy link
Contributor Author

kscottz commented Jan 14, 2025

@sloretz I did a second pass, I tried to address some of your feedback. I don't think we want to necessarily push all of this information down into the official migration guides, but I am trying to steer people in that direction. Take a look.

Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I generally approve. But there were a lot of typos, which I suggest to fix.

@kscottz
Copy link
Contributor Author

kscottz commented Jan 15, 2025

Thanks for suggestions @rhaschke. Emacs in Markdown mode is a poor substitution for Google Doc's automatic correction tools.

@kscottz
Copy link
Contributor Author

kscottz commented Jan 16, 2025

Please hold off merging this until I have the other two PRs lined up. The RViz one is near done and I still need to put together the one for roscore but that shouldn't take more than a couple hours.

Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two of my previous comments were not considered yet.


If your ROS 1 system is tightly coupled, has a number of un-ported dependencies, or is reasonably complex, you may want to take advantage of the [ROS 1 to ROS 2 Bridge](https://github.com/ros2/ros1_bridge).
The ROS 1 to ROS 2 Bridge performs automated translation between major ROS versions and should allow you to migrate your project one package at a time.
The ROS 1 to ROS 2 Bridge was intended to only support ROS 2 distros prior to and including ROS 2 Foxy, and due to operating system constraints it is no longer fully supported by the current ROS 2 releases.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you should link information about the current limitations. What is not supported anymore?
What exactly is meant with "a little bit of work" in the next sentence?
This information is crucial to people deciding on a migration process.

Copy link
Contributor

@sloretz sloretz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nits

* ROS 1 binaries will continue to be hosted on `packages.ros.org`
* *ROS 1 projects will suddenly stop working on May 31st.*
* ROS 1 will continue to work, as it does today.
* *Users must stop using ROS 1 immediately*,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit, the other items in the list end with a period instead of a comma.

Suggested change
* *Users must stop using ROS 1 immediately*,
* *Users must stop using ROS 1 immediately*.

@kscottz kscottz merged commit 6182604 into main Apr 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants