For many of us, robotics is still an application largely confined to the factory or warehouse. As we can see, the press reports about personal robot assistants and a bigger role for robots in hospitals sound like good ideas, but they still seem to be in the future and not in the near future. Although it has already started to be put into practical use. Household robots are now doing some basic chores. Delivery drones are starting to appear. An innovative Danish company is attacking novel Coronavirus with robotic UV disinfection devices, which are now in use in some Chinese hospitals.
The "magic" behind all autonomous robots comes from VSLAM (simultaneous localization and map building). VSLAM can learn to navigate quickly in unfamiliar territory. But VSLAM is not based on machine learning, as might be expected, because certain aspects of the field can and will change dynamically (you can move furniture or the dog decides to sleep in the middle of the floor). Instead, VSLAM relies on more traditional techniques, especially computer vision, and some very heavy linear algebra.
To navigate like a robotic vacuum cleaner, VSLAM needs to estimate the camera's trajectory and create a map. It needs a map to predict the trajectory of the camera and then draw a map based on that trajectory, so these steps need to be implemented simultaneously. The map is far from exhaustive, and consists of a very sparse set of points along the path through three steps: trace, map, and closed-loop. The basic tasks of tracking include finding feature points, fitting motion models, and preparing maps, all of which must be processed at fixed points and run at real-time speed. The map runs on a subset of a set of frames but performs a linear equation represented by matrix-like multiplying hundreds of floating-point numbers, not as fast as tracing, but still close to real-time.
Visual perception must be enhanced by other forms of perception, such as distance or time sensing from the Time of fly sensor to avoid bumping into a dog or TV. In addition, robots can get stuck by low obstacles, floor supports for chairs, or boundaries between floor and carpet. To deal with such situations, the robot needs a 6-axis sensor to detect areas of tilt that could cause the robot to get stuck, and should try different paths. Robots often also include optical flow sensors (such as those that track mouse movements) and so on. These additional inputs improve the accuracy of VSLAM processing, but they must be intelligently calibrated and fused to ensure actual improvements inaccuracy. Camera-based tracking must also incorporate inertia and other types of sensing so that when a robot enters under a bed or table, it can continue to follow a reasonable path.