LCM-Foxglove bridge and message utilities for Dimensional Robotics
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dimos_lcm-0.1.0.tar.gz.
File metadata
- Download URL: dimos_lcm-0.1.0.tar.gz
- Upload date:
- Size: 405.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a648e646ae5fbf85fb0445add946dc70608f77973d43485cb453440f5ac8f74
|
|
| MD5 |
c615ddae36e411aa200e4f6f9100dba7
|
|
| BLAKE2b-256 |
8cb866093e6503d861f03abfda7b5393c335f5d91dec1700b564d07faedc77ae
|
File details
Details for the file dimos_lcm-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dimos_lcm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
637edf653fb1c9cff9f5b1245658fd9c8c93f96b58b4ad70fd085fec02589193
|
|
| MD5 |
8fe79d5097d76f756f48bc9043dbe9ab
|
|
| BLAKE2b-256 |
48936319e4f89fb0143f772ddca13be7177333de473a8a801e3a1a2566b6463c
|