Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only the first frame can match #10

Open
BcnMa opened this issue Apr 5, 2024 · 5 comments
Open

Only the first frame can match #10

BcnMa opened this issue Apr 5, 2024 · 5 comments

Comments

@BcnMa
Copy link

BcnMa commented Apr 5, 2024

My lidar is a MID360, placed upside down on the robot, mapped through your FAST LIO package, and ran the result in FAST-LOCALIZATION, but only the first frame matched and the effect was good, and then it started Very serious drift, how should I solve it?

@YWL0720
Copy link
Owner

YWL0720 commented Apr 7, 2024

If it's convenient, you can send me your dataset and I'll conduct a test to check where the problem is coming from.

@BcnMa
Copy link
Author

BcnMa commented Apr 7, 2024

Thank you for your help,here is the link to my dataset.
https://drive.google.com/file/d/1uvcEL8cqEKgXLLmhEUKVqklCAnA39RL1/view?usp=drive_link

@BcnMa BcnMa closed this as completed Apr 7, 2024
@BcnMa BcnMa reopened this Apr 7, 2024
@seungjae99
Copy link

@YWL0720

Hello, thank you for your excellent work.

I'm currently experiencing the same issue.
Initially, everything fits well, but after 2-3 seconds, it starts to drift significantly.

I used an Xsens IMU, so I updated the mid360.yaml file according to the results from LiDAR_IMU_Init.

common:
    lid_topic:  "/livox/lidar"
    imu_topic:  "/imu/data"
    time_sync_en: false         # ONLY turn on when external time synchronization is really not possible
    time_offset_lidar_to_imu: -0.005871 # Time offset between lidar and IMU calibrated by other algorithms, e.g. LI-Init (can be found in README).
                                  # This param will take effect no matter what time_sync_en is. So if the time offset is not known exactly, please set as 0.0
    localization_mode: 1          # 1 for given init pose, 2 for dynamic init
preprocess:
    lidar_type: 1                # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR, 
    scan_line: 4
    blind: 0.5

mapping:
    acc_cov: 0.1
    gyr_cov: 0.1
    b_acc_cov: 0.0001
    b_gyr_cov: 0.0001
    fov_degree:    360
    det_range:     100.0
    extrinsic_est_en:  true      # true: enable the online estimation of IMU-LiDAR extrinsic
    extrinsic_T: [ -0.005493, 0.100548, 0.063784 ]
    extrinsic_R: [ 2.955009, 0, 0,
                   0, 0.446404, 0,
                   0, 0, -2.249927]

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: true
    interval: -1  

Here is my bag file.

https://drive.google.com/file/d/1xo4kczCZlenbRv1dfkr0bpFXZ9oRMS62/view?usp=drive_link

thanks

@BcnMa
Copy link
Author

BcnMa commented Sep 19, 2024

My problem was finally solved by the ICP algorithm

@seungjae99
Copy link

seungjae99 commented Sep 23, 2024

My problem was finally solved by the ICP algorithm

Could you please explain the ICP algorithm in more detail? i'm beginner, so I appreciate your help.

I have changed the extrinR and extrinT values to
vector<double> extrinT = {-0.005493, 0.100548, 0.063784}; vector<double> extrinR = {2.955009, 0, 0, 0.446404, 0, 0, 0, -2.249927};

That i got from the calibration result. but anything changed.

Now, I'm looking into the ICP algorithm section of the global_localization() function in the lasermapping.cpp file, but I'm not sure what to modify. Should I change the setMaxCorrespondenceDistance()?

thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants