IP Library Granted Patent US 9,256,994
Granted Patent B2
US 9,256,994 · App. 14/709,364 · Granted Feb 9, 2016

Unmanned aerial vehicle authorization and geofence envelope determination

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,256,994
App. No.
14/709,364
Granted
Feb 9, 2016
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for unmanned aerial vehicle authorization and geofence envelope determination. One of the methods includes maintaining, by a cloud system in wireless communication with Unmanned Aerial Vehicles (UAVs), allocated geofence envelopes for one or more of the UAVs, with each geofence envelope being a virtual barrier for a real-world geographic area. A request for approval of an updated geofence envelope is received from a first UAV in flight. The cloud system determines that the updated geofence envelope has not been allocated and/or the updated geofence envelope does not interfere with allocated geofence envelopes. In response to the determination, a response indicating approval of the request is generated. The generated response is provided to the first UAV.

Claims (146)

1. A method comprising:

maintaining, by a cloud system, comprising one or more processing devices comprising hardware, in wireless communication with a first plurality of Unmanned Aerial Vehicles (UAVs), geofence envelopes respectively allocated, using the cloud system, for each UAV in the first plurality of UAVs,

wherein each allocated geofence envelope is a static virtual barrier for a real-world geographic area that limits allowable locations to the real-world geographic area for a respective UAV, and wherein each allocated geofence envelope does not interfere with any remaining allocated geofence envelopes;

receiving, by the cloud system, a request from a first UAV in flight for approval of an updated geofence envelope;

determining, by the cloud system, that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs;

at least partly in response to the determination that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs;

generating, by the cloud system, a response indicating approval of the request for the updated geofence envelope; and

providing, by the cloud system, the generated response to the first UAV indicating approval of the request for the updated geofence envelope.

2. The method of claim 1 , further comprising:

associating information identifying the updated geofence envelope with information identifying the first UAV.

3. The method of claim 1 , further comprising:

prior to providing the response to the first UAV indicating approval of the request for the updated geofence envelope:

providing information to a regulatory authority identifying the updated geofence envelope, and

receiving, from the regulatory authority, approval of the updated geofence envelope.

4. The method of claim 1 , further comprising:

receiving, from the first UAV, information identifying that the first UAV is configured to enforce the updated geofence envelope.

5. The method of claim 1 , further comprising:

receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request for approval of the second updated geofence envelope.

6. The method of claim 1 , further comprising:

receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV.

7. The method of claim 1 , further comprising:

receiving a request from a second UAV in flight for approval of a second updated geofence envelope, wherein the request from the second UAV identifies one or more waypoints;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV using the one or more waypoints;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV.

8. The method of claim 1 , receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV, wherein determining the recommended geofence envelope comprises:

obtaining information identifying a present allocated geofence envelope of the second UAV; and

determining the recommended geofence envelope using the present allocated geofence envelope.

9. The method of claim 1 , wherein the request from the first UAV identifies contingency information including a flight critical error or failure associated with the first UAV.

10. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by a cloud system, comprising one or more computers, in wireless communication with a first plurality of Unmanned Aerial Vehicles (UAVs), cause the cloud system to perform operations comprising:

maintaining, by the cloud system, geofence envelopes respectively allocating, using the cloud system, for each UAV in the first plurality of UAVs, wherein each allocated geofence envelope is a static virtual barrier for a real-world geographic area that limits allowable locations to the real-world geographic area for a respective UAV, and wherein each allocated geofence envelope does not interfere with any remaining allocated geofence envelope;

receiving a request from a first UAV in flight for approval of an updated geofence envelope;

determining that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs;

at least partly in response to the determination that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs;

providing a response, to the first UAV, indicating approval of the request for the updated geofence envelope.

11. The computer program product of claim 10 , wherein the operations further comprise:

associating information identifying the updated geofence envelope with information identifying the first UAV.

12. The computer program product of claim 10 , wherein the operations further comprise:

prior to providing the response to the first UAV indicating approval of the request for the updated geofence envelope:

providing information to a regulatory authority identifying the updated geofence envelope, and

receiving, from the regulatory authority, approval of the updated geofence envelope.

13. The computer program product of claim 10 , wherein the operations further comprise:

receiving, from the first UAV, information identifying that the first UAV is configured to enforce the updated geofence envelope.

14. The computer program product of claim 10 , wherein the operations further comprise:

receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request.

15. The computer program product of claim 10 , wherein the operations further comprise:

receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV.

16. The computer program product of claim 10 , wherein the operations further comprise: receiving a request from a second UAV in flight for approval of a second updated geofence envelope, wherein the request from the second UAV identifies one or more waypoints;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV using the one or more waypoints;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV.

17. The computer program product of claim 10 , receiving a request from a second UAV in flight for approval of a second updated geofence envelope;

determining that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, providing a response, to the second UAV, identifying denial of the request;

determining a recommended geofence envelope to provide to the second UAV;

associating the recommended geofence envelope with the second UAV; and

providing information identifying the recommended geofence envelope to the second UAV,

wherein determining the recommended geofence envelope comprises:

obtaining information identifying a present allocated geofence envelope of the second UAV; and

determining the recommended geofence envelope using the present allocated geofence envelope.

18. The computer program product of claim 10 , wherein the request from the first UAV identifies contingency information including a flight critical error or failure associated with the first UAV.

19. A system comprising one or more processors comprising hardware, the one or more processors configured to at least:

communicate wirelessly with a first plurality of UAVs;

maintain, by the system, geofence envelopes respectively allocated, using the cloud system, for each UAV in the first plurality of UAVs, wherein each allocated geofence envelope is a virtual barrier for a real-world geographic area that limits allowable locations to the real-world geographic area for a respective UAV, and wherein each allocated geofence envelope does not interfere with any remaining allocated geofence envelope;

receive a request from a first UAV in flight for approval of an updated geofence envelope;

determine that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs;

at least partly in response to the determination that:

the updated geofence envelope has not been allocated, or

the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs, or

the updated geofence envelope has not been allocated and the updated geofence envelope does not interfere with geofence envelopes respectively allocated to UAVs in the first plurality of UAVs,

provide a response, to the first UAV, indicating approval of the request for the updated geofence envelope.

20. The system of claim 19 , wherein the processors are further configured to:

associate information identifying the updated geofence envelope with information identifying the first UAV.

21. The system of claim 19 , wherein the processors are further configured to:

prior to providing the response to the first UAV indicating approval of the request for the updated geofence envelope:

provide information to a regulatory authority identifying the updated geofence envelope, and

receive, from the regulatory authority, approval of the updated geofence envelope.

22. The system of claim 19 , wherein the processors are further configured to:

receive, from the first UAV, information identifying that the first UAV is configured to enforce the updated geofence envelope.

23. The system of claim 19 , wherein the processors are further configured to:

receive a request from a second UAV in flight for approval of a second updated geofence envelope;

determine that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated at least one of the first plurality of UAVs; and

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, provide a response, to the second UAV, identifying denial of the request for approval of the second updated geofence envelope.

24. The system of claim 19 , wherein the processors are further configured to:

receive a request from a second UAV in flight for approval of a second updated geofence envelope;

determine that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, provide a response, to the second UAV, identifying denial of the request for approval of the second updated geofence envelope;

determine a recommended geofence envelope to provide to the second UAV;

associate the recommended geofence envelope with the second UAV; and

provide information identifying the recommended geofence envelope to the second UAV.

25. The system of claim 19 , wherein the processors are further configured to:

receive a request from a second UAV in flight for approval of a second updated geofence envelope, wherein the request from the second UAV identifies one or more waypoints;

determine that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, provide a response, to the second UAV, identifying denial of the request;

determine a recommended geofence envelope to provide to the second UAV using the one or more waypoints;

associate the recommended geofence envelope with the second UAV; and

provide information identifying the recommended geofence envelope to the second UAV.

26. The system of claim 19 , wherein the processors are further configured to:

receive a request from a second UAV in flight for approval of a second updated geofence envelope;

determine that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated at least one of the first plurality of UAVs;

at least partly in response to the determination that the second updated geofence envelope has been allocated, and/or interferes with geofence envelopes allocated to the first plurality of UAVs, provide a response, to the second UAV, identifying denial of the request for approval of the second updated geofence envelope;

determine a recommended geofence envelope to provide to the second UAV;

associate the recommended geofence envelope with the second UAV; and

provide information identifying the recommended geofence envelope to the second UAV,

wherein determining the recommended geofence envelope causes the processors to:

obtain information identifying a present allocated geofence envelope of the second UAV; and

determine the recommended geofence envelope using the present allocated geofence envelope.

27. The system of claim 19 , wherein the request from the first UAV identifies contingency information including a flight critical error or failure associated with the first UAV.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2025
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: SKYDIO, INC.
Reel/Frame 072107/0066 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2025
From: HERCULES CAPITAL, INC.
To: SKYDIO, INC.
Reel/Frame 072128/0698 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 9, 2021
From: SKYDIO, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AND ADMINISTRATIVE AGENT
Reel/Frame 058081/0677 →
SECURITY INTEREST Recorded Nov 8, 2021
From: SKYDIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 058053/0768 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2020
From: KNOBBE, MARTENS, OLSON & BEAR, LLP
To: UNMANNED INNOVATION, INC.
Reel/Frame 053739/0789 →
RELEASE OF SECURITY INTEREST Recorded Jul 16, 2020
From: KNOBBE, MARTENS, OLSON & BEAR, LLC
To: AIRWARE, LLC
Reel/Frame 053234/0634 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE CONVEYING PARTY DATA WAS ERRONEOUSLY ENTER AS UNMMANED INNOVATIONS, INC. IT SHOULD READ UNMANNED INNOVATIONS, INC PREVIOUSLY RECORDED AT REEL: 053144 FRAME: 0591. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 15, 2020
From: UNMANNED INNOVATION, INC.
To: AIRWARE, LLC
Reel/Frame 053210/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2020
From: UNMMANED INNOVATION, INC.
To: AIRWARE, LLC
Reel/Frame 053144/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2020
From: AIRWARE, LLC
To: SKYDIO, INC.
Reel/Frame 053144/0633 →
SECURITY INTEREST Recorded Dec 20, 2018
From: UNMANNED INNOVATION, INC.
To: KNOBBE, MARTENS, OLSON & BEAR, LLP
Reel/Frame 048681/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2015
From: DOWNEY, JONATHAN; MICHINI, BERNARD J.; MOSTER, JOSEPH; WEIGEL, DONALD CURRY; OGDEN, JAMES
To: UNMANNED INNOVATION, INC.
Reel/Frame 035936/0505 →