Skip to main content

LCM Message Definitions and ROS msg to LCM Converter

This repository contains LCM message definitions and a tool to convert ROS messages to LCM messages.

Converting ROS Messages to LCM

  • The Python msg to lcm converter is used to convert the ROS messages to LCM messages.
python3 ros_to_lcm.py ros_msgs lcm_files
  • The lcm-gen command is used to generate the language bindings for the LCM message definitions.
./lcm_batch_processor.sh -p lcm_files -o python_lcm_msgs/lcm_msgs
  • Then to make sure tha Python messages package is installable, run
cd python_lcm_msgs
python3 fix_imports.py
  • The Foxglove bridge converts all LCM messages to JSON and sends them via WebSocket to Foxglove for visualization.
python3 lcm_foxglove_bridge.py

Using LCM-Spy with Custom Message Types

To use lcm-spy with your custom message types, you need to build a JAR file containing the Java bindings for your LCM message types.

Building the JAR File

  1. Make sure you have the Java LCM bindings generated in the java_lcm_msgs directory.
  2. Run the build script to create the JAR file:
./build_lcm_jar.sh

This will compile all Java message definitions and create lcm_types.jar in the project directory.

Running LCM-Spy

Use the provided script to run lcm-spy with your custom JAR file:

./run_lcm_spy.sh

You can also pass additional arguments to lcm-spy:

# For a specific LCM URL
./run_lcm_spy.sh --lcm-url=udpm://239.255.76.67:7667?ttl=1

# For a specific interface
./run_lcm_spy.sh --lcm-url=udpm://<multicast-address>:<port>

When running lcm-spy this way, all your custom message types will be automatically decoded and displayed in the lcm-spy interface.

Manual Execution

If you prefer to run lcm-spy manually, use:

CLASSPATH=/path/to/lcm.jar:lcm_types.jar lcm-spy

Replace /path/to/lcm.jar with the actual path to the LCM Java library on your system.

Release files for dimos_lcm 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dimos_lcm 0.1.3
File Size Uploaded
dimos_lcm-0.1.3.tar.gz 405.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dimos_lcm 0.1.3
File Interpreter ABI Platform
dimos_lcm-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / dimos_lcm-0.1.3.tar.gz

Download URL dimos_lcm-0.1.3.tar.gz
Size 405.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5f7dbd3055f299823bc0e450c59583ad5a2d093c182deec8a86073853881bb09
BLAKE2b-256 checksum
How to use checksums
09b24cdd2bce665ab633313b5d371e0a63fcae2cf77a934a2a9bf820db88a540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dimos_lcm-0.1.3-py3-none-any.whl

Download URL dimos_lcm-0.1.3-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
63317225a0b4ab0f05e4b656f3f78ac9ba4e914998da2c689ca839cbbd83d57d
BLAKE2b-256 checksum
How to use checksums
95192d8babf544993508359922ea59db2280d42efa0d5a80d4d0cae22ce40d67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page