hku-mars / LiDAR_IMU_Init

[IROS2022] Robust Real-time LiDAR-inertial Initialization Method.
GNU General Public License v2.0
889 stars 145 forks source link

Failed to calibrate a ouster-128 lidar #75

Closed zillur-av closed 1 day ago

zillur-av commented 1 year ago

When I set cut_frame_number to 3 or 4, initialization does not complete but if set it to 6 or 7, it completes too quickly. Then, during refinement, the pointcloud map scatters here and there like going up in the sky and produces a wrong result like z translation should be around 1.5m while it is showing 4m.

Screenshot from 2023-07-26 12-28-36 Screenshot from 2023-07-26 12-29-51

common:
    lid_topic:  "/ouster/points"
    imu_topic:  "/imu"

preprocess:
    lidar_type: 3                # Ouster LiDAR
    scan_line: 128
    blind: 4
    feature_extract_en: false

initialization:
    cut_frame_num: 7 # must be positive integer
    orig_odom_freq: 10
    mean_acc_norm: 0.01
    online_refine_time: 20
    data_accum_length: 500
    Rot_LI_cov: [ 0.00005, 0.00005, 0.00005 ]
    Trans_LI_cov: [ 0.0001, 0.0001, 0.0001 ]

mapping:
    filter_size_surf: 0.5
    filter_size_map: 0.5
    gyr_cov: 50
    acc_cov: 2
    b_acc_cov: 0.0001
    b_gyr_cov: 0.0001
    det_range: 150.0

publish:
    path_en:  true
    scan_publish_en:  true       # false: close all the point cloud output
    dense_publish_en: true       # false: low down the points number in a global-frame point clouds scan.
    scan_bodyframe_pub_en: true  # true: output the point cloud scans in IMU-body-frame

pcd_save:
    pcd_save_en: false
    interval: -1                 # how many LiDAR frames saved in each pcd file; 
                                 # -1 : all frames will be saved in ONE pcd file, may lead to memory crash when having too much frames.
zfc-zfc commented 1 year ago

It seems that the device is car-like of which no sufficient excitation can be guaranteed. Current version does not support car-like device.