In-Flight Sandbox for Foreign Software

It should come as no surprise that there will be an app store for drones soon. Third-party software may bring new and unexpected uses for the Inspire1 or the Solo. An unforeseen software glitch can be an issue. “An example issue is that a UAV can receive data or instructions from an unreliable program executing on the UAV. The unreliable program can provide erroneous data that can cause the UAV to be lost, damaged, or cause damage to other entities. […] In some cases, a program may be executing on the same computing device as flight code. If that program is unreliable, it may crash or hang, and this might impact the critical flight code. In some cases, the unreliable program can be executed on a separate computing device that is different from a computing device that executes reliable software.”

In essence, the “unreliable program can have bugs that can cause the program to crash or provide erroneous information. The unreliable program can be provided by a 3rd party that does not adhere to predetermined product testing standards.”

It is crucial to make sure the third party code plays nice with the other kids. Kespry Inc. has filed a patent application for a virtual machine for a drone. The new software will be put through a simulated environment before given the reigns to the bird. “The unreliable programs can be isolated from the reliable programs by virtue of executing one or more of the programs in a virtual machine client. The UAV can initiate a recovery action when one or more of the unreliable programs fail. The recovery action can be performed without input from one or more of the unreliable programs.”

Claim1: A method of providing a reliable control system on-board an unmanned aerial vehicle (UAV), comprising:

  • executing with one or more computer processors a first program and a second program in memory onboard the UAV, wherein upon execution, the first program collects sensor data directly from one or more sensors of the UAV;
  • transmitting the sensor data from the first program to the second program;
  • monitoring the sensor data transmitted from the first program to the second program to determine a level of accuracy of the sensor data transmitted from the first program to the second program with respect to the sensor data collected from the one or more sensors of the UAV;
  • and initiating a recovery action by the UAV if the level of accuracy falls below a threshold accuracy over a given time interval.

 

Title: “SYSTEMS AND METHODS FOR EXECUTION OF RECOVERY ACTIONS ON AN UNMANNED AERIAL VEHICLE”

US Patent Application No: 20150225081

Filed (US Prov): Oct. 21, 2013

Published: August 13, 2015

Kespry Kespry1 Kespry2