The end of an era (but not the world)

If you’ve been around robots for a while, chances are ROS 1 has been your ride-or-die. Maybe you built your first prototype on it. Maybe it’s still powering your fleet. Maybe you’ve screamed at roslaunch more times than you’d like to admit. Either way, it’s time to say goodbye.

ROS 1 Noetic hits EOL in May 2025. No more updates, patches, or polite nods from the community. It won’t explode overnight, but it will quietly fall apart. Like that old laptop you refuse to throw out.

And look — we get it. Migrating a running system feels like replacing the engine mid-flight. But here’s the thing: staying on ROS 1 is a ticking time bomb of tech debt, missing packages, and growing maintenance nightmares.

ROS 2 isn’t just “ROS 1 with glasses on”

Let’s kill the myth: ROS 2 isn’t a glow-up. It’s a full-on architectural reboot.

We’re talking:

  • DDS (because centralized systems are so 2010 — even if DDS isn’t everyone’s favorite flavor)

  • Lifecycle nodes (yes, your nodes can finally have adult responsibilities)

  • Security features (robots with encryption — welcome to 2025)

  • Real-time support (for those who like their systems like their coffee: predictable)

  • Launch files you can actually reason about you can actually reason about — and yes, you can still use XML if pure Python feels a bit too wild west

If ROS 1 was a brilliant science project, ROS 2 is a real engineering platform — built for scale, security, and production deployments. Is it perfect? It’s not, but it continues to evolve and mature.

Lessons from the trenches

At Ekumen, we’ve helped teams migrate without flipping tables. Here’s what we’ve learned:

  • Inventory your stack: You can’t migrate what you don’t understand.

  • ros1_bridge is a lifesaver… until it’s not: Great for early wins. Nightmare at scale.

  • That one node you wrote in 2017? Yeah, it’s gonna break.

  • Rewriting everything at once = pain: Move in small chunks. Breathe. Repeat.

What to actually expect when migrating

There’s no magic button (we checked). ROS 2 is better — but it’s also different:

  • You’ll have to rethink your networking (hello, DDS QoS configs).

  • Newer ROS distribution, new OS distribution (Ubuntu usually works out best)

  • All those ROS bags you’ve recorded? Don’t panic, you won’t lose them, but you’ll have to work for it

  • That third-party package you rely on? It may not be around anymore — although the community has caught up with ROS 2 in recent years

If you start the migration expecting the road bumps, you’ll do great.

Planning your migration without losing your mind

There’s no magic wand, but here’s a plan that’s helped more than a few teams keep their sanity:

  1. Audit everything: nodes, dependencies, secret sauce code. Know thy system.

  2. Plan out (R)OS transitions: incremental migration really means incremental. Humble and Jazzy offer Tier 3 (aka compile from source) support on Ubuntu 20.04 and 22.04. Use it or bridge and buckle up for containerization.

  3. Start with non-critical modules: Maybe your telemetry or monitoring first — not the brains of the operation.

  4. Use ros1_bridge wisely: think of it as a temporary truce, not a permanent alliance.

  5. Invest in testing early: colcon test will save your bacon.

  6. Celebrate small wins: Migrated your first node? That’s champagne-worthy.

Strategic reality check: migration or something else?

Let’s address the elephant in the room: if you haven’t migrated by now… maybe you’re not planning to migrate at all.

And that’s okay. But you still need a plan.

Options on the table:

  • Extended ROS 1 support: Pay for security patches and critical fixes post-2025 (yes, it’s a thing).

  • ROS 2 retrofits: Gradually upgrade key parts of your ROS 1 system without a full migration.

Not sure what’s best? Talk to someone who’s been there. (Hint: that’s us.)

Want to dig deeper?

Here are a few vetted resources to help you plan better:

TL;DR

  • ROS 1 is retiring.

  • ROS 2 is mature and production-ready (but different).

  • Migration takes planning, testing, and a bit of courage.

If you’re already on this journey, good luck — and if you’re just getting started, you don’t have to walk alone. We’ve helped others through it and would be happy to help you too. Contact us at contact@ekumenlabs.com.

Let’s make your robots future-proof. Or at least less likely to ghost you at the next firmware update.