Add function to get extrinsic parameters.The original code assumes there are no translation between the sensors and their parameters are written in the code. But now both our datasets and LVI-SAM official datasets are working well.
Add "lidar to imu extrinsics" in params_camera.yaml.
Using MahonyAHRS to caculate quaternion.So you don't need to prepare a 9-axis IMU.
Add lidar ring calculation method,whether your lidar provides "ring" information or not,it works.
Make some changes to the code for sensor alignment.
Fix depth association between camera and lidar (Default lidar orientation is x--->front,y--->left,z--->up).
Notes
Most of the changes are marked by "# modified".
If you are using VSCode and "#include xxx" prompt error,please ctrl+shit+p and enter C/C++ Edit Configurations(UI), add the following paths in Include path.
/opt/ros/melodic/include/
/usr/include/
Please make sure you have the same version of dependencies as LVI-SAM.If you have problems installing or importing multiple version of dependencies,you can refer to this blog.
You can see the difference between Fix depth association or not in the following pictures.Feature points are not easily go through wall, more reasonable.