MAPPING AN ENVIRONMENT AROUND AN AUTONOMOUS VACUUM
An autonomous cleaning robot (e.g., an autonomous vacuum) may use a sensor system to map an environment that may be used to determine where to clean. The autonomous vacuum receives visual data about the environment and determines a ground plane of the environment based on the visual data. The autonomous vacuum detects objects within the environment based on the ground plane. For each object, the autonomous vacuum segments a three-dimensional (3D) representation of the object out of the visual data and determines whether the object is static or dynamic. The autonomous vacuum adds static objects to a long-term level of a map of the environment and dynamic objects to an intermediate level of the map. The autonomous vacuum may further add virtual borders, flags, walls, and messes to the map.
1 . (canceled)
2 . A non-transitory computer-readable storage medium storing instructions that, when executed by a computer processor, cause the computer processor to perform operations comprising:
receiving, via a camera system implemented on an autonomous vacuum, image data of an indoor environment;
determining a ground plane of the indoor environment from the image data;
detecting, based on the image data and the ground plane, a plurality of objects within the indoor environment and positioned on the ground plane;
classifying each object as a movable object or an immovable object;
for each movable object:
tracking movement of the movable object in the indoor environment,
mapping one or more movable objects to an immediate level of a map based on a vicinity of the movable object to the autonomous vacuum being within a threshold radius, and
mapping one or more movable objects to an intermediate level of the map based on the movable object remaining in position for a threshold of time,
generating a route for the autonomous vacuum to avoid the movable objects mapped to the immediate level of the map; and
actuating the autonomous vacuum to navigate the indoor environment based on the generated route.
3 . The non-transitory computer-readable storage medium of claim 2 , the operations further comprising, for at least one movable object:
classifying the movable object as an animate object including a pet or a human, and
mapping the animate object to the immediate level of the map.
4 . The non-transitory computer-readable storage medium of claim 2 , wherein the threshold radius varies by an amount of light of the indoor environment.
5 . The non-transitory computer-readable storage medium of claim 2 , generating the route for the autonomous vacuum comprises:
identifying the position of each movable object mapped to the immediate level of the map; and
generating the route to avoid the position of each movable object mapped to the immediate level of the map.
6 . The non-transitory computer-readable storage medium of claim 2 , the operations further comprising:
for each immovable object, mapping the immovable object to a long-term level of the map; and
localizing a current position of the autonomous vacuum in the indoor environment based on the immovable objects mapped to the long-term level of the map.
7 . The non-transitory computer-readable storage medium of claim 6 , wherein generating the route for the autonomous vacuum comprises:
generating the route from the current position of the autonomous vacuum to a target position for performance of a cleaning task.
8 . The non-transitory computer-readable storage medium of claim 6 , the operations further comprising:
for at least one movable object mapped to the intermediate level of the map:
determining the movable object has remained in position for a second threshold of time greater than the threshold of time;
responsive to determining the movable object has remained in position for the second threshold of time, reclassifying the movable object as an immovable object; and
mapping the reclassified object into a long-term level of the map.
9 . The non-transitory computer-readable storage medium of claim 6 , the operations further comprising:
for at least one immovable object mapped to the long-term level of the map:
determining an error value in movement of the immovable object over time;
responsive to determining the error value is above a threshold value, reclassifying the immovable object as a movable object; and
mapping the reclassified object into the intermediate level of the map.
10 . An autonomous vacuum comprising:
a camera system comprising one or more cameras configured to capture image data of an indoor environment;
motorized wheels for controlling movement of the autonomous vacuum in the indoor environment; and
a control system configured to perform operations comprising:
receiving, via the camera system, image data of the indoor environment;
determining a ground plane of the indoor environment from the image data;
detecting, based on the image data and the ground plane, a plurality of objects within the indoor environment and positioned on the ground plane;
classifying each object as a movable object or an immovable object;
for each movable object:
tracking movement of the movable object in the indoor environment,
mapping one or more movable objects to an immediate level of a map based on a vicinity of the movable object to the autonomous vacuum being within a threshold radius, and
mapping one or more movable objects to an intermediate level of the map based on the movable object remaining in position for a threshold of time,
generating a route for the autonomous vacuum to avoid the movable objects mapped to the immediate level of the map; and
actuating the motorized wheels of the autonomous vacuum to navigate the indoor environment based on the generated route.
11 . The autonomous vacuum of claim 10 , the operations further comprising, for at least one movable object:
classifying the movable object as an animate object including a pet or a human, and
mapping the animate object to the immediate level of the map.
12 . The autonomous vacuum of claim 10 , wherein the threshold radius varies by an amount of light of the indoor environment.
13 . The autonomous vacuum of claim 10 , generating the route for the autonomous vacuum comprises:
identifying the position of each movable object mapped to the immediate level of the map; and
generating the route to avoid the position of each movable object mapped to the immediate level of the map.
14 . The autonomous vacuum of claim 10 , the operations further comprising:
for each immovable object, mapping the immovable object to a long-term level of the map; and
localizing a current position of the autonomous vacuum in the indoor environment based on the immovable objects mapped to the long-term level of the map.
15 . The autonomous vacuum of claim 14 , wherein generating the route for the autonomous vacuum comprises:
generating the route from the current position of the autonomous vacuum to a target position for performance of a cleaning task.
16 . The autonomous vacuum of claim 14 , the operations further comprising:
for at least one movable object mapped to the intermediate level of the map:
determining the movable object has remained in position for a second threshold of time greater than the threshold of time;
responsive to determining the movable object has remained in position for the second threshold of time, reclassifying the movable object as an immovable object; and
mapping the reclassified object into a long-term level of the map.
17 . The autonomous vacuum of claim 14 , the operations further comprising:
for at least one immovable object mapped to the long-term level of the map:
determining an error value in movement of the immovable object over time;
responsive to determining the error value is above a threshold value, reclassifying the immovable object as a movable object; and
mapping the reclassified object into the intermediate level of the map.
18 . A computer-implemented method comprising:
receiving, via a camera system implemented on an autonomous vacuum, image data of an indoor environment;
determining a ground plane of the indoor environment from the image data;
detecting, based on the image data and the ground plane, a plurality of objects within the indoor environment and positioned on the ground plane;
classifying each object as a movable object or an immovable object;
for each movable object:
tracking movement of the movable object in the indoor environment,
mapping one or more movable objects to an immediate level of a map based on a vicinity of the movable object to the autonomous vacuum being within a threshold radius, and
mapping one or more movable objects to an intermediate level of the map based on the movable object remaining in position for a threshold of time,
generating a route for the autonomous vacuum to avoid the movable objects mapped to the immediate level of the map; and
actuating the autonomous vacuum to navigate the indoor environment based on the generated route.
19 . The computer-implemented method of claim 18 , further comprising, for at least one movable object:
classifying the movable object as an animate object including a pet or a human, and
mapping the animate object to the immediate level of the map.
20 . The computer-implemented method of claim 18 , wherein the threshold radius varies by an amount of light of the indoor environment.
21 . The computer-implemented method of claim 18 , generating the route for the autonomous vacuum comprises:
identifying the position of each movable object mapped to the immediate level of the map; and
generating the route to avoid the position of each movable object mapped to the immediate level of the map.