ROS 2 Lyrical 深度解析:相比 Humble,究竟升级了什么?
从机器人开发者视角看 ROS 2 的下一代 LTS 版本
2026年5月,ROS 2 发布了最新长期支持版本(LTS)—— Lyrical Luth。
对于大多数机器人团队来说,真正的问题不是:
“Lyrical 有什么新功能?”
而是:
“相比我们正在使用的 Humble,它到底解决了哪些痛点?”
本文将从架构、性能、开发效率、AI融合以及工程实践几个维度,对 ROS 2 Lyrical 与 Humble 进行全面对比分析。
一、为什么 Humble 能成功?
2022年发布的 Humble Hawksbill 是 ROS2 历史上最成功的 LTS 版本之一。
其核心价值在于:
- DDS生态成熟
- Nav2趋于稳定
- MoveIt2工业化
- rosbag2逐渐可用
- Component组件化成熟
大量工业机器人项目至今仍运行在 Humble 上。
但是随着机器人越来越向:
- AI Agent
- 多传感器融合
- 边缘GPU计算
- 自动驾驶
- VLA(Vision-Language-Action)
方向发展,Humble 开始暴露出一些问题。
二、Humble 的五大痛点
1 Async 编程能力不足
在 Humble 中:
client.call_async(req)
虽然支持异步接口。
但本质上:
spin()
仍然依赖 Executor 调度。
开发者经常会写出:
while not future.done():
rclpy.spin_once(node)
这样的代码。
结果:
- 可读性差
- 状态管理复杂
- 容易形成回调地狱
尤其是在:
- Web API
- 云端机器人
- AI Agent
场景中非常明显。
2 Executor 调度效率有限
Humble 默认:
SingleThreadedExecutor
MultiThreadedExecutor
问题在于:
- Ready Queue竞争
- Callback延迟
- CPU空转
当节点数量超过几十个后:
Camera
Lidar
Localization
Mapping
Planner
Controller
调度开销开始明显上升。
3 AI数据链路复制过多
典型流程:
Camera
↓
CPU Memory
↓
ROS Message
↓
DDS
↓
CPU Memory
↓
GPU
↓
TensorRT
一次图像传输可能发生:
- 2~4次内存复制
对于:
- 4K视觉
- 多摄像头
- Transformer模型
开销巨大。
4 rosbag2 可观测性不足
很多团队都经历过:
录了8小时数据
回来看发现丢包
但 Humble 无法实时发现:
- Topic丢失
- Recorder过载
- DDS丢包
往往是在数据分析阶段才发现问题。
5 运维与诊断工具不足
排查系统时经常需要:
ros2 topic hz
ros2 topic info
ros2 node info
反复组合命令。
大型系统调试成本较高。
三、Lyrical 的核心优化
Lyrical 并不是一次功能升级。
它更像一次:
面向 AI 机器人时代的基础设施升级。
四、优化一:AsyncNode —— 原生异步编程
Lyrical 引入:
from rclpy.experimental import AsyncNode
开发者可以直接使用:
await
语法。
示例:
async def callback():
result = await client.call(req)
await clock.sleep(1.0)
相比 Humble:
future = client.call_async(req)
开发体验发生质变。
优势:
- 原生 asyncio
- 更易集成 FastAPI
- 更易集成 LangChain
- 更适合 Agent 系统
对于机器人 AI Agent:
LLM
↓
Planner
↓
ROS Action
↓
Robot
会极大降低代码复杂度。
五、优化二:新的 Executor 架构
Lyrical 引入:
Callback Group Events Executor
即:
EventsCBGExecutor
官方测试显示,相比传统 Executor 可以降低约 10%~15% CPU 开销。
核心思想:
Polling
↓
Event Driven
传统:
不断检查谁准备好了
Lyrical:
谁触发事件就执行谁
对于:
- Nav2
- MoveIt2
- 自动驾驶
这类高并发系统收益明显。
六、优化三:真正面向 AI 的零拷贝通信
这是我认为 Lyrical 最重要的升级。
新增:
rosidl::Buffer
用于替代:
std::vector<uint8_t>
的数据传输方式。
以前:
GPU
↓
CPU
↓
DDS
↓
CPU
↓
GPU
现在:
GPU Buffer
↓
ROS Topic
↓
GPU Buffer
减少数据复制。
对于:
- TensorRT
- CUDA
- Isaac ROS
- YOLO
- SAM2
收益巨大。
这是 ROS2 开始真正拥抱 AI Workload 的标志。
七、优化四:rosbag2 进入工程化时代
Lyrical 对 rosbag2 做了大量增强。
远程控制
以前:
Ctrl+C
停止录制。
现在:
ROS Service
直接控制:
- Start
- Stop
- Pause
- Resume
Python API
直接:
pause()
resume()
stop()
seek()
即可控制数据录制。
丢包监控
新增:
/ events / rosbag2_messages_lost
Topic。
实时发现:
DDS丢包
Recorder过载
存储瓶颈
问题。
对于自动驾驶数据采集团队意义非常大。
八、优化五:URDF 向工业机器人靠拢
Lyrical 的 URDF 1.2 增加:
acceleration
deceleration
jerk
约束。
支持更真实的运动学建模。
过去:
速度限制
现在:
速度
加速度
减速度
Jerk
全部支持。
更符合:
- 工业机械臂
- 协作机器人
- AGV
控制需求。
九、优化六:运维能力增强
新增:
ros2 topic bw --all
查看全系统带宽。
ros2 service info --verbose
查看详细服务状态。
ros2 doctor --report
生成系统诊断报告。
对于现场调试非常实用。
十、Humble 与 Lyrical 对比总结
| 维度 | Humble | Lyrical |
|---|---|---|
| 生命周期 | 2022-2027 | 2026-2031 |
| Python开发 | Callback/Future | AsyncNode |
| Executor | Single/Multi | EventsCBG |
| CPU利用率 | 普通 | 更优 |
| GPU数据流 | 多次复制 | rosidl::Buffer |
| AI集成 | 一般 | 优秀 |
| rosbag2 | 基础功能 | 工程化 |
| URDF能力 | 基础 | 工业级 |
| 运维工具 | 一般 | 增强 |
| 长期规划 | 维护期 | 下一代主线 |
十一、是否应该立即升级?
我的建议如下:
继续使用 Humble
适用于:
- 已量产项目
- 工业机器人产品
- 已完成验证的系统
优先稳定。
优先迁移 Lyrical
适用于:
- 新项目立项
- AI机器人
- VLM/VLA项目
- 自动驾驶研发
- GPU密集型系统
因为其核心优化方向已经明显转向:
AI + Robotics
而不仅仅是:
Robotics Middleware
结语
如果说:
Humble
=
ROS2 工业化成熟的开始
那么:
Lyrical
=
ROS2 AI化时代的起点
它最大的价值并不在于新增了多少命令,而在于解决了机器人系统长期存在的几个核心瓶颈:
- 异步编程复杂
- Executor效率不足
- GPU数据复制开销
- rosbag可观测性差
- 工业级模型表达不足
对于未来五年的机器人软件栈而言,Lyrical 很可能会成为继 Humble 之后最重要的一个 LTS 版本。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)