I own a “Neato XV Signature” vacuuming robot.
And I have written about it before, in
This Posting and
This Posting and
This robot vacuums the greater proportion of my floors, three times per week. As it does so, I frequently observe it, although in some cases I trust it to do so while I am not at home.
There is an aspect to how this robot is programmed to map out the space it has been assigned to vacuum, that defies human common sense, but that seems to serve its purpose. The robot starts out on the assumption that it will vacuum a large, unknown space, which is too large to process in one attempt. And so it subdivides the space into sub-regions, as it is mapping the perimeter of each sub-region. After having mapped the perimeter of each sub-region slowly, the robot performs linear parallel passes through the area inside each region at a faster speed, that eventually cover this entire inner space. And, if the robot encounters additional obstacles in each space, it deals with those, using logic that already worked on the perimeter.
Once each sub-region is complete, the robot ventures to the boundary of the current sub-region, and starts to map a new one.
It seems inconsistent with this scheme, that as the robot starts to map a new sub-region, it actually seems to make a diagonal foray of random distance into the interior of the as-yet unexplored sub-region. However, this is what the robot has been programmed to do, and then to proceed outward from this new position, until it encounters the perimeter…
By making certain moves which seem to have this pseudo-random character, I suppose the robot reduces the risk of leaving spaces consistently uncleaned. It does not actually map its entire space exactly the same way every time. But, I also find that the robot does not miss any spaces within the larger space it has been assigned to vacuum.
At the same time, the amount of time needed to complete the entire assigned space also varies greatly from one day to the next. And this can cause me some anxiety, if I happen to be watching the job in progress.
However, the overall track record of this robot is very good in my experience, so that I eventually do trust it to keep doing its job.