IP Library Granted Patent US 12,427,661
Granted Patent B2
US 12,427,661 · App. 17/474,454 · Granted Sep 30, 2025

Anomaly detection in latent space representations of robot movements

Inventors: Adrian Kaehler (Campbell, CA); Jeff Kranski (Campbell, CA); Chris Cianci (Campbell, CA)
Assignee: Sanctuary Cognitive Systems Corporation
B25J9/1653B25J9/163B25J9/1682B25J9/1689B25J19/023G06F18/23
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,427,661
App. No.
17/474,454
Granted
Sep 30, 2025
Kind
B2
Abstract

Provided is a process, including: obtaining, with a computer system, access to a specification indicating which regions of an embedding space are designated as anomalous relative to vectors in the embedding space characterizing past behavior of a first instance of a dynamical system; receiving, with the computer system, multi-channel input indicative of a state of a second instance of the dynamical system; and classifying, with the computer system, whether the state of the second instance of the dynamical system is anomalous by: encoding the multi-channel input into a vector in the embedding space; causing the specification to be applied to the vector; obtaining a result of applying the specification to the vector; and classifying whether the state of the second instance of the dynamical system is anomalous based on the result; and storing the classification in memory.

Claims (75)

1. A system for detecting anomalous robot states, the system comprising:

a robot having a robot body with joints, the robot comprising one or more processors and computer program instructions that, when executed, cause the one or more processors to perform operations comprising:

determining a sequence of embeddings, wherein each embedding encodes a time-slice of a plurality of channels of sensor data indicative of a state of the robot and an environment of the robot in a lower-dimensional space than a dimensionality of the sensor data, the state of the robot comprising joint states of the robot, the lower-dimensional space having more than 10 dimensions, wherein the sequence of embeddings is associated with a specified task that the robot has been instructed to complete;

determining, based on the sequence of embeddings and based on a reinforcement learning model trained for performing the specified task, an action of the specified task for the robot to perform;

causing the robot to perform the action;

obtaining sensor data of the robot, wherein the sensor data comprises image data generated by a camera of the robot, and wherein the sensor data further comprises an indication of joint states of the robot;

generating, based on inputting the sensor data into an embedding model, a first embedding indicating a current state of the robot, wherein the current state of the robot comprises current joint states of the robot;

determining, with an anomaly detection model, based on the first embedding, that the first embedding corresponds to an anomaly in the current state of the robot, wherein the anomaly detection model is trained on a set of sequences of embeddings in an embedding space to identify an anomalous area or a non-anomalous area of the embedding space, wherein each sequence of embeddings in the set of sequences of embeddings corresponds to different movements of joints of a robot instance while the robot instance performed a task, and wherein each embedding in the sequence of embeddings encodes a plurality of channels of sensor data of the corresponding robot instance in the embedding space; and

in response to determining that the first embedding corresponds to an anomaly in the current state of the robot, preventing the robot from performing additional actions associated with the specified task.

2. The system of claim 1 , wherein the anomaly detection model comprises a clustering model, and wherein determining that the first embedding corresponds to an anomaly comprises:

determining that the first embedding does not correspond to any cluster of a plurality of clusters, wherein each cluster of the plurality of clusters comprises embeddings corresponding to tasks that the robot has been trained to complete.

3. The system of claim 1 , wherein determining that the first embedding corresponds to an anomaly comprises:

determining that the first space embedding is not contained within a multidimensional volume corresponding to a bounding envelope in embedding space observed during training.

4. The system of claim 1 , wherein determining that the first embedding corresponds to an anomaly in the current state of the robot comprises:

generating a similarity score by using a distance metric to compare the first embedding with a second embedding of the sequence of embeddings;

determining that the similarity score is lower than a threshold similarity score; and

in response to determining that the similarity score is lower than a threshold similarity score, classifying the first embedding as an anomaly.

5. The system of claim 1 , wherein determining that the first embedding corresponds to an anomaly in the current state of the robot comprises:

generating, based on inputting the first embedding into the anomaly detection model, a score indicative of whether the first embedding is an anomaly; and

based on determining that the score fails to satisfy a threshold, causing the robot to continue to perform the specified task.

6. The system of claim 1 , wherein the instructions, when executed, effectuate operations further comprising:

generating, based on inputting the first embedding into the anomaly detection model, a score indicative of whether the first embedding is an anomaly; and

based on determining that the score fails to satisfy a threshold, causing the robot to move to a charging station associated with the robot.

7. The system of claim 1 , wherein the instructions, when executed, effectuate operations further comprising:

in response to determining that the first embedding corresponds to an anomaly, sending an alert to a server, wherein the alert indicates that a teleoperator should take control over the robot.

8. The system of claim 1 , wherein the sensor data comprises information obtained from a motor position sensor of the robot, a touch sensor located in a finger of the robot, a motor current sensor of the robot, and a depth camera of the robot.

9. The system of claim 1 , further comprising:

adjusting a first weight of the embedding model based on the action determined by the reinforcement learning model; and

adjusting a second weight of the reinforcement learning model based on the first embedding generated via the reinforcement learning model.

10. The system of claim 1 , further comprising:

in response to determining that the first embedding corresponds to an anomaly in the current state of the robot, adjusting a weight of the reinforcement learning model, wherein adjusting the weight of the reinforcement learning model reduces a likelihood of the robot performing an action associated with an anomalous embedding.

11. The system of claim 1 , wherein a time of less than 100 milliseconds transpires between determining that the first embedding corresponds to an anomaly in the current state of the robot and preventing the robot from performing further actions associated with the specified task.

12. The system of claim 1 , wherein the system comprises a server and the server is configured to perform operations comprising:

receiving data from a plurality of robots, wherein the plurality of robots comprises the robot;

generating an updated anomaly detection model by training, based on the data, the anomaly detection model; and

sending the updated anomaly detection model to the robot, wherein the data comprises embeddings generated by each robot of the plurality of robots and sensor data from each robot of the plurality of robots.

13. The system of claim 1 , wherein the system comprises a server and the instructions, when executed, effectuate operations further comprising:

in response to determining that the first embedding corresponds to an anomaly, sending a query to the server, wherein the query comprises the first embedding;

in response to sending the query to the server, receiving a second sequence of embeddings; and

causing the robot to perform actions corresponding to the second sequence of embeddings.

14. The system of claim 1 , wherein the system comprises a server and the server is configured to perform operations comprising:

in response to receiving a query associated with the first embedding, determining, based on the first embedding, an action for the robot to perform; and

sending, to the robot, instructions for performing the action, wherein determining an action for the robot to perform comprises:

comparing the first embedding with a plurality of embeddings, wherein each embedding of the plurality of embeddings corresponds to an anomaly, and wherein each embedding of the plurality of embeddings is associated with a sequence of embeddings generated from actions performed by a teleoperator; and

based on comparing the first embedding with a plurality of embeddings, determining an action for the robot to perform, wherein the action comprises a second sequence of embeddings associated with the first embedding.

15. The system of claim 1 , wherein the system comprises a server and the server is configured to perform operations comprising:

receiving data from a plurality of robots, wherein the plurality of robots comprises the robot, wherein the data indicates anomalous embeddings generated by each robot in the plurality of robots;

determining, based on the data, an area in an embedding space associated with the embeddings, wherein embeddings that are outside the area correspond to anomalies; and

sending an indication of the area to the robot.

16. The system of claim 1 , wherein the robot comprises a tendon-drive humanoid robot with more than 40 degrees of freedom, having two arms coupled to a torso, each arm having a shoulder, elbow, wrist joint, and a respective hand with five respective fingers.

17. A method of detecting anomalous robot states, the method comprising:

obtaining, with a computer system, access to an anomaly detection model trained on a set of sequences of embeddings in an embedding space to identify an anomalous area or a non-anomalous area of the embedding space, each sequence of embeddings in the set of sequences of embeddings corresponding to different movements of joints of a robot instance while the robot instance performed a task, each embedding in the sequence of embeddings encoding a plurality of channels of sensor data of the corresponding robot instance in the embedding space;

receiving, with the computer system, a multi-channel input comprising a plurality of channels of sensor data of a specified robot instance performing the task;

encoding, with the computer system, the multi-channel input into a new embedding vector in the embedding space, the new embedding vector representing a current state of the specified robot instance, wherein the current state comprises current joint states of the specified robot instance;

applying, with the computer system, the new embedding vector to the anomaly detection model to obtain a result;

determining, with the computer system, that the current state of the specified robot instance is an anomalous state based on the result of the anomaly detection model; and

triggering, with the computer system, a response to the anomalous state of the specified robot instance.

18. The method of claim 17 , wherein the set of sequences of embeddings are generated from sensor data of multiple robot instances performing tasks.

19. The method of claim 17 , wherein the anomaly detection model performs operations comprising:

applying the set of sequences of embeddings to a cluster model to generate clusters of embeddings; and

designating an area of the embedding space outside of the clusters of embeddings as anomalous.

20. The method of claim 19 , wherein the anomaly detection model further performs operations comprising:

determining that the new embedding does not belong to any of the clusters.

21. The method of claim 17 , wherein the new embedding is generated by an encoder communicatively coupled to a reinforcement learning model, and further comprising:

determining, by the reinforcement learning model, an action for the given robot instance based on an embedding in the embedding space; and

training the reinforcement learning model and the encoder concurrently with end-to-end learning with a single objective function that is optimized by adjusting parameters of both the reinforced learning model and the encoder.

22. The method of claim 17 , wherein triggering, with the computer system, a response to the anomalous state of the given robot instance comprises storing the result of the anomaly detection model in memory.

23. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:

obtaining, with a computer system, access to an anomaly detection model trained on a set of sequences of embeddings in an embedding space to identify an anomalous area or a non-anomalous area of the embedding space, each sequence of embeddings in the set of sequences of embeddings corresponding to different movements of joints of a robot instance while the robot instance performed a task, each embedding in the sequence of embeddings encoding a plurality of channels of sensor data of the corresponding robot instance in the embedding space;

receiving, with the computer system, a multi-channel input comprising a plurality of channels of sensor data of a specified robot instance performing the task;

encoding, with the computer system, the multi-channel input into a new embedding vector in the embedding space, the new embedding vector representing a current state of the specified robot instance, wherein the current state comprises current joint states of the specified robot instance;

applying, with the computer system, the new embedding vector to the anomaly detection model to obtain a result;

determining, with the computer system, that the current state of the specified robot instance is an anomalous state based on the result of the anomaly detection model; and

triggering, with the computer system, a response to the anomalous state of the specified robot instance.

24. The method of claim 23 , wherein triggering, with the computer system, a response to the anomalous state of the specified robot instance comprises storing the result of the anomaly detection model in memory.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: KAEHLER, ADRIAN
To: GIANT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 062590/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: KRANSKI, JEFF
To: GIANT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 062590/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: GIANT AI, INC.
To: GIANT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 062590/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: GIANT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: SANCTUARY COGNITIVE SYSTEMS CORPORATION
Reel/Frame 062590/0244 →
EMPLOYEE INVENTIONS ASSIGNMENT AGREEMENT Recorded Feb 3, 2023
From: CIANCI, CHRIS
To: GIANT.AI, INC.
Reel/Frame 062655/0677 →
Continuity (1)
Related Publication 20230078625A1 · Mar 16, 2023
References Cited (20)
US 10766137B1 · Porter · 2020 [cited by examiner]
US 20170124476A1 · Levinson · 2017 [cited by examiner]
US 20180341836A1 · Lim · 2018 [cited by examiner]
US 20190108448A1 · O'Malia · 2019 [cited by examiner]
US 20190135300A1 · Gonzalez Aguirre · 2019 [cited by examiner]
US 20210081752A1 · Chao et al. · 2021 [cited by applicant]
US 20210165415A1 · Lee · 2021 [cited by examiner]
US 20210252698A1 · Paxton et al. · 2021 [cited by applicant]
US 20210253128A1 · Nister et al. · 2021 [cited by applicant]
US 20210357782A1 · Graves et al. · 2021 [cited by applicant]
US 20210387330A1 · Mavrin et al. · 2021 [cited by applicant]
US 20220016766A1 · Humayun et al. · 2022 [cited by applicant]
US 20220035973A1 · Liebman et al. · 2022 [cited by applicant]
US 20220051138A1 · Stoll et al. · 2022 [cited by applicant]
US 20220084272A1 · Wang et al. · 2022 [cited by applicant]
US 20220101627A1 · Pappas et al. · 2022 [cited by applicant]
US 20220129666A1 · Cherian · 2022 [cited by examiner]
US 20220402123A1 · Niemueller · 2022 [cited by examiner]
Mehling et al., “Centaur: NASA's Mobile Humanoid Designed for Field Work”, 2007 IEEE International Conference on Robotics and Automation, Roma, Italy, Apr. 10-14, 2007 (Year: 2007). [cited by examiner]
Internet Archive of “Transfer Learning,” Wikipedia, https://web.archive.org/web/20210331015532/https://en.wikipedia.org/wiki/Transfer_learning, Mar. 31, 2021, pp. 1-5. [cited by applicant]