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

Consider moving ros1_bridge images to the official docker library #414

Closed
mikaelarguedas opened this issue Jun 3, 2020 · 7 comments · Fixed by #415
Closed

Consider moving ros1_bridge images to the official docker library #414

mikaelarguedas opened this issue Jun 3, 2020 · 7 comments · Fixed by #415

Comments

@mikaelarguedas
Copy link
Contributor

Currently the ros1-bridge images are hosted on the osrf this results in them not being rebuild automatically and only built for amd64 platforms.

If we move it to the official docker library we'll get these benefits for free. We'll need to audit the image and make sure we don't pull in unintended GUI dependencies.

@sshmaxime
Copy link

That would be amazing. I'm currently developing a solution that requires on the embedded device ROS1 & ROS2 program. Therefore I need the bridge. As our embedded device is a RaspberryPi then we need the bridge for armv7 architecture. It's a key point of our software.

Don't hesitate to let me know if you think I'm doing it the wrong way, I'm still new to the ROS ecosystem.

@mikaelarguedas
Copy link
Contributor Author

armv7 is not a tier 1 (aka officially supported and tested) platform for ROS 2. The next release of ROS 2 (Foxy) will likely not provide debs for armv7: https://discourse.ros.org/t/potential-downgrade-of-arm32-support-to-tier-3/14136.
To minimize your chances of having a bumpy ride - assuming you are using a raspberry Pi with a 64 bits processor like Pi3 or Pi4 and can afford to do it - I'd recommend you to install ubuntu 64bits on your Pi. This is what I end up doing on most of my Pis because I often come across packages not available for armv7.

Not saying that using the armv7 debs will not work, just that it's a less tested and supported path

@ruffsl
Copy link
Member

ruffsl commented Jun 3, 2020

armv7 is not a tier 1 (aka officially supported and tested) platform for ROS 2. The next release of ROS 2 (Foxy) will likely not provide debs for armv7

Yeah, that was a buzzkill. Aside from the technical issue osrf had in using Linux containers on an older Linux kernel, I wonder if they took into consideration the number of arm32v7 image pulls, and not just the number of Debian repo downloads as cause to suspend support.

We'll need to audit the image and make sure we don't pull in unintended GUI dependencies.

Would you like to open a PR with the manifest changes that include the list of additional packages installed with respect to the base image.

Some additional questions: do we want to backport these tags to previous ros2 releases, aka dashing-melodic and eloquent-melodic? Are there any additional environmental setup will want to provide, e.g. is catkin tools installed in the bridge Dockerfile?

@mikaelarguedas
Copy link
Contributor Author

I wonder if they took into consideration the number of arm32v7 image pulls, and not just the number of Debian repo downloads as cause to suspend support.

The following extract of the ROS2 TSC meeting notes gives some additional insights:

New business

    [~2 mins] [Blasdel] armhf (aka arm32) financial support will not continue.
        Likely downgrade 3 to Tier 3 support starting in Foxy.
        If anyone is interested in continuing to support this platform please contact Open Robotics.

Would you like to open a PR with the manifest changes that include the list of additional packages installed with respect to the base image.

sure

do we want to backport these tags to previous ros2 releases, aka dashing-melodic and eloquent-melodic?

I think that would make sense, I will keep the names as they are today though:
eloquent-ros1-bridge and dashing-ros1-bridge

Are there any additional environmental setup will want to provide, e.g. is catkin tools installed in the bridge Dockerfile?

I don't think so. I was thinking of providing the exact same images as the ones we have on the osrf profile. It should be enough to install and run ROS 1 nodes, and bridge them.
If you need to build custom packages in ROS 1 and or ROS 2, you can use the default build tools that are provided in the image aka catkin_make and colcon. SO I'd say up to the user to decide what else to install.
I'm not fiercely opposed to having catkin_tools in there though.
I'd like to avoid playing the python snafu game though: when you install a tool that depend on the pyhon2 version of a package, so it removes the conflicting python3 version of the same package, that then removes its dependants ...

@mikaelarguedas
Copy link
Contributor Author

Would you like to open a PR with the manifest changes that include the list of additional packages installed with respect to the base image.

See #415

@mikaelarguedas
Copy link
Contributor Author

mikaelarguedas commented Jun 5, 2020

These have not been reviewed by the docker librarians yet. Reopening for now

@mikaelarguedas
Copy link
Contributor Author

@MaximeAubanel These are now available on dockerhub:
docker pull ros:eloquent-ros1-bridge. They have however not been tested on ARM.

Please open an issue on this repository if you face any issue with the arm images

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 a pull request may close this issue.

3 participants