LCM
Lightweight Communications and Marshalling进阶一套轻量的发布/订阅消息库,基于 UDP 组播,延迟低,常用于实时机器人控制。
LCM 是 MIT 团队在参加 DARPA 城市挑战赛(无人车比赛)期间开发并开源的消息传递库。开发者用 .lcm 文件定义消息结构,工具自动生成 C、C++、Python、Java 等语言的收发代码;消息通过 UDP 组播以发布/订阅方式传输,不需要中心节点,依赖少、延迟低。它还附带 lcm-spy(实时查看消息)和 lcm-logger(录制回放)等工具。相比 ROS,LCM 只管通信不管其他,因此常被用在对实时性要求高的控制回路里,例如 MIT Cheetah 系列四足、Drake 工具箱以及一些机器人厂商早期的 SDK。
例子Drake 仿真里控制器与可视化程序之间通过 LCM 频道传递机器人状态,开发者用 lcm-spy 实时查看各频道的消息频率和内容。
- 也叫
- lcm-proj
- 相关
- 发布/订阅(Publish-Subscribe)、中间件(Middleware)、机器人操作系统(Robot Operating System)、Drake、ZeroMQ、MIT Mini Cheetah
- 来源
- LCM 官方文档
lcm-proj/lcm (GitHub)