IP Library Granted Patent US 9,067,145
Granted Patent B2
US 9,067,145 · App. 14/498,162 · Granted Jun 30, 2015

Virtual representations of physical agents

Inventors: Boris Sofman (San Francisco, CA); Hanns Tappeiner (San Francisco, CA); Mark Matthew Palatucci (San Francisco, CA); Patrick Lee DeNeale (Oakland, CA)
Assignee: Anki, Inc.
A63F13/65A63F13/06A63H30/04A63H17/32A63H17/40A63H18/16A63F13/216
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 9,067,145
App. No.
14/498,162
Filed
Sep 26, 2014
Granted
Jun 30, 2015
Kind
B2
Art Unit
3717
USPC
446/456
Abstract

A robotic system is integrated with one or more mobile computing devices. Physical configurations of individual components of the system in physical space, or agents, under control of a user or users, are duplicated in a representation in virtual space. Some degree of real-time parity is maintained between the physical and virtual spaces, so as to implement a virtual environment that mirrors the physical one. Events occurring within one environment can directly influence and bear consequence on the course of events occurring within the other environment. Elements of virtual space thereby become truly interdependent and unified on a peer footing with elements in physical space. In at least one embodiment, the system is implemented as an application in entertainment, such as the manifestation of a video game in physical space.

Claims (128)

1. A system comprising:

a plurality of physical agents, the physical agents being configured for interaction with one another, each physical agent configured to:

receive signals;

perform actions in a physical environment in response to the received signals; and

transmit signals indicative of the physical agent's state in the physical environment;

at least one controller, configured to receive user input for controlling at least one of the physical agents, and further configured to transmit signals for controlling at least one of the physical agents; and

a host device, configured to:

receive signals indicative of the physical state of the physical agents;

transmit signals specifying actions to be taken by the physical agents;

store virtual representations of the physical agents, the virtual representations of the physical agents being configured for interaction with one another; and

maintain substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents;

wherein maintaining substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents comprises:

determining whether there is disparity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents; and

responsive to a disparity, automatically reducing the disparity by performing at least one selected from the group consisting of:

transmitting a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity; and

modifying at least one stored virtual representation of a physical agent to reduce the disparity.

2. The system of claim 1 , wherein:

modifying at least one stored virtual representation of a physical agent to reduce the disparity comprises:

adjusting the states of the stored virtual representations based on received signals indicative of the physical states of the physical agents; and

adjusting the states of the stored virtual representations based on interactions among the virtual representations; and

transmitting a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity comprises transmitting signals to cause the physical agents to change their physical states to comport with the states of the stored virtual representations.

3. The system of claim 2 , wherein, for two physical agents having similar physical characteristics, the virtual representations of the two physical agents have at least one characteristic that differs substantially from one another;

and wherein the interaction between the virtual representations of the physical agents reflects the substantial difference in the at least one characteristic.

4. The system of claim 2 , wherein, for two physical agents having similar mass, the virtual representations of the two physical agents have mass that differs substantially from one another;

and wherein the interaction between the virtual representations of the physical agents reflects the substantial difference in mass.

5. The system of claim 1 , wherein automatically reducing the disparity comprises:

adjusting the states of the stored virtual representations based on interactions among the virtual representations; and

transmitting signals to cause the physical agents to change their physical states to comport with the states of the stored virtual representations.

6. The system of claim 5 , wherein, for two physical agents having similar physical characteristics, the virtual representations of the two physical agents have at least one characteristic that differs substantially from one another;

and wherein the interaction between the virtual representations of the physical agents reflects the substantial difference in the at least one characteristic.

7. The system of claim 1 , wherein automatically reducing the disparity comprises:

adjusting the states of the stored virtual representations based on received signals indicative of the physical states of the physical agents.

8. The system of claim 1 , wherein the physical agents comprise mobile agents, wherein each mobile agent comprises:

a propulsion mechanism, adapted to impart motive force to the mobile agent;

a sensor, configured to detect a position of the mobile agent;

a mobile wireless transceiver, and

a microcontroller operatively coupled to the propulsion mechanism, the sensor, and the mobile wireless transceiver, the microcontroller configured to control movement of the mobile agent.

9. The system of claim 8 , further comprising:

a drivable surface having a plurality of machine-readable codes indicating locations on the surface;

wherein the mobile agents comprise vehicles configured to travel along the drivable surface, and wherein the sensor of each mobile agent detecting a position of the mobile agent comprises the sensor detecting the machine-readable codes as the vehicle travels along the surface.

10. The system of claim 1 , wherein the host device comprises a wireless transceiver, and wherein:

the host device receiving signals comprises the wireless transceiver receiving signals; and

the host device transmitting signals comprises the wireless transceiver transmitting signals.

11. The system of claim 1 , wherein each controller comprises at least one selected from the group consisting of:

a mobile computing device;

a smartphone;

a tablet computer;

a desktop computer;

a laptop computer;

a video game console; and

a kiosk;

and wherein the host device comprises at least one selected from the group consisting of:

a mobile computing device;

a smartphone;

a tablet computer;

a desktop computer;

a laptop computer;

a video game console; and

a kiosk.

12. The system of claim 1 , further comprising:

an accessory, positionable within the physical environment;

wherein the host device stores a virtual representation of the accessory, and wherein the accessory configured to affect a state of the virtual representations of the physical agents;

and wherein, responsive to an interaction between the virtual representation of a physical agent and the virtual representation of the accessory, the host device transmits a signal to cause the physical agent to change its physical state to reflect the result of the interaction.

13. The system of claim 12 , wherein at least one controller is configured to receive user input for controlling the accessory agent, and further configured to transmit signals for controlling the accessory agent;

and wherein the host device adjusts the state of the stored virtual representation of the accessory agent responsive to receiving a signal for controlling the accessory agent.

14. The system of claim 13 , wherein the accessory agent comprises a weapon, and wherein the virtual representation of the accessory agent is configured for firing upon a virtual representation of a physical agent.

15. The system of claim 1 , further comprising:

a mobile computing device, positionable within the physical environment and configured to display a dynamic representation of an accessory agent;

wherein the host device stores a virtual representation of the accessory agent, and wherein the virtual representation of the accessory agent is configured for interaction with virtual representations of the physical agents;

and wherein, responsive to an interaction between the virtual representation of the accessory agent and the virtual representation of a physical agent, the host device transmits a signal to cause the physical agent to change its physical state to reflect the result of the interaction.

16. The system of claim 1 , wherein the virtual representation of at least one physical agent comprises a weapon, and wherein the virtual representation of the physical agent is configured to fire upon a virtual representation of another physical agent;

and wherein, responsive to a virtual representation of an agent being fired upon:

the host device causes the virtual representation to react as though fired upon; and

the host device transmits a signal to cause the corresponding physical agent to change its physical state to react as though fired upon.

17. The system of claim 1 , wherein at least two controllers are configured to control a common physical agent.

18. The system of claim 1 , further comprising:

an automated computing system, configured to control at least one of the physical agents in an automated manner;

wherein at least one of the physical agents is configured to receive signals from the automated computing system and to perform actions in the physical environment in response to the received signals, the physical agent being configured for interaction with at least one physical agent not controlled by the automated computing system.

19. The system of claim 1 , wherein the at least one controller transmitting signals for controlling at least one of the physical agents comprises the at least one controller transmitting signals over the Internet.

20. The system of claim 1 , further comprising:

at least one display device, configured to receive signals from the host device indicating the state of the virtual representations of the physical agents, and further configured to display a dynamic representation of the physical agents based on the received signals.

21. The system of claim 1 , wherein:

determining whether there is disparity comprises receiving a signal from a physical agent indicating a position; and

automatically reducing the disparity comprises adjusting a position of a stored virtual representation of the physical agent to comport with the indicated position of the physical agent.

22. A method for using mobile computing devices to control physical agents within a robotic system, the physical agents being configured for interaction with one another, the method comprising, at a host device, performing the steps of:

receiving signals indicative of the physical state of the physical agents in a physical environment;

transmitting signals specifying physical actions to be taken by the physical agents in the physical environment;

storing virtual representations of the physical agents, the virtual representations of the physical agents being configured for interaction with one another; and

maintaining substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents;

wherein the physical agents are further configured to perform physical actions in response to signals received from mobile computing devices acting as user-operated controllers;

and wherein maintaining substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents comprises:

determining whether there is disparity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents; and

responsive to a disparity, automatically reducing the disparity by performing at least one selected from the group consisting of:

transmitting a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity; and

modifying at least one stored virtual representation of a physical agent to reduce the disparity.

23. The method of claim 22 , wherein:

modifying at least one stored virtual representation of a physical agent to reduce the disparity comprises:

adjusting the state of the stored virtual representations based on received signals indicative of the physical state of the physical agents; and

adjusting the state of the stored virtual representations based on interactions among the virtual representations; and

transmitting a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity comprises transmitting signals to cause the physical agents to change their physical state to comport with the state of the stored virtual representations.

24. The method of claim 22 , wherein automatically reducing the disparity comprises:

adjusting the state of the stored virtual representations based on interactions among the virtual representations; and

transmitting signals to cause the physical agents to change their physical state to comport with the state of the stored virtual representations.

25. The method of claim 22 , wherein automatically reducing the disparity comprises:

adjusting the state of the stored virtual representations based on received signals indicative of the physical state of the physical agents.

26. A computer program product for using mobile computing devices to control physical agents within a robotic system, the physical agents being configured for interaction with one another, the computer program product comprising:

a non-transitory computer-readable storage medium; and

computer program code, encoded on the medium, configured to cause at least one processor at a host device to perform the steps of:

receiving signals indicative of the physical state of the physical agents in a physical environment;

transmitting signals specifying physical actions to be taken by the physical agents in the physical environment;

storing virtual representations of the physical agents, the virtual representations of the physical agents being configured for interaction with one another; and

maintaining substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents;

wherein the physical agents are further configured to perform physical actions in response to signals received from mobile computing devices acting as user-operated controllers;

and wherein the computer program code configured to maintain substantial parity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents comprises computer program code configured to perform the steps of:

determining whether there is disparity between the physical states of the physical agents and the states of the corresponding stored virtual representations of the physical agents; and

responsive to a disparity, automatically reducing the disparity by performing at least one selected from the group consisting of:

transmitting a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity; and

modifying at least one stored virtual representation of a physical agent to reduce the disparity.

27. The computer program product of claim 26 , wherein

the computer program code configured to cause at least one processor to modify at least one stored virtual representation of a physical agent to reduce the disparity comprises computer program code configured to cause at least one processor to perform the steps of:

adjusting the state of the stored virtual representations based on received signals indicative of the physical state of the physical agents; and

adjusting the state of the stored virtual representations based on interactions among the virtual representations; and

the computer program code configured to transmit a signal to at least one physical agent to change the physical state of the at least one physical agent to reduce the disparity comprises computer program code configured to transmit signals to cause the physical agents to change their physical state to comport with the state of the stored virtual representations.

28. The computer program product of claim 26 , wherein the computer program code configured to cause at least one processor to automatically reduce the disparity comprises computer program code configured to cause at least one processor to perform the steps of:

adjusting the state of the stored virtual representations based on interactions among the virtual representations; and

transmitting signals to cause the physical agents to change their physical state to comport with the state of the stored virtual representations.

29. The computer program product of claim 26 , wherein the computer program code configured to cause at least one processor to automatically reduce the disparity comprises computer program code configured to cause at least one processor to perform the step of:

adjusting the state of the stored virtual representations based on received signals indicative of the physical state of the physical agents.

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 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 Sep 26, 2014
From: SOFMAN, BORIS; TAPPEINER, HANNS; PALATUCCI, MARK MATTHEW; DENEALE, PATRICK LEE
To: ANKI, INC.
Reel/Frame 033829/0578 →
Continuity (7)
Continuation 13963638 · Aug 9, 2013
Continuation In Part 13707512 · Dec 6, 2012
Continuation 12788605 · May 27, 2010
Provisional Application 61693687 · Aug 27, 2012
Provisional Application 61181719 · May 28, 2009
Provisional Application 61261023 · Nov 13, 2009
Related Publication 20150011315A1 · Jan 8, 2015