В мае 2026 года вышел двенадцатый дистрибутив ROS 2 - Lyrical Luth (Luth - лютня, музыкальный инструмент), релиз с долгосрочной поддержкой (LTS, long-term support) до мая 2031 года. Конкретные версии Ubuntu, Python и gcc, как и сроки поддержки прежних дистрибутивов, описаны на сопутствующих страницах Supported Platforms (REP-2000) и Release Timeline.
Новый исполнитель (executor) -
rclcpp::executors::EventsCBGExecutor. По сравнению с SingleThreadedExecutor и MultiThreadedExecutor он использует на 10-15% меньше CPU. В отличие от предшественника EventsExecutor, новый поддерживает работу с несколькими источниками ROS-времени и несколькими потоками одновременно. Контейнер компонентных узлов теперь принимает аргумент --executor-type events-cbg.В rclpy появился экспериментальный класс
AsyncNode (из rclpy.experimental), который встраивает asyncio event loop прямо в узел. Внутри подписок, сервисов и таймеров можно вызывать await напрямую: await client.call(request) для асинхронного service-вызова, await clock.sleep(...) корректно учитывает симулированное время (sim-time aware). По данным release notes, такой узел использует заметно меньше CPU, чем дефолтный SingleThreadedExecutor. Запуск - из async def main() под with rclpy.init():.Поля
uint8[] в ROS-сообщениях получили тип rosidl::Buffer<uint8_t> вместо std::vector<uint8_t>. Через свой rosidl::BufferBackend можно публиковать и подписываться на сообщения без копирования - данные остаются в исходной памяти (например, в GPU-буфере), что снимает накладные расходы на обход host-device-host. На старте поддерживает только rmw_fastrtps_cpp; работа над поддержкой Zenoh ведётся.rosbag2 обзавёлся управляющими сервисами (~/record, ~/stop, ~/start_discovery и др.) и полноценным Python API для паузы/перемотки/остановки записи и воспроизведения. Опция --max-bag-files ограничивает число split-файлов на диске: при достижении лимита самые старые удаляются автоматически. Топик events/rosbag2_messages_lost публикует инкрементальные потери сообщений по топикам.URDF получил версию 1.2: ориентация теперь задаётся кватернионами (
quat_xyzw), а не только Roll-Pitch-Yaw, добавлена примитивная геометрия <capsule>, а в <limit> появились поля acceleration, deceleration, jerk. Плагин Robot Model в RViz пока не поддерживает капсулы.Из CLI:
ros2 param get <name> без указания узла обходит все узлы графа; ros2 param get/set <node> p1 p2 ... принимает несколько параметров за вызов; ros2 service info --verbose выводит QoS и GIDs; ros2 topic bw принимает несколько топиков и --all. Логирование переключается переменной RCL_LOGGING_IMPLEMENTATION без пересборки rcl, а tracing-инструментацию можно отключить через TRACETOOLS_RUNTIME_DISABLE=1.Источник: https://docs.ros.org/en/rolling/Releases/Release-Lyrical-Luth.html
#ros2 #lyricalluth #release #lts