CPC G01C 21/30 (2013.01) [A47L 11/4011 (2013.01); G01C 21/165 (2013.01); G01C 21/206 (2013.01); G01S 17/89 (2013.01); G05D 1/0088 (2013.01); G05D 1/0219 (2013.01); G05D 1/0272 (2013.01); G05D 1/0274 (2013.01); G06T 7/11 (2017.01); G06T 7/30 (2017.01); G06T 7/55 (2017.01); G06T 7/62 (2017.01); H04N 23/00 (2023.01); A47L 2201/022 (2013.01); A47L 2201/04 (2013.01); G05D 1/0242 (2013.01); G05D 1/0246 (2013.01); G05D 1/0255 (2013.01); G05D 1/0257 (2013.01); G05D 2201/0215 (2013.01); G06T 3/0068 (2013.01); G06T 7/521 (2017.01); G06T 2207/10028 (2013.01)] | 17 Claims |
1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:
processing, with the one or more processors, a stream of images of spatial surroundings of a robot navigating within a workspace, the stream of images being based on at least output of a first sensor;
obtaining, with the one or more processors, data indicative of the robot's position in the workspace, wherein obtaining data indicative of the robot's position in the workspace comprises at least:
obtaining, with the one or more processors, first pixel data based on at least the stream of images; and
determining, with the one or more processors, change of pixel intensities of pixels as the robot moves within the workspace, wherein a grid map of at least part of the workspace expands as new areas of the workspace are covered by the robot and image data of the new areas of the workspace are obtained and used by the one or more processors to update the grid map;
obtaining, with the one or more processors, a stream of movement data indicative of the robot's displacement in the workspace, the stream of movement data being based on at least output of a second sensor of different type than the first sensor;
obtaining, with the one or more processors, depth data from a third sensor, the depth data being indicative of a distance from the robot to a perimeter or obstacle in the workspace; and
determining, with the one or more processors, cleaning operations of the robot based on data from prior work sessions, wherein the data from prior work sessions comprise at least scheduling data including at least days and times of prior work sessions and preferences;
wherein the robot is paired with an application of a communication device configured to:
receive at least one input designating a modification to the grid map; a task to perform in a particular zone within the grid map; a new zone within the grid map; a cleaning intensity wherein possible cleaning intensities comprise deep cleaning and regular cleaning; a cleaning frequency; an area within the grid map the robot is to avoid; a vacuum power; a cleaning schedule of the robot; and an instruction to activate or deactivate a cleaning tool; and
display an error; completion of a task; cleaning statistics; a battery level; and the grid map.
|