UAV Virtual Machine Isolation for Reliable Flight Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Unmanned aerial vehicles (UAVs) face issues with unreliable programs that can cause data errors, leading to potential loss or damage of the UAV or other entities, especially when operating in urban areas, due to the execution of unreliable software on the same computing device as flight code.
Innovation Solution
Implementing a method where a first program collects sensor data and transmits it to a second, more reliable program, which monitors the accuracy of the data and initiates recovery actions if it falls below a threshold, including returning the UAV to a safe location or landing, to ensure reliable control and prevent accidents.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If unreliable programs are executed on the same computing device as flight code, then the UAV can perform additional functions and data collection, but the reliability of the control system deteriorates and safety risks increase
Solution Approach 1:
The computing device is segmented into a host environment and one or more virtual machines. The flight code executes in the host environment while unreliable programs execute in isolated virtual machines. This segmentation allows multiple functions to run simultaneously while preventing the unreliable programs from compromising the flight control system, thus maintaining both versatility and reliability.
Solution Approach 2:
A virtual machine manager acts as an intermediary between the host environment and virtual machines. It manages the execution of programs in virtual machines, monitors their behavior, and ensures that unreliable programs cannot directly access or corrupt the flight code in the host environment. This intermediary layer enables safe coexistence of reliable and unreliable software.
2Adaptability or versatility
If unreliable programs execute on the UAV, then more applications can be run, but the risk of loss or damage to the UAV increases
Solution Approach 1:
The system implements beforehand cushioning by creating isolated virtual machine environments before executing unreliable programs. These virtual machines act as protective containers that prevent harmful effects from propagating to the main flight control system. Recovery actions are also prepared in advance to mitigate potential damage if something goes wrong.
Solution Approach 2:
The system converts the potential harm of unreliable programs into a benefit by using them in isolated virtual machines for tasks like data collection and processing. Even if these programs fail or behave unpredictably, the isolation ensures they cannot harm the flight control system, thus transforming a risk into a useful capability.
3Reliability
If sensor data accuracy monitoring is implemented, then the reliability of control decisions is improved, but the complexity of the system increases
Solution Approach 1:
The system implements feedback by continuously monitoring sensor data accuracy and comparing it against expected ranges. When accuracy falls below thresholds, the system automatically triggers recovery actions. This feedback mechanism improves control decision reliability without requiring complex manual intervention, as the monitoring and response are automated.
Data Source
AI summary
Provided herein are systems and methods for providing reliable control of an unmanned aerial vehicle (UAV). A system for providing reliable control of the UAV can include a computing device that can execute reliable and unreliable programs. 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.


