IP Library Granted Patent US 12,265,910
Granted Patent B2
US 12,265,910 · App. 17/930,874 · Granted Apr 1, 2025

Sharing learned information among robots

Inventors: Nareshkumar Rajkumar (Cupertino, CA); Patrick Leger (Belmont, CA); Nicolas Hudson (San Mateo, CA); Krishna Shankar (Los Altos, CA); Rainer Hessmer (Los Gatos, CA)
Assignee: Google LLC
G06N3/08B25J9/0003B25J9/1671G05B2219/45108H04L67/12H04L67/568
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 12,265,910
App. No.
17/930,874
Granted
Apr 1, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for sharing learned information among robots. In some implementations, a robot obtains sensor data indicating characteristics of an object. The robot determines a classification for the object and generates an embedding for the object using a machine learning model stored by the robot. The robot stores the generated embedding and data indicating the classification for the object. The robot sends the generated embedding and the data indicating the classification to a server system. The robot receives, from the server system, an embedding generated by a second robot and a corresponding classification. The robot stores the received embedding and the corresponding classification in the local cache of the robot. The robot may then use the information in the cache to identify objects.

Claims (37)

1. A computer-implemented method comprising:

receiving, over a communication network by a server system from a first robot, a first embedding for a first object generated using a machine learning model stored by the first robot;

receiving, over the communication network by the server system from the first robot, data indicating a classification for the first object, wherein the first embedding and the data indicating the classification for the first object are stored in a local cache of the first robot; and

sending, over the communication network by the server system to the first robot, a second embedding and a corresponding classification for storage in the local cache of the first robot, wherein the second embedding is generated by a second robot and corresponds to a second object.

2. The computer-implemented method of claim 1 , further comprising providing, by the server system to the first robot, an updated machine learning model to replace the machine learning model stored by the first robot.

3. The computer-implemented method of claim 2 , wherein updated machine learning models are provided by the server system to the first robot periodically at a first interval larger than a second interval at which embeddings from one or more other robots are provided to the first robot.

4. The computer-implemented method of claim 2 , wherein the updated machine learning model is determined based on embeddings received by the server system from one or more other robots.

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

receiving, by the server system, a plurality of embeddings from a plurality of robots; and

transmitting, by the server system to the first robot, aggregated embeddings comprising the plurality of embeddings received from the plurality of robots.

6. The computer-implemented method of claim 1 , further comprising storing, by the server system, a database including a table of classification labels corresponding to embeddings generated by a plurality of robots.

7. The computer-implemented method of claim 6 , wherein the database further comprises sensor data used to generate embeddings stored in the database.

8. The computer-implemented method of claim 6 , further comprising determining whether to share a particular embedding with one or more robots based on comparing a classification label received with the particular embedding with classification labels in the database.

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

labelling, by the server system, additional embeddings with corresponding robot type; and

selectively sharing, by the server system, the additional embeddings with robots based on the corresponding robot type associated with each embedding.

10. The computer-implemented method of claim 1 , further comprising performing, by the server system, periodic synchronizations in which the server system requests each of a plurality of robots to upload any new embeddings since a last synchronization.

11. The computer-implemented method of claim 1 , further comprising determining, by the server system, which of a plurality of robots should receive one or more shared embeddings based on a role currently assigned to each of the plurality of robots.

12. The computer-implemented method of claim 1 , further comprising evaluating, by the server system, a quality of the data received from the first robot before distributing the data to one or more other robots.

13. The computer-implemented method of claim 1 , wherein the machine learning model is a neural network model, and wherein the first embedding is derived from output at an output layer of the neural network model.

14. The computer-implemented method of claim 1 , wherein the machine learning model is a neural network model, and wherein the first embedding is derived from the data indicating activations at a hidden layer of the neural network model.

15. A server system comprising:

one or more processors; and

one or more machine-readable media storing instructions that, when executed by the one or more processors, cause the server system to perform operations comprising:

receiving, over a communication network by the server system from a first robot, a first embedding for a first object generated using a machine learning model stored by the first robot;

receiving, over the communication network by the server system from the first robot, data indicating a classification for the first object, wherein the first embedding and the data indicating the classification for the first object are stored in a local cache of the first robot; and

sending, over the communication network by the server system to the first robot, a second embedding and a corresponding classification for storage in the local cache of the first robot, wherein the second embedding is generated by a second robot and corresponds to a second object.

16. The server system of claim 15 , the operations further comprising providing, by the server system to the first robot, an updated machine learning model to replace the machine learning model stored by the first robot.

17. The server system of claim 16 , wherein updated machine learning models are provided by the server system to the first robot periodically at a first interval larger than a second interval at which embeddings from one or more other robots are provided to the first robot.

18. The server system of claim 16 , wherein the updated machine learning model is determined based on embeddings received by the server system from one or more other robots.

19. The server system of claim 15 , the operations further comprising:

receiving, by the server system, a plurality of embeddings from a plurality of robots; and

transmitting, by the server system to the first robot, aggregated embeddings comprising the plurality of embeddings received from the plurality of robots.

20. One or more machine-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, over a communication network by a server system from a first robot, a first embedding for a first object generated using a machine learning model stored by the first robot;

receiving, over the communication network by the server system from the first robot, data indicating a classification for the first object, wherein the first embedding and the data indicating the classification for the first object are stored in a local cache of the first robot; and

sending, over the communication network by the server system to the first robot, a second embedding and a corresponding classification for storage in the local cache of the first robot, wherein the second embedding is generated by a second robot and corresponds to a second object.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071465/0754 →
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 Sep 12, 2022
From: RAJKUMAR, NARESHKUMAR; LEGER, PATRICK; HUDSON, NICOLAS; SHANKAR, KRISHNA; HESSMER, RAINER
To: X DEVELOPMENT LLC
Reel/Frame 061060/0254 →
Continuity (2)
Continuation 15855329 · Dec 27, 2017
Related Publication 20230004802A1 · Jan 5, 2023
References Cited (74)
US 4884216A · Kuperstein · 1989 [cited by applicant]
US 5673367A · Buckley · 1997 [cited by applicant]
US 6904335B2 · Solomon · 2005 [cited by applicant]
US 8369992B2 · Barajas et al. · 2013 [cited by applicant]
US 9053431B1 · Commons · 2015 [cited by applicant]
US 9141916B1 · Corrado et al. · 2015 [cited by applicant]
US 9384443B2 · Passot et al. · 2016 [cited by applicant]
US 9687984B2 · Smith et al. · 2017 [cited by applicant]
US 9740207B2 · Storfer et al. · 2017 [cited by applicant]
US 10730181B1 · Rajkumar et al. · 2020 [cited by applicant]
US 10803328B1 · Bai et al. · 2020 [cited by applicant]
US 10967509B2 · Rajkumar · 2021 [cited by examiner]
US 11017317B2 · Rajkumar et al. · 2021 [cited by applicant]
US 11106967B2 · Shankar et al. · 2021 [cited by applicant]
US 11440196B1 · Kirmani · 2022 [cited by examiner]
US 11475291B2 · Rajkumar · 2022 [cited by examiner]
US 11584004B2 · Murphy · 2023 [cited by examiner]
US 11640517B2 · Shankar · 2023 [cited by examiner]
US 11685048B2 · Rajkumar · 2023 [cited by examiner]
US 11766783B2 · Kirmani · 2023 [cited by examiner]
US 20080243305A1 · Lee et al. · 2008 [cited by applicant]
US 20090210090A1 · Mori et al. · 2009 [cited by applicant]
US 20120072023A1 · Ota · 2012 [cited by applicant]
US 20130034295A1 · Tsuchinaga et al. · 2013 [cited by applicant]
US 20130184867A1 · Jang et al. · 2013 [cited by applicant]
US 20150339570A1 · Scheffler · 2015 [cited by applicant]
US 20160357855A1 · Fan et al. · 2016 [cited by applicant]
US 20170084027A1 · Mintz et al. · 2017 [cited by applicant]
US 20170213070A1 · Aghamohammadi et al. · 2017 [cited by applicant]
US 20170357896A1 · Tsatsin et al. · 2017 [cited by applicant]
US 20170364667A1 · Bennett et al. · 2017 [cited by applicant]
US 20180081179A1 · Samec et al. · 2018 [cited by applicant]
US 20180250826A1 · Jiang et al. · 2018 [cited by applicant]
US 20180285528A1 · Healey et al. · 2018 [cited by applicant]
US 20190005374A1 · Shankar et al. · 2019 [cited by applicant]
US 20190145765A1 · Luo et al. · 2019 [cited by applicant]
US 20200143193A1 · Najibikohnehshahri et al. · 2020 [cited by applicant]
US 20200311616A1 · Rajkumar et al. · 2020 [cited by applicant]
US 20200324407A1 · Rajkumar et al. · 2020 [cited by applicant]
US 20210220991A1 · Rajkumar et al. · 2021 [cited by applicant]
US 20210256424A1 · Rajkumar · 2021 [cited by examiner]
US 20210390371A1 · Shankar et al. · 2021 [cited by applicant]
US 20230281422A1 · Shankar · 2023 [cited by examiner]
WO 2016100717 · 2016 [cited by applicant]
Akata et al., “Label-Embedding for Attribute-Based Classification,” IEEE Conference on Computer Vision and Pattern Recognition, Jun. 2013, 8 pages. [cited by applicant]
Anonymous Authors, “Learning an Embedding Space for Transferable Robot Skills,” Under review as a conference paper at ICLR 2018, [retrieved on Jan. 31, 2018] Retrieved from Internet: URL<https://openreview.net/pdf?id=rk… [cited by applicant]
Aytar, Yusuf, “Transfer Learning for Object Category Detection,” Doctoral Thesis, Robotics Research Group, Department of Engineering Science, University of Oxford, Brasenose College, 2014, 146 pages. [cited by applicant]
Barrett et al., “Transfer Learning for Reinforcement Learning on a Physical Robot,” 9th International Conference on Autonomous Agents and Multiagent Systems—Adaptive Learning Agents Workshop, May 2010, 6 pages. [cited by applicant]
Bihlmaier et al., “A data-driven large-scale optimization approach for task-specific physics realism in real-time robotics simulation,” 2016 IEEE International Conference on Simulation, Modeling, and Programming for Aut… [cited by applicant]
Chen et al., “A Deep Visual Correspondence Embedding Model for Stereo Matching Costs,” IEEE International Conference on Computer Vision, Dec. 2015, 9 pages. [cited by applicant]
Doriy et al., “Use of Cloud Computing Platforms Towards Robotics Applications,” IEEE, 2017, 7 pages. [cited by applicant]
Gräser, Axel, “Technological Solutions to Autonomous Robot Control,” IEEE, 1998, 7 pages. [cited by applicant]
Gupta et al., “Learning Invariant Feature Spaces to Transfer Skills with Reinforcement Learning,” arXiv:1703.02949v1, Mar. 8, 2017, 14 pages. [cited by applicant]
International Searching Authority, International Search Report and Written Opinion mailed on Dec. 14, 2018, issued in connection with International Patent Application No. PCT/US2018/050868, 14 pages. [cited by applicant]
Kajdocsi et al., “Review of the Most Successfully used Cognitive Architectures in Robotics and a Proposal for a New Model of Knowledge Acquisition,” 2014 IEEE 12th International Symposium on Intelligent Systems and Info… [cited by applicant]
Keller et al., “Analysis of Illumination Robustness in Long-Term Object Learning,” 2016 25th IEEE International Symposium on Robot and Human Interactive Communication, Aug. 2016, pp. 240-245. [cited by applicant]
Kira, Zsolt, “Inter-Robot Transfer Learning for Perceptual Classification,” Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems, May 2010, 8 pages, vol. 1. [cited by applicant]
Martens et al., “A Friend for Assisting Handicapped People,” IEEE, 2001, 9 pages. [cited by applicant]
Modayil, Joseph, “Discovering Sensor Space: Constructing Spatial Embeddings That Explain Sensor Correlations,” IEEE 9th International Conference on Development and Learning, Aug. 2010, 6 pages. [cited by applicant]
Ngu, Vinh, “Machine Learning in Robotics,” Powerpoint, Universitat Hamburg, Fakulat Fur Mathematik, INformatick and Naruwissenschaften, Fachberich Informatik, Arbeitsbereich TAMS, Masterprojekt SoSe17, Jun. 2017, [retri… [cited by applicant]
Pan et al., “A Survey on Transfer Learning,” IEEE Transaction on Knowledge and Data Engineering, Oct. 2009, 15 pages, vol. 22, No. 10. [cited by applicant]
Pauly et al., “Real-Time Object Detection for Autonomous Robots,” Autonome Mobile Systeme (AMS) 14, Fachegesprche, Springer-Verlag, 1998, 8 pages. [cited by applicant]
Qi et al., “PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation,” arXiv:1612.00593v2, Apr. 10, 2017, 19 pages. [cited by applicant]
Ramanathan et al., “Active Object Categorization on a Humanoid Robot,” VISAPP, Mar. 2011, 7 pages. [cited by applicant]
Ray, Partha Pratim, “Internet of Robotic Things: Concept, Technologies, and Challenges,” IEEE, 2016, 12 pages. [cited by applicant]
Sermanet et al., “Time-Contrastive Networks: Self-Supervised Learning from Video,” arXiv:1704.06888v2, Oct. 6, 2017, 15 pages. [cited by applicant]
Tai et al., “Deep-learning in Mobile Robotics—from Perception to Control Systems: A Survey on Why and Why Not,” arXiv:1612.07139v3, Jan. 1, 2017, 16 pages. [cited by applicant]
Tenorth et al., “KNOWROB—knowledge processing for autonomous personal robots,” 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 2009, pp. 4261-4266. [cited by applicant]
Wang et al., “How Robots Learn to Classify New Objects Trained from Small Data Sets,” 1st Conference on Robot Learning, Oct. 18, 2017, 10 pages. [cited by applicant]
Wikipedia, “Cloud Robotics,” retrieved from the internet (Jan. 30, 2018) URL<hppts://www.en.wikipedia.org/wiki/Cloud_robotics>, 8 pages. [cited by applicant]
Wikipedia, “Robot Learning,” retrieved from the internet (Jan. 30, 2018) URL<hppts://www.en.wikipedia.org/wiki/Robot_learning>, 4 pages. [cited by applicant]
Wohlkinger et al., “3D Object Classification for Mobile Robots in Home-Environments Using Web-Data,” IEEE 19th International Workshop on Robotics in Alpre-Adria-Dunube Region (RAAD), Jun. 2010, 6 pages. [cited by applicant]
Wulfmeier et al., “Mutual Alignment Transfer Learning,” 1st Conference on Robotic Learning, Oct. 2017, 10 pages. [cited by applicant]
Yan et al., “A Survey and Analysis of Multi-Robot Coordination,” International Journal of Advanced Robotic Systems, Accepted Oct. 23, 2013, 18 pages. [cited by applicant]