SYSTEM AND METHOD FOR CONTROLLING A SELF-PROPELLED DEVICE IN CONNECTION WITH A VIRTUAL ENVIRONMENT
A system for controlling a self-propelled device in connection with a virtual environment in which the self-propelled device is represented.
1 . A method for controlling a self-propelled device, the method comprising:
(a) generating a user interface on a mobile computing device that is configured to control the self-propelled device, the user interface providing a content that includes an object representation of the self-propelled device;
(b) detecting the user performing a set of one or more actions on the mobile computing device;
(c) interpreting the set of actions as a command that specifies one or more parameters for moving the self-propelled device;
(d) moving the self-propelled device in accordance with the one or more parameters; and
(e) displaying the object representation of the self-propelled device as moving or changing a position based on movement of the self-propelled device.
2 . The method of claim 1 , wherein (c) is performed on the self-propelled device.
3 . The method of claim 1 , wherein the self-propelled device is represented graphically in the content as a ball, and wherein (e) includes presenting the ball as moving or having moved in the content.
4 . The method of claim 1 , wherein the method further comprises detecting a position or path of the self-propelled device at an instance after initiating the self-propelled device into moving, and wherein (e) includes generating the content to display the object representing the self-propelled device moving in position on the user interface based on the self-propelled device having moved to the position or along the path.
5 . The method of claim 4 , further comprising displaying the object representing the self-propelled device interacting with other features of the content when the object representing the self-propelled device moves.
6 . The method of claim 5 , further comprising moving the object representing the self-propelled device along a path that corresponds to a path of movement of the self-propelled device.
7 . The method of claim 1 , wherein (e) includes using a sensor on the mobile computing device to detect the device's movement.
8 . The method of claim 1 , wherein (a) includes prompting the user to perform one or more of the actions in the set of actions using the user interface.
9 . The method of claim 8 , wherein (a) includes prompting the user to place his finger or hand on a display screen on which the user interface is generated.
10 . The method of claim 8 , wherein (a) includes prompting the user to move the self-propelled device.
11 . The method of claim 1 , wherein (a) includes generating the content for a game, and wherein the object representation of the self-propelled device is a facet of the game.
12 . The method of claim 11 , wherein a movement or state of the object representation of the self-propelled device is based on movement of the self-propelled device.
13 . The method of claim 1 , wherein (e) includes moving the object representation in a path that simulates a path of movement of the self-propelled device.
14 . The method of claim 13 , wherein moving the object representation includes moving the object representation in a manner that reflects variations in the movement of the self-propelled device with respect to one or more of the X-, Y-, or Z-axis.
15 . The method of claim 14 , wherein moving the object representation includes reflecting, in moving the object representation, the self-propelled device becoming jarred or temporarily obstructed,
16 . The method of claim 1 , further comprising interacting the object representation with one or more virtual objects that are provided in a virtual environment of the object representation.
17 . The method of claim 16 , further comprising controlling additional movement of the self-propelled device as a result of the object representation interacting with the one or more virtual objects.
18 . The method of claim 17 , wherein controlling additional movement includes controlling movement of the self-propelled device to reflect a collision between the object representation and one of the virtual objects.
19 . A computing device for controlling a self-propelled device, the computing device comprising:
a memory that stores a set of instructions;
one or more processors;
one or more sensors configured to detect one or more actions of a user of the computing device;
a wireless communication port to communicate with the self-propelled device;
a display screen;
wherein the one or more processors are configured to access the memory to execute instructions, from the set of instructions, that cause the computing device to:
generate a user interface on the display screen, the user interface providing a content that includes an object representation of the self-propelled device;
detect, using the one or more sensors, the user performing a set of actions on the computing device;
interpret the set of actions as one or more parameters for moving the self-propelled device;
signal, using the wireless communication port, data that moves the self-propelled device in accordance with the one or more parameters; and
configure the content to show movement of the object representation of the self-propelled device based on the self-propelled device moving.
20 . A system comprising:
a self-propelled device;
a controller device including:
a memory that stores a set of instructions; one or more processors;
one or more sensors configured to detect one or more actions of a user of the computing device;
a wireless communication port to communicate with the self-propelled device;
a display screen;
wherein the one or more processors are configured to access the memory to execute instructions, from the set of instructions, that cause the computing device to:
generate a user interface on the display screen, the user interface providing a content that includes an object representation of the self-propelled device;
detect, using the one or more sensors, the user performing a set of actions on the computing device;
interpret the set of actions as one or more parameters for moving the self-propelled device;
signal, using the wireless communication port, data that moves the self-propelled device in accordance with the one or more parameters; and
configure the content to show movement of the object representation of the self-propelled device based on the self-propelled device moving.
21 . The system of claim 20 , wherein the one or more processors of the controller device generate a virtual environment for the object representation of the self-propelled device, and wherein an event in the virtual environment is communicated to the self-propelled device.
22 . The system of claim 21 , wherein a movement or state of the self-propelled device is affected by the event of the virtual environment.
23 . The system of claim 20 , wherein the one or more processors of the controller device generate a virtual environment for the object representation of the self-propelled device, and wherein an event experienced by the self-propelled device is communicated to the controller device and reflected in virtual environment and/or in the object representation of the self-propelled device.