IP Library Granted Patent US 11,642,780
Granted Patent B2
US 11,642,780 · App. 17/382,561 · Granted May 9, 2023

Monitoring of surface touch points for precision cleaning

Inventors: Eden Rephaeli (Oakland, CA); Guy Satat (Sunnyvale, CA); Daniel Lam (Mountain View, CA); Benjamin Holson (Sunnyvale, CA); Jiajun Xu (San Francisco, CA)
Assignee: X Development LLC
B25J9/04B25J9/163B25J9/1615
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,642,780
App. No.
17/382,561
Granted
May 9, 2023
Kind
B2
Abstract

A system includes a robotic device, a sensor disposed on the robotic device, and circuitry configured to perform operations. The operations include determining a map that represents stationary features of an environment and receiving, from the sensor, sensor data representing the environment. The operations also include determining, based on the sensor data, a representation of an actor within the environment, where the representation includes keypoints representing corresponding body locations of the actor. The operations also include determining that a portion of a particular stationary feature is positioned within a threshold distance of a particular keypoint and, based on thereon, updating the map to indicate that the portion is to be cleaned. The operations further include, based on the map as updated, causing the robotic device to clean the portion of the particular stationary feature.

Claims (65)

1. A computer-implemented method comprising:

determining a map that represents a plurality of stationary features of an environment;

receiving, from a sensor, sensor data representing the environment;

determining, based on the sensor data, a representation of an actor within the environment, wherein the representation comprises a plurality of keypoints representing corresponding body locations of the actor;

determining that a portion of a particular stationary feature of the plurality of stationary features of the environment is positioned within a threshold distance of a particular keypoint of the plurality of keypoints;

based on determining that the particular keypoint is positioned within the threshold distance of the portion of the particular stationary feature, updating the map to indicate that the portion of the particular stationary feature is determined to have been touched; and

based on the map as updated, providing an output indicating that the portion of the particular stationary feature is determined to have been touched.

2. The computer-implemented method of claim 1 , wherein providing the output comprises:

displaying a visual representation indicating that the portion of the particular stationary feature is determined to have been touched.

3. The computer-implemented method of claim 1 , wherein providing the output comprises:

projecting, by a projector and onto the environment, a visual representation indicating that the portion of the particular stationary feature is determined to have been touched, wherein a portion of the visual representation is spatially aligned with the portion of the particular stationary feature to visually indicate that the portion of the particular stationary feature is determined to have been touched.

4. The computer-implemented method of claim 1 , wherein the sensor data representing the environment comprises a first image that represents the environment, and wherein providing the output comprises:

generating a second image by projecting, onto an image space of the first image, the map as updated to indicate, within the second image, that the portion of the particular stationary feature is determined to have been touched;

generating a third image by inserting into the first image at least a portion of the second image that indicates that the portion of the particular stationary feature is determined to have been touched; and

displaying the third image.

5. The computer-implemented method of claim 1 , wherein the plurality of keypoints represents an arm of the actor, and wherein the particular keypoint represents a hand of the actor.

6. The computer-implemented method of claim 1 , wherein determining the representation of the actor comprises:

determining the plurality of keypoints by way of a machine learning model that has been trained to identify the plurality of keypoints within the sensor data representing the actor; and

mapping locations of the plurality of keypoints from a reference frame of the sensor data to a reference frame of the map.

7. The computer-implemented method of claim 1 , wherein the map comprises a plurality of voxels, and wherein determining that the particular keypoint of the plurality of keypoints is positioned within the threshold distance of the portion of the particular stationary feature comprises:

determining one or more voxels of the plurality of voxels that (i) represent the particular stationary feature and (ii) are positioned within the threshold distance of the particular keypoint.

8. The computer-implemented method of claim 1 , further comprising:

based on the map as updated, generating a request for cleaning of the portion of the particular stationary feature;

based on the portion of the particular stationary feature being cleaned, updating the map to indicate that the portion of the particular stationary feature has been cleaned; and

providing an additional output indicating that the portion of the particular stationary feature has been cleaned.

9. The computer-implemented method of claim 8 , wherein updating the map to indicate that the portion of the particular stationary feature has been cleaned comprises:

updating the map to indicate a cleaning time at which the portion of the particular stationary feature has been cleaned.

10. The computer-implemented method of claim 1 , wherein determining that the portion of the particular stationary feature is positioned within the threshold distance of the particular keypoint comprises:

determining a subset of the plurality of stationary features, wherein each respective stationary feature of the subset is associated with a touch frequency that exceeds a threshold frequency, and wherein the subset comprises the particular stationary feature;

based on determining the subset of the plurality of stationary features, determining, for each respective stationary feature of the subset, whether one or more portions of the respective stationary feature are positioned within the threshold distance of the particular keypoint; and

based on determining whether the one or more portions of the respective stationary feature are positioned within the threshold distance of the particular keypoint, determining that the portion of the particular stationary feature is positioned within the threshold distance of the particular keypoint.

11. The computer-implemented method of claim 1 , determining the map comprises:

receiving, from the sensor, additional sensor data representing one or more of the plurality of stationary features of the environment; and

generating the map based on the additional sensor data.

12. The computer-implemented method of claim 1 , further comprising:

determining, based on relative positions of keypoints of the plurality of keypoints, that the actor is engaged with the particular stationary feature, wherein the map is updated to indicate that the portion of the particular stationary feature is determined to have been touched additionally based on determining that the actor is engaged with the particular stationary feature.

13. The computer-implemented method of claim 1 , wherein the sensor data comprises a plurality of sensor data frames representing the actor within the environment at a plurality of different time points, and wherein the method further comprises:

determining, based on the plurality of sensor data frames, a plurality of representations of the actor corresponding to the plurality of different time points;

determining, based on the plurality of representations of the actor, a motion pattern of the actor; and

determining that the motion pattern of the actor indicates a contact between the actor and the particular stationary feature, wherein the map is updated to indicate that the portion of the particular stationary feature is determined to have been touched additionally based on determining that the motion pattern of the actor indicates the contact between the actor and the particular stationary feature.

14. The computer-implemented method of claim 1 , wherein the body location corresponding to the particular keypoint is occluded within the sensor data, and wherein determining the representation of the actor comprises:

determining a position of the particular keypoint within the environment based on unoccluded body locations of the actor.

15. The computer-implemented method of claim 1 , wherein, when the body location corresponding to the particular keypoint is unoccluded within the sensor data, the threshold distance has a first value, and wherein, when the body location corresponding to the particular keypoint is occluded within the sensor data, the threshold distance has a second value larger than the first value.

16. The computer-implemented method of claim 1 , wherein updating the map comprises:

updating the map to indicate a touch time at which the portion of the particular stationary feature is determined to have been touched.

17. The computer-implemented method of claim 1 , wherein updating the map comprises:

updating the map to indicate an extent to which the portion of the particular stationary feature has been touched based on one or more of: (i) a distance between the portion of the particular stationary feature and the particular keypoint or (ii) a number of times that the portion of the particular stationary feature has been positioned within a respective threshold distance of one or more keypoints of the plurality of keypoints, wherein an extent of cleaning of the portion of the particular stationary feature is based on the extent to which the portion of the stationary feature has been touched.

18. A system comprising:

a sensor; and

circuitry configured to perform operations comprising:

determining a map that represents a plurality of stationary features of an environment;

receiving, from the sensor, sensor data representing the environment;

determining, based on the sensor data, a representation of an actor within the environment, wherein the representation comprises a plurality of keypoints representing corresponding body locations of the actor;

determining that a portion of a particular stationary feature of the plurality of stationary features of the environment is positioned within a threshold distance of a particular keypoint of the plurality of keypoints;

based on determining that the particular keypoint is positioned within the threshold distance of the portion of the particular stationary feature, updating the map to indicate that the portion of the particular stationary feature is determined to have been touched; and

based on the map as updated, providing an output indicating that the portion of the particular stationary feature is determined to have been touched.

19. The system of claim 18 , wherein providing the output comprises:

displaying a visual representation indicating that the portion of the particular stationary feature is determined to have been touched.

20. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a computing device, cause the computing device to perform operations comprising:

determining a map that represents a plurality of stationary features of an environment;

receiving, from a sensor, sensor data representing the environment;

determining, based on the sensor data, a representation of an actor within the environment, wherein the representation comprises a plurality of keypoints representing corresponding body locations of the actor;

determining that a portion of a particular stationary feature of the plurality of stationary features of the environment is positioned within a threshold distance of a particular keypoint of the plurality of keypoints;

based on determining that the particular keypoint is positioned within the threshold distance of the portion of the particular stationary feature, updating the map to indicate that the portion of the particular stationary feature is determined to have been touched; and

based on the map as updated, providing an output indicating that the portion of the particular stationary feature is determined to have been touched.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2021
From: REPHAELI, EDEN; SATAT, GUY; LAM, DANIEL; HOLSON, BENJAMIN; XU, JIAJUN
To: X DEVELOPMENT LLC
Reel/Frame 056947/0961 →
Continuity (2)
Continuation 17131252 · Dec 22, 2020
Related Publication 20220193888A1 · Jun 23, 2022