{ "schema_version": 3, "convention": "T_RTK_lidar maps raw LiDAR points into the vehicle-forward RTK body frame (X forward, Y left, Z up) after HeadingOffsetDeg=-90", "frame_mode": "vehicle_forward_heading_offset", "heading_offset_deg": -90.0, "baseline_points": "vehicle_right", "baseline_points_note": "Field-confirmed: master/slave assignment reversed vs G90 diagram, antennas left-right symmetric about rear-axle centerline. Master/GGA on vehicle left, slave on right; rawHeading points vehicle right.", "vehicle_flu_lever_master_to_lidar_m": [ 0.210859360, -0.414179474, 0.078500001 ], "vehicle_flu_note": "Vehicle FLU: LiDAR origin relative to master/GGA = ahead, right, above. CAD drawing X was opposite vehicle-forward; longitudinal sign is +X in true FLU (solver also converges to +X).", "antenna_symmetry_note": "Master/slave are mirrors about the rear-axle centerline; swap flips baseline 180° and the vehicle-Y sign of the master→LiDAR lever", "translation_m": [ 0.210859360, -0.414179474, 0.078500001 ], "rotation_rpy_deg_xyz": [ 0.0, 0.0, 0.0 ], "matrix_4x4": [ [1.0, 0.0, 0.0, 0.210859360], [0.0, 1.0, 0.0, -0.414179474], [0.0, 0.0, 1.0, 0.078500001], [0.0, 0.0, 0.0, 1.0] ], "use": "Final AX=XB solver initialization only; never use for LiDAR pair registration", "yaw_note": "In vehicle-forward delivery, LiDAR +X ≈ vehicle forward ⇒ mechanical yaw ≈ 0", "z_note": "78.500001 mm = H_L - H_R with H_L=1994.999879 mm, H_R=1916.499878 mm", "attitude_composition": "R_W_body = Rz(yaw_raw) Ry(-pitch) Rx(roll) Rz(-heading_offset); pitch/roll stay in baseline frame", "baseline_frame_equivalent": { "heading_offset_deg": 0.0, "translation_m": [0.414179474, 0.210859360, 0.078500001], "rotation_rpy_deg_xyz": [0.0, 0.0, 90.0], "note": "Same physical install expressed in rawHeading baseline frame" } }