IP Library › Granted Patent US 11,656,628
Granted Patent B2
US 11,656,628 · App. 17/021,154 · Granted May 23, 2023

Learned escape behaviors of a mobile robot

Inventors: Laura V. Herlant (Arlington, MA); Aravindh Kuppusamy (Bedford, MA); Deepak Sharma (Burlington, MA); Kshitij Bichave (Bedford, MA); Shao Zhou (Los Angeles, CA); Cheuk Wah Wong (Concord, MA)
Assignee: iRobot Corporation
G05D1/0221A47L9/009A47L9/2826A47L9/2852A47L9/2894G05D1/027G05D1/0242G05D1/0246G05D1/0272A47L2201/04G05D2201/0215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,656,628
App. No.
17/021,154
Granted
May 23, 2023
Kind
B2
Abstract

Described herein are systems, devices, and methods for controlling a mobile cleaning robot to escape from a stuck state using a learned robot escape behavior model. The model is trained using reinforcement learning at a cloud-computing device or networked devices. A mobile cleaning robot comprises a drive system, a sensor circuit to collect sensor data associated with a detected stuck state, and a controller circuit that can receive the trained robot escape behavior model, and apply the sensor data associated with the detected stuck state to the trained robot escape behavior model to determine an escape policy. The drive system or one or more actuators of the mobile robot can remove the mobile robot from the stuck state according to the determined escape policy.

Claims (90)

1. A system comprising:

a mobile cleaning robot, comprising:

a drive system including at least one electric motor configured to move the mobile cleaning robot about an environment;

a sensor circuit configured to collect sensor data associated with a stuck state preventing the mobile cleaning robot from driving in the environment;

a training module configured to select, from a set of mobile cleaning robots, a cohort fewer than the set of mobile cleaning robots and satisfying a robot grouping criterion, and to generate a trained robot escape behavior model using sensor data collected from the selected cohort of mobile cleaning robots, the trained robot escape behavior model being trained to establish a relationship between (1) training sensor data associated with one or more stuck states and (2) respective escape policies each including an instruction to the drive system or an actuator of the mobile cleaning robot to get the mobile cleaning robot away from a corresponding stuck state; and

a controller circuit configured to:

detect a stuck event that has occurred and prevented the mobile cleaning robot from driving in the environment;

use the detected stuck event to trigger a determination of an escape policy by applying the collected sensor data associated with the stuck state to the trained robot escape behavior model; and

generate a control signal to the drive system or the actuator to escape from the stuck state in accordance with the determined escape policy.

2. The system of claim 1 , wherein the training sensor data for the trained robot escape behavior model include at least one of:

displacement data;

actuator motor data;

wheel encoder data;

wheel drop data;

cliff infrared values collected by an infrared sensor;

angular rate data collected by a gyroscope sensor;

data collected by a bumper sensor; or

data collected by an accelerometer.

3. The system of claim 1 , wherein the training sensor data for the trained robot escape behavior model include image data collected by a camera sensor.

4. The system of claim 1 , wherein the sensor circuit is configured to collect the sensor data at a sampling rate of two samples per second.

5. The system of claim 1 , wherein the escape policies for the trained robot escape behavior model include recommended parameter values of at least one of a wheel motor parameter, a side brush motor parameter, or a vacuum brush or roller motor parameter.

6. The system of claim 1 , wherein:

the training module is in a remote computing device separate from and operatively in communication with the mobile cleaning robot; and

the controller circuit of the mobile cleaning robot is configured to receive the trained robot escape behavior model from the remote computing device.

7. The system of claim 6 , wherein the remote computing device is a cloud-computing device or networked devices.

8. The system of claim 1 , wherein the training module is configured to identify the robot cohort comprising mobile cleaning robots of a specified robot model, type, or a geographical region of operation.

9. The system of claim 1 , wherein the training module is configured to identify the robot cohort comprising mobile cleaning robots with a specified number or range of days of operation.

10. The system of claim 1 , wherein the training module is configured to identify the robot cohort comprising mobile cleaning robots having a specified stuck occurrence rate or rate range.

11. The system of claim 1 , wherein the training module is configured to identify the robot cohort comprising mobile cleaning robots interacting with a specified type of obstacle associated with a stuck state.

12. The system of claim 1 , wherein the training module is configured to identify the robot cohort comprising mobile cleaning robots interacting with a specified type of obstacle at a specified location of an environment associated with a stuck state.

13. The system of claim 1 , wherein the training module is configured to identify one or more clusters of time series of the training sensor data collected from a plurality of mobile cleaning robots, and to construct the training data using the training sensor data within an identified cluster.

14. The system of claim 1 , wherein:

the training module is configured to generate two or more trained robot escape behavior models for respective robot cohorts satisfying respective robot grouping criteria; and

the controller circuit of the mobile cleaning robot is configured to recognize the mobile cleaning robot as belong to one of the robot cohorts, and to apply the collected sensor data associated with the stuck state to one of the trained robot escape behavior models corresponding to the recognized robot cohort to determine the escape policy.

15. The system of claim 1 , wherein the trained robot escape behavior model includes a neural network model.

16. The system of claim 1 , wherein the training module is configured to generate the trained robot escape behavior model using reinforcement learning including, for a target stuck state:

assign respective numerical rewards to a plurality of candidate escape policies; and

select, from the plurality of candidate escape policies, an escape policy that maximizes an expected value of the numerical rewards.

17. The system of claim 16 , wherein the reinforcement learning used for generating the trained robot escape behavior model includes an on-policy learning algorithm.

18. The system of claim 16 , wherein the reinforcement learning used for generating the trained robot escape behavior model includes an off-policy learning algorithm.

19. The system of claim 16 , wherein the training module is configured to assign the respective numerical rewards based on at least one of:

success or failure of escaping from the stuck state;

an efficiency indicator of escaping from the stuck state; or

time taken to escape from the stuck state.

20. The system of claim 1 , further comprising a validation module configured to validate the trained robot escape behavior model against validation data different from the training data, and

wherein the controller circuit of the mobile cleaning robot is configured to apply the collected sensor data associated with the stuck state to the validated robot escape behavior model to determine the escape policy if a validation criterion is satisfied.

21. The system of claim 20 , wherein:

the training module is configured to construct the training data using first training sensor data collected from first mobile cleaning robots during stuck-and-escape simulations; and

the validation module is configured to construct the validation data using second training sensor data collected from second mobile cleaning robots, distinct from the first mobile robots, while performing cleaning missions in respective environments.

22. The system of claim 20 , wherein:

the training module is configured to construct the training data using second training sensor data collected from second mobile cleaning robots while performing cleaning missions in respective environments; and

the validation module is configured to construct the validation data using first training data collected from first mobile cleaning robots, distinct from the second mobile robot, during stuck-and-escape simulations.

23. The system of claim 1 , wherein the training module is configured to update the trained robot escape behavior model periodically or responsive to a trigger event.

24. The system of claim 1 , wherein the controller circuit of the mobile cleaning robot is configured to update the trained robot escape behavior model periodically or responsive to a trigger event.

25. The system of claim 1 , comprising a user interface configured to present to a user information about the stuck state and the robot escape behavior of the mobile cleaning robot from the stuck state.

26. A method of operating a mobile cleaning robot in an environment, the method comprising:

collecting robot sensor data associated with a stuck state that prevents the mobile cleaning robot from driving in the environment;

selecting, from a set of mobile cleaning robots, a cohort fewer than the set of mobile cleaning robots and satisfying a robot grouping criterion;

generating a trained robot escape behavior model using sensor data collected from the selected cohort of mobile cleaning robots, the trained robot escape behavior model being trained to establish a relationship between (1) training sensor data associated with one or more stuck states and (2) respective escape policies each including an instruction to get the mobile cleaning robot away from a corresponding stuck state;

detecting a stuck event that has occurred and prevented the mobile cleaning robot from driving in the environment;

using the detected stuck event to trigger a determination of an escape policy by applying the collected sensor data associated with the stuck state to the trained robot escape behavior model; and

generating a control signal to a drive system or an actuator of the mobile cleaning robot to escape from the stuck state in accordance with the determined escape policy.

27. The method of claim 26 , wherein the escape policies for the trained robot escape behavior model include recommended parameter values of at least one of a wheel motor parameter, a side brush motor parameter, or a vacuum brush or roller motor parameter.

28. The method of claim 26 , wherein the robot cohort comprises at least one of:

mobile cleaning robots of a specified robot model, type, or a geographical region of operation;

mobile cleaning robots with a specified number or range of days of operation;

mobile cleaning robots having a specified stuck occurrence rate or rate range;

mobile cleaning robots interacting with a specified type of obstacle associated with a stuck state; or

mobile cleaning robots interacting with a specified type of obstacle at a specified location of an environment associated with a stuck state.

29. The method of claim 26 , comprising:

identifying one or more clusters of time series of training sensor data collected from a plurality of mobile cleaning robots; and

constructing the training data using the training sensor data within an identified cluster.

30. The method of claim 26 , wherein the trained robot escape behavior model includes two or more behavior models for respective robot cohorts satisfying respective robot grouping criteria, the method further comprising:

recognizing the mobile cleaning robot as belong to one of the robot cohorts; and

applying the collected sensor data associated with the stuck state to one of the trained robot escape behavior models corresponding to the recognized robot cohort to determine the escape policy.

31. The method of claim 26 , wherein generating the trained robot escape behavior model includes training the robot escape behavior model using reinforcement learning including, for a target stuck state:

assigning respective numerical rewards to a plurality of candidate escape policies; and

selecting, from the plurality of candidate escape policies, an escape policy that maximizes an expected value of the numerical rewards.

32. The method of claim 31 , wherein assigning the respective numerical rewards is based on at least one of:

success or failure of escaping from the stuck state;

an efficiency indicator of escaping from the stuck state; or

time taken to escape from the stuck state.

33. The method of claim 26 , comprising:

validating the trained robot escape behavior model against validation data different from the training data; and

applying the collected sensor data associated with the stuck state to the validated robot escape behavior model to determine the escape policy if a validation criterion is satisfied.

34. The method of claim 33 , wherein:

one of the training data or the validation data include first training sensor data collected from first mobile cleaning robots during stuck-and-escape simulations; and

another of the training data or the validation data include second training sensor data collected from second mobile cleaning robots, distinct from the first mobile cleaning robots, while performing cleaning missions in respective environments.

35. The method of claim 26 , comprising updating the trained robot escape behavior model periodically or responsive to a trigger event.

36. The method of claim 26 , comprising displaying on a user interface information about the stuck state and the robot escape behavior of the mobile cleaning robot from the stuck state.

Assignments (5)
NOTICE OF ASSIGNMENT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Nov 25, 2025
From: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
To: SANTRUM HONG KONG CO., LIMITED, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 073707/0516 →
SECURITY INTEREST Recorded Aug 9, 2023
From: IROBOT CORPORATION
To: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
Reel/Frame 064532/0856 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: IROBOT CORPORATION
Reel/Frame 064430/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: IROBOT CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061878/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2021
From: HERLANT, LAURA V.; KUPPUSAMY, ARAVINDH; SHARMA, DEEPAK; BICHAVE, KSHITIJ; ZHOU, SHAO; WONG, CHEUK WAH
To: IROBOT CORPORATION
Reel/Frame 056139/0307 →
Continuity (1)
Related Publication 20220083066A1 · Mar 17, 2022
Cited By (1)
US 12,700,116