Patent Description:
There is increasing interest in using Unmanned Aerial Vehicle's (UAVs) for a wide variety of applications throughout society and, in particular, small UAVs (sUAVs). Examples include delivery services, aerial photography and film making, remote sensing tasks for agriculture, city planning, civil engineering, and support for public safety and rescue services. These applications all involve the use of UAVs operating at low altitudes and often above urban areas. In some situations, the UAVs are manually flown by their operator while in other situations the UAVs may be flown using some level of autonomy where a human operator monitors multiple aircraft and intervenes only when trouble arises.

With more aircraft in operation, possibly being flown autonomously or controlled from a remote location, monitoring, controlling, and planning air traffic becomes an important and complex issue. This level of traffic management requires an air traffic control system that can (<NUM>) handle both manually flown (remote or onsite control) and autonomous UAVs, (<NUM>) integrate with existing air traffic control systems to ensure safe operations with other systems flying in the same airspace, (<NUM>) distribute relevant information to all parties/stakeholders, including making operators aware of the environment around the aircraft they are flying (e.g., who is flying where, their planned route, temporary obstacles, weather situations, etc.), and (<NUM>) allow regulatory authorities the ability to monitor the airspace, reserve or restrict airspace access, or close the airspace entirely.

Overall system efficiency will suffer if a human air traffic controller must be involved in handling each request from UAV operators. Many tasks can be performed and verified automatically by air traffic control computers, including registering flight plans, computing flight plans, approving altitude changes, and general flight monitoring. With greater automation, air traffic may be streamlined and human controllers may be assigned to handle more UAV flights.

However, current UAVs provide little automation when unexpected issues arise. In particular, current UAVs are programmed with a single default emergency action of either grounding or aborting the current mission in progress and returning home. The emergency action is triggered primarily by the drop of battery level or the loss of connectivity over a command and control (C2) connection with the UAV operator. However, there may be numerous other triggers for aborting flight missions (e.g., meteorological disturbances). Thus, a single emergency action is insufficient to cover all possible flight issues. Further, safe grounding of a UAV can be called into question when the mission is being flown over a body of water or over hostile or hazardous terrain. Moreover, UAV operators are also mandated to be mindful of "no fly zones" (e.g., restricted airspaces, such as airports or other areas of national security interest). These restrictions are fed into flight path calculations, which are typically performed manually or by UAV Traffic Management (UTM) systems. However, these restrictions are not considered when emergency actions are taken by UAVs. Accordingly, as described above, current UAV flight management systems fail to properly and efficiently address the large number of unexpected issues that may arise during the course of a UAV flight. Consequently, these unexpected issues require the intervention from a human flight traffic controller and/or a human UAV operator.

Methods for managing an Unmanned Aerial Vehicle according to the prior art are known from, for instance, document <CIT>, <CIT>, <CIT> and <CIT>.

A method for managing an Unmanned Aerial Vehicle (UAV) according to appended claim <NUM>.

As described above, an enhanced flight plan (also referred to as a second flight plan), including the predefined points, may be delivered to and stored on the UAV such that upon encountering an unexpected issue during a flight, the UAV may autonomously and dynamically alter a flight path based on a corresponding predefined point. By providing flexible and extensible enhancements to the permission to use an airspace, UAVs can leverage information for a safer and a friendlier flight mission with minimum interaction with an UAV Traffic Management (UTM) system, air traffic controllers, and/or a UAV operator. This framework may yield to many more successfully completed flight missions in a safer and friendlier environment thereby leading to an efficient use of the airspace.

The invention further relates to a non-transitory computer-readable storage medium according to appended claim <NUM> and to a network device for managing an Unmanned Aerial Vehicle according to appended claim <NUM>.

In the following description, numerous specific details are set forth. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.

Bracketed text and blocks with dashed borders (e.g., large dashes, small dashes, dot-dash, and dots) are used herein to illustrate optional operations that add additional features to embodiments of the invention. However, such notation should not be taken to mean that these are the only options or optional operations, and/or that blocks with solid borders are not optional in certain embodiments of the invention.

An electronic device stores and transmits (internally and/or with other electronic devices over a network) code (which is composed of software instructions and which is sometimes referred to as computer program code or a computer program) and/or data using machine-readable media (also called computer-readable media), such as machine-readable storage media (e.g., magnetic disks, optical disks, read only memory (ROM), flash memory devices, phase change memory) and machine-readable transmission media (also called a carrier) (e.g., electrical, optical, radio, acoustical or other form of propagated signals - such as carrier waves, infrared signals). Thus, an electronic device (e.g., a computer) includes hardware and software, such as a set of one or more processors coupled to one or more machine-readable storage media to store code for execution on the set of processors and/or to store data. For instance, an electronic device may include non-volatile memory containing the code since the non-volatile memory can persist the code even when the electronic device is turned off, and while the electronic device is turned on that part of the code that is to be executed by the processor(s) of that electronic device is copied from the slower non-volatile memory into volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM)) of that electronic device. Typical electronic devices also include a set or one or more physical network interface(s) to establish network connections (to transmit and/or receive code and/or data using propagating signals) with other electronic devices. One or more parts of an embodiment of the invention may be implemented using different combinations of software, firmware, and/or hardware.

A system, according to one embodiment, is presented herein that enhances a flight plan for Unmanned Aerial Vehicles (UAVs) by incorporating/adding predefined points to the flight plan. In one embodiment, a UAV operator may present a proposed flight plan, including a flight path, to a UAV Traffic Management (UTM) system. The UTM system may generate an actual flight plan based on the proposed flight plan and verify that the actual flight plan complies with directives, constraints, or other rules/regulations issued by a regulatory authority and/or other stakeholders/services. In some embodiments, a supplemental data service provider may make a set of predefined points available for modifying the actual flight plan to produce an enhanced flight plan. In these embodiments, the enhanced flight plan includes at least a main flight path (taken from the actual flight plan) and a set of predefined points. According to the invention, each of the predefined points include a set of conditions and a set of locations. For example, a predefined point may include a low battery condition (e.g., the battery of the UAV is below ten percent) and a set of charging station locations associated with the low battery condition. In this example embodiment, upon detection of the low battery condition, the UAV may autonomously select one of the charging station locations and deviate from the main flight path to navigate to the selected charging station location. The enhanced flight plan, including at least the predefined points, may be delivered to and stored on the UAV such that upon encountering an unexpected issue during a flight (i.e., an issue matching a condition of a predefined point), the UAV may autonomously and dynamically alter its flight (e.g., deviate from the main flight path) based on a corresponding predefined point. By providing flexible and extensible enhancements to the permission to use an airspace, UAVs can leverage information for a safer and a friendlier flight mission with minimum interaction with the UTM, air traffic controllers, and/or a UAV operator. This framework may yield to many more successfully completed flight missions in a safer and friendlier environment thereby leading to an efficient use of the airspace.

<FIG> shows an Unmanned Aerial Vehicle (UAV) Traffic Management (UTM) system <NUM> for managing UAVs <NUM> using enhanced flight plans, according to one embodiment. The UTM system <NUM> may be used for managing the flights of one or more UAVs <NUM> that are controlled/operated/piloted by corresponding UAV operators <NUM>. The UAVs <NUM> may be interchangeably referred to as Unmanned Aircraft Systems (UASs) or drones throughout this description.

In some embodiments, the UAVs <NUM> may be miniature or small UAVs (sUAVs), which are unmanned aircraft that are small enough to be considered portable by an average man and typically operate/cruise at altitudes lower than larger aircraft. For example, a small UAS may be any unmanned aircraft that is fifty-five pounds or lighter and/or is designed to operate below <NUM> feet. Although the embodiments described herein may be applied to small UAVs, the systems and methods are not restricted to aircraft of these sizes or that are designed to operate at particular altitudes. Instead, the methods and systems described herein may be similarly applied to aircraft of any size or design and with or without an onboard pilot/operator. For example, in some embodiments, the methods and systems described herein may be used for UAVs <NUM> larger than fifty-five pounds and/or UAVs <NUM> that are designed to fly above <NUM> feet.

The UAVs <NUM> are aircraft without an onboard human controller. Instead, the UAVs <NUM> may be operated/piloted using various degrees of autonomy. For example, a UAV <NUM> may be operated by a human (e.g., the UAV operator <NUM>) located on the ground or otherwise removed and independent of the location of the UAV <NUM>. For instance, a UAV operator <NUM> may be located on the ground and acts to directly control each movement of a UAV <NUM> or a group of UAVs <NUM> through a radio control interface (e.g., a command and control (C2) interface). In this embodiment, the UAV operator <NUM> may transmit commands via the radio interface to cause the UAV <NUM> to adjust/move particular flight instruments (e.g., flaps, blades, motors, rotors, etc.) for the purpose of following a flight plan or another set of objectives. In other scenarios, the UAV operator <NUM> may provide a flight plan to the UAV <NUM>. In response to the flight plan, the UAV <NUM> may adjust/move particular flight instruments to autonomously fulfill objectives of the flight plan. In these embodiments, a human operator (e.g., the UAV operator <NUM>) may monitor the progress of the flight plan and intervene as needed or as directed. Accordingly, the UAV <NUM> may operate with various levels of autonomy (e.g., fully dependent on a UAV operator <NUM>, partially dependent on a UAV operator <NUM>, or fully independent of a UAV operator <NUM>). In some embodiments, the UAV operator <NUM> may be viewed as a remote human controller, a remote digital controller, an onboard digital controller, or a combination of the preceding.

In some embodiments, a flight plan may include a flight path (e.g., a starting point, an ending point, and/or a set of waypoints, where each are defined by longitudinal and latitudinal coordinates), a set of velocities, a set of altitudes, a set of headings/directions, a mission type, a set of events (e.g., capture video at prescribed times or locations, hover over an area for a specified interval, etc.), a time/expiration/duration, and a set of restricted or permitted zones/areas. For instance, the flight plan <NUM> shown in <FIG> indicates that the UAV <NUM> is to take off from location A1 (corresponding to a first set of longitude and latitude coordinates) and travel to location A2 (corresponding to a second set of longitude and latitude coordinates) using the path B. The path B may be separated into the segments B1 and B2. In this scenario, the UAV <NUM> is restricted to an altitude between <NUM> feet and <NUM> feet and a velocity of <NUM> miles/hour during segment B1 and an altitude between <NUM> feet and <NUM> feet and a velocity of <NUM> miles/hour during segment B2. The above altitude and velocity limitations are merely exemplary and in other embodiments higher altitude and velocity limitations may be assigned/issued for a UAV <NUM> (e.g., altitude limitations above <NUM> feet and velocity limitations above <NUM> miles/hour).

In another example, as shown in <FIG>, a flight plan <NUM> may indicate that the UAV <NUM> is to take off from location A1, travel to location A2, and avoid a set of restricted zones 204A and 204B. In this example, the UAV <NUM> is directed to reach the target location A2 without entering the set of restricted zones 204A and 204B. The restricted zones may be relative to geographical location (defined by a set of coordinates), an altitude, and/or a velocity. For example, the UAV <NUM> may be permitted to enter restricted zone 204A but only at a prescribed altitude and/or only at a prescribed velocity.

In still another example, shown in <FIG>, a flight plan <NUM> may provide clearance for the UAV <NUM> to fly in a designated clearance zone <NUM>. The clearance zone <NUM> may be a confined area associated with an altitude range (e.g., between <NUM>-<NUM> feet) and/or an expiration/duration (e.g., an expiration of <NUM>:40PM). In this example, the UAV <NUM> may fly anywhere in the designated clearance zone <NUM> until the clearance has expired.

In yet another example, shown in <FIG>, the flight plan <NUM> may include a main flight path <NUM> and a set of predefined points 138A and 138B. In this example embodiment, the UAV <NUM> may follow the main flight path <NUM> and upon detection/occurrence of a condition associated with a predefined point 138A and 138B, the UAV <NUM> may move off or otherwise deviate from the main flight path <NUM> and to the corresponding location of the predefined point 138A or 138B. For instance, the predefined point 138A may be associated with a low charge condition. The low charge condition may be related to a battery charge of a battery in the UAV <NUM> falling below a prescribed level (e.g., battery level is less than <NUM>%). In this example, the predefined point 138A may also include a charging station location. Upon detecting the low battery condition (e.g., the battery level is less than <NUM>%), the UAV <NUM> may autonomously adjust course away from the main flight path <NUM> to move to the charging station location of the predefined point 138A. In some embodiments, after the condition is no longer detected or is otherwise no longer true, the UAV <NUM> may return to the main flight path <NUM>.

Although the flight plans described above are provided in relation to diagrams, flight plans may be encoded/presented using any format. For example, a flight plan may be represented and passed to the UAV <NUM> using an extensible markup language (XML) based format or another encoding or representation that is decodable and parseable by a machine.

<FIG> shows a block diagram of a UAV <NUM> according to one example embodiment. Each element of the UAV <NUM> will be described by way of example below and it is understood that each UAV <NUM> may include more or less components than those shown and described herein.

As shown in <FIG>, a UAV <NUM> may include a set of motors <NUM> controlled by one or more motor controllers <NUM>, which control the speed of rotation of the motors <NUM> (e.g., rounds per minute). As used herein, the term engine may be used synonymously with the term motor and shall designate a machine that converts one form of energy into mechanical energy. For example, the motors <NUM> may be electrical motors that convert electricity stored in the battery <NUM> into mechanical energy. The UAV <NUM> may include any number of motors <NUM> that are placed in any configuration relative to a body and/or an expected heading of the UAV <NUM>. For example, the motors <NUM> may be configured such that the UAV <NUM> is a multirotor helicopter (e.g., a quadcopter). In other embodiments, the motors <NUM> may be configured such that the UAV <NUM> is a fixed wing aircraft (e.g., a single engine or dual engine airplane). In these embodiments, the motors <NUM>, in conjunction with other elements of the UAV <NUM> serve to keep the UAV <NUM> in flight and/or propel the UAV <NUM> in a desired direction. In some embodiments, the UAV <NUM> may not include motors <NUM> for propelling the UAV <NUM> forward. In this embodiment, the UAV <NUM> may be a glider or lighter than air craft (e.g., a weather balloon).

As noted above, the motors <NUM> are controlled by one or more motor controllers <NUM>, which govern the speed of rotation of each motor <NUM>. In one embodiment, the motor controllers <NUM> may work in conjunction with actuator controllers <NUM> and actuators <NUM> that control the pitch/angle/rotation of propellers, flaps, slats, slots, rotors, rotor blades/wings, and other flight control systems <NUM>. The motor controllers <NUM> and actuator controllers <NUM> may be managed/controlled by one or more processors 312A that are communicatively coupled to a memory 312B and one or more interfaces 312C.

In some embodiments, the memory 312B may store instructions that when executed by the processors 312A cause the UAV <NUM>, via adjustments to settings/parameters of the motor controllers <NUM> and actuator controllers <NUM>, to move in a particular direction (vertical or horizontal) or maintain a particular flight pattern (e.g., hover at a particular altitude).

The UAV <NUM> may communicate with one or more other devices using the one or more interfaces 312C. In one embodiment, one of the interfaces 312C in a UAV <NUM> may comply with a 3rd Generation Partnership Project (3GPP) protocol. For example, the interface 312C may adhere to one or more of Global System for Mobile communications (GSM) (including General Packet Radio Service (GPRS) and Enhanced Data Rates for GSM Evolution (EDGE)), UMTS (including High Speed Packet Access (HSPA)), and Long-Term Evolution (LTE). In some embodiments, one or more interfaces 312C in the UAV <NUM> may allow a UAV operator <NUM> and/or other parts of the UTM system <NUM> to control or provide plans/instructions to the UAV <NUM>.

In one embodiment, one of the interfaces 312C provides access to location information describing the geographical location, velocity, altitude, and heading of the UAV <NUM>. For example, in some embodiments, the interfaces 312C may provide access to the Global Positioning System (GPS) or other satellite based location services. In some embodiments, the interfaces 312C may provide access to network based location services (e.g., 3GPP Location Services (LCS)).

A UAV operator <NUM> may maintain communications with a corresponding UAV <NUM> via connection <NUM>. The connection <NUM> may be established through one or more interfaces 312C and may form a wireless command and control (C2) connection that allows the UAV operator <NUM> to control the UAV <NUM> through direct commands and/or through issuance of a flight plan. In some embodiments, the connection <NUM> may additionally allow the UAV operator <NUM> to receive other forms of data from the UAV <NUM>. For example, the data may include images, video streams, telemetry data, and system status (e.g., battery level/status). In some embodiments, the connection <NUM> may be a point-to-point connection (e.g., mesh) while in other embodiments the connection <NUM> between the UAV operator <NUM> and the UAV <NUM> may be part of a distributed network (e.g., a cellular network).

In one embodiment, the UAV operator <NUM> may maintain communication with elements of the UTM system <NUM> via other corresponding connections. For example, the UAV operator <NUM> may maintain connection <NUM> with a UAV Service Supplier (USS) <NUM>. In some embodiments, the connection <NUM> may be a point-to-point connection while in other embodiments the connection <NUM> may be part of a distributed network.

In one embodiment, the connection <NUM> allows the UAV operator <NUM> to transmit data to or receive data from the USS <NUM> regarding a current, past, or future flight of the UAV <NUM>. For example, the UAV operator <NUM> may transmit a proposed flight plan to the USS <NUM> and receive an actual flight plan and/or enhanced flight plan from the USS <NUM> via the connection <NUM>. In one embodiment, the UTM system <NUM> may include a plurality of USSs <NUM>. The set of USSs <NUM> may alternatively be referred to as a USS network. Each USS <NUM> offers support for safe airspace operations based on information received from a set of stakeholders and other information sources. The USSs <NUM> may share information about their supported operations to promote safety and to ensure that each USS <NUM> has a consistent view of all UAV <NUM> operations and thus enable the UAVs <NUM> to stay clear of each other.

The USSs <NUM> may receive information from a variety of stakeholders and information sources such that the USSs <NUM> may determine whether a proposed flight plan or an actual flight plan is authorized to proceed. For example, the Federal Aviation Association (FAA) may provide directives and constraints to the USSs <NUM> via the Flight Information Management System (FIMS) <NUM>. The FIMS <NUM> provides administration officials a way to issue constraints and directives to the UAV operators <NUM> and/or the UAVs <NUM> via a USS <NUM>. Such constraints and directives may be based on information received from the National Airspace System (NAS) Air Traffic Management (ATM) system <NUM> and/or other NAS data sources <NUM>. In this example, the ATM system <NUM> could be used to mark certain restricted areas (e.g., airports and military bases) for the UAVs <NUM> or restrict flights over forest fire areas or other spaces which are normally permitted for the UAVs <NUM> to operate. In addition to the airspace state and other data provided by the ATM system <NUM> and other NAS data sources <NUM>, the FIMS <NUM> may provide impact data, which may describe effects caused by the UAVs <NUM> to a common airspace.

In some embodiments, the USSs <NUM> may receive constraints from public safety sources <NUM>. This information may limit UAV <NUM> flights over areas when such flights may negatively affect public safety. For example, UAV <NUM> missions may be limited over areas that are currently hosting events with large crowds of people. In some embodiments, the public safety sources <NUM> may provide data that is presented/transmitted to UAV operators <NUM> via the USS <NUM> for the planning of a flight plan/mission. The USSs <NUM> may also make UAV <NUM> flight/operations information available to the public <NUM>.

In addition to constraints and directives received from FIMS <NUM>, public safety sources <NUM>, and the public <NUM>, the USSs <NUM> may receive data from supplemental data service providers <NUM>. These supplemental data service providers <NUM> may provide various pieces of data that are used by the USSs <NUM> in planning and authorizing a flight plan, including terrain, weather, surveillance, and performance information. The supplemental data service providers <NUM> may communicate amongst each other to insure consistency and accuracy of information. In some embodiments, the supplemental data service providers <NUM> may provide data that is presented/transmitted to UAV operators <NUM> via the USS <NUM> for the planning of a flight plan/mission.

As will be described in greater detail below, in one embodiment, a supplemental data service provider <NUM> may provide one or more predefined points <NUM> to the USS <NUM> for generation of an enhanced flight path. For example, the USS <NUM> may use data/information received from one or more supplemental data service providers <NUM> to generate an actual flight plan from a proposed flight plan received from a UAV operator <NUM>. The USS <NUM> may receive approval for the actual flight plan based on inputs from various stakeholders in the corresponding airspace (e.g., FIMS <NUM>). The USS <NUM> may thereafter request a supplemental data service provider <NUM> to add or suggest predefined points <NUM> to add to the approved actual flight plan such that an enhanced flight plan may be created. The predefined points <NUM> provide alternative points/locations for a UAV <NUM> to fly to upon the occurrence of one or more associated conditions. In particular, the predefined points <NUM> may provide directions/instructions for the UAV <NUM> to autonomously deal with unexpected or unplanned issues that arise during the flight of the UAV <NUM>. For example, these predefined points <NUM> may include remote charging service station locations for emergency charging, safe landing locations for emergency grounding, and sheltered locations of safe harbor (e.g., rooftops or cell-tower enclosures). In some embodiments, predefined points <NUM> may be associated with attributes, such as priorities (e.g., which predefined point <NUM> to select for an emergency landing when conditions of multiple predefined points <NUM> are met) and conditions of use (e.g., use a predefined point <NUM> only in case of a specific malfunction). In some embodiments, a predefined point <NUM> may be associated with higher-level directives (e.g., an action to be taken by the UAV <NUM>). For example, for emergency landings, a higher-level directive may be to use a predefined point <NUM> with a nearest location from the actual/current position of the UAV <NUM> as a landing spot. In another example, the higher-level directive may be to specify a prioritization and selection criteria per emergency situation. For instance, in some embodiments, in case of loss of communications with the UAV operator <NUM>, the UAV <NUM> may always use a predefined point <NUM> with a nearest location as a landing spot (measured from the last reported position of the UAV <NUM>). In some embodiments, additional actions may be specified in case the main flight path is aborted and a predefined point <NUM> is selected by the UAV <NUM>. For example, the UAV <NUM> may signal which landing spot the UAV <NUM> is approaching (e.g., which predefined point <NUM> the UAV <NUM> selected) so the UAV <NUM> can later be recovered proximate to this landing spot.

In some embodiments, the predefined points <NUM> may be alternatively referred to as predefined locations, alternative points, alternative locations, conditional points, or conditional locations. Although described as providing/transmitting the predefined points <NUM> to the USS <NUM>, in other embodiments the USS <NUM> may transmit an actual flight plan to the supplemental data service provider <NUM> and the supplemental data service provider <NUM> may add predefined points <NUM> to the actual flight plan to generate an enhanced flight plan. The supplemental data service provider <NUM> may thereafter transmit the enhanced flight plan to the USS <NUM>. This enhanced flight plan may thereafter be forwarded to the UAV operator <NUM>. In response to receiving an enhanced flight plan, the UAV operator <NUM> may begin controlling the UAV <NUM> to effectuate the enhanced flight plan or the UAV operator <NUM> may transmit the enhanced flight plan or some set of instructions describing the objectives of the authorized flight plan, including the predefined points <NUM>, to the UAV <NUM>. For example, the UAV operator <NUM> may at least transmit the predefined points <NUM> of an enhanced flight plan to the UAV <NUM>. Based on inputs from the UAV operator <NUM>, the processor 312A together with instructions stored in the memory 312B may control the motor controllers <NUM> and/or actuators <NUM> to achieve the objectives of the enhanced flight plan. As described above, the UAV <NUM> may follow a main flight path of the enhanced flight plan until the detection of a condition of a predefined point <NUM>. In response to detection of the condition of the predefined point, the UAV <NUM> may deviate from the main flight path and move to a selected location of the predefined point <NUM>.

In some embodiments, it may be necessary to update the predefined points <NUM> during flight of the UAV <NUM>. In some cases, updating the predefined points <NUM> may be needed if, for example, multiple UAVs <NUM> are flying in the area and another UAV <NUM> is occupying a location of one of the predefined points <NUM> (e.g., a landing location indicated by a predefined point <NUM> is occupied by a UAV <NUM> and not available for another UAV <NUM>). Another example would be if a location of a predefined point <NUM> is decommissioned or malfunctioning. To this end, the UTM system <NUM> may update the locations <NUM> during the flight of a UAV <NUM>. This update may be based on the actual position of the UAV <NUM> on a flight path (e.g., only update the predefined points <NUM> ahead of the UAV <NUM> with respect to the main flight path of the enhanced flight plan).

By providing flexible and extensible enhancements to the permission to use an airspace, the UAVs <NUM> can leverage information for a safer and a friendlier flight mission with minimum interaction with the UTM system <NUM>, air traffic controllers, and/or a UAV operator <NUM>. This framework may yield to many more successfully completed flight missions in a safer and friendlier environment thereby leading to an efficient use of the airspace.

Turning now to <FIG>, an example method <NUM> will be discussed for generating an enhanced flight plan according to one embodiment. The operations in the diagram of <FIG> will be described with reference to the exemplary implementations of the other figures. However, it should be understood that the operations of the diagram can be performed by implementations other than those discussed with reference to the other figures, and the implementations discussed with reference to these other figures can perform operations different than those discussed with reference to the diagram. Although described and shown in <FIG> in a particular order, the operations of the method <NUM> are not restricted to this order. For example, one or more of the operations of the method <NUM> may be performed in a different order or in partially or fully overlapping time periods. Accordingly, the description and depiction of the method <NUM> is for illustrative purposes and is not intended to restrict to a particular implementation.

In one embodiment, the method <NUM> may commence at operation <NUM> with a UAV operator <NUM> creating and transmitting a proposed flight plan to a USS <NUM> of the UTM system <NUM>. To perform an activity/flight mission (e.g., surveillance of a target or location, monitoring of a target or location, or delivery of an object to a target or location), a UAV operator <NUM> requests for airspace clearance from the UTM system <NUM> for a scheduled period of operation. This request for airspace clearance may be expressed in a proposed flight plan. <FIG> shows a proposed flight plan <NUM> according to one example embodiment. As shown, the proposed flight plan <NUM> includes a flight path <NUM>, including a start point, an ending point (i.e., a target), and one or more intermediate points through an airspace <NUM>. Although shown in relation to a flight path <NUM>, the proposed flight plan <NUM> may include other elements. For example, as shown in <FIG>, the proposed flight plan <NUM> may include in addition to the flight path <NUM> or in place of the flight path <NUM>, a geofence 505A describing an authorized area of operation (e.g., an area where the UAV <NUM> is permitted to fly), and/or a geofence 505B describing an unauthorized area of flight (e.g., an area outside of which the UAV <NUM> is not permitted to fly). Although not shown in <FIG> and <FIG>, the proposed flight plan <NUM> may include one or more of a set of velocities, a set of altitudes, a set of headings/directions, a mission type (e.g., capture video), a set of events (e.g., capture video at prescribed times or locations, hover over an area for a specified interval, etc.), a time/expiration/duration, the type of UAV <NUM> being used (e.g., flight capabilities of the UAV <NUM>, energy requirements of the UAV <NUM>, and consumption and state of a battery <NUM> of the UAV <NUM>), and a payload of the UAV <NUM>. The proposed flight plan <NUM> of <FIG> will be used hereinafter for purposes of explanation; however, it is understood that different proposed flight plans may be used with the method <NUM>.

As noted above, the UAV operator <NUM> may transmit or otherwise make the proposed flight plan <NUM> available to the UTM system <NUM>. In particular, the proposed flight plan <NUM> may be transmitted to the USS <NUM> such that, as described below, the USS <NUM> may request an actual flight plan from the supplemental data service providers <NUM> and/or verify that the proposed flight plan <NUM> and/or the actual flight plan complies with a set of directives and constraints issued by a regulatory authority/agency or another stakeholder (e.g., FIMS <NUM>, public safety sources <NUM>, etc.) in the airspace <NUM>.

At operation <NUM>, the USS <NUM> may issue a request for an actual flight plan to a set of supplemental data service providers <NUM>. In one embodiment, the request may include the proposed flight plan <NUM>. The supplemental data service providers <NUM> may provide terrain, weather, surveillance, and performance information for adjusting the proposed flight plan <NUM> to create the actual flight plan, which is transmitted to the USS <NUM> at operation <NUM>. Although described as transmitting the proposed flight plan <NUM> to the supplemental data service providers <NUM> such that the supplemental data service providers <NUM> may generate the actual flight plan for transmission back to the USS <NUM>, in some embodiments the USS <NUM> may generate the actual flight plan based on inputs from the supplemental data service providers <NUM>. In some embodiments, the UAV operator <NUM> may generate the actual flight plan with assistance from the USS <NUM> based on inputs from the supplemental data service providers <NUM>. <FIG> shows an actual flight plan <NUM> according to one example embodiment. As shown in <FIG>, the actual flight plan <NUM> may include a flight path <NUM> that has been adjusted from the flight path <NUM> of the proposed flight plan <NUM>. The adjustment may have been caused by terrain, weather, surveillance, and/or performance information. For example, the adjustment to the flight path <NUM> to create the flight path <NUM> may have been made to avoid a weather condition.

At operation <NUM>, the actual flight plan <NUM> may be transmitted to the FIMS <NUM> for verification. The verification may include determining that the actual flight plan <NUM> complies with a set of directives and constraints issued by a regulatory authority that manages the airspace <NUM> covered by the actual flight plan <NUM> (e.g., the FAA). Although described in relation to U. regulatory authorities, the systems and methods described herein may be similarly applied using any regulatory authority/agency overseeing any jurisdiction/territory/airspace.

Upon confirming that the actual flight plan <NUM> complies with all applicable directives and constraints, the FIMS <NUM> may provide an approval to the USS <NUM> at operation <NUM>. Although described as the USS <NUM> transmitting the actual flight plan <NUM> to the FIMS <NUM> for verification/approval of compliance, in some embodiments the USS <NUM> may verify that the actual flight plan <NUM> complies with all applicable directives and constraints based on inputs from the FIMS <NUM>. In one embodiment, the actual flight plan <NUM> may be modified to comply with the directives and constraints.

At operation <NUM>, the USS <NUM> may request an enhanced flight plan from a supplemental data service provider <NUM>, and the supplemental data service provider <NUM> may return the enhanced flight plan to the USS <NUM> at operation <NUM>. In one embodiment, the enhanced flight plan may include the details of the actual flight plan <NUM> in addition to a set of predefined points <NUM>. For purposes of explanation, the enhanced flight plan described hereinafter will include details of the actual flight plan <NUM> in addition to a set of predefined points <NUM>.

The predefined points <NUM> may describe some combination of remote charging service station locations for emergency charging, safe landing locations for emergency grounding, and sheltered locations of safe harbor (e.g., rooftops or cell-tower enclosures), or other points outside the flight path <NUM>. In one embodiment, each of the predefined points <NUM> may comply with all directives, constraints, and other rules and regulations issued by a regulatory authority or other stakeholders of the common airspace <NUM>. As shown in <FIG>, according to the invention, a predefined point <NUM> are defined by a set of conditions <NUM> and a set of locations <NUM>. Upon detection of the set of conditions <NUM> for a predefined point <NUM>, the UAV <NUM> acts autonomously to move to the set of locations <NUM> associated with the predefined point <NUM> for which the condition <NUM> was detected. For example, <FIG> shows an enhanced flight plan <NUM> that includes a flight path <NUM> from the actual flight plan <NUM> (sometimes referred to as a main flight path <NUM> or an original flight path <NUM>) and predefined points 138A-138C. In this example, the predefined point 138A may include a low battery condition <NUM> corresponding to the battery <NUM> of the UAV <NUM> being below a predefined level (e.g., the battery <NUM> of the UAV <NUM> is below <NUM>%) and an associated location <NUM> may be the location of a charging station. In this example embodiment, upon detecting that the battery <NUM> of the UAV <NUM> is below the predefined level, which matches the low battery condition <NUM>, the UAV <NUM> may deviate from the original/main flight path <NUM> and head to the associated location <NUM> of the predefined point 138A (i.e., the location of the charging station). In the preceding example, the original/main flight path <NUM> may be a flight path provided by the actual flight plan <NUM>, which is also included in the enhanced flight plan <NUM>, while the predefined points <NUM> of the enhanced flight plan <NUM> define alternative paths or deviations for the UAV <NUM> to take when associated conditions <NUM> are detected.

In one embodiment, the predefined points <NUM> may be stored/downloaded to a UAV <NUM> for use upon occurrence of a condition <NUM> as will be described below. In some embodiments, locations <NUM> of predefined points <NUM> may be defined/represented by a set of geographical coordinates (e.g., longitude, latitude, and/or altitude). In one embodiment, the locations <NUM> may be an area in the airspace <NUM>. For example, a location <NUM> of a predefined point <NUM> may be defined/represented by a set of coordinates (e.g., longitude, latitude, and/or altitude) and a distance. In this example embodiment, the area of the location <NUM> is a sphere centered at the coordinates with a radius of the provided distance measure. In other embodiments, the area of a location <NUM> may be other two or three-dimensional shapes that are defined/represented by multiple sets of coordinates and/or distance measures. For example, a set of four coordinate groups may represent a rectangular open field that may be used by the UAV <NUM> for landing.

In some embodiments, a predefined point <NUM> may include authentication and security keys <NUM> for establishing communications with or access to a service system at a location <NUM>. For example, a location <NUM> of a predefined point <NUM> may provide a beacon for guiding the UAV <NUM> to a landing or charging station. In this example, the predefined point <NUM> that is part of an enhanced flight plan <NUM> may include authentication and security keys <NUM> for gaining access to the beacon. In another example, the predefined point <NUM> may include authentication and security keys <NUM> for accessing a charging station at a location <NUM> specified in the predefined point <NUM>.

In some embodiments, a predefined point <NUM> may be associated with priority information <NUM> (e.g., which emergency landing location <NUM> to select when a predefined point <NUM> includes multiple locations <NUM>) and condition of use information <NUM> (e.g., a condition <NUM> indicates the occurrence of a malfunction and the condition of use information <NUM> indicates that a location <NUM> may only be used in case of a specific malfunction).

In some embodiments, each type of predefined point <NUM> can be associated with a higher-level directive <NUM> (e.g., an action to be taken by the UAV <NUM>). For example, for emergency landings, a higher-level directive <NUM> may be to use the nearest location <NUM> of a set of locations <NUM>, from the actual/current position of the UAV <NUM>, as a landing spot. In another example, the higher-level directive <NUM> may be to specify a prioritization and selection criteria per emergency situation. For instance, in case of the loss of communications with a UAV operator <NUM>, a higher-level directive <NUM> may be to always use the nearest location <NUM> of a set of locations <NUM>, from the last reported position of the UAV <NUM>, as a landing spot for the UAV <NUM>.

In some embodiments, a higher-level directive <NUM> may include additional actions to be taken by the UAV <NUM>. For example, an additional action <NUM> may include the UAV <NUM> signaling to the UTM system <NUM> or otherwise broadcasting which landing spot the UAV <NUM> is approaching so the UAV <NUM> can later be recovered.

In some embodiments, it may be necessary to update the predefined points <NUM> during the flight mission. In some cases, this would be needed if, for example, multiple UAVs <NUM> are flying in the area and another UAV <NUM> is occupying one of the locations <NUM> of a predefined point <NUM> (e.g., a landing zone). Another example would be if a location <NUM> of a predefined point <NUM> is decommissioned or malfunctioning.

In one embodiment, the predefined points <NUM> may be provided by a supplemental data service provider <NUM>. In one embodiment, the supplemental data service provider <NUM> used at operations <NUM> and <NUM> to add predefined points <NUM> to the actual flight plan <NUM> may be different/distinct from the supplemental data service provider <NUM> used at operations <NUM> and <NUM>.

Although described as the supplemental data service provider <NUM> generating and transmitting the enhanced flight plan <NUM> to the USS <NUM>, in some embodiments, the supplemental data service provider <NUM> may provide a set of predefined points <NUM> to the USS <NUM>, and the USS <NUM> (with or without assistance from the UAV operator <NUM>) may generate the enhanced flight plan <NUM> using the set of predefined points <NUM>. Accordingly, the USS <NUM> and/or the UAV operator <NUM> may be tasked with selecting and incorporating predefined points <NUM> into the enhanced flight plan <NUM>.

At operation <NUM>, the enhanced flight plan <NUM> may be transmitted to the UAV operator <NUM>. The UAV operator <NUM> may thereafter start to carry out the enhanced flight plan <NUM> at operation <NUM>. In this embodiment, part or all of the enhanced flight plan <NUM> may be transmitted and stored on the UAV <NUM>. For example, the predefined points <NUM> of the enhanced flight plan <NUM> may be stored on the UAV <NUM> (e.g., in memory 312B). In some embodiments, the predefined points <NUM> may be stored on the UAV <NUM> in prioritized order and consulted by the UAV <NUM> when an emergency or malfunction arises as a contingency for safe action (e.g., landing pad or charging station, which is either closest or is preferred).

At operation <NUM>, a condition <NUM> may be detected that causes the UAV <NUM> to autonomously adjust navigation settings and target a location <NUM> indicated by one of the predefined points <NUM>. For example, a predefined point <NUM> may include a motor <NUM> malfunction condition <NUM> and an emergency landing site location <NUM>. Upon detecting a failed motor <NUM>, the UAV <NUM> may determine that the motor <NUM> malfunction condition <NUM> has been met and in response may autonomously begin movement to the emergency landing location <NUM> associated with the motor <NUM> malfunction condition <NUM>. In another example, a predefined point <NUM> may include a remote abort condition <NUM> and a plurality of landing site locations <NUM>. Upon receiving a request to abort the current mission (e.g., the enhanced flight plan <NUM>), the UAV <NUM> may prioritize the plurality of landing site locations <NUM> based on distance from the current location of the UAV <NUM> and select an emergency landing location <NUM>.

In some embodiments, a predefined point <NUM> may be used in cases where redundant command and control (C2) links and a high/wide-bandwidth link (e.g., cellular/LTE connection) have failed, but a low/narrow-bandwidth link remains. Upon detecting the high-bandwidth link failing, the UTM system <NUM> may issue an abort command and immediately transmit a land trigger to the UAV <NUM>. Upon detection of this triggering condition <NUM>, the UAV <NUM> may retrieve a set of stored safe landing locations <NUM>. In some embodiments, the UAV <NUM> may inform the USS <NUM> of a safe landing and the location <NUM> of the landing via the low/narrow-bandwidth link.

In some embodiments, a predefined point <NUM> may be used to navigate to regain a C2 link. For example, upon detecting a triggering condition <NUM> of a loss of a C2 link, the UAV <NUM> may identify a set of network tower locations <NUM> associated with the condition <NUM>. The UAV <NUM> may thereafter autonomously navigate to a closest or preferred network tower at a location <NUM> specified by a predefined point <NUM> in an attempt to regain the C2 link. The predefined point <NUM> and associated condition <NUM> described above may be further extended to include a further failure to establish the C2 link condition <NUM>. Upon detecting a further failure condition <NUM> (e.g., after passage of a defined period of time), the UAV <NUM> may navigate to an emergency landing location <NUM> associated with the predefined point <NUM>.

Although described above as predefined points <NUM> including physical locations <NUM> of network/communication towers, in some embodiments, the predefined points <NUM> may include locations <NUM> (e.g., a point defined by a set of coordinates or an area defined by coordinates and/or distance measures) of high network availability (e.g., a signal strength or signal-to-noise ratio above a defined level or above a current level). These known locations <NUM> of high quality network signal may be proximate to a network tower or they may be at some distance from the tower.

In some embodiments, network infrastructure (e.g., network/communication towers) may provide beacons to guide a UAV <NUM> to a safe location <NUM>. The landing location <NUM> may provide various services, including battery charging, reestablishment of a C2 link, and shelter from a meteorological/weather condition <NUM> until the condition <NUM> has passed.

In some embodiments, a predefined point <NUM> may be associated with different weather conditions <NUM>. For example, different predefined points <NUM> may be associated with different weather conditions <NUM> and/or different locations <NUM> where weather conditions <NUM> often change (e.g., micro weather conditions <NUM>). In this embodiment, when a landing or another action needs to take place, the weather conditions <NUM> associated with the predefined point <NUM> may be taken into account before making a decision (e.g., selecting a landing location <NUM>).

Turning now to <FIG>, a method <NUM> will be described for managing a flight of a UAV <NUM> according to one example embodiment. The operations in the diagram of <FIG> will be described with reference to the exemplary implementations of the other figures. However, it should be understood that the operations of the diagram can be performed by implementations other than those discussed with reference to the other figures, and the implementations discussed with reference to these other figures can perform operations different than those discussed with reference to the diagram. Although described and shown in <FIG> in a particular order, the operations of the method <NUM> are not restricted to this order. For example, one or more of the operations of the method <NUM> may be performed in a different order or in partially or fully overlapping time periods. Accordingly, the description and depiction of the method <NUM> is for illustrative purposes and is not intended to restrict to a particular implementation.

In one embodiment, the method <NUM> may commence at operation <NUM> with the UTM system <NUM> receiving a flight plan that describes a proposed flight mission of the UAV <NUM> in an airspace. For example, in one example embodiment, the flight plan received at operation <NUM> may be the proposed flight plan <NUM> of <FIG> or <FIG>. Alternatively, the flight plan received at operation <NUM> may be the actual flight plan <NUM> of <FIG>.

At operation <NUM>, the UTM system <NUM> may verify that the flight plan received at operation <NUM> complies with a set of directives and constraints issued by a regulatory authority. For example, the USS <NUM> of the UTM system <NUM> may work with various organization/stakeholders (e.g., FIMS <NUM>) at operation <NUM> to verify that the flight plan received at operation <NUM> complies with a set of directives and constraints. In one embodiment, the flight plan received at operation <NUM> may be modified at operation <NUM> to comply with the set of directives and constraints.

At operation <NUM>, the UTM system <NUM> (e.g., the USS <NUM> or a supplemental data service provider <NUM>) may add one or more predefined points <NUM> to the flight plan to create an enhanced flight plan <NUM>, wherein each of the predefined points <NUM> is associated with a set of conditions <NUM> and a set of locations <NUM>. In one embodiment, each predefined point <NUM> in the one or more predefined points <NUM> complies with the set of directives and constraints used at operation <NUM>. In one embodiment, a predefined point <NUM> in the one or more predefined points <NUM> is associated with a higher-level directive <NUM> describing an action to be taken by the UAV <NUM> upon detecting an occurrence of a condition <NUM> in the set of conditions <NUM> associated with the predefined point <NUM>. In some embodiments, a higher-level directive <NUM> of a predefined point <NUM> includes prioritization and selection criteria for selecting a location <NUM> from the set of locations <NUM> associated with the predefined point <NUM>. In some embodiments, a higher-level directive <NUM> of a predefined point <NUM> includes transmitting an indication of a selected location <NUM> from the set of locations <NUM> associated with the predefined point <NUM> to a device/entity separate from the UAV <NUM> (e.g., the UTM system <NUM> and/or another UAV <NUM>).

In one embodiment, the set of locations <NUM> associated with a predefined point <NUM> in the one or more predefined points <NUM> is a plurality of locations <NUM> that are each associated with a single condition <NUM>. In this embodiment, each location <NUM> in the plurality of locations <NUM> may be associated with priority information <NUM> such that the UAV <NUM> considers adjusting a flight of the UAV <NUM> using one location <NUM> in the plurality of locations <NUM> based on the priority information <NUM> associated with each location <NUM> in the plurality of locations <NUM> upon detecting the occurrence of the single condition <NUM>.

In some embodiments, a predefined point <NUM> in the one or more predefined points <NUM> is associated with a loss of a UAV operator <NUM> connection <NUM> condition <NUM> and a set of locations <NUM> corresponding to locations of high network availability such that, upon detecting a loss of a connection <NUM> with a UAV operator <NUM>, the UAV <NUM> is to autonomously decide to navigate to a location <NUM> in the set of locations <NUM> corresponding to locations of high network availability to regain the connection <NUM> with the UAV operator <NUM>. In some embodiments, the locations <NUM> of high network availability are locations of communication towers (e.g., cell towers). In one of the above embodiments, the predefined point <NUM> in the one or more predefined points <NUM> is further associated with a failure to regain a UAV operator <NUM> connection <NUM> condition <NUM> and a set of locations <NUM> corresponding to safe landing zones such that, after detecting the loss of a UAV operator <NUM> connection <NUM> condition <NUM>, navigating to a high network availability location <NUM>, failing to regain the connection <NUM> with the UAV operator <NUM>, and upon detecting a failure to regain connection <NUM> with the UAV operator <NUM>, the UAV <NUM> is to autonomously decide to land at a location <NUM> in the set of locations <NUM> corresponding to the safe landing zones.

In some embodiments, a predefined point <NUM> in the one or more predefined points <NUM> is associated with a low battery <NUM> condition <NUM> and a set of locations <NUM> corresponding to safe landing zones for charging the UAV <NUM>. Upon detecting a battery <NUM> level of the UAV <NUM> below a defined level, the UAV <NUM> is to autonomously decide to land at a location <NUM> in the set of locations <NUM> corresponding to the safe landing zones.

In some embodiments, a predefined point <NUM> in the one or more predefined points <NUM> is associated with a severe weather condition <NUM> and a set of locations <NUM> corresponding to safe landing zones. Upon detecting a severe weather condition <NUM>, the UAV <NUM> is to autonomously decide to land at a location <NUM> in the set of locations <NUM> corresponding to the safe landing zones.

At operation <NUM>, the UTM system <NUM> may transmit the enhanced flight plan <NUM> to the UAV <NUM> for storage of the predefined points <NUM> on the UAV <NUM> while the UAV <NUM> carries out the proposed flight mission. In one embodiment, the enhanced flight plan <NUM> may be first transmitted or otherwise made available to the UAV operator <NUM> such that the UAV operator <NUM> may transmit the enhanced flight plan <NUM> to the UAV <NUM>.

At operation <NUM>, the UTM system <NUM> may monitor the airspace to determine a current status of the airspace <NUM>. This monitoring of the airspace <NUM> may include monitoring the status of other UAVs <NUM>, other aircraft (e.g., planes, helicopters, or other airborne entities), weather conditions, locations <NUM> included in predefined points <NUM>, etc..

At operation <NUM>, the UTM system <NUM> may update the enhanced flight plan <NUM> based on the current status of the airspace <NUM>, including the one or more predefined points <NUM>. For example, in response to determining that a location <NUM> included in a predefined point <NUM> is occupied, the predefined point <NUM> of the enhanced flight plan <NUM> may be updated to remove or update the occupied location.

At operation <NUM>, the UTM system <NUM> may transmit the updated enhanced flight plan <NUM> to the UAV <NUM>. In some embodiments, instead of updating the enhanced flight plan <NUM> and transmitting the updated enhanced flight plan <NUM>, the UTM system <NUM> may transmit to the UAV <NUM> information indicating only what has changed (i.e., based on the current status of the airspace monitored at operation <NUM>) for the enhanced flight plan <NUM>. For example, an existing predefined point <NUM> of the enhanced flight plan <NUM> transmitted at operation <NUM> may no longer be viable (e.g., due to malfunction), and a new predefined point <NUM> may be added (e.g., a previously occupied charging station is now available). In this case, the UTM system <NUM> may transmit a replacement list of predefined points <NUM>, or may instead transmit information about the new predefined point <NUM> and an indication that the existing predefined point <NUM> is no longer operational.

Turning now to <FIG>, a method <NUM> will be described for controlling a UAV <NUM> according to one example embodiment. The operations in the diagram of <FIG> will be described with reference to the exemplary implementations of the other figures. However, it should be understood that the operations of the diagram can be performed by implementations other than those discussed with reference to the other figures, and the implementations discussed with reference to these other figures can perform operations different than those discussed with reference to the diagram. Although described and shown in <FIG> in a particular order, the operations of the method <NUM> are not restricted to this order. For example, one or more of the operations of the method <NUM> may be performed in a different order or in partially or fully overlapping time periods. Accordingly, the description and depiction of the method <NUM> is for illustrative purposes and is not intended to restrict to a particular implementation.

In one embodiment, the method <NUM> may commence at operation <NUM> with the UAV <NUM> receiving an enhanced flight plan, wherein the enhanced flight plan includes one or more predefined points <NUM> and each of the predefined points <NUM> is associated with a set of conditions <NUM> and a set of locations <NUM>. For example, as will be used in the description below, in one embodiment, the UAV <NUM> may receive the enhanced flight plan <NUM> at operation <NUM>.

At operation <NUM>, the UAV <NUM> may store the one or more predefined points <NUM> of the enhanced flight plan <NUM>. For example, in some embodiments, the UAV <NUM> may store the entire enhanced flight plan <NUM>, including the predefined points <NUM>, while in other embodiments, the UAV <NUM> may just store the predefined points <NUM> at operation <NUM>. The predefined points <NUM> indicate deviations, relative to a main flight path <NUM>, for the UAV <NUM> to follow upon occurrence of an unexpected event that matches a condition <NUM> of a predefined point <NUM>.

At operation <NUM>, the UAV <NUM> may be flown according to the enhanced flight plan <NUM>. For example, in one embodiment, the UAV <NUM> may be flown according to the main flight path <NUM> at operation <NUM> (either autonomously or based on inputs form the UAV operator <NUM>). Accordingly, the UAV <NUM> is flown according to a known and pre-planned route/path at operation <NUM>.

At operation <NUM>, the UAV <NUM> may detect a condition <NUM> associated with a predefined point <NUM> in the one or more predefined points <NUM> stored in the UAV <NUM>.

At operation <NUM>, the UAV <NUM> may adjust, autonomously and in response to detecting the condition <NUM>, a flight of the UAV <NUM> using a set of locations <NUM> associated with the predefined point <NUM> and associated with the detected condition <NUM>. In one embodiment, the predefined point <NUM> in the one or more predefined points <NUM> is associated with a plurality of locations <NUM> that are each associated with a single condition <NUM>, and each location <NUM> in the plurality of locations <NUM> is associated with a priority (i.e., priority information <NUM>). In this embodiment, adjusting the flight of the UAV <NUM> may include adjusting the flight of the UAV <NUM> using one location in the plurality of locations based on the priority associated with each location in the plurality of locations upon detecting the occurrence of the single condition.

In one embodiment, the predefined point <NUM> in the one or more predefined points <NUM> is associated with a higher-level directive <NUM> describing an action to be taken by the UAV <NUM> upon detecting an occurrence of the condition <NUM> associated with the predefined point <NUM>. In one embodiment, the higher-level directive <NUM> of the predefined point <NUM> may include prioritization and selection criteria for selecting a location <NUM> from the set of locations <NUM> associated with the predefined point <NUM>. In one embodiment, the higher-level directive <NUM> of the predefined point <NUM> includes transmitting an indication of a selected location <NUM> from the set of locations <NUM> associated with the predefined point <NUM> to a device/entity separate from the UAV <NUM> (e.g., the UTM system <NUM>).

At operation <NUM>, the UAV <NUM> may receive an update to the enhanced flight plan <NUM>, including one or more of a new predefined point <NUM> and an update to an existing predefined point <NUM>. In some embodiments, instead of the UAV <NUM> receiving an updated enhanced flight plan <NUM>, the UAV <NUM> may receive information indicating only what has changed for the enhanced flight plan <NUM>. For example, the UAV <NUM> may receive a replacement list of predefined points <NUM> or may instead receive information about the one or more new predefined points <NUM> and an indication that the existing predefined point <NUM> changed (e.g., is no longer operational). The UAV <NUM> may update the stored predefined points <NUM> with the received updated enhanced flight plan <NUM>, a received replacement list of predefined points <NUM>, or any other information/indication of changed/new predefined points <NUM>.

Each element of the UTM system <NUM> may be composed of or otherwise implemented by a set of computing/networking devices. For example, <FIG>, illustrates a computing/networking device <NUM> according to one embodiment. As shown the computing/networking device <NUM> may include a processor <NUM> communicatively coupled to a memory <NUM> and an interface <NUM>. The processor <NUM> may be a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit, field programmable gate array, any other type of electronic circuitry, or any combination of one or more of the preceding. The processor <NUM> may comprise one or more processor cores. In particular embodiments, some or all of the functionality described herein as being provided by a component of the UTM system <NUM> may be implemented by one or more processors <NUM> of one or more computing/networking devices <NUM> executing software instructions, either alone or in conjunction with other computing/networking devices <NUM> components, such as the memory <NUM>.

The memory <NUM> may store code (which is composed of software instructions and which is sometimes referred to as computer program code or a computer program) and/or data using non-transitory machine-readable (e.g., computer-readable) media, such as a non-transitory computer-readable storage medium (e.g., magnetic disks, optical disks, solid state drives, read only memory (ROM), flash memory devices, phase change memory) and machine-readable transmission media (e.g., electrical, optical, radio, acoustical or other form of propagated signals - such as carrier waves, infrared signals). For instance, the memory <NUM> may comprise non-volatile memory (e.g., a non-transitory computer-readable storage medium <NUM>) containing code to be executed by the processor <NUM>. Where the memory <NUM> is non-volatile, the code and/or data stored therein can persist even when the computing/networking device <NUM> is turned off (when power is removed). In some instances, while the computing/networking device <NUM> is turned on, that part of the code that is to be executed by the processor(s) <NUM> may be copied from non-volatile memory into volatile memory (e.g., dynamic random-access memory (DRAM), static random-access memory (SRAM)) of the computing/networking device <NUM>.

The interface <NUM> may be used in the wired and/or wireless communication of signaling and/or data to or from computing/networking device <NUM>. For example, interface <NUM> may perform any formatting, coding, or translating to allow computing/networking device <NUM> to send and receive data whether over a wired and/or a wireless connection. In some embodiments, the interface <NUM> may comprise radio circuitry capable of receiving data from other devices in the network over a wireless connection and/or sending data out to other devices via a wireless connection. This radio circuitry may include transmitter(s), receiver(s), and/or transceiver(s) suitable for radiofrequency communication. The radio circuitry may convert digital data into a radio signal having the appropriate parameters (e.g., frequency, timing, channel, bandwidth, etc.). The radio signal may then be transmitted via the antennas <NUM> to the appropriate recipient(s). In some embodiments, interface <NUM> may comprise network interface controller(s) (NICs), also known as a network interface card, network adapter, local area network (LAN) adapter or physical network interface. The NIC(s) may facilitate in connecting the computing/networking device <NUM> to other devices allowing them to communicate via wire through plugging in a cable to a physical port connected to a NIC. In particular embodiments, the processor <NUM> may represent part of the interface <NUM>, and some or all of the functionality described as being provided by the interface <NUM> may be provided in part or in whole by the processor <NUM>.

While the flow diagrams in the figures show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.).

Claim 1:
A method (<NUM>) for managing an Unmanned Aerial Vehicle, UAV, (<NUM>) by a UAV Traffic Management, UTM, system (<NUM>), comprising:
receiving (<NUM>) a flight plan (<NUM>) that describes a proposed flight mission of the UAV (<NUM>) in an airspace (<NUM>);
verifying (<NUM>) that the flight plan complies with a set of directives and constraints issued by a regulatory authority,
adding (<NUM>) one or more predefined points (<NUM>) to the flight plan to create a second flight plan (<NUM>), wherein each of the predefined points (<NUM>) includes a set of conditions (<NUM>) and a set of locations (<NUM>) to at least one of which the UAV is configured to autonomously move, upon detection of at least one of the set of conditions (<NUM>); wherein each predefined point in the one or more predefined points (<NUM>) complies with the set of directives and constraints, and
transmitting (<NUM>) the second flight plan (<NUM>) to the UAV (<NUM>) for storage of the predefined points (<NUM>) on the UAV (<NUM>) while the UAV (<NUM>) carries out the proposed flight mission.