IP Library Granted Patent US 9,952,590
Granted Patent B2
US 9,952,590 · App. 15/177,809 · Granted Apr 24, 2018

Self-propelled device implementing three-dimensional control

Inventors: Ian H. Bernstein (Boulder, CO); Adam Wilson (Longmont, CO); David E. Hygh (Broomfield, CO)
Assignee: SPHERO, INC.
G05D1/0011G05D1/0088G05D1/0212
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,952,590
App. No.
15/177,809
Granted
Apr 24, 2018
Kind
B2
Abstract

A self-propelled device can determine an initial reference frame of the self-propelled device in three-dimensional space, receive control inputs from a controller device, where the control inputs can be inputted by a user on a steering mechanism of the controller device. The self-propelled device can interpret the control inputs as control commands to maneuver the self-propelled device, and implement the control commands on an internal drive system of the self-propelled device to maneuver the self-propelled device based on the control inputs. While maneuvering, the self-propelled device can determine an orientation of the internal drive system within a spherical housing of the self-propelled device in relation to the initial reference frame, and transmit feedback to the controller device based on the orientation of the internal drive system in order to calibrate an orientation of the steering mechanism with the orientation of the internal drive system.

Claims (37)

1. A self-propelled device comprising:

a drive system operable to maneuver the self-propelled device;

a wireless receiver; and

an internal controller operable to:

determine an initial reference frame of the self-propelled device in three-dimensional space;

receive control inputs over the wireless receiver from a mobile device operated by a user, the control inputs being inputted by a user on the steering mechanism of the mobile device;

control the drive system to maneuver the self-propelled device based at least in part on the control inputs; and

continuously stabilize the self-propelled device while the self-propelled device is maneuvered by (i) determining an orientation of the self-propelled device in relation to the initial reference frame, and (ii) maintaining the orientation by counteracting a dynamic inherent instability of the self-propelled device.

2. The self-propelled device of claim 1 further comprising:

a sensor array providing sensor data to the internal controller to enable the internal controller to determine the orientation of the self-propelled device in relation to the initial reference frame.

3. The self-propelled device of claim 2 , wherein the sensor array comprises an inertial measurement unit (IMU).

4. The self-propelled device of claim 2 , wherein the sensor array comprises at least one of a three-axis gyroscope, a three-axis accelerometer, or a three-axis magnetometer.

5. The self-propelled device of claim 2 , further comprising:

one or more lights indicating one or more alignment reference points for the mobile device.

6. The self-propelled device of claim 2 , wherein the internal controller counteracts the dynamic inherent instability of the self-propelled device by dynamically generating and implementing pitch, yaw, and roll correction commands on the drive system to stabilize the orientation of the self-propelled device.

7. The self-propelled device of claim 6 , wherein the self-propelled device comprises a remotely operated aircraft, and wherein the drive system comprises a set of propellers.

8. A non-transitory computer readable medium storing instructions that, when executed by one or more processors of a self-propelled device, cause the one or more processors to:

determine an initial reference frame of the self-propelled device in three-dimensional space;

receive control inputs from a mobile device operated by a user, the control inputs being inputted by the user on a steering mechanism of the mobile device;

control a drive system of the self-propelled device to maneuver the self-propelled device based at least in part on the control inputs; and

continuously stabilize the self-propelled device while the self-propelled device is maneuvered by (i) determining an orientation of the self-propelled device in relation the initial reference frame, and (ii) maintaining the orientation by counteracting a dynamic inherent instability of the self-propelled device.

9. The non-transitory computer readable medium of claim 8 , wherein the self-propelled device includes a sensor array providing sensor data to the one or more processors to enable the one or more processors to determine the orientation of the self-propelled device in relation to the initial reference frame.

10. The non-transitory computer readable medium of claim 9 , wherein the sensor array comprises an inertial measurement unit (IMU).

11. The non-transitory computer readable medium of claim 9 , wherein the sensor array comprises at least one of a three-axis gyroscope, a three-axis accelerometer, or a three-axis magnetometer.

12. The non-transitory computer readable medium of claim 9 , wherein the self-propelled device includes one or more lights indicating one or more alignment reference points of the mobile device.

13. The non-transitory computer readable medium of claim 9 , wherein the executed instructions cause the one or more processors to counteract the dynamic inherent instability of the self-propelled device by dynamically generating and implementing pitch, roll, and yaw correction commands on the drive system to stabilize the orientation of the self-propelled device.

14. The non-transitory computer readable medium of claim 13 , wherein the self-propelled device comprises a remotely operated aircraft, and wherein the drive system comprises a set of propellers.

15. A computer-implemented method of operating a self-propelled device, the method being performed by one or more processors of the self-propelled device and comprising:

determining an initial reference frame of the self-propelled device in three-dimensional space;

receiving control inputs from a mobile device operated by a user, the control inputs being inputted by the user on a steering mechanism of the mobile device;

controlling a drive system of the self-propelled device to maneuver the self-propelled device based at least in part on the control inputs; and

continuously stabilizing the self-propelled device while the self-propelled device is maneuvered by (i) determining an orientation of the self-propelled device in relation to the initial reference frame, and (ii) maintaining the orientation of the self-propelled device by counteracting a dynamic inherent instability of the self-propelled device.

16. The computer-implemented method of claim 15 , wherein the self-propelled device includes a sensor array providing sensor data to the one or more processors to enable the one or more processors to determine the orientation of the self-propelled device in relation to the initial reference frame.

17. The computer-implemented method of claim 16 , wherein the sensor array comprises an inertial measurement unit (IMU).

18. The computer-implemented method of claim 16 , wherein the self-propelled device includes one or more lights indicating on or more alignment reference points for the controller.

19. The computer-implemented method of claim 16 , wherein counteracting the dynamic inherent instability of the self-propelled device includes dynamically generating and implementing pitch, roll, and yaw correction commands on the drive system to stabilize the orientation of the self-propelled device.

20. The computer-implemented method of claim 19 , wherein the self-propelled device comprises a remotely operated aircraft, and wherein the drive system comprises a set of propellers.

Assignments (3)
SECURITY INTEREST Recorded May 11, 2020
From: SPHERO, INC.
To: SILICON VALLEY BANK
Reel/Frame 052623/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: BERNSTEIN, IAN H.; WILSON, ADAM; HYGH, DAVID E.
To: ORBOTIX, INC.
Reel/Frame 039084/0007 →
CHANGE OF NAME Recorded Jul 6, 2016
From: ORBOTIX, INC.
To: SPHERO, INC.
Reel/Frame 039197/0339 →
Continuity (7)
Continuation 14850910 · Sep 10, 2015
Continuation 14839610 · Aug 28, 2015
Continuation 13342874 · Jan 3, 2012
Provisional Application 61430023 · Jan 5, 2011
Provisional Application 61430083 · Jan 5, 2011
Provisional Application 61553923 · Oct 31, 2011
Related Publication 20160291591A1 · Oct 6, 2016