Skip to main content
Avala natively supports MCAP along with ROS 1 and ROS 2 bag formats. Upload recordings from your robot fleet and visualize camera images, LiDAR point clouds, radar scans, and more — all time-synchronized in a configurable multi-panel viewer. Then annotate the same data without switching tools.
MCAP & ROS visualization is now a first-class feature in Avala. For the full documentation, see the Visualization section.

MCAP & ROS Overview

Supported formats, upload workflow, and multi-sensor playback

Supported Message Types

Complete reference of ROS and Foxglove message types

Panel Types

8 panel types for visualizing different sensor data

Custom Schemas

Protobuf, JSON Schema, and ROS .msg support

Supported Container Formats

FormatExtensionNotes
MCAP.mcapRecommended. Supports all serialization formats.
ROS 1 Bag.bagAutomatic conversion to MCAP on upload.
ROS 2 Bag.db3 / folderSQLite-based storage. Automatic conversion on upload.

Upload Workflow

  1. Navigate to Mission Control > Datasets and create a new dataset (or select an existing one).
  2. Click Upload and select your .mcap, .bag, or .db3 files.
  3. Avala parses the file, discovers topics, and presents a topic selection screen.
  4. Choose the topics you want to visualize and annotate.
  5. Avala indexes the selected topics by timestamp and creates annotatable frames.
For large files, you can also upload via the API:
curl -X POST https://api.avala.ai/api/v1/datasets/{dataset_id}/upload \
  -H "X-Avala-Api-Key: your-api-key" \
  -F "file=@recording.mcap"

Best Practices for Recording

  • Use MCAP as your container format when possible. It has the smallest overhead and supports all serialization frameworks.
  • Include transform messages (/tf and /tf_static) so Avala can resolve coordinate frames between sensors.
  • Record compressed images (sensor_msgs/CompressedImage) to reduce file sizes without losing annotation quality.
  • Use consistent topic naming across your fleet so datasets from different vehicles can be combined.
  • Set accurate timestamps on all messages. Avala relies on message timestamps for frame synchronization, not wall-clock time.
  • Embed schema definitions in the MCAP file. This ensures Avala can decode every message without external dependencies.
MCAP files are processed server-side during upload. Large files (10 GB+) may take several minutes to index. You will receive a notification in Mission Control when processing is complete.