Download presentation
Presentation is loading. Please wait.
Published byShauna Snow Modified over 9 years ago
1
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach) Subhrajit Bhattacharya MEAM 620
2
SLAM: Completely unknown environment The only sensor data available is that from an on-board Laser Range sensor No GPS or truth data available Tasks: To generate a map of the environment in the local, initial coordinate frame of the robot. To localize itself in the map (i.e. to determine it's own position in its local, initial coordinate frame.) To ensure good coverage (not done in this project) Challenges: Error – causes wrong mapping, which in turn results in wrong localization and vice versa. To decide whether an obstacle being seen now is a new one or one that had been seen earlier (Maximum Likelihood Estimate) etc...
3
Euclidean space and Feature space: The robot has no idea about it's actual position in the Euclidean space It estimates its location only based on the features it see in the world around it Mapping of coordinate grid (robot does not know about this grid mapping) obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid) The actual world in robot's initial local coordinate frame initialfinal Robot's path
4
Mapping of coordinate grid (robot does not know about this grid mapping) obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid) The actual world in robot's initial local coordinate frame O1O1 O2O2 O1O1 O2O2 O1O1 O2O2 Near obstacle O 1, a winning particle, p 1, is close to the robot in both Eucledian and Feature space Near obstacle O 2, far from the initial position, the winning particle, p 2, is close to the robot in Feature space, but not in the Eucledian space initialfinal Robot's path
5
Mapping of coordinate grid (robot does not know about this grid mapping) obstacle shift stretching of coordinate grid due to errors/slippage Map maintained by robot (overlaid on actual world grid) The actual world in robot's initial local coordinate frame O1O1 O2O2 O1O1 O2O2 O1O1 O2O2 initialfinal Solutions: Move between O 2 and O 2 several times and filter out the error (may not be possible, since the error will generally be biased) Close a loop (similar to above) Don't worry too much about it – just be consistent and try to correct, whenever possible! - Localize locally with respect to each obstacle - Maintain a consistent relative position between obstacles (may try to correct) Robot's path
6
The standard way of doing Fast SLAM for world with unknown correspondences involves: Maintenance of an occupancy grid for each particle Use the standard particle filter approach, where the particles do not communicate with each other about their occupancy grids – the control decisions are taken based on the winning particle's map and coordinate Particles are re-sampled and new particles are generated using random perturbations on existing particles – the standard way of doing it!
7
Occupancy grid vs. geometric world 'elements' (primitives) Advantages of occupancy grid: Easy to add data points Easy to detect inconsistencies using visibility, occlusion, etc Quick to add new scan data Disadvantages of occupancy grid: Consumes huge memory Depends on resolution of discretization Probably difficult to combine/communicate with different occupancy grids (from different particles) Why geometric elements? Easy and efficient to store Easy path planning using visibility graph, voronai diagrams, etc which are less computationally expensive Elements are more flexible to changes/updates in the map I liked this approach more and wanted to do it for the project Disadvantages of geometric elements: Lots of geometry involved Updating the elements need to be done carefully Checks for inconsistency needs to be done in geometric way (Skip) (Failure Video - particles don't communicate standard way of particle re- sampling/ generation)
8
Particles communicate with each other: Why? Because at some instants a particle (or its descendants) may be at a good position, and at other instant some other particle (or its descendants) may be at a good position. Need to take advantage of best information contained by any particle at any instant! Assign weights to each geometric element of the worlds/maps maintained by each particle (done while creating/updating their maps) Construct a global world/map using the maps of all the individual particles. Update the maps of the individual particles with information from this global map. (Second failure video Maintain a global map Particles are re-samples/generated in standard way)
9
Generation of particles based on geometric features of the reliable elements of the global map Why? Particle filter relies on the fact that the actual position of the robot (in Feature space) will be somewhat close to the present estimate What if all the particles are FAR away from the actual position of the robot in Feature space? - a possible situation in SLAM when we are re-visiting an obstacle after a long time! (happens upon “loop closure” - something difficult to manage using FastSLAM) Solution: - Generation of particles based on reliable features of the map (Explain on black board) This will work! This will fail! (Final Videos – this one works! Maintain a global map Generate few particles based on geometric features)
10
Plans for future works: Test the algorithm on more challenging and bigger environment Implement better methods for identifying inconsistencies Have multiple robots perform SLAM and send their individual maps to a centralized system. The centralized system will then stitch the maps to generate a global map.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.