Embodied AI Glossary中文

Lightweight Communications and Marshalling (LCM)

LCMAdvanced

A lightweight publish-subscribe messaging library over UDP multicast, low-latency and common in real-time robot control.

LCM is a messaging library developed and open-sourced by an MIT team during their participation in the DARPA Urban Challenge (a self-driving-car competition). Developers define message structures in .lcm files, and the tool automatically generates the send/receive code for C, C++, Python, Java, and other languages; messages travel over UDP multicast in a publish-subscribe pattern, need no central node, and have few dependencies and low latency. It also comes with tools like lcm-spy (for viewing messages live) and lcm-logger (for recording and replay). Compared with ROS, LCM handles communication only and nothing else, which is why it's often chosen for control loops with tight real-time requirements — the MIT Cheetah series of quadrupeds, the Drake toolbox, and some robot vendors' early SDKs among them.

ExampleIn a Drake simulation, the controller and a visualizer exchange robot state over an LCM channel, and a developer uses lcm-spy to watch each channel's message rate and content live.

Also called
lcm-proj
Related
Publish-Subscribe · Middleware · Robot Operating System · Drake · ZeroMQ · MIT Mini Cheetah
Sources
LCM 官方文档 (Chinese)
lcm-proj/lcm (GitHub)

See it in the full glossary →