LCM Message Definitions
April 17, 2026 ยท View on GitHub
This repository contains LCM message definitions for the Dimos project and tools to generate those language bindings.
It depends on our LCM fork for generation since we introduced some convinience changes to python message definitions.
lcmgen from our lcm fork is conviniently pulled and built by our flake.nix
Generating Bindings
Run generate.sh to regenerate all bindings:
./generate.sh
This will:
- Convert ROS messages to LCM definitions (from
sources/ros_msgs/tolcm_types/) - Generate Python bindings (
generated/python_lcm_msgs/) - Generate C++ bindings (
generated/cpp_lcm_msgs/) - Generate C# bindings (
generated/cs_lcm_msgs/) - Generate Java bindings (
generated/java_lcm_msgs/) - Generate Typescript bindings (
generated/ts_lcm_msgs/) - Generate Rust bindings (
generated/rust_lcm_msgs/)
Directory Structure
sources/- Source ROS message definitions and conversion toolslcm_types/- Generated LCM message definitionsgenerated/- Generated language bindings
Python Package
This repo is also a Python package and you can install it via pip install dimos-lcm
It is not very useful standalone and is meant to be used in conjuction with actual dimOS