IP Library Granted Patent US 12,533,802
Granted Patent B2
US 12,533,802 · App. 18/231,890 · Granted Jan 27, 2026

Multi-purpose robots and computer program products, and methods for operating the same

Inventors: Suzanne Gildert (Vancouver, CA); Olivia Norton (North Vancouver, CA); Geordie Rose (Vancouver, CA)
Assignee: Sanctuary Cognitive Systems Corporation
B25J9/163
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,533,802
App. No.
18/231,890
Granted
Jan 27, 2026
Kind
B2
Abstract

Robots, systems, methods, and computer program products for training and operating (semi-)autonomous robots to complete work objectives are described. A robot accesses a library of reusable work primitives from a catalog of libraries of reusable work primitives, each reusable work primitive corresponding to a respective basic sub-action that the robot is trained to autonomously perform. A work objective is analyzed to determine a sequence of reusable work primitives that complete the work objective, and the robot executes the sequence to complete the work objective. A robot can be deployed with access to an appropriate library of reusable work primitives, based on expectations for the robot. The robot is trained to perform reusable work primitives in multiple libraries, by generating control instructions which cause the robot to perform each reusable work primitive. Training is performed by real-world robots performing reusable work primitives, or simulated robot instances performing the reusable work primitives.

Claims (68)

1 . A system for training a robot to complete a plurality of work objectives including at least one first work objective in a first service category and at least one second work objective in a second service category, the system comprising:

at least one processor;

at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor executable instructions or data which when executed by the at least one processor cause the system to:

access a definition of a first library of reusable work primitives each performable by the robot, wherein at least one respective combination and permutation of reusable work primitives from the first library of reusable work primitives are initiated and executed by the robot in order to complete the at least one first work objective in the first service category; and

access a definition of a second library of reusable work primitives each performable by the robot, the second library of reusable work primitives being at least partially different from the first library of reusable work primitives, wherein at least one respective combination and permutation of reusable work primitives from the second library of reusable work primitives are initiated and executed by the robot in order to complete the at least one second work objective in the second service category;

generate first training data for the robot to autonomously perform each reusable work primitive in the first library of reusable work primitives; and

generate second training data for the robot to autonomously perform each reusable work primitive in the second library of reusable work primitives, wherein the processor-executable instructions or data which cause the system to generate the second training data, cause the system to:

generate a subset of training data for the robot to perform each reusable work primitive in the second library of reusable work primitives which is not included in the first library of reusable work primitives; and

retrieve another subset of training data for the robot to perform each reusable work primitive in the second library of reusable work primitives which is included in the first library of reusable work primitives, wherein the other subset of training data is at least a portion of the first training data.

2 . The system of claim 1 , wherein:

the first library of reusable work primitives and the second library of reusable work primitives are included in a catalog of libraries of reusable work primitives;

the processor-executable instructions or data further cause the system to generate a catalog of training data for the robot to autonomously perform each reusable work primitive in the catalog of libraries of reusable work primitives;

the processor-executable instructions or data which cause the system to generate the first training data are included in the processor-executable instructions or data which cause the system to generate the catalog of training data; and

the processor-executable instructions or data which cause the system to generate the second training data are included in the processor-executable instructions or data which cause the system to generate the catalog of training data.

3 . The system of claim 1 wherein:

the processor-executable instructions or data which cause the system to generate the first training data cause the system to generate the first training data by simulating operation of the robot performing reusable work primitives in the first library of reusable work primitives in a simulated environment; and

the processor-executable instructions or data which cause the system to generate the second training data cause the system to generate the second training data by simulating operation of the robot performing reusable work primitives in the second library of reusable work primitives in the simulated environment.

4 . The system of claim 3 wherein the processor-executable instructions or data which cause the system to simulate operation of the robot performing reusable work primitives in the first library of reusable work primitives or in the second library of reusable work primitives in the simulated environment cause the system to:

generate a first simulated instance of the robot in the simulated environment;

repeatedly execute control instructions to cause the first simulated instance of the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives; and

refine the control instructions based on at least one result of repeatedly executing the control instructions.

5 . The system of claim 4 wherein the processor-executable instructions or data which cause the system to simulate operation of the robot performing reusable work primitives in the first library of reusable work primitives or in the second library of reusable work primitives in the simulated environment further cause the system to:

generate at least one additional simulated instance of the robot in the simulated environment;

repeatedly execute the control instructions to cause the at least one additional simulated instance of the robot to perform the first reusable work primitive; and

refine the control instructions that cause both the first simulated instance of the robot and the at least one additional simulated instance of the robot to perform the first reusable work primitive based on at least one result of repeatedly executing the control instructions to cause the first simulated instance of the robot and the at least one additional simulated instance of the robot to perform the first reusable work primitive.

6 . The system of claim 1 wherein the processor-executable instructions or data which cause the system to generate the first training data or which cause the system to generate the second training data cause the system to:

execute received teleoperation instructions that cause the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives of reusable work primitives; and

generate control instructions that cause the robot to perform the first reusable work primitive.

7 . The system of claim 1 wherein the processor-executable instructions or data which cause the system to generate the first training data or which cause the system to generate the second training data cause the system to:

generate a simulated instance of the robot in a simulated environment;

execute received teleoperation instructions that cause the simulated instance of the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives of reusable work primitives; and

generate control instructions that cause the simulated instance of the robot to perform the first reusable work primitive.

8 . The system of claim 1 wherein the processor-executable instructions or data which cause the system to generate the first training data or which cause the system to generate the second training data cause the system to:

generate control instructions that, when executed by at least one processor of the robot, cause the robot to autonomously perform each reusable work primitive in the first library of reusable work primitives and the second library of reusable work primitives; and

store the generated control instructions on a non-transitory processor-readable storage medium of the robot.

9 . A computer program product comprising at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by at least one processor of a processor-based system, cause the processor-based system to:

access a definition of a first library of reusable work primitives each performable by a robot, wherein at least one respective combination and permutation of reusable work primitives from the first library of reusable work primitives are initiable and executable by the robot in order to complete at least one first work objective in a first service category; and

access a definition of a second library of reusable work primitives each performable by the robot, the second library of reusable work primitives being at least partially different from the first library of reusable work primitives, wherein at least one respective combination and permutation of reusable work primitives from the second library of reusable work primitives are initiable and executable by the robot in order to complete at least one second work objective in a second category;

generate first training data for the robot to autonomously perform each reusable work primitive in the first library of reusable work primitives; and

generate second training data for the robot to autonomously perform each reusable work primitive in the second library of reusable work primitives, wherein the processor-executable instructions or data which cause the processor-based to generate the second training data cause the processor-based system to:

generate a subset of training data for the robot to perform each reusable work primitive in the second library of reusable work primitives which is not included in the first library of reusable work primitives; and

retrieve another subset of training data for the robot to perform each reusable work primitive in the second library of reusable work primitives which is included in the first library of reusable work primitives, wherein the other subset of training data is at least a portion of the first training data.

10 . The computer program product of claim 9 , wherein:

the first library of reusable work primitives and the second library of reusable work primitives are included in a catalog of libraries of reusable work primitives;

the processor-executable instructions or data further cause the processor-based system to generate a catalog of training data for the robot to autonomously perform each reusable work primitive in the catalog of libraries of reusable work primitives;

the processor-executable instructions or data which cause the processor-based system to generate the first training data are included in the processor-executable instructions or data which cause the processor-based system to generate the catalog of training data; and

the processor-executable instructions or data which cause the processor-based system to generate the second training data are included in the processor-executable instructions or data which cause the processor-based system to generate the catalog of training data.

11 . The computer program product of claim 9 wherein:

the processor-executable instructions or data which cause the processor-based system to generate the first training data cause the processor-based system to generate the first training data by simulating operation of the robot performing reusable work primitives in the first library of reusable work primitives in a simulated environment; and

the processor-executable instructions or data which cause the processor-based system to generate the second training data cause the processor-based system to generate the second training data by simulating operation of the robot performing reusable work primitives in the second library of reusable work primitives in the simulated environment.

12 . The computer program product of claim 11 wherein the processor-executable instructions or data which cause the processor-based system to simulate operation of the robot performing reusable work primitives in the first library of reusable work primitives or in the second library of reusable work primitives in the simulated environment cause the processor-based system to:

generate a first simulated instance of the robot in the simulated environment;

repeatedly execute control instructions to cause the first simulated instance of the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives; and

refine the control instructions based on at least one result of repeatedly executing the control instructions.

13 . The computer program product of claim 12 wherein the processor-executable instructions or data which cause the processor-based system to simulate operation of the robot performing reusable work primitives in the first library of reusable work primitives or in the second library of reusable work primitives in the simulated environment further cause the processor-based system to:

generate at least one additional simulated instance of the robot in the simulated environment;

repeatedly execute the control instructions to cause the at least one additional simulated instance of the robot to perform the first reusable work primitive; and

refine the control instructions that cause both the first simulated instance of the robot and the at least one additional simulated instance of the robot to perform the first reusable work primitive based on at least one result of repeatedly executing the control instructions to cause the first simulated instance of the robot and the at least one additional simulated instance of the robot to perform the first reusable work primitive.

14 . The computer program product of claim 9 wherein the processor-executable instructions or data which cause the processor-based system to generate the first training data or which cause the processor-based system to generate the second training data cause the processor-based system to:

execute received teleoperation instructions that cause the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives of reusable work primitives; and

generate control instructions that cause the robot to perform the first reusable work primitive.

15 . The computer program product of claim 9 wherein the processor-executable instructions or data which cause the processor-based system to generate the first training data or which cause the processor-based system to generate the second training data cause the processor-based system to:

generate a simulated instance of the robot in a simulated environment;

execute received teleoperation instructions that cause the simulated instance of the robot to perform a first reusable work primitive in the first library of reusable work primitives or the second library of reusable work primitives of reusable work primitives; and

generate control instructions that cause the simulated instance of the robot to perform the first reusable work primitive.

16 . The computer program product of claim 9 wherein the processor-executable instructions or data which cause the processor-based system to generate the first training data or which cause the processor-based system to generate the second training data cause the processor-based system to:

generate control instructions that, when executed by at least one processor of the robot, cause the robot to autonomously perform each reusable work primitive in the first library of reusable work primitives and the second library of reusable work primitives; and

provide the generated control instructions to the robot for storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2025
From: GILDERT, SUZANNE; NORTON, OLIVIA; ROSE, GEORDIE
To: SANCTUARY COGNITIVE SYSTEMS CORPORATION
Reel/Frame 071523/0831 →
Continuity (5)
Continuation In Part 17883737 · Aug 9, 2022
Provisional Application 63419212 · Oct 25, 2022
Provisional Application 63332750 · Apr 20, 2022
Provisional Application 63232694 · Aug 13, 2021
Related Publication 20230381958A1 · Nov 30, 2023
References Cited (10)
US 9643314B2 · Guerin · 2017 [cited by applicant]
US 9880553B1 · Hoffmann · 2018 [cited by applicant]
US 20160243701A1 · Gildert · 2016 [cited by applicant]
US 20190291277A1 · Oleynik · 2019 [cited by examiner]
US 20230381970A1 · Khansari Zadeh · 2023 [cited by examiner]
Roomba robot vacuum cleaner website—iRobot, tinyurl.com/y6eejeh9. [cited by applicant]
Boston Dynamics “Stretch,” logistics robot, tinyurl.com/yc7ph987. [cited by applicant]
Search Report in Application No. GB2418990.4, Intellectual Property Office, Jan. 27, 2025. [cited by applicant]
Combined Search and Examination Report under Sections 17 & 18(3) in Application No. GB2418990.4, Intellectual Property Office, Jan. 28, 2025. [cited by applicant]
Combined Search and Examination Report under Sections 17 & 18(3) in Application No. GB2418995.3, Intellectual Property Office, Feb. 26, 2025. [cited by applicant]