IP Library Patent Application 15633652
Patent Application
App. No. 15/633,652

ROBOT ANIMATION LAYERING

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 None
App. No.
15/633,652
Abstract

Exemplary methods, apparatuses, and systems receive first and second sets of command tracks, each set including one or more command tracks and each command track directed to control a component of a robot. In response to detecting that a first command track within the first set is directed to control a first component of the robot to perform a first action and a second command track within the second set is directed to control the first component of the robot to perform a second action, the first and second command tracks are merged into a composite command track. The composite command track is executed, causing the first component of the robot to perform the first action while performing the second action.

Claims (45)

1 . A computer-implemented method comprising:

receiving a first set of one or more command tracks, each command track directed to control a different component of a robot than other command tracks within the first set;

receiving a second set of one or more command tracks, each command track directed to control a different component of the robot than other command tracks within the second set;

detecting that a first command track within the first set is directed to control a first component of the robot to perform a first action and a second command track within the second set is directed to control the first component of the robot to perform a second action;

in response to detecting that both the first and second command tracks are directed to control the first component of the robot, merging the first and second command tracks into a composite command track; and

executing the composite command track, wherein the execution of the composite command track causes the first component of the robot to perform the first action while performing the second action.

2 . The computer-implemented method of claim 1 , wherein the merging of the first and second command tracks is further in response to determining that the first and second actions are not in conflict with one another.

3 . The computer-implemented method of claim 2 , wherein determining that the first and second actions are not in conflict with one another includes detecting that the first command track controls a first layer of the first component and the second command track controls a second layer of the first component.

4 . The computer-implemented method of claim 1 , wherein the composite command track is executed during the execution of one or more other command tracks from the first and/or second sets of command tracks.

5 . The computer-implemented method of claim 4 , wherein the executed command tracks include an audio command track, and wherein timing of execution of another track within the executed command tracks is controlled by the audio command track.

6 . The computer-implemented method of claim 1 , wherein the first component of the robot is a head, a wheel, an electronic display, an arm, a speaker, or a light.

7 . The computer-implemented method of claim 1 , wherein the first action is a physical movement of a component of the robot, an audible output by a speaker on the robot, or an output of an object on an electronic of the robot.

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

detecting that a third command track within the first set is directed to control a second component of the robot to perform a third action;

determining that the third action is in conflict with a first current state of the robot or with a fourth command track within the second set, the fourth command track being directed to a fourth action; and

in response to the determined conflict, omitting the third command track from execution during execution of command tracks from the first and/or second sets of command tracks.

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

determining that the third action has a lower priority than that of the first current state or the fourth action, wherein the omission of the third command track is further in response to the determined lower priority.

10 . The computer-implemented method of claim 9 , wherein priority of actions is dynamically dependent upon a second current state of the robot.

11 . The computer-implemented method of claim 10 , wherein the second current state is a simulated mood of the robot.

12 . The computer-implemented method of claim 1 , wherein the first set includes a plurality of command tracks received as a message from a user device, the user device transmitting the message in response to an application on the user device translating one or more programming language elements into the message.

13 . The computer-implemented method of claim 12 , wherein the one or more programming language elements are a set of one or more blocks of a visual programming language.

14 . The computer-implemented method of claim 12 , wherein the application on the user device is a software development kit.

15 . A non-transitory computer-readable medium storing instructions, which when executed by a processing device, cause the processing device to perform a method comprising:

receiving a first set of one or more command tracks, each command track directed to control a different component of a robot than other command tracks within the first set;

receiving a second set of one or more command tracks, each command track directed to control a different component of the robot than other command tracks within the second set;

detecting that a first command track within the first set is directed to control a first component of the robot to perform a first action and a second command track within the second set is directed to control the first component of the robot to perform a second action;

in response to detecting that both the first and second command tracks are directed to control the first component of the robot, merging the first and second command tracks into a composite command track; and

executing the composite command track, wherein the execution of the composite command track causes the first component of the robot to perform the first action while performing the second action.

16 . The non-transitory computer-readable medium of claim 15 , wherein the merging of the first and second command tracks is further in response to determining that the first and second actions are not in conflict with one another.

17 . The non-transitory computer-readable medium of claim 16 , wherein determining that the first and second actions are not in conflict with one another includes detecting that the first command track controls a first layer of the first component and the second command track controls a second layer of the first component.

18 . The non-transitory computer-readable medium of claim 15 , the method further comprising:

detecting that a third command track within the first set is directed to control a second component of the robot to perform a third action;

determining that the third action is in conflict with a first current state of the robot or with a fourth command track within the second set, the fourth command track being directed to a fourth action; and

in response to the determined conflict, omitting the third command track from execution during execution of command tracks from the first and/or second sets of command tracks.

19 . The non-transitory computer-readable medium of claim 18 , the method further comprising:

determining that the third action has a lower priority than that of the first current state or the fourth action, wherein the omission of the third command track is further in response to the determined lower priority.

20 . A system comprising:

a memory storing instructions; and

a processor coupled to the memory, wherein the processor executes the instructions, causing the system to:

receive a first set of one or more command tracks, each command track directed to control a different component of a robot than other command tracks within the first set;

receive a second set of one or more command tracks, each command track directed to control a different component of the robot than other command tracks within the second set;

detect that a first command track within the first set is directed to control a first component of the robot to perform a first action and a second command track within the second set is directed to control the first component of the robot to perform a second action;

in response to detecting that both the first and second command tracks are directed to control the first component of the robot, merge the first and second command tracks into a composite command track; and

execute the composite command track, wherein the execution of the composite command track causes the first component of the robot to perform the first action while performing the second action.

Assignments (5)
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 Jan 6, 2020
From: SILICON VALLEY BANK
To: ANKI, INC.
Reel/Frame 051485/0600 →
SECURITY INTEREST Recorded Apr 4, 2018
From: ANKI, INC.
To: SILICON VALLEY BANK
Reel/Frame 046231/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: STEIN, ANDREW NEIL; YOON, KEVIN; CHAUSSEE, RICHARD; CRIPPEN, LEE; WESLEY, MARK; SINTOV, MICHELLE; TAPPEINER, HANNS
To: ANKI, INC.
Reel/Frame 042855/0416 →