Skip to main content

Getting Started

Prerequisites

  • Lichtblick (desktop or web)
  • An MCAP file with an OpenDRIVE map channel (for example from OMEGA PRIME)
  • Node.js 20+ and npm 10+ (for building from source)
  • Emscripten SDK (for building the WASM module)

Installation

From Source

# Clone with submodules (includes libOpenDRIVE C++ library)
git clone --recurse-submodules https://github.com/lichtblick-suite/asam-opendrive-converter.git
cd asam-opendrive-converter
npm install

# Build WASM module (one-time, cached unless libOpenDRIVE changes)
npm run build:wasm

# Build the extension and install to local Lichtblick
npm run build
npm run local-install

Note: npm run build:wasm requires emcmake in PATH. See Emscripten setup.

From Release

Download the .foxe file from the Releases page and install it via Lichtblick's extension manager.

Usage

  1. Open Lichtblick
  2. Load an MCAP file containing an OpenDRIVE map channel
    • The channel schema must be osi3.MapAsamOpenDrive
  3. Add a 3D (Scene) panel to your layout
  4. The road network map renders automatically as a static overlay

Supported Data Sources

SourceFormatChannel
OMEGA PRIMEMCAP + protobufmap channel carrying osi3.MapAsamOpenDrive
CustomMCAP + protobufAny channel decoded as osi3.MapAsamOpenDrive

What Gets Rendered

The converter produces SceneUpdate messages with:

  • Lane surfaces: triangle meshes colored by e_laneType
  • Lane boundaries: line primitives at lane edges
  • Road markings: filled polygon meshes with natural dash/gap patterns from libOpenDRIVE
  • Road objects: triangle meshes for OpenDRIVE road objects
  • Road signals: triangle meshes for OpenDRIVE signals

All entities use frame_id="global" (OpenDRIVE inertial frame = Foxglove world frame).