Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Noetic EOL Post #54

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open

Noetic EOL Post #54

wants to merge 36 commits into from

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

@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.

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
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

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
Copy link

@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

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Show resolved Hide resolved
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

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

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.

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).

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
@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

@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.

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
@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.

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
Copy link

@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.

content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
content/blog/noetic-eol/index.md Outdated Show resolved Hide resolved
While there have been a few changes, the way you build and run your ROS application should feel familiar. All of our new tools are self-documenting, and you can learn a lot by simply passing them the `--help` option.

* The [ROS command line interface (CLI)](https://docs.ros.org/en/rolling/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Services/Understanding-ROS2-Services.html) syntax has changed slightly in ROS 2. All your favorite commands are still there, but the syntax has been modernized.
* ROS 2 uses [Colcon](https://colcon.readthedocs.io/en/released/user/quick-start.html), rather than `catkin build` or `catkin make`, as the build tool. The names have changed, but most of your favorite functionality is still there.

Choose a reason for hiding this comment

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

catkin_make does have an underscore! You didn't use those ROS1 tools for a while, did you? 😉

Suggested change
* ROS 2 uses [Colcon](https://colcon.readthedocs.io/en/released/user/quick-start.html), rather than `catkin build` or `catkin make`, as the build tool. The names have changed, but most of your favorite functionality is still there.
* ROS 2 uses [Colcon](https://colcon.readthedocs.io/en/released/user/quick-start.html), rather than `catkin build` or `catkin_make`, as the build tool. The names have changed, but most of your favorite functionality is still there.


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.

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.

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.

6 participants