Bag Support for Ouster Studio Web

Bag Support for Ouster Studio Web

The table shows the necessary bag contents for Ouster Studio Web

Lidar Packets

Lidar Packet Topic

Topic

Topic Name (Choose One)

Topic Type

Topic

Topic Name (Choose One)

Topic Type

lidar_packets (must be raw lidar packets)

  • In general:

    • /**/lidar_packets

  • Examples:

    • /os_node/lidar_packets

    • /ouster/lidar_packets

ouster_ros/msg/PacketMsg

Metadata

Metadata Topic

Topic

Topic Name (Choose One)

Topic Type

Topic

Topic Name (Choose One)

Topic Type

metadata

  • in general:

    • /**/metadata

  • Examples:

    • /os_node/metadata

    • /ouster/metadata

std_msgs/msg/String

No Metadata Topic

If the bag file does not contain a metadata topic, a metadata.json file is required.

Here’s how to retrieve it via curl:

curl -X GET http://os-122503001493/api/v1/sensor/metadata | jq . > metadata.json
{ "lidar_intrinsics": { "lidar_to_sensor_transform": [ -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 47.824, 0, 0, 0, 1 ] }, "beam_intrinsics": { "beam_altitude_angles": [ 82.02, 87.27, 87.41, 82.21, 81.93, 86.25, 85.8, 81.3, 80.8, 83.83, 83.21, 79.61, 78.98, 81.08, 80.42, 77.44, 76.75, 78.24, 77.56, 75.03, 74.3, 75.37, 74.68, 72.45, 71.71, 72.5, 71.81, 69.8, 69.05, 69.62, 68.93, 67.1, 66.36, 66.76, 66.07, 64.36, 63.62, 63.9, 63.21, 61.61, 60.87, 61.05, 60.36, 58.85, 58.1, 58.22, 57.53, 56.09, 55.33, 55.38, 54.7, 53.31, 52.57, 52.56, 51.87, 50.54, 49.79, 49.73, 49.04, 47.75, 47, 46.9, 46.21, 44.95, 44.22, 44.07, 43.37, 42.15, 41.43, 41.25, 40.55, 39.34, 38.63, 38.41, 37.72, 36.54, 35.83, 35.59, 34.88, 33.72, 33.01, 32.75, 32.05, 30.9, 30.18, 29.9, 29.19, 28.06, 27.34, 27.04, 26.33, 25.22, 24.5, 24.17, 23.46, 22.36, 21.64, 21.29, 20.58, 19.5, 18.77, 18.41, 17.69, 16.63, 15.88, 15.51, 14.8, 13.74, 13, 12.61, 11.89, 10.83, 10.09, 9.68, 8.94, 7.9, 7.16, 6.73, 5.99, 4.93, 4.19, 3.76, 3.02, 1.96, 1.2, 0.76, 0.02, -1.04 ], "beam_azimuth_angles": [ 100.15, 97.38, -81.97, -84.17, 78.84, 46.13, -37.76, -64.46, 60.6, 26.23, -22.49, -49.84, 47.38, 17.99, -15.95, -39.83, 38.28, 13.72, -12.4, -32.94, 31.94, 11.11, -10.15, -28.03, 27.34, 9.37, -8.64, -24.41, 23.91, 8.12, -7.56, -21.66, 21.28, 7.2, -6.72, -19.48, 19.22, 6.46, -6.09, -17.76, 17.54, 5.88, -5.58, -16.36, 16.17, 5.41, -5.16, -15.2, 15.03, 5.02, -4.81, -14.21, 14.07, 4.7, -4.52, -13.38, 13.26, 4.42, -4.27, -12.67, 12.55, 4.17, -4.05, -12.04, 11.92, 3.96, -3.87, -11.48, 11.36, 3.77, -3.72, -11.01, 10.89, 3.61, -3.57, -10.59, 10.46, 3.46, -3.45, -10.21, 10.08, 3.33, -3.34, -9.88, 9.74, 3.21, -3.24, -9.58, 9.44, 3.1, -3.16, -9.31, 9.16, 3, -3.08, -9.07, 8.91, 2.92, -3.01, -8.85, 8.68, 2.84, -2.95, -8.66, 8.48, 2.77, -2.89, -8.49, 8.29, 2.7, -2.85, -8.33, 8.13, 2.65, -2.81, -8.2, 7.98, 2.59, -2.77, -8.09, 7.86, 2.54, -2.74, -7.99, 7.74, 2.5, -2.72, -7.9 ], "beam_to_lidar_transform": [ 1, 0, 0, 17.1403, 0, 1, 0, 0, 0, 0, 1, 17.3813, 0, 0, 0, 1 ] }, "imu_intrinsics": { "imu_to_sensor_transform": [ 1, 0, 0, -2.441, 0, 1, 0, -9.725, 0, 0, 1, 7.533, 0, 0, 0, 1 ] }, "sensor_info": { "prod_line": "OS-DOME-128", "prod_pn": "OSDOM-070-128U-AX", "prod_sn": "122503001493", "image_rev": "ousteros-image-prod-bootes-v3.1.0+20240426041747", "build_rev": "v3.1.0", "build_date": "2024-04-26T02:34:31Z", "status": "RUNNING", "initialization_id": 15382924 }, "calibration_status": { "reflectivity": { "valid": true, "timestamp": "2025-01-21T13:51:51" } }, "lidar_data_format": { "pixels_per_column": 128, "columns_per_packet": 16, "columns_per_frame": 1024, "pixel_shift_by_row": [ 285, 277, -233, -239, 224, 131, -107, -183, 172, 75, -64, -142, 135, 51, -45, -113, 109, 39, -35, -94, 91, 32, -29, -80, 78, 27, -25, -69, 68, 23, -22, -62, 61, 20, -19, -55, 55, 18, -17, -51, 50, 17, -16, -47, 46, 15, -15, -43, 43, 14, -14, -40, 40, 13, -13, -38, 38, 13, -12, -36, 36, 12, -12, -34, 34, 11, -11, -33, 32, 11, -11, -31, 31, 10, -10, -30, 30, 10, -10, -29, 29, 9, -10, -28, 28, 9, -9, -27, 27, 9, -9, -26, 26, 9, -9, -26, 25, 8, -9, -25, 25, 8, -8, -25, 24, 8, -8, -24, 24, 8, -8, -24, 23, 8, -8, -23, 23, 7, -8, -23, 22, 7, -8, -23, 22, 7, -8, -22 ], "column_window": [ 0, 1023 ], "udp_profile_lidar": "RNG15_RFL8_NIR8", "udp_profile_imu": "LEGACY" }, "imu_data_format": { "gyro_fsr": "NORMAL", "accel_fsr": "NORMAL" }, "config_params": { "udp_dest": "239.34.84.18", "udp_port_lidar": 7502, "udp_port_imu": 7503, "udp_profile_lidar": "RNG15_RFL8_NIR8", "udp_profile_imu": "LEGACY", "columns_per_packet": 16, "return_order": "FARTHEST_TO_NEAREST", "timestamp_mode": "TIME_FROM_INTERNAL_OSC", "sync_pulse_in_polarity": "ACTIVE_HIGH", "nmea_in_polarity": "ACTIVE_HIGH", "nmea_ignore_valid_char": 0, "nmea_baud_rate": "BAUD_9600", "nmea_leap_seconds": 0, "multipurpose_io_mode": "OFF", "sync_pulse_out_polarity": "ACTIVE_HIGH", "sync_pulse_out_frequency": 1, "sync_pulse_out_angle": 360, "sync_pulse_out_pulse_width": 10, "operating_mode": "NORMAL", "lidar_mode": "1024x10", "azimuth_window": [ 0, 360000 ], "signal_multiplier": 1, "phase_lock_enable": false, "phase_lock_offset": 0, "min_range_threshold_cm": 50, "gyro_fsr": "NORMAL", "accel_fsr": "NORMAL" } }

FAQ

How do I find the topic names and type in a bag file?

Here’s an example on how to list the topic names and topic type from a bag file using ouster-cli

% ouster-cli source 122214002322_2025-09-08-17-32-06.bag info Filename: 122214002322_2025-09-08-17-32-06.bag Start: 1757367141.364608 (2025-09-08 21:32:21.364608) End: 1757367151.733627 (2025-09-08 21:32:31.733627) Duration: 10.369018993 Message Count: 12945 Topics: /os_node/metadata (ouster_ros/msg/Metadata): 1 /os_node/lidar_packets (ouster_ros/msg/LidarPacket): 12944

 

  • /os_node/metadata and /os_node/lidar_packets are the names

  • ouster_ros/msg/Metadata and ouster_ros/msg/LidarPacket are the topic types

This bag file does not work because the topic types has different name than what ouster-cli expects.

Is Pointcloud Topic supported?

The bag files need raw lidar packets as specified above.