Patent Description:
<CIT> discloses a system that comprises a server configured to communicate vehicle information with a vehicle transceiver of a vehicle moving along a vehicle route and communicate drone information with a drone transceiver of a drone moving along a drone route. A computing device with a memory and a processor may be configured to communicatively connect with the server, process the vehicle information and the drone information, identify a plurality of pickup locations based in part on the vehicle information and drone information, select at least one of the plurality of pickup locations based in part on a priority score associated with a travel time to or wait time for each of the plurality of pickup locations, and update the drone route based in part on the selected pickup location.

<CIT> discloses an invention consisting of an actuated box and navigation aid for automatic delivery by unmanned vehicles (UAV) or drones. It also incorporates delivery information via the web linking orders, enclosure status, package specific drone homing signals, delivery confirmations and more.

Aspects of the present disclosure provide a delivery system as recited in claim <NUM>.

In one example, the one or more computing devices are further configured to rank the identified one or more grid cells, and wherein the ranking is also used to identify the common grid cell where there is more than one common grid cell. In another example, the one or more computing devices are further configured to receive, from the MRU, a ranking for the set of grid cells, and wherein the ranking is also used to identify the common grid cell where there is more than one common grid cell. In this example, the one or more computing devices are also configured to rank the identified one or more grid cells, and wherein the ranking of the identified one or more grid cells is also used to identify the common grid cell where there is more than one common grid cell. In another example, the one or more computing devices are further configured to: maneuver the UAV to a delivery position with respect to the delivery location; receive confirmation that the MRU is located at the delivery location; and attempt to deliver the package to the MRU from the delivery position. In this example, the one or more computing devices are also configured to receive sensor information identifying wind conditions at the predetermined delivery area and to use the sensor information to maneuver the UAV to the delivery position with respect to the delivery position. In this example, the sensor information is received from an anemometer of the UAV. In addition or alternatively, the sensor information is received from an anemometer of the MRU.

In another example, the delivery system also includes the MRU. In this example, the MRU includes one or more panels configured to open in order to reveal a receptacle area of the MRU, and wherein the receptacle area is configured to accept delivery of the package from the UAV. In addition, the one or more panels include at least two panels and the MRU further includes mesh material arranged between the at least two panels in order to increase a likelihood of the package reaching the receptacle area. In addition or alternatively, the one or more panels are configured to close in order to enclose the package within the receptacle area. In addition or alternatively, the receptacle area includes a sensor configured to confirm delivery of the package. In addition or alternatively, the MRU further includes one or more computing devices configured to maneuver the MRU through the predetermined delivery area and collect sensor data for the predetermined delivery area while maneuvering the MRU; identify obstacles in the predetermined delivery area that would prevent the MRU from accepting a delivery at the area of the identified obstacles; and use the identified obstacles to identify the set of grid cells. In this example, the one or more computing devices of the MRU are also configured to receive recipient preferences for the predetermined delivery area and to use the recipient preferences in order to identify the set of grid cells. In this example, the one or more computing devices of the MRU are configured to identify the set of grid cells by identifying a first set of grid cells using the identified obstacles and filtering the first set of grid cells to identify the set of grid cells.

In another example, the one or more computing devices are further configured to receive one or more recipient preferences for the predetermined delivery area and use the one or more recipient preferences to identify the common grid cell. In another example, the delivery system also includes a storage area for storing the MRU after a package is delivered to the MRU. In this example, the one or more computing devices of the MRU are further configured to maneuver the MRU to the storage area after a completed delivery and the storage area includes a sensor configured to identify when the MRU is located in the storage area. In addition or alternatively, the system also includes a notification device configured to provide a notification when the MRU is located in the storage area.

The technology relates to delivery systems involving the use of UAVs and other autonomous devices. As noted above, as UAV delivery becomes a reality, ensuring safe, secure and user-friendly deliveries will be a significant challenge. For instance, typical package delivery services include operators who are able and expected to make decisions about where to leave a package so it will be both safe and accessible by the recipient when the recipient is not available to accept the package. In the case of UAVs, the situation can be much more complicated as computers are not typically equipped with sufficed problem solving skills to address real-time delivery in areas that can change quite frequently. For instance, if a recipient designates a particular delivery area in a backyard, objects, such as trampolines, swing sets, ponds, pet kennels, debris, vehicles, pools, sheds, landscaping, bushes, trees, etc. can create obstacles for the UAV. In addition, the landscape of the backyard can change fairly frequently due to changing vegetation, moving of outdoor furniture, weather, etc. Moreover, recipients are unlikely to want to designate large areas of personal space for UAV delivery and may even want to keep UAVs as far from dwelling areas as possible for safety reasons.

A two-part delivery system, including both aerial and land-based mobile units, for instance a UAV and a land-based mobile receptacle unit (MRU), may be used to address many of these concerns without the need for a recipient to be present to accept a package delivery. The aerial-based unit may correspond to an aerial UAV which includes one or more control computing devices as well as other features to allow the UAV to fly in different directions. The MRU may also include one or more control computing devices as well as other features that will allow the MRU to maneuver itself safely. The MRU may provide a receptacle area for accepting packages. The receptacle area may include a pressure sensor or switch to allow the computing device of the MRU to confirm that a package was received in the receptacle area.

Before a package can be delivered, a recipient (or another operator) may set up a delivery area using a map via an application for the delivery system on a computing device. The map may be converted to a grid including a plurality of cells each having a respective identifier. Each cell may be sized to correspond to an acceptable delivery area. The recipient may designate specific grid cells as appropriate or not appropriate for delivery. In addition, the recipient may designate a storage area where the MRU is able to securely park itself once a package has been delivered by the UAV. Once the storage area is designated, the recipient may place the MRU at the storage area and allowing the MRU to move through the space around area. This movement may allow the MRU to identify grid cells of the map through which the MRU is able to maneuver and/or accept packages.

Once a delivery is going to occur, one or more backend server computing devices may dispatch the UAV. The UAV may also be provided with the map identifying grid cells which are appropriate or not appropriate for delivery as well as any other preferences identified by the recipient. The backend server computing devices may also send a notification to the recipient via the application and/or the MRU. This may allow the recipient to place the MRU outside or in an appropriate location and/or allow the MRU to maneuver itself to an appropriate location. The computing devices of the MRU may also identify grid cells appropriate for a delivery.

As the UAV approaches the delivery area, the UAV may capture sensor data for the delivery area. At the same time, the UAV's computing devices may attempt to communicate with the MRU, for instance, via a wireless network. In response, the MRU may send the identifiers for the identified grid cells appropriate for delivery with the UAV. The UAV's computing devices may then compare the grid cells identified by the UAV's computing devices with those identified by the MRU to identify a common grid cell for the delivery.

Once a grid cell for the delivery has been identified, this corresponding identifier for that grid cell may be sent to the computing devices of the MRU. In response to receiving the identifier, the MRU may maneuver itself to the location of the grid cell corresponding to the received identifier. After the location is reached, the MRU may open to prepare for the delivery, and the MRU may send a notification to the UAV indicating that the MRU is ready for the delivery. Once the UAV has maneuvered itself in place for the delivery, the UAV may attempt to complete the delivery and thereafter maneuver the UAV to another location. After the delivery is completed, the MRU may maneuver itself to the storage area, sending a notification indicating that a package has been delivered and that the package is located in the storage area.

The features described herein may allow for affecting UAV delivery services in real time while ensuring safety and considering delivery requirements and preferences of a recipient. In other words, communications between the MRU and the UAV allow for efficient and hassle free delivery solutions even in changing circumstances. As such, the recipient is able to devote the least amount of energy, time and attention to receiving packages, does not need to be present to receive a delivery, does not need to be near a UAV during delivery, and can be assured that their package is safe, secure, and will not be left in a random location.

Aspects, features and advantages of the disclosure will be appreciated when considered with reference to the foregoing description of embodiments and accompanying figures. Furthermore, the following description is not limiting; the invention is defined by the appended claims.

<FIG> is an isometric view of an example UAV <NUM>. UAV <NUM> includes wing <NUM>, booms <NUM>, and a fuselage <NUM>. Wings <NUM> may be stationary and may generate lift based on the wing shape and the UAV's forward airspeed. For instance, the two wings <NUM> may have an airfoil-shaped cross section to produce an aerodynamic force on UAV <NUM>. In some embodiments, wing <NUM> may carry horizontal propulsion units <NUM>, and booms <NUM> may carry vertical propulsion units <NUM>. In operation, power for the propulsion units may be provided from a battery compartment <NUM> of fuselage <NUM>. In some embodiments, fuselage <NUM> also includes an avionics compartment <NUM>, an additional battery compartment (not shown) and/or a delivery unit (not shown, e.g., a winch system) for handling a payload or package. In some embodiments, fuselage <NUM> is modular, and two or more compartments (e.g., battery compartment <NUM>, avionics compartment <NUM>, other payload and delivery compartments) are detachable from each other and securable to each other (e.g., mechanically, magnetically, or otherwise) to contiguously form at least a portion of fuselage <NUM>.

In some embodiments, booms <NUM> terminate in rudders <NUM> for improved yaw control of UAV <NUM>. Further, wings <NUM> may terminate in wing tips <NUM> for improved control of lift of the UAV.

In the illustrated configuration, UAV <NUM> includes a structural frame. The structural frame may be referred to as a "structural H-frame" or an "H-frame" of the UAV. The H-frame may include, within wings <NUM>, a wing spar (not shown) and, within booms <NUM>, boom carriers (not shown). In some embodiments the wing spar and the boom carriers may be made of carbon fiber, hard plastic, aluminum, light metal alloys, or other materials. The wing spar and the boom carriers may be connected with clamps. The wing spar may include pre-drilled holes for horizontal propulsion units <NUM>, and the boom carriers may include pre-drilled holes for vertical propulsion units <NUM>.

In some embodiments, fuselage <NUM> may be removably attached to the H-frame (e.g., attached to the wing spar by clamps, configured with grooves, protrusions or other features to mate with corresponding H-frame features, etc.). In other embodiments, fuselage <NUM> similarly may be removably attached to wings <NUM>. The removable attachment of fuselage <NUM> may improve quality and or modularity of UAV <NUM>. For example, electrical/mechanical components and/or subsystems of fuselage <NUM> may be tested separately from, and before being attached to, the H-frame. Similarly, printed circuit boards (PCBs) <NUM> may be tested separately from, and before being attached to, the boom carriers, therefore eliminating defective parts/subassemblies prior to completing the UAV. For example, components of fuselage <NUM> (e.g., avionics, battery unit, delivery units, an additional battery compartment, etc.) may be electrically tested before fuselage <NUM> is mounted to the H-frame. Furthermore, the motors and the electronics of PCBs <NUM> may also be electrically tested before the final assembly. Generally, the identification of the defective parts and subassemblies early in the assembly process lowers the overall cost and lead time of the UAV. In addition, different types/models of fuselage <NUM> may be attached to the H-frame, therefore improving the modularity of the design. Such modularity allows these various parts of UAV <NUM> to be upgraded without a substantial overhaul to the manufacturing process.

In some embodiments, a wing shell and boom shells may be attached to the H-frame by adhesive elements (e.g., adhesive tape, double-sided adhesive tape, glue, hook and loop fasteners etc.). Therefore, multiple shells may be attached to the H-frame instead of having a monolithic body sprayed onto the H-frame. In some embodiments, the presence of the multiple shells reduces the stresses induced by the coefficient of thermal expansion of the structural frame of the UAV. As a result, the UAV may have better dimensional accuracy and/or improved reliability.

Moreover, in at least some embodiments, the same H-frame may be used with the wing shell and/or boom shells having different size and/or design, therefore improving the modularity and versatility of the UAV designs. The wing shell and/or the boom shells may be made of relatively light polymers (e.g., closed cell foam) covered by the harder, but relatively thin, plastic skins.

The power and/or control signals from fuselage <NUM> may be routed to PCBs <NUM> through cables running through fuselage <NUM>, wings <NUM>, and booms <NUM>. In the illustrated embodiment, UAV <NUM> has four PCBs, but other numbers of PCBs are also possible. For example, UAV <NUM> may include two PCBs, one per the boom. The PCBs carry electronic components <NUM> including, for example, power converters, controllers, memory, passive components, etc. In operation, propulsion units <NUM> and <NUM> of UAV <NUM> are electrically connected to the PCBs.

Many variations on the illustrated UAV are possible. For instance, fixed-wing UAVs may include more or fewer rotor units (vertical or horizontal), and/or may utilize a ducted fan or multiple ducted fans for propulsion. Further, UAVs with more wings (e.g., an "x-wing" configuration with four wings), are also possible. Although <FIG> illustrates two wings <NUM>, two booms <NUM>, two horizontal propulsion units <NUM>, and six vertical propulsion units <NUM> per boom <NUM>, it should be appreciated that other variants of UAV <NUM> may be implemented with more or less of these components. For example, UAV <NUM> may include four wings <NUM>, four booms <NUM>, and more or less propulsion units (horizontal or vertical).

Similarly, <FIG> shows another example of a UAV <NUM>. The UAV <NUM> includes a fuselage <NUM>, two wings <NUM> with an airfoil-shaped cross section to provide lift for the UAV <NUM>, a vertical stabilizer <NUM> (or fin) to stabilize the plane's yaw (turn left or right), a horizontal stabilizer <NUM> (also referred to as an elevator or tailplane) to stabilize pitch (tilt up or down), landing gear <NUM>, and a propulsion unit <NUM>, which can include a motor, shaft, and propeller.

<FIG> shows an example of a UAV <NUM> with a propeller in a pusher configuration. The term "pusher" refers to the fact that a propulsion unit <NUM> is mounted at the back of the UAV and "pushes" the vehicle forward, in contrast to the propulsion unit being mounted at the front of the UAV. Similar to the description provided for <FIG> and <FIG> depicts common structures used in a pusher plane, including a fuselage <NUM>, two wings <NUM>, vertical stabilizers <NUM>, and the propulsion unit <NUM>, which can include a motor, shaft, and propeller.

<FIG> shows an example of a tail-sitter UAV <NUM>. In the illustrated example, the tail-sitter UAV <NUM> has fixed wings <NUM> to provide lift and allow the UAV <NUM> to glide horizontally (e.g., along the x-axis, in a position that is approximately perpendicular to the position shown in <FIG>). However, the fixed wings <NUM> also allow the tail-sitter UAV <NUM> to take off and land vertically on its own. For example, at a launch site, the tail-sitter UAV <NUM> may be positioned vertically (as shown) with its fins <NUM> and/or wings <NUM> resting on the ground and stabilizing the UAV <NUM> in the vertical position. The tail-sitter UAV <NUM> may then take off by operating its propellers <NUM> to generate an upward thrust (e.g., a thrust that is generally along the y-axis). Once at a suitable altitude, the tail-sitter UAV <NUM> may use its flaps <NUM> to reorient itself in a horizontal position, such that its fuselage <NUM> is closer to being aligned with the x-axis than the y-axis. Positioned horizontally, the propellers <NUM> may provide forward thrust so that the tail-sitter UAV <NUM> can fly in a similar manner as a typical airplane.

Many variations on the illustrated fixed-wing UAVs are possible. For instance, fixed-wing UAVs may include more or fewer propellers, and/or may utilize a ducted fan or multiple ducted fans for propulsion. Further, UAVs with more wings (e.g., an "x-wing" configuration with four wings), with fewer wings, or even with no wings, are also possible. As noted above, some embodiments may involve other types of UAVs, in addition to or in the alternative to fixed-wing UAVs. For instance, <FIG> shows an example of a rotorcraft that is commonly referred to as a multicopter UAV <NUM>. The UAV <NUM> may also be referred to as a quadcopter, as it includes four rotors <NUM>. It should be understood that example embodiments may involve a rotorcraft with more or fewer rotors than the UAV <NUM>. For example, a helicopter typically has two rotors. Other examples with three or more rotors are possible as well. Herein, the term "multicopter" refers to any rotorcraft having more than two rotors, and the term "helicopter" refers to rotorcraft having two rotors.

Referring to the UAV <NUM> in greater detail, the four rotors <NUM> provide propulsion and maneuverability for the UAV <NUM>. More specifically, each rotor <NUM> includes blades that are attached to a motor <NUM>. Configured as such, the rotors <NUM> may allow the UAV <NUM> to take off and land vertically, to maneuver in any direction, and/or to hover. Further, the pitch of the blades may be adjusted as a group and/or differentially, and may allow the UAV <NUM> to control its pitch, roll, yaw, and/or altitude.

It should be understood that references herein to an "unmanned" aerial vehicle or UAV can apply equally to autonomous and semi-autonomous aerial vehicles. In an autonomous implementation, all functionality of the aerial vehicle is automated; e.g., pre-programmed or controlled via real-time computer functionality that responds to input from various sensors and/or pre-determined information. In a semi-autonomous implementation, some functions of an aerial vehicle may be controlled by a operator, while other functions are carried out autonomously. Further, in some embodiments, a UAV may be configured to allow a remote operator to take over functions that can otherwise be controlled autonomously by the UAV. Yet further, a given type of function may be controlled remotely at one level of abstraction and performed autonomously at another level of abstraction. For example, a remote operator could control high level navigation decisions for a UAV, such as by specifying that the UAV should travel from one location to another (e.g., from a warehouse in a suburban area to a delivery address in a nearby city), while the UAV's navigation system autonomously controls more fine-grained navigation decisions, such as the specific route to take between the two locations, specific flight controls to achieve the route and avoid obstacles while navigating the route, and so on.

More generally, it should be understood that the various UAVs described herein are not intended to be limiting. Example embodiments may relate to, be implemented within, or take the form of any type of unmanned aerial vehicle.

<FIG> is an example functional diagram of a UAV <NUM> which may correspond to any of the UAVs of a fleet, group, or plurality of UAVs, including any of UAVs <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. In this example, the UAV <NUM> includes one or more computing devices <NUM> including one or more processors <NUM> and memory <NUM> storing data <NUM> and instructions <NUM>. Such processors, memories, data and instructions may be configured similarly to one or more processors <NUM>, memory <NUM>, data <NUM>, and instructions <NUM> of computing devices <NUM> discussed further below. In addition, the UAV <NUM> includes a flight control system <NUM>, a power system <NUM>, a plurality of sensors <NUM>, a communication system <NUM>, and a package delivery system <NUM>.

For any of the aforementioned example configurations of UAVs, each of the features of the motors, shafts, propellers, rotors, flaps, etc. may all be part of the flight control system <NUM>. Operation of the flight control system <NUM> may be controlled by the computing devices <NUM> in order to maneuver the UAV <NUM>, for instance, by controlling the altitude, pitch, speed, direction, etc. of the UAV.

The power system <NUM> may include at least one battery which can provide current to a motor in order to rotate a shaft for a propeller or pivot one or more flaps. Of course, two or more batteries may be useful in the event of an unexpected failure of one battery or to be able to increase the power to the motor or motors for short periods of time in order to accomplish the aforementioned flying maneuvers.

The plurality of sensors <NUM> may be located throughout the UAV <NUM> in order to generate data or sensor feedback from different locations and features of the UAV and forward this information to the computing devices <NUM>. In this regard, sensor feedback may refer to "raw sensor data" or data processed by the sensor or computing devices <NUM>. The plurality of sensors <NUM> may include sensors such as LIDAR, sonar, radar, cameras (still and/or video) which may include, e.g., optical or infrared imaging devices, an altimeter, an accelerometer, a gyroscope, GPS receiver, a humidity sensor, a speedometer, a wind speed sensor, propeller speed sensors (relative and absolute), etc. in order to enable the UAV to safely maneuver itself and to determine how and where to deliver a package. Thus, sensor feedback may include information generated by all or any of the plurality of sensors <NUM>.

The computing devices <NUM> may be configured to control the operation of the various systems of the UAV <NUM> in order to function as described herein. For instance, the computing devices <NUM> may use the data and instructions of memory <NUM> as well as feedback from some of the sensors to control the features of the flight control system <NUM> and power system <NUM> in order to follow a flight plan and deliver a package. In this regard, the instructions may allow the UAV <NUM> to operate autonomously or semi-autonomously using aerial maps and mission information stored the data of memory <NUM>.

The communication system <NUM> may include for instance, a network interface device, such as a transmitter and/or receiver which enables the UAV to communicate with other computing devices, such as computing devices <NUM>, MRU <NUM>, and/or other computing devices via a network, such as network <NUM> of <FIG>, which are discussed in detail below.

The package delivery system <NUM> may allow the UAV to physically complete delivery of a package. For instance, the package delivery system may include a winch, a cable, and a grabbing mechanism in order to grab, lift, lower, and release a package.

<FIG>, <FIG> depict views of an example MRU <NUM>, although other configurations may also be employed. MRU <NUM> may be generally circular in shape. Swivel wheels <NUM> and <NUM>, as shown in the side view of <FIG>, or located on a bottom surface <NUM> of the MRU <NUM>, may allow the MRU to move and rotate in different directions. The MRU may also include a receptacle area <NUM> for accepting packages as shown in the partially transparent side view of <FIG>. For reference, a package <NUM> is shown in receptacle area <NUM> in <FIG>. In addition, the receptacle area <NUM> may include a sensor <NUM> to allow a computing device of the MRU to confirm that a package was received in the receptacle area.

A top surface <NUM> of the MRU may include a plurality of hinged panels <NUM>-<NUM> that can pivot open to reveal the receptacle area and closed to cover the receptacle area. In this regard, each hinged panel may include a hinge <NUM> to allow for this pivoting motion. Although six hinged panels are show, any number of hinged panels or other structures, such as <NUM>, <NUM>, <NUM> or more or less may be used to open and close the top surface <NUM> of the MRU <NUM> in order to accept packages. <FIG> depicts a top down view of the MRU <NUM> with the hinged panels in a closed condition (such that the hinged panels are below a mesh material <NUM> represented by the shaded areas in <FIG> and discussed further below), <FIG> depicts a side view of the MRU while the hinged panels are in a closed condition (such that the hinged panels are behind the mesh material <NUM>), and <FIG> depicts a top down view of the MRU with the hinged panels in the open condition.

Between, or surrounding and connecting, the hinged panels may be a stretchable mesh material <NUM> in order to increase a likelihood of a package reaching the receptacle area <NUM>. The mesh material may be selected to be somewhat resilient (for instance, flexible while maintaining its shape), as well as durable, with high heat tolerance, and preferably low cost. As an example, the mesh material may be made of polyester, plastics, or other such materials suitable for mesh netting. The mesh material may increase the likelihood of a package making it into the receptacle area <NUM> by increasing the surface area where the package is "caught" by the hinged panels and thereby negating the effects of wind and the need for high-precision positioning of the package on the MRU. For instance, the angular position of each of the hinged panels <NUM>-<NUM> when fully extended to receive a package may form a sloping angle, or an angle of less than <NUM> degrees relative to the top surface <NUM> of the MRU. As such, if a package where to contact the mesh material and/or the panels, the sloping angle combined with gravity would guide the package downward and into the receptacle area <NUM>.

<FIG> is an example functional diagram of the MRU <NUM>. In this example, the MRU <NUM> includes one or more computing devices <NUM> including one or more processors <NUM> and memory <NUM> storing data <NUM> and instructions <NUM>. computing devices <NUM>. Such processors, memories, data and instructions may be configured similarly to one or more processors <NUM>, memory <NUM>, data <NUM>, and instructions <NUM> of computing devices <NUM> discussed further below. In addition, the MRU <NUM> includes a movement control system <NUM>, a power system <NUM>, a plurality of sensors <NUM>, a communication system <NUM>, and a package acceptance system <NUM>.

The movement control system <NUM> may include one or more wheels or tracks, motors, and steering features in order to allow the MRU to move around. Operation of the movement control system <NUM> may be controlled by the computing devices <NUM> in order to maneuver the MRU <NUM>, for instance, by controlling speed, heading, acceleration and deceleration. The power system <NUM> may include at least one battery which can provide current to the motor in order to control the movement of the MRU <NUM>.

The plurality of sensors <NUM> may be located throughout the MRU <NUM> in order to generate data or sensor feedback from different locations and features of the MRU and forward this information to the computing devices <NUM>. Again, sensor feedback may refer to "raw sensor data" or data processed by the sensor or computing devices <NUM>. The plurality of sensors <NUM> may include sensors such as LIDAR, sonar, radar, cameras (still and/or video), anemometer, accelerometer, gyroscope, GPS receiver, and speedometer, etc. in order to enable the MRU <NUM> to safely maneuver itself and to determine how and where to accept a package. Thus, sensor feedback may include information generated by all or any of the plurality of sensors <NUM>. While the sensors of the MRU may also include LIDAR, sonar, radar, cameras (still and/or video) to detect and identify obstacles, radar units may be sufficient to allow the MRU to detect obstacles while keeping costs of the MRU down.

The computing devices <NUM> may be configured to control the operation of the various systems of the MRU <NUM> in order to function as described herein. For instance, the computing devices <NUM> may use the data and instructions of memory <NUM> as well as feedback from some of the sensors to control the features of the movement control system <NUM> and power system <NUM> in order to follow maneuver the MRU in different directions. In this regard, the instructions may allow the UAV <NUM> to operate and recharge autonomously using maps and other information stored the data of memory <NUM>.

The communication system <NUM> may include for instance, a network interface device, such as a transmitter and/or receiver which enables the UAV to communicate with other computing devices, such as computing devices <NUM>, UAV <NUM>, and/or other computing devices via a network, such as network <NUM> discussed further below.

The package acceptance system <NUM> may allow the MRU to physically accept delivery of a package. For instance, the package delivery system may include the receptacle area <NUM> for accepting packages. As noted above, the receptacle area <NUM> may include a sensor <NUM> such as a pressure sensor or switch to allow the computing devices <NUM> of the MRU <NUM> to confirm that a package was received in the receptacle area.

<FIG> and <FIG> are functional and pictorial diagrams, respectively, of an example management system <NUM> for a group of UAVs. The management system <NUM> includes computing devices <NUM>, <NUM>, a group <NUM> of UAVs, here UAVs <NUM>, a plurality of the MRUs <NUM>, and a storage system <NUM> connected via a network <NUM>. Although only a few UAVs, MRUs, and computing devices are depicted for simplicity, a typical system may include significantly more, e.g., dozens or hundreds.

Computing devices <NUM> include one or more processors <NUM>, memory <NUM>, and other components typically present in general purpose computing devices. The memory <NUM> stores information accessible by the processor <NUM>, including instructions <NUM> and data <NUM> that may be executed or otherwise used by the processor <NUM>.

For example, the instructions may be stored as computing devices code on the computing device-readable medium. The instructions may be stored in object code format for direct processing by the processor, or in any other computing devices language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance.

For instance, although the claimed subject matter is not limited by any particular data structure, the data may be stored in computing devices registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files.

The processor <NUM> may be any conventional processors, such as commercially available CPUs. Alternatively, the one or more processors may be a dedicated device such as an ASIC or other hardware-based processor. Although <FIG> functionally illustrates the processor, memory, and other elements of computing devices <NUM> as being within the same block, it will be understood that the processor, computing device, or memory may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing. For example, memory may be a hard drive or other storage media located in a housing different from that of computing devices <NUM>. Accordingly, references to a processor or computing devices will be understood to include references to a collection of processors or computing devices or memories that may or may not operate in parallel.

Computing devices <NUM> may also include one or more wireless network connections to facilitate communication with other computing devices, such as the client computing device <NUM>, the computing devices <NUM> of the UAVs of the group as well as the computing devices <NUM> of the MRUs. As an example, the computing devices <NUM> may receive information from the UAVs of the group and send instructions to the UAVs as discussed further below. The wireless network connections may include short range communication protocols such as Bluetooth, Bluetooth low energy (LE), cellular connections, as well as various configurations and protocols including the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.

In one example, one or more computing devices <NUM> may include one or more server computing devices having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices. For instance, one or more computing devices <NUM> may include one or more server computing devices that are capable of communicating with the computing device <NUM> as well as computing devices of group of UAVs <NUM> via the network <NUM>. For example, any of UAVs <NUM>, <NUM>, <NUM>, <NUM>, <NUM> (<FIG>) may be a part of the group of UAVs <NUM>, the operation of which may be determined and controlled by the server computing devices. In this regard, the server computing devices <NUM> may function as a management system for the group of UAVs.

As such, the server computing devices <NUM> may be configured to generate and assign missions to the group of UAVs <NUM>. Each mission may include a flight plan may include a path identifying where the UAV should fly as well as corresponding maneuvers, such as changing directions, hovering, etc. Each mission may also include one or more tasks, such as picking up or delivering payloads or packages. In addition, the UAVs of the group of UAVs may periodically send the server computing devices information relating to the status of the UAVs discussed further below, and the one or more server computing devices may use to update or change the information of the storage system <NUM>.

In addition, server computing devices <NUM> may use network <NUM> to transmit and present information to a operator, such as operator <NUM> on a display, such as displays <NUM> of computing device <NUM>. In this regard, computing device <NUM> may be considered client computing device. Again, although only a single client computing devices is shown, the system <NUM> may include many more.

As shown in <FIG>, client computing device <NUM> may be a personal computing devices intended for use by a operator <NUM> and have all of the components normally used in connection with a personal computing devices including one or more processors (e.g., a central processing unit (CPU)), memory (e.g., RAM and internal hard drives) storing data and instructions, a display such as display <NUM> (e.g., a monitor having a screen, a touch-screen, a projector, a television, or other device that is operable to display information), user inputs <NUM> (e.g., a mouse, keyboard, touchscreen or microphone), speakers, a network interface device, and all of the components used for connecting these elements to one another. In some examples, client computing device <NUM> may be a work station used by an administrator or operator to access and/or manipulate information for the group of UAVs <NUM>. Again, such processors, memories, data and instructions of the client computing device <NUM> may be configured similarly to one or more processors <NUM>, memory <NUM>, instructions <NUM>, and data <NUM> of computing devices <NUM>.

Although the client computing device <NUM> may be a full-sized personal computing device, it may alternatively be a mobile computing device capable of wirelessly exchanging data with a server over a network such as the Internet. By way of example only, client computing device <NUM> may be a mobile phone or a device such as a wireless-enabled PDA or cellular phone, a tablet PC, a wearable computing device or system, or a netbook that is capable of obtaining information via the Internet or other networks. In another example, client computing device <NUM> may be a wearable computing system, such as a wristwatch or head-mounted computer. As an example the user may input information using a small keyboard, a keypad, microphone, using visual signals with a camera, or a touch screen.

As with memory <NUM>, storage system <NUM> can be of any type of computerized storage capable of storing information accessible by the server computing devices <NUM>, such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories. In addition, storage system <NUM> may include a distributed storage system where data is stored on a plurality of different storage devices which may be physically located at the same or different geographic locations. Storage system <NUM> may be connected to the computing devices via the network <NUM> as shown in <FIG>, and/or may be directly connected to or incorporated into any of the computing devices <NUM> or <NUM> or the computing devices of the group of UAVs <NUM>.

Storage system <NUM> may store various types of information as described in more detail below. This information may be retrieved or otherwise accessed by a server computing device, such as one or more server computing devices <NUM>, in order to perform some or all of the features described herein. For instance, the storage system <NUM> may store data, such as status information for each UAV of the group of UAVs, aerial maps, outstanding deliveries (i.e., package locations and destinations), recipient preferences, and maps and/or grids as discussed further below that can be used to coordinate deliveries.

<FIG> are example flow diagrams of aspects of the disclosure discussed further below. As shown in the flow diagram, the operations of the blocks may be performed by one or more processors of one or more computing devices, including, for instances, the computing devices <NUM>, the computing devices <NUM>, server computing devices <NUM>, and client computing device <NUM>. In addition, various of the operations may be performed at the same time or in a different order.

Before a package can be delivered, a recipient (or another operator) may set up a delivery area using a map via an application for the delivery system on a computing device. Thus, the delivery areas for recipients at particular addresses or locations may be pre-determined. For instance, the operator <NUM> may use the computing device <NUM> to download an application. Thereafter, the operator <NUM> may access the application in order to view a map of a delivery area for the operator. For instance, as shown in block <NUM> of <FIG>, the client computing device <NUM> may request a map of the delivery area from the server computing devices <NUM>. For instance, the request may include information identify an address or geographic area corresponding to the delivery area. The server computing devices may receive the request, retrieve the map from storage system <NUM> using the information in the request, and provide the map to the client computing device at blocks <NUM> and <NUM>. Then at blocks <NUM> and <NUM>, the client computing device <NUM> may receive and display the map, such as the map <NUM> of <FIG>, on the display <NUM> of the client computing device <NUM>.

Turning to <FIG>, the map <NUM> includes a view of a residential home <NUM>, a driveway <NUM>, a patio <NUM>, a pool <NUM>, a shed <NUM>, a tree <NUM> as well as a plurality of shrubs <NUM>, <NUM>, <NUM>, <NUM> or other vegetation. As shown in the example of <FIG>, the map <NUM> may be an aerial map of the delivery area, such as those available from typical mapping services. Alternatively, the map may be a map generated by allowing an MRU, such as MRU <NUM>, to maneuver itself around the delivery zone (e.g., the recipient's back yard) or a series of satellite or aerial images captured by a UAV, such as UAV <NUM>, flying over the area using a camera of the plurality of sensors <NUM>.

As shown in block <NUM> of <FIG>, client computing device <NUM> (and/or the server computing device <NUM>) may add, generate, or otherwise convert the map to a grid including a plurality of cells and display the grid. For instance, <FIG> represents a grid <NUM> overlaid on the map <NUM>. Grid <NUM> includes a plurality of cells <NUM>, <NUM>. Each cell may include a respective identifier unique to that cell and may be sized to correspond to an acceptable delivery area, such as <NUM> feet by <NUM> feet if a catch area of the MRU is <NUM> feet by <NUM> feet. Of course, other smaller or larger grid cells may be used to increase the flexibility of the delivery system.

The recipient (or other operator) may use the client computing device <NUM> to designate specific grid cells as appropriate or not appropriate for delivery. In other words, as shown in block <NUM> of <FIG>, the client computing device <NUM> may receive user input at the user inputs <NUM> one or more grid cells as appropriate for delivery and/or one or more grid cells as not appropriate for delivery. For instance, referring to <FIG>, shaded grid cells <NUM>, <NUM>, and <NUM> of grid <NUM> may represent areas that have been designated as not appropriate for delivery, and all other cells of the grid may be designated as appropriate for delivery. In this regard, grid <NUM> represents the grid <NUM> that also identifies cells that are designated as appropriate or not appropriate for delivery.

The granularity of these designations may be such that the recipient may flag features of certain cells. For instance, cells <NUM> may be flagged as "pool" or cells corresponding to the patio <NUM> may be flagged as "patio. " This may allow the recipient to identify particular preferences such as "not near the pool" or "only on the patio. " In some instances, the recipient may also identify which cells or areas are preferred and which are less preferred for deliveries. In addition or alternatively, the client computing device <NUM> may receive user input, again for instance via user inputs <NUM>, identifying one or more recipient preferences. For instance, the recipient may identify preferences as a hierarchical list of locations and/or rules, such as: "If spot X is occupied, deliver to spot Y, if spot Y is occupied, deliver to spot Z, if my MRU cannot reach any of these spots, do not deliver or try again tomorrow, or notify me that there is a problem.

The recipient may also use the client computing device to designate a storage area where the MRU is able to securely park itself once a package has been delivered by the UAV. For instance, as shown in block <NUM> of <FIG>, the client computing device may receive user input, again at the user inputs <NUM>, selecting, identifying or otherwise designating a cell of the grid as a storage area. For instance, returning to <FIG>, cell <NUM> may be designated as a storage area. As such, designation may be effected via the application (by identifying a particular grid cell). In addition or alternatively, this designation may be affected by placing some feature corresponding to the storage area, such as a pad, a lockable housing structure (which the MRU is able to unlock via a signal or physical action), etc. In this regard, the storage area may allow for storing the MRU before and/or after a package is delivered to the MRU. Because the recipient is able to control the location of the storage area, he or she may select a location according to his or her own preferences such as an open area, as in the example of the area of grid cell <NUM>, or in a secure area such as under a deck, within a shed, within a garage, in a house through a pet door, etc..

Once the storage area is designated, the client computing device <NUM> may send the map and/or grid, including any designations, and recipient preferences to the server computing devices <NUM> as well as the computing devices <NUM> of the MRU <NUM> as shown in blocks <NUM><NUM>, <NUM> of <FIG>. At block <NUM>, the server computing devices may store this information in storage system <NUM>, and relayed to the MRU <NUM> if not sent by the client computing device <NUM>, as shown at block <NUM>. Also, as shown in block <NUM>, the MRU may store the information in data <NUM>.

The recipient (or other operator) may place the MRU <NUM> at the storage area and allowing the computing devices <NUM> to move the MRU through the space around area. This movement may allow the computing devices <NUM> collect sensor feedback in the delivery area and thereby to identify grid cells of map through which the MRU is able to maneuver and/or accept packages. Thus, as shown in block <NUM>, the MRU may perform supplemental mapping and update the grid as needed. This supplementary mapping may be performed periodically, such as at a timeframe set by the recipient (or other operator), or in response to a notification that a delivery is expected. As such, the MRU <NUM> may perform supplementary mapping to identify any changes to the landscape which would prevent the MRU from reaching a grid cell designated for delivery. Such changes may include for instance, a fallen tree, lawn mower, toys, piles of leaves or debris, or other obstacle. For instance, as shown in <FIG>, grid cell <NUM> is now blocked by an obstacle <NUM> which was not present at the time that the grid cells were initially designated.

Turning to <FIG> at block <NUM>, once a delivery is going to occur, the server computing devices <NUM> may send instructions to dispatch a UAV of the group of UAVs, such as a UAV <NUM>, to pick up a package and deliver it to a recipient at a particular delivery area. The computing devices <NUM> of the UAV <NUM> may also be provided with the grid, designations, and recipient preferences for the delivery area as well as information necessary to communicate with the MRU <NUM> as discussed further below. At block <NUM>, the computing devices <NUM> may receive the dispatch instructions including the grid <NUM> and information identify which grid cells of the grid are appropriate or not appropriate for delivery as well as any recipient preferences. The computing devices <NUM> may use the dispatch instructions to maneuver the UAV <NUM> to the delivery area as at block <NUM>.

The server computing devices <NUM> may also send a notification to the recipient via the application and/or the MRU <NUM>, though the MRU need not be provided which such information prior to a delivery. However, the notification may allow the recipient to place the MRU <NUM> outside or in an appropriate location and/or allow the MRU to maneuver itself to an appropriate location.

As shown in block <NUM>, the computing devices <NUM> of the MRU may identify grid cells appropriate for a delivery. This may include a multi-step process where the computing devices <NUM> identify a first set of grid cells using any preferences identified by the recipient (or other operator) as discussed above. For instance, as shown in grid <NUM> of <FIG>, a first set of grid cells, corresponding to the non-shaded grid cells of grid <NUM>, may be determined based on the areas designated not appropriate or appropriate for delivery as shown in <FIG>.

Next, at block <NUM> of <FIG>, this first set of grid cells may be filtered or otherwise used to determine a second set of grid cells corresponding to cells where the MRU <NUM> is able to reach. For instance, as shown in grid <NUM> of <FIG>, because the MRU <NUM> is not able to traverse through patio furniture on the patio <NUM>, through a trunk of tree <NUM>, through shrubs <NUM>, <NUM>, <NUM> and through obstacle <NUM> of grid cell <NUM>, such grid cells of grid <NUM> are depicted as shaded to indicate that those cells are not reachable by the MRU. In this regard, the non-shaded grid cells of grid <NUM> are the second set of grid cells each of which correspond to grid cells appropriate to accept delivery by the MRU <NUM>.

Returning to <FIG>, at block <NUM>, as the UAV <NUM> approaches and/or is over the delivery area, the plurality of sensors <NUM> may capture sensor feedback for the delivery area using the plurality of sensors <NUM>. Given the nature of the information required for a delivery, the UAV <NUM> need not capture and/or store any data from beyond the delivery area for safety and privacy reasons. At block <NUM>, the computing devices <NUM> may use the sensor feedback to identify grid cells of the grid <NUM> having locations that would be appropriate for delivery of a package, for instance, based on whether there are nearby objects, such as trees, garages, sheds, or other structures, which may make delivering a package to the location of that grid cell more or less difficult. This may also include identifying and monitoring non-static objects that may affect delivery, such as a lawn mower or an active dog. For instance, as shown in <FIG>, grid <NUM> includes shaded cells around the entire area of tree <NUM> as well as near the residential house <NUM> as these objects may create obstacles for the UAV <NUM> even where the UAV would only need to fly within some small distance, such as <NUM> feet or more or less, next to those objects and not necessarily over those objects.

At the same time, as shown in block <NUM> of <FIG>, the UAV may attempt to communicate with the MRU, for instance, via the network <NUM>. For instance, computing devices <NUM> may attempt use communication system <NUM> to communicate with the computing devices <NUM> via the communication system <NUM>. In some instances, this may include some authentication processes, such as a typical encrypted token, key or password exchange. In addition or alternatively, a proximity-based approach, where only a UAV within a certain sensory radius of an MRU should activate the authentication process with that MRU, may be used. As another example, the computing devices <NUM> of the UAV <NUM> may attempt to access a nearby local wireless network, such as a home or business network of the recipient, for instance, using a one-time encrypted authentication code to communicate with the MRU. In addition or alternatively, the computing devices <NUM> of the UAV <NUM> may directly (or via the server computing devices) sending a notification to a recipient's client computing devices where the recipient or other user may be allowed to approve or deny the delivery request.

In response to the establishment of the communication link at block <NUM> of <FIG>, the computing devices <NUM> of the MRU <NUM> may send the map and grid cells or simply the identifiers for the identified grid cells appropriate for delivery (i.e. the second set) to the computing devices of the UAV as shown in block <NUM>. For instance, the non-shaded cells of grid <NUM> of <FIG> may be sent by the computing devices <NUM> to the computing devices <NUM> via communication systems <NUM> and <NUM>.

The computing devices <NUM> of the UAV <NUM> may then receive and compare the grid cells identified by the UAV's computing devices with those identified by the computing devices <NUM> of the MRU <NUM> in order to identify a common grid cell for the delivery as at blocks <NUM> and <NUM> of <FIG> and <FIG>. <FIG> represents a comparison grid <NUM> of non-shaded cells between grid <NUM> and grid <NUM>. In some instances, where there is more than one such grid cell, the computing devices <NUM> may use any recipient preferences to identify a common grid cell for the delivery. For instance, if there is a recipient preference that the delivery be attempted as close far from the patio as possible, grid cell A may be selected. If there is a recipient preference that the delivery be attempted as close as possible to the patio, but not on the patio, grid cell B may be selected.

As an alternative, the server computing devices <NUM>, for instance when dispatching the UAV <NUM>, may provide the UAV with information identifying the grid cells designated by the recipient (or other operator) for delivery. In this regard, in addition to or rather than having the MRU use this information to identify cells or areas appropriate for delivery, the UAV may also identify the grid cells appropriate for delivery for the UAV using this information.

In addition or alternatively, the computing devices <NUM> of the MRU <NUM> may rank the identified grid cells appropriate for delivery based on proximity to the storage area, ease or time reaching from the current location of the MRU, ease of returning to the storage area from the location of the grid cell, etc. As such, the computing devices <NUM> of the UAV <NUM> may select a highest ranking grid cell which corresponds to a grid cell identified by the UAV's computing devices for the delivery. Similarly, the computing devices <NUM> of the UAV <NUM> may rank the identified grid cells appropriate for delivery based on whether there are nearby objects, such as trees, garages, sheds, or other structures, which may make delivering a package to the location of that grid cell more or less difficult. The computing devices <NUM> may select a highest ranking grid cell which corresponds to a grid cell identified by the computing devices of the MRU. In yet another instance, both the computing devices <NUM> of the UAV <NUM> and the computing devices <NUM> of the MRU <NUM> may rank identified grid cells, and the computing devices of the UAV may identify the highest ranking common grid cell for the delivery.

Once a grid cell for the delivery has been identified, this corresponding identifier for that grid cell may be sent to the computing devices <NUM> of the MRU <NUM> as shown in block <NUM> of <FIG>. For instance, the identifiers for grid cells A or B (depending upon which grid cell is selected) may be sent to the computing devices <NUM>. In response to receiving the identifier at block <NUM>, the computing devices <NUM> may maneuver the MRU <NUM> to the location of the grid cell corresponding to the received identifier as shown in block <NUM>. After the location is reached, as in block <NUM>, the hinged panels <NUM>-<NUM> may be opened as shown in <FIG> and <FIG> in order to reveal the receptacle area <NUM> and prepare for the delivery. Immediately before or after this, the computing devices <NUM> of the MRU <NUM> may also send a notification to the computing devices <NUM> of the UAV <NUM> indicating that the MRU is ready for the delivery.

The computing devices <NUM> may also maneuver the UAV <NUM> to a delivery position, for instance directly overhead of and within some predetermined distance of the area of the identified grid cell as at block <NUM> of <FIG>. Once the computing devices <NUM> of the UAV <NUM> has maneuvered the UAV in place relative to the identified grid cell in order to attempt the delivery, the UAV may lower a cable of the package delivery system <NUM> with an attached package towards the receptacle area <NUM> in order to attempt delivery as at block <NUM>. Once the package has reached the receptacle area <NUM>, the computing devices <NUM> of the UAV <NUM> may use the package delivery system <NUM> to release the package from the cable and retract the cable.

Additional communications between the computing devices of the UAV and MRU may further facilitate delivery and allow the computing devices <NUM> of the UAV <NUM> to confirm the delivery as at block <NUM>. For instance, the placement of the package within the receptacle area <NUM> may be confirmed by activation of the sensor <NUM> which may send a signal to the computing devices <NUM> of the MRU <NUM> allowing the computing devices of the MRU to confirm delivery as at block <NUM>. In some examples, before the UAV is able or permitted to leave, the computing devices <NUM> of the MRU <NUM> may send a confirmation to the computing devices <NUM> of the UAV <NUM> indicating that the delivery was successful. In addition or alternatively, the UAV may be equipped with a camera or video recorder, for instance as part of the plurality of sensors <NUM>, configured to capture the moment of a successful delivery in order to log the delivery and provide test images or video recording the function of the MRU <NUM>. Thereafter, the computing devices <NUM> may maneuver the UAV <NUM> to another location as at block <NUM>, for instance using additional instructions from the server computing devices <NUM> in order to pick up another package for deliver or effect another delivery. At block <NUM>, the computing devices <NUM> may also use the package acceptance system <NUM> to pivot close the hinged panels <NUM>-<NUM> as shown in <FIG>. The computing devices <NUM> may then use the map to maneuver the MRU to the storage area as at block <NUM> of <FIG>.

After reaching the storage area, for instance, grid cell <NUM>, a notification indicating that a package has been delivered and is located in the storage area may be sent to the recipient. The notification may be sent via text message, email, a notification via the application, or a separate notification unit (for instance, a box that lights up and/or provides an audible notification in response to receiving a signal via Bluetooth, NFC, <NUM>, LTE, other communications network or protocol that a package has been delivered and is located in the storage area and/or that the MRU is in the storage area) over network <NUM>. This notification may be initiated by the computing devices <NUM> of the MRU <NUM>, a transmitter within the storage area (for instance, reacting in response to a signal from a pressure sensor, switch or other device that can confirm the location of the MRU in the storage area), and/or in response to the backend server computing devices receiving a corresponding notification from the computing devices of the MRU and/or the computing devices <NUM> of the UAV <NUM>.

In some instances, the computing devices <NUM> of the MRU <NUM> may direct the MRU to a charging station at fixed time intervals, or when battery power goes below some predetermined level, such as <NUM>% of capacity or more or less). In such cases, the recipient may be notified at a client computing device, such as client computing device <NUM>, via the via text message, email, or a notification via the application if the MRU <NUM> is unable to reach the charging station, or has gone below some lower predetermined level, such as <NUM>% of capacity or more or less, such that the MRU is unable to reach the charging station. This may allow the recipient to intervene and unblock or charge the MRU <NUM>.

In some instances, the MRU may be unable to reach the storage area. This may be because the storage area has become obstructed for some other reasons. To address such circumstances, a secondary and tertiary option for the MRU to go to may also be provided or otherwise designated by an operator. If such additional options become unavailable or unreachable, the MRU may be controlled in order to maneuver itself to an area that is sheltered as determined by the plurality of sensors <NUM>. For instance, a photoresistor (light detecting resistor), a humidity or other water detection sensor, and a thermometer or other heat sensor could be used to direct the MRU to a place that is not in direct sunlight or in other words exposed to the elements, not wet or damp, or too hot.

In situations in which the computing devices <NUM> of the UAV <NUM> are unable to establish communication with the computing devices <NUM> of the MRU <NUM> to complete a delivery, such as where the computing devices of the UAV initiate the protocol to connect with the computing devices of the MRU one or more times without success, the recipient may receive a notification indicating that attempted delivery is in progress but the MRU is non responsive. If the recipient confirms receiving the notification within some threshold period of time, such as <NUM> seconds or more or less (for instance by clicking a button saying 'I will check the MRU now'), the UAV <NUM> may fall back to a safe holding location, such as the storage location, while the recipient (or another person) enters the delivery area to check the MRU. Once the recipient addresses the MRU and ensures that the MRU is connected to the network <NUM> and in working order, the recipient may request for the UAV to retry the delivery. The computing devices <NUM> of the UAV <NUM> may then again attempt to initiate the communication with the computing devices <NUM> of the MRU <NUM> via communication system <NUM>.

In some instances, weather conditions, such as wind can affect the delivery conditions. As such, the UAV may also include an anemometer to determine wind speed and direction. In addition, one or more anemometers may be placed around the delivery area with transmitters for sending information to the computing devices of the UAV and/or, as noted above, the plurality of sensors <NUM> of the MRU <NUM> may also include an anemometer which provides sensor feedback to the computing devices <NUM> which can also use the communication system <NUM> send this information to the computing devices <NUM> of the UAV <NUM>. For instance, referring to <FIG>, rather than being positioned directly above the MRU <NUM> at the area <NUM> corresponding to the identified grid cell, the computing devices <NUM> of the UAV <NUM> may position itself at some offset angle Θ in order to account for wind (using measurements from both the an anemometer of the UAV and an anemometer of the MRU) pushing the package in the direction of arrows <NUM> representing the wind. Using information from one or more anemometer as well as weight information for the package, the computing devices <NUM> of the UAV <NUM> may determine how to position the UAV relative to the location of the identified cell in order to allow the wind to move the package over the receptacle area <NUM> and thereby deliver the package to the receptacle area.

In addition or alternatively, the computing devices <NUM> of the UAV <NUM> may provide the sensor feedback from the plurality of sensors <NUM> to the computing devices <NUM> of the MRU <NUM> in order to assist the MRU in maneuvering through the delivery area. For instance, the computing devices <NUM> of the MRU <NUM> may receive images, LIDAR information, or other sensor data (raw or processed). Alternatively, rather than sending sensor data, the computing devices <NUM> of the UAV <NUM> may provide a path for the MRU to follow from the identified grid cell through the delivery area in order to most efficiently reach the storage area. For instance, as shown in <FIG>, UAV <NUM> may provide the MRU with path <NUM> from grid cell A (where the MRU and UAV have or will attempt delivery) to the area of grid cell corresponding <NUM> to the storage area. In such cases, the identification of a grid cell for delivery may be performed by the computing devices <NUM> of the UAV <NUM> without any assistance (receiving identifiers) from the computing devices <NUM> of the MRU <NUM>.

Although the MRU is described as purely terrestrial, in some instances, the MRU may also be capable of flight. For instance, the MRU may also be a UAV, though somewhat smaller and less sophisticated than the UAV <NUM> for cost savings, for instance, a low-flying UAV capable bringing a package to the delivery area according to any of the recipient's preference.

In addition, although the examples provided relate to outdoor residential deliveries, the features described herein may be appropriate for any number of delivery circumstances. For instance, such deliveries may also be made in warehouses, industrial areas, corporate areas, and other settings.

Claim 1:
A delivery system comprising:
a mobile receptacle unit (<NUM>), MRU, and
an unmanned aerial vehicle, UAV, (<NUM>; <NUM>; <NUM>; <NUM>; <NUM>; <NUM>) having one or more computing devices (<NUM>) configured to:
receive sensor data for a predetermined delivery area;
use the sensor data to identify one or more grid cells of a grid (<NUM>) corresponding to a map of the predetermined delivery area, the identified one or more grid cells corresponding to locations acceptable for delivery by the UAV;
receive, from the MRU, information identifying a set of grid cells of the grid identified by the MRU as being acceptable for delivery;
determine a delivery location by identifying a common grid cell between the identified one or more grid cells and the set of grid cells received from the MRU; and
send the common grid cell to the MRU to instruct the MRU to maneuver to the common grid cell in order to attempt a delivery of a package at the delivery location.