daobilige-su / loam_velodyne

Laser Odometry And Mapping (LOAM) SLAM ROS package for 3D Velodyne VLP-16 laser scanner
336 stars 197 forks source link

tests folder missing #2

Open quattrinili opened 7 years ago

quattrinili commented 7 years ago

tests folder is missing and as such catkin_make fails. Copying the tests folder from or disabling CATKIN_ENABLE_TESTING fix the problem.

daobilige-su commented 7 years ago

you r right. I didn't enable testing when I tried it, so didn't know get that problem myself.

kobe4545 commented 7 years ago

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?

daobilige-su commented 7 years ago

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.

saimanoj18 commented 7 years ago

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 ?

daobilige-su commented 7 years ago

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

saimanoj18 commented 7 years ago

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!

daobilige-su commented 7 years ago

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

saimanoj18 commented 7 years ago

Awesome! Thanks Su.

Cheers, Sai

ielhmps7796 commented 6 years ago

@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