Hi,
I’ve been doing some testing with SLAM inside LidarView, using data acquired with a Hesai Pandar XT32 and a GNSS/INS positioning unit (IMU) from which we can obtain a post-processed tightly-coupled trajectory. First of all I want to say that I’m extremely impressed with the results in a lidar-only test case, as the registering of overlapping drivelines is practically seamless and even longer stretches of straight road with little geometry cause little XY deviation.
I have however run into some issues that I would like to ask help with:
- I have so far been unable to integrate the postprocessed GNSS/INS trajectory. I have converted the trajectory to a csv that looks like this:
Time,X,Y,Z,Rz,Ry,Rx
1744611187.003185,180220.72746252423,448140.8107820237,23.98793640492724,3.092427497477753,-0.0251676478137583,-0.0131597825600371
1744611187.008185,180220.7273933219,448140.8108929326,23.987936405969265,3.09244495075656,-0.0251676478137583,-0.0131772358525572
1744611187.013185,180220.72746196107,448140.8108932798,23.98793640573993,3.092444950770452,-0.0251676478137583,-0.0131772358525572
I’ve also created the calibration matrix file. Adding the trajectory as described on the LidarView SLAM manual page does appear to work and only generates a warning stating that the caibration matrix has been read. But when I then do the SLAM processing, it does not seem like the trajectory gets used and all output remains close to the origin. I also tried just setting an initial pose XYZ that is close to the starting position in our national grid, but once again the resulting point cloud stays close to 0/0/0.
Would it be possible to get a slightly more detailed description of how to integrate an external trajectory? What is the exact file format required? Should the calibration file contain the position/orientation of the lidar scanner in the IMU body frame, or the IMU position/orientation in the scanner frame? What are then the required settings and processing steps to get an improved trajectory and point cloud in the IMU trajectory’s coordinate system?
-
There are some issued with the LAS export. The timestamp is not written to a point’s timestamp field, but added as an extra custom field. There also seems to be a precision issue (the Hesai uses Unix timestamps) that causes timestamps in large discrete steps instead of the desired millisecond precision. The “write timestemps as file-series” option also generates multiple file with mostly identical content, possibly because of this precision issue. Inside LidarView, the timestamps seem to be OK.
-
Is it possible to do SLAM processing in batch? The bin folder contains an lvbatch.exe and an lvpython.exe, but no information on how to use these.
I’ve been using a recent nightly build (5.1.0-33-gb21aecfa) as this appeared to resolve the issue with importing Hesai calibration files, as described in another topics.
Any help would be greatly appreciated!
Toby