IP Library Granted Patent US 10,437,259
Granted Patent B2
US 10,437,259 · App. 15/662,968 · Granted Oct 8, 2019

Systems and methods for controlling aerial vehicles

Inventors: Salvatore J. Candido (Mountain View, CA); Sameera Sylvia Ponda (Mountain View, CA)
Assignee: Loon LLC
G05D1/042B64B1/40B64C39/024G08G5/0013G08G5/0026G08G5/0034G08G5/0039G08G5/0052G08G5/0069G08G5/0091
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,437,259
App. No.
15/662,968
Granted
Oct 8, 2019
Kind
B2
Abstract

Disclosed are systems, devices, and methods for controlling an aerial vehicle. An exemplary method may include receiving data indicating a location and an altitude of the aerial vehicle, receiving data indicating a destination of the aerial vehicle, determining a vector from the location of the aerial vehicle to the destination of the aerial vehicle, receiving prevailing wind pattern data regarding winds at the location and altitude of the aerial vehicle, planning a path for the aerial vehicle to move along the vector based on the prevailing wind pattern data, and causing the aerial vehicle to adjust the altitude of the aerial vehicle based on the prevailing wind pattern data and the planned path.

Claims (54)

1. A system for controlling an aerial vehicle, the system comprising:

an aerial vehicle; and

a computing device including:

a processor; and

a memory storing instructions which, when executed by the processor, cause the computing device to:

receive data indicating a location and an altitude of the aerial vehicle;

receive data indicating a destination of the aerial vehicle;

determine a vector from the location of the aerial vehicle to the destination of the aerial vehicle;

receive prevailing wind pattern data regarding winds at the location and altitude of the aerial vehicle;

plan a path for the aerial vehicle to move along the vector based on the prevailing wind pattern data;

cause the aerial vehicle to adjust the altitude of the aerial vehicle based on the planned path;

determine that the aerial vehicle is not moving along the planned path, wherein the determination that the aerial vehicle is not moving along the planned path includes a determination that the aerial vehicle is moving in a direction that is a predetermined amount different from a direction in the planned path;

in response to the determination that the aerial vehicle is not moving along the planned path, determine a new altitude for the aerial vehicle; and

cause the aerial vehicle to adjust the altitude of the aerial vehicle to the new altitude.

2. The system according to claim 1 , further comprising:

a position sensor,

wherein the data indicating the location and the altitude of the aerial vehicle is received from the position sensor.

3. The system according to claim 2 , wherein the position sensor is coupled to the aerial vehicle.

4. The system according to claim 1 , wherein the aerial vehicle is a balloon.

5. The system according to claim 1 , wherein the prevailing wind pattern data is received from an external source.

6. The system according to claim 1 , wherein the prevailing wind pattern data is received from a sensor included in the aerial vehicle.

7. The system according to claim 1 , wherein the prevailing wind pattern data is a based on a combination of data received from an external source and from a sensor included in the aerial vehicle.

8. The system according to claim 1 , wherein the instructions, when executed by the processor, further cause the computing device to:

receive additional prevailing wind pattern data regarding winds at the location and the new altitude of the aerial vehicle.

9. The system according to claim 8 , wherein the additional prevailing wind pattern data is received from a sensor included in the aerial vehicle.

10. The system according to claim 1 , wherein the new altitude is determined based on a distance between the altitude and the new altitude.

11. The system according to claim 1 , wherein adjusting the altitude of the aerial vehicle to the new altitude includes increasing the altitude of the aerial vehicle.

12. The system according to claim 1 , wherein adjusting the altitude of the aerial vehicle to the new altitude includes decreasing the altitude of the aerial vehicle.

13. The system according to claim 1 , wherein the instructions, when executed by the processor, further cause the computing device to:

determine a probability that a prevailing wind pattern at the new altitude will cause the aerial vehicle to move towards the destination; and

determine that the probability exceeds a threshold.

14. The system according to claim 13 , wherein the probability is based on a time since the additional prevailing wind pattern data was received.

15. The system according to claim 13 , wherein the probability is based on data received from an external source.

16. The system according to claim 1 , wherein the prevailing wind pattern is based on a speed and a direction of the wind.

17. A method for controlling an aerial vehicle, the method comprising:

receiving data indicating a location and an altitude of the aerial vehicle;

receiving data indicating a destination of the aerial vehicle;

determining a vector from the location of the aerial vehicle to the destination of the aerial vehicle;

receiving prevailing wind pattern data regarding winds at the location and altitude of the aerial vehicle;

planning a path for the aerial vehicle to move along the vector based on the prevailing wind pattern data;

causing the aerial vehicle to adjust the altitude of the aerial vehicle based on the planned path;

determining that the aerial vehicle is not moving along the planned path, wherein determining that the aerial vehicle is not moving along the planned path includes determining that the aerial vehicle is moving in a direction that is a predetermined amount different from a direction in the planned path;

in response to the determining that the aerial vehicle is not moving along the planned path, determining a new altitude for the aerial vehicle; and

causing the aerial vehicle to adjust the altitude of the aerial vehicle to the new altitude.

18. A non-transitory computer-readable storage medium storing a program for controlling an aerial vehicle, the program including instructions which, when executed by a processor, cause a computing device to:

receive data indicating a location and an altitude of the aerial vehicle;

receive data indicating a destination of the aerial vehicle;

determine a vector from the location of the aerial vehicle to the destination of the aerial vehicle;

receive prevailing wind pattern data regarding winds at the location and altitude of the aerial vehicle;

plan a path for the aerial vehicle to move along the vector based on the prevailing wind pattern data;

cause the aerial vehicle to adjust the altitude of the aerial vehicle based on the planned path;

determine that the aerial vehicle is not moving along the planned path, wherein the determination that the aerial vehicle is not moving along the planned path includes a determination that the aerial vehicle is moving in a direction that is a predetermined amount different from a direction in the planned path;

in response to the determination that the aerial vehicle is not moving along the planned path, determine a new altitude for the aerial vehicle; and

cause the aerial vehicle to adjust the altitude of the aerial vehicle to the new altitude.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2020
From: X DEVELOPMENT LLC
To: LOON LLC
Reel/Frame 052345/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: X DEVELOPMENT LLC
To: LOON LLC
Reel/Frame 048175/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2017
From: CANDIDO, SALVATORE J.; PONDA, SAMEERA SYLVIA
To: X DEVELOPMENT LLC
Reel/Frame 043129/0928 →
Cited By (2)
US 12,312,063 US 12,559,219