81 lines
2.9 KiB
YAML
81 lines
2.9 KiB
YAML
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 only
|
|
(translation). IMU axes confirmed on vehicle as 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 原点相对后轮轴中心(body: X fwd, Y left, Z up),单位 m
|
|
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:
|
|
translation_m: [2.522276859, 0.000020526, 1.637499879]
|
|
# 假设雷达系与车体 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 vs rear axle; 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.744999879]
|
|
t_lidar_from_imu_in_body_m: [-0.051849396, -0.036479474, 0.744999879]
|
|
notes: >
|
|
Rotation prior is ~90 deg yaw between body/lidar (X-fwd) and IMU RFU (Y-fwd).
|
|
Translation prior from CAD only; 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.744999879]
|
|
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]]
|