A computer-readable storage medium for causing one or more aerial robots to execute a mission, the computer-readable storage medium being non-transitory and having computer-readable program code stored therein that, in response to execution by processing circuitry, causes an apparatus to at least:
- identify the mission, the mission including tasks that are executable to cause the one or more aerial robots to execute respective maneuvers;
- determine a behavior tree in which the mission is modeled, the behavior tree including a switch node, a trigger node representing a selected task, and action nodes representing others of the tasks, the switch node connected to the trigger node and the action nodes in a parent-child relationship in which the trigger node and the action nodes are children of the switch node, the trigger node being a first of the children that, when ticked by the switch node, returns an identifier of one of the action nodes to trigger the switch node to next tick the one of the action nodes,
- wherein the action nodes include one or more of:
- launch to hover,
- transition up,
- fly-to,
- approach, or
- vertical landing;
- cause the one or more aerial robots to execute the mission using the behavior tree and a leaf node library including the tasks executable to cause the one or more aerial robots to execute the respective maneuvers;
- detect occurrence of a contingency event during execution of the selected task,
- the contingency event to provide an alternative task to the selected task;
- and
- cause the one or more aerial robots to execute other respective maneuvers based on the alterative task causing the one or more aerial robots to execute maneuver commands using maneuver controls of the one or more aerial robots.