# US 12,117,840 B1 · Method for robotic devices to identify doorways using machine learning

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

- Number: US 12,117,840 B1
- Document ID: US12117840B1
- Status: Granted
- Kind: B1
- Application number: 18/212,976
- Filed: 2023-06-22
- Granted: 2024-10-15
- Earliest claimed: 2016-06-06
- Assignees: AI Incorporated
- Applicants: Ali Ebrahimi Afrouzi
- Inventors: Ali Ebrahimi Afrouzi
- Web page: https://patentgrep.com/patent/US12117840B1

## CPC

- G05D 1/0221: {involving a learning process}
- A47L 9/2826: {the condition of the floor}
- A47L 11/4011: {Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor}
- A47L 11/4061: {Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated}
- B25J 9/163: {learning, adaptive, model based, rule based expert control}
- G05D 1/0219: {ensuring the processing of the whole working surface}
- G05D 1/024: {in combination with a laser (lasers per se H01S)}
- 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)}
- A47L 2201/04: Automatic control of the travelling movement; Automatic obstacle detection
- G05B 2219/40411: Robot assists human in non-industrial environment like home or office
- G05B 2219/45098: Vacuum cleaning robot
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- A47L: DOMESTIC WASHING OR CLEANING (brushes A46B; cleaning quantities of bottles or of other hollow articles of one kind B08B9/00; laundry D06F); SUCTION CLEANERS IN GENERAL (cleaning in general B08)
- 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})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A method for identifying a doorway, including: capturing, with a sensor disposed on a robot, sensor data of an environment of the robot as the robot drives along a movement path; identifying, with a processor of the robot, at least one feature from the sensor data indicative of a doorway; identifying, with the processor, the doorway at a location within the environment upon detecting the at least one feature in the sensor data; and generating, with the processor, a map of the environment based on at least the sensor data.

## Claims

### Claim 1

A method for identifying a doorway, comprising:
capturing, with a sensor disposed on a robot, sensor data of an environment of the robot as the robot drives along a movement path;
identifying, with a processor of the robot, at least one feature from the sensor data indicative of a doorway;
identifying, with the processor, the doorway at a location within the environment upon detecting the at least one feature in the sensor data;
instructing, with the processor, the robot to execute one or more actions upon identifying the doorway, wherein:
the one or more actions comprises avoiding crossing the doorway, wherein the doorway is identified by the robot as a virtual barrier; and
the robot avoids crossing the doorway for a predetermined amount of time or until encountering the identified doorway a predetermined number of times; and
generating, with the processor, a map of the environment based on at least the sensor data.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the sensor data is indicative of a distance to objects within the environment; and
the sensor comprises at least one of: a light detecting and ranging (LIDAR) sensor, a depth camera, a time-of-flight (TOF) sensor, and a stereo vision system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the at least one feature is identified using a machine learning algorithm.

### Claim 4 (depends on 3)

The method of claim 3, wherein the machine learning algorithm is trained using training sets of sensor data.

### Claim 5 (depends on 4)

The method of claim 4, wherein the training sets of sensor data comprise sets of sensor data used in generating maps of environments.

### Claim 6 (depends on 4)

The method of claim 4, wherein the training sets of sensor data are chosen based on a region, a type of area, or a country within which the robot is to operate.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
marking, with the processor, the doorway at the location in the map of the environment.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining, with the processor, a probability of the doorway existing at the location based on at least the sensor data.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
the one or more actions comprises finishing a first task in a first work area before crossing the doorway into a second work area to perform a second task; and
the first task and the second task comprise cleaning the first work area and the second work area, respectively.

### Claim 10 (depends on 1)

The method of claim 1, wherein the one or more actions comprises executing a particular coverage pattern.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
dividing, with the processor, the map of the environment into separate areas using identified doorways as the dividers for dividing the map of the environment into the separate areas.

### Claim 12 (depends on 1)

The method of claim 1, wherein:
the sensor data is indicative of a distance to objects within the environment; and
identifying the at least one feature comprises:
detecting, with the processor, an increase in the distances to objects by at least a first predetermined amount followed by a decrease in the distances to objects by at least a second predetermined amount.

### Claim 13 (depends on 12)

The method of claim 12, wherein the increase in distances to objects is detected for at least a first predetermined number of time steps and the decrease in distances to objects is detected for at least a second predetermined number of time steps.

### Claim 14 (depends on 13)

The method of claim 13, wherein the processor determines at least one of the values of the first predetermined amount, the first predetermined number of time steps, the second predetermined amount, and the second predetermined number of time steps using at least one of training sets of sensor data and a machine learning algorithm.

### Claim 15

A robot, comprising:
a chassis;
a set of wheels;
a plurality of sensors; and
a processor;
wherein the robot is configured to:
capture, with a sensor of the plurality of sensors disposed on the robot, sensor data of an environment of the robot as the robot drives along a movement path;
identify, with the processor, at least one feature from the sensor data indicative of a doorway;
identify, with the processor, the doorway at a location within the environment upon detecting the at least one feature in the sensor data;
instruct, with the processor, the robot to execute one or more actions upon identifying the doorway, wherein:
the one or more actions comprises avoiding crossing the doorway, wherein the doorway is identified by the robot as a virtual barrier; and
the robot avoids crossing the doorway for a predetermined amount of time or until encountering the identified doorway a predetermined number of times; and
generate, with the processor, a map of the environment based on at least the sensor data.

### Claim 16 (depends on 15)

The robot of claim 15, wherein the robot is further configured to:
instruct, with the processor, the robot to execute one or more actions upon identifying the doorway, wherein:
the one or more actions comprises at least one of finishing a first task in a first work area before crossing the doorway into a second work area to perform a second task and avoiding crossing the doorway; and
the first task and the second task comprise cleaning the first work area and the second work area, respectively.

### Claim 17 (depends on 15)

The robot of claim 15, wherein at least one of:
the robot is further configured to:
divide, with the processor, the map of the environment into separate areas using identified doorways as the dividers for dividing the map of the environment into the separate areas; or
the sensor data is indicative of a distance to objects within the environment; and identifying the at least one feature comprises:
detecting, with the processor, an increase in the distances to objects by at least a first predetermined amount followed by a decrease in the distances to objects by at least a second predetermined amount.
