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

Strange behavior during "Online Refinement". #94

Open
SangHunHan92 opened this issue Jan 25, 2024 · 4 comments
Open

Strange behavior during "Online Refinement". #94

SangHunHan92 opened this issue Jan 25, 2024 · 4 comments

Comments

@SangHunHan92
Copy link

wrong2

Hi! Thanks for great work!!

I ran the code in my setup using Velodyne 32 channels and found that the code behaved a little strangely.

During Initialization, it works very well. However, after Initialization was completed, my setup went to a strange place during Online Refinement!
For this reason, the results of Initialization are very good, but the result of Online Refinement shows incorrect extrinsic parameter values.

I ran the code with my saved rosbag file. Could there be a problem in this part?

image

I also attached my config file for reference. thank you !

@zfc-zfc
Copy link
Collaborator

zfc-zfc commented Jan 26, 2024

rosbag

This issue may be caused by an excessive number of points and the non-real-time lidar odometry. Due to the non-real-time case of LO, the IMU buffer stores a significant amount of data. When the initialization is completed and the system transitions into LIO mode, the timestamps of these IMU measurements are not modified, leading to incorrect results. One possible way to improve this is by reducing the number of point clouds.

However, generally speaking, we have more confidence in the results obtained during initialization and use the calibrated extrinsic parameters and time offsets in FAST-LIO2. The refinement process, which involves optimizing a large number of variables, sometimes yields extrinsic parameters that are not as accurate as the results obtained during initialization.

@zfc-zfc
Copy link
Collaborator

zfc-zfc commented Jan 26, 2024

wrong2 wrong2

Hi! Thanks for great work!!

I ran the code in my setup using Velodyne 32 channels and found that the code behaved a little strangely.

During Initialization, it works very well. However, after Initialization was completed, my setup went to a strange place during Online Refinement! For this reason, the results of Initialization are very good, but the result of Online Refinement shows incorrect extrinsic parameter values.

I ran the code with my saved rosbag file. Could there be a problem in this part?

image

I also attached my config file for reference. thank you !

cut_frame_num = 20? That's too large, 3~4 will be fine.

@SangHunHan92
Copy link
Author

SangHunHan92 commented Jan 26, 2024

Thank you for your kind reply. It seems that I should use the result of initialization.

However, the recommended value for cut_frame_num = 3 ~ 4 is too low.
In my case, the minimum value of cut_frame_num for correct results is 10 ~ 20,
and cut_frame_num = 3~4 shows strange behavior, such like the Online Refinement process above.

@zfc-zfc
Copy link
Collaborator

zfc-zfc commented Feb 3, 2024

Thank you for your kind reply. It seems that I should use the result of initialization.

However, the recommended value for cut_frame_num = 3 ~ 4 is too low. In my case, the minimum value of cut_frame_num for correct results is 10 ~ 20, and cut_frame_num = 3~4 shows strange behavior, such like the Online Refinement process above.

It seems strange. If a point cloud frame is splitted into 10 parts based on timestamps, each frame would only have a FoV of 36°, which could easily lead to degradation of the LiDAR. Can you share your bag with me so that I can investigate this issue?

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

2 participants