Lightweight Communications and Marshalling for Low-Latency Interprocess Communication
Author(s)
Moore, David; Olson, Edwin; Huang, Albert
DownloadMIT-CSAIL-TR-2009-041.pdf (370.7Kb)
Additional downloads
Other Contributors
Robotics, Vision & Sensor Networks
Advisor
Seth Teller
Metadata
Show full item recordAbstract
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, targeted at real-time robotics applications. LCM is comprised of several components: a data type specification language, a message passing system, logging/playback tools, and real-time analysis tools. LCM provides a platform- and language-independent type specification language. These specifications can be compiled into platform and language specific implementations, eliminating the need for users to implement marshalling code while guaranteeing run-time type safety. Messages can be transmitted between different processes using LCM's message-passing system, which implements a publish/subscribe model. LCM's implementation is notable in providing low-latency messaging and eliminating the need for a central communications "hub". This architecture makes it easy to mix simulated, recorded, and live data sources. A number of logging, playback, and traffic inspection tools simplify common development and debugging tasks. LCM is targeted at robotics and other real-time systems where low latency is critical; its messaging model permits dropping messages in order to minimize the latency of new messages. In this paper, we explain LCM's design, evaluate its performance, and describe its application to a number of autonomous land, underwater, and aerial robots.
Date issued
2009-09-02Series/Report no.
MIT-CSAIL-TR-2009-041
Keywords
message passing, interprocess communication, robotics middleware, real-time systems