Skip to main content

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

  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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dimos_lcm-0.1.0.tar.gz (405.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dimos_lcm-0.1.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

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

Hashes for dimos_lcm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a648e646ae5fbf85fb0445add946dc70608f77973d43485cb453440f5ac8f74
MD5 c615ddae36e411aa200e4f6f9100dba7
BLAKE2b-256 8cb866093e6503d861f03abfda7b5393c335f5d91dec1700b564d07faedc77ae

See more details on using hashes here.

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

Hashes for dimos_lcm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 637edf653fb1c9cff9f5b1245658fd9c8c93f96b58b4ad70fd085fec02589193
MD5 8fe79d5097d76f756f48bc9043dbe9ab
BLAKE2b-256 48936319e4f89fb0143f772ddca13be7177333de473a8a801e3a1a2566b6463c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page