Skip to content

Muhos dataset

This page is the data specification for the Muhos dataset. The dataset includes IMU data from three different devices (Hesai OT-128 Lidar, Carnegie Multisense S27 Stereocamera, Bosch XDK 110), as well as Stereocamera camera pictures, Lidar pointcloud files, GPS and CAN bus data.

This dataset continues the work started with the WASA dataset and described in the “Towards Collecting Large-Scale Vehicular Sensor Data for Open Access” paper, published in the 12th International Workshop on Autonomous Systems and Software Architecture (WASA) 2026. Both datasets are free to be used under the Creative Commons CC BY 4.0 license. When using the data, you must give an attribution to the following paper and provide a link to the dataset:

B. Kämä, O. Timonen, N. Stafford, J. Lotvonen, O. Kalliokoski, A. Kanerva, P. Rathnayake, S. Gamage, A. Vuorinen, S. Ariram, E. Gilman & E. Peltonen. Towards Collecting Large-Scale Vehicular Sensor Data for Open Access. IEEE 23rd International Conference on Software Architecture Companion (ICSA-C). Amsterdam, Netherlands. 2026

Link to the preprint and final publication

For further enqueries and questions about the data or paper, please contact benjamin.kama or ella.peltonen at oulu.fi

Our trusty steed

How the Dataset was Collected

The dataset was collected by driving in areas around Oulu, Finland while having sensors installed on the roof of the car, except for the Bosch XDK 110 which is located inside the car between front seats. Sensor data was collected and recorded via ROS2 on on-board computer. Recorded data includes stereo camera images, lidar pointcloud, the car’s CAN bus data and GPS information along with IMU data from three devices.

Bosch imu

Included datasets

All datasets were collected in similar weather conditions: sunny, ~10°C in October around Oulu region.

Road qualityDataset nameDriving speed in km/h
Bumpy gravelimu_bumpy_gravel_processed~20
Gravelimu_soratie_processed30-50
City centerimu_city_center_processed20-40
Residential areaimu_rajakyla_processed40
Paved road (60kmh)imu_60kmh_processed60
Paved road (Alakylantie)imu_alakylantie_80kmh_processed80
Highwayimu_highway_processed100

Computer and software setup

The computer inside the car is a NVIDIA Jetson AGX Orin Developer Kit on Ubuntu 24.04 running ROS2 nodes in Docker containers. The nodes include sensor drivers, and a recorder to write the messages on an SSD in the form of .mcap files. The source code for our setup is publicly available on github. The source codes for the .mcap processor and the image anonymizer are also publicly available.

Car and sensor setup

The car used is a Toyota RAV4 Hybrid 2019.

Stereo camera: Carnegie Robotics Multisense S27

Lidar: Hesai OT128 Lidar

GPS: PCAN-GPS

Bosch IMU: Bosch XDK 110

Recording settings for Lidar:

  • Standard resolution
  • Single-point first return
  • 600 RPM

image of the roof

Data format

The dataset has people’s faces and vehicle license plates blurred to respect people’s privacy. Hence the dataset does not contain the original .mcap files which would include unblurred images.

Data sourceDescriptionOriginal formatDataset formatTarget frequency
/lidar_points ROS2 topicLiDARPointCloud2 (230400 points).laz10hz
/aux/image_color ROS2 topicStereo camera’s middle camerabgr88-bit rgb .png25hz
/left/image_rect ROS2 topicStereo camera’s left cameramono88-bit grayscale .png25hz
/right/image_rect ROS2 topicStereo camera’s right cameramono88-bit grayscale .png25hz
/left/depth ROS2 topicStereo camera’s estimated depth distance32FC18-bit colormap .png25hz
/left/cost ROS2 topicStereo camera’s confidence value of /left/depthmono88-bit grayscale .png25hz
Car CAN busCar sensor messagesHexadecimal bytesHuman-readable .json–
PCAN-GPSGPS sensor messagesHexadecimal bytesHuman-readable .json–
Bosch XDK 110Bosch IMUIMUcsv–
/imu/imu_dataMultisense Stereocamera IMUROS2 Imu MessageHuman-readable .json–
/lidar_imuHesai Lidar IMUROS2 Imu MessageHuman-readable .json–

CAN and GPS frequencies are over 700 messages per second, however they have no “target” frequency. There are no messages lost in them, but unknown CAN signals are excluded out of this dataset. 100% of GPS signals are converted and included in this dataset. CAN bus is read and translated into known signals using .dbc file generated by opendbc software. No proprietary information was published when sharing the decoded signals and no NDA was broken. The generated dbc file had 43 message definitions.

Data examples

Stereo camera

/aux/image_color:

aux_image_color

/left/image_rect/right/image_rect
left_image_rectright_image_rect

/left/depth:

left_depth

/left/cost:

left_cost

Thermal camera

/flir_0/image_raw/flir_1/image_raw
left_image_rectright_image_rect

Lidar

/lidar_points:

lidar_points

CAN Bus

Example JSON:

    {
        "timestamp": 1780480412.007036,
        "frame_id": "0x1D3",
        "message": "PCM_CRUISE_2",
        "signal": "CHECKSUM",
        "value": 4
    },
    {
        "timestamp": 1780480412.007036,
        "frame_id": "0xB4",
        "message": "SPEED",
        "signal": "ENCODER",
        "value": 45
    },
    {
        "timestamp": 1780480412.007036,
        "frame_id": "0xB4",
        "message": "SPEED",
        "signal": "SPEED",
        "value": 28.18
    },

GPS

Example JSON:

    {
        "timestamp": 1780480412.039233,
        "frame_id": "0x601",
        "message": "BMC_MagneticField",
        "signal": "MagneticField_X",
        "value": -71.7
    },
    {
        "timestamp": 1780480412.039233,
        "frame_id": "0x601",
        "message": "BMC_MagneticField",
        "signal": "MagneticField_Y",
        "value": 41.699999999999996
    },
    {
        "timestamp": 1780480412.039233,
        "frame_id": "0x601",
        "message": "BMC_MagneticField",
        "signal": "MagneticField_Z",
        "value": -66.3
    },

IMU

Multisense json:

[
    {
        "timestamp_ns": 1791367666092286792,
        "orientation": {
            "x": 0.0,
            "y": 0.0,
            "z": 0.0,
            "w": 1.0
        },
        "angular_velocity": {
            "x": 0.06539399546830135,
            "y": -0.005438445943388666,
            "z": 0.008290313842943335
        },
        "linear_acceleration": {
            "x": 0.3950432739257812,
            "y": -0.44891281127929683,
            "z": 10.146028085327147
        }
    },

Lidar json:

[
    {
        "timestamp_ns": 1791367672104625940,
        "orientation": {
            "x": 0.0,
            "y": 0.0,
            "z": 0.0,
            "w": 1.0
        },
        "angular_velocity": {
            "x": 0.09162978572970232,
            "y": -0.10415252311276163,
            "z": -0.004886921905584123
        },
        "linear_acceleration": {
            "x": -1.9286150156,
            "y": -1.686939933,
            "z": 10.3034941156
        }
    },

Bosch csv:

timestamp,acc_x_mg,acc_y_mg,acc_z_mg,mag_x_uT,mag_y_uT,mag_z_uT,mag_r_uT,gyro_x_mdeg,gyro_y_mdeg,gyro_z_mdeg
2026-10-07T10:03:58.120Z,-51,-33,1048,-28,5,-5,6378,305,-61,183
2026-10-07T10:03:58.132Z,-51,-29,1033,-28,5,-5,6378,0,-122,366
2026-10-07T10:03:58.144Z,-51,-29,1042,-28,5,-5,6378,61,-122,305
2026-10-07T10:03:58.156Z,-54,-31,1046,-27,6,-6,6380,122,-183,244

Timestamps of all files are included in the file name in Unix time format.

Download links

City center
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Highway
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Paved road 60kmh
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Paved road 80kmh
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Residential area
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Bumpy gravel
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route

Gravel
Download linkData source
/aux/image_colorStereo camera
/left/image_rectStereo camera
/right/image_rectStereo camera
/left/depthStereo camera
/left/costStereo camera
/lidar_pointsLidar
Car CAN bus & GPSCAN bus & PCAN-GPS
IMUIMU devices

Google maps link to route


Files are stored in a .tar archive file. Most compression utilities such as WinRAR can extract them. On Linux, run the following on the command line:

tar -xvf <file_name>.tar

For example:

tar -xvf aux_image_color.tar