Skip to main content
Avala recognizes the following message schemas out of the box. Messages matching these types are automatically parsed and rendered in the appropriate panel — no additional configuration required.

Camera & Image

Camera and image messages are rendered in the Image panel. When a recording contains multiple image topics, Avala displays them in a multi-camera grid layout.
Record with sensor_msgs/CompressedImage (JPEG) to reduce file sizes significantly without losing annotation quality. Uncompressed images are supported but produce much larger recordings.

3D Point Clouds & LiDAR

Point cloud messages are rendered in the 3D / Point Cloud panel. PointCloud2 supports any combination of fields — Avala reads the field descriptors from the message to determine how to interpret the data.

Laser Scan

LaserScan messages are routed to the 3D panel when the topic name contains a recognized keyword (lidar, pointcloud, velodyne, or points). Topics with unrecognized names fall back to the Raw Messages panel.

Radar

RadarScan messages are routed to the 3D panel when the topic name contains a recognized keyword. Topics with unrecognized names fall back to the Raw Messages panel.
sensor_msgs/LaserScan and radar_msgs/RadarScan are not schema-matched — they rely on topic name keywords for panel assignment. Include a keyword like lidar or points in your topic name to ensure automatic 3D panel routing.

Transforms & Localization

Transform messages are used internally to resolve coordinate frames between sensors. Including /tf and /tf_static topics in your recordings enables Avala to project LiDAR data onto camera images and align data from sensors mounted at different positions. NavSatFix messages are rendered in the Map panel, showing the vehicle or robot path on a geographic map.

IMU

IMU messages are rendered in the Plot panel, showing time-series charts of orientation, angular velocity, and linear acceleration components.

Auto-Detection Logic

Avala uses a two-step process to assign each topic to a panel type:
  1. Schema name matching (primary) — The message schema name is checked against the known types listed above. For example, any topic with schema sensor_msgs/PointCloud2 is assigned to a 3D panel regardless of its topic name.
  2. Keyword matching (fallback) — If the schema name is not one of the built-in types above, Avala checks for keywords in the schema name and topic name:
Schema name matching (step 1) always takes precedence over keyword matching.

Unsupported Messages

Messages that do not match any known schema or keyword pattern are not discarded. They appear in the Raw Messages panel as a JSON tree view, allowing you to inspect their contents for debugging or data exploration. If you need custom rendering for a proprietary message type, see Custom Schemas or contact support@avala.ai.
Always embed schema definitions in your MCAP file. This ensures reliable message decoding without external dependencies, especially for custom message types.