schema_version: 1 vehicle: vehicle_id: "outdoor_usable_20260808" body_frame: name: "base_link" # CAD / 后轮轴中心测量系(与安装图 dX/dY/dZ 一致) axes: "X forward, Y left, Z up" unit: m reference_point: "rear_axle_center" installation: installation_id: "20260808_priority_windows" installed_at: "2026-08-08" notes: > HI13R4 + H32 DLogCapture. CAD mounts are origins vs rear axle center (translation only). LiDAR phase-center Z = CAD dZ + 63.5 mm. IMU axes: HI13R4 manual §2.4 RFU (X right, Y forward, Z up). LiDAR Cartesian assumed body-aligned. sensors: imu: model: "HI13R4" raw_frame: # HI13R4 用户手册 2.4:右-前-上 (RFU) axes: "X right, Y forward, Z up (RFU)" driver_axis_remapped: false mount_in_body: # CAD 图二:后轮轴中心 → IMU,单位 m(mm/1000) # dX=2574.126255, dY=36.5, dZ=892.5 translation_m: [2.574126255, 0.0365, 0.8925] # body <- imu : p_body = R_body_imu * p_imu # R_body_imu = [[0,1,0],[-1,0,0],[0,0,1]] (fwd=imu_y, left=-imu_x, up=imu_z) rotation_matrix_body_imu: [[0.0, 1.0, 0.0], [-1.0, 0.0, 0.0], [0.0, 0.0, 1.0]] rotation_quaternion_xyzw: null source: "CAD dX/dY/dZ + HI13R4 manual RFU" lidar: model: "RSLidarH32" points_field: points raw_frame: axes: "X forward, Y left, Z up (Cartesian metres in NPZ points)" driver_axis_remapped: false mount_in_body: # CAD 图一:后轮轴中心 → 雷达安装点,再加相位中心 +63.5 mm(仅 Z) # dX=2522.276859, dY=0.020526, dZ=1637.499879+63.5=1700.999879 translation_m: [2.522276859, 0.000020526, 1.700999879] # 假设雷达系与车体 CAD 轴一致(导出 XYZ 已按此约定) rotation_matrix_body_lidar: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] rotation_quaternion_xyzw: null source: "CAD dX/dY/dZ + phase-center +63.5mm on Z; attitude assumed = body" rtk: frame_definition: "" reference_point: "" existing_T_RTK_LIDAR_file: "" time: imu_timestamp_source: "hi13_device_timestamp_ms_seconds" lidar_timestamp_source: "h32_msop_device_timestamp_seconds" lidar_frame_time_definition: "t_start/t_end in frames_index.csv; pipeline uses midpoint" host_bridge: "MSOP HostReceiveUtcTicks + IMU receive_utc_ticks" # Derived prior for p_IMU = R_IMU_lidar * p_lidar + t_IMU_lidar # t_body = t_lidar_body - t_imu_body # t_IMU_lidar = R_IMU_body * t_body, R_IMU_lidar = R_IMU_body * R_body_lidar derived_T_IMU_lidar_prior: R_IMU_lidar: [[0.0, -1.0, 0.0], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]] t_IMU_lidar_m: [0.036479474, -0.051849396, 0.808499879] t_lidar_from_imu_in_body_m: [-0.051849396, -0.036479474, 0.808499879] notes: > Rotation prior is ~90 deg yaw between body/lidar (X-fwd) and IMU RFU (Y-fwd). Translation prior from CAD + LiDAR phase-center offset; use for full_se3 / sanity, not as hard lock for rotation_only. initialization: translation_prior: enabled: true sigma_m: [0.05, 0.05, 0.05] t_IMU_lidar_m: [0.036479474, -0.051849396, 0.808499879] rotation_prior: enabled: true sigma_deg: 15.0 R_IMU_lidar: [[0.0, -1.0, 0.0], [1.0, 0.0, 0.0], [0.0, 0.0, 1.0]]