A self-propelled device includes a drive system, a wireless communication port, a memory and a processor. The memory stores a first set of instructions for mapping individual inputs from a first set of recognizable inputs to a corresponding command that controls movement of the self-propelled device. The processor (or processors) receive one or more inputs from the controller device over the wireless communication port, map each of the one or more inputs to a command based on the set of instructions, and control the drive system using the command determined for each of the one or more inputs. While the drive system is controlled, the processor processes one or more instructions to after the set of recognizable inputs and/or the corresponding command that is mapped to the individual inputs in the set of recognizable inputs.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A self-propelled device comprising: an internal drive system operable to maneuver the self-propelled device; a three-axis controller executable on the drive system, the three-axis controller being configured to receive commands and implement the commands upon the drive system; a wireless communication port configured to communicate with a computing device for the self-propelled device; a memory that stores a first set of instructions for mapping individual inputs from a first set of recognizable inputs to a corresponding command that controls movement of the self-propelled device, the set of control inputs originating from the computing device; and one or more processors configured to: receive one or more inputs from the computing device over the wireless communication port; map each of the one or more inputs to a command based on the first set of instructions; deliver the command to the three-axis controller to control the drive system and maneuver the self-propelled device; and while the drive system is controlled, process one or more further instructions to alter the set of recognizable inputs and/or the corresponding command that is mapped to the individual inputs in the set of recognizable inputs.
A self-propelled device (like a robot or drone) has an internal drive system controlled by a three-axis controller, allowing it to move. It communicates wirelessly with a computing device (like a phone or computer). The device's memory stores instructions that map inputs from the computing device to commands that control the device's movement. The processor receives inputs, maps them to commands using these instructions, and sends the commands to the three-axis controller to move the device. While the device is moving, the processor can also update the input-to-command mappings in memory, dynamically changing how the device responds to the same inputs.
2. The self-propelled device of claim 1 , wherein the first set of instructions are specific to a first program.
The self-propelled device, as described with a drive system, a three-axis controller, wireless communication, a memory, and a processor capable of dynamically altering input mappings, uses a first set of instructions that are specifically tailored to a particular program. This means the way the device responds to commands from the computing device is unique to that specific software application controlling it.
3. The self-propelled device of claim 2 , wherein the memory stores data that identifies a set of program-specific commands that correlate to a program-specific input from the computing device.
The self-propelled device, as described with a drive system, a three-axis controller, wireless communication, a memory, and a processor capable of dynamically altering input mappings, and where the first set of instructions are specific to a first program, stores data in its memory that identifies program-specific commands and their corresponding program-specific inputs from the computing device. In essence, the device has a lookup table connecting inputs from a specific program to actions the device will perform.
4. The self-propelled device of claim 1 , wherein the first set of instructions include instructions for multiple programs, including a first subset of instructions for a first program and a second subset set of instructions for a second program, and wherein the one or more processors are configured to process the one or more inputs by switching the self-propelled device from executing the first subset of instructions for the first program to executing the second subset of instructions for the second program.
The self-propelled device, as described with a drive system, a three-axis controller, wireless communication, a memory, and a processor capable of dynamically altering input mappings, stores instructions for multiple programs. It has a first set of instructions for a first program and a second set of instructions for a second program. The processor can switch between these instruction sets, effectively changing the device's behavior based on which program is currently in control. For example, one program could be for autonomous navigation, and the other for manual control.
5. The self-propelled device of claim 4 , wherein the one or more processors are configured to be triggered, by input from the controller device, from switching the self-propelled device from executing the first subset of instructions for the first program to executing the second subset of instructions for the second program.
The self-propelled device from the previous description, which stores multiple sets of instructions and can switch between them, changes program instruction sets when triggered by an input from the controller device. This means the computing device (phone, tablet, etc.) can actively tell the self-propelled device to switch from using the first program's instructions to the second program's instructions, thereby altering its behavior dynamically based on a command sent from the computing device.
6. The self-propelled device of claim 1 , wherein the one or more processors implement an application program interface for use in executing the first set of instructions.
The self-propelled device, as described with a drive system, a three-axis controller, wireless communication, a memory, and a processor capable of dynamically altering input mappings, includes an application programming interface (API) that is used to execute the first set of instructions. This API provides a structured way for software to interact with and control the device based on the defined instruction set.
7. The self-propelled device of claim 6 , wherein the application program interface enables a subset of instructions associated with a specific program to utilize information obtained from one or more of an accelerometer, a magnetometer, and/or a gyroscope.
The self-propelled device that has an API for executing instructions enables the instructions for a specific program to use sensor data obtained from one or more of an accelerometer, a magnetometer, and/or a gyroscope. For example, a mapping program could use accelerometer data to adjust movement commands, allowing for more stable navigation over uneven terrain.
8. The self-propelled device of claim 1 , wherein the computing device is one or more of a smart phone, a tablet computer, a remote controller, or a personal computer.
The self-propelled device, as described with a drive system, a three-axis controller, wireless communication, a memory, and a processor capable of dynamically altering input mappings, communicates with a computing device, where the computing device is one or more of a smart phone, a tablet computer, a remote controller, or a personal computer. This specifies the types of devices that can be used to control the self-propelled device.
9. A system comprising: a computing device; and a self-propelled device comprising: an internal drive system operable to maneuver the self-propelled device; a three-axis controller executable on the drive system, the three-axis controller being configured to receive commands and implement the commands upon the drive system; a wireless communication port configured to communicate with the computing device for the self-propelled device; a memory that stores a set of instructions for mapping individual inputs from a set of inputs to a corresponding command that controls movement of the self-propelled device; and one or more processors configured to: receive one or more inputs from the computing device over the wireless communication port, the one or more two-dimensional inputs being inputted on a display of the computing device; map each of the one or more inputs to a command based on the set of instructions; deliver the command to the three-axis controller to control the drive system and maneuver the self-propelled device; and while the drive system is controlled, process one or more instructions to remap at least one of the inputs in the set of inputs to an alternative command.
A system consists of a computing device and a self-propelled device. The self-propelled device has an internal drive system controlled by a three-axis controller, a wireless communication port for communicating with the computing device, and a memory storing instructions for mapping inputs from the computing device to movement commands. The processor receives two-dimensional inputs from the computing device's display, maps them to commands, and sends the commands to the three-axis controller. While moving, the processor can remap at least one of the inputs to a different command, changing the device's behavior dynamically.
10. The system of claim 9 , wherein the computing device is a general purpose computing device that is capable of executing a program that generates one or more inputs in the set of recognizable inputs.
The system, consisting of a computing device and a self-propelled device with dynamic command mapping, utilizes a computing device that is a general-purpose computer capable of running a program that generates the inputs used to control the self-propelled device. In other words, standard computers and their software applications are used to send commands to the self-propelled device.
11. The system of claim 9 , wherein the computing device is a general purpose computing device that is capable of executing multiple programs, wherein each of the multiple programs generate one or more inputs in the set of recognizable inputs.
In the system comprising a computing device and a self-propelled device with dynamic command remapping, the computing device, which is a general purpose computing device, is capable of executing multiple programs. Each of these programs can generate different inputs recognized by the self-propelled device. The device can potentially be controlled by different applications running on the same computer.
12. The system of claim 9 , wherein a first of the multiple programs are operable on the general purpose computing device to generate one or more inputs that map to a command that is specific to the first program.
In the system comprising a computing device and a self-propelled device with dynamic command remapping, a first program running on the general-purpose computing device generates inputs that map to commands specific to that program. The self-propelled device can receive input from different program and perform program specific actions.
13. The system of claim 9 , wherein the computing device is one or more of a smart phone, a tablet computer, a remote controller, or a personal computer.
The system, comprising a computing device and a self-propelled device with dynamic command remapping, uses a computing device that is one or more of a smart phone, a tablet computer, a remote controller, or a personal computer. This defines the possible kinds of devices that can control the self-propelled device.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 3, 2012
December 5, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.