schema_version: slac.vehicle_frame_rotation/v0.1
method: non_holonomic_motion/v0.1
sensor_modality: ins
solver_status: converged
policy_status: inconclusive
policy_reasons:
- 'not constrained by the data, so not calibrated: roll, pitch, yaw'
calibrated_dofs: []
rotation_quat_xyzw:
- 0.009121772930893496
- 0.0040923020692956915
- -0.0019402544645372977
- 0.9999481395227373
lever_m: 0.45088900890559896
dofs:
- name: roll
  unit: deg
  value: 1.0444072198129404
  std_analytic: 0.11192092142675927
  std_jackknife: 0.45577649305855555
  std_reported: 0.45577649305855555
  status: unobservable
  known_bad_control:
    amount_deg: 1.0
    holdout_delta_chi2: 39.92661300333293
    detected: true
- name: pitch
  unit: deg
  value: 0.47095236330078694
  std_analytic: 0.020600880412718535
  std_jackknife: 0.12483874264335854
  std_reported: 0.12483874264335854
  status: unobservable
  known_bad_control:
    amount_deg: 1.0
    holdout_delta_chi2: 916.9070827025953
    detected: true
- name: yaw
  unit: deg
  value: -0.21805555200986051
  std_analytic: 0.02075698678657335
  std_jackknife: 0.1503999074233588
  std_reported: 0.1503999074233588
  status: unobservable
  known_bad_control:
    amount_deg: 1.0
    holdout_delta_chi2: 504.67640187542565
    detected: true
references:
- name: 'closure: LiDAR-to-vehicle estimate composed with KITTI calib_imu_to_velo'
  rotation_quat_xyzw:
  - 0.009339997169155768
  - 0.004329321561206275
  - -0.0027307315540058648
  - 0.999943280657898
  difference_deg:
  - -0.024692449923998064
  - -0.02793905564874171
  - 0.09043297920330495
  holdout_delta_chi2: 31.568071463041633
motions: 2012
train_motions: 1352
holdout_motions: 660
train_blocks:
- 0
- 100000
- 100001
- 100003
- 100004
- 200001
- 200002
- 300000
- 300001
- 300003
- 400000
- 400002
- 400003
- 400005
- 400006
- 400008
holdout_blocks:
- 1
- 100002
- 200000
- 200003
- 300002
- 400001
- 400004
- 400007
jackknife_fits: 8
train_median_normalized_residual: 0.5243046320285665
holdout_median_normalized_residual: 0.5371690883896532
options:
  block_duration_s: 10.0
  holdout_every: 3
  jackknife_groups: 8
  control_deg: 1.0
  detection_delta_chi2: 9.0
  observable_rotation_std_deg: 0.1
  min_speed_mps: 2.0
  velocity_sigma_mps: 0.05
  velocity_sigma_fraction: 0.01
  rate_sigma_rps: 0.01
limitations:
- 'The vehicle frame is defined by the motion: it assumes no side slip and no vertical
  velocity, and roll needs turns.'
- The INS velocity and rates are the unit's own navigation solution, rotated from
  KITTI's level forward/left/up frame into the body frame with each packet's roll
  and pitch.
- The OXTS unit's configured IMU-to-vehicle alignment is not published, so there is
  no vendor reference; the LiDAR closure compares this rotation with the independent
  LiDAR-to-vehicle estimate composed with calib_imu_to_velo.
provenance:
  generator: calibrex.evaluation.vehicle_frame
  generator_version: 0.4.1
  git_commit: '6668415'
  command:
  - calibrex
  - imu-vehicle
  - kitti
  - 2011_09_26_drive_0005_sync
  - 2011_09_26_drive_0009_sync
  - 2011_09_26_drive_0014_sync
  - 2011_09_26_drive_0015_sync
  - 2011_09_26_drive_0022_sync
  - --lidar-vehicle
  - docs/assets/kitti_lidar_vehicle/dev_2011_09_26.yaml
  - --output
  - docs/assets/kitti_lidar_vehicle/imu_vehicle_dev_2011_09_26.yaml
  dataset_family: kitti_raw
  sequence_ids:
  - 2011_09_26_drive_0005_sync
  - 2011_09_26_drive_0009_sync
  - 2011_09_26_drive_0014_sync
  - 2011_09_26_drive_0015_sync
  - 2011_09_26_drive_0022_sync
  sensor: oxts
  input_sha256: ccd9b4315064b2a1b253c9c6d4dcecba2948294f8e4075bcb3e65923d70738cf
  dataset_license: CC BY-NC-SA 3.0
  created_at: '2026-09-30T18:17:54.310615+00:00'
