LCM: Lightweight Communications and Marshalling

Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2010

PDF thumbnail
(PDF, 305.7 KB )


We describe the Lightweight Communications and Marshalling (LCM) library for message passing and data marshalling. The primary goal of LCM is to simplify the development of low-latency message passing systems, especially for real-time robotics research applications. Messages can be transmitted between different processes using LCM's publish/subscribe message-passing system. A platform- and language-independent type specification language separates message description from implementation. Message specifications are automatically compiled into language-specific bindings, eliminating the need for users to implement marshalling code while guaranteeing run-time type safety. LCM is notable in providing a real-time deep traffic inspection tool that can decode and display message traffic with minimal user effort and no impact on overall system performance. This and other features emphasize LCM's focus on simplifying both the development and debugging of message passing systems. In this paper, we explain the design of LCM, evaluate its performance, and describe its application to a number of autonomous land, underwater, and aerial robots.


    TITLE      = {{LCM}: Lightweight Communications and Marshalling},
    AUTHOR     = { Albert Huang and Edwin Olson and David Moore},
    BOOKTITLE  = {Proceedings of the {IEEE/RSJ} International Conference on Intelligent
                 Robots and Systems {(IROS)}},
    YEAR       = {2010},
    MONTH      = {October},
    VOLUME     = {},
    NUMBER     = {},
    PAGES      = { },
    KEYWORDS   = { Interprocess communication, message passing, robot middleware},
    ISSN       = { },