Overview of mobile robot mapping types
Have you ever visited a tourist information center to grab a map when visiting a new town? If you have, then you likely love looking at maps and orienting yourself to a previously unknown location.
Similarly, mobile robots also need maps to get a sense of the environment they are operating in. Among the various deployment challenges we have already looked into, maps are not always given a priori, and if they are, they are only as detailed as the knowledge available to the human expert creating them. So, what are the various types of mapping approaches in robotics and more specifically for mobile robots?
What types of sensors are needed to making a map?
As the map is a spatial model of the operational environment, a robot needs to have sensors on board to be able to perceive the environment and build a map. These could include a mix of the following types of sensors:
How to represent the sensor information?
All the raw data sensed by the sensors (could be multiple sensors) is not used as is. They are processed to extract features, which are then used for making a map. Features are the basic structural elements in the map which are given labels depending on their significance.
An example of image feature could be the edges or corners extracted from a particular image frame. The benefit of feature extraction is that it reduces the amount of data which can result in maps that are easier to interpret and use.
What are the various types of maps?
Given the sensor inputs and the means used to represent the acquired information, there are a few different types of maps that exist in the environment, such as:
Metric Maps: This map represents the environment with metric information like position, distance, and angle from the reference point. They have exact measurements and could be considered an accurate 3D representation of the environment.
Topological Maps: This particular type of map does not take into account the exact positions, but rather uses relation between various points to represent the environment. This map is helpful when performing navigation tasks.
Topometric Maps: This map is a combination of a metric and topological map. It uses precise coordinates to measure position but also represents the environment using relations between points.
Semantic Maps: These maps include additional information on the types of objects or surfaces present in the environment. They also might include information regarding the objects’ shapes, sizes, materials, etc
What is the process of building a map?
The process of building a map is simply known as mapping. Sometimes you might come across the term robot mapping or robotic mapping which represents the process of a robot moving around in its environment gathering sensor data to build a map.
Here is how a typical robotic mapping process would look like:
Step-1: Selecting sensors for downstream task
Given the downstream task a mobile robot is required to perform and possibly the budget constraints, we can settle for the sensor suite that are to be made available to the robot. Often times, this would mean more than one sensors on board spanning both exteroceptive and interoceptive sensor types.
Step-2: Selecting map representation
Given how the robot intends to use the path and what kinds of decisions it would need to make to successfully accomplish the downstream task, one of the aforementioned map representations needs to be chosen a priori.
The robot can likely move around in its environment to autonomously gather sensor data but would not know what to do with it unless it knows what map representation to opt for.
Step-3: Significance of mapping
The granularity of the map being built is governed by the end use for the map. For instance, a robot map need a globally consistent map to plan end-to-end paths or might only need local maps to avoid immediate obstacles on it way to the goal.
This in turn governs the precision and accuracy of the map itself and hence, the decisions that are based on the quality of information therein like the likelihood of successfully making to the goal without collisions.
Step-4: Iterative map updates
As the robot moves around and acquires new sensor data, the map constantly needs to be updated.
What are the challenges in mapping?
Apart from the technical challenges such as accurate sensing and computing power, there are a few other challenges that plague mapping for mobile robots as well. These challenges include:
- Inaccuracy: Even with the best of sensors and algorithms , it is difficult to achieve a truly accurate map. This can be attributed to noise in the environment, the finite resolution of the sensors, obstacles in the field of view of the sensors, and dynamic nature of the environment.
- Data Association: This is the challenge of associating the sensed data with the right objects in a scene. In other words, this is also the issue of perceptual aliasing or wrongly interpreting observation due to noise or other reasons.
- Scalability: Many mapping algorithms fail to scale when the environment to be mapped is large or amount of data to process is too much.
- Robustness: Different algorithms can behave differently when subjected to different kind of maps or environments. An algorithm may work well for one type of environment but might be extremely fragile in another.
- Dynamic environments: Map building algorithms are yet not able to capture the changes in the environment accurately or quickly. Even when an algorithm is robust for a stationary environment, it might fail when the environment changes dynamically.
- Generalizability: Different environments have different characteristics and not all algorithms are able to be generalized and work in multiple scenarios. Also, different maps may require different architectures and algorithms to work efficiently.
- Memory constraints: As the robot acquires new sensor data over time, a lot of memory and computation power is required to store and process it to update the map. This can be a significant issue given the limited resources robot usually has at its disposal as the map grows with time.
- Coordinate transformations: A robot build a map with respect to its own (local) frame of reference . This map needs to be converted to a global frame of reference before it can be shared or used to achieve other objectives.
This is a tricky process that needs to be done accurately and the transformation from the local to the global frame of reference may not always be known a priori and might need to be inferred thereby inducing errors.
To sum up, robotic mapping can broadly be categorized into different types based on the sensors used, the output language of the map and the challenges faced while creating them. Some of the major types are topological, grid, probabilistic and semantic maps. They each come with their own set of challenges and benefits. While the challenge of mapping is immense and sometimes insurmountable, it is a key factor for success for robotic navigation and mapping.