IP Library Granted Patent US 10,845,795
Granted Patent B2
US 10,845,795 · App. 15/838,112 · Granted Nov 24, 2020

Orienting a user interface of a controller for operating a self-propelled device

Inventors: Ian H. Bernstein (Boulder, CO); Adam Wilson (Longmont, CO); Brian Keith Smith (Boulder, CO)
Assignee: Sphero, Inc.
G05D1/0011A63H30/04A63H33/005B62D61/00G05D1/0016G05D1/0044G05D1/0088G05D1/021G05D1/027G05D1/0212G05D1/0278G05D1/0891G05D1/0259G05D2201/0214Y10S901/01
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,845,795
App. No.
15/838,112
Granted
Nov 24, 2020
Kind
B2
Abstract

A self-propelled device determines an orientation for its movement based on a pre-determined reference frame. A controller device is operable by a user to control the self-propelled device. The controller device includes a user interface for controlling at least a direction of movement of the self-propelled device. The self-propelled device is configured to signal the controller device information that indicates the orientation of the self-propelled device. The controller device is configured to orient the user interface, based on the information signaled from the self-propelled device, to reflect the orientation of the self-propelled device.

Claims (47)

1. A system comprising:

a self-propelled device, wherein the self-propelled device determines an orientation for its movement based on a pre-determined reference frame;

a controller device operable by a user to control the self-propelled device, wherein the controller device includes a user interface for controlling at least a direction of movement of the self-propelled device;

wherein the self-propelled device is configured to signal the controller device information that indicates the orientation of the self-propelled device; and

wherein the controller device is configured to orient a virtual control of the user interface for the self-propelled device, based on the information signaled from the self-propelled device, to reflect the orientation of the self-propelled device.

2. The system of claim 1 , wherein the self-propelled device comprises one or more features that identify the orientation of the self-propelled device.

3. The system of claim 2 , wherein the one or more features of the self-propelled device comprises a light emitting component.

4. The system of claim 1 , wherein the self-propelled device comprises one or more actuators, and wherein the one or more actuators comprise at least one of:

a wheel;

a motor;

a solenoid;

a propeller;

a paddle wheel; or

a pendulum.

5. The system of claim 1 , wherein the virtual control is a virtual steering mechanism.

6. The system of claim 1 , wherein the controller device is a mobile computing device.

7. The system of claim 6 , wherein the mobile computing device is configured to detect a movement of the mobile computing device and to re-orient the virtual control based at least upon the movement of the mobile computing device.

8. The system of claim 1 , wherein the self-propelled device is configure to signal the information that indicates the orientation of the self-propelled device continuously.

9. The system of claim 8 , wherein the controller device is configured to detect a movement of the controller device and to re-orient the virtual control based at least upon the movement of the controller and the information that indicates the orientation of the self-propelled device.

10. The system of claim 9 , wherein the controller device comprises a touch screen display.

11. A method performed by a controller device, the method comprising:

generating a user interface on a display for controlling at least a directional movement of a self-propelled device;

receiving information from the self-propelled device indicating an orientation of the self-propelled device; and

configuring the user interface based upon the information, wherein configuring the user interface comprises configuring a virtual control for controlling directional movements of the self-propelled devices to reflect the orientation of the self-propelled device.

12. The method of claim 11 , further comprising determining a movement of the controller device.

13. The method of claim 12 , further comprising, in response to determining the movement, re-orienting the virtual control based at least upon the movement of the controller device.

14. The method of claim 13 , further comprising:

receiving information from the self-propelled device indicating a current orientation of the self-propelled device; and

re-orienting the virtual control based at least upon the current orientation of the self-propelled device and the movement of the controller device.

15. The method of claim 11 , further comprising:

receiving, via the virtual control, an indication of directional movement; and

sending, to the self-propelled device, a movement command based upon the indication.

16. A controller device comprising:

at least one processor;

a touch screen display; and

memory encoding executable instructions that, when executed by the at least one processor, cause the controller device to:

generate a user interface on a display for controlling at least a directional movement of a self-propelled device;

receive information from the self-propelled device indicating an orientation of the self-propelled device; and

configure the user interface based upon the information, wherein configuring the user interface comprises configuring a virtual control for controlling directional movements of the self-propelled devices to reflect the orientation of the self-propelled device.

17. The controller device of claim 16 , further comprising instructions that, when executed, cause the device to determine a movement of the controller device.

18. The controller device of claim 17 , further comprising instructions that, when executed, cause the device to, in response to determining the movement, re-orient the virtual control based at least upon the movement of the controller device.

19. The controller device of claim 18 , further comprising instructions that, when executed, cause the device to:

receiving information from the self-propelled device indicating a current orientation of the self-propelled device; and

re-orienting the virtual control based at least upon the current orientation of the self-propelled device and the movement of the controller device.

20. The controller device of claim 19 , further comprising instructions that, when executed, cause the device to:

receive information from the self-propelled device indicating a current orientation of the self-propelled device; and

re-orient the virtual control based at least upon the current orientation of the self-propelled device and the movement of the controller device.

Continuity (7)
Continuation 15040331 · Feb 10, 2016
Continuation 14261288 · Apr 24, 2014
Continuation 13342884 · Jan 3, 2012
Provisional Application 61430023 · Jan 5, 2011
Provisional Application 61430083 · Jan 5, 2011
Provisional Application 61553923 · Oct 31, 2011
Related Publication 20180113449A1 · Apr 26, 2018