文章目录
一、LCM中间件简介
LCM(Lightweight Communications and Marshalling)是一款轻量级通信与编组中间件,专为实时系统设计,尤其适用于机器人、自动驾驶、航空航天等对低延迟、高可靠性有要求的领域。其核心优势在于轻量化设计(无集中式服务器)、高效数据传输(基于UDP组播)和跨语言支持(C/C++、Python、Java等),能轻松实现多进程/多设备间的实时数据交互。
二、基本工作原理与核心概念
-
通信模型
LCM采用发布-订阅(Publish-Subscribe)模式:- 发布者(Publisher):向指定“通道(Channel)”发送消息。
- 订阅者(Subscriber):监听感兴趣的“通道”,接收并处理消息。
- 通道(Channel):字符串标识的消息传输路径(类似“话题”),用于区分不同类型的消息。
-
数据编组(Marshalling)
LCM通过自定义消息类型实现跨平台数据传输。用户需定义.lcm
格式的消息结构,工具会自动生成对应语言的