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.
Legal claims defining the scope of protection, as filed with the USPTO.
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.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 18, 2017
May 5, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.