Step 1: Autonomous Mobile Robot Mapping
In this section, you will learn about:
- Mapping strategies for mobile robots
- What localization means
- How to recover your system when it gets lost
I Map, therefore I am - Desrobotis, 21st century
Simultaneous Localization and Mapping (SLAM) is a core function for the safe navigation any autonomous mobile robot. Most mobile robots today leverage at least one LIDAR scanner on the vehicle to see what’s in front of the vehicle. Data from sensor is used as an input to the SLAM functions of the software and used to build a map of the facility.
Let’s break down what SLAM really means for the operation of a mobile robot. First of all, mobile robots can operate in either a structured on an unstructured environment. The environment may also be a mix of structured or unstructured elements. A structured environment is one which is clearly defined and without (many) variables in the path of the robot. Examples of a “variables” (from the robots perspective) include: people, boxes/crates, fork trucks, doors, elevators, or other mobile robots.
On the other hand, an unstructured environment is one which contains many variables and which is constantly changing. An example of a highly unstructured environment would be a warehouse full of fork trucks and people (constantly moving pallets), a manufacturing floor, an office building or a hospital.
AGV’s have classically operated in highly structured environments. By sticking to predefined paths and following magnetic tape or magnets in the floor for guidance, an AGV can traverse this environment safely without the concern of having any internal map of the facility. On the other hand, to operate autonomously in an unstructured environment, an AMR has to generate and maintain a map of the facility and keep track of where it is currently located within the facility. A robot which is turned off (or runs out of battery power), may wake up and be confused about where it is currently located. The easiest way to build and maintain a map of facility is to use LIDAR data to see and understand the world around the robot. The AMR can then compare sensor data to estimate where it thinks it is in the facility and to keep itself “localized” on the map.
AMR’s operating outdoors have the advantage of using GPS data to help provide location data, but they have other navigation issues to worry about as outdoor operation is highly unstructured.
The first step in SLAM, is to map the facility. This typically requires that an operator walk the robot robot around the facility while the robot maps its motion and builds an internal map of facility. Alternatively, some AMR’s can autonomously map a facility by driving (slowly) around the facility and using the sensor data to avoid obstacles and map the facility. Mapping is best done when there are as few variables (i.e. people, fork trucks) as possible in it’s view. Furthermore, most AMR mapping procedures require an operator to review the facility map generated during the mapping process. During the editing process, the operator will delete erroneous elements in the map and edit in map features which help the robot understand how to path plan through the facility. Map features might include “no go” zones (i.e. offices, aisles, hallways), one-way corridors, speed control areas and door opening points, etc.
Once the AMR has mapped the facility, it can begin operation by first being “localized” to a specific location in the map. This step is critical when there are regions which are similar on the map. For example, the robot might not know which corner or hallway it is starting in. However, once localized, the robot can maintain its localization (the “simultaneous” part) while navigating the facility. It’s the same way that you drive your car, starting from a known location (e.g. your house) and then choosing a path to the store. Along the way, you check the streets to make sure that you’re on the right path. Robot who lose their localization can become “lost” which generally results in the mobile robot stopping its journey and reporting an error to its operator.
Another feature of SLAM is how the robot chooses to integrate new data into its map as it navigates throughout the facility. For example, if a fork truck is parked in a aisle which the robot has already mapped, how does the robot know that the fork truck is a permanent feature or a temporary feature of the aisle? And what does it do with the information which it has just seen?
How an AMR uses new information and whether it integrates it into the facility map is unique for each AMR vendor. Also, when multiple AMR’s are operating in a facility, new information may be shared the other AMR’s in the facility so that they can path plan around an obstacle.