Open BcnMa opened 7 months ago
If it's convenient, you can send me your dataset and I'll conduct a test to check where the problem is coming from.
Thank you for your help,here is the link to my dataset. https://drive.google.com/file/d/1uvcEL8cqEKgXLLmhEUKVqklCAnA39RL1/view?usp=drive_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
My problem was finally solved by the ICP algorithm
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
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?