Data
Downloads
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). |
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).
Primary metric: macro-averaged velocity RMSE (mean of per-platform RMSEs, so platform size imbalance cannot be gamed).
Secondary metric: ATE — organizer integrates per-window velocity with ground-truth orientation over 5 m drift-corrected segments (position RMSE).
Splits are deduplicated at the trajectory level (SHA-256 of raw IMU content); train/val/test share no recording.
Split Counts
| Platform | Train | Val |
|---|---|---|
| Car | 44 | 12 |
| Quadruped | 36 | 13 |
| Drone | 61 | 17 |
| Handheld | 26 | 7 |
| Total | 167 | 49 |
Data Explorer
The interactive data explorer is being finalized and will be back shortly.