
The gmapping ROS package uses the Grid-based FastSLAM algorithm. With the known poses from SLAM and noisy measurements, the mapping algorithm generates a map fit for path planning and navigation. After SLAM the occupancy grid mapping algorithm uses the exact robot poses filtered from SLAM. Mapping, however, happens after SLAM.ĭuring SLAM the robot built a map of the environment and localized itself relative to it. Usually though the poses are unknown which is the case in SLAM. The occupancy grid mapping algorithm can estimate the posterior given noisy measurements and known poses. $z_t$, which are nodes representing the measurements of sensing the environment and the poses $x_t$ also as nodes. The problem can be represented as a graph with a node $m$ as the map, The problem of generating a map under the assumption that the robot poses are known and non noisy is refered to as mapping with known poses. In such a case robot odometry incrementally accumulates an error, which results in a large error at the end of the cycle.
#Occupancy grid mapping full
Therefore, the challenge is to estimate the full posterior map for maps with high dimensional spaces. But even with these approximations the space of all possible maps will still be high. To overcome these challenges, the occupancy grid map algorithm presents a discrete approximation of the map. The space is highly dimensional because maps are defined over a continuous space. This is the space of all possible maps that can be formed during mapping. To map an environment, the robot pose is assumed to be known and the occupancy grid mapping algorithm can be used to solve the problem. For example repetitive environments such as walkways with no doors or similar looking ones. Other challenges are the space and its geometries that should be mapped. Additional uncertainty is present through sensor data perception. This can lead to infinitely many variables used to describe the map. In localization, only the robots pose is estimated with its $x$ and $y$ position in a known environment, where a map was previously generated.Ī map on the other hand lies in a continuous space. The challenges in mapping are the number of state variables. This is a correction to account fo the noise and to obtain a high accuracy map. In dynamic environments obstacles in the environment change and the robot has adapt to these changes by updating its map.īecause sensor measurements are always noisy, also static environments need to be mapped. Mapping is required in dynamic as well as static environments. In mapping problems the robot pose $x_$.Ĭompared to localization, where a robot pose is estimated in a known map, the goal of mapping is to estimate the map itself. The algorithm can map any arbitrary environment by dividing it into a finite number of grid cells.
#Occupancy grid mapping how to
This post describes how to map an environment with the Occupancy Grid Map algorithm.
