Patent Description:
Conventionally, systems may manage the operation of a fleet of vehicles. For example, systems may manage vehicles that deliver packages or cargo. One inefficiency in such systems is that the last leg of a delivery operation (e.g., from a sorting facility to a destination address) has been performed by a delivery person who both drives a delivery vehicle and manually carries the package from the delivery vehicle to the destination address.

Various drone delivery systems have been proposed where an unmanned aerial vehicle (UAV) carries a package from the sorting facility to the destination address. Such systems, however, are limited to the round-trip range of the UAV and would require a large number of sorting facilities in order to cover a geographic area.

In view of the above, it can be appreciated that there are problems, shortcomings or disadvantages associated with drone delivery systems, and that it would be desirable if improved systems and methods for delivering packages using UAVs were available. <CIT> discloses a system in which unmanned aerial vehicles (UAVs) may be used to transport packages between different entities. A UAV landing perch is disclosed. The perch may be operable to assist a UAV during takeoffs or during landings, provide charge to the UAV, enable communications with the UAV, and/or provide storage to the UAV when the UAV is not in use. A road vehicle may host a plurality of landing perches.

The invention is defined in independent method claim <NUM> and independent system claim <NUM>. Optional features of the invention are recited in dependent claims.

Unmanned aerial vehicles (UAVs) or drones offer many opportunities in the logistics and shipping fields. UAVs may provide fast delivery times by bypassing fixed road routes and traffic congestion. UAVs may also perform the last leg of delivery, placing the package at the address, which is typically performed by a human.

UAVs, however, also present difficulties in comparison to the management of vehicles using traditional delivery methods. Management systems have to consider cargo capacity and delivery range, which are factors that limit the ability of UAVs to deliver packages. The amount of fixed infrastructure to support full UAV delivery over a large geographic area may be expensive. Additionally, autonomous UAVs are likely to experience unpredictable events and malfunctions that require human involvement.

The present disclosure provides for a hybrid vehicle and drone management system in which land vehicles transport packages from a warehouse to dispatch locations and delivery UAVs perform a last leg of delivery to the delivery addresses. The hybrid system increases capacity by utilizing the higher cargo capacity of the land vehicles for a majority of the delivery distance while utilizing one or more UAVs for rapid delivery to final destinations.

The present disclosure further provides for a routing system that allocates packages to the land vehicles, plans routes for the land vehicles and UAVs, and dispatches the UAVs to the delivery locations.

Turning now to the Figures, <FIG> illustrates an example vehicle and drone management system <NUM>. The management system <NUM> includes a warehouse <NUM>, land vehicles <NUM>, and UAVs <NUM>. The management system <NUM> routes one or more land vehicles <NUM> from the warehouse <NUM> to one or more first dispatch locations <NUM>. At the respective first dispatch locations <NUM>, the UAVs <NUM> are dispatched from the land vehicles <NUM> to deliver packages to one or more final destinations <NUM>. In some cases, the UAVs <NUM> may then return to the land vehicles <NUM> at a pickup location and are driven to other dispatch locations for delivery of one or more additional packages to one or more additional final destinations <NUM>. In an aspect, the pickup location may be the same as the dispatch location <NUM> or <NUM>. The land vehicles <NUM> move from a respective first dispatch location <NUM> to a second dispatch location <NUM>. In some cases, one or more UAVs <NUM> may be dispatched from the first dispatch location <NUM>, but return to the land vehicle <NUM> at the second dispatch location <NUM> (which may be considered a pickup location), depending on a routing plan for a particular delivery zone.

The warehouse <NUM> may be a central facility for a geographic region. In an aspect, for example, the warehouse <NUM> may include an inventory for one or more retailers. As products are ordered, the management system <NUM> may control one or more parts of the process of pulling the products from the inventory, packaging the products, and allocating the packages for delivery, which is controlled by the management system <NUM>. In another aspect, the warehouse <NUM> may be a shipping or sorting facility. The warehouse <NUM> may receive packages (e.g., via long-haul trucking, air cargo, ship, or rail) and allocate the received packages for delivery. The management system <NUM> may allocate packages for delivery on a periodic, volume, and/or demand basis. For example, the management system <NUM> may allocate packages for a daily delivery, but may also allocate packages for supplemental deliveries as volume or demand requires.

A specially-configured vehicle and drone management computer system <NUM> for management of vehicles and drones, which may be located in the warehouse <NUM> or in a remote location connected to the warehouse <NUM> via a wired or wireless communication link <NUM>, may be configured to perform various operations described herein. The vehicle and drone management computer system <NUM> includes an allocation component <NUM> for determining, based on a number of packages to be delivered to final destinations <NUM> and/or <NUM> in a geographical area, a number of land vehicles <NUM> to carry the packages and allocating the packages to the land vehicles <NUM>. The computer system <NUM> includes a routing component <NUM> for determining a route for each land vehicle <NUM> that brings the land vehicle <NUM> within the distance of each final destination <NUM> and <NUM>. The computer system <NUM> includes a dispatch component <NUM> for dispatching, for each final destination <NUM> and <NUM>, a UAV carrying the package from the land vehicle <NUM>. In an aspect, the vehicle and drone management computer system <NUM> may include a computer-readable medium storing computer executable code for implementing each of the allocation component <NUM>, routing component <NUM>, and dispatch component <NUM>. In another aspect, the vehicle and drone management computer system <NUM> may be implemented as a virtual server in a cloud system where computing resources are allocated as necessary. One or more instances of the allocation component <NUM>, routing component <NUM>, or dispatch component <NUM> may be implemented as a non-transitory computer executable code for execution by one or more processors of the cloud system.

The land vehicles <NUM> may be vehicles that transport packages and UAVs <NUM> over a road network. In an aspect, for example, the land vehicles <NUM> may be commercial delivery vehicles equipped for dispatching drones. For example, in addition to a traditional cargo bay, the land vehicles <NUM> may each include a UAV bay for storing one or more UAVs <NUM>. The UAVs <NUM> may autonomously return to the UAV bay after completing a delivery. The land vehicles <NUM> may also include UAV support equipment, such as fuel, fuel cells, replacement batteries, or battery chargers for refreshing power on the UAVs <NUM> to increase or maintain the delivery range of the UAVs <NUM>.

The land vehicles <NUM> are autonomous vehicles. In an aspect, the land vehicles may be semi-autonomous vehicles. The land vehicles <NUM> receive a planned route from the routing component <NUM> of the vehicle and drone management computer system <NUM>. The land vehicles <NUM> autonomously navigate from the warehouse <NUM> to each dispatch location <NUM> and/or <NUM> according to the planned route. An operator may serve as a backup driver while the land vehicle <NUM> navigates autonomously. The operator may perform additional loading, dispatch, retrieval, and maintenance operations on the UAVs <NUM> when at the dispatch location <NUM>.

The dispatch location <NUM> and/or <NUM> may be a specific location or a location within a geographic area where UAVs <NUM> may be moved via land vehicles <NUM> to initiate package delivery to one or more final destinations <NUM> and/or <NUM> within a range of the UAVs <NUM> at the dispatch location <NUM> and/or <NUM>. The dispatching of UAVs <NUM> may be regulated by federal, state, or local rules. The ability to dispatch UAVs <NUM> may also be impacted by practical concerns not specifically regulated. For example, the land vehicle <NUM> may need to park, stand, or have a limited amount of movement for a threshold amount of time at the dispatch location <NUM> and/or <NUM> in order for each UAV <NUM> to deliver its package and return to the land vehicle <NUM>. The vehicle and drone management computer system <NUM> may be configured with a database of potential dispatch locations <NUM> and/or <NUM> within a delivery zone. The dispatch locations <NUM> and/or <NUM> for a particular planned route are selected when planning the route based on the allocated packages. The land vehicle <NUM> may also dynamically select or modify dispatch locations <NUM> and/or <NUM> based on current conditions at a time of arrival. For example, if a designated parking area at a dispatch location <NUM> and/or <NUM> is occupied, the vehicle and drone management computer system <NUM> and/or the land vehicle <NUM> may select a nearby dispatch location <NUM> and/or <NUM> not included in the route. Two or more nearby dispatch locations <NUM> and/or <NUM> may be selected to cover all delivery destinations.

The UAVs <NUM> may include any UAV capable of delivering packages to a destination <NUM> and/or <NUM>. In an aspect, the UAVs <NUM> are aircraft, such as but not limited to electrically powered, multi-rotor helicopters. Other UAVs may be powered by internal combustion engines. UAVs <NUM> may also include fixed-wing, tiltrotor, or lighter-than-air aircraft. The UAVs <NUM> may be equipped with a camera, a satellite-based and/or terrestrial-based location system (e.g., global positioning system (GPS)), and a wireless communication device (e.g., a cellular and/or Wi-Fi modem). Each UAV <NUM> may carry one or more packages having a total weight up to a maximum load for the UAV <NUM>. Further, each UAV <NUM> may be equipped with releasable package rack for retaining the package during flight and releasing the package at the destination <NUM> and/or <NUM>.

Each UAV <NUM> may have a maximum range, e.g., a maximum distance that it can fly on a given battery charge. The maximum range of each UAV <NUM> may be dependent on multiple variables including the battery capacity, charge level of the batteries, altitude, temperature, wind, and the size, aerodynamic properties, and weight of the payload (e.g., one or more packages). The maximum range may be determined for each model of UAV <NUM> utilized by the management system <NUM>. The vehicle and drone management computer system <NUM> may repeatedly estimate a current range for a given UAV <NUM> based on observed measurements of the above variables. The vehicle and drone management computer system <NUM> can calculate a round trip distance for each UAV <NUM> based on the current range, but also taking into account a safety margin. The safety margin may be an additional estimated distance to allow unexpected events (e.g., delays, obstructions, or weather), and to promote safe operations, so that the UAV <NUM> could be assured a safe return to the dispatch location <NUM> and/or <NUM> and/or to the land vehicle <NUM>.

<FIG> is a conceptual diagram <NUM> of example delivery zones <NUM> within a geographic region <NUM>. The vehicle and drone management computer system <NUM> may manage deliveries within the geographic region <NUM>. The geographic region <NUM> may be any geographic area corresponding to a respective warehouse <NUM> that can receive and support delivery of one or more packages having a final destination <NUM> within the geographic region <NUM>. It should be noted that final destination <NUM> in <FIG> may correspond to final destinations <NUM> and/or <NUM> of <FIG>. For example, the warehouse <NUM> may be responsible for a city, county, or small state, or an arbitrary area having a number of potential customers. The vehicle and drone management computer system <NUM> may determine a given delivery destination <NUM> for each package, for example, by reading a label attached to the package. The vehicle and drone management computer system <NUM> may allocate the packages or associated destinations <NUM> to delivery zones <NUM> based on the geographic coordinates of the destinations <NUM>. The destinations <NUM> may be grouped together. The size of the groups may depend on the cargo capacity of each land vehicle <NUM>. As illustrated, for example, the destinations <NUM> may be clustered into groups of <NUM>. It should be appreciated that the vehicle and drone management computer system <NUM> may use larger or smaller groups, and the number of packages in a group may be based on package volume, and/or package weight, and/or a geographic area and/or specific distances covered by each geographic region <NUM> or between the group of destinations <NUM>, instead of or in addition to the number of packages or destinations <NUM>.

In an implementation, the vehicle and drone management computer system <NUM> may receive or allocate a large number ("n") packages, i.e. n>><NUM>, that are to be delivered to some number of destinations ("y"). The number of destinations, y, may also include pick up locations. For example, vehicle and drone management computer system <NUM> may receive requests to pick up a package at a location. For planning purposes, a pick-up location and the associated package may be treated in a similar manner as a delivery because the costs are similar. In an aspect, a pick-up operation may simply be the inverse of a delivery operation in which the package is transported from the destination, but the round-trip distance for the UAV <NUM> remains the same. The vehicle and drone management computer system <NUM> may group multiple final destinations <NUM> into geocentrically-arranged delivery zones <NUM>. The vehicle and drone management computer system <NUM> assigns a dispatch area to each final destination <NUM> based on the maximum range of the UAV <NUM>, which may be a round trip range. Assuming that some of the packages may be delivered to the same destination, the number of packages to be delivered will be greater than or equal to the number of destinations; i.e. "n ≥ y".

The land vehicles <NUM> are capable of carrying one or more UAVs <NUM>. The vehicle and drone management computer system <NUM> may determine the number, "v," of land vehicles <NUM> for delivering the n packages based on number of packages, cargo capacity of the vehicles, and the distances from the destinations, y. Other factors that may affect the number of vehicles include the size, weight, priority, timing requirements, and handling instructions for each package. The number of vehicles "v" used to deliver the UAVs <NUM> to the final destinations <NUM> will likely be less than or equal to the number of final destinations <NUM>, "v ≤ y" because each land vehicle <NUM> will be able to carry one or more UAVs <NUM> and each UAV <NUM> will be able to make one or more deliveries of packages to the various locations, "y".

Thus, in the illustrated example of <FIG>, the vehicle and drone management computer system <NUM> may associate a single warehouse <NUM> to support multiple delivery zones <NUM> within the geographic region <NUM>. Further, as will be explained in more detail in <FIG>, the vehicle and drone management computer system <NUM> may allocate one or more land vehicles <NUM> (not shown) to each of the multiple delivery zones <NUM>, allocates corresponding packages to each land vehicle <NUM>, and control one or more UAVs <NUM> on each land vehicle <NUM> to deliver the packages to the corresponding final destinations <NUM> within the respective delivery zone <NUM>.

<FIG> is a conceptual diagram of example drone routing within a delivery zone <NUM>. The delivery zone <NUM> may include roads <NUM> that may be traversed by the land vehicle <NUM> to reach dispatch locations <NUM>. In an aspect, the dispatch locations <NUM> may be located anywhere along the roads <NUM> (e.g., in a residential area). In contrast, regulations may prevent land vehicles <NUM> from stopping along a highway <NUM> to dispatch UAVs <NUM>. A highway <NUM> may, however, include designated parking areas that a land vehicle <NUM> may utilize as a dispatch location <NUM>. Also, the delivery zone <NUM> may include one or more restricted areas <NUM> that are areas designated as off limits to the flight path of UAVs <NUM>, such as areas associated with an airport or a government building, or, in some cases, private property. Accordingly, neither dispatch locations <NUM> nor UAV routes may be located in the restricted area <NUM>. The vehicle and drone management computer system <NUM> may maintain a database of restricted areas <NUM> within each geographic region <NUM>. For example, in one implementation, the vehicle and drone management computer system <NUM> may generate the database by applying rules to existing databases such as road databases and property records.

The vehicle and drone management computer system <NUM> routes the land vehicle <NUM> by determining a set of dispatch locations <NUM> within the zone <NUM>. The dispatch locations <NUM> are based on the destinations <NUM> and the drone range <NUM>. Dispatch locations <NUM> are selected that maximize the number of destinations <NUM> within the drone range <NUM> from the dispatch locations <NUM>. The dispatch locations <NUM> are selected by determining a dispatch area <NUM> for each destination <NUM>, then selecting dispatch locations <NUM> where the most dispatch areas <NUM> overlap. A dispatch area <NUM> refers to an area surrounding a destination <NUM> from which a UAV <NUM> is dispatched to deliver a package to the destination <NUM>. The dispatch area <NUM> is centered on the destination <NUM> and has a radius based on the range of the UAV <NUM>. Accordingly, the UAV <NUM> may be dispatched from any dispatch location <NUM> within the dispatch area <NUM> and return to any dispatch location <NUM> or <NUM> within the dispatch area <NUM>. Destinations <NUM> covered by a selected dispatch location <NUM> are removed from the set of destinations <NUM> to be covered and another dispatch location <NUM> selected based on the remaining destinations <NUM> until every destination <NUM> is covered by a respective dispatch location <NUM>. The selection of dispatch locations <NUM> may also need to account for restricted areas <NUM>. For example, although a given dispatch location <NUM> within the restricted area <NUM> may cover one or more destinations <NUM>, less convenient dispatch locations <NUM> may be selected to avoid placing the dispatch location <NUM> (and/or the flight path of UAVs <NUM>) within the restricted area <NUM>.

In an aspect, each UAV <NUM> may be autonomously piloted based on a route provided by the vehicle and drone management computer system <NUM> using autonomous navigation rules. Further, each UAV <NUM> may be provided with GPS data for a delivery destination <NUM>, and, optionally, with a street address. Each UAV <NUM> may also be provided with the GPS location and/or physical street location of the dispatch point within the dispatch location <NUM>, or determine the location of the dispatch point based on GPS measurements. The UAV <NUM> may
calculate the route from the dispatch location <NUM> to the physical delivery address of the respective delivery destination <NUM> using the autonomous navigation rules. In an aspect, a preferred route is a direct path from the dispatch location <NUM> to the physical delivery address or other designated drop-off location of the respective delivery destination <NUM> to minimize time and energy (battery) usage. For example, a default autonomous navigation rule may be to determine a straight path from the dispatch location <NUM> to the destination <NUM> at a specified height. The UAV <NUM> and/or the vehicle and drone management computer system <NUM> may completely or partially (e.g., both in combination) plan a route around known obstacles (trees, power lines, buildings, towers etc.) by using stored geometric information. For example, the autonomous navigation rules may include a rule to avoid known obstacles by a configured distance (e.g., <NUM> feet). Additionally, the UAV <NUM> may navigate around obstacles using the onboard camera system to locate objects and maintain a specified distance, which may be the same as the configured distance from known obstacles, or a different distance (e.g., <NUM> feet). In an aspect, the UAV <NUM> may perform object identification on obstacles using the on-camera system. The UAV <NUM> may recognize and categorize an obstruction and then make a decision as to the threshold distance and/or the most effective mitigation action. Local regulations may preclude the transit of the UAV <NUM> over private property, which may also be considered a type of restricted area <NUM>, in which case the UAV <NUM> may use autonomous navigation rules to determine a route over public roadways, alleyways, and other public rights of way. For example, the autonomous navigation rules may designate the restricted areas <NUM>, and the UAV <NUM> may autonomously select a route that avoids the restricted areas <NUM>.

When the UAV <NUM> reaches a respective destination <NUM>, the UAV <NUM> may deliver the package. In an aspect, the respective destination <NUM> may be associated with specific delivery instructions. For example, a customer may submit delivery instructions when placing an order. The delivery instructions may include specific GPS coordinates of a drop off location within a property to deliver the package or recognizable objects to orient the UAV <NUM>. For example, recognizable objects may include a landing pad, beacon, markings, building façade, door frame, or other feature having optically recognizable characteristics. The UAV <NUM> may use the onboard camera to identify the recognizable object, then orient itself with respect to the recognizable object. The UAV <NUM> may release the package at the destination <NUM>. The UAV <NUM> may also document delivery of the package. For example, the UAV <NUM> may record a video or photograph of the package at the destination <NUM>.

In an aspect, the UAV <NUM> may encounter difficulties that cannot be resolved autonomously. For example, the UAV <NUM> may encounter a barrier or the UAV <NUM> may become damaged. The UAV <NUM> may transmit its current location to the land vehicle <NUM> for the operator to assist the UAV <NUM>. Because the land vehicle <NUM> is within the round trip distance of the UAV <NUM>, the operator may be significantly closer to the UAV <NUM> than an operator at the warehouse <NUM>. In some cases, the operator may retrieve a disabled drone and complete the delivery.

<FIG> is a flowchart of a method <NUM> of delivering packages using the vehicle and drone management computer system <NUM>. The vehicle and drone management computer system <NUM> may communicate with various components of the management system <NUM>, for example via a wireless data connection, to provide instructions for controlling the component or providing input into an autonomous control process.

In block <NUM>, the method <NUM> includes determining, based on a number of packages to be delivered to destinations in a geographical area, a number of land vehicles to carry the packages to within a round-trip range of each of the destinations. The allocation component <NUM> of the vehicle and drone management computer system <NUM> determines, based on a number of packages to be delivered to destinations <NUM> in the geographic region <NUM>, the number of land vehicles <NUM> to carry the packages to within the UAV round-trip range of each of the destinations. The round-trip range may is based on a round trip range of at least one UAV <NUM> carried on each land vehicle <NUM>. The number of land vehicles <NUM> may be based on the range and capacity of each land vehicle <NUM> and the round trip range of the UAVs <NUM>. In sub-block <NUM>, the block <NUM> may optionally include dividing the geographical area into a number of zones. For example, the allocation component <NUM> of the vehicle and drone management computer system <NUM> may divide the geographic region <NUM> into a number of zones <NUM>. Each zone <NUM> may have a substantially equal number, volume, or weight of packages.

In block <NUM>, the method <NUM> includes allocating the number of packages to the number of land vehicles, each land vehicle being allocated a set of destinations. The allocation component <NUM> allocates
the number of packages to the number of
land vehicles <NUM>, each land vehicle <NUM> being allocated a set of destinations <NUM> within a respective zone <NUM>.

In block <NUM>, the method <NUM> includes determining a route for each land vehicle that brings the land vehicle within the UAV round-trip range of each destination within the set of destinations. The routing component <NUM> determines a route for each land vehicle <NUM> that brings the land vehicle <NUM> within the UAV round-trip range of each destination <NUM> within the set of destinations. In sub-block <NUM>, the block <NUM> includes determining a dispatch location <NUM> within the UAV round-trip range of each destination <NUM>. The vehicle and drone management computer system <NUM> of the management system <NUM> determines the dispatch location <NUM> within the drone range <NUM> of each destination <NUM>. In sub-block <NUM>, the block <NUM> includes determining a minimum set of dispatch locations. The routing component <NUM> determines the minimum set of dispatch locations <NUM>. The vehicle and drone management computer system <NUM> selects dispatch locations <NUM> that maximize the number of destinations <NUM> within the drone range <NUM>. In sub-block <NUM>, the block <NUM> may optionally include determining an optimal route between the dispatch locations. In an aspect, for example, the routing component <NUM> of the vehicle and drone management computer system <NUM> may determine an optimal route between the dispatch locations <NUM>. The optimal route may be a shortest or fastest route between the dispatch locations <NUM>. For example, the computer system <NUM> may determine the optimal route using the dispatch locations <NUM> as input into known routing algorithms for land vehicles <NUM>.

In block <NUM>, the method <NUM> includes dispatching, for each destination, a UAV carrying the package from the land vehicle at a dispatch location along the respective route. The dispatch component <NUM> dispatches, for each destination <NUM>, the UAV <NUM> carrying the package from the land vehicle <NUM> at the dispatch location <NUM> along the respective route. In sub-block <NUM>, the block <NUM> may optionally include providing the UAV with an aerial route from the dispatch location to the respective destination and then to a pickup location on the route. The pickup location may be, for example, the second dispatch location <NUM> In an aspect, for example, the dispatch component <NUM> may provide the UAV <NUM> with the aerial route from the dispatch location <NUM> to the respective destination <NUM>. The dispatch component <NUM> may also provide an aerial route from the respective destination <NUM> to a pickup location, which may be the same as the dispatch location <NUM>, or may be a second dispatch location <NUM>. The UAV <NUM> may then autonomously navigate along the aerial route. If the UAV <NUM> diverges from the aerial route by a threshold amount, control of the UAV <NUM> may be passed to an operator at the land vehicle <NUM> or an operator at a more remote location, who may control the UAV <NUM> based on input from the GPS sensor and the on board camera.

<FIG> is a block diagram of an example of the vehicle and drone management computer system <NUM> in accordance with an implementation, including additional component details as compared to <FIG>. In one example, vehicle and drone management computer system <NUM> includes processor <NUM> for carrying out processing functions associated with one or more of components and functions described herein. Processor <NUM> can include a single or multiple set of processors or multi-core processors. Moreover, processor <NUM> can be implemented as an integrated processing system and/or a distributed processing system. In an implementation, for example, processor <NUM> may include a central processing unit (CPU). In an example, vehicle and drone management computer system <NUM> may include memory <NUM> for storing instructions executable by the processor <NUM> for carrying out the functions described herein. In an implementation, for example, memory <NUM> may store instructions for executing one or more of the allocation component <NUM>, routing component <NUM>, or dispatch component <NUM>.

Further, vehicle and drone management computer system <NUM> may include a communications component <NUM> that provides for establishing and maintaining communications with one or more parties, vehicles, or drones, utilizing hardware, software, and services as described herein. Communications component <NUM> may carry communications between components on vehicle and drone management computer system <NUM>, as well as between vehicle and drone management computer system <NUM> and external devices, such as devices located across a communications network and/or devices serially or locally connected to vehicle and drone management computer system <NUM>. For example, communications component <NUM> may include one or more buses, and may further include transmit chain components and receive chain components associated with a transmitter and receiver, respectively, operable for interfacing with external devices.

Additionally, vehicle and drone management computer system <NUM> may include a data store <NUM>, which can be any suitable combination of hardware and/or software, that provides for mass storage of information, databases, and programs employed in connection with implementations described herein. For example, data store <NUM> may be a data repository for operating system <NUM> and/or applications <NUM>.

Vehicle and drone management computer system <NUM> may also include a user interface component <NUM> operable to receive inputs from a user of computer device <NUM> and further operable to generate outputs for presentation to the user. User interface component <NUM> may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, any other mechanism capable of receiving an input from a user, or any combination thereof. Further, user interface component <NUM> may include one or more output devices, including but not limited to a display, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.

In an implementation, user interface component <NUM> may transmit and/or receive messages corresponding to the operation of operating system <NUM> and/or application <NUM>. In addition, processor <NUM> executes operating system <NUM> and/or application <NUM>, and memory <NUM> or data store <NUM> may store them.

As used in this application, the terms "component," "system" and the like are intended to include a computer-related entity, such as but not limited to hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computer device and the computer device can be a component. One or more components can reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets, such as data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal.

Various implementations or features may have been presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches may also be used.

The various illustrative logics, logical blocks, and actions of methods described in connection with the embodiments disclosed herein may be implemented or performed with a specially-programmed one of a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may also be implemented as a combination of computer devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Additionally, at least one processor may comprise one or more components operable to perform one or more of the steps and/or actions described above.

Further, the steps and/or actions of a method or algorithm described in connection with the implementations disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor, such that the processor can read information from, and write information to, the storage medium. Further, in some implementations, the processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in a user terminal. Additionally, in some implementations, the steps and/or actions of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a machine readable medium and/or computer readable medium, which may be incorporated into a computer program product.

Claim 1:
A method (<NUM>) of delivering packages, comprising:
determining, based on a number of packages to be delivered to destinations (<NUM>) in a geographical area, by a computer system (<NUM>) a number of autonomous land vehicles (<NUM>) to carry the packages to within an unmanned aerial vehicle (UAV) round-trip range of each of the destinations (<NUM>), wherein each land vehicle (<NUM>) carries at least one UAV (<NUM>) capable of delivering at least one of the number of packages to one of the destinations (<NUM>) within the UAV round-trip range;
allocating by the computer system (<NUM>) the number of packages to the number of land vehicles (<NUM>), each land vehicle (<NUM>) being allocated a set of destinations (<NUM>);
determining by the computer system (<NUM>) a route for each land vehicle (<NUM>) that brings the land vehicle (<NUM>) within the UAV round-trip range of each destination (<NUM>) within the set of destinations, wherein determining the route for each land vehicle (<NUM>) comprises:
determining a dispatch area (<NUM>) for each destination (<NUM>), wherein the dispatch area (<NUM>) is centered on the destination (<NUM>) and has a radius based on the UAV (<NUM>) round-trip range;
selecting a dispatch location (<NUM>, <NUM>) at a location where the most dispatch areas (<NUM>) overlap;
removing destinations (<NUM>) covered by the selected dispatch location (<NUM>, <NUM>) from the set of destinations; and
selecting another dispatch location (<NUM>, <NUM>) until every destination (<NUM>) is covered by a respective dispatch location (<NUM>, <NUM>), wherein each of the selected dispatch locations (<NUM>, <NUM>) allows parking of the land vehicle (<NUM>);
wherein the method further comprises:
routing each land vehicle (<NUM>) to a first dispatch location (<NUM>);
moving each land vehicle (<NUM>) from the first dispatch location (<NUM>) to a second dispatch location (<NUM>), wherein the first and the second dispatch locations (<NUM>, <NUM>) are chosen from the selected dispatch locations (<NUM>, <NUM>); and
dispatching, for each destination (<NUM>), the at least one UAV (<NUM>) carrying a package from the respective land vehicle (<NUM>) at the selected dispatch locations (<NUM>, <NUM>) along the route determined for each land vehicle (<NUM>).