Open quattrinili opened 7 years ago
you r right. I didn't enable testing when I tried it, so didn't know get that problem myself.
When I run the "nsh_indoor_outdoor.bag",it will show"NaN found in var "matX", this L-M optimization step is going to be ignored."So the result is not good?Does the example has problems?
Hi, that sentence means the L-M optimisation in that step (either 10 Hz Laser Odometry process or 1 Hz Laser Mapping process) didn't converge. If I remember correctly, the optimisation might have reached its singularity point, therefore, it got an "NaN" value. The effect of this will definitely degrade the performance of the system since data at that time instance is dropped. A solution might be finding out why the L-M optimisation is not working (if it is close to the singularity, can we use optimisation on manifold? or is it due to not enough features are detected? or is it due to the failing of feature correspondence? etc. ) Dropping a few frames might not be too critical, but continuously dropping many of them will make system fail eventually.
Hope this helps.
Hi Daobilige, May I know what changes did you make to laboshnil code ? Because, I am working on few datasets and the algorithm diverges or drifts sometimes.
Did you solve the error ? "[USER WARN]laser Odometry: NaN found in var "matX", this L-M optimization step is going to be ignored. " If yes, how did you solve it ? By just adding some work around to skip the data on that current frame or step ?
Any other changes that you made ?
Also I m looking for LOAM velodyne code for Velodyne HDL 32. Could you suggest where I can get actual source code that contains implementation for Velodyne 32 ?
Or else what changes do I have to make in this source cide to make it work with HDL 32 ?
If I remember correctly, the warning message "[USER WARN]laser Odometry: NaN found in var "matX", this L-M optimization step is going to be ignored." and consequent dumping of NaN data is the only essential change I made in the original code.
The warning message is not error, it just throw away data which contains NaN after the the optimisation. The warning message is just to keep the software continue running.
The package sometimes does not converge for some dataset, especially in the structured indoor environment. I personally experienced it as well.
Unfortunately, I am not working with Velodyne sensor any more (I am focusing on vision and deep learning stuff in recent 2 years), so I am not up to date with laser slam packages and don't really know a package that is designed for HDL 32. Sorry for that.
Good Luck.
Su
Thank you Su! Wish you good luck :)
Small question is that, you have mentioned that you edited the original code. Did you change any transformations ? When you worked on the code, was it already adapted for VLP 16 ?
Thank you!
No worries.
I didn't make any algorithmic level change in the code. So all transform should be the same as the original code. The only difference should be the situation when NaN arrives, in which the original code will get a "segmentation fault" or something like that, but this code will throw a warning, dump this data and continue.
Yes, the package is already written for the VLP16 when I use it in the first time.
Cheers,
Su
Awesome! Thanks Su.
Cheers, Sai
@saimanoj18 Hi saimanoj18,sorry to bother you since you commented...I have met the warning "[USER WARN]laser Odometry: NaN found in var "matX", this L-M optimization step is going to be ignored." Did you know what caused this warning ? Looking forward to your reply~thx
tests
folder is missing and as suchcatkin_make
fails. Copying thetests
folder from or disablingCATKIN_ENABLE_TESTING
fix the problem.