Weather based object protection using drones

A tool for protecting outdoor objects from weather related damage. Responsive to a registration request, the tool registers an object and an originating location where the object is currently located. The tool determines whether a risk threshold for the object is exceeded based, at least in part, on weather conditions at the originating location. Responsive to a determination that the risk threshold for the object is exceeded, the tool instructs one or more drones to relocate the object from an originating location to a protected location that is protected from the weather conditions.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of automated services, and more particularly to safeguarding objects from weather.

Drones come in multiple varieties. Some of these drones roll and walk over terrain while others fly through the sky via propellers and rotors, such as quadcopter drones. Many drones are electrically powered through rechargeable battery packs mounted to the drones. Specialized equipment can be mounted on drones such as video cameras, robotic grasping claws, hooks, fire suppressant distribution systems, enabling many useful applications such as fighting forest fires, capturing video footage, or delivering packages. Drones may also come equipped with elements of a computer including processors, memory, and wireless network adapters. Equipped computer elements enable drones to communicate with other networked computers and drones to perform coordinated tasks, such as joint flight maneuvers, or to fly without manual-human control directing the movement of a drone.

State of the art computing techniques enable what is known as computer image processing, where algorithms analyze image data to identify and categorize objects in captured images and video. Examples of this include face identification in digital cameras, security retinal scanners, superimposed graphics on smartphone photography applications, and other augmented reality technologies. Each of the above examples identify useful information within visual data.

SUMMARY

Aspects of an embodiment of the present invention disclose a method, a computer program product, and a computer system for controlling robotic devices to transport objects based, at least in part, on various weather conditions. Responsive to receiving a registration request, the method includes registering, by one or more computer processors, an object and an originating location where the object is currently located. The method includes determining, by the one or more computer processors, whether a risk threshold for the object is exceeded based, at least in part, on a plurality of weather conditions at the originating location. Responsive to a determination that the risk threshold for the object is exceeded, the method includes instructing, by the one or more computer processors, one or more drones to move the object from the originating location to a protected location that is protected from the weather conditions.

DETAILED DESCRIPTION

FIG. 1is a functional block diagram illustrating an autonomous drone control environment, generally designated100, in accordance with one embodiment of the present invention. The term “autonomous” as used in this specification describes the operation of remote robotic devices with little to no human intervention during operation. The term “drone” as used in this specification refers to unmanned aerial vehicles, airborne drone devices such as a “quadcopter,” and ground based robotic devices operated by wireless networked communications.FIG. 1provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.FIG. 1includes command center102, network106, drone108, weather data sources116, client computer118, and client sensor120.

In one embodiment, command center102is a networked computer, and may be, for example, a server computer, a desktop computer, a laptop computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a thin client or any other electronic device or computing system capable of communicating with drone108, weather data sources116, and client computer118. For example, client computer118might be a desktop computer capable of connecting to a network, such as network106, to submit one or more registration requests to drone control program104located in the memory of command center102, which might be a server computer connected to client computer118through a network, such as network106.

In one embodiment, drone control program104is a software program stored within command center102. In one embodiment, drone control program104maintains a list of registered objects to protect from predicted damaging weather conditions. In one embodiment, drone control program104receives a registered object profile from client computer118, where received registered object profile may include images of an object, weight of the object, volume of the object defined by a length, width and height dimension, a list of weather condition information including a type and severity of weather conditions likely to damage the object, acceptable percentage chance of a weather condition occurring before drone control program engages protection measures for the object, comparable objects that would likely sustain damage during similar weather conditions, a storage location for the object, an originating location for the, and how soon protection measures should be engaged before an impending weather condition likely occurs. In one embodiment, where drone control program104has a list of weather condition information for one or more comparable objects, drone control program104determines a breakability score for various weather conditions measuring how likely a registered object is to break during a weather event by comparing a list of weather event information for the object and a list of weather event information for one or more comparable objects. In one embodiment, drone control program104generates a list of weather condition information for one or more comparable objects by monitoring external data sources for reports of damage of comparable objects and recorded weather conditions at a date and time of a report. In one embodiment, drone control program104monitors weather data sources116over network106for weather condition data at an originating location. In one embodiment, drone control program104determines whether monitored weather condition data indicates the registered object requires protection from a weather condition. In one embodiment, drone control program104dispatches drones to identify the registered object and confirm presence of the registered object at the originating location. In one embodiment, drone control program104dispatches drones to confirm a location and storage capacity of a storage location. A storage location (also sometimes herein referred to as a “protected location”) is any that: (i) is sized and shaped to be capable of accommodating an associated object; (ii) is accessible to be entered by the object when being transported by drones; and (iii) is reasonably likely to protect the object from undue wear or damage due to weather conditions likely to be encountered in vicinity of the object's originating location. In one embodiment, drone control program104determines a number and type of drones to relocate the registered object to the storage location. In one embodiment, drone control program104instructs a drone to relocate the registered object to the storage location. In another embodiment, drone control program104instructs a plurality of drones to relocate the registered object to the storage location. In one embodiment, drone control program104monitors weather data sources116over network106for weather condition data indicating an abatement of weather events matching one or more breakability scores for the registered object. In one embodiment, responsive to monitored weather condition data indicating an abatement of damaging weather conditions at the originating location and the storage location, drone control program104relocates the registered object from the storage location to the originating location. In one embodiment, drone control program104may retain the registered object at the storage location for a pre-defined period of time. In one embodiment, drone control program104updates an analysis regarding whether a weather condition induces damage to the registered object by recording weather condition data for a weather condition and whether the registered object sustained damage during the weather condition.

In one embodiment, network106is the Internet representing a worldwide collection of networks and gateways that use TCP/IP protocols to communicate with one another. Network106may include wire cables, wireless communication links, fiber optic cables, routers, switches and/or firewalls. Command center102, drone108, weather data sources116, client computer118, and client sensor120are interconnected by network106. Network106can be any combination of connections and protocols capable of supporting communications between command center102, drone108, weather data sources116, and client computer118. Network106may also be implemented as a number of different types of networks, such as an intranet, a local area network (LAN), a virtual local area network (VLAN), or a wide area network (WAN). In another embodiment, network106may rely on transmitting and receiving radio waves for communication between command center102and drone108. In another embodiment, a network such as network106supports communications between client computer118and client sensor120.FIG. 1is intended as an example and not as an architectural limitation for the different embodiments.

In one embodiment, drone108is a quadcopter drone including a camera, an object grasping mechanism, and a drone control agent. In one embodiment, drone108may represent a plurality of drones connected to command center102through network106. In one embodiment, drone108may represent a plurality of different autonomous robotic vehicles including ground and aerial varieties. In one embodiment, drone108includes weather sensors for measuring local weather conditions. For example, where drone108includes weather sensors, drone108records atmospheric pressure, temperature and humidity to memory in drone control agent114for transmission to command center102. In one embodiment, drone108includes camera110, grasping mechanism112, and drone control agent114.

In one embodiment, camera110may be a video recording device operationally connected to drone108. In one embodiment, camera110is a camera configured to record a continuous video stream. In one embodiment, camera110records video data in the IR spectrum.

In one embodiment, grasping mechanism112may be a rubberized hook. In one embodiment, grasping mechanism112may be a motorized robotic claw capable of opening and closing to grasp objects of varying shapes and sizes.

In one embodiment, drone control agent114is a software program that interfaces drone hardware with a drone control program. In one embodiment, drone control agent114includes firmware program instructions for operating drone108. In one embodiment, drone control agent114includes program instructions for operating drone108responsive to instructions from command center102. For example, where command center102instructs drone108to fly from a home location to a target location and drone108is a quadcopter drone, drone control agent114operates the rotors of drone108to move drone108to the target location. In one embodiment, drone control agent114operates drone108in a coordinated manner with one or more drones, such as drone108, to transport a registered object with a mass greater than what an individual drone108can lift. For example, where drone108is a quadcopter drone capable of lifting objects weighing up to 25 pounds, and a registered object weighs 40 pounds, in one embodiment two drone108jointly grasp the registered object and cooperatively transport the registered object to a safe location. In one embodiment, drone control agent114transmits registered object data to command center102through network106. In one embodiment, drone control agent114transmits weather condition data to command center102. In one embodiment, responsive to not locating a registered object at a designated location, drone control agent114operates drone108to search for the registered object near the designated location.

In one embodiment, weather data sources116includes a computing system connected to command center102and may be, for example, a server computer, a desktop computer, a laptop computer, a tablet computer, a smart phone, a personal digital assistant, a thin client or any other electronic device or computing system capable of analyzing raw weather data and outputting weather condition predictions based on current and historical weather data. In one embodiment, weather data sources116includes packaged weather information from a weather service that includes a type and severity of a weather condition predicted to occur, what time the weather condition is predicted to begin, a percentage of confidence in the weather condition occurring, and a time when the weather condition is expected to cease. Types of weather conditions can include rain, snow, hail, wind, and lightning, as well as more severe weather conditions such as floods, tornadoes, and hurricanes.

In one embodiment, client computer118is a client connected to command center102and may be, for example, a server computer, a desktop computer, a laptop computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a thin client or any other electronic device or computing system capable of communicating with command center102. For example, client computer118might be a desktop computer capable of connecting to a network, such as network106, to submit one or more object registration requests to drone control program104, in the memory of command center102.

In one embodiment, client sensor120may be a motion detector, a video camera, or a GPS transmitter. In another embodiment, client sensor120may communicate with command center120through network106. In another embodiment, client sensor120may communicate with drone108through network106.

FIG. 2depicts a flowchart of operational steps of an autonomous drone control program, such as drone control program104ofFIG. 1, generally designated200, for operating one or more drones, such as drone108, to transport objects to a safe location responsive to weather conditions, in accordance with an embodiment of the present invention.

Drone control program104registers an object (202). In one embodiment, responsive to receiving a registration request for an object, drone control program104registers the object. In one embodiment, the registration request includes identifying information for the object, a weight measurement of an object, a volume measurement of the object defined by a length, width and height, a list of weather condition information including type and severity of one or more weather conditions, comparable objects, accepted risk threshold, timing of relocation, and ordered preferred storage locations. In one embodiment, identifying information for the object may include one or more images of the object or an RFID signature of the object. In one embodiment, where drone control program104receives a registration request including a list of weather condition information, the list of weather condition information includes entries for one or more weather conditions including a type and severity of a weather condition. In one embodiment, an accepted risk threshold is a pre-defined percentage threshold value representing an accepted chance of occurrence of a weather condition capable of damaging the object. For example, where drone control program104receives a registration request including a list of weather condition information, the list of weather condition information includes an entry that includes wind as a type of weather condition and twenty miles per hour as a measure of severity of a weather condition before an object sustains damage from a weather condition. In an additional example, a list of weather condition information includes an entry for rain as a type of weather condition and one inch per hour as a measure of severity. In one embodiment, drone control program104defines an originating location as a location where a registered object typically resides and a storage location as a location where drone control program104stores an object. In one embodiment, responsive to receiving a registration request, drone control program104creates a registered object profile including information received in the registration request. In one embodiment, drone control program104creates one or more breakability scores from the list of weather condition information for a registered object. In another embodiment, drone control program104creates one or more breakability scores for the registered object by comparing the list of weather condition information for the registered object to a list of weather condition information for one or more comparable objects. In one embodiment, a breakability score includes an accepted risk threshold for a weather condition that, when exceeded, indicates that drone control program104should initiate protection measures for the registered object. For example, where an object registration request includes information that an accepted risk threshold is twenty percent and wind speeds exceeding ten miles per hour will damage an object, drone control program104creates a breakability score for the object for a wind event including a twenty percent accepted risk threshold and wind speeds greater than or equal to ten miles per hour, indicating that when a weather condition meets both conditions, drone control program should implement protection for the object. In another example, where an object in a registration request is a patio umbrella and a registration request identifies ten similar patio umbrellas, drone control program104compares a list of weather condition information in a registration request with lists of weather condition information for each identified similar umbrella. In another embodiment, drone control program104averages two or more lists of weather conditions of comparable objects. In yet another embodiment, responsive to receiving a registration request, drone control program104monitors external data sources over network106for comparable objects to supplement information supplied in the registration request. For example, drone control program104queries social media for reported damage of comparable objects and weather conditions at a location, date and time around the reported damage. In one embodiment, drone control program104determines similar objects to the object from properties of the object provided in the registration request including weight, size, name of the object, and materials of composition. In another embodiment, drone control program104determines properties of the object by performing image analysis on an image of the object provided in the registration request.

Drone control program104monitors weather conditions for an originating location (204). In one embodiment, drone control program104monitors future weather conditions for the originating location of the registered object. In one embodiment, future weather conditions includes information on an estimated start and end time of a weather condition, a percentage chance of the weather event condition, ambient air temperature, type of precipitation, rate of precipitation, expected accumulation, wind speed, whether lightning is possible, and whether a severe weather condition can occur, such as a flood, tornado, or hurricane. For example, drone control program104requests from weather data sources116an hourly weather forecast including weather condition information for a twelve-hour window for an originating location and receives a forecast for each hour numbered t0through t7, where t0through t3indicate a one hundred percent chance of clear skies and an eighty percent chance of wind speeds of up to ten miles per hour, and t4through t7indicate a one hundred percent chance of clear skies and a thirty percent chance of wind speeds of up to 20 miles per hour.

Drone control program104determines whether a registered object requires protection (206). In one embodiment, drone control program104determines whether the registered object requires protection by determining whether monitored weather conditions indicate a significant chance of a damaging weather condition occurring at the originating location of the object. A damaging weather condition is a weather condition capable of damaging the registered object. In one embodiment, drone control program104determines whether the registered object needs protection by comparing a percentage chance of a damaging weather condition occurring to an accepted risk level received with the registered object registration information. For example, where a registration request for a registered object included an accepted risk level of twenty percent, a breakability score for the registered object includes twenty miles per hour wind speeds, indicating twenty mile per hour wind speeds as a damaging weather event, and monitored weather conditions indicate a thirty percent chance of wind speeds exceeding twenty miles per hour in the next eight hours, drone control program104determines that the registered object requires protection.

Responsive to a determination that a registered object does not require protection (NO branch,206), drone control program104continues monitoring weather conditions at the originating location (204). In one embodiment, where a percentage chance of a damaging weather condition occurring does not meet an accepted risk level associated with the registered object, drone control program104determines that the registered object does not need protection from the damaging weather condition. For example, where a registered object will likely sustain damage by winds exceeding twenty miles per hour, and monitored weather conditions indicate a less than ten percent chance of winds exceeding ten miles per hour for a forty-eight-hour period, drone control program104determines that weather conditions do not include a damaging weather condition and the registered object does not presently require protection measures.

Responsive to a determination that a registered object requires protection (YES branch,206), drone control program104deploys drones to relocate the registered object (208). In one embodiment, where a percentage chance of a damaging weather condition occurring at the originating location of the registered object is equal to or greater than the accepted risk level associated with the registered object, drone control program104determines to relocate the registered object to the storage location. For example, where a registered object will likely sustain damage by winds exceeding ten miles per hour, and monitored weather conditions indicate a seventy percent chance of winds exceeding twenty miles per hour during a four-hour window in a forty-eight-hour period, drone control program104determines that weather conditions include a damaging weather condition and the registered object requires relocation to a storage location. In one embodiment, drone control program104determines how many and what type of drones to use to relocate the registered object based on weight and spatial volume properties of the registered object.

Drone control program104identifies the registered object at the originating location (210). In one embodiment, drone control program104analyzes image information captured through camera110on a drone108with one or more images of the registered object included in the registered object profile to identify the registered object at the originating location. In one embodiment, drone control program104uses computer image processing with an image of the registered object included in the registered object profile to identify the registered object at the originating location. In another embodiment, where drone control program104does not find the registered object at the originating location, drone control program104searches an area near the originating location and recalls the drone after the drone exhausts a pre-defined amount of energy.

Drone control program104moves the registered object to a storage location (212). In one embodiment, drone control program104commands one or more drones to secure physical connection with the registered object and transport the registered object to the storage location. For example, the storage location may be a nearby garage, shed, or covered area near the originating location. In another embodiment, the storage location may be a designated storage facility located off-site from the originating location. For example, a designated storage facility may be a commercial storage site located half of a mile away from an originating location.

Drone control program104monitors weather conditions at the originating location (214). In one embodiment, drone control program104monitors current and future weather conditions at the originating location. In another embodiment, where the storage location is off-site from the originating location, drone control program104monitors weather conditions at the originating location and the storage location. In one embodiment, drone control program104monitored current and future weather conditions includes information on an estimated start and end time of a weather condition, ambient air temperature, type of precipitation, rate of precipitation, expected accumulation, wind speed, whether lightning is possible, and whether a severe weather condition can occur, such as a flood, tornado, or hurricane. In another embodiment, drone control program104monitors weather conditions for all location between the storage location and the originating location, inclusive of originating and storage locations. In one embodiment, drone control program104monitors weather conditions at the originating location for changes indicating an abatement of weather conditions that exceeded the risk threshold for the object.

Drone control program104determines if conditions are safe for returning the registered object (216). In one embodiment, drone control program104analyzes whether a damaging weather condition is present at the storage location. In one embodiment, drone control program104analyzes whether a damaging weather condition is present at the originating location. In one embodiment, drone control program104determines whether to return the registered object to the registered location by comparing the percentage chance of a damaging weather condition occurring at the originating location to the accepted risk level in the registered object profile. In another embodiment, drone control program104retains the registered object at the storage location for a pre-defined period of time and does not analyze weather conditions for the storage and originating locations to determine if the registered object can be returned to the originating location. In one embodiment, drone control program104determines whether to return the object to the originating location from the storage location by comparing the accepted risk level in the registered object profile to changes in present weather conditions at the originating location indicating an abatement of weather conditions that exceeded the risk threshold for the object.

Responsive to a determination that conditions are not safe for returning the registered object (NO branch,216), drone control program104continues to monitor weather conditions at the originating location of the registered object (214). In one embodiment, where a percentage chance of a damaging weather condition occurring meets and/or exceeds an accepted risk level in the registered object profile, drone control program104determines it is unsafe to return the registered object to the originating location and continues to monitor weather conditions at the originating location. In one embodiment, responsive to a determination that changes in present weather conditions at the originating location indicate no abatement of weather conditions that exceeded the risk threshold for the object, drone control program104continues to monitor weather conditions at the originating location for changes in weather conditions at the originating location indicating an abatement of weather conditions that exceed the risk threshold for the object.

Responsive to a determination that conditions are safe for returning the registered object (YES branch,216), drone control program104returns the registered object to the originating location (218). In one embodiment, where a percentage chance of a damaging weather condition occurring fails to meet or exceed an accepted risk level in the registered object profile, drone control program104commands a drone to relocate the registered object from the storage location to the originating location. In one embodiment, responsive to a determination that weather conditions are safe for returning the registered object to the originating location, drone control program104commands a drone to move to the storage location, secure a physical connection with the registered object and transport the registered object to the originating location. In one embodiment, responsive to a determination that changes in present weather conditions at the originating location indicate an abatement of weather conditions that exceeded the risk threshold for the object, drone control program104commands a drone to move to the storage location, secure a physical connection with the registered object and transport the registered object to an originating location.

Drone control program104instructs drones to return to a drone home location (220). In one embodiment, drone control program104instructs drones to return to a home location, where the home location is a centralized location for drone maintenance and dispatch. For example, in one embodiment, a drone home location might be a facility including a command center, such as command center102, one or more drones, such as drone108, one or more battery charging stations for drones, and a designated storage location for registered objects.

Drone control program104updates risk assessment and breakability information (222). In one embodiment, drone control program104updates risk assessment and breakability information for the registered object by using recorded weather conditions and computer image processing through camera110on drone108to analyze visual data of the registered object for indication of damage such as cracks, breaks, and missing components occurring after identifying the registered object before relocating to the storage location. In one embodiment, drone control program104updates risk assessment and breakability information to include an object damage profile which may include a date, period of time, and location that damage likely occurred, computer image analysis of visual data of the registered object recorded by a camera, such as camera110on a drone, such as drone108for indicia of damage such as cracks, breaks, dents, scratches, chipping, bending, or missing components. In another embodiment, a person who owns the object may supply the object damage profile information to drone control program104, including indicia of damage.

FIG. 3depicts a block diagram of components of an autonomous drone control environment, such as command center102ofFIG. 1, generally designated300, in accordance with an illustrative embodiment of the present invention. It should be appreciated thatFIG. 3provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments can be implemented. Many modifications to the depicted environment can be made.

In the illustrative embodiment, command center102in autonomous drone control environment100is shown in the form of a general-purpose computing device, such as computer system305. The components of computer system305may include, but are not limited to, one or more processors or processing unit(s)304, memory306and bus302that couples various system components including memory306to processing unit(s)304.

Computer system305typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system305and it includes both volatile and non-volatile media, removable and non-removable media.

Memory306can include computer system readable media in the form of volatile memory, such as random access memory (RAM)314and/or cache memory316. Computer system305may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system308can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”) and an optical disk drive for reading from or writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus302by one or more data media interfaces. As will be further depicted and described below, memory306and/or persistent storage308may include at least one computer program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.

Program104, having one or more sets of program modules, may be stored in memory306and/or persistent storage308by way of example and not limitation, as well as an operating system, one or more application programs, other program modules and program data. Each of the operating systems, one or more application programs, other program modules and program data or some combination thereof, may include an implementation of a networking environment. Program104generally carries out the functions and/or methodologies of embodiments of the invention as described herein. Computer system305may also communicate with one or more external device(s)318, such as a keyboard, a pointing device, a display320, etc. or one or more devices that enable a user to interact with computer system305and any devices (e.g., network card, modem, etc.) that enable computer system305to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interface(s)312. Still yet, computer system305can communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN) and/or a public network (e.g., the Internet) via communications unit310. As depicted, communications unit310communicates with the other components of computer system305via bus302. It should be understood that although not shown, other hardware and software components, such as microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives and data archival storage systems may be used in conjunction with computer system305.