IP Library Granted Patent US 10,864,627
Granted Patent B2
US 10,864,627 · App. 16/356,983 · Granted Dec 15, 2020

System and method for facilitating program sharing

Inventors: Saurabh Gupta (Sunnyvale, CA); Vikas Gupta (Palo Alto, CA); Kevin Liang (San Mateo, CA)
Assignee: Wonder Workshop, Inc.
B25J9/0081B25J13/06G09B19/0053Y10S901/04
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 10,864,627
App. No.
16/356,983
Granted
Dec 15, 2020
Kind
B2
Abstract

Embodiments of a method and system for sharing toy robot programs enabling toy robots to interact with physical surroundings can include receiving a robot program; automatically processing a token for the robot program; and processing a program request for the robot program based on the token. The embodiments can additionally or alternatively include controlling a toy robot based on a robot program; recommending a robot program; publishing a robot program; processing modifications of robot programs S 160 ; and/or any other suitable functionality.

Claims (80)

1. A method for sharing toy robot programs, the method comprising:

at a community platform, receiving a first robot program from a first user device;

at the community platform, in response to receiving the first robot program, automatically generating an association between the first robot program and a token;

at the community platform, providing the token;

at the community platform, receiving the token from a second user device;

at the community platform, in response to receiving the token from the second user device, selecting the first robot program based on the token and the association; and

in response to selecting the first robot program, transmitting the first robot program from the community platform to the second user device.

2. The method of claim 1 , wherein:

second control instructions are generated based on the first robot program; and

a toy robot is configured to execute the second control instructions.

3. The method of claim 1 , wherein the token comprises a plurality of natural language words.

4. The method of claim 3 , wherein automatically generating the association comprises:

automatically selecting the plurality of natural language words;

automatically generating the token based on the plurality of natural language words; and

automatically associating the token with the first robot program.

5. The method of claim 4 , wherein automatically selecting the plurality of natural language words comprises selecting a natural language word using a machine learning token generation model, wherein the plurality of natural language words comprises the natural language word.

6. The method of claim 5 , wherein selecting the natural language word is performed based on a user data feature.

7. The method of claim 3 , wherein automatically generating the association comprises:

identifying a robot operation state encoded in the first robot program;

selecting a natural language word based on the robot operation state;

automatically generating the token based on the natural language word, wherein the plurality of natural language words comprises the natural language word; and

automatically associating the token with the first robot program.

8. The method of claim 7 , wherein the robot operation state is an audio output state.

9. The method of claim 3 , wherein:

automatically generating the association comprises, at the community platform, storing the token in association with a first program identifier identifying the robot program; and

selecting the first robot program based on the token and the association comprises:

parsing the natural language token into the plurality of natural language words;

retrieving the first program identifier based on a string match between the plurality of natural language words and stored natural language words from the stored natural language token; and

retrieving the robot program based on the first program identifier.

10. The method of claim 1 , wherein:

automatically generating the association comprises storing the token in association with a first program identifier identifying the first robot program;

the method further comprises, at the community platform:

receiving a second robot program from a third user device; and

in response to receiving the second robot program, automatically generating an association between the second robot program and the token, comprising storing the token in association with a second program identifier identifying the second robot program; and

selecting the first robot program based on the token and the association comprises:

receiving auxiliary data from the second user device;

mapping the non-unique token to the second robot program and the first robot program; and

selecting the first robot program based on the auxiliary data.

11. The method of claim 10 , wherein receiving the auxiliary data comprises receiving location data from the second user device, wherein selecting the first robot program based on the auxiliary data comprises selecting the first robot program based on the location data.

12. The method of claim 10 , wherein:

the first robot program is associated with a first robot type;

the second robot program is associated with a second robot type;

the auxiliary data comprises robot type information associated with the first robot type; and

selecting the first robot program based on the auxiliary data comprises selecting the first robot program based on the robot type information.

13. A method for sharing toy robot programs, the method comprising:

receiving, at a first programming interface, a first set of programming inputs;

at the first programming interface, based on the first set of programming inputs, generating a robot program;

at the first programming interface, generating first control instructions based on the robot program;

at a first toy robot, executing the first control instructions;

at a community platform:

receiving the robot program;

in response to receiving the robot program, automatically generating an association between the token and the robot program;

receiving the token from a user device;

in response to receiving the token from the user device, based on the association, selecting the robot program; and

in response to selecting the robot program, transmitting the robot program to the user device;

at a second programming interface associated with the user device, generating second control instructions based on the robot program; and

at a second toy robot, executing the second control instructions.

14. The method of claim 13 , further comprising, before transmitting the robot program from the community platform to the user device:

in response to selecting the robot program, transmitting a robot program preview from the community platform to the user device;

at the second programming interface, generating preview control instructions based on the robot program preview;

at the second toy robot, executing the preview control instructions; and

after executing the preview control instructions, at the community platform, receiving a transmission request from the user device;

wherein transmitting the robot program from the community platform to the user device is performed in response to receiving the transmission request.

15. The method of claim 14 , wherein the user device is the second toy robot.

16. The method of claim 14 , further comprising, at the user device:

receiving the robot program preview from the community platform;

in response to receiving the robot program preview, presenting a transmission request prompt; and

after presenting the transmission request prompt, receiving a transmission request confirmation; and

in response to receiving the transmission request confirmation, transmitting the transmission request to the community platform.

17. The method of claim 13 , wherein the first set of programming inputs comprises a plurality of visual programming inputs.

18. The method of claim 13 , further comprising:

at the community platform, associating the robot program with a first application identifier identifying the first programming interface; and

at the community platform, receiving a second application identifier with the token from the user device, the second application identifier identifying the second programming interface;

wherein mapping the token to the robot program comprises mapping the token based on a match between the first and the second application identifiers.

19. The method of claim 13 , further comprising:

receiving, at the second programming interface, a second set of programming inputs;

at the second programming interface, based on the second set of programming inputs and at least one of: the first set of programming inputs and the robot program, generating a modified robot program;

at the community platform, receiving the modified robot program; and

at the community platform, in response to receiving the modified robot program, automatically associating a second token with the modified robot program.

20. The method of claim 13 , wherein the first control instructions are identical to the second control instructions.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Feb 9, 2026
From: VIKAS GUPTA AND POOJA MITTAL TRUST
To: WONDER WORKSHOP, INC.
Reel/Frame 073735/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2026
From: WONDER WORKSHOP, INC.
To: MORAVIA EDUCATION, INC.
Reel/Frame 073736/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2026
From: WONDER WORKSHOP, INC.
To: MORAVIA EDUCATION, INC.
Reel/Frame 073736/0070 →
SECURITY INTEREST Recorded Mar 10, 2020
From: WONDER WORKSHOP, INC.
To: VIKAS GUPTA AND POOJA MITTAL TRUST
Reel/Frame 052136/0533 →
CHANGE OF NAME Recorded Nov 5, 2019
From: PLAY-I, INC.
To: WONDER WORKSHOP, INC.
Reel/Frame 050938/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: GUPTA, SAURABH; GUPTA, VIKAS; LIANG, KEVIN
To: PLAY-I, INC.
Reel/Frame 048628/0090 →
Continuity (7)
Continuation 15456113 · Mar 10, 2017
Continuation In Part 15299292 · Oct 20, 2016
Continuation 14737347 · Jun 11, 2015
Provisional Application 62011478 · Jun 12, 2014
Provisional Application 62015969 · Jun 23, 2014
Provisional Application 62305299 · Mar 8, 2016
Related Publication 20190210216A1 · Jul 11, 2019