ROS 2 Lyrical Luth Is the New LTS Foundation for Robotics, Supported Until May 2031
The May 2026 release adds a lower-CPU executor, asyncio-native Python, a supported GPU buffer path, stronger rosbag2 controls, and a five-year platform window.
By WhatAI Editorial Team ยท
ROS 2 reached an important stability point on May 22, 2026, when Open Robotics released Lyrical Luth. It is the twelfth ROS 2 distribution and the project's new long-term-support release, with support scheduled through May 2031. For robotics teams planning a fresh product cycle, that five-year window is the headline. It offers a more durable base for operating systems, drivers, middleware, simulation, tests, deployment images, and field support than a short-lived distribution can provide.
Lyrical is not simply a maintenance label. It combines a new platform baseline with meaningful changes to execution, Python concurrency, GPU data movement, recording, command-line tools, robot descriptions, and tracing. The release also arrives with an officially recommended simulation pairing: Gazebo Jetty LTS. Together, those decisions give teams a clearer default stack for projects that need a supported foundation beyond a prototype.
The important caveat is that ROS 2 remains an engineering framework, not a finished robot. An LTS distribution reduces platform churn, but it does not choose the right Quality of Service policy, write hardware drivers, secure the network, prove real-time behavior, certify safety, or operate a fleet. Lyrical is a stronger foundation precisely when a team treats those responsibilities as part of the system design.
Why the five-year LTS window matters
ROS 2 distributions have different lifetimes. Kilted Kaiju, released in May 2025, follows the shorter non-LTS cycle. Lyrical is intended to remain supported for five years. That distinction matters because a robot's software is tied to much more than application source code. It depends on an operating system, architecture, compiler, Python version, middleware implementation, simulator, device drivers, navigation or manipulation packages, container images, deployment tools, and security updates.
A long support window gives maintainers more time to stabilize that complete set. It can reduce disruptive migrations during a product generation, make supplier conversations more predictable, and allow a team to qualify one platform thoroughly. It is especially valuable for robots that will remain deployed at customer sites where an operating-system or middleware change requires lab validation, a maintenance visit, a staged rollout, and a tested rollback.
LTS does not mean frozen forever, and it does not guarantee that every package in the wider ROS ecosystem will receive five years of maintenance. Each dependency still needs an owner, release history, license review, security posture, and compatibility plan. A strong adoption decision starts with a bill of materials for software, not just a line in a package manifest.
The Tier 1 baseline moves to Ubuntu 26.04 and Windows 11
The official Lyrical platform table names Ubuntu 26.04 Resolute on amd64 and arm64 as Tier 1, along with Windows 11 using Visual Studio 2022 on amd64. RHEL 10 on amd64 is Tier 2. Ubuntu 24.04 Noble, Debian Trixie, macOS, and OpenEmbedded appear at Tier 3.
Those tiers are more than a popularity ranking. They communicate the level of build, test, and support coverage a platform receives from the ROS 2 project. Open Robotics recommends that new users try Lyrical on a Tier 1 platform. A production team should go further and verify the exact packages it needs on its architecture. A core binary being available does not prove that a lidar driver, GPU library, proprietary fieldbus, simulation plugin, or vendor SDK is ready for the same combination.
The move to Ubuntu 26.04 is consequential for embedded and industrial projects that have standardized on earlier Linux releases. Before migrating, teams should check kernel and driver support, GPU and accelerator toolchains, real-time patches, vendor installers, build farms, base containers, secure-boot processes, and remote-update systems. Staying on an older ROS distribution can be the responsible short-term decision when hardware certification or a critical driver is not ready, provided the existing platform remains supported and risk is actively managed.
A new event-driven executor targets lower CPU use
One of Lyrical's most interesting additions is the callback-group Events Executor. ROS 2 executors determine how ready callbacks are scheduled, including subscriptions, timers, services, and actions. Executor behavior affects latency, fairness, CPU use, concurrency, and how easily a system can be reasoned about under load.
The new executor uses an event queue and supports multiple ROS time sources as well as multiple threads. In the Lyrical release announcement, Open Robotics reported 10 to 15 percent less CPU use than the existing single-threaded and multithreaded executors in its comparisons. That is a useful signal for compute-constrained robots and dense graphs, but it is not a universal performance guarantee.
Teams should benchmark with the real graph, middleware, callback groups, data sizes, rates, thread count, CPU affinity, operating-system settings, and hardware. Average CPU alone is not enough. Measure end-to-end latency, tail latency, jitter, deadline misses, queue growth, starvation, memory, behavior during bursts, and recovery after overload. A lower average can still hide a timing failure that matters to control or safety.
Python gains an asyncio-native model
Lyrical also introduces AsyncNode in rclpy, integrating ROS 2 Python work with asyncio. Developers can use await with subscriptions, services, and timers, and use sleep that respects simulation time. Open Robotics says this model can use less CPU than the default SingleThreadedExecutor.
This is a welcome fit for orchestration nodes that spend much of their time waiting on network I/O, device APIs, timers, or services. It can make cancellation, timeouts, and concurrent I/O flows easier to express than nested callback logic. It also aligns ROS 2 more closely with the large Python ecosystem built around asynchronous programming.
Asyncio does not make blocking work disappear. A callback that performs synchronous disk access, a long computation, or a blocking vendor call can still stall the event loop. CPU-heavy work may belong in another process or a carefully managed executor. Developers need explicit cancellation, shutdown, exception handling, backpressure, and tests using both wall time and simulated ROS time.
The GPU buffer path is promising but deliberately narrow
The release adds rosidl Buffer, a path designed for zero-copy GPU data transfer for uint8 array messages when a compatible buffer backend is available. Avoiding copies can be important for high-bandwidth camera, perception, and accelerator pipelines, where moving large frames between host and device memory consumes time, memory bandwidth, and power.
At release, the documented path was limited to publishers and subscribers using rmw_fastrtps_cpp, the Fast DDS ROS middleware implementation. Zenoh support was described as planned. That limitation belongs in every architecture review. A feature existing in ROS 2 does not mean it works across all messages, middleware implementations, transport paths, and processing frameworks.
A useful evaluation measures the whole pipeline. Confirm how memory is allocated, who owns it, when it can be reused, how synchronization works, whether components remain in one process, what happens at a bridge or recorder, and how the system falls back when a subscriber cannot accept the buffer. Compare end-to-end latency and CPU or GPU utilization, not just a microbenchmark of one handoff.
rosbag2 becomes easier to operate as part of a system
Lyrical expands rosbag2 with remote control through services, Python control for recording and playback, circular recording, more descriptive split-file names, and better observability for lost messages. These changes move rosbag2 beyond a developer manually typing a command at a laptop. A robot can integrate recording into its own lifecycle, incident logic, test harness, or fleet operations.
Circular recording is particularly useful for intermittent faults. A system can keep a bounded recent history, preserve the window around an anomaly, and avoid filling a disk during normal operation. Remote and Python control can coordinate capture with a scenario, test step, mission state, or operator action. Message-loss observability helps distinguish a clean recording from one that silently missed evidence.
Good recording design still requires discipline. Capturing every high-rate topic can overwhelm storage or I/O. Sensitive camera, location, customer, or facility data creates privacy and retention obligations. Teams should define approved topic profiles, QoS overrides, compression, file splitting, encryption, access, metadata, retention, upload conditions, and deletion. Every critical playback workflow should be tested before an incident.
Smaller improvements remove real daily friction
The command-line interface can now work with multiple parameters and topics in more places, produce a doctor report, and show more verbose service information. Parameters gain YAML tags. Logging has more configuration options, including runtime backend selection. Tracing can be opted out at runtime and receives broader improvements.
Robot descriptions also advance. URDF support includes quaternions, capsule geometry, and acceleration, deceleration, and jerk limits. robot_state_publisher can read the robot description from a topic. These may sound like incremental additions, but they can simplify pipelines that generate descriptions dynamically, represent collision geometry more faithfully, or need richer motion constraints.
Each change should still be reviewed against downstream consumers. A simulator, visualizer, planner, driver, or custom parser may not interpret every new field in the same way. The safest rollout includes representative descriptions, recorded data, launch files, and automated checks across the complete toolchain.
Lyrical and Gazebo Jetty are the recommended pair
The official Gazebo compatibility guidance pairs ROS 2 Lyrical LTS with Gazebo Jetty LTS. The default installation uses the ros_gz metapackage for the ROS distribution, and the matching pair receives the strongest integration path. Earlier defaults include Jazzy with Harmonic and Humble with Fortress.
This pairing matters because ROS and Gazebo distributions have their own dependency graphs and release schedules. Trying to combine a new ROS distribution with an older or newer Gazebo release can introduce package conflicts, require manual source builds, or depend on an integration combination that is no longer maintained. Use a non-default pair only when a required feature justifies the extra support burden.
The ros_gz_bridge also deserves an explicit interface design. It supports defined mappings rather than automatically translating every custom message. Bridge only the topics, services, and directions the test requires, pin the configuration, and validate timestamps, frame IDs, QoS, rates, and reset behavior. Simulation interfaces can standardize control of simulators, but a simulation still reflects its model assumptions, not the full physical world.
Middleware choice and QoS remain core architecture decisions
ROS 2 communicates through the RMW abstraction, which allows different middleware implementations. Fast DDS and Cyclone DDS are common DDS-based options, while Zenoh offers a non-DDS path. This flexibility is valuable for products with different discovery, routing, footprint, or network needs. It also means performance and operational behavior are not defined by ROS 2 alone.
A team should select middleware through reproducible tests on the target network. Compare discovery time, steady-state traffic, bandwidth, memory, CPU, large-message behavior, lossy Wi-Fi, multiple interfaces, containers, firewalls, multicast restrictions, router requirements, and recovery after disconnection. Record the middleware and configuration as part of the deployed product.
Quality of Service is equally important. A publisher and subscriber can both be running without exchanging data if requested and offered policies are incompatible. Reliability, durability, history, depth, deadline, lifespan, and liveliness should reflect the semantics of each data flow. A camera stream, emergency state, map, configuration event, and action feedback channel do not all need the same profile. Test late joiners, restarts, congestion, packet loss, and bag playback rather than assuming defaults are harmless.
Security is available, but it is not automatic
SROS2 provides tooling for keystores, keys, certificates, enclaves, and policies built on DDS Security capabilities. It can authenticate participants, encrypt communication, and restrict access to graph resources. That is a meaningful foundation for robots operating on shared or hostile networks.
Secure deployment still requires a system around the tools. Decide who issues identities, where private keys are stored, how robots are provisioned, how least-privilege policies are generated and reviewed, how credentials rotate, what happens when a unit is stolen, and how an incident is investigated. Network segmentation, firewalls, operating-system hardening, signed updates, secret handling, audit logs, and physical access controls remain necessary.
Security settings can also affect availability and support. An expired certificate, incorrect enclave, clock problem, or policy mismatch can look like a communication bug. Deployment tests should prove both that authorized operations work and that unauthorized nodes, topics, services, and actions are denied. Recovery procedures need to function when the normal network or identity service is unavailable.
Real-time behavior and safety still need separate proof
ROS 2 includes mechanisms that can support deterministic systems, including executor choices, composition, middleware configuration, and tracing. None of them turns a general Linux application into a hard real-time or functionally safe system by declaration. Timing depends on the kernel, scheduling, memory allocation, locks, drivers, network, middleware, executor, callbacks, hardware, thermal behavior, and workload.
Measure worst-case behavior under realistic interference. Include startup, discovery, logging, recording, high sensor load, network loss, thermal throttling, storage pressure, component failure, and recovery. Separate safety functions where the hazard analysis requires independence. Emergency stops, watchdogs, safe states, limits, redundancy, diagnostics, and operator procedures need system-level design. Certification evidence and responsibility do not arrive with an open-source package.
A practical migration path to Lyrical
New projects with compatible hardware should start by evaluating Lyrical on a Tier 1 platform, using Gazebo Jetty for the default simulation path. Existing deployments should begin with an inventory. Capture every ROS package and version, operating system, architecture, middleware, QoS override, driver, simulator plugin, bridge, launch file, parameter file, container base, compiler, Python dependency, security policy, and external SDK.
Classify each dependency as supported, source-build only, replaceable, blocked, or unknown. Rebuild continuous integration on the target platform, migrate simulation, replay representative bags, and compare graph behavior and performance. Then test on spare hardware before touching a field unit. Use staged cohorts, health gates, backups, and a rollback image.
Do not mix a distribution migration with unrelated application redesign unless there is a compelling reason. Separating platform changes from feature changes makes failures easier to isolate. Retain the old build and its source provenance long enough to reproduce a customer issue and recover a device.
The WhatAI verdict
ROS 2 Lyrical Luth is the most sensible default for a new, long-lived ROS 2 project in 2026 when the required hardware and packages support its Tier 1 baseline. The five-year window, Gazebo Jetty pairing, new executor, asyncio-native Python model, GPU buffer path, and operational rosbag2 improvements make it more than a routine annual release.
Its value is control and interoperability, not turnkey simplicity. ROS 2 lets a team compose a robot from standard communication patterns, reusable packages, multiple middleware options, simulation, visualization, recording, and security tooling. The same openness means the team owns architecture, compatibility, tuning, assurance, and operations.
Choose Lyrical for new systems that benefit from a stable support horizon and can validate the complete dependency set. Migrate existing robots when the platform benefit outweighs the qualification cost, not because a version number is newer. The teams that get the most from ROS 2 treat distribution selection as one part of disciplined robotics engineering, with measurable QoS, repeatable simulation, protected identities, reproducible builds, staged deployment, and evidence from the real machine.
ROS 2 Lyrical Luth is the current long-term-support release of the open-source robotics middleware ecosystem. It combines C++ and Python client libraries with messaging, launch, lifecycle, visualization, recording, security, and debugging tools for distributed robot applications.
ROS 2 Features, Platform Support, Costs, and Limits
ROS 2 is free to use, but production robotics still requires engineering, hardware, compute, testing, security, operations, and often commercial support. Lyrical is Tier 1 on Ubuntu 26.04 for amd64 and arm64 and on Windows 11 for amd64, with a support window through May 2031.
Discuss ROS 2
Share how your team handles ROS distributions, middleware, Quality of Service, simulation, hardware drivers, security, testing, and migration. Include platform and package versions because compatibility depends heavily on the complete system.
About ROS 2 Lyrical Luth
ROS 2 is an open-source middleware, libraries, command-line tools, and development ecosystem for building distributed robot software. Lyrical Luth, released May 22, 2026, is the current long-term-support distribution and is supported until May 2031. ROS 2 provides nodes, topics, services, actions, parameters, launch, lifecycle management, logging, tracing, rosbag2 recording, security tooling, and pluggable communication middleware. It is not an operating system kernel, a complete robot application, or a substitute for hardware integration, safety engineering, testing, and deployment operations.
Use Cases
Key Features
- โ Modular nodes and packages for distributed robot applications
- โ Topics for publish and subscribe data flows
- โ Services for request and response operations
- โ Actions for cancellable, long-running tasks with feedback
- โ Quality of Service controls for reliability, durability, history, and depth
- โ Pluggable middleware through the ROS middleware interface
- โ Fast DDS, Cyclone DDS, and Zenoh communication options
- โ Managed lifecycle nodes for controlled state transitions
- โ Launch files, component composition, parameters, logging, and tracing
- โ rosbag2 recording, playback, remote control, and circular recording
- โ RViz2 visualization and tf2 coordinate-frame transforms
- โ SROS2 keystores, certificates, enclaves, and policy tooling
- โ Events callback-group executor with lower reported CPU use
- โ Python AsyncNode integration with asyncio
- โ Zero-copy GPU buffer path for supported message and middleware configurations
- โ URDF support for capsules, quaternions, and richer motion limits
Pricing
ROS 2 Core
$0
- โข Open-source middleware and client libraries
- โข Binary packages for supported platforms
- โข Source code and community development
- โข Core command-line tools and rosbag2
- โข No per-seat or runtime license fee
Ecosystem Costs
Varies
- โข Robot hardware and sensors
- โข Cloud and compute infrastructure
- โข Commercial support and consulting
- โข Simulation, training, and integration
- โข Safety certification and validation
Pricing varies by plan and region โ see current pricing.
Plan features change โ last updated: 2026-08-16.
Details
Tags
ROS 2 Lyrical Luth Community Discussions
Explore community discussions. Ask and answer questions on ROS 2 Lyrical Luth to grow and learn together.
ROS 2 Lyrical Luth Showcase
ROS 2 Lyrical Luth โ Frequently Asked Questions
What is ROS 2?
ROS 2 is an open-source collection of middleware, client libraries, development tools, conventions, and reusable packages for robot software. It helps distributed processes communicate and coordinate, but it is not an operating system kernel or a finished robot application.
What is the current ROS 2 LTS release?
ROS 2 Lyrical Luth is the current long-term-support distribution. It was released on May 22, 2026, and its support period runs until May 2031.
Is ROS 2 free?
ROS 2 core software is free and open source, with no per-seat or runtime fee. A real deployment can still incur substantial costs for hardware, compute, cloud services, integration, testing, support, training, maintenance, and safety work.
Which platforms have Tier 1 support for Lyrical?
The official supported-platform table lists Ubuntu 26.04 Resolute on amd64 and arm64 and Windows 11 with Visual Studio 2022 on amd64 as Tier 1 platforms. RHEL 10 on amd64 is Tier 2.
Which Gazebo release should be used with Lyrical?
The recommended default pairing is ROS 2 Lyrical LTS with Gazebo Jetty LTS. Non-default pairings can require source builds, introduce package conflicts, or rely on outdated combinations.
Does ROS 2 require DDS?
ROS 2 uses a pluggable ROS middleware interface. Common implementations use DDS, including Fast DDS and Cyclone DDS, while Zenoh provides a non-DDS option. Features and behavior can differ by implementation.
Why can two healthy ROS 2 nodes fail to communicate?
Quality of Service incompatibility is a common cause. Reliability, durability, history, depth, deadline, lifespan, and liveliness policies must be compatible. Namespace, domain, discovery, firewall, middleware, and security settings can also prevent communication.
Is ROS 2 secure by default?
Security is available but must be designed and enabled. SROS2 supports keystores, certificates, enclaves, and access-control policies using DDS Security capabilities. Teams still need identity management, least privilege, key rotation, network controls, audit procedures, and deployment guidance.
Does ROS 2 guarantee hard real-time or functional safety?
No. ROS 2 provides mechanisms that can support deterministic designs, but real-time performance depends on the operating system, executor, middleware, memory behavior, drivers, hardware, configuration, and workload. Functional safety requires a separate system-level engineering and assurance process.
Should every project upgrade to Lyrical immediately?
Not automatically. New projects should strongly consider the current LTS on a Tier 1 platform, but existing systems need a dependency audit covering drivers, middleware, Gazebo, MoveIt, Nav2, ros2_control, custom packages, deployment images, and hardware support before migration.
Sources & References
- Open Robotics announcement for ROS 2 Lyrical Luth โ
- Official ROS 2 Lyrical documentation โ
- Official ROS 2 Lyrical release page โ
- Official Lyrical supported-platform tiers โ
- Official ROS 2 distribution release schedule โ
- Official ROS 2 nodes concept documentation โ
- Official ROS 2 topics concept documentation โ
- Official ROS 2 Quality of Service concepts โ
- Official ROS 2 middleware vendor guidance โ
- Official ROS 2 DDS implementation guidance โ
- Official ROS 2 security tutorial index โ
- Official SROS2 keystore documentation โ
- Official ROS 2 secure deployment guidelines โ
- Official Gazebo and ROS installation pairings โ
- Official ROS project website โ
Try ROS 2 Lyrical Luth
Visit the official website to get started with ROS 2 Lyrical Luth today.
Visit ROS 2 Lyrical Luth โ