Livox HAP and GNSS data

Hi,

I’m still trying out Lidarview with Livox HAP. In this case I’m trying to add GNSS data to reduce SLAM drift and torsion throughout a recording instead of using the IMU.
I’m using the instructions from this link:
https://gitlab.kitware.com/keu-computervision/slam/-/blob/master/paraview_wrapping/Plugin/doc/How_to_SLAM_with_LidarView.md?ref_type=heads#external-sensors

When converting coordinates with PROJ to xyz I’ve tried several types of projections, axis rotations, and even an offset to start with the position at zero. Regardless of the method used, when loading it into lidarview, the adjustment of the trajectory and the point cloud seems quite random.

If I repeat the process with the same data, the rotation of the trajectory is different, but almost never close to the point cloud

Also, in most cases the point cloud does not readjust to the new trajectory and many times the software closes suddenly

Is there something I am doing wrong?
According to the documentation, when the pcap carries the gnss data Lidarview does a conversion with PROJ. What type of projection does it use for the conversion? Does it do any other type of transformation?

Thank you very much

Hi,

There are 3 important details to consider here :

  • LidarView does not transmit the GNSS data from the pose reader to the SLAM (similarly as it doesn’t do it for the IMU). SLAM filter only takes input csv files. This link from pcap interpreter to SLAM is something that may be developped
  • The LiDAR only SLAM does not know its orientation relatively to a georeferenced coordinate system. It assumes the first frame sensor coordinate system as the reference. There is an interface to input an initial pose (if you know the pose of the LiDAR in a coordinate system of interest, in that case the one of the GNSS sensor transformed with the LiDAR-GNSS transform)
  • In order to be able to use the LiDAR-GNSS constraint (SLAM needs to be built with g2o), you need to input a calibration matrix (which can be computed). There is a calibration function available in LidarView SLAM interface for GNSS / LiDAR and LiDAR / INS. It requires movement in the 6 degrees of freedom. If known, the lever arm may be used to increase the accuracy. Relevant code may be found here.

Note: To activate Pose graphe optimizaiton, an external sensor file shall be provied, ‘Use Pose Graph’ option shall be enabled and the optimization may be triggers with ‘Optimize Graph’