-
Notifications
You must be signed in to change notification settings - Fork 357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose a bunch of integrator settings to improve LIDAR performance. #239
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Hahaha. Excellent question. These are apriltags on posts: What's still not reconstructed is the thin post between the tags, working on a weighting scheme to allow better reconstructions of very thin objects. |
IMPORTANT USAGE NOTE: this tuning is for static environments. The |
@helenol THX. Is that railing really considered very thin? I remember that we can construct this kind of object very easily while using xtion with voxblox. Ha, the mask approach is brilliant, though we always implement rovio/rovioli with the base in the view on our wheeled robot and the VIO still works quite well. I also notice that you guys used orbslam with voxblox to reconstruct the machine hall scene as the output example. From my personal experience, ASL housemade VIO(rovioli) is much more robust/stable then orbslam (I think the only pro for orbslam might be it can directly leverage RGBD data which can get rid of some scaling problem when the VO system move in a constant speed without the help from other sensors), so why did you prefer orbslam over rovioli when you implemented that example? |
@bx237 Re: ORBSlam we needed a system with online loop-closures for this paper: https://arxiv.org/pdf/1710.07242.pdf Re: rovio masking: I would encourage you to try out the mask if you see any robot structure in your FoV, my very limited evening of experience seems to indicate it decreases drift and increases robustness (rovio looking at props in a dusty, dark, crappy mine with masking seems to work better than rovio looking at tiny bits of the drone's arms in a nice, feature-rich well-lit environment without masking). Re: dynamic environments. Most of our applications are in static or "slowly dynamic" environments, where we assume things change slowly or not at all. So, i.e., filtering the safety pilot who is constantly moving around is important to us, but we do not expect large changes in structure like what you described to take place. In these cases yes a much smaller max_weight is much more appropriate. |
@helenol Thank you for the detailed reply. I will try the mask approach. You guys are making marvelous things. Keep it up! |
Expose a bunch of integrator settings to improve LIDAR performance.
Based on feedback that there are issues with laser mapping, most notably:
(1) holes in the ground, and
(2) destroying small objects.
We now expose more parameters and tentatively recommend the following settings for laser mapping:
Before, mine dataset, 10 cm voxels:
After, same dataset, 10 cm voxels:
IMPORTANT USAGE NOTE: this tuning is for static environments. The
sparsity_compensation_factor
trades off between confidence of clear rays vs. voxels in the truncation distance (a factor of 10 = 10x more confident in occupied voxels than in free voxels). This will mean in dynamic environments, it will take longer to clear space for occupied objects. Please tune appropriately for your application. ;)