IP Library Granted Patent US 10,643,406
Granted Patent B2
US 10,643,406 · App. 15/490,876 · Granted May 5, 2020

Data logging in aerial platform

Inventors: Ashwani Arya (Encinitas, CA); Gary Fong (Cupertino, CA)
Assignee: GoPro, Inc.
G07C5/085B64C39/024B64D47/08G01R31/382G04R20/02G06K9/0063G07C5/008H04L69/16H04N7/181B64C2201/024B64C2201/127B64C2201/146H04L67/12
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,643,406
App. No.
15/490,876
Granted
May 5, 2020
Kind
B2
Abstract

An unmanned aerial vehicle manages storage of data and transfer between other connected devices. The unmanned aerial vehicle captures sensor data from sensors on the unmanned aerial vehicle. The unmanned aerial vehicle transfers the captured sensor data from the unmanned aerial vehicle to a remote controller via a wireless interface. The captured data may be transferred via a TCP link, a UDP link, or a combination thereof. If a loss of link is detected, the captured sensor data is stored to a buffer and a battery level of the unmanned aerial vehicle and a flight status of the unmanned aerial vehicle is monitored. The stored sensor data is transferred from the buffer to a non-volatile storage responsive to the battery level dropping below a predefined threshold or detecting that the unmanned aerial vehicle is stationary and a shutdown may be imminent.

Claims (75)

1. A method for managing data in an unmanned aerial vehicle, the method comprising:

capturing sensor data from sensors on the unmanned aerial vehicle;

transferring the captured sensor data from the unmanned aerial vehicle to a remote controller via a wireless interface;

detecting a loss of a link to a remote controller via the wireless interface;

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a flight status of the unmanned aerial vehicle, the flight status indicating whether the aerial vehicle is in motion or stationary; and

transferring the stored sensor data from the buffer to a non-volatile storage responsive to detecting that the unmanned aerial vehicle is stationary following the loss of the link.

2. The method of claim 1 , further comprising:

capturing system state information relating to a state of the unmanned aerial vehicle;

transferring the system state information from the unmanned aerial vehicle to the remote controller via the wireless interface;

responsive to detecting the loss of the link, storing the captured system state information to the buffer; and

transferring the stored system state information from the buffer to the non-volatile storage responsive to the battery level dropping below the predefined threshold.

3. The method of claim 1 , further comprising:

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a battery level of the unmanned aerial vehicle; and

transferring the stored sensor data from the buffer to the non-volatile storage responsive to the battery level dropping below a predefined threshold.

4. The method of claim 1 , further comprising:

responsive to detecting the loss of the link, monitoring a flight status of the unmanned aerial vehicle, the flight status indicating whether the aerial vehicle is in motion or stationary;

responsive to the unmanned aerial vehicle being in motion following the loss of the link, determining if the buffer is full of untransferred data; and

transferring the untransferred data to the non-volatile storage responsive to the buffer being full.

5. The method of claim 1 , further comprising:

determining an available bandwidth for transferring data between the unmanned aerial vehicle and the remote controller;

selecting, based on the available bandwidth, a wireless interface for transferring a data packet to a remote controller, the wireless interface selected between a TCP interface and a UDP interface; and

transferring the sensor data from the buffer to the remote controller via the selected wireless interface.

6. The method of claim 5 , further comprising:

responsive to detecting that the available bandwidth exceeds a first threshold, transferring the data packet in duplicate over both the TCP interface and the UDP interface.

7. The method of claim 5 , further comprising:

responsive to detecting that the available bandwidth does not exceed a first threshold, transferring the data packet over the UDP interface only.

8. The method of claim 1 , wherein capturing the sensor data comprises:

determining an importance factor for the sensor data;

selectively compressing the sensor data based on a compression level dependent on the importance factor.

9. The method of claim 1 , further comprising:

synchronizing a local clock of the unmanned aerial vehicle; and

timestamping the sensor data using the local clock when storing the sensor data to the buffer.

10. The method of claim 9 , wherein synchronizing the clock comprises:

synchronizing the local clock to a GPS clock from a GPS device integrated in the unmanned aerial vehicle when a GPS connection is available to the GPS device;

responsive to the GPS connection being unavailable, synchronizing the local clock to a controller clock on the remote controller.

11. A non-transitory computer readable storage medium storing instructions for managing data in an unmanned aerial vehicle, the instructions when executed by a processor causing the processor to perform steps including:

capturing sensor data from sensors on the unmanned aerial vehicle;

transferring the captured sensor data from the unmanned aerial vehicle to a remote controller via a wireless interface;

detecting a loss of a link to a remote controller via the wireless interface;

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a flight status of the unmanned aerial vehicle, the flight status indicating whether the aerial vehicle is in motion or stationary; and

transferring the stored sensor data from the buffer to a non-volatile storage responsive to detecting that the unmanned aerial vehicle is stationary following the loss of the link.

12. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

capturing system state information relating to a state of the unmanned aerial vehicle;

transferring the system state information from the unmanned aerial vehicle to the remote controller via the wireless interface;

responsive to detecting the loss of the link, storing the captured system state information to the buffer; and

transferring the stored system state information from the buffer to the non-volatile storage responsive to the battery level dropping below the predefined threshold.

13. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a battery level of the unmanned aerial vehicle; and

transferring the stored sensor data from the buffer to the non-volatile storage responsive to the battery level dropping below a predefined threshold.

14. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

responsive to detecting the loss of the link, monitoring a flight status of the unmanned aerial vehicle, the flight status indicating whether the aerial vehicle is in motion or stationary;

responsive to the unmanned aerial vehicle being in motion following the loss of the link, determining if the buffer is full of untransferred data; and

transferring the untransferred data to the non-volatile storage responsive to the buffer being full.

15. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

determining an available bandwidth for transferring data between the unmanned aerial vehicle and the remote controller;

selecting, based on the available bandwidth, a wireless interface for transferring a data packet to a remote controller, the wireless interface selected between a TCP interface and a UDP interface; and

transferring the sensor data from the buffer to the remote controller via the selected wireless interface.

16. The non-transitory computer readable storage medium of claim 15 , wherein the instructions when executed further cause the processor to perform steps including:

responsive to detecting that the available bandwidth exceeds a first threshold, transferring the data packet in duplicate over both the TCP interface and the UDP interface.

17. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

responsive to detecting that the available bandwidth does not exceed a first threshold, transferring the data packet over the UDP interface only.

18. The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor to perform steps including:

synchronizing a local clock of the unmanned aerial vehicle; and

timestamping the sensor data using the local clock when storing the sensor data to the buffer.

19. An aerial vehicle system comprising:

a processor; and

a non-transitory computer readable storage medium storing instructions for managing data in the aerial vehicle system, the instructions when executed by a processor causing the processor to perform steps including:

capturing sensor data from sensors on the unmanned aerial vehicle;

transferring the captured sensor data from the unmanned aerial vehicle to a remote controller via a wireless interface;

detecting a loss of a link to a remote controller via the wireless interface;

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a flight status of the unmanned aerial vehicle, the flight status indicating whether the aerial vehicle is in motion or stationary; and

transferring the stored sensor data from the buffer to a non-volatile storage responsive to detecting that the unmanned aerial vehicle is stationary following the loss of the link.

20. The aerial vehicle system of claim 19 , wherein the instructions when executed further cause the processor to perform steps including:

responsive to detecting the loss of the link, storing the captured sensor data to a buffer and monitoring a battery level of the unmanned aerial vehicle; and

transferring the stored sensor data from the buffer to the non-volatile storage responsive to the battery level dropping below a predefined threshold.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2024
From: GOPRO, INC.
To: SKYDIO, INC.
Reel/Frame 069083/0355 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY INTEREST Recorded Oct 19, 2020
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054113/0594 →
SECURITY INTEREST Recorded Jul 31, 2017
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043380/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: ARYA, ASHWANI; FONG, GARY
To: GOPRO, INC.
Reel/Frame 042372/0145 →
Continuity (2)
Provisional Application 62325429 · Apr 20, 2016
Related Publication 20170309088A1 · Oct 26, 2017
Cited By (3)
US 12,354,421 US 12,456,803 US 12,656,772