What is SLAM?
SLAM stands for Simultaneous Localization and Mapping. The goal of SLAM is to build a map while you are moving in it. To accomplish this, the robot must continuously create an internal representation or model of what it observes with its sensors (e.g., lasers, cameras), estimate how far away objects are, find unique features to identify them in different observations and use all of the data combined to keep track of where it is in space something like a GPS system for robots.
The point of using SLAM algorithms is that they can be used on mobile robots operating in dynamic environments such as factories and homes. Mapping algorithms can get expensive without SLAM since they require various imagers to capture the same area from different positions.
The most famous SLAM developers are Intel, Google, Tesla, Dioram and others.
SLAM technology has been applied to a number of different mobile robotics applications including autonomous vehicles, coordinated exploration for multi-robot systems, and indoor mobile robot localization and navigation. In the latter case, image sensors such as cameras or lasers are used as input to produce a real-time map that can be combined with sensory information (e.g., odometry) about the robot’s motion through its environment.
This allows robots to avoid obstacles or choose efficient paths when moving through cluttered areas; it also enables people to control the robots remotely to better understand how their actions affect the movement of robotic agents around them.
Some SLAM algorithms like ORB-SLAM were developed using purely visual data (i.e., cameras), and can now be utilized with laser scanners as well; the only sensors that are commonly deployed on mobile robots, however, are those used to perform SLAM (e.g., stereo cameras).
Okay, now that we’ve gotten the basics out of the way, let’s talk about some cool details. Some important things to note are that common approaches for mapping an environment generally fall into one of two categories: grid-based vs. feature-based approaches.
Grid-based methods use a 2D or 3D grid for each sensor (e.g., camera) location where consecutive grid cells represent neighboring parts of the space or map being reconstructed by the robot; features are identified by checking how many grid cells intersect.
In contrast, feature-based methods build a 3D map where the key focus is the identification of interesting points in the map (e.g., corners, doors) and how these points relate to one another in space; each point is described using its own coordinate frame, which will generally correspond with 2 or more images in the case of visual SLAM or laser scans in 3D when working with non-visual data.
SLAM in a Delivery Robot
The vision of this project is to develop a system for making smart decisions about delivery routes by delivering objects autonomously from one location to another. In this context, an object might be a pizza, Chinese food, or any other item that needs to be transported as part of the logistics process.
The goal of these kinds of systems is to use odometry and range sensors (e.g., lidar) to generate maps and then SLAM algorithms so that after taking measurements, we can decide where we should go next on our way to finish the job.
A delivery robot is a mobile manipulator (“mobile robot”) designed to transport objects from one location to another, usually on a predefined route. Delivery robots may be autonomous or teleoperated. The design of delivery robots differs from that of conventional industrial robots, as the latter is optimized for high-speed stand-alone operation with precise positioning and manipulations.
In contrast, delivery robots have to operate in open, uncontrolled environments such as sidewalks and pedestrian roads alongside other pedestrians, bicyclists, cars, and trucks. A key difference with industrial manufacturing robots is the requirement for sensing and decision making under uncertainty about the environment around them (as opposed to being embedded in a controlled factory environment), which complicates perception – particularly localization – navigation control algorithms, and requires more flexible control architectures.
Delivery Robots can be Autonomous or Semi-autonomous:
Semi-autonomous assistance to the operator is particularly useful for smaller mobile manipulators (e.g., ground robots) that are not large enough to carry around an on-board computer (the bulk of current systems designed by universities), but which need some form of supervision in case something goes wrong or changes happen unexpectedly.
This can include preprogrammed navigation paths, GPS waypoint navigation, remote guidance using a smartphone, etc. Smaller robots also mean better mobility around tight spaces than many larger counterparts, making them more functional for urban environments with crowded sidewalks and roads where the robot needs to interact safely with pedestrians.
Benefits of using SLAM for Delivery Robots
- Smoother navigation with less abrupt stop and starts. This is important because it reduces the level of noise, which is particularly useful in areas where there are lots of pedestrians nearby. It also means that people (both humans and animals) can understand what they need to do to avoid your robot in case something goes wrong; if you were driving really fast all over the place, collisions may be inevitable even though nobody was technically at “fault.” This makes SLAM technology very attractive for delivery robots.
- Ability to adapt quickly to changes in traffic patterns or other situations on the fly is key when working alongside human beings who cannot be relied upon always act rationally! Using map data will also help your robot readjust its “route” in case there are temporary obstructions. For example:
- Ability to navigate in dynamic environments. An important consideration for delivery robots operating in busy and crowded areas such as train stations, supermarkets, restaurants; even if the environment is not always changing (e.g., a factory) it might be an obstacle course when delivering items there! A good S W will allow you to determine where best to position yourself next (if at all), or how to proceed safely given limited knowledge of what’s around you. SLAM helps identify objects and detect potential obstacles before they become real ones so that we can avoid them taking the safest course possible. Efficient sampling and planning algorithms mean our deliveries can stay on schedule.
- Accurate localization (especially indoors) means quicker deliveries. When you’re in unfamiliar territory, it’s useful to know where you really are! Not only does this save time but also reduces stress for the delivery robot and its operators. SLAM algorithms can be used to localize with high precision by integrating data from multiple sensors into a single estimate of state; they also aid in tracking by fusing odometry information with visual appearance information obtained from image sequences or laser scans during the process of mapping an environment.
SLAM technology is clearly useful for delivery robots, but it’s important to understand that “Slam” can refer to a variety of algorithms with different properties. The next two blog posts will illustrate the difference between Simultaneous Localization and Mapping algorithms (SLAM) vs Receding Horizon based methods of robot mapping.