Systems and methods for execution of recovery actions on an unmanned aerial vehicle
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.
1. An unmanned aerial vehicle (UAV), comprising:
a host processing system comprising at least one first processor;
a flight control system comprising at least one second processor;
wherein the flight control system is different from the host processing system and is coupled to the host processing system and to one or more motor controllers and/or sensors, servos, stepper motors, or other subsystems of the UAV;
one or more motors coupled to the one or more motor controllers;
wherein the host processing system is configured to generate information defining at least one recovery flight plan;
wherein the information defining the recovery flight plan is stored in a memory associated with the flight control system; and
wherein the flight control system is configured to retrieve the information and execute the recovery flight plan in the event of a failure in the host processing system;
wherein the at least one second processor is of a simpler architecture than the at least one first processor.
2. The unmanned aerial vehicle of claim 1 , wherein the flight control system is configured to generate recovery motor controller commands, and wherein the recovery motor controller commands are stored in a memory associated with the motor controllers.
3. The unmanned aerial vehicle of claim 1 , wherein the host processing system is configured to generate a plurality of recovery flight paths.
4. The unmanned aerial vehicle of claim 1 wherein the at least one recovery flight plan comprises a slow descent.
5. The unmanned aerial vehicle of claim 1 , wherein the host processing system has a first level of reliability, wherein the flight control system has a second level of reliability, and wherein the second level of reliability is greater than the first level of reliability.
6. The unmanned aerial vehicle of claim 1 , wherein the first processor has more processing power than the second processor.
7. An unmanned aerial vehicle (UAV), comprising:
a first controller comprising at least one first processor; and
a second controller comprising at least one second processor;
wherein the second controller is different from the first controller and is in communication with the first controller and one or more motor controllers and/or sensors, servos, stepper motors, or other subsystems of the unmanned aerial vehicle,
wherein the first controller is configured to generate information defining at least one recovery flight plan, and
wherein the second controller is configured to execute the recovery flight plan based at least in part on the information defining the recovery flight plan in an event of a failure associated with the first controller;
wherein the at least one second processor is of a simpler architecture than the at least one first processor.
8. The unmanned aerial vehicle of claim 7 , wherein the unmanned aerial vehicle further comprises one or more motors coupled to one or more motor controllers.
9. The unmanned aerial vehicle of claim 7 , wherein the information defining the recovery flight plan is stored in a memory associated with the second controller.
10. The unmanned aerial vehicle of claim 7 , wherein the flight control system is configured to generate recovery motor controller commands, and wherein the recovery motor controller commands are stored in a memory associated with the motor controllers.
11. The unmanned aerial vehicle of claim 7 , wherein the at least one recovery flight plan comprises a slow descent.
12. The unmanned aerial vehicle of claim 7 , wherein the first controller is configured to generate a plurality of recovery flight paths.
13. The unmanned aerial vehicle of claim 7 , wherein a mission plan and/or the at least one recovery flight plan is periodically communicated from the first controller to the second controller.
14. The unmanned aerial vehicle of claim 13 , wherein the event of the failure comprises the second controller missing a periodic communication from the first controller.
15. The unmanned aerial vehicle of claim 7 , wherein the first controller has a first level of reliability, wherein the second controller has a second level of reliability, and wherein the second level of reliability is greater than the first level of reliability.
16. The unmanned aerial vehicle of claim 7 , wherein the first processor has more processing power than the second processor.