Data
Downloads
- IROS Tartan IMU Challenge Dataset (all platforms)
- Kaggle competition Data tab — competition-formatted windows,
index/test_windows.csv, andsample_submission.csv
Dataset Schema
Each trajectory is a .npz file organized as {split}/{platform}/{platform}_{split}_{i}.npz. The task is to predict the mean body-frame velocity (v_x, v_y, v_z) in m/s for each 1.0 s window (200 samples @ 200 Hz) of IMU data.
| Key | Shape | Description |
|---|---|---|
imu | (N, 6) | 6-axis IMU in body frame, SI units: columns [acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z]. Accelerometer retains gravity (‖accel‖ ≈ 9.8 m/s² at rest). Gyroscope in rad/s. |
ts | (N,) | Timestamps in seconds at 200 Hz. |
pos | (N, 3) | Ground-truth position in metres (world frame). |
quat | (N, 4) | Ground-truth orientation as quaternion [x, y, z, w]. |
vel_body | (N, 3) | Body-frame velocity target [v_x, v_y, v_z] in m/s, derived from pos/quat. This is the prediction target. |
platform_id | scalar | Platform label: 0=car, 1=dog (quadruped), 2=drone, 3=human (handheld). Present in train/val only — test windows are anonymized with no platform label, so a single model must handle all four without being told which one it's looking at. |
fs | scalar | Sample rate — always 200 Hz. |
Window indices and per-window targets are in index/: train_windows.csv / val_windows.csv (window_id → trajectory + start sample) and train_targets.csv / val_targets.csv (window_id → vx, vy, vz). The Kaggle Data tab additionally provides index/test_windows.csv and sample_submission.csv for the held-out test set.
At competition scale, the dataset totals 136,289 one-second windows across all platforms — 81,931 train / 23,714 val / 30,644 held-out test — for about 37.9 hours of recorded motion in total, ranging from about 5.2 hours (drone) to 13.4 hours (human) of motion per platform across all three splits.
Metric — macro-averaged Absolute Trajectory Error (ATE), lower is better: you submit one body-frame velocity per test window. The organizers rotate each prediction into the world frame using the ground-truth orientation (used only for scoring, never as model input), accumulate the per-window displacements into a path, align that path to ground truth with an SE(3) Umeyama alignment (rotation + translation, no scale), and compute ATE as the RMS position error between the aligned estimate and ground truth. Per-platform ATE is the mean over that platform’s test trajectories; the final score is the equal-weight mean of the four per-platform ATEs, so no platform dominates.
Splits are deduplicated at the trajectory level (SHA-256 of raw IMU content); train / val / public-test / private-test share no recording. The public leaderboard is scored on the Public test trajectories; final standings use the held-out Private trajectories. The Public/Private split is at the whole-trajectory level, never per window.
Sensors Used
Recordings across the four platforms come from two IMU models: the Xsens MTi-100 and the Epson M-G365. Expand for full specs.
Show IMU sensor specs
| Gyro range | ±450 °/s |
| Gyro bias instability | 10 °/h |
| Accel range | ±20 g |
| Accel bias instability | 15 µg |
| Output rate | up to 2 kHz |
| Interface | USB, RS232, RS422, UART |
| Dimensions | 57 × 41.9 × 23.6 mm |
| Weight | 55 g |
| Operating temp. | −40 to 85°C |
| Gyro range | ±450 °/s |
| Gyro bias instability | 1.2 °/h |
| Accel range | ±4 g (PDC1) / ±10 g (PDF1) |
| Accel bias instability | 14–16 µg |
| Output rate | up to 2k Sps |
| Interface | SPI, UART |
| Dimensions | 24 × 24 × 10 mm |
| Weight | 10 g |
| Operating temp. | −40 to 85°C |
Split Counts
| Platform | Train | Val |
|---|---|---|
| Car | 44 | 12 |
| Quadruped | 36 | 13 |
| Drone | 289 | 48 |
| Handheld | 26 | 7 |
| Total | 395 | 80 |
Data Explorer
Browse every trajectory in the dataset — filter by platform or split, sort any column, and open a live model preview.