重构RTK-IMU标定链路并完成机械先验工程验证
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# RTK-IMU V3 正式结果集
|
||||
|
||||
本目录只提交复现工程结论所需的审核结果。运行过程中的调试输出、状态快照、逐窗口 checkpoint 和旧版结果保留在本机,由仓库根目录 `.gitignore` 排除。
|
||||
|
||||
## 当前结论
|
||||
|
||||
- 固定旋转来源:`R2G_gravity_level_prior`。
|
||||
- 工程候选杆臂:`l_I = p_ANT1^I = [-0.4518015159, -0.2644749820, 0.7314656115] m`。
|
||||
- `data_only_translation_accepted=false`。
|
||||
- `engineering_translation_accepted=false`,原因是独立传播验证仍受公共加速度偏差影响。
|
||||
- `independent_extrinsic_sensitive_validation_passed=true`;当前结果可描述为机械杆臂经动态数据一致性验证的工程候选,不得描述为 data-only 平移标定结果。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `engineering_release_decision.json`:最终状态、变换和放行判定。
|
||||
- `mechanical_prior_engineering_47_window.json`:相同 47 个非重叠窗口上的 free/fixed/prior 对比。
|
||||
- `node_graph_free_information_selected_mechanical.json`:冻结的无先验 free-solve 基线。
|
||||
- `lever_information_window_selection*.json`:窗口选择及实际边缘信息复核。
|
||||
- `mechanical_prior_engineering_heldout.json`:未参与标定窗口的 held-out 验证。
|
||||
- `heldout_independent_innovation.json`、`heldout_nonconverged_retry.json`:独立创新与失败窗口重试结果。
|
||||
- `mechanical_prior_rotation_sensitivity.json`:固定候选杆臂的旋转扰动敏感性结果。
|
||||
- `propagation_bias_root_cause_audit.json`:独立传播公共加速度误差根因审计。
|
||||
|
||||
结果 JSON 是审核快照;需要重新生成时应通过 `tools/` 中相应入口运行,且不得提交运行产生的 checkpoint 或 `.npz` 状态文件。
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"scope": "final mechanical-prior RTK-IMU engineering release decision",
|
||||
"no_refit_performed": true,
|
||||
"data_only_full_free_called": false,
|
||||
"bootstrap_called": false,
|
||||
"loo_called": false,
|
||||
"covariance_retuned": false,
|
||||
"new_window_selection_called": false,
|
||||
"parser_R0_modified": false,
|
||||
"data_only_translation_accepted": false,
|
||||
"translation_refined_by_data": false,
|
||||
"mechanical_prior_consistent_with_calibration": true,
|
||||
"heldout_physical_validation_passed": true,
|
||||
"heldout_physical_gate_checks": {
|
||||
"all_267_converged_after_retry": true,
|
||||
"BEST_position_vector_p95_le_0p20_m": true,
|
||||
"Doppler_vector_p95_le_0p50_m_s": true,
|
||||
"HPR_normalized_p95_le_4": true,
|
||||
"preintegration_normalized_p95_le_3": true
|
||||
},
|
||||
"heldout_statistical_scale_passed": false,
|
||||
"heldout_postfit_chi_square_per_dof": 0.12733913101711092,
|
||||
"heldout_covariance_underdispersion_warning": true,
|
||||
"independent_heldout_innovation_passed": false,
|
||||
"common_constant_acceleration_error_detected": true,
|
||||
"independent_propagation_validation_passed": false,
|
||||
"independent_extrinsic_sensitive_validation_passed": true,
|
||||
"rotation_sensitivity_passed": true,
|
||||
"engineering_translation_acceptance_formula": "mechanical_prior_consistent_with_calibration AND heldout_physical_validation_passed AND independent_heldout_innovation_passed AND rotation_sensitivity_passed",
|
||||
"engineering_translation_accepted": false,
|
||||
"result_nature": "mechanically anchored + dynamically validated",
|
||||
"summary": "Translation is mechanically anchored and dynamically validated. The current dataset does not independently observe translation accurately enough for data-only calibration, and does not provide meaningful refinement beyond the mechanical prior.",
|
||||
"forbidden_descriptions": [
|
||||
"data-only calibrated translation",
|
||||
"dynamically refined mechanical lever"
|
||||
],
|
||||
"candidate_l_I_engineering_m": [
|
||||
-0.45180151590212486,
|
||||
-0.26447498198536895,
|
||||
0.7314656114613277
|
||||
],
|
||||
"candidate_T_RTK_IMU": [
|
||||
[
|
||||
0.9999999761265028,
|
||||
-0.00021395911860711003,
|
||||
-4.436766104011944e-05,
|
||||
0.45177737170031523
|
||||
],
|
||||
[
|
||||
0.00021360059847267874,
|
||||
0.9999685415936667,
|
||||
-0.007929072948303898,
|
||||
0.27036301129056084
|
||||
],
|
||||
[
|
||||
4.606276276360097e-05,
|
||||
0.007929063282050246,
|
||||
0.9999685634227163,
|
||||
-0.7293247665913783
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0
|
||||
]
|
||||
],
|
||||
"candidate_T_IMU_RTK": [
|
||||
[
|
||||
0.9999999761265029,
|
||||
0.00021360059847267876,
|
||||
4.606276276360098e-05,
|
||||
-0.45180151590212486
|
||||
],
|
||||
[
|
||||
-0.00021395911860711008,
|
||||
0.9999685415936669,
|
||||
0.007929063282050248,
|
||||
-0.264474981985369
|
||||
],
|
||||
[
|
||||
-4.436766104011945e-05,
|
||||
-0.0079290729483039,
|
||||
0.9999685634227164,
|
||||
0.7314656114613278
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
1.0
|
||||
]
|
||||
],
|
||||
"candidate_transform_inverse_error_norm": 1.3597553244868544e-16,
|
||||
"l_I_engineering_m": null,
|
||||
"T_RTK_IMU": null,
|
||||
"T_IMU_RTK": null,
|
||||
"transform_convention": {
|
||||
"equation": "p_RTK = R_RTK_IMU * p_IMU + t_RTK_IMU",
|
||||
"translation": "t_RTK_IMU = -R_RTK_IMU * l_I",
|
||||
"RTK_origin": "ANT1 phase center"
|
||||
},
|
||||
"rotation_source": "R2G_gravity_level_prior",
|
||||
"translation_conditional_on_rotation": true,
|
||||
"evidence": {
|
||||
"calibration_path": "artifacts\\rtk_imu_calibration_v3\\mechanical_prior_engineering_47_window.json",
|
||||
"heldout_postfit_path": "artifacts\\rtk_imu_calibration_v3\\mechanical_prior_engineering_heldout.json",
|
||||
"innovation_path": "artifacts\\rtk_imu_calibration_v3\\heldout_independent_innovation.json",
|
||||
"sensitivity_path": "artifacts\\rtk_imu_calibration_v3\\mechanical_prior_rotation_sensitivity.json",
|
||||
"convergence_retry_path": "artifacts\\rtk_imu_calibration_v3\\heldout_nonconverged_retry.json",
|
||||
"propagation_root_cause_path": "artifacts\\rtk_imu_calibration_v3\\propagation_bias_root_cause_audit.json",
|
||||
"posterior_prior_variance_ratio": [
|
||||
0.9841028247436912,
|
||||
0.9831529061304226,
|
||||
0.9921155953185713
|
||||
],
|
||||
"heldout_convergence_after_retry": 1.0,
|
||||
"rotation_sensitivity_summary": {
|
||||
"max_abs_delta_l_xyz_m": [
|
||||
0.0024980444199615426,
|
||||
0.0006588674774769543,
|
||||
0.0007172660986609625
|
||||
],
|
||||
"max_delta_l_norm_m": 0.0025582764807350012,
|
||||
"max_transform_translation_delta_norm_m": 0.00686033304738171
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1302
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user