Conversion of cleaning robot camera images to floorplan for user interaction
First Claim
1. A method for providing a floorplan populated with images captured by a floor-traversing cleaning robot, comprising:
- providing a camera mounted in the floor-traversing cleaning robot sufficiently high in a robot housing to provide an angled view downward at a floor;
creating localization data using a SLAM algorithm to localize the floor-traversing cleaning robot;
creating a rectilinear grid of the floorplan using the localization data;
capturing a series of images of the floor with the camera at different locations as the floor-traversing cleaning robot traverses the floor;
determining a location of the floor-traversing cleaning robot for each of the images;
tagging each of the series of images with a location of the floor-traversing cleaning robot at a time of image capture;
cropping each of the images to identify at least one image segment in each of the images;
transforming the image segment from a robot camera perspective view to a planar view;
populating rectangles in the rectilinear grid of the floorplan with each of the image segments at the robot location in the planar view to provide an image populated floorplan, with an offset corresponding to a difference between the robot position and the position of the image segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan;
displaying the image populated floorplan to a user; and
accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing cleaning robot;
wherein the field of view of the camera begins 5-25 centimeters in front of the floor-traversing cleaning robot.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method is disclosed for a robot (e.g., cleaning robot) to produce a bird'"'"'s eye view (planar) map by transforming from a robot camera view and stitching together images tagged by location. The planar map can then be presented on a user interface as a floorplan, showing the location of objects (such as rugs). A camera is mounted in the cleaning robot sufficiently high in the cleaning robot housing to provide an angled view downward at a floor. The camera'"'"'s field of view is captured as an image, and a portion or segment of that image is cropped. The cropped segment is transformed from the camera perspective to a planar view (before or after cropping), and is combined with other images to form a map of a floorplan.
29 Citations
18 Claims
-
1. A method for providing a floorplan populated with images captured by a floor-traversing cleaning robot, comprising:
-
providing a camera mounted in the floor-traversing cleaning robot sufficiently high in a robot housing to provide an angled view downward at a floor; creating localization data using a SLAM algorithm to localize the floor-traversing cleaning robot; creating a rectilinear grid of the floorplan using the localization data; capturing a series of images of the floor with the camera at different locations as the floor-traversing cleaning robot traverses the floor; determining a location of the floor-traversing cleaning robot for each of the images; tagging each of the series of images with a location of the floor-traversing cleaning robot at a time of image capture; cropping each of the images to identify at least one image segment in each of the images; transforming the image segment from a robot camera perspective view to a planar view; populating rectangles in the rectilinear grid of the floorplan with each of the image segments at the robot location in the planar view to provide an image populated floorplan, with an offset corresponding to a difference between the robot position and the position of the image segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan; displaying the image populated floorplan to a user; and accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing cleaning robot; wherein the field of view of the camera begins 5-25 centimeters in front of the floor-traversing cleaning robot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for providing a floorplan from images captured by a floor-traversing robot, comprising:
-
providing a camera mounted in the floor-traversing robot sufficiently high in a robot housing to provide an angled view downward at a floor; capturing a series of images of the floor with the camera at different locations as the floor-traversing robot traverses the floor; determining a location of the floor-traversing robot for each of the images; tagging each of the series of images with a location of the floor-traversing robot at a time of image capture; cropping each of the images to identify at least one segment in each of the images; transforming the segment from a robot camera perspective view to a planar view; populating the floorplan with each of the segments at the robot location in the planar view, with an offset corresponding to a difference between the robot position and the position of the segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan; displaying the floorplan to a user; accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing robot; capturing the same segment multiple times to provide multiple versions of the same segment; determining a weighted quality of each version of the same segment, with the weighed quality including at least one of the speed of the robot when an image was captured, vibration, angle (tilt), agreement with overlapping portions of other segments, and closeness of the segment to the camera and illumination; and replacing a lower quality version with a higher quality version. - View Dependent Claims (10)
-
-
11. A method for providing a floorplan populated with images captured by a floor-traversing cleaning robot, comprising:
-
providing a camera mounted in the floor-traversing cleaning robot sufficiently high in a robot housing to provide an angled view downward at a floor; creating localization data using a SLAM algorithm to localize the floor-traversing cleaning robot; creating a rectilinear grid of the floorplan using the localization data; capturing a series of images of the floor with the camera; providing a lens in front of the robot camera; applying a distortion algorithm to the series of images to correct for an image distortion due to the lens; determining a location of the floor-traversing cleaning robot for each of the images; tagging each of the series of images with the location of the floor-traversing cleaning robot at a time of image capture; detecting tilting of the cleaning robot beyond a first threshold; correcting an image pixel position or discarding the image; cropping each of the images to identify at least one segment in each of the images; capturing segments for an area that is the same size or larger than a minimum resolution of the floorplan; transforming the segment from a robot camera perspective view to a planar view; populating rectangles in the rectilinear grid of the floorplan with each of the segments at the robot location in the planar view to provide an image populated floorplan by utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan, with an offset corresponding to a difference between the robot position and the position of the segment on the floor; capturing overlapping segments; adjusting alignment adjustment by matching an overlapping portion of one segment with an overlapping portion of an adjacent segment; displaying the image populated floorplan to a user; and accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing cleaning robot.
-
-
12. A method for providing a floorplan from images captured by a floor-traversing robot, comprising:
-
providing a camera mounted in the floor-traversing robot sufficiently high in a robot housing to provide an angled view downward at a floor; capturing a series of images of the floor with the camera at different locations as the floor-traversing robot traverses the floor; determining a location of the floor-traversing robot for each of the images; synchronizing a frame rate of image capture with a rate of determining a location of the robot; tagging each of the series of images with a location of the floor-traversing robot at a time of image capture; cropping each of the images to identify at least one segment in each of the images; transforming the segment from a robot camera perspective view to a planar view; populating the floorplan with each of the segments at the robot location in the planar view, with an offset corresponding to a difference between the robot position and the position of the segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan; displaying the floorplan to a user; and accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing robot.
-
-
13. A method for providing a floorplan populated with images captured by a floor-traversing cleaning robot, comprising:
-
providing a camera mounted in the floor-traversing cleaning robot sufficiently high in a robot housing to provide an angled view downward at a floor; creating localization data using a SLAM algorithm to localize the floor-traversing cleaning robot; creating a rectilinear grid of the floorplan using the localization data; capturing a series of images of the floor with the camera at different locations as the floor-traversing cleaning robot traverses the floor; determining a location of the floor-traversing cleaning robot for each of the images; tagging each of the series of images with a location of the floor-traversing cleaning robot at a time of image capture; cropping each of the images to identify at least one image segment in each of the images; transforming the image segment from a robot camera perspective view to a planar view; populating rectangles in the rectilinear grid of the floorplan with each of the image segments at the robot location in the planar view to provide an image populated floorplan, with an offset corresponding to a difference between the robot position and the position of the image segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan; displaying the image populated floorplan to a user; and accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing cleaning robot; wherein the resolution of the camera is less than 1280×
720 pixels.
-
-
14. A method for providing a floorplan populated with images captured by a floor-traversing cleaning robot, comprising:
-
providing a camera mounted in the floor-traversing cleaning robot sufficiently high in a robot housing to provide an angled view downward at a floor; creating localization data using a SLAM algorithm to localize the floor-traversing cleaning robot; creating a rectilinear grid of the floorplan using the localization data; capturing a series of images of the floor with the camera at different locations as the floor-traversing cleaning robot traverses the floor; determining a location of the floor-traversing cleaning robot for each of the images; tagging each of the series of images with a location of the floor-traversing cleaning robot at a time of image capture; cropping each of the images to identify at least one image segment in each of the images; transforming the image segment from a robot camera perspective view to a planar view; populating rectangles in the rectilinear grid of the floorplan with each of the image segments at the robot location in the planar view to provide an image populated floorplan, with an offset corresponding to a difference between the robot position and the position of the image segment on the floor, utilizing a known manufactured height of the camera off the floor and known downward angle of the camera to correlate an image pixel position with a planar floor position in the floorplan; displaying the image populated floorplan to a user; and accepting a user input on the floorplan for modifying an operating characteristic of the floor-traversing cleaning robot; wherein the field of view of the camera is between 100 and 180 degrees and the camera is mounted 5-20 centimeters above the floor. - View Dependent Claims (15, 16, 17, 18)
-
Specification