-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Regarding the parameter num_subdivisions_per_laser_scan #627
Comments
Please provide more information, as noted in https://github.com/googlecartographer/cartographer_ros/blob/master/.github/ISSUE_TEMPLATE. We would need a bag file to help in this case. The only thing I can say without seeing the data is that I'd first try to accumulate 1-5 rotations worth of scan data for scan matching, and subdivide scans into subdivisions shorter than 0.01 seconds if messages do not contain per-point time increments. |
Closing until we have more to go on. |
I have recently continued work on my project for which I am using cartographer. I now realize that the problem was with my own limited knowledge about laser scanners. I never realized that moving scanners can lead to distorted (with respect to the real world) laser scans, though it should have been pretty obvious if I had given it enough thought. |
IIRC Cartographer does not use velocities from odometry at all, so anything could be filled in there and it should not matter. |
|
@gaschler take a look how that's computed, it's not using the twist field from odometry, but rather differentiating the pose from odometry: |
Right, it takes the difference of odometry poses. Sorry for the confusion. |
Thanks. Actually, I recently found another possible reason why the scan-matching wasn't working very well. My laser scanner driver was reporting incorrect values within the |
This is in preparation of changing the data structure for IMU data away from a deque. Needed for localization and life-long mapping.
Hello,
I have been trying to use cartographer for indoor SLAM using a 2D LiDAR (10 scans/sec) and visual odometry (no IMU). Since my 2D LiDAR does not produce multi-echo laser scans, I set
num_laser_scans = 1
,num_multi_echo_laser_scans = 0
&num_subdivisions_per_laser_scan = 1
, in the configuration file used in your 2D demo. I set up the remaining parameters appropriately and was able to get the node to generate maps.However, the results were horrible and no amount of tuning seemed to fix it. After trying to debug things for almost a day, I ended up noticing in Rviz that the laser scans were being displayed 10 at a time (bundled together), and updating only once per second. I changed the value of
num_subdivisions_per_laser_scan
back to 10 and the issue was resolved.Based on the documentation here, I thought that the earlier value of 1 was correct for my case. However, I now believe that this parameter refers to the number of scans per second and not what the documentation describes.
Please change the documentation/code as you see fit (or guide me if I am doing something wrong).
EDIT: The documentation mentions that this has something to do with the
num_accumulated_range_data
parameter, but I don't know what it does. Why is this parameter set to 10 inbackpack_2d.lua
? Are you combining 10 scans and then splitting them?The text was updated successfully, but these errors were encountered: