IP Library Granted Patent US 11,203,122
Granted Patent B2
US 11,203,122 · App. 16/054,977 · Granted Dec 21, 2021

Goal-based robot animation

Inventor: Kevin M. Karol (San Francisco, CA)
Assignee: Digital Dream Labs, LLC
B25J11/001B25J9/163B25J11/0015B25J19/023
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,203,122
App. No.
16/054,977
Granted
Dec 21, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing goal-based robot animation. One system includes a robot configured to receive a goal that specifies a goal state to be attained by the robot or one of the components. A collection of animation tracks is searched to identify one or more animation tracks that when executed by the robot cause the robot to perform one or more physical movements to satisfy the goal state. The identified one or more animation tracks are executed to perform the one or more physical movements to satisfy the received goal state.

Claims (40)

1. A robot comprising:

a body and one or more physically moveable components; one or more processors; and

one or more storage devices storing instructions that are operable, when executed by the one or more processors, to cause the robot to perform operations comprising:

receiving a goal that specifies a goal state to be attained by the robot or one of the components;

searching a collection of animation tracks to identify one or more animation tracks that when executed by the robot cause the robot to perform one or more physical movements to satisfy the goal state;

executing the identified one or more animation tracks to perform the one or more physical movements to satisfy the received goal state; and

wherein the goal state specifies a position or a style and appearance of simulated robot eyes that corresponds to a current emotion state for the robot.

2. The robot of claim 1 , wherein the goal state specifies a position or an orientation of the robot or one of the components.

3. The robot of claim 2 , wherein the position is a room in a particular building or an aerial position above a surface.

4. The robot of claim 1 , wherein searching the collection of animation tracks comprises: obtaining the current emotion state for the robot, wherein the current emotion state is one value of a plurality of different emotion states; and

penalizing animation tracks that do not match the current emotion state for the robot.

5. The robot of claim 1 , wherein searching the collection of animation tracks comprises recursively subdividing a distance between a current state of the robot and the goal state.

6. The robot of claim 1 , wherein the operations further comprise:

generating a plurality of candidate sets of animation tracks;

computing a score for each of the plurality candidate sets of animation tracks; ranking the candidate sets of animation tracks by the respective scores; and selecting a highest-scoring candidate animation track.

7. The robot of claim 6 , wherein computing a score for a candidate set of animation tracks comprises:

computing the score based on danger in the environment, a measure of time required to complete the candidate set of animation tracks, and a number of tracks in the candidate set.

8. The robot of claim 6 , wherein computing a score for a candidate set of animation tracks comprises:

computing a measure of concordance of the tracks in the candidate set with a current emotion state of the robot.

9. The robot of claim 1 , wherein the collection of animation tracks are each portions of pregenerated robot animations.

10. The robot of claim 9 , wherein each pregenerated robot animation is a human-designed robot animation having multiple tracks.

11. The robot of claim 1 , wherein the goal is received from a behavior engine that is functionally isolated from an animation selector that searches the collection of animation tracks.

12. The robot of claim 1 , wherein the collection of animation tracks comprises human-designed animation tracks, human-rated animation tracks, or both.

13. The robot of claim 1 , wherein the collection of animation tracks comprises animation tracks that were selected using a machine-learning model trained on human-designed animation tracks, human-rated animation tracks, or both.

14. A method performed by a robot, the method comprising:

receiving a goal that specifies a goal state to be attained by the robot or one of a plurality of moveable components of the robot;

searching a collection of animation tracks to identify one or more animation tracks that when executed by the robot cause the robot to perform one or more physical movements to satisfy the goal state; and

executing the identified one or more animation tracks to perform the one or more physical movements to satisfy the received goal state; and

wherein the goal state specifies a position or a style and appearance of simulated robot eyes that corresponds to a current emotion state for the robot.

15. The method of claim 14 , wherein the goal state specifies a position or an orientation of the robot or one of the components.

16. The method of claim 15 , wherein the position is a room in a particular building or an aerial position above a surface.

17. The method of claim 14 , wherein searching the collection of animation tracks comprises:

obtaining a current emotion state for the robot, wherein the current emotion state is one value of a plurality of different emotion states; and

penalizing animation tracks that do not match the current emotion state for the robot.

18. The method of claim 14 , wherein searching the collection of animation tracks comprises recursively subdividing a distance between a current state of the robot and the goal state.

19. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by a robot having a body and one or more physically moveable components cause robot to perform operations comprising:

receiving a goal that specifies a goal state to be attained by the robot or one of a plurality of moveable components of the robot;

searching a collection of animation tracks to identify one or more animation tracks that when executed by the robot cause the robot to perform one or more physical movements to satisfy the goal state; and

executing the identified one or more animation tracks to perform the one or more physical movements to satisfy the received goal state; and

wherein the goal state specifies a position or a style and appearance of simulated robot eyes that corresponds to a current emotion state for the robot.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: DIGITAL DREAM LABS, LLC
To: DIGITAL DREAM LABS, INC.
Reel/Frame 059819/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: DSI ASSIGNMENTS, LLC
To: DIGITAL DREAM LABS, LLC
Reel/Frame 052211/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: ANKI, INC.
To: DSI ASSIGNMENTS, LLC
Reel/Frame 052190/0487 →
RELEASE OF SECURITY INTEREST Recorded Aug 13, 2019
From: FISH & RICHARDSON
To: ANKI, INC
Reel/Frame 050034/0151 →
LIEN Recorded Jun 3, 2019
From: ANKI, INC.
To: FISH & RICHARDSON P.C.
Reel/Frame 049342/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2018
From: KAROL, KEVIN M.
To: ANKI, INC.
Reel/Frame 046727/0643 →
Continuity (1)
Related Publication 20200039077A1 · Feb 6, 2020