资讯

Bridging the Gap: A Dockerized ROS 1 Noetic ↔ ROS 2 Jazzy Bridge (Ubuntu 24.04) for Gradual Migration

ROS Discourse·2026/8/26 17:26:11🔗 原文

📌 概要

<p>Hi ROS Community!</p> <p>I want to share an open-source project I’ve been working on that solves a very real, very painful business problem: <strong>Migrating massive legacy ROS 1 robotics systems

<p>Hi ROS Community!</p> <p>I want to share an open-source project I’ve been working on that solves a very real, very painful business problem: <strong>Migrating massive legacy ROS 1 robotics systems to ROS 2.</strong></p> <p>Like many companies, we realized that rewriting our entire historic ROS 1 codebase to ROS 2 all at once would be financially devastating and halt our feature development. We needed a way to develop <em>new</em> components purely in ROS 2 (Jazzy) while keeping our reliable legacy stack in ROS 1 (Noetic), migrating piece by piece over time.</p> <p>The challenge? ROS 1 Noetic isn’t natively supported on Ubuntu 24.04 (Noble), which is required for ROS 2 Jazzy.</p> <p>So, I built a robust, Dockerized integration: <a class="inline-onebox" href="https://github.com/Lukas-Kozel/ros-noetic-jazzy-bridge" rel="noopener nofollow ugc">GitHub - Lukas-Kozel/ros-noetic-jazzy-bridge: A robust, Dockerized bridge for bidirectional communication between ROS 1 Noetic (compiled from source) and ROS 2 Jazzy on Ubuntu 24.04. Designed for gradual migration of legacy robotics systems without full codebase rewrites. Includes E2E integration tests. · GitHub</a></p> <p><strong>What it does:</strong></p> <ul> <li>Compiles ROS 1 Noetic from source alongside ROS 2 Jazzy in a single ubuntu:24.04 container.</li> <li>Provides a fully configured ros1_bridge with custom message mapping.</li> <li>Highly optimized Dockerfile (using BuildKit, parallel workers via ARG, and selective ros_core dependencies to prevent memory/OOM crashes and keep build times short).</li> <li>Includes a Python-based E2E Integration Test Runner and a GitHub Actions CI pipeline.</li> </ul> <p>The repository contains a clean example/ directory so you can spin it up via docker-compose and test bidirectional communication in seconds.</p> <p>I’d love for you to check it out, use it in your migration strategies, and drop any feedback, issues, or PRs. Let’s make the transition to ROS 2 easier for everyone!</p> <p><small>1 post - 1 participant</small></p> <p><a href="https://discourse.openrobotics.org/t/bridging-the-gap-a-dockerized-ros-1-noetic-ros-2-jazzy-bridge-ubuntu-24-04-for-gradual-migration/57681">Read full topic</a></p>