Amazon's Astro robot is now a year old. It's a little knee-high version of Alexa with a camera and display that walks about your house like a pet.
Astro is not a product yet, since it doesn't really add much value beyond what Alexa and a few webcams around your house could do. But as a technology demonstrator, it is a superb example of a mobile robot built to be robust enough for people to use.
There are many, many interesting things to talk about when it comes to a microphone and camera roaming about your house, controlled by a corporation. But I'm not going to discuss those here. I'm going to explain one technical feature that puts Astro far ahead of other mobile robots.
When Astro opens its eyes for the first time in your living room, it has never seen your home before. It's a maze. Astro needs to start remembering landmarks it sees and build a floor plan in its mind.
This activity is called mapping.
Note that mapping is not essential for all mobile robots. The earliest Roomba vacuum cleaners, for example, never bothered to build a map at all. They just randomly moved around until they bumped into obstacles, relying on sheer chance and sufficient time to cover the whole floor. We believe that many insects work in this reactive way.
But Astro needs to move in a purposeful way and plan its activities before it performs them. Hence, it needs to build a map.
In a real house, the maze does change. Furniture gets moved around; backpacks get thrown on the floor and later picked up. This means that mapping is not a one-time activity. Astro needs to keep this map updated as it moves around.
How does a mobile robot build a map?
It looks around using its sensors (cameras or obstacle sensors). When it recognizes an interesting feature, say the corner of a ceiling, then it observes the feature from multiple vantage points and uses trigonometry to estimate how far it is. These recorded positions of various landmarks form its map.
And how do you estimate your own position as you move?
If you just count your steps, then your estimate becomes less and less accurate as time goes by. Even a small error in estimating your heading adds up to a big error in your final position estimate. The only reliable way to estimate your own position is by comparing it with known landmarks.
This is a chicken-and-egg problem: estimating your own position ("localization") requires landmarks, which you can't use until you've mapped them, for which you need your own position.
Mobile robotics researchers have been studying this problem for decades. What it calls for is simultaneous Localization and Mapping, or SLAM.
SLAM is a systematic method to gather observations about your surroundings so that you can both build a map and estimate your own position in it, at the same time.
The trick is to record both the estimate itself and the uncertainty about the estimate. When you wander back to the same landmark and find it's in a slightly different position, you can use these uncertainties to improve your estimate of where the landmark really is.
This is easier said than done. It requires you to choose mathematical representations for obstacles, landmarks, and uncertainties. Many improvements have been made in this technique over the years. Software is now available for mobile robots to use, although every technique has limitations and needs to be adapted to the sensors and what the robot is trying to do. Some modern robot vacuum cleaner models come with cameras and SLAM capability.
The developers of Astro made a novel improvement in the ability of software to perform SLAM more effectively for home robots.
Because of their efforts, Astro is able to navigate around in your home and follow directions without getting confused, better than most other home mobile robots. This improvement will enable mobile robots of the future to walk around more intelligently.