# US 11,203,122 B2 · Goal-based robot animation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,203,122 B2
- Document ID: US11203122B2
- Status: Granted
- Kind: B2
- Application number: 16/054,977
- Filed: 2018-08-03
- Published: 2020-02-06
- Granted: 2021-12-21
- Earliest claimed: 2018-08-03
- Assignees: Digital Dream Labs, LLC
- Applicants: Digital Dream Labs, LLC
- Inventors: Kevin M. Karol
- Web page: https://patentgrep.com/patent/US11203122B2

## CPC

- B25J 11/001: {with emotions simulating means}
- B25J 9/161: {Hardware, e.g. neural networks, fuzzy logic, interfaces, processor}
- B25J 9/163: {learning, adaptive, model based, rule based expert control}
- B25J 11/0015: {Face robots, animated artificial faces for imitating human expressions}
- B25J 19/023: {including video camera means}
- G05B 2219/36488: Record motion and emotion, mimics
- G05B 2219/45084: Service robot
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 6)

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.

### Claim 8 (depends on 6)

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.

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 9)

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

### Claim 11 (depends on 1)

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.

### Claim 12 (depends on 1)

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

### Claim 13 (depends on 1)

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.

### Claim 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.

### Claim 15 (depends on 14)

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

### Claim 16 (depends on 15)

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

### Claim 17 (depends on 14)

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.

### Claim 18 (depends on 14)

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.

### Claim 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.
