Atlas Robotics
Công nghệ robotTrung bình

ROS 2 Lyrical Luth: bản LTS mới hỗ trợ tới 2031, có asyncio cho Python và truyền dữ liệu GPU không sao chép

Atlasbot · 8/10/2026 · 6 phút đọc

ROS 2 Lyrical Luth: bản LTS mới hỗ trợ tới 2031, có asyncio cho Python và truyền dữ liệu GPU không sao chép
Logo chính thức của Lyrical Luth: chú rùa chơi đàn luth, theo truyền thống mỗi bản ROS 2 có một nhân vật rùa riêng. Ảnh: Open Robotics / OSRF.

ROS 2 Lyrical Luth phát hành ngày 22/5/2026. Đây là bản phân phối thứ 12 của ROS 2 và là một bản LTS (Long Term Support), được hỗ trợ tới tháng 5/2031. Bản này đã ra được vài tháng, các package phổ biến đã kịp cập nhật, nên giờ là lúc hợp lý để xem có gì mới và có nên chuyển sang hay không.

Nền tảng hỗ trợ

TierNền tảng
Tier 1Ubuntu 26.04 (amd64/arm64), Windows 11
Tier 2RHEL 10
Tier 3Ubuntu 24.04, macOS, Debian Trixie, OpenEmbedded

Lưu ý quan trọng: nếu bạn muốn dùng Lyrical đúng chuẩn (Tier 1) thì cần Ubuntu 26.04. Ubuntu 24.04 chỉ ở Tier 3, tức là được cộng đồng hỗ trợ "cố gắng hết mức": thường không có gói binary chính thức và phải tự build từ mã nguồn.

Các thay đổi đáng chú ý

1. Executor mới tiết kiệm 10–15% CPU (rclcpp)

CallbackGroupEventsExecutor dùng hàng đợi sự kiện để xử lý các thực thể đã sẵn sàng (subscription, timer, service...), thay vì quét toàn bộ mỗi vòng. Theo ghi chú phát hành, nó dùng ít hơn 10–15% CPU so với SingleThreadedExecutor và MultiThreadedExecutor. Trên máy tính nhúng như Raspberry Pi hay Jetson, nơi CPU luôn chật, con số này có ý nghĩa thật. Executor mới là tùy chọn (opt-in), code cũ không phải sửa. Nếu chưa rõ executor là gì, xem bài Executor trong ROS2.

2. AsyncNode: dùng asyncio cùng rclpy

Trước đây, kết hợp asyncio của Python với rclpy khá vất vả: phải tự chạy hai event loop và đồng bộ chúng. Lyrical thêm lớp AsyncNode, tích hợp callback của ROS thẳng vào event loop của asyncio. Nhờ đó bạn có thể await một lời gọi service hay await sleep ngay trong node. Code gọi service tuần tự (gọi A, chờ kết quả, rồi gọi B) sẽ gọn hơn nhiều.

3. Truyền dữ liệu CPU↔GPU không sao chép

rosidl::Buffer cho phép publish/subscribe mà không phải sao chép dữ liệu giữa bộ nhớ CPU và GPU. Ban đầu tính năng này chỉ hỗ trợ rmw_fastrtps_cpp. Đây là tin tốt cho pipeline thị giác máy tính và deep learning (ví dụ camera → YOLO → tracking), nơi mỗi lần copy ảnh độ phân giải cao qua lại đều tốn thời gian.

4. rosbag2 thông minh hơn

  • Điều khiển việc ghi bag từ xa qua service.
  • Ghi vòng (circular recording) với --max-bag-files: chỉ giữ N file mới nhất, rất hợp để làm "hộp đen" chạy liên tục trên robot.
  • Báo mất message qua topic events/rosbag2_messages_lost, nên biết ngay bag có bị thiếu dữ liệu hay không.

Xem lại cách dùng cơ bản ở bài ros2 bag.

5. CLI, launch và tham số

  • ros2 param đọc/ghi nhiều tham số một lần:

Lệnh ros2 param get đọc tham số use_sim_time của nhiều node cùng lúc Đọc use_sim_time của nhiều node chỉ bằng một lệnh. Ảnh động: tài liệu phát hành ROS 2 Lyrical (docs.ros.org).

  • ros2 service info --verbose hiện QoS profile của service.
  • ros2 topic bw theo dõi nhiều topic cùng lúc, tiện khi cần tìm topic nào đang chiếm băng thông mạng:

Lệnh ros2 topic bw theo dõi băng thông của tất cả topic Theo dõi băng thông mọi topic cùng lúc. Ảnh động: tài liệu phát hành ROS 2 Lyrical (docs.ros.org).

  • Launch có action log với mức severity cho từng message, cùng substitution string-join và path-join.
  • Ràng buộc khoảng giá trị (range) giờ áp dụng được cho mảng integer/double.
  • Hỗ trợ URDF 1.2 với quaternion, và shell fish qua setup.fish.

Có nên nâng cấp không?

  • Đang dùng Humble (Ubuntu 22.04): Humble hết hỗ trợ vào tháng 5/2027, chỉ còn khoảng 7 tháng. Đây là lúc nên lên kế hoạch chuyển, sang Jazzy (hỗ trợ tới 2029) hoặc thẳng lên Lyrical nếu bạn có thể lên Ubuntu 26.04.
  • Đang dùng Jazzy: chưa gấp. Theo đánh giá của cộng đồng, việc chuyển từ Jazzy sang Lyrical "khá suôn sẻ", vì phần lớn tính năng mới là thêm vào chứ không phá vỡ API cũ.
  • Dự án mới bắt đầu: chọn Lyrical để có thời gian hỗ trợ dài nhất. Trước hết cần kiểm tra các package bạn cần (Nav2, driver LiDAR, ros2_control...) đã có bản cho Lyrical chưa.

Về khóa học của Atlasbot: Khóa học ROS 2 & Nav2 miễn phí hiện dùng Humble + Gazebo Fortress. Toàn bộ khái niệm (node, topic, TF, Nav2...) vẫn đúng y nguyên trên Lyrical. Chỉ có bước cài đặt và một số tên gói là khác.


Nguồn:

ROS 2 Lyrical Luth: bản LTS mới hỗ trợ tới 2031, có asyncio cho Python và truyền dữ liệu GPU không sao chép — Atlasbot