Dynamic selection of unmanned aerial vehicles
Claim Score by NHIP
Abstract
A device receives a request for a flight path from a first location to a second location in a region, and calculates the flight path based on the request and based on one or more of weather information, air traffic information, obstacle information, regulatory information, or historical information associated with the region. The device determines required capabilities for the flight path based on the request, and selects, from multiple UAVs, a particular UAV based on the required capabilities for the flight path and based on a ranking of the multiple UAVs. The device generates flight path instructions for the flight path, and provides the flight path instructions to the particular UAV to permit the particular UAV to travel from the first location to the second location via the flight path.

Term
7.7 yearsto projected expiry
Projected expiry 20 May 2034, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
21 claims: 4 independent, 17 dependent
- 21A method comprising:calculating, by a device, a flight path from a first location to a second location associated with a region, the flight path being calculated based on one or more of: weather information associated with the region, obstacle information associated with the region, air traffic information associated with the region, regulatory information associated with the region, or historical information associated with the region;determining, by the device, one or more unmanned aerial vehicle capabilities for the flight path;selecting, by the device and from a plurality of unmanned aerial vehicles, a particular unmanned aerial vehicle based on: the one or more unmanned aerial vehicle capabilities, and a ranking of the plurality of unmanned aerial vehicles;and providing, by the device, flight path instructions to the particular unmanned aerial vehicle, the particular unmanned aerial vehicle using the flight path instructions to travel from the first location to the second location via the flight path.
- 29A computer-readable medium for storing instructions, the instructions comprising:one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to: calculate a flight path from a first location to a second location associated with a region, the flight path being calculated based on one or more of: weather information associated with the region, obstacle information associated with the region, air traffic information associated with the region, regulatory information associated with the region, or historical information associated with the region;determine one or more unmanned aerial vehicle capabilities for the flight path;and select, from a plurality of unmanned aerial vehicles, a particular unmanned aerial vehicle, the particular unmanned aerial vehicle being selected based on: the one or more unmanned aerial vehicle capabilities, and a ranking of the plurality of unmanned aerial vehicles, the particular unmanned aerial vehicle using flight path instructions to travel from the first location to the second location via the flight path.
- 38Broadest claimClaim Score 54, average(NHIP)A system comprising:an unmanned aerial vehicle, selected from a plurality of unmanned aerial vehicles, to: receive flight path instructions from a device, the unmanned aerial vehicle being selected based on: one or more unmanned aerial vehicle capabilities for a flight path from a first location to a second location associated with a region, and a ranking of the plurality of unmanned aerial vehicles, the flight path being calculated based on one or more of: weather information associated with the region, obstacle information associated with the region, air traffic information associated with the region, regulatory information associated with the region, or historical information associated with the region;travel, using the flight path instructions, from the first location to the second location via the flight path;and provide, to the device, a notification indicating that the unmanned aerial vehicle has arrived at the second location.
Independent claims3
82 paragraphs in 3 sections, as filed
BACKGROUND
0001An unmanned aerial vehicle (UAV) is an aircraft without a human pilot aboard. A UAV's flight may be controlled either autonomously by onboard computers or by remote control of a pilot on the ground or in another vehicle. A UAV is typically launched and recovered via an automatic system or an external operator on the ground. There are a wide variety of UAV shapes, sizes, configurations, characteristics, etc. UAVs may be used for a growing number of civilian applications, such as police surveillance, firefighting, security work (e.g., surveillance of pipelines), surveillance of farms, commercial purposes, etc.
BRIEF DESCRIPTION OF THE DRAWINGS
0002<figref idref="DRAWINGS">FIGS. 1A and 1B</figref> are diagrams of an overview of an example implementation described herein;
0003<figref idref="DRAWINGS">FIG. 2</figref> is a diagram of an example environment in which systems and/or methods described herein may be implemented;
0004<figref idref="DRAWINGS">FIG. 3</figref> is a diagram of example components of one or more devices of <figref idref="DRAWINGS">FIG. 2</figref>;
0005<figref idref="DRAWINGS">FIGS. 4A and 4B</figref> depict a flow chart of an example process for dynamically selecting a UAV for a flight path; and
0006<figref idref="DRAWINGS">FIGS. 5A-5F</figref> are diagrams of an example relating to the example process shown in <figref idref="DRAWINGS">FIGS. 4A and 4B</figref>.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
0007The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
0008Some private companies propose using UAVs for rapid delivery of lightweight commercial products (e.g., packages), food, medicine, etc. Such proposals for UAVs may need to meet various requirements, such as federal and state regulatory approval, public safety, reliability, individual privacy, operator training and certification, security (e.g., hacking), payload thievery, logistical challenges, etc.
0009<figref idref="DRAWINGS">FIGS. 1A and 1B</figref> are diagrams of an overview of an example implementation <b>100</b> described herein. In example implementation <b>100</b>, assume that a first user device (e.g., user device A) is associated with a first user (e.g., user A) that is located at an origination location (e.g., location A), as shown in <figref idref="DRAWINGS">FIG. 1A</figref>. Further, assume that user A wants to fly a UAV, selected from a pool or group of UAVs, from location A to a destination location (e.g., location B) in order to deliver a package to a second user (e.g., user B) associated with a second user device (e.g., user device B). As further shown in <figref idref="DRAWINGS">FIG. 1A</figref>, a UAV platform or system may be associated with data storage, and the UAV platform and the data storage may communicate with networks, such as a wireless network, a satellite network, and/or other networks. The networks may provide information to the data storage, such as capability information associated with the UAVs (e.g., thrusts, battery life, etc. associated with the UAVs); weather information associated with a geographical region that includes geographical locations of location A, location B, and locations between location A and location B; air traffic information associated with the geographical region; obstacle information (e.g., buildings, mountains, etc.) associated with the geographical region; regulatory information (e.g., no-fly zones, government buildings, etc.) associated with the geographical region; historical information (e.g., former flight paths, former weather, etc.) associated with the geographical region; etc.
0010As further shown in <figref idref="DRAWINGS">FIG. 1A</figref>, user A may instruct user device A to generate a request for a flight path (e.g., from location A to location B) for one of the UAVs in the pool, and to provide the request to the UAV platform. The request may include credentials (e.g., serial numbers, identifiers of universal integrated circuit cards (UICCs), etc.) associated with the UAVs in the pool. The UAV platform may utilize the UAV credentials to determine whether the UAVs in the pool are authenticated for utilizing the UAV platform and/or one or more of the networks, and are registered with an appropriate authority (e.g., a government agency) for use. For example, the UAV platform may compare the UAV credentials with UAV account information (e.g., information associated with authenticated and registered UAVs) provided in the data storage to determine whether the UAVs in the pool are authenticated. In example implementation <b>100</b>, assume that the UAVs in the pool are authenticated by the UAV platform.
0011The UAV platform may calculate a flight path from location A to location B based on the information (e.g., the weather information, the air traffic information, etc. of the geographical region). As further shown in <figref idref="DRAWINGS">FIG. 1A</figref>, the UAV platform may determine required UAV capabilities for the flight path based on the request for the flight path, and may store the required UAV capabilities in the data storage. Prior to receiving the request for the flight path, the UAV platform may assign different weights to different capability information associated with the pool of UAVs, and may calculate a score for each of the UAVs in the pool based on the capability information and the assigned weights. The UAV platform may rank the UAVs in the pool based on the scores (e.g., in ascending order, descending order, etc.), and may store the scores and the rankings for the pool of UAVs in the data storage. When the required UAV capabilities for the flight path are determined, the UAV platform may retrieve the scores and the rankings for the pool of UAVs from the data storage, as further shown in <figref idref="DRAWINGS">FIG. 1A</figref>.
0012As shown in <figref idref="DRAWINGS">FIG. 1B</figref>, the UAV platform may select a particular UAV, from the UAVs in the pool, based on the scores and the rankings for the UAVs in the pool and based on the required UAV capabilities for the flight path. After selecting the selected UAV, the UAV platform may generate flight path instructions for the flight path. For example, the flight path instructions may indicate that the selected UAV is to fly at an altitude of two-thousand (2,000) meters, for fifty (50) kilometers and fifty-five (55) minutes, in order to arrive at location B. The UAV platform may provide the flight path instructions to the selected UAV (e.g., via one or more of the networks), as further shown in <figref idref="DRAWINGS">FIG. 1B</figref>.
0013The selected UAV may take off from location A, and may travel the flight path based on the flight path instructions. While the selected UAV is traversing the flight path, one or more of the networks may receive feedback from the selected UAV regarding the flight path (e.g., about changing conditions, such as speed, weather conditions, duration, etc.). The selected UAV may traverse the flight path until the selected UAV arrives at location B. When the selected UAV arrives at location B, the selected UAV and/or user device B may generate a notification indicating that the selected UAV arrived safely at location B, and may provide the notification to the UAV platform.
0014Systems and/or methods described herein may provide a platform that enables UAVs to safely traverse flight paths from origination locations to destination locations. The systems and/or methods may enable the platform to determine flight paths for UAVs, and to automatically select optimal UAVs for traversing the determined flight paths, which may increase utilization of the UAVs. The automatic selection of optimal UAVs for traversing the determined flight paths may also reduce costs associated with selecting UAVs for the determined flight paths.
0015<figref idref="DRAWINGS">FIG. 2</figref> is a diagram of an example environment <b>200</b> in which systems and/or methods described herein may be implemented. As illustrated, environment <b>200</b> may include user devices <b>210</b>, UAVs <b>220</b>, a UAV platform <b>230</b>, data storage <b>235</b>, a wireless network <b>240</b>, a satellite network <b>250</b>, and other networks <b>260</b>. Devices/networks of environment <b>200</b> may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
0016User device <b>210</b> may include a device that is capable of communicating over wireless network <b>240</b> with UAV <b>220</b>, UAV platform <b>230</b>, and/or data storage <b>235</b>. In some implementations, user device <b>210</b> may include a radiotelephone; a personal communications services (PCS) terminal that may combine, for example, a cellular radiotelephone with data processing and data communications capabilities; a smart phone; a personal digital assistant (PDA) that can include a radiotelephone, a pager, Internet/intranet access, etc.; a laptop computer; a tablet computer; a global positioning system (GPS) device; a gaming device; or another type of computation and communication device.
0017UAV <b>220</b> may include an aircraft without a human pilot aboard, and may also be referred to as an unmanned aircraft (UA), a drone, a remotely piloted vehicle (RPV), a remotely piloted aircraft (RPA), or a remotely operated aircraft (ROA). In some implementations, UAV <b>220</b> may include a variety of shapes, sizes, configurations, characteristics, etc. for a variety of purposes and applications. In some implementations, UAV <b>220</b> may include one or more sensors, such as electromagnetic spectrum sensors (e.g., visual spectrum, infrared, or near infrared cameras, radar systems, etc.); biological sensors; chemical sensors; etc. In some implementations, UAV <b>220</b> may utilize one or more of the aforementioned sensors to sense (or detect) and avoid an obstacle in or near a flight path of UAV <b>220</b>.
0018In some implementations, UAV <b>220</b> may include a particular degree of autonomy based on computational resources provided in UAV <b>220</b>. For example, UAV <b>220</b> may include a low degree of autonomy when UAV <b>220</b> has few computational resources. In another example, UAV <b>220</b> may include a high degree of autonomy when UAV <b>220</b> has more computational resources (e.g., built-in control and/or guidance systems to perform low-level human pilot duties, such as speed and flight-path stabilization, scripted navigation functions, waypoint following, etc.). The computational resources of UAV <b>220</b> may combine information from different sensors to detect obstacles on the ground or in the air; communicate with one or more of networks <b>240</b>-<b>260</b> and/or other UAVs <b>220</b>; determine an optimal flight path for UAV <b>220</b> based on constraints, such as obstacles or fuel requirements; determine an optimal control maneuver in order to follow a given path or go from one location to another location; regulate a trajectory of UAV <b>220</b>; etc. In some implementations, UAV <b>220</b> may include a variety of components, such as a power source (e.g., an internal combustion engine, an electric battery, a solar-powered battery, etc.); a component that generates aerodynamic lift force (e.g., a rotor, a propeller, a rocket engine, a jet engine, etc.); computational resources; sensors; etc.
0019UAV platform <b>230</b> may include one or more personal computers, one or more workstation computers, one or more server devices, one or more virtual machines (VMs) provided in a cloud computing network, or one or more other types of computation and communication devices. In some implementations, UAV platform <b>230</b> may be associated with a service provider that manages and/or operates wireless network <b>240</b>, satellite network <b>250</b>, and/or other networks <b>260</b>, such as, for example, a telecommunication service provider, a television service provider, an Internet service provider, etc.
0020In some implementations, UAV platform <b>230</b> may receive, from user device <b>210</b>, a request for a flight path from an origination location to a destination location. UAV platform <b>230</b> may calculate the flight path from the origination location to the destination location based on other information (e.g., weather information, air traffic information, etc.), and may determine required UAV capabilities for the flight path based on the request for the flight path. UAV platform <b>230</b> may assign different weights to different capability information associated with a pool of UAVs <b>220</b>, and may calculate a score for each UAV <b>220</b> in the pool of UAVs <b>220</b> based on the capability information and the assigned weights. UAV platform <b>230</b> may rank UAVs <b>220</b>, in the pool of UAVs <b>200</b>, based on the scores (e.g., in ascending order, descending order, etc.), and may select a particular UAV <b>220</b>, from the pool of UAVs <b>220</b>, based on the ranks and based on the required UAV capabilities for the flight path. After selecting the selected UAV <b>220</b>, UAV platform <b>230</b> may generate flight path instructions for the flight path, and may provide the flight path instructions to the selected UAV <b>220</b>. UAV platform <b>230</b> may receive feedback from the selected UAV <b>220</b>, via networks <b>240</b>-<b>260</b>, during traversal of the flight path by the selected UAV <b>220</b>. UAV platform <b>230</b> may modify the flight path instructions based on the feedback, and may provide the modified flight path instructions to the selected UAV <b>220</b>. UAV platform <b>230</b> may receive a notification that the selected UAV <b>220</b> arrived at the destination location when the selected UAV <b>220</b> lands at the destination location.
0021In some implementations, UAV platform <b>230</b> may authenticate one or more users, associated with user device <b>210</b> and/or UAV <b>220</b>, for utilizing UAV platform <b>230</b>, and may securely store authentication information associated with the one or more users. In some implementations, UAV platform <b>230</b> may adhere to requirements to ensure that UAVs <b>220</b> safely traverse flight paths, and may limit the flight paths of UAVs <b>220</b> to particular safe zones (e.g., particular altitudes, particular geographical locations, particular geo-fencing, etc.) to further ensure safety.
0022Data storage <b>235</b> may include one or more storage devices that store information in one or more data structures, such as databases, tables, lists, trees, etc. In some implementations, data storage <b>235</b> may store information, such as UAV account information (e.g., serial numbers, model numbers, user names, etc. associated with UAVs <b>220</b>); capability information associated with UAVs <b>220</b> (e.g., thrust, battery life, etc. associated with UAVs <b>220</b>); weather information associated with a geographical region (e.g., precipitation amounts, wind conditions, etc.); air traffic information associated with the geographical region (e.g., commercial air traffic, other UAVs <b>220</b>, etc.); obstacle information (e.g., buildings, mountains, towers etc.) associated with the geographical region; regulatory information (e.g., no-fly zones, government buildings, etc.) associated with the geographical region; historical information (e.g., former flight paths, former weather conditions, etc.) associated with the geographical region; etc. In some implementations, data storage <b>235</b> may be included within UAV platform <b>230</b>.
0023Wireless network <b>240</b> may include a fourth generation (4G) cellular network that includes an evolved packet system (EPS). The EPS may include a radio access network (e.g., referred to as a long term evolution (LTE) network), a wireless core network (e.g., referred to as an evolved packet core (EPC) network), an Internet protocol (IP) multimedia subsystem (IMS) network, and a packet data network (PDN). The LTE network may be referred to as an evolved universal terrestrial radio access network (E-UTRAN), and may include one or more base stations (e.g., cell towers). The EPC network may include an all-Internet protocol (IP) packet-switched core network that supports high-speed wireless and wireline broadband access technologies. The EPC network may allow user devices <b>210</b> and/or UAVs <b>220</b> to access various services by connecting to the LTE network, an evolved high rate packet data (eHRPD) radio access network (RAN), and/or a wireless local area network (WLAN) RAN. The IMS network may include an architectural framework or network (e.g., a telecommunications network) for delivering IP multimedia services. The PDN may include a communications network that is based on packet switching. In some implementations, wireless network <b>240</b> may provide location information (e.g., latitude and longitude coordinates) associated with user devices <b>210</b> and/or UAVs <b>220</b>. For example, wireless network <b>240</b> may determine a location of user device <b>210</b> and/or UAV <b>220</b> based on triangulation of signals, generated by user device <b>210</b> and/or UAV <b>220</b> and received by multiple cell towers, with prior knowledge of the cell tower locations.
0024Satellite network <b>250</b> may include a space-based satellite navigation system (e.g., a global positioning system (GPS)) that provides location and/or time information in all weather conditions, anywhere on or near the Earth where there is an unobstructed line of sight to four or more satellites (e.g., GPS satellites). In some implementations, satellite network <b>250</b> may provide location information (e.g., GPS coordinates) associated with user devices <b>210</b> and/or UAVs <b>220</b>, enable communication with user devices <b>210</b> and/or UAVs <b>220</b>, etc.
0025Each of other networks <b>260</b> may include a network, such as a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network, such as the Public Switched Telephone Network (PSTN) or a cellular network, an intranet, the Internet, a fiber optic network, a cloud computing network, or a combination of networks.
0026The number of devices and/or networks shown in <figref idref="DRAWINGS">FIG. 2</figref> is provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in <figref idref="DRAWINGS">FIG. 2</figref>. Furthermore, two or more devices shown in <figref idref="DRAWINGS">FIG. 2</figref> may be implemented within a single device, or a single device shown in <figref idref="DRAWINGS">FIG. 2</figref> may be implemented as multiple, distributed devices. Additionally, one or more of the devices of environment <b>200</b> may perform one or more functions described as being performed by another one or more devices of environment <b>200</b>.
0027<figref idref="DRAWINGS">FIG. 3</figref> is a diagram of example components of a device <b>300</b> that may correspond to one or more of the devices of environment <b>200</b>. In some implementations, one or more of the devices of environment <b>200</b> may include one or more devices <b>300</b> or one or more components of device <b>300</b>. As shown in <figref idref="DRAWINGS">FIG. 3</figref>, device <b>300</b> may include a bus <b>310</b>, a processor <b>320</b>, a memory <b>330</b>, a storage component <b>340</b>, an input component <b>350</b>, an output component <b>360</b>, and a communication interface <b>370</b>.
0028Bus <b>310</b> may include a component that permits communication among the components of device <b>300</b>. Processor <b>320</b> may include a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, and/or any processing component (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.) that interprets and/or executes instructions. Memory <b>330</b> may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information and/or instructions for use by processor <b>320</b>.
0029Storage component <b>340</b> may store information and/or software related to the operation and use of device <b>300</b>. For example, storage component <b>340</b> may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, a solid state disk, etc.), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of computer-readable medium, along with a corresponding drive.
0030Input component <b>350</b> may include a component that permits device <b>300</b> to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, etc.). Additionally, or alternatively, input component <b>350</b> may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output component <b>360</b> may include a component that provides output information from device <b>300</b> (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.).
0031Communication interface <b>370</b> may include a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables device <b>300</b> to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface <b>370</b> may permit device <b>300</b> to receive information from another device and/or provide information to another device. For example, communication interface <b>370</b> may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.
0032Device <b>300</b> may perform one or more processes described herein. Device <b>300</b> may perform these processes in response to processor <b>320</b> executing software instructions stored by a computer-readable medium, such as memory <b>330</b> and/or storage component <b>340</b>. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
0033Software instructions may be read into memory <b>330</b> and/or storage component <b>340</b> from another computer-readable medium or from another device via communication interface <b>370</b>. When executed, software instructions stored in memory <b>330</b> and/or storage component <b>340</b> may cause processor <b>320</b> to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
0034The number and arrangement of components shown in <figref idref="DRAWINGS">FIG. 3</figref> is provided as an example. In practice, device <b>300</b> may include additional components, fewer components, different components, or differently arranged components than those shown in <figref idref="DRAWINGS">FIG. 3</figref>. Additionally, or alternatively, a set of components (e.g., one or more components) of device <b>300</b> may perform one or more functions described as being performed by another set of components of device <b>300</b>.
0035<figref idref="DRAWINGS">FIGS. 4A and 4B</figref> depict a flow chart of an example process <b>400</b> for dynamically selecting a UAV for a flight path. In some implementations, one or more process blocks of <figref idref="DRAWINGS">FIGS. 4A and 4B</figref> may be performed by UAV platform <b>230</b>. In some implementations, one or more process blocks of <figref idref="DRAWINGS">FIGS. 4A and 4B</figref> may be performed by another device or a group of devices separate from or including UAV platform <b>230</b>, such as user device <b>210</b> and/or UAV <b>220</b>.
0036As shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include receiving a request for a flight path from a first location to a second location in a region (block <b>405</b>). For example, UAV platform <b>230</b> may receive, from user device <b>210</b>, a request for a flight path from a first location to a second location in a particular region. In some implementations, the request for the flight path may include a request for flight path instructions from an origination location (e.g., a current location of a pool of UAVs <b>220</b>) to a destination location (e.g., a location in the particular region). The origination location and the destination location may be provided in the particular region. In some implementations, the pool of UAVs <b>220</b> may be associated with UAV platform <b>230</b> and/or user(s) associated with user device <b>210</b>. For example, user device <b>210</b> and the pool of UAVs <b>220</b> may be owned and/or operated by a delivery company, a telecommunication service provider, a television service provider, an Internet service provider, etc.
0037As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include calculating the flight path from the first location to the second location based on other information (block <b>410</b>). For example, UAV platform <b>230</b> may calculate the flight path from the origination location to the destination location based on other information. In some implementations, UAV platform <b>230</b> may calculate the flight path from the origination location to the destination location based on aviation information associated with the particular region, such as the weather information, the air traffic information, the obstacle information, the regulatory information, the historical information, etc. stored in UAV platform <b>230</b> and/or data storage <b>235</b>. In some implementations, UAV platform <b>230</b> may determine whether the other information indicates that UAVs <b>220</b> in the pool may safely complete the flight path from the origination location to the destination location without stopping. If UAV platform <b>230</b> determines that UAVs <b>220</b> in the pool cannot safely complete the flight path from the origination location to the destination location without stopping (e.g., to recharge or refuel), UAV platform <b>230</b> may determine one or more waypoints along the flight path for stopping and recharging or refueling.
0038In some implementations, UAV platform <b>230</b> may calculate the flight path based on the weather information. For example, UAV platform <b>230</b> may determine that, without weather issues, the flight path may take any UAV <b>220</b> two hours to complete at an altitude of five-hundred meters. UAV platform <b>230</b> may further determine that wind conditions at five-hundred meters may create a headwind of fifty kilometers per hour on any UAV <b>220</b>, but that wind conditions at one-thousand meters may create a tailwind of fifty kilometers per hour on any UAV <b>220</b>. In such an example, UAV platform <b>230</b> may alter the flight path from an altitude of five-hundred meters to an altitude of one-thousand meters (e.g., if any UAV <b>220</b> is capable of reaching the altitude of one-thousand meters). Assume that the tailwind at the altitude of one-thousand meters decreases the flight time from two hours to one hour and thirty minutes. Alternatively, UAV platform <b>230</b> may not alter the flight path, but the headwind at the altitude of five-hundred meters may increase the flight time from two hours to two hours and thirty minutes.
0039Additionally, or alternatively, UAV platform <b>230</b> may calculate the flight path based on the air traffic information. For example, UAV platform <b>230</b> may determine that, without air traffic issues, the flight path may take any UAV <b>220</b> two hours to complete at an altitude of five-hundred meters. UAV platform <b>230</b> may further determine that other UAVs <b>220</b> are flying at the altitude of five-hundred meters based on the air traffic information, but that no other UAVs <b>220</b> are flying at an altitude of one-thousand meters. In such an example, UAV platform <b>230</b> may alter the flight path from an altitude of five-hundred meters to an altitude of one-thousand meters. The altitude of one-thousand meters may enable any UAV <b>220</b> to safely arrive at the location without the possibility of colliding with the other UAVs <b>220</b>. Alternatively, UAV platform <b>230</b> may not alter the flight path, but the other UAVs <b>220</b> flying at the altitude of five-hundred meters may increase the possibility that any UAV <b>220</b> may collide with another UAV <b>220</b>. UAV platform <b>230</b> may then determine whether any UAV <b>220</b> is capable of safely flying at the altitude of five-hundred meters without colliding with another UAV <b>220</b>.
0040Additionally, or alternatively, UAV platform <b>230</b> may calculate the flight path based on the obstacle information. For example, UAV platform <b>230</b> may determine that, without obstacle issues, the flight path may take any UAV <b>220</b> one hour to complete at an altitude of two-hundred meters. UAV platform <b>230</b> may further determine that one or more buildings are two-hundred meters in height based on the obstacle information, but that no other obstacles are greater than two-hundred meters in height. In such an example, UAV platform <b>230</b> may alter the flight path from an altitude of two-hundred meters to an altitude of three-hundred meters. The altitude of three-hundred meters may enable any UAV <b>220</b> to safely arrive at the location without the possibility of colliding with the one or more buildings. Alternatively, UAV platform <b>230</b> may not alter the altitude of the flight path, but may change the flight path to avoid the one or more buildings, which may increase the flight time from one hour to one hour and thirty minutes.
0041Additionally, or alternatively, UAV platform <b>230</b> may calculate the flight path based on the regulatory information. For example, UAV platform <b>230</b> may determine that, without regulatory issues, the flight path may take any UAV <b>220</b> one hour to complete at an altitude of five-hundred meters. UAV platform <b>230</b> may further determine that the flight path travels over a restricted facility based on the regulatory information. In such an example, UAV platform <b>230</b> may change the flight path to avoid flying over the restricted facility, which may increase the flight time from one hour to one hour and thirty minutes.
0042Additionally, or alternatively, UAV platform <b>230</b> may calculate the flight path based on the historical information. For example, UAV platform <b>230</b> may identify prior flight paths from the origination location to the destination location from the historical information, and may select one of the prior flight paths, as the flight path. For example, assume that UAV platform <b>230</b> identifies three prior flight paths that include flight times of two hours, three hours, and four hours, respectively. In such an example, UAV platform <b>230</b> may select, as the flight path, the prior flight path with the flight time of two hours.
0043As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include determining required UAV capabilities for the flight path based on the request for the flight path (block <b>415</b>). For example, UAV platform <b>230</b> may determine required UAV capabilities for executing the flight path based on the request for the flight path. In some implementations, UAV platform <b>230</b> may determine the required UAV capabilities based on the origination location, the destination location, and/or the particular region associated with the flight path. For example, UAV platform <b>230</b> may determine that the flight path requires UAV <b>220</b> to be available and located at or near the origination location, able to travel non-stop to the destination location (e.g., located twenty kilometers from the origination location), able to travel in the particular region, etc. In such an example, UAV platform <b>230</b> may determine that a UAV <b>220</b> capable of flying ten kilometers non-stop does not satisfy the required UAV capabilities (e.g., since the destination location is located twenty kilometers from the origination location), but that a UAV <b>220</b> capable of flying thirty kilometers non-stop satisfies the required UAV capabilities.
0044In some implementations, UAV platform <b>230</b> may determine the required UAV capabilities based on physical requirements (e.g., payload capacity, battery life, non-stop flying distance, etc. associated with UAV <b>220</b>) associated with the flight path. For example, UAV platform <b>230</b> may determine that the flight path requires a UAV <b>220</b> that is capable of carrying a payload that weighs ten kilograms for a distance of twenty kilometers non-stop. In such an example, UAV platform <b>230</b> may determine that a UAV <b>220</b> capable of carrying payloads that weigh less than five kilograms for a distance of ten kilometers non-stop does not satisfy the required UAV capabilities. However, UAV platform <b>230</b> may determine that a UAV <b>220</b> capable of carrying payloads that weigh twenty kilograms for a distance of thirty kilometers non-stop satisfies the required UAV capabilities.
0045In some implementations, UAV platform <b>230</b> may determine the required UAV capabilities based on component requirements (e.g., sensors, network generating components, etc. of UAV <b>220</b>) associated with the flight path. For example, UAV platform <b>230</b> may determine that the flight path requires a UAV <b>220</b> that is capable of recording video images along the flight path. In such an example, UAV platform <b>230</b> may determine that a UAV <b>220</b> without a video camera does not satisfy the required UAV capabilities, but that a UAV <b>220</b> with a video camera satisfies the required UAV capabilities. In another example, UAV platform <b>230</b> may determine that the flight path requires a UAV <b>220</b> that is capable of generating a wireless network hotspot (e.g., a mobile hotspot) along the flight path. In such an example, UAV platform <b>230</b> may determine that a UAV <b>220</b> without a mobile hotspot component does not satisfy the required UAV capabilities, but that a UAV <b>220</b> with a mobile hotspot component satisfies the required UAV capabilities.
0046In some implementations, UAV platform <b>230</b> may determine the required UAV capabilities based on the aviation information associated with the particular region, such as the weather information, the air traffic information, the obstacle information, the regulatory information, the historical information, etc. associated with the particular region. For example, assume that the weather information indicates that the flight path requires traveling through a particular headwind of twenty kilometers per hour. In such an example, UAV platform <b>230</b> may determine that the flight path requires a UAV <b>220</b> that is capable of withstanding the particular headwind. In another example, assume that the air traffic information indicates that the flight path requires traveling at a particular altitude of one kilometer to avoid other air traffic. In such an example, UAV platform <b>230</b> may determine that the flight path requires a UAV <b>220</b> that is capable of traveling at the particular altitude.
0047As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include scoring UAVs, in a pool of UAVs, based on capability information associated with the UAVs (block <b>420</b>). For example, UAV platform <b>230</b> may retrieve, from data storage <b>235</b>, capability information for UAVs <b>220</b> in the pool of UAVs <b>220</b>. In some implementations, data storage <b>235</b> may include capability information associated with different components of UAVs <b>220</b>, such as battery life, thrusts provided by rotors, flight times associated with amounts of fuel, etc. In some implementations, UAV platform <b>230</b> may utilize component information of UAVs <b>220</b> in the pool (e.g., indicating that UAVs <b>220</b> in the pool have particular types of batteries, engines, rotors, etc.) to retrieve the capability information for components of UAVs <b>220</b> in the pool from data storage <b>235</b>. For example, if a particular UAV <b>220</b> in the pool has a particular type of battery and a particular type of rotor, UAV platform <b>230</b> may determine that the particular type of battery of the particular UAV <b>220</b> may provide two hours of flight time and that the particular type of rotor may enable the particular UAV <b>220</b> to reach an altitude of one-thousand meters.
0048In some implementations, UAV platform <b>230</b> may assign different weights to different capability information associated with UAVs <b>220</b> in the pool. In some implementations, UAV platform <b>230</b> may calculate a score for each of UAVs <b>220</b> in the pool based on the capability information and the assigned weights. For example, assume that UAV platform <b>230</b> assigns a weight of 0.1 to battery lives of UAVs <b>220</b> in the pool, a weight of 0.2 to rotor thrusts of UAVs <b>220</b> in the pool, and a weight of 0.5 to the sense and avoid capabilities of UAVs <b>220</b> in the pool. Further, assume that UAV platform <b>230</b> calculates a score of 0.4 for a first UAV <b>220</b> in the pool, a score of 0.7 for a second UAV <b>220</b> in the pool, and a score of 0.5 for a third UAV <b>220</b> in the pool.
0049As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include ranking the UAVS, in the pool of UAVs, based on the scores (block <b>425</b>). For example, UAV platform <b>230</b> may rank each UAV <b>220</b> in the pool based on a score calculated for each UAV <b>220</b> in the pool. In some implementations, UAV platform <b>230</b> may rank UAVs <b>220</b> in the pool based on the scores in ascending order, descending order, etc. For example, assume that UAV platform <b>230</b> calculates a score of 0.4 for a first UAV <b>220</b> in the pool, a score of 0.7 for a second UAV <b>220</b> in the pool, and a score of 0.5 for a third UAV <b>220</b> in the pool. UAV platform <b>230</b> may rank UAVs <b>220</b> in the pool based on the scores (e.g., as (1) the second UAV <b>220</b>, (2) the third UAV <b>220</b>, and (3) the first UAV <b>220</b>).
0050As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include selecting a particular UAV, from the pool of UAVs, based on the rank and the required UAV capabilities (block <b>430</b>). For example, UAV platform <b>230</b> may select a particular UAV <b>220</b>, from the pool of UAVs <b>220</b>, based on the rank associated with UAVs <b>220</b> in the pool and/or the required UAV capabilities. In some implementations, UAV platform <b>230</b> may select, as the particular UAV <b>220</b>, a UAV <b>220</b> with a greatest ranking. For example, assume that UAV platform <b>230</b> calculates a score of 0.4 for a first UAV <b>220</b> in the pool, a score of 0.7 for a second UAV <b>220</b> in the pool, and a score of 0.5 for a third UAV <b>220</b> in the pool. UAV platform <b>230</b> may rank UAVs <b>220</b> in the pool based on the scores (e.g., as (1) the second UAV <b>220</b>, (2) the third UAV <b>220</b>, and (3) the first UAV <b>220</b>), and may select the second UAV <b>220</b> as the particular UAV <b>220</b> to traverse the flight path based on the ranking, since the second UAV <b>220</b> has the greatest score.
0051Additionally, or alternatively, UAV platform <b>230</b> may select the particular UAV <b>220</b>, from the pool of UAVs <b>220</b>, based on the required UAV capabilities. For example, UAV platform <b>230</b> may select the particular UAV <b>220</b>, from UAVs <b>220</b> in the pool, when the particular UAV <b>220</b> is capable of flying a distance associated with the flight path, in weather conditions (e.g., specified by the weather information), without colliding with air traffic and/or obstacles (e.g., specified by the air traffic information and the obstacle information), and without violating any regulations (e.g., specified by the regulatory information). In some implementations, UAV platform <b>230</b> may determine that multiple UAVs <b>220</b>, from UAVs <b>220</b> in the pool, satisfy the required UAV capabilities, and may select, as the particular UAV <b>220</b>, one of the multiple UAVs <b>220</b> that is capable of traversing the flight path in the most efficient manner (e.g., in a shortest distance, in a shortest amount of time, using the least amount of resources, etc.).
0052As further shown in <figref idref="DRAWINGS">FIG. 4A</figref>, process <b>400</b> may include generating flight path instructions for the flight path (block <b>435</b>). For example, UAV platform <b>230</b> may generate flight path instructions for the flight path. In some implementations, the flight path instructions may include specific altitudes for the selected UAV <b>220</b> between fixed geographic coordinates (e.g., a first location and a second location); navigational information (e.g., travel east for three kilometers, then north for two kilometers, etc.); expected weather conditions (e.g., headwinds, tailwinds, temperatures, etc.); network information (e.g., locations of base stations of wireless network <b>240</b>); timing information (e.g., when to take off, when to perform certain navigational maneuvers, etc.); waypoint information (e.g., locations where the selected UAV <b>220</b> may stop and recharge or refuel); etc. For example, the flight path instructions may include information that instructs the selected UAV <b>220</b> to fly forty-five degrees northeast for ten kilometers and at an altitude of five-hundred meters, then fly three-hundred and fifteen degrees northwest for ten kilometers and at an altitude of four-hundred meters, etc.
0053As shown in <figref idref="DRAWINGS">FIG. 4B</figref>, process <b>400</b> may include providing the flight path instructions to the selected UAV (block <b>440</b>). For example, UAV platform <b>230</b> may provide the flight path instructions to the selected UAV <b>220</b>. In some implementations, the selected UAV <b>220</b> may utilize the flight path instructions to travel via the flight path. For example, the selected UAV <b>220</b> may take off at a time specified by the flight path instructions, may travel a route and at altitudes specified by the flight path instructions, may detect and avoid any obstacles encountered in the flight path, etc. until the selected UAV <b>220</b> arrives at the destination location.
0054In some implementations, if the selected UAV <b>220</b> includes sufficient computational resources (e.g., a sufficient degree of autonomy), the selected UAV <b>220</b> may utilize information provided by the flight path instructions to calculate a flight path for the selected UAV <b>220</b> and to generate flight path instructions. In such implementations, the flight path instructions provided by UAV platform <b>230</b> may include less detailed information, and the selected UAV <b>220</b> may determine more detailed flight path instructions via the computational resources of the selected UAV <b>220</b>.
0055As further shown in <figref idref="DRAWINGS">FIG. 4B</figref>, process <b>400</b> may include receiving feedback from the selected UAV, via network(s), during traversal of the flight path by the selected UAV (block <b>445</b>). For example, while the selected UAV <b>220</b> is traveling along the flight path in accordance with the flight path instructions, the selected UAV <b>220</b> may provide feedback to UAV platform <b>230</b> via one or more of networks <b>240</b>-<b>260</b>, and UAV platform <b>230</b> may receive the feedback. In some implementations, the feedback may include information received by sensors of the selected UAV <b>220</b>, such as visual information received from electromagnetic spectrum sensors of the selected UAV <b>220</b> (e.g., images of obstacles), temperature information, wind conditions, etc. In some implementations, the selected UAV <b>220</b> may utilize such feedback to detect and avoid any unexpected obstacles encountered by the selected UAV <b>220</b> during traversal of the flight path. For example, if the selected UAV <b>220</b> detects another UAV <b>220</b> in the flight path, the selected UAV <b>220</b> may alter the flight path to avoid colliding with the other UAV <b>220</b>.
0056As further shown in <figref idref="DRAWINGS">FIG. 4B</figref>, process <b>400</b> may include determining whether to modify the flight path based on the feedback from the selected UAV (block <b>450</b>). For example, UAV platform <b>230</b> may determine whether to modify the flight path based on the feedback received from the selected UAV <b>220</b>. In some implementations, UAV platform <b>230</b> may determine to not modify the flight path if the feedback indicates that the selected UAV <b>220</b> will safely arrive at the destination location. In some implementations, UAV platform <b>230</b> may determine to modify the flight path if the feedback indicates that the selected UAV <b>220</b> is in danger of colliding with an obstacle (e.g., another UAV <b>220</b>, a building, an airplane, etc.). In such implementations, UAV platform <b>230</b> may modify the flight path so that the selected UAV <b>220</b> avoids colliding with the obstacle and/or remains a safe distance from the obstacle.
0057In some implementations, UAV platform <b>230</b> may determine to modify the flight path if the feedback indicates that the weather conditions may prevent the selected UAV <b>220</b> from reaching the destination location. For example, the wind conditions may change and cause the flight time of the selected UAV <b>220</b> to increase to a point where the battery of the selected UAV <b>220</b> will be depleted before the selected UAV <b>220</b> reaches the destination location. In such an example, UAV platform <b>230</b> may modify the flight path so that the selected UAV <b>220</b> either stops to recharge or changes altitude to improve wind conditions. In another example, rain or ice may increase the weight of the selected UAV <b>220</b> and/or its payload and may cause the battery of the selected UAV <b>220</b> to work harder to a point where the battery of the selected UAV <b>220</b> will be depleted before the selected UAV <b>220</b> reaches the destination location. In such an example, UAV platform <b>230</b> may modify the flight path so that the selected UAV <b>220</b> stops to recharge before completing the flight path.
0058As further shown in <figref idref="DRAWINGS">FIG. 4B</figref>, if the flight path is to be modified (block <b>450</b>-YES), process <b>400</b> may include generating modified flight path instructions based on the feedback (block <b>455</b>). For example, if UAV platform <b>230</b> determines that the flight path is be modified, UAV platform <b>230</b> may modify the flight path based on the feedback (e.g., as described above). In some implementations, UAV platform <b>230</b> may generate modified flight path instructions for the modified flight path based on the feedback. In some implementations, the modified flight path instructions may include the features of flight path instructions, but may be modified based on the feedback. For example, the flight path instructions may be modified so that the selected UAV <b>220</b> avoids colliding with an obstacle and/or remains a safe distance from the obstacle, stops to recharge, changes altitude to improve wind conditions, etc.
0059As further shown in <figref idref="DRAWINGS">FIG. 4B</figref>, process <b>400</b> may include providing the modified flight path instructions to the selected UAV (block <b>460</b>). For example, UAV platform <b>230</b> may provide the modified flight path instructions to the selected UAV <b>220</b>. In some implementations, the selected UAV <b>220</b> may utilize the modified flight path instructions to travel along the modified flight path. For example, the selected UAV <b>220</b> may adjust a route and altitudes according to the modified flight path instructions, may detect and avoid any obstacles encountered in the modified flight path, etc. until the selected UAV <b>220</b> arrives at the destination location. In some implementations, the selected UAV <b>220</b> may continue to provide further feedback to UAV platform <b>230</b> during traversal of the modified flight path, and UAV platform <b>230</b> may or may not further modify the flight path based on the further feedback.
0060As further shown in <figref idref="DRAWINGS">FIG. 4B</figref>, if the flight path is not to be modified (block <b>450</b>-NO), process <b>400</b> may include receiving a notification that the selected UAV arrived at the second location (block <b>465</b>). For example, if the feedback indicates that the selected UAV <b>220</b> will safely arrive at the destination location, UAV platform <b>230</b> may determine that the flight path need not be modified. In some implementations, the selected UAV <b>220</b> may continue along the flight path based on the flight path instructions until the selected UAV <b>220</b> arrives at the destination location. When the selected UAV <b>220</b> arrives at the destination location, the selected UAV <b>220</b> may provide a notification to UAV platform <b>230</b>, via one or more of networks <b>240</b>-<b>260</b>. In some implementations, the notification may indicate that the selected UAV <b>220</b> has safely arrived at the destination location.
0061Although <figref idref="DRAWINGS">FIGS. 4A and 4B</figref> shows example blocks of process <b>400</b>, in some implementations, process <b>400</b> may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in <figref idref="DRAWINGS">FIGS. 4A and 4B</figref>. Additionally, or alternatively, two or more of the blocks of process <b>400</b> may be performed in parallel.
0062<figref idref="DRAWINGS">FIGS. 5A-5F</figref> are diagrams of an example <b>500</b> relating to example process <b>400</b> shown in <figref idref="DRAWINGS">FIGS. 4A and 4B</figref>. Assume that a first user device <b>210</b> (e.g., a tablet <b>210</b>) is associated with a first user (e.g., an employee at a delivery company) that is located at an origination location (e.g., Washington, D.C.), as shown in <figref idref="DRAWINGS">FIG. 5A</figref>. Further, assume that a second user device <b>210</b> (e.g., a computer <b>210</b>) is associated with a second user (e.g., Bob) that is located at a destination location (e.g., Fairfax, Va.), and that Bob has instructed computer <b>210</b> to request delivery of a package to Fairfax, Va. For example, computer <b>210</b> may inform tablet <b>210</b> (e.g., via one or more servers associated with the delivery company) and the employee that the package is to be delivered to Bob as soon as possible. Further, assume that the employee wants to utilize one UAV <b>220</b>, from a pool <b>505</b> of UAVs <b>220</b>, to fly the package from Washington, D.C. to Fairfax, Va. in order to deliver the package to Bob.
0063As further shown in <figref idref="DRAWINGS">FIG. 5A</figref>, UAV platform <b>230</b> and data storage <b>235</b> may communicate with wireless network <b>240</b>, satellite network <b>250</b>, and/or other networks <b>260</b>. One or more of networks <b>240</b>-<b>260</b> may provide, to data storage <b>235</b>, information <b>510</b>, such as capability information associated with UAVs <b>220</b> in pool <b>505</b>, weather information associated with a geographical region (e.g., that includes a geographical location of Washington, D.C., a geographical location of Fairfax, Va., and geographical locations between Washington and Fairfax), air traffic information associated with the geographical region, obstacle information associated with the geographical region, regulatory information associated with the geographical region, historical information associated with the geographical region, etc.
0064As further shown in <figref idref="DRAWINGS">FIG. 5A</figref>, the employee may instruct tablet <b>210</b> to generate a request <b>515</b> for a flight path (e.g., from Washington, D.C. to Fairfax, Va.) for one of UAVs <b>220</b> in pool <b>505</b>, and to provide request <b>515</b> to UAV platform <b>230</b>. Request <b>515</b> may include credentials (e.g., serial numbers, identifiers of UICCs, etc.) associated with UAVs <b>220</b> in pool <b>505</b>, or the credentials may be provided separately from request <b>515</b> to UAV platform <b>230</b>. UAV platform <b>230</b> may utilize the credentials to determine whether one or more UAVs <b>220</b> in pool <b>505</b> are authenticated for utilizing UAV platform <b>230</b> and/or one or more of networks <b>240</b>-<b>260</b>, and are registered with an appropriate authority for use. For example, UAV platform <b>230</b> may compare the credentials with information provided in data storage <b>235</b> in order to determine whether one or more UAVs <b>220</b> in pool <b>505</b> are authenticated for utilizing UAV platform <b>230</b> and/or one or more of networks <b>240</b>-<b>260</b>, and are registered with an appropriate authority. Assume that all UAVs <b>220</b> in pool <b>505</b> are authenticated and/or registered.
0065UAV platform <b>230</b> may calculate a flight path from Washington, D.C. to Fairfax, Va. based on information <b>510</b> (e.g., weather information, air traffic information, obstacle information, regulatory information, historical information, etc.) provided in data storage <b>235</b>. For example, assume that the weather information indicates that the wind is ten kilometers per hour from the west and that it is raining; the air traffic information indicates that a jet is at an altitude of ten-thousand meters and another UAV <b>220</b> is at an altitude of five-hundred meters; the obstacle information indicates that a mountain is two kilometers in height and a building is five-hundred meters in height; the regulatory information indicates that there is a no-fly zone over a government building; and the historical information indicates that a historical flight path had a duration of thirty minutes and an altitude of one-thousand meters. UAV platform <b>230</b> may calculate the flight path from Washington, D.C. to Fairfax, Va. based on such information.
0066As further shown in <figref idref="DRAWINGS">FIG. 5A</figref>, UAV platform <b>230</b> may determine required UAV capabilities <b>520</b> for the requested flight based on request <b>515</b>. For example, UAV platform <b>230</b> may determine that required UAV capabilities <b>520</b> include flying a package that weighs ten kilograms from Washington, D.C. to Fairfax, Va. non-stop. UAV platform <b>230</b> may provide required UAV capabilities <b>520</b> to data storage <b>235</b> (e.g., for storage).
0067UAV platform <b>230</b> may assign different weights to different capability information associated with UAVs <b>220</b> in pool <b>505</b>, and may calculate a score for each UAV <b>220</b> in pool <b>505</b> based on the assigned weights. UAV platform <b>230</b> may rank UAVs <b>220</b> in pool <b>505</b> based on the scores, and may provide the ranking and the scores of UAVs <b>220</b> in pool <b>550</b> to data storage <b>235</b> (e.g., for storage). UAV platform <b>230</b> may retrieve the ranking and the scores of UAVs <b>220</b> in pool <b>550</b> from data storage <b>235</b>, as indicated by reference number <b>525</b> in <figref idref="DRAWINGS">FIG. 5B</figref>. UAV platform <b>230</b> may select a particular UAV <b>220</b> (e.g., referred to as selected UAV <b>530</b> in <figref idref="DRAWINGS">FIG. 5B</figref>), from UAVs <b>220</b> in pool <b>505</b>, based on the ranking and/or based on required UAV capabilities <b>520</b>. Selected UAV <b>530</b> may be capable of flying a package that weighs ten kilograms from Washington, D.C. to Fairfax, Va. non-stop.
0068The calculated flight path from Washington, D.C. to Fairfax, Va. may be depicted by reference number <b>535</b> in <figref idref="DRAWINGS">FIG. 5C</figref>. As further shown in <figref idref="DRAWINGS">FIG. 5C</figref>, UAV platform <b>230</b> may generate flight path instructions <b>540</b> for flight path <b>535</b>. Flight path instructions <b>540</b> may include, for example, information instructing the selected UAV <b>530</b> to fly north at zero degrees for ten kilometers, then northeast at forty degrees for three kilometers, at an altitude of one-thousand meters, etc. UAV platform <b>230</b> may provide flight path instructions <b>540</b> to the selected UAV <b>530</b> via one or more of networks <b>240</b>-<b>260</b>. The package may be attached to or provided in the selected UAV <b>530</b> (e.g., by the employee). The selected UAV <b>530</b> may take off from Washington, D.C. with the package, and may travel flight path <b>535</b> based on flight path instructions <b>540</b>.
0069While the selected UAV <b>530</b> is traveling along flight path <b>535</b>, one or more of networks <b>240</b>-<b>260</b> may receive feedback <b>545</b> from the selected UAV <b>530</b> regarding traversal of flight path <b>535</b> by the selected UAV <b>530</b> (e.g., changing conditions, such as speed, weather conditions, duration, etc.), as shown in <figref idref="DRAWINGS">FIG. 5D</figref>. Assume that the selected UAV <b>530</b> senses bad weather (e.g., heavy rain) along flight path <b>535</b>, and provides information about the bad weather to UAV platform <b>230</b> (e.g., via feedback <b>545</b>). UAV platform <b>230</b> and/or the selected UAV <b>530</b> may calculate a modified flight path <b>550</b> that enables the selected UAV <b>530</b> to avoid and/or remain a safe distance from the bad weather. UAV platform <b>230</b> and/or the selected UAV <b>530</b> may generate modified flight path instructions <b>555</b> for modified flight path <b>550</b>. UAV platform <b>230</b> may provide modified flight path instructions <b>555</b> to selected UAV <b>530</b> (e.g., via one or more of networks <b>240</b>-<b>260</b>), and the selected UAV <b>530</b> may travel modified flight path <b>550</b>, based on modified flight path instructions <b>555</b>, until the selected UAV <b>530</b> arrives at Fairfax, Va.
0070As further shown in <figref idref="DRAWINGS">FIG. 5D</figref>, when the selected UAV <b>530</b> arrives at Fairfax, Va., the selected UAV <b>530</b> may leave the package at a location where Bob may retrieve the package. The selected UAV <b>530</b> and/or computer <b>210</b> (e.g., via Bob's input or detection of the presence of the selected UAV <b>530</b>) may generate a notification <b>560</b> indicating that the selected UAV <b>530</b> and the package arrived safely at a particular location in Fairfax, Va., and may provide notification <b>560</b> to UAV platform <b>230</b>.
0071As shown in <figref idref="DRAWINGS">FIG. 5E</figref>, assume that a particular UAV <b>220</b> (e.g., referred to as UAV <b>565</b>) includes a mobile hotspot component. The mobile hotspot component may enable UAV <b>565</b> to generate a mobile hotspot <b>570</b> for a particular area (e.g., at a stadium during an event to provide additional coverage for the event, in remote areas that do not include cell towers, for people located in remote areas, etc.). For example, UAV <b>565</b> may fly to the particular area, and may hover above the particular area. The mobile hotspot component of UAV <b>565</b> may generate mobile hotspot <b>570</b>, such that UAV <b>565</b> may act as a network access point for user devices <b>210</b>, other UAVs <b>220</b>, etc.
0072As further shown in <figref idref="DRAWINGS">FIG. 5E</figref>, a battery of UAV <b>565</b> may be running low on power, and UAV <b>565</b> may provide, to UAV platform <b>230</b>, feedback <b>575</b> indicating that the battery of UAV <b>565</b> is running low. UAV platform <b>230</b> may receive feedback <b>575</b>, and may determine that UAV <b>565</b> needs to be replaced with one of UAVs <b>220</b> in pool <b>505</b> in order to maintain mobile hotspot <b>570</b>. UAV platform <b>230</b> provide, to tablet <b>210</b>, a message <b>580</b> indicating that UAV platform <b>230</b> is going to replace UAV <b>565</b> with one of UAVs <b>220</b> in pool <b>505</b>. As further shown in <figref idref="DRAWINGS">FIG. 5E</figref>, assume that UAV platform <b>230</b> selects a particular UAV <b>220</b> (e.g., referred to as selected UAV <b>585</b>), from UAVs <b>220</b> in pool <b>505</b>. For example, UAV platform <b>230</b> may score and rank UAVs <b>220</b> in pool <b>505</b> based on whether UAVs <b>220</b> include a mobile hotspot component, battery life of UAVs <b>220</b>, etc. Selected UAV <b>585</b> may be ranked the highest in pool <b>505</b> since selected UAV <b>585</b> includes a mobile hotspot component and has the greatest battery life of UAVs <b>220</b> in pool <b>505</b> (e.g., that include mobile hotspot components).
0073As shown in <figref idref="DRAWINGS">FIG. 5F</figref>, UAV platform <b>230</b> may calculate a flight path <b>590</b>, for the selected UAV <b>585</b>, from Washington, D.C. to the particular area, and may generate flight path instructions <b>595</b> for flight path <b>590</b>. UAV platform <b>230</b> may provide flight path instructions <b>595</b> to the selected UAV <b>585</b> via one or more of networks <b>240</b>-<b>260</b>. The selected UAV <b>585</b> may take off from Washington, D.C., and may travel flight path <b>590</b> based on flight path instructions <b>595</b>. When the selected UAV <b>585</b> arrives at the particular area, the mobile hotspot component of the selected UAV <b>585</b> may generate mobile hotspot <b>570</b> for the particular area, as further shown in <figref idref="DRAWINGS">FIG. 5F</figref>. UAV platform <b>230</b> may instruct UAV <b>565</b> to return to Washington, D.C. so that UAV <b>565</b> may recharge the low battery.
0074As indicated above, <figref idref="DRAWINGS">FIGS. 5A-5F</figref> are provided merely as an example. Other examples are possible and may differ from what was described with regard to <figref idref="DRAWINGS">FIGS. 5A-5F</figref>.
0075Systems and/or methods described herein may provide a platform that enables UAVs to safely traverse flight paths from origination locations to destination locations. The systems and/or methods may enable the platform to determine flight paths for UAVs, and to automatically select optimal UAVs for traversing the determined flight paths, which may increase utilization of the UAVs. The automatic selection of optimal UAVs for traversing the determined flight paths may also reduce costs associated with selecting UAVs for the determined flight paths.
0076To the extent the aforementioned implementations collect, store, or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
0077The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
0078A component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
0079User interfaces may include graphical user interfaces (GUIs) and/or non-graphical user interfaces, such as text-based interfaces. The user interfaces may provide information to users via customized interfaces (e.g., proprietary interfaces) and/or other types of interfaces (e.g., browser-based interfaces, etc.). The user interfaces may receive user inputs via one or more input devices, may be user-configurable (e.g., a user may change the sizes of the user interfaces, information displayed in the user interfaces, color schemes used by the user interfaces, positions of text, images, icons, windows, etc., in the user interfaces, etc.), and/or may not be user-configurable. Information associated with the user interfaces may be selected and/or manipulated by a user (e.g., via a touch screen display, a mouse, a keyboard, a keypad, voice commands, etc.).
0080It will be apparent that systems and/or methods, as described herein, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the systems and/or methods based on the description herein.
0081Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
0082No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items, and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Contents3
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11468778B2 | Cited by | United States of America | Applicant |
| US11027837B2 | Cited by | United States of America | Applicant |
| US11263909B2 | Cited by | United States of America | Applicant |
| CN106774395A | Cited by | China | Search report |
| US2018198779A1 | Cited by | United States of America | Search report |
| CN106774394A | Cited by | China | Search report |
| US9663226B2 | Cited by | United States of America | Applicant |
| US10625853B2 | Cited by | United States of America | Applicant |
| US11630467B2 | Cited by | United States of America | Applicant |
| US11328613B2 | Cited by | United States of America | Applicant |
| US9714088B2 | Cited by | United States of America | Search report |
| US10979415B2 | Cited by | United States of America | Search report |
| US10650621B1 | Cited by | United States of America | Applicant |
| US11603194B2 | Cited by | United States of America | Applicant |
| CN107977017A | Cited by | China | Search report |
| US11459099B2 | Cited by | United States of America | Applicant |
| US10583921B1 | Cited by | United States of America | Applicant |
| US10373483B2 | Cited by | United States of America | Applicant |
| US10457390B2 | Cited by | United States of America | Applicant |
| US10981661B2 | Cited by | United States of America | Applicant |
| US10752350B2 | Cited by | United States of America | Applicant |
| US12084200B2 | Cited by | United States of America | Applicant |
| US11355020B2 | Cited by | United States of America | Applicant |
| US11670179B2 | Cited by | United States of America | Applicant |
| US10597164B2 | Cited by | United States of America | Applicant |
| US11084579B2 | Cited by | United States of America | Applicant |
| US10604249B2 | Cited by | United States of America | Applicant |
| US10611477B1 | Cited by | United States of America | Applicant |
| US10737765B2 | Cited by | United States of America | Applicant |
| WO2018151576A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9930027B2 | Cited by | United States of America | Applicant |
| US11767112B2 | Cited by | United States of America | Applicant |
| US11530035B2 | Cited by | United States of America | Applicant |
| US11505302B2 | Cited by | United States of America | Applicant |
| US11091257B2 | Cited by | United States of America | Applicant |
| KR102749533B1 | Cited by | Republic of Korea | Search report |
| US10720066B2 | Cited by | United States of America | Applicant |
| US11312491B2 | Cited by | United States of America | Applicant |
| US11341858B2 | Cited by | United States of America | Applicant |
| CN105872467A | Cited by | China | Search report |
| US10633087B2 | Cited by | United States of America | Applicant |
| US10618647B2 | Cited by | United States of America | Applicant |
| US2017358221A1 | Cited by | United States of America | Pre-grant |
| US11649061B2 | Cited by | United States of America | Applicant |
| US11383823B2 | Cited by | United States of America | Applicant |
| US9928750B2 | Cited by | United States of America | Search report |
| US10343773B1 | Cited by | United States of America | Applicant |
| US11670180B2 | Cited by | United States of America | Applicant |
| US12371162B2 | Cited by | United States of America | Applicant |
| US11142311B2 | Cited by | United States of America | Applicant |
| US10322799B2 | Cited by | United States of America | Search report |
| US2016285863A1 | Cited by | United States of America | Pre-grant |
| US11250709B2 | Cited by | United States of America | Applicant |
| US2018198779A1 | Cited by | United States of America | Search report |
| US10737778B2 | Cited by | United States of America | Applicant |
| US11710414B2 | Cited by | United States of America | Applicant |
| US11319064B1 | Cited by | United States of America | Applicant |
| US2018281943A1 | Cited by | United States of America | Search report |
| US11932387B2 | Cited by | United States of America | Applicant |
| US12110105B2 | Cited by | United States of America | Applicant |
| US10618646B2 | Cited by | United States of America | Applicant |
| US9912655B2 | Cited by | United States of America | Search report |
| US10501193B2 | Cited by | United States of America | Applicant |
| US10870487B2 | Cited by | United States of America | Applicant |
| US11312487B2 | Cited by | United States of America | Applicant |
| US10789853B2 | Cited by | United States of America | Applicant |
| US11124289B2 | Cited by | United States of America | Applicant |
| US11436929B2 | Cited by | United States of America | Applicant |
| US10019906B2 | Cited by | United States of America | Search report |
| US12337960B2 | Cited by | United States of America | Applicant |
| US11403956B2 | Cited by | United States of America | Applicant |
| US11232655B2 | Cited by | United States of America | Applicant |
| US11643207B1 | Cited by | United States of America | Applicant |
| US10661892B2 | Cited by | United States of America | Applicant |
| US10633088B2 | Cited by | United States of America | Applicant |
| US2016280371A1 | Cited by | United States of America | Pre-grant |
| US11727813B2 | Cited by | United States of America | Applicant |
| US11126203B2 | Cited by | United States of America | Applicant |
| US10913541B2 | Cited by | United States of America | Applicant |
| US11104446B2 | Cited by | United States of America | Applicant |
| US11673662B1 | Cited by | United States of America | Applicant |
| US11608173B2 | Cited by | United States of America | Applicant |
| US11488483B2 | Cited by | United States of America | Applicant |
| EP3418187A1 | Cited by | European Patent Office (EPO) | Search report |
| US12103673B2 | Cited by | United States of America | Applicant |
| US10189566B2 | Cited by | United States of America | Search report |
| US7894948B2 | Cites | United States of America | Pre-grant |
6 members in 1 office
Priority claims1
| Document | Office | Kind | Date |
|---|---|---|---|
| 201414282345 | United States of America | A |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| US2015379874A1 | United States of America | A1 | |
| US9354296B2 | United States of America | B2 | |
| US2016180717A1 | United States of America | A1 | |
| US9583007B2 | United States of America | B2 | |
| US2017162064A1 | United States of America | A1 | |
| US10089890B2 | United States of America | B2 |
54 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| PG-Pub Notice of new or Revised projected publication datePG-PB-DT | PG-PB-DT | |
| Receipt of all Acknowledgement LettersL130 | L130 | |
| Receipt of Acknowledgment LetterL197 | L197 | |
| Receipt of Acknowledgment LetterL197 | L197 | |
| Receipt of Acknowledgment LetterL197 | L197 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Dispatched from OIPEOIPE | OIPE | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Preliminary AmendmentA.PE | A.PE | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Preliminary AmendmentA.PE | A.PE | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20160180717
- Application
- 14978443
Titles
- English
- DYNAMIC SELECTION OF UNMANNED AERIAL VEHICLES
Patent term adjustment
- Net adjustment
- 0 days
Classification
- CPC, 45
- G08G5/0039
- G08G5/55
- G01C21/20
- G06Q10/06
- B64C39/024
- B60L2240/70
- G08G5/0034
- B60L8/003
- G08G5/0091
- B60L2200/10
- B64C2201/128
- B64C2201/14
- B60L2200/40
- B60L2240/12
- B60L2240/26
- B60L2240/622
- B60L2240/66
- B60L2240/662
- B60L2250/12
- B60L2250/16
- B60L2260/32
- B60L2260/42
- Y02T90/16
- B60L50/52
- H04B7/18506
- Y02T10/70
- Y02T10/7072
- Y02T10/72
- B64U80/25
- B64U10/13
- B64U2101/60
- G06Q50/40
- G08G5/32
- G08G5/34
- G08G5/58
- G08G5/59
- G08G5/56
- G08G5/26
- G08G5/74
- G08G5/76
- G08G5/57
- G05D1/106
- G01S5/0027
- G01S2205/005
- B64U2201/00
- IPC, 2
- B64C39 02
- G08G5 00