Platform and Fixed Hardware Invariants
These are the constants a manufacturer/firmware datasheet would carry: the same regardless of which flight.
Device identities are paper-attributed — only the strings LSM9DS1 and Decawave actually appear in the download (in README.txt/YAML); every other model name is paper-only.
Vehicle / compute.
- Carbon quadrotor frame, ~3 kg.
- Autopilot: Holybro PixHawk 4 running PX4 (the papers also print “Pixhawk v5” in one section; PixHawk 4 is the consistent reading).
- The PX4 internal EKF is bypassed; the MaRS estimate is injected to the controller via a ROS-PX4 bridge.
- Two Raspberry Pi 4 companion boards on SkiffOS (Module 1 = NTP server, Module 2 = NTP client); a third base-station PC records motion capture for the indoor-area experiments only.
- (The “Odroid XU4” pair in the CNS Flight Stack paper [1] belongs to that paper’s separate demonstrator vehicle, not the INSANE rig.)
- EMI mitigation: hand-built copper antenna shielding, a Würth USB3 inline LP filter, partial enclosure of boards and GNSS receivers.
Sensor suite (per-run measured rates from the README.txt files; nominal device specs from the papers):
| Stream (file) | Device | Rate (per-run range / nominal) | Units / notes |
|---|---|---|---|
px4_imu |
TDK ICM20689 (autopilot, elastomer-damped) | ~191–199 Hz | body-frame m/s², rad/s |
rs_imu |
BMI055 (inside RealSense unit) | ~200 Hz (degraded/dead on some Mars runs) | body-frame; unit mounted rotated |
lsm_imu |
ST LSM9DS1 (standalone, undamped) | ~634–928 Hz, per-run | captures vibration; two site defects (Known Defects) |
| — | Bosch BMI055 (2nd autopilot IMU) | deactivated | never appears in the data |
px4_mag |
PixHawk magnetometer (IST8310) | ~85–88 Hz | Tesla; raw/uncorrected |
lsm_mag |
LSM9DS1 magnetometer | ~20 Hz (14–18 Hz on mars_2/mars_7) |
different units; raw/uncorrected |
px4_baro |
MS5611 | 20 Hz nominal (≈18 Hz delivered) | static pressure, Pa |
px4_gps |
PixHawk GNSS | ~5 Hz | non-RTK, meters-level |
rtk_gps1/2 |
2× u-blox C94-M8P | 8.00 Hz | dual RTK; UHF link replaced by ZigBee |
lrf_range |
Garmin Lidar-Lite v3 | ~30 Hz | downward, raw slant range, m |
uwb_range |
Decawave TREK1000 | ~1.7–6.2 Hz delivered (7 Hz nominal) | 3 anchors (4th dropped) |
rs_odom |
RealSense T265 (paper prints “T256”) V-SLAM | ~200 Hz | local VIO pose, reset-prone |
| nav cam | IDS UI-3270LE-M-GL, lens BM4018S118C | 20 Hz | 2056×1542 mono global shutter, downward, co-aligned with LRF |
| stereo cam | RealSense T265 fisheye pair | 30 Hz | 848×800 mono, 64 mm baseline, forward, optical axis ~30° below horizontal (60° from nadir) |
px4_rpm |
motor command (PX4 mixer) | ~99 Hz | normalized 0–1999, not tachometer RPM |
| mocap | OptiTrack (VRPN), 37-camera | ~334 Hz median | indoor/transition only |
RTK geometry (fixed): two antennas on aluminium rods, baseline 1.16 m (sensor_calibration.yaml norm_rtk1_rtk2; the paper rounds to 1.2 m; measured median baseline on dual-fixed rows 1.15–1.19 m), rotated 45° from the body x-axis, virtual-GNSS baseline direction rtk2 − rtk1.
Worst-case heading error from per-antenna position noise scales as ε ≈ η/B, inversely with baseline. The paper’s 0.95° (Figure 8) is η = 1 cm over its rounded B = 1.2 m; at the measured 1.16 m baseline the same 1 cm noise gives ε ≈ 0.98°.
Per-site ENU reference coordinates and magnetic constants (fixed per site, used by the extraction):
| Site | Runs | ENU ref (lat, long, alt) | Magnetic mag_var [inc, dec] rad |
|---|---|---|---|
| Klagenfurt (KLU) indoor/transition | indoor_*, transition_* |
46.613559, 14.262388, 489.494 | inc −1.089745, dec +0.059505 (mag_calibration_klu.yaml) |
| KLU model airfield | outdoor_1 |
46.606867, 14.279121, 484.017 | (KLU mag calibration) |
| Negev / Mars analog | mars_1..19 |
30.599929, 34.867308, 526.594 | inc −0.808604, dec −0.084160 (mag_calibration_mars.yaml) |
Transition runs additionally carry a building-entry coordinate 46.613331, 14.262166, 489.474.
The magnetic inc/dec are stored as literal signed radians; use them as-is.
Camera-calibration set per run (fixed):
klu1→indoor_1..3,outdoor_1, vibration nav-camklu2→transition_1..3mars→mars_1..19
sensor_calibration.yaml (RTK geometry, IMU/baro transforms) is single and run-invariant.
(The run→set mapping is the conventional reading; the download carries no field that states it, but the per-run ENU reference coordinates corroborate it.)