schema_version: slac.ins_lidar_hand_eye/v0.1
method: joint_trajectory_hand_eye/v0.1
solver_status: converged
policy_status: inconclusive
policy_reasons:
- 'not constrained by the data or a prior, so not calibrated: roll, pitch, yaw, x,
  y, z'
calibrated_dofs:
- time_offset
transform:
  parent_frame: ins
  child_frame: lidar
  translation_m:
  - -0.9720877508987812
  - -0.9963053565630072
  - 0.2090854763617432
  rotation_quat_xyzw:
  - -0.0073225232750387175
  - -0.001929032199371786
  - -0.0017179423360619177
  - 0.9999698536264933
time_offset_s: 0.015043292030913891
reference_scale: 0.984398625733681
dofs:
- name: roll
  unit: deg
  value: -0.8387305877465928
  std_analytic: 0.13035115048992074
  std_jackknife: 0.2897745001509338
  std_reported: 0.2897745001509338
  status: unobservable
  reference_value: -0.8493269379538126
  error_to_reference: 0.010146629138791392
  known_bad_control:
    amount: 1.0
    unit: deg
    holdout_delta_chi2: -12.499370162004311
    detected: false
- name: pitch
  unit: deg
  value: -0.2224862266985966
  std_analytic: 0.12891378899994999
  std_jackknife: 0.6304686116581483
  std_reported: 0.6304686116581483
  status: unobservable
  reference_value: 0.11664432400331386
  error_to_reference: -0.33914454851434583
  known_bad_control:
    amount: 1.0
    unit: deg
    holdout_delta_chi2: 67.06700997145435
    detected: true
- name: yaw
  unit: deg
  value: -0.19523895605579705
  std_analytic: 0.32391601782295315
  std_jackknife: 1.0555934923581134
  std_reported: 1.0555934923581134
  status: unobservable
  reference_value: 0.04327600301885539
  error_to_reference: -0.23850447477431755
  known_bad_control:
    amount: 1.0
    unit: deg
    holdout_delta_chi2: -3.184903788408178
    detected: false
- name: x
  unit: m
  value: -0.9720877508987812
  std_analytic: 0.4396529884655616
  std_jackknife: 1.3351783282413494
  std_reported: 1.3351783282413494
  status: unobservable
  reference_value: 0.8105439720319256
  error_to_reference: -1.7826317229307067
  known_bad_control:
    amount: 0.1
    unit: m
    holdout_delta_chi2: -2.6455572888280585
    detected: false
- name: y
  unit: m
  value: -0.9963053565630072
  std_analytic: 0.43224227499082923
  std_jackknife: 0.8355683496213291
  std_reported: 0.8355683496213291
  status: unobservable
  reference_value: -0.30705437225086085
  error_to_reference: -0.6892509843121464
  known_bad_control:
    amount: 0.1
    unit: m
    holdout_delta_chi2: -0.4436225973661294
    detected: false
- name: z
  unit: m
  value: 0.2090854763617432
  std_analytic: 1.8002339793268867
  std_jackknife: 1.408821430878686
  std_reported: 1.8002339793268867
  status: unobservable
  reference_value: 0.8027239945583536
  error_to_reference: -0.5936385181966104
  known_bad_control:
    amount: 0.1
    unit: m
    holdout_delta_chi2: -0.22660406137856626
    detected: false
- name: time_offset
  unit: s
  value: 0.015043292030913891
  std_analytic: 0.0015092823091975127
  std_jackknife: 0.0031746129956442995
  std_reported: 0.0031746129956442995
  status: estimated
  known_bad_control:
    amount: 0.02
    unit: s
    holdout_delta_chi2: 221.01846252351754
    detected: true
- name: reference_scale
  unit: ratio
  value: 0.984398625733681
  std_analytic: 0.007985345807575536
  std_jackknife: 0.019332306693573473
  std_reported: 0.019332306693573473
  status: unobservable
options:
  step_frames:
  - 5
  - 10
  - 20
  exclude_failed_registrations: false
  holdout_every: 3
  rotation_control_deg: 1.0
  translation_control_m: 0.1
  time_control_s: 0.02
  detection_delta_chi2: 9.0
  estimate_time_offset: true
  estimate_reference_scale: true
  rotation_sigma_rad: 0.0017453292519943296
  translation_sigma_floor_m: 0.1
  translation_sigma_per_m: 0.2
  observable_rotation_std_deg: 0.1
  observable_translation_std_m: 0.02
  observable_time_offset_std_s: 0.005
  priors: []
odometry:
  frame_count: 600
  missing_frames: []
  registration_count: 599
  converged_registrations: 597
  median_correspondences: 3553.0
  median_registration_rmse_m: 0.10524389304167746
block_duration_s: 5.0
train_blocks:
- 0
- 1
- 3
- 4
- 6
- 7
- 9
- 10
- 12
holdout_blocks:
- 2
- 5
- 8
- 11
jackknife_fits: 9
train:
  motion_count: 115
  rotation_rmse_deg: 0.1407243175800532
  translation_rmse_m: 0.2658117140614733
  rotation_median_deg: 0.09377320987368885
  translation_median_m: 0.12015546263129803
holdout:
  motion_count: 53
  rotation_rmse_deg: 0.11345536071844149
  translation_rmse_m: 0.25651891768693524
  rotation_median_deg: 0.08577345986490208
  translation_median_m: 0.1507400781141932
reference_calibration: KITTI calib_imu_to_velo.txt (inverted to T_imu_velo)
limitations:
- Velodyne sweeps are registered as rigid snapshots; motion within a sweep is not
  compensated.
- The KITTI calib_imu_to_velo reference is itself an estimate, not independent metrology;
  differences to it are not accuracy errors.
- OXTS positions come from a Mercator projection of GNSS/INS output and their timestamps
  are logging times; a reference scale and clock offset are estimated as nuisance
  parameters for that reason.
- Vehicle motion is close to planar, so the translation along the vertical rotation
  axis cannot be observed without a prior.
provenance:
  generator: ins-lidar-translation-weight-study-v1.py
  generator_version: 0.5.1
  git_commit: 0f45a2b26632df9064ca17d224f32ad800a15232
  command:
  - ins-lidar-translation-weight-study-v1.py
  - translation_noise_x10
  - POST_HOC_DEVELOPMENT_ONLY
  dataset_family: kitti_raw
  drive_ids:
  - 2011_09_29_drive_0071_sync
  input_sha256: ce4ab3fb03435b771d7f7be4ee671f9060c374dc5e47f25725c0e2bc7aaf362a
  dataset_license: CC BY-NC-SA 3.0
  created_at: '2026-10-22T14:43:24.305855+00:00'
