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

Message TypeFrameworkDescription
sensor_msgs/ImageROS 1 / ROS 2Uncompressed image with encoding and dimension metadata.
sensor_msgs/CompressedImageROS 1 / ROS 2JPEG or PNG compressed image.
foxglove.CompressedImageFoxgloveFoxglove schema for compressed images with timestamp and frame ID.
foxglove.RawImageFoxgloveFoxglove schema for uncompressed images with timestamp and frame ID.
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

Message TypeFrameworkDescription
sensor_msgs/PointCloud2ROS 1 / ROS 2Point cloud with arbitrary fields (x, y, z, intensity, ring, etc.).
foxglove.PointCloudFoxgloveFoxglove schema for point clouds with typed field descriptors.
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

Message TypeFrameworkDescription
sensor_msgs/LaserScanROS 1 / ROS 22D LiDAR scan with range and intensity arrays.
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

Message TypeFrameworkDescription
radar_msgs/RadarScanROS 2Radar detections with range, azimuth, elevation, and velocity fields.
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

Message TypeFrameworkDescription
tf2_msgs/TFMessageROS 1 / ROS 2Transform tree messages for sensor-to-vehicle coordinate transforms.
foxglove.FrameTransformFoxgloveFoxglove schema for frame transforms with parent/child relationships.
sensor_msgs/NavSatFixROS 1 / ROS 2GPS fix with latitude, longitude, altitude, and covariance.
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

Message TypeFrameworkDescription
sensor_msgs/ImuROS 1 / ROS 2Orientation (quaternion), angular velocity, and linear acceleration from an inertial measurement unit.
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:
KeywordsMatched againstAssigned panel
image, cameraTopic nameImage
lidar, pointcloud, velodyne, pointsTopic name3D / Point Cloud
log, rosoutSchema or topic nameLog
poseSchema or topic name3D / Point Cloud
transform, odometrySchema name3D / Point Cloud
odom, tfTopic name3D / Point Cloud
imuSchema or topic namePlot
twist, vector3, float, intSchema namePlot
cmd_vel, battery, temperature, sensorTopic namePlot
navsat, gpsSchema or topic nameMap
fixTopic nameMap
stateSchema or topic nameState
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.