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.3.tar.gz (405.7 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.3-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file dimos_lcm-0.1.3.tar.gz.

File metadata

  • Download URL: dimos_lcm-0.1.3.tar.gz
  • Upload date:
  • Size: 405.7 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for dimos_lcm-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5f7dbd3055f299823bc0e450c59583ad5a2d093c182deec8a86073853881bb09
MD5 ed5c6df5b25535ddda65b3563062e773
BLAKE2b-256 09b24cdd2bce665ab633313b5d371e0a63fcae2cf77a934a2a9bf820db88a540

See more details on using hashes here.

File details

Details for the file dimos_lcm-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: dimos_lcm-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for dimos_lcm-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63317225a0b4ab0f05e4b656f3f78ac9ba4e914998da2c689ca839cbbd83d57d
MD5 8a981d4ec84974140157102c15f8c7c9
BLAKE2b-256 95192d8babf544993508359922ea59db2280d42efa0d5a80d4d0cae22ce40d67

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