Hi, thanks for your great job! I have tested the code with my own data and dig into the code details.
The picture shown above was the topic relationship with the related nodes. As can be seen that, the output of the imuPreintegration node influenced only the imageProjection node, where the /odometry/imu_incremental is only used to in odomDeskewInfo . From the data flow, it seems that the imuPreintegration and related constraints have little influence on the final map and trajectory.
Some tests on my own dataset:
Test1: run with imuPreintegration node
Test2: run without imuPreintegration node
Test3: run with imuPreintegration node, but the odomDeskewInfo function is disabled in imageProjection.
Result:
My own dataset1: rmse of the trajectories between Test1, Test2 and Test3 is very close (about 3mm);
My own dataset2: rmse of the trajectories between Test2, Test3 is about 0.2m, Test1 always failed and print "large velocity, reset imuPreintegration";
So does the imuPreintegration node really have little influence on the final result except that it provides /odometry/imu_incremental to help deskew the pointcloud? What is the really influence of imuPreintegration?
Or does anyone else have the same question?
Thanks for your attention and I am keeping always forward to your kind response?
Hi, thanks for your great job! I have tested the code with my own data and dig into the code details. The picture shown above was the topic relationship with the related nodes. As can be seen that, the output of the imuPreintegration node influenced only the imageProjection node, where the /odometry/imu_incremental is only used to in odomDeskewInfo . From the data flow, it seems that the imuPreintegration and related constraints have little influence on the final map and trajectory.
Some tests on my own dataset:
Test1: run with imuPreintegration node
Test2: run without imuPreintegration node
Test3: run with imuPreintegration node, but the odomDeskewInfo function is disabled in imageProjection.
Result: My own dataset1: rmse of the trajectories between Test1, Test2 and Test3 is very close (about 3mm);
My own dataset2: rmse of the trajectories between Test2, Test3 is about 0.2m, Test1 always failed and print "large velocity, reset imuPreintegration";
So does the imuPreintegration node really have little influence on the final result except that it provides /odometry/imu_incremental to help deskew the pointcloud? What is the really influence of imuPreintegration?
Or does anyone else have the same question?
Thanks for your attention and I am keeping always forward to your kind response?