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
- Make sure you have the Java LCM bindings generated in the
java_lcm_msgsdirectory. - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| dimos_lcm-0.1.3.tar.gz | 405.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|