调整雷达到RTK标定分支为独立根目录结构

This commit is contained in:
lichun.qu
2026-07-24 08:42:16 +08:00
parent d2aae6177e
commit 6d87b6ba9c
132 changed files with 214 additions and 197832 deletions
@@ -0,0 +1,332 @@
{
"selection_is_X_independent": true,
"B_source": "Open3D; small_gicp is used only as an agreement gate",
"max_translation_m": 0.05,
"max_rotation_deg": 0.5,
"input_open3d_pairs": 41,
"accepted_pairs": 25,
"pairs": [
{
"i": 0,
"j": 1,
"open3d_small_translation_m": 0.014276780914058016,
"open3d_small_rotation_deg": 0.6136066194510507,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 0,
"j": 2,
"open3d_small_translation_m": 0.019952450418738,
"open3d_small_rotation_deg": 0.14609270025586996,
"accepted": true,
"reason": ""
},
{
"i": 1,
"j": 2,
"accepted": false,
"reason": "not_in_small_gicp_refined"
},
{
"i": 2,
"j": 3,
"open3d_small_translation_m": 0.022407292900448784,
"open3d_small_rotation_deg": 0.1674801169908669,
"accepted": true,
"reason": ""
},
{
"i": 2,
"j": 5,
"open3d_small_translation_m": 0.006161707315193906,
"open3d_small_rotation_deg": 0.13760639079130288,
"accepted": true,
"reason": ""
},
{
"i": 3,
"j": 5,
"open3d_small_translation_m": 0.039798937040509075,
"open3d_small_rotation_deg": 0.21317157512260662,
"accepted": true,
"reason": ""
},
{
"i": 3,
"j": 6,
"open3d_small_translation_m": 0.012411893826145848,
"open3d_small_rotation_deg": 0.6409039547122766,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 6,
"j": 7,
"open3d_small_translation_m": 0.008481323658875535,
"open3d_small_rotation_deg": 0.21102463812659789,
"accepted": true,
"reason": ""
},
{
"i": 6,
"j": 8,
"open3d_small_translation_m": 0.0392892670228761,
"open3d_small_rotation_deg": 0.3638880951335145,
"accepted": true,
"reason": ""
},
{
"i": 7,
"j": 8,
"open3d_small_translation_m": 0.008121615288997118,
"open3d_small_rotation_deg": 0.6269514061788293,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 10,
"j": 11,
"open3d_small_translation_m": 0.021311366483595485,
"open3d_small_rotation_deg": 0.5895827931090589,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 12,
"j": 14,
"open3d_small_translation_m": 0.02159358315642783,
"open3d_small_rotation_deg": 0.2828054398005336,
"accepted": true,
"reason": ""
},
{
"i": 12,
"j": 15,
"open3d_small_translation_m": 0.036801934207227605,
"open3d_small_rotation_deg": 0.5608491395108458,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 13,
"j": 15,
"open3d_small_translation_m": 0.02340982602704092,
"open3d_small_rotation_deg": 0.5560478634176542,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 13,
"j": 16,
"open3d_small_translation_m": 0.027602744462629097,
"open3d_small_rotation_deg": 0.2529072067309812,
"accepted": true,
"reason": ""
},
{
"i": 15,
"j": 16,
"open3d_small_translation_m": 0.02090824470779122,
"open3d_small_rotation_deg": 0.034004621265071464,
"accepted": true,
"reason": ""
},
{
"i": 15,
"j": 17,
"open3d_small_translation_m": 0.04186146133502706,
"open3d_small_rotation_deg": 0.13358624916951445,
"accepted": true,
"reason": ""
},
{
"i": 15,
"j": 18,
"open3d_small_translation_m": 0.01461017711105615,
"open3d_small_rotation_deg": 0.2537851025085552,
"accepted": true,
"reason": ""
},
{
"i": 16,
"j": 19,
"open3d_small_translation_m": 0.012703728170379172,
"open3d_small_rotation_deg": 0.36607447371235324,
"accepted": true,
"reason": ""
},
{
"i": 17,
"j": 18,
"open3d_small_translation_m": 0.030547382773647488,
"open3d_small_rotation_deg": 0.6293030402470645,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 21,
"j": 22,
"open3d_small_translation_m": 0.008438605953756149,
"open3d_small_rotation_deg": 0.15351222882817242,
"accepted": true,
"reason": ""
},
{
"i": 21,
"j": 23,
"open3d_small_translation_m": 0.0184790436482599,
"open3d_small_rotation_deg": 0.5781132894399331,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 21,
"j": 24,
"open3d_small_translation_m": 0.03128464242771278,
"open3d_small_rotation_deg": 0.3921882672789548,
"accepted": true,
"reason": ""
},
{
"i": 22,
"j": 23,
"open3d_small_translation_m": 0.01156826970365892,
"open3d_small_rotation_deg": 0.061357836393243825,
"accepted": true,
"reason": ""
},
{
"i": 22,
"j": 25,
"open3d_small_translation_m": 0.04101882834929893,
"open3d_small_rotation_deg": 0.420339642399271,
"accepted": true,
"reason": ""
},
{
"i": 23,
"j": 24,
"open3d_small_translation_m": 0.009191025382465435,
"open3d_small_rotation_deg": 0.5691342384946491,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 25,
"j": 26,
"open3d_small_translation_m": 0.02091454005252894,
"open3d_small_rotation_deg": 0.4875072590330582,
"accepted": true,
"reason": ""
},
{
"i": 25,
"j": 27,
"open3d_small_translation_m": 0.09632206662156642,
"open3d_small_rotation_deg": 0.3699938120965201,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 25,
"j": 28,
"open3d_small_translation_m": 0.0301381128127144,
"open3d_small_rotation_deg": 0.46587172800425497,
"accepted": true,
"reason": ""
},
{
"i": 26,
"j": 27,
"open3d_small_translation_m": 0.01010757207206556,
"open3d_small_rotation_deg": 0.4201365669869023,
"accepted": true,
"reason": ""
},
{
"i": 26,
"j": 28,
"open3d_small_translation_m": 0.006243998078352694,
"open3d_small_rotation_deg": 1.3246136424341457,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 26,
"j": 29,
"open3d_small_translation_m": 0.03617825286340023,
"open3d_small_rotation_deg": 0.27823666091247784,
"accepted": true,
"reason": ""
},
{
"i": 27,
"j": 28,
"open3d_small_translation_m": 0.008540949499580083,
"open3d_small_rotation_deg": 0.3676810414714511,
"accepted": true,
"reason": ""
},
{
"i": 27,
"j": 29,
"open3d_small_translation_m": 0.01399120240175791,
"open3d_small_rotation_deg": 0.437290577300882,
"accepted": true,
"reason": ""
},
{
"i": 28,
"j": 29,
"open3d_small_translation_m": 0.12711262123542025,
"open3d_small_rotation_deg": 0.9231252582756669,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 28,
"j": 30,
"open3d_small_translation_m": 0.030113115024945805,
"open3d_small_rotation_deg": 0.33608547109429165,
"accepted": true,
"reason": ""
},
{
"i": 28,
"j": 31,
"accepted": false,
"reason": "not_in_small_gicp_refined"
},
{
"i": 30,
"j": 31,
"open3d_small_translation_m": 0.056474627862098614,
"open3d_small_rotation_deg": 0.6666837905088073,
"accepted": false,
"reason": "backend_disagreement"
},
{
"i": 30,
"j": 32,
"open3d_small_translation_m": 0.0152913302124184,
"open3d_small_rotation_deg": 0.3092824993876474,
"accepted": true,
"reason": ""
},
{
"i": 31,
"j": 32,
"accepted": false,
"reason": "not_in_small_gicp_refined"
},
{
"i": 31,
"j": 33,
"open3d_small_translation_m": 0.013286737983556427,
"open3d_small_rotation_deg": 0.37286489690414826,
"accepted": true,
"reason": ""
}
]
}
Binary file not shown.
@@ -0,0 +1,266 @@
{
"schema_version": 1,
"success": true,
"convention": "T_RTK_lidar maps raw LiDAR points into the RTK navigation frame",
"equation": "A_RTK_ij X = X B_LiDAR_ij",
"frames": {
"RTK": {
"origin": "GGA positioning reference point; confirm ANT1/reference antenna in receiver configuration",
"x_axis": "horizontal projection of the rawHeading baseline direction reported by the receiver",
"y_axis": "left",
"z_axis": "up",
"yaw_enu_deg": "90 - rawHeadingDeg"
},
"LiDAR": "raw LiDAR sensor frame"
},
"backend": "consensus",
"measured_lidar_extrinsic_used_as_initial": false,
"body_heading_offset_used": false,
"body_antenna_lever_xy_used": false,
"translation_m": [
1.6381793500373911,
-0.24084479868828831,
0.08448123595331278
],
"rotation_rpy_deg_xyz": [
-0.8171674587248069,
1.323288118779805,
-22.104163317857477
],
"quaternion_xyzw": [
-0.004784711987091957,
0.012700096588977744,
-0.19160273666049008,
0.9813787267829084
],
"matrix_4x4": [
[
0.926254197701683,
0.37594816689521215,
0.026760737062740007,
1.6381793500373911
],
[
-0.3761912321127582,
0.926530995670823,
0.004524482591229066,
-0.24084479868828831
],
[
-0.02309368141930373,
-0.014257975640431828,
0.9996316281556624,
0.08448123595331278
],
[
0.0,
0.0,
0.0,
1.0
]
],
"quality": {
"stations": 34,
"pairs": 25,
"residuals": {
"pairs": 25,
"translation_m": {
"rms": 0.10020667268070801,
"median": 0.06249704966098745,
"p90": 0.1210855900297508,
"p95": 0.12306740757559503,
"max": 0.35253378022021187
},
"rotation_deg": {
"rms": 1.2527941187072538,
"median": 0.7469173100535645,
"p90": 1.8215127226094046,
"p95": 1.973738680622839,
"max": 4.325671952515919
},
"per_pair": [
{
"pair_index": 0,
"translation_m": 0.04167906865173614,
"rotation_deg": 0.7044680397451787
},
{
"pair_index": 1,
"translation_m": 0.05434432733915097,
"rotation_deg": 0.3949090486960162
},
{
"pair_index": 2,
"translation_m": 0.10468985225969502,
"rotation_deg": 0.2966790038612149
},
{
"pair_index": 3,
"translation_m": 0.064702341381345,
"rotation_deg": 0.5538785486937366
},
{
"pair_index": 4,
"translation_m": 0.06403624975051968,
"rotation_deg": 0.7469173100535645
},
{
"pair_index": 5,
"translation_m": 0.019589736031301614,
"rotation_deg": 0.7060778312055135
},
{
"pair_index": 6,
"translation_m": 0.04563086081489213,
"rotation_deg": 0.8701331718844921
},
{
"pair_index": 7,
"translation_m": 0.05643960299219297,
"rotation_deg": 1.8737737246943913
},
{
"pair_index": 8,
"translation_m": 0.1234266519889254,
"rotation_deg": 1.9987299196049513
},
{
"pair_index": 9,
"translation_m": 0.06753558655646176,
"rotation_deg": 0.2674085857580904
},
{
"pair_index": 10,
"translation_m": 0.057937366822662255,
"rotation_deg": 0.339735283375759
},
{
"pair_index": 11,
"translation_m": 0.03457457850935045,
"rotation_deg": 0.5158041285368985
},
{
"pair_index": 12,
"translation_m": 0.06294442058649205,
"rotation_deg": 0.6210132605220049
},
{
"pair_index": 13,
"translation_m": 0.04800822576662163,
"rotation_deg": 1.7431212194819241
},
{
"pair_index": 14,
"translation_m": 0.06249704966098745,
"rotation_deg": 0.8651715760380532
},
{
"pair_index": 15,
"translation_m": 0.12026833019096655,
"rotation_deg": 4.325671952515919
},
{
"pair_index": 16,
"translation_m": 0.04916024916487916,
"rotation_deg": 0.9331159567430728
},
{
"pair_index": 17,
"translation_m": 0.02802786916783814,
"rotation_deg": 0.8755591753060336
},
{
"pair_index": 18,
"translation_m": 0.054001671602238746,
"rotation_deg": 0.48777111889991587
},
{
"pair_index": 19,
"translation_m": 0.10122861599246656,
"rotation_deg": 0.9367994244405716
},
{
"pair_index": 20,
"translation_m": 0.023164324685695653,
"rotation_deg": 0.2827650802657415
},
{
"pair_index": 21,
"translation_m": 0.06461070522327692,
"rotation_deg": 1.1522606437088527
},
{
"pair_index": 22,
"translation_m": 0.35253378022021187,
"rotation_deg": 0.7805430662091233
},
{
"pair_index": 23,
"translation_m": 0.11095170748867093,
"rotation_deg": 0.8561868088481429
},
{
"pair_index": 24,
"translation_m": 0.12163042992227363,
"rotation_deg": 0.17586872890763125
}
]
},
"weighted_jacobian_condition_number": 7.739413195936781,
"linearized_one_sigma": {
"translation_m": [
0.008936804232414386,
0.009199590403303341,
0.004827611183429192
],
"rotation_deg": [
0.08042474849565617,
0.07825800357808266,
0.1694976028248396
],
"warning": "conditional local estimate; bootstrap is the primary stability check"
},
"bootstrap": {
"runs": 200,
"order": [
"x_m",
"y_m",
"z_m",
"roll_deg",
"pitch_deg",
"yaw_deg"
],
"std": [
0.004007472116212317,
0.00447369016783699,
0.003161844455893403,
0.10272261218646783,
0.09618742156951016,
0.14509879375374413
],
"p025": [
1.6309949623104336,
-0.2470615833911814,
0.07875765037498306,
-0.9881676010783537,
1.1135179371917805,
-22.3851229846878
],
"p975": [
1.6456999445482652,
-0.22784916633142768,
0.09114084095723367,
-0.5808877804701225,
1.4821798187931374,
-21.82296828752347
]
}
},
"z_constraint": {
"observable_from_planar_AX_XB": false,
"method": "LiDAR ground planes plus externally supplied RTK reference-point height above ground",
"rtk_reference_height_above_ground_m": 0.8535,
"warning": "z is conditional on the supplied RTK antenna height; it is not independently identified by planar Ackermann motion"
},
"important_limit": "AX residual and bootstrap quantify internal consistency, not independent centimetre-grade absolute certification"
}