# US 12,111,664 B1 · Versatile robotic device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,664 B1
- Document ID: US12111664B1
- Status: Granted
- Kind: B1
- Application number: 17/888,921
- Filed: 2022-08-16
- Granted: 2024-10-08
- Earliest claimed: 2018-04-20
- Assignees: AI Incorporated
- Applicants: Ali Ebrahimi Afrouzi; Lukas Robinson; Chen Zhang
- Inventors: Ali Ebrahimi Afrouzi; Lukas Robinson; Chen Zhang
- Web page: https://patentgrep.com/patent/US12111664B1

## CPC

- G05D 1/0248: {in combination with a laser (lasers per se H01S)}
- G05D 1/0274: {using mapping information stored in a memory device (navigation using map-matching G01C21/30)}
- B25J 5/007: {mounted on wheels}
- B25J 9/0003: {Home robots, i.e. small robots for domestic use}
- G01C 21/005: {with correlation of navigation data from several sources, e.g. map or contour matching (G01C21/30 takes precedence)}
- G01C 21/20: Instruments for performing navigational calculations (G01C21/24, G01C21/26 take precedence)
- G05D 1/0236: {in combination with a laser (lasers per se H01S)}
- G05D 1/027: {comprising intertial navigation means, e.g. azimuth detector (inertial navigation G01C21/16; inertial navigation combined with non-inertial navigation instruments G01C21/165)}
- G05D 1/0272: {comprising means for registering the travel distance, e.g. revolutions of wheels (measuring distance traversed on the ground by vehicles, e.g. using odometers G01C22/00)}
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)

## Abstract

Provided is a robot, including: a chassis; a set of wheels; a plurality of sensors; a camera; a processor; a memory storing instructions that when executed by the processor effectuate operations including: capturing, with the camera, spatial data of surroundings of the robot; generating, with the processor, a spatial model of the surroundings based on at least the spatial data of the surroundings; generating, with the processor, a movement path based on the spatial model of the surroundings; and inferring, with the processor, a location of the robot.

## Claims

### Claim 1

A robot, comprising:
a chassis;
a set of wheels;
a plurality of sensors;
a camera;
a processor;
a tangible, non-transitory, machine-readable memory storing instructions that when executed by the processor effectuate operations comprising:
capturing, with the camera, spatial data of surroundings of the robot;
generating, with the processor, a spatial model of the surroundings based on at least the spatial data of the surroundings;
generating, with the processor, a movement path based on the spatial model of the surroundings;
inferring, with the processor, a location of the robot, comprising at least:
capturing, with at least one sensor of the plurality of sensors, at least one measurement of the surroundings of the robot;
extracting, with the processor, at least one feature of debris based on at least some data captured by the plurality of sensors;
inferring, with the processor, a debris type of the debris based on a comparison between the at least one feature and features associated with different debris types stored in a database;
actuating, with the processor, the robot to clean or avoid the debris based on the debris type of the debris, wherein the robot is actuated to at least avoid debris with a debris type of feces;
actuating, with the processor, the robot to vacuum or mop based on sensor data indicative of an absence of a user within the surroundings; and
capturing, with the at least one sensor, additional measurement within successively increasing search radii until the processor obtains a measurement that can be used to infer the location of the robot.

### Claim 2 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
capturing, with a sensor of the plurality of sensors, a plurality of debris data as the robot moves within the surroundings;
associating, with the processor, each debris data with a location of the robot at a time when the respective debris data was captured; and
wherein an application of a communication device paired with the robot displays locations with debris accumulation within the spatial model.

### Claim 3 (depends on 2)

The robot of claim 2, wherein the operations further comprise:
adjusting, with the processor, a coverage path of the robot based on the locations with debris accumulation.

### Claim 4 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
adjusting or determining, with the processor, an operational schedule of the robot based on sensor data indicative of an absence or presence of a user within the surroundings.

### Claim 5 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
capturing, with a floor sensor, data indicative of a floor type as the robot moves within the surroundings; and
adjusting, with the processor, a vacuum power of the robot based on the data, wherein the vacuum power is increased when the floor type is carpet.

### Claim 6 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
capturing, with a floor sensor, data indicative of a floor type as the robot moves within the surroundings; and
adjusting, with the processor, a movement path of the robot based on the data, wherein the movement path is adjusted to avoid areas with a carpet floor type when the robot is mopping.

### Claim 7 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
segmenting, with the processor of the robot, the spatial model of the surroundings into a plurality of rooms.

### Claim 8 (depends on 1)

The robot of claim 1, wherein:
the robot further comprises a light source; and
the light source is positioned adjacent to the camera.

### Claim 9 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
generating, with the processor, a first movement path covering at least part of the surroundings;
actuating, with the processor, the robot to move along the first movement path, wherein actuating the robot to move along at least a portion of the first movement path comprises a repetitive iteration of:
actuating, with the processor, the robot to traverse a first linear segment;
actuating, with the processor, the robot to rotate 180 degrees in a first rotation, wherein the first rotation comprises traversing a distance in a direction perpendicular to the first linear segment after starting the first rotation and before finishing the first rotation;
actuating, with the processor, the robot to traverse a second linear segment; and
actuating, with the processor, the robot to rotate 180 degrees in a second rotation, wherein the second rotation comprises traversing the distance in a direction perpendicular to the second linear segment after starting the second rotation and before finishing the second rotation.

### Claim 10 (depends on 9)

The robot of claim 9, wherein the distance is less than a coverage width of the robot.

### Claim 11 (depends on 1)

The robot of claim 1, wherein the bristles are secured to the at least one arm and one another using one or more of the following techniques:
stitching at least one line across the bristles, stitching two lines in opposite directions diagonally across the width of the bristles, or stitching a crisscross pattern across the bristles.

### Claim 12 (depends on 11)

The robot of claim 11, wherein:
the at least one stitched line across the bristles is in a direction perpendicular to the length of the bristles; and
the stitched crisscross pattern across the bristles is in a direction perpendicular to the length of the bristles.

### Claim 13 (depends on 1)

The robot of claim 1, wherein the operations further comprise:
detecting, with a sensor of the plurality of sensors, debris accumulation as the robot moves within the surroundings, wherein the robot prioritizes cleaning an area with detected debris accumulation prior to continuing on with cleaning other areas.

### Claim 14 (depends on 1)

The robot of claim 1, wherein:
the robot further comprises a main brush and a peripheral brush;
the peripheral brush comprises a plurality of arms; and
at least one arm of the peripheral brush comprises bristles extending from the respective arm, the bristles being secured to the at least one arm and one another with stitching to prevent the bristles from being forcibly plucked during operation of the robot.

### Claim 15

A tangible, non-transitory, machine-readable memory storing instructions that when executed by a processor of a robot effectuate operations comprising:
capturing, with a camera disposed on the robot, spatial data of surroundings of the robot;
generating, with the processor, a spatial model of the surroundings based on at least the spatial data of the surroundings;
generating, with the processor, a movement path based on the spatial model of the surroundings;
inferring, with the processor, a location of the robot, comprising at least:
capturing, with at least one sensor of a plurality of sensors disposed on the robot, at least one measurement of the surroundings of the robot;
extracting, with the processor, at least one feature of debris based on at least some data captured by the plurality of sensors;
inferring, with the processor, a debris type of the debris based on a comparison between the at least one feature and features associated with different debris types stored in a database;
actuating, with the processor, the robot to clean or avoid the debris based on the debris type of the debris, wherein the robot is actuated to at least avoid debris with a debris type of feces;
actuating, with the processor, the robot to vacuum or mop based on sensor data indicative of an absence of a user within the surroundings; and
capturing, with the at least one sensor, additional measurement within successively increasing search radii until the processor obtains a measurement that can be used to infer the location of the robot.

### Claim 16 (depends on 15)

The memory of claim 15, wherein:
the robot further comprises a main brush and a peripheral brush;
the peripheral brush comprises a plurality of arms; and
at least one arm of the peripheral brush comprises bristles extending from the respective arm, the bristles being secured to the at least one arm and one another with stitching to prevent the bristles from being forcibly plucked during operation of the robot.

### Claim 17

A method for operating a robot, comprising:
capturing, with a camera disposed on the robot, spatial data of surroundings of the robot;
generating, with the processor, a spatial model of the surroundings based on at least the spatial data of the surroundings;
generating, with the processor, a movement path based on the spatial model of the surroundings;
inferring, with the processor, a location of the robot, comprising at least:
capturing, with at least one sensor of a plurality of sensors disposed on the robot, at least one measurement of the surroundings of the robot;
extracting, with the processor, at least one feature of debris based on at least some data captured by the plurality of sensors;
inferring, with the processor, a debris type of the debris based on a comparison between the at least one feature and features associated with different debris types stored in a database;
actuating, with the processor, the robot to clean or avoid the debris based on the debris type of the debris, wherein the robot is actuated to at least avoid debris with a debris type of feces;
actuating, with the processor, the robot to vacuum or mop based on sensor data indicative of an absence of a user within the surroundings; and
capturing, with the at least one sensor, additional measurement within successively increasing search radii until the processor obtains a measurement that can be used to infer the location of the robot.

### Claim 18 (depends on 17)

The method of claim 17, wherein:
the robot further comprises a main brush and a peripheral brush;
the peripheral brush comprises a plurality of arms; and
at least one arm of the peripheral brush comprises bristles extending from the respective arm, the bristles being secured to the at least one arm and one another with stitching to prevent the bristles from being forcibly plucked during operation of the robot.
