# US 11,113,945 B2 · Automated robot alert system

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

- Number: US 11,113,945 B2
- Document ID: US11113945B2
- Status: Granted
- Kind: B2
- Application number: 16/396,180
- Filed: 2019-04-26
- Published: 2019-10-31
- Granted: 2021-09-07
- Earliest claimed: 2018-04-26
- Assignees: Maidbot, Inc.
- Applicants: Maidbot, Inc.
- Inventors: David Moroniti; Nicholas Sweet; Micah Estis Green
- Web page: https://patentgrep.com/patent/US11113945B2

## CPC

- G08B 21/182: {Level alarms, e.g. alarms responsive to variables exceeding a threshold}
- G08B 25/006: {Alarm destination chosen according to type of event, e.g. in case of fire phone the fire service, in case of medical emergency phone the ambulance}
- B25J 9/163: {learning, adaptive, model based, rule based expert control}
- G08B 21/20: responsive to moisture
- G08B 25/003: {Address allocation methods and details}
- G08B 25/005: {Alarm destination chosen according to a hierarchy of available destinations, e.g. if hospital does not answer send to police station}
- G08B 25/007: {Details of data content structure of message packets; data protocols}
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- 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})

## Abstract

A robot alert system includes a robot server that receives contextualized sensor data from one or more mobile robots and generates alerts to one or more individuals according to a set of configured alert rules. The contextualized sensor data includes location data indicating a location of the mobile robot and sensor data obtained by the mobile robot representing sensed conditions of an environment associated with the location. The robot server accesses staff member data associated with each of a plurality of staff members from a staff member database and accesses a set of stored alert rules specifying alert criteria for triggering the alert. Responsive to determining that the contextualized sensor data meets the alert criteria for s target staff member, the robot server generates and transmits an alert to a client device associated with the target staff member.

## Claims

### Claim 1

A method for generating an alert associated with activity of a mobile robot, the method comprising:
receiving contextualized sensor data from the mobile robot via a network, wherein the contextualized sensor data comprises humidity data obtained by the mobile robot, an identifier for a room where the humidity data was captured by the robot, and location data comprising locations in the room where the humidity data was captured;
accessing staff member data associated with each of a plurality of staff members from a staff member database;
accessing a set of stored alert rules, wherein a rule specifies alert criteria for triggering the alert associated with a target staff member of the plurality of staff members;
determining if the contextualized sensor data meets the alert criteria associated with the target staff member by performing steps including:
determining, from the location data and the humidity data, a wet area of the room where the humidity data exceeds a predefined threshold;
obtaining a map of the room including locations of possible sources of leaks;
comparing the wet area of the room to the map to determine if the wet area is within a proximity threshold to one of the possible sources of leaks; and
determining that the contextualized sensor data meets the alert criteria responsive to the wet area meeting being within the proximity threshold;
responsive to determining that the contextualized sensor data meets the alert criteria for the target staff member, generating an alert for the target staff member; and
transmitting the alert to a client device associated with the target staff member.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the alert comprises:
generating the alert to contain the map of the room and an identification of a source of a leak within the proximity threshold to the wet area.

### Claim 3

A method for generating an alert associated with activity of a mobile robot, the method comprising:
receiving contextualized sensor data from the mobile robot via a network, wherein the contextualized sensor data comprises status data including connectivity status data of the mobile robot and location data representing locations of the mobile robot corresponding to the connectivity status data;
accessing staff member data associated with each of a plurality of staff members from a staff member database;
accessing a set of stored alert rules, wherein a rule specifies alert criteria for triggering the alert associated with a target staff member of the plurality of staff members;
determining if the contextualized sensor data meets the alert criteria associated with the target staff member by performing steps comprising:
determining, based on the connectivity status data and the location data, a first location corresponding to a loss of connectivity of the mobile robot to the network based on the connectivity status data;
determining, based on the connectivity status data and the location data, a second location corresponding to a reconnection of the mobile robot to the network;
determining based on historical location data prior to the loss of connectivity that the robot did not finish cleaning a room corresponding to the first location prior to being moved to the second location; and
determining that the contextualized sensor data meets the alert criteria responsive to determining that the mobile robot did not finish cleaning the room;
responsive to determining that the contextualized sensor data meets the alert criteria for the target staff member, generating an alert for the target staff member; and
transmitting the alert to a client device associated with the target staff member.

### Claim 4 (depends on 3)

The method of claim 3, wherein generating the alert comprises:
generating the alert to indicate an identifier for the room and an indication that the room has not been completely cleaned.

### Claim 5 (depends on 3)

The method of claim 3, wherein determining if the contextualized sensor data meets the alert criteria associated with the target staff member further comprises;
determining that the contextualized sensor data meets alert criteria for multiple staff members including the target staff member;
determining, based on stored staff member deployment data, which of the multiple staff members are occupied with a different task; and
selecting the target staff member as one of the multiple staff members that is not occupied with the different task.

### Claim 6 (depends on 3)

The method of claim 3, wherein the staff member data comprises a role for each of the plurality of staff members, an alert preference for each of the plurality of staff members, an availability status for each of the plurality of staff members, and alert criteria associated with different alerts for each of the plurality of staff members, wherein the alert criteria varies for different ones of the plurality of staff member.

### Claim 7 (depends on 3)

The method of claim 3, further comprising:
setting an alert flag in association with the alert; and
responsive to the alert flag not being reset within a predefined time period, selecting an alternative staff member different from the target staff member for receiving the alert and sending the alert to the alternative staff member.

### Claim 8 (depends on 3)

The method of claim 3, further comprising:
determining that the alert is historically triggered at greater than a threshold frequency; and
automatically reducing an alert threshold in the alert criteria associated with the alert.

### Claim 9 (depends on 3)

The method of claim 3, further comprising:
determining that the alert is triggered at less than a threshold frequency; and
automatically increasing an alert threshold in the alert criteria associated with the alert.

### Claim 10

A non-transitory computer-readable storage medium storing instructions for generating an alert associated with activity of a mobile robot, the instructions when executed by a processor causing the processor to perform steps including: receiving contextualized sensor data from the mobile robot via a network, wherein the contextualized sensor data comprises humidity data obtained by the mobile robot, an identifier for a room where the humidity data was captured by the robot, and location data comprising locations in the room where the humidity data was captured;
accessing staff member data associated with each of a plurality of staff members from a staff member database;
accessing a set of stored alert rules, wherein a rule specifies alert criteria for triggering the alert associated with a target staff member of the plurality of staff members;
determining if the contextualized sensor data meets the alert criteria associated with the target staff member by performing steps including:
determining, from the location data and the humidity data, a wet area of the room where the humidity data exceeds a predefined threshold;
obtaining a map of the room including locations of possible sources of leaks;
comparing the wet area of the room to the map to determine if the wet area is within a proximity threshold to one of the possible sources of leaks; and
determining that the contextualized sensor data meets the alert criteria responsive to the wet area meeting being within the proximity threshold;
responsive to determining that the contextualized sensor data meets the alert criteria for the target staff member, generating an alert for the target staff member; and
transmitting the alert to a client device associated with the target staff member.

### Claim 11

A non-transitory computer-readable storage medium storing instructions for generating an alert associated with activity of a mobile robot, the instructions when executed by a processor causing the processor to perform steps including:
receiving contextualized sensor data from the mobile robot via a network, wherein the contextualized sensor data comprises status data including connectivity status data of the mobile robot and location data representing locations of the mobile robot corresponding to the connectivity status data;
accessing staff member data associated with each of a plurality of staff members from a staff member database;
accessing a set of stored alert rules, wherein a rule specifies alert criteria for triggering the alert associated with a target staff member of the plurality of staff members;
determining if the contextualized sensor data meets the alert criteria associated with the target staff member by performing steps comprising:
determining, based on the connectivity status data and the location data, a first location corresponding to a loss of connectivity of the mobile robot to the network based on the connectivity status data;
determining, based on the connectivity status data and the location data, a second location corresponding to a reconnection of the mobile robot to the network;
determining based on historical location data prior to the loss of connectivity that the robot did not finish cleaning a room corresponding to the first location prior to being moved to the second location; and
determining that the contextualized sensor data meets the alert criteria responsive to determining that the mobile robot did not finish cleaning the room;
responsive to determining that the contextualized sensor data meets the alert criteria for the target staff member, generating an alert for the target staff member; and
transmitting the alert to a client device associated with the target staff member.

### Claim 12 (depends on 1)

The method of claim 1, wherein determining if the contextualized sensor data meets the alert criteria associated with the target staff member further comprises:
obtaining, from the staff member database, a work schedule associated with the target staff member; and
determining, based on the work schedule, that the target staff member is available to receive the alert at a current time.

### Claim 13 (depends on 1)

The method of claim 1, wherein transmitting the alert to the client device comprises:
obtaining, from the staff member database, a communication preference associated with the target staff member; and
transmitting the alert according to the communication preference.

### Claim 14 (depends on 1)

The method of claim 1, wherein determining if the contextualized sensor data meets the alert criteria associated with the target staff member further comprises;
determining that the contextualized sensor data meets alert criteria for multiple staff members including the target staff member;
determining, based on stored staff member deployment data, which of the multiple staff members are occupied with a different task; and
selecting the target staff member as one of the multiple staff members that is not occupied with the different task.

### Claim 15 (depends on 1)

The method of claim 1, wherein the staff member data comprises a role for each of the plurality of staff members, an alert preference for each of the plurality of staff members, an availability status for each of the plurality of staff members, and alert criteria associated with different alerts for each of the plurality of staff members, wherein the alert criteria varies for different ones of the plurality of staff member.

### Claim 16 (depends on 1)

The method of claim 1, further comprising:
setting an alert flag in association with the alert; and
responsive to the alert flag not being reset within a predefined time period, selecting an alternative staff member different from the target staff member for receiving the alert and sending the alert to the alternative staff member.

### Claim 17 (depends on 3)

The method of claim 3, wherein determining if the contextualized sensor data meets the alert criteria associated with the target staff member further comprises:
obtaining, from the staff member database, a work schedule associated with the target staff member; and
determining, based on the work schedule, that the target staff member is available to receive the alert at a current time.

### Claim 18 (depends on 3)

The method of claim 3, wherein transmitting the alert to the client device comprises:
obtaining, from the staff member database, a communication preference associated with the target staff member; and
transmitting the alert according to the communication preference.

### Claim 19 (depends on 3)

The method of claim 3, wherein the contextualized sensor data further comprises voltage sensor data for a battery of the mobile robot, the method further comprising:
determining, from the voltage sensor data when a battery capacity of a battery of the mobile robot falls below a predefined threshold.

### Claim 20 (depends on 19)

The method of claim 19, wherein generating the alert further comprises:
generating the alert to contain a last location of the mobile robot from the tracked location data and an indication of a low battery.
