METHOD AND SYSTEM FOR AUTONOMOUS CLOUD SEEDING TECHNICAL FIELD
The presently disclosed subject matter relates to a method and system for autonomous cloud seeding using an aircraft.
BACKGROUND
Cloud seeding is a way to change the amount or type of precipitation that falls from clouds. Cloud seeding is done by dispersing cloud seeding material into the air near the clouds. This cloud seeding material can serve as cloud condensation or ice nuclei that alter the microphysical processes that occur within the seeded cloud. Cloud seeding can be done to increase precipitation, such as for rain or snow. Cloud seeding can also be done to suppress precipitation, such as for hail or fog, for example near airports in order to prevent the delay or cancellation of flights due to weather conditions.
GENERAL DESCRIPTION
According to one aspect of the presently disclosed subject matter there is provided a computer-implemented method of seeding a cloud using an autonomous vehicle, including:
using an image sensor that is mounted on the autonomous vehicle for obtaining an image that includes at least a portion of the cloud; and
using a computer for performing the following:
determining a seeding location within the cloud to begin seeding of the cloud based on the image, wherein the determination is based at least in part on image processing identifying a characteristic of the cloud that is indicative of the cloud's suitability for seeding; and
generating one or more flight instructions for directing the autonomous vehicle towards the determined seeding location.
In addition to the above features, the method according to this aspect of the presently disclosed subject matter can include one or more of features (i) to (xv) listed below, in any desired combination or permutation which is technically possible:
(i). wherein the characteristic is a visual characteristic.
(ii). wherein the sensor is a thermal image sensor which provides thermal image data, and the characteristic includes a thermal characteristic.
(iii). wherein the determination is further based on one or more other types of data, including at least one of: radar data, data indicative of an environmental condition relating to the surroundings of the vehicle, position data, line of sight data, meteorological data, satellite picture data, and synoptic chart data.
(iv). wherein determining includes synchronizing the image data with the other type of data.
(v). wherein determining includes superpositioning a first type of data with a second type of data.
(vi). wherein determining includes: predicting a future location of the cloud; obtaining a desired location for precipitation to occur; and corresponding the predicted future location with the desired location to help determine the seeding location of the cloud.
(vii). wherein the seeding location is located at an area above or underneath the cloud.
(viii). seeding the cloud at the seeding location.
(ix). determining a location within the cloud to end seeding; and determining a flight path for seeding the cloud from the start seeding location to the end seeding location.
(x). selecting a cloud for seeding from among a plurality of clouds, based on cloud image data.
(xi). selecting a cloud from among the plurality of clouds based on one or more other types of data, including at least one of: cloud location data, cloud direction data, cloud precipitation potential data, and predicted future cloud location data.
(xii). identifying a potential dangerous cloud or portion of a cloud; and generating one or more flight instructions to avoid that cloud or cloud portion.
(xiii). wherein the determination is a real-time determination.
(xiv). automatically controlling the vehicle to direct the vehicle to the seeding location to perform cloud seeding.
(xv). wherein the vehicle is an unmanned aerial vehicle (UAV).
According to another aspect of the presently disclosed subject matter there is provided a non-transitory program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform the above method of seeding a cloud using an autonomous vehicle
This aspect of the disclosed subject matter can optionally include one or more of features (i) to (xv) listed above, mutatis mutandis, in any desired combination or permutation which is technically possible.
According to another aspect of the presently disclosed subject matter there is provided a system mountable on an aircraft for controlling the aircraft to perform seeding of a cloud, including:
an image sensor configured to obtain an image that includes at least a portion of the cloud; and
a processor operatively connected to the sensor and configured to perform the following:
determine a seeding location within the cloud to begin seeding of the cloud based on the image, wherein the determination is based at least in part on image processing that identifies a characteristic of the cloud that is indicative of the cloud's suitability for seeding; and
generate one or more flight instructions to direct the aircraft towards the determined seeding location.
This aspect of the disclosed subject matter can optionally include one or more of features (i) to (xv) listed above, mutatis mutandis, in any desired combination or permutation which is technically possible.
In addition to the above features, the system according to this aspect of the presently disclosed subject matter can include one or more of features (xvi) to (xvii) listed below, in any desired combination or permutation which is technically possible:
(xvi). an antenna mounted on the vehicle and configured to receive data.
(xvii). an anti-ice system mounted on the vehicle and configured to protect the vehicle in cold weather conditions.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to understand the invention and to see how it can be carried out in practice, embodiments will be described, by way of non-limiting examples, with reference to the accompanying drawings, in which:
Fig. 1 illustrates a functional block diagram of a system for cloud seeding in accordance with certain examples of the presently disclosed subject matter;
Figs. 2-6 illustrate flow-charts of operations for cloud seeding in accordance with certain examples of the presently disclosed subject matter; and
Fig. 7 illustrates schematically an image of a cloud taken by a sensor on-board an aircraft in accordance with certain examples of the presently disclosed subject matter.
DETAILED DESCRIPTION
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the presently disclosed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the presently disclosed subject matter.
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "obtaining", " determining", "generating", "synchronizing", "superpositioning", "predicting", "corresponding", "selecting", "identifying", "controlling", or the like, refer to the action(s) and/or process(es) of a computer that manipulate and/or transform data into other data, said data represented as physical, such as electronic, quantities and/or said data representing the physical objects.
The term “computer” or "processor" or variations thereof should be expansively construed to cover any kind of hardware-based electronic device with data processing capabilities including, by way of non-limiting example a processing
device (e.g. digital signal processor (DSP), microcontroller, field programmable circuit, application-specific integrated circuit (ASIC), etc.) or a device which comprises or is operatively connected to one or more processing devices. The terms "non-transitory memory", “non-transitory storage medium”, and "memory", used herein should be expansively construed to cover any volatile or non-volatile computer memory suitable to the presently disclosed subject matter. The above includes, by way of non-limiting example, processor and memory 102 disclosed in the present application.
The operations in accordance with the teachings herein may be performed by a computer specially constructed for the desired purpose or by a general-purpose computer specially configured for the desired purpose by a computer program stored in a non-transitory computer-readable storage medium.
The terms, "range", "proximity", "threshold", or the like, used herein includes variations that are equivalent for an intended purpose or function. These ranges, proximities, thresholds, etc., can be predetermined or calculated in real-time. In some examples a user can manually input a desired range, proximity, threshold, etc. In some examples the range, proximity, threshold, etc. is determined automatically by the system.
Bearing this in mind, attention is drawn to Fig. 1 illustrating an autonomous cloud seeding system 100 in accordance with certain examples of the presently disclosed subject matter.
The autonomous cloud seeding system 100 can be mounted on an aircraft. The aircraft can be an unmanned aerial vehicle (UAV), also known as a, "drone", which can operate with various degrees of autonomy: either under remote control by a human operator, or fully or intermittently autonomously, e.g., by on-board computers.
The illustrated autonomous cloud seeding system 100 includes one or more processors and memory 102 configured to perform image processing and execute various operations as disclosed herein.
System 100 can include for example, processor and memory 102 operatively connected to various devices/elements including, for example: an image sensor 104, an altitude sensor 106, a position sensor 108, a speed sensor 110, a wind sensor 112, a temperature sensor 114, a radar 116, an antenna 118, an inertial navigation system (INS) 120, an external memory 124 storing synoptic chart data 122, and an automatic seeding module 130.
Image sensor 104 is configured to capture image data. Image sensor 104 is located on-board the aircraft and its field of view can be pointed in a direction which allows capturing images of the area in front of the aircraft's nose. Image sensor 104 can be, for example, a thermal sensor configured to capture thermal image data. Image sensor 104 can include, for example, one or more of the following cameras/sensors: forward-looking infrared (FLIR), panoramic (pano), infrared (IR), mid- wavelength infrared (MWIR), short- wavelength infrared (SWIR), light detection and ranging (LIDAR), any other appropriate multiple spectral sensing device that can be used as a sensor during the daytime and/or night-time, etc. Optionally, image sensor 104 can have different selectable modes of operation. An appropriate mode of operation of image sensor 104 can be selected based on various real-time parameters including for example, time of day, weather, etc. For example, this selection can be made autonomously, and/or manually.
Altitude sensor 106 is configured to determine an altitude of the aircraft. Altitude sensor 106 can include, for example, one or more of the following sensors: altimeter, radar altimeter (RALT), barometer, or any other appropriate altitude sensing device.
Positioning system 108 is configured to determine a location of the aircraft. Positioning system 108 can include, for example, a Global Positioning System (GPS) configured to determine a geolocation of the aircraft, or any other appropriate location determining device.
Inertial navigation system (INS) 120 is configured to calculate the position, orientation, and/or velocity (direction and speed of movement) of the aircraft.
Speed sensor 110 is configured to determine a speed of the aircraft (e.g., the airspeed of the aircraft). Speed sensor 110 can include, for example, a pitot tube, or any other appropriate speed sensing device.
Wind sensor 112 is configured to determine a parameter related to wind. The wind parameter can include, for example, one or more of: wind speed, wind direction, etc. Wind sensor 112 can include, for example, an anemometer, a wind vane, or any other appropriate wind sensing device. As an example, wind sensor 112 can determine wind speed data based on speed data of the vehicle together with ground speed data (e.g., from INS 120).
Temperature sensor 114 is configured to determine a temperature in the vicinity of the aircraft. Temperature sensor 114 can include, for example, a thermometer, or any other appropriate temperature sensing device.
Radar 116 is configured to determine the range, angle, and/or velocity of objects. Radar 116 can be mounted on the aircraft, and/or can be a ground radar communicatively connected to processor and memory 102. Radar 116 can include one or more of, for example: a weather radar configured to detect weather formations, a cloud radar configured to monitor clouds, and/or a rain radar configured to monitor rain. Radar 116 can include, for example, a Doppler radar, or any other appropriate radar device.
Antenna 118 is configured to transmit and/or receive radio waves. Antenna 116 can be configured to facilitate communication between the aircraft and a satellite and/or a ground station. Antenna 116 can be configured to transmit/receive data and/or instructions. The aircraft can be configured to perform line-of sight (LOS) and/or beyond-line-of-sight (BLOS) communication. Antenna 118 can include, for example, a SATCOM antenna, or any other appropriate antenna.
Synoptic chart data 122 is weather map data that is indicative of weather related data. Synoptic chart data 122 can be data related to a map that is indicative of atmospheric conditions (temperature, precipitation, wind speed and direction, atmospheric pressure, cloud coverage, etc.) over an area at a certain time. Synoptic chart data 122 can indicate an overview of the weather conditions observed from
many different sources (e.g., weather stations, aircraft, satellites, etc.). For example, synoptic chart data 122 can be generated and stored externally, e.g., in an external memory 124 that is communicatively connected to processor and memory 102. The external memory 124 can be mounted on-board the aircraft or located elsewhere. For example, synoptic chart data 122 can uploaded and stored in computer memory before or during flight of the aircraft. Synoptic chart data 122 can be continuously updated, for example, during flight of the aircraft.
Altitude sensor 106, positioning system 108, speed sensor 110, wind sensor 112, temperature sensor 114, antenna 118, and INS 120, can be mounted on-board the aircraft.
Seeding module 130 can be located on-board the aircraft as an aircraft control system operatively connected to flight control systems 140 of the aircraft and seeding device 146. Seeding module 130 is configured to receive data (e.g. from processor and memory 102, and/or over a real-time communication link via, e.g. from antenna 118) and control the aircraft to perform cloud seeding accordingly. For example, seeding module 130 can control the aircraft to perform cloud seeding by generating flight commands/instructions that are used by one or more of the flight control systems 140 and seeding commands/instructions that are used by seeding device 146. As an example, seeding module 130 can control the aircraft to perform cloud seeding by autonomously generating the flight commands/instructions.
Flight control systems 140 are operatively connected to various subsystems on-board the aircraft configured to enable maneuvering the aircraft. These subsystems can include, for example: engine 142, flight control devices 144 (e.g., ailerons, elevator, rudder, spoilers, flaps, slats, air brakes, landing gear, etc.).
Seeding device 146 is configured to disperse the seeding material. Seeding device 146 can include, for example: a container for storing the seeding material, a dispersal pipe connected to the container, a fan connected to the dispersal pipe, or any other appropriate device for dispersing the seeding material.
Optionally, autonomous seeding system 100 can include an anti-ice system mounted on the aircraft that can be used to protect the aircraft, e.g., if the aircraft gets close to areas of the cloud that are relatively cold, or in other cold weather conditions.
It is noted that the teachings of the presently disclosed subject matter are not bound by the autonomous seeding system 100 described with reference to Fig. 1. Equivalent and/or modified functionality can be consolidated or divided in another manner and can be implemented in any appropriate combination of software with firmware and/or hardware and executed on a suitable device. For example, seeding module 130 which is shown as a module that is external from processor and memory 102 can be a module that is comprised in and executed by processor and memory 102. As another example, data and/or images can be provided by other systems, including third party equipment, and at least part of the processing can be done remotely from the aircraft.
Reference is now made to Figs. 2-6 which show flow charts of operations in accordance with certain examples of the presently disclosed subject matter.
It is noted that the teachings of the presently disclosed subject matter are not bound by the flow charts illustrated in Figs. 2-6, and the illustrated operations can occur out of the illustrated order. For example, operations 304 and 306, or 408 and 410, shown in succession in their respective Figures, can be executed substantially concurrently or in the reverse order. It is also noted that whilst the flow charts are described with reference to elements of autonomous seeding system 100, this is by no means binding, and the operations can be performed by elements other than those described herein.
Fig. 2 illustrates a generalized flow-chart of a method for controlling an aircraft to perform autonomous cloud seeding in accordance with certain examples of the presently disclosed subject matter.
At block 202 one or more clouds is selected for seeding (e.g., by seeding module 130). Examples of this selection will be described in greater detail below with reference to Fig. 3.
At block 204 a location to perform seeding is determined based at least partly on the obtained image of the cloud (e.g., by seeding module 130, after the image was captured by image sensor 104). Examples of this determination will be described in greater detail below with reference to Fig. 4. After the seeding location is determined, one or more flight instructions can then be generated for directing the aircraft to the determined seeding location (e.g., by seeding module 130). Arrival at the seeding location can also be determined (e.g., by processor and memory 102).
At block 206 cloud seeding is performed at the seeding location (e.g., by seeding device 146). This can include the activation of the fan connected to the dispersal pipe, for the purpose of dispersing the cloud seeding material at the designated area. Examples of this seeding will be described in greater detail below with reference to Fig. 5.
Fig. 3 illustrates the process of selecting one or more clouds for seeding, described briefly above with connection to block 202, in accordance with certain examples of the presently disclosed subject matter.
At block 302 a desired geographic location to be affected by the cloud seeding is obtained (e.g., by seeding module 130). For example, the desired geographic location can be an area on the ground where it is desired for precipitation to occur, e.g., for rain to fall on.
At block 304 one or more candidate clouds for performing seeding on is determined (e.g., by seeding module 130). The candidate cloud(s) can be chosen from a plurality of clouds. For example, the candidate clouds can be determined based on an obtained location of the clouds. The location of the candidate clouds can be obtained based on data from one or more of the following, for example: air weather radar data, ground weather radar data, cloud radar data, other meteorological data, etc. For example, candidate cloud(s) are clouds that are determined to be within a predetermined range of the obtained desired geographic location to be affected by the cloud seeding. The predetermined range can be according to a determination of the ability of the cloud(s) to provide precipitation at the desired geographic location after the cloud(s) are seeded. The candidate clouds can also be determined using any other
appropriate data, for example, data determined by the systems and devices described above with reference to Fig. 1.
At block 306 a direction and/or vector of progression of the candidate clouds is determined (e.g., by seeding module 130). The direction and/or vector of progression of the candidate clouds can be determined based on data from one or more of the following, for example: air weather radar data, ground weather radar data, wind direction data sensed by sensors on the vehicle or external sensors, wind speed data determined based on data sensed by sensors on the vehicle or external sensors, cloud image data, etc. The direction and/or vector of progression of the candidate clouds is indicative of the ability of the cloud(s) to reach the desired geographic location after the cloud(s) are seeded and provide precipitation at that location. In some examples, a future location of the cloud(s) can be predicted; e.g., based on cloud direction, wind conditions, etc.
At block 308 a precipitation potential of the candidate cloud(s) is determined (e.g., by seeding module 130). The precipitation potential can be calculated as a score or a grade, e.g., on a predetermined scale. For example, the precipitation potential can be based on data that is indicative of the cloud(s) likelihood to produce a desired amount or type of precipitation. For example, the precipitation potential can be determined based on a thermal characteristic of the cloud that is indicated by one or more of the following, for example: a thermal image of the cloud(s), air weather radar data, ground weather radar data, etc. Precipitation potential can also be referred to according to the type of desired precipitation; e.g., rain potential, snow potential, etc.
At block 310 one or more clouds are selected to perform seeding on (e.g., by seeding module 130). The selected cloud(s) can be selected from a plurality of candidate clouds. For example, the cloud(s) can be selected based on a parameter related to the one or more clouds. This parameter can include one or more of the following, for example: the location of the cloud(s), the direction/vector of progression of the cloud(s), the precipitation potential of the cloud(s), a visual parameter of the cloud(s) obtained from a cloud image, a predicted future location of the cloud(s), etc.
The obtained data can also be indicative of a type of cloud(s) and the selection of the cloud(s) for cloud seeding can be based on the type of cloud(s). The type of cloud can be one or more of the following, for example: stratus, cumulus, cirrus, etc.
At block 312 the vehicle is directed towards the selected cloud(s) (e.g., by flight control systems 140). For example, one or more flight instructions can be generated (e.g., by seeding module 130) for directing the vehicle towards the selected cloud(s).
Fig. 4 illustrates determining a location to release the seeding material in relation to the selected cloud(s), described briefly above with connection to block 204, in accordance with certain examples of the presently disclosed subject matter.
Fig. 4 is described with reference to Fig. 7 which schematically illustrates an image 700 taken by image sensor 104 on-board the aircraft in accordance with certain examples of the presently disclosed subject matter.
At block 402 arrival of the vehicle at an area within a range/proximity of the selected cloud(s) is determined (e.g., by processor and memory 102). Arrival at the area in proximity of the cloud(s) can be determined based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle (e.g. obtained by positioning system 108), radar data, etc.
As described above with reference to block 202 of Fig. 2, an image in the FOV of the aircraft can be received at the system to be processed. For example, processor and memory 102 receives an image 700 captured by image sensor 104 located on-board the aircraft. Processor and memory 102 (e.g. with the help of an image processing module operatively connected to the processor) can be configured to process the received image and identify a cloud 702 in the image 700.
At block 404, when the aircraft reaches the designated area within the range/proximity of the selected cloud(s), an image of at least a portion of the selected cloud(s) is obtained (e.g., by seeding module 130) for further image processing. For example, the determined image 700 of the cloud(s) 702 or portion of the cloud(s) 702 can be a thermal image (e.g., obtained by a thermal image sensor 104, such as,
a FLIR camera). For example, seeding module 130 (e.g. with the help of an image processing module operatively connected to seeding module 130) can be configured to process the received image and identify a visual characteristic of cloud 702 in the image 700.
At block 406 a seeding location, within the cloud, to begin the seeding of the selected cloud(s) is determined based at least in part on the obtained image of the cloud(s)/portion of the cloud(s) (e.g., by seeding module 130). Optionally, at block 408 the seeding location is determined based at least in part on a visual characteristic of the cloud(s)/portion of the cloud(s). The visual characteristic is indicative of the suitability of the cloud(s)/portion of the cloud(s) for cloud seeding. For example, the visual characteristic is a thermal characteristic. The thermal characteristic can be indicative of an area of the cloud that is particularly suited for cloud seeding, and that will increase the effectiveness of the cloud seeding. For example, this area within the cloud can be the coldest part of the cloud that was identified. In the example of image 700 of cloud 702, there are several different portions of cloud 702 with different temperatures: portion 708 is the coldest portion of cloud 702 characterized in image 700 by a first visual characteristic (e.g. a red color indicating a relatively low temperature), portion 704 is the warmest portion of cloud 702 characterized in image 700 by a second visual characteristic (e.g. a blue color indicating a relatively high temperature), portion 706 is a portion of cloud 702 with a medium temperature, between the temperature of portion 704 and portion 708, characterized in image 700 by a third visual characteristic (e.g. a green color indicating a relatively medium temperature).
In some examples, the determination can be based on a plurality of images, e.g., simultaneously taken from a plurality of sensors at substantially the same time, and of substantially the same FOV.
Optionally, at block 410 the seeding location is determined based at least in part on other data related to the cloud(s). The other data is also indicative of the suitability of the cIoud(s)/portion of the cloud(s) for cloud seeding. The other data can be indicative of an area of the cloud that is particularly suited for cloud seeding, and that will increase the effectiveness of the cloud seeding. The other data can include, for example, one or more of: radar data (e.g. obtained from radar 116), such as,
weather and/or cloud radar data, data indicative of an environmental condition relating to the surroundings of the vehicle, such as wind strength and/or wind direction (e.g. obtained from wind sensor 112), barometric pressure (e.g. obtained from the barometer), position data (e.g. obtained from positioning system 108), line of sight data, meteorological data, satellite picture data, synoptic chart data (e.g. obtained from synoptic chart data 122), etc. For example, seeding module 130 can be configured to analyze the data and determine suitability.
In the present subject matter the various types of data can be synchronized in order to help in the determination of the seeding location, and/or the selection of the cloud(s) for seeding. For example, weather radar map data obtained from ground radar, weather radar map data obtained from radar mounted on the aircraft, synoptic chart data, image sensor data, etc., can all be synchronized or consolidated together in order to determine a seeding location within the cloud that will help optimize the cloud seeding of the cloud. In some examples, a weather radar map indicative of selected cloud(s) for seeding in a certain location can be superpositioned or superimposed with a synoptic map of that location to better determine the seeding location. As another example, weather radar data indicative of a particularly desirable cloud seeding location can be correlated with the image sensor data in order to optimize the determination of the seeding location. Also as an example, ground radar data, determined by a radar on the ground, can be synchronized or consolidated with air radar data, determined by a radar mounted on the vehicle, to optimize the selection of the cloud(s) for seeding and/or the determination of the seeding location.
In some examples, the seeding location is located at an area above or underneath the cloud in an area that is relatively dangerous for a manned flight to fly towards. For example, the seeding location can be located at the center of the selected cloud(s) and reached by flying underneath, and/or above the cloud(s). Flying underneath, and/or above clouds to perform cloud seeding is typically not done when cloud seeding is carried out by a manned flight, due to the danger it poses to the aircraft and pilot. In the present subject matter, the aircraft is able to get relatively close to the cloud and take an image of the cloud that a manned aircraft would generally not be able to take due to the danger posed. However, in the present subject matter a flight vector or flight path is determined which protects the aircraft, that also
optimizes cloud seeding. An example of the generation of a flight path is described further below.
At block 412 the vehicle is directed towards the seeding location (e.g., by flight control systems 140). For example, one or more flight instructions can be generated (e.g., by seeding module 130) for directing the vehicle towards the start seeding location.
Fig. 5 illustrates a flow-chart of a method for performing cloud seeding at the seeding location, described briefly above with connection to block 206, in accordance with certain examples of the presently disclosed subject matter.
At block 502 arrival of the vehicle at an area within a range/proximity of the seeding location is determined (e.g., by processor and memory 102). Arrival at the area in proximity of the cloud(s) can be determined based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle (e.g. obtained by positioning system 108), radar data, etc. For example, the predetermined range can be according to a determination of the ability of the cloud(s) to provide precipitation at the desired geographic location after the cloud(s) are seeded, to increase the effectiveness of the cloud seeding. As an example, the location data of the vehicle can be compared to the determined end location data in order to determine arrival at the designated area to begin seeding.
At block 504 cloud seeding is initiated by the vehicle upon arrival at the area within a range/proximity of the seeding location (e.g., by seeding module 130). For example, seeding module 130 can activate seeding device 146 to begin dispersing the cloud seeding material at the desired location for seeding.
At block 506 a location to end the seeding of the selected cloud(s) is determined based at least in part on an obtained image of the cloud(s)/portion of the cloud(s) (e.g., by seeding module 130). For example, the end location can be determined based at least in part on a visual characteristic of the cloud(s)/portion of the cloud(s). The visual characteristic is indicative of the suitability of the cloud(s)/portion of the cloud(s) for cloud seeding. For example, the visual characteristic is a thermal characteristic. The thermal characteristic can be indicative
of an area of the cloud that is not particularly suited for cloud seeding, and that will decrease the effectiveness of the cloud seeding. For example, this area within the cloud can be a relatively warm part of the cloud(s), e.g., within a predefined temperature range at which the effectiveness of seeding is lowered.
Optionally, at block 508 a flight path from the start seeding location to the end seeding location is determined (e.g., by seeding module 130). For example, the flight path can be determined based on optimizing the effectiveness of the cloud seeding. As another example, the flight path can be determined as to avoid potential dangers that might harm the vehicle while performing cloud seeding, e.g. avoiding ice or other dangerous portions in the cloud(s). For example, if a potentially dangerous area is identified, then one or more flight instructions can be generated for avoiding that area. In some examples, the flight path will be updated in real-time based on obtained data, e.g. captured by the sensors on the aircraft and/or obtained by processor and memory 102.
Optionally, at block 510 the cloud(s) are seeded along the determined flight path (e.g., by seeding device 146).
At block 512 arrival of the vehicle at an area within a range/proximity of the end location is determined (e.g., by processor and memory 102). Arrival at the area in proximity of the end location can be determined, for example, based on one or more of: an obtained image of the cloud(s), location data of the vehicle (e.g. obtained by the positioning system 108), radar data, etc. As an example, the location data of the vehicle can be compared to the determined end location data in order to determine arrival at the designated area to end seeding.
At block 514 cloud seeding is ceased by the vehicle upon arrival at the area within a range/proximity of the end location (e.g., by seeding module 130). For example, seeding module 130 can de-activate seeding device 146 to stop dispersing the cloud seeding material at the determined end seeding location.
According to some examples, the present subject matter is able to autonomously perform cloud seeding at specific selected areas of the cloud, and to avoid performing cloud seeding on other areas of the cloud. Thus, the present subject
matter is able to selectively perform accurate cloud seeding only on the desired portions of the clouds, e.g., those areas that are particularly effective for cloud seeding. For example, the present subject matter can be used to perform cloud seeding only on portions of the cloud within a certain temperature range (e.g., relatively cold temperatures), and avoid cloud seeding on portions of the cloud that are not within that temperature range (e.g., relatively warm temperatures) or that are potentially dangerous to the aircraft (e.g., extremely cold temperatures that would present a danger to the aircraft). In some examples, the system can autonomously monitor environmental conditions and toggle the cloud seeding (start seeding and end seeding) based on detected changes in the environmental conditions. Meaning, there can be multiple start seeding and end seeding locations along a single flight path, even for a single cloud.
Fig. 6 illustrates a flow-chart of a method for automatically controlling an aircraft to perform autonomous cloud seeding in accordance with certain examples of the presently disclosed subject matter.
At block 602 a cloud location is determined (e.g., by seeding module 130). For example, the cloud location is a location of selected cloud(s) that were selected according to processes described above with reference to Fig. 3.
At block 604 one or more flight instructions are generated to direct the vehicle towards the cloud location (e.g., by seeding module 130). For example, after the flight instruction(s) are generated they can be transmitted to flight control systems 140 which control engine 142 and/or flight control devices 144 accordingly.
At block 606 a distance/proximity to the cloud location is determined (e.g., by seeding module 130). The determination can be based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle, e.g. obtained by positioning system 108, air radar data, ground radar data, etc. In some examples, the determination is based on a distance to the cloud, and/or direction of the cloud that is determined based on the cloud image.
Optionally, at block 608 a height of the vehicle relative to one or more clouds at the cloud location is determined (e.g., by seeding module 130). The determination
can be based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle, e.g. obtained by the positioning system 108, air radar data, ground radar data, etc. For example, the determined height of the vehicle can be used to generate flight instructions, e.g., to help ensure that the aircraft does not get too close to certain areas of the cloud(s) (either from above or below).
At block 610 a decision whether or not the vehicle has reached an area within a range/proximity of the cloud location is made (e.g., by seeding module 130). This decision can be based on one or more of the following, for example: the obtained cloud location, the determined distance/proximity to the cloud location, the determined height of the vehicle relative to one or more clouds, etc.
If at block 610 the decision is that the vehicle is not in sufficient proximity of the cloud location, then the process returns to block 604, and further flight instructions, directing the vehicle towards the cloud location, are generated.
If at block 610 the decision is that the vehicle is in a sufficient proximity of the cloud location, then the process continues to block 612, and the process of seeding the cloud begins.
Optionally, in some example the process returns to block 602 and the system can re-obtain/re-determine the cloud location, for example, in real-time, based on new data received by the system. In other examples, the cloud location can be determined in parallel to directing the vehicle, and the updating of the cloud location at block 602 can be synchronized with the generating of a new flight instruction at block 604, e.g., after the decision is made at block 610 that the vehicle is not in the proximity of the previously determined cloud location, which was determined in a previous cycle.
For example, the decision at block 610 can be made at predetermined intervals of time.
At block 612 a seeding location is determined (e.g., by seeding module 130). For example, the determination of the seeding location can be done using processes described above with reference to Fig. 4.
At block 614 one or more flight instructions are generated to direct the vehicle towards the cloud location (e.g., by seeding module 130). For example, after the flight instruction(s) are generated, they can be transmitted to flight control systems 140 which control engine 142 and/or flight control devices 144 accordingly.
At block 616 a distance/proximity to the seeding location is determined (e.g., by seeding module 130). The determination can be based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle (e.g. obtained by positioning system 108), air radar data, ground radar data, etc. In some examples, the determination is based on a distance to the cloud and/or direction of the cloud that is determined based on the cloud image.
Optionally, at block 618 a height of the vehicle relative to one or more clouds is determined (e.g., by seeding module 130). The determination can be based on one or more of the following, for example: an obtained image of the cloud(s), location data of the vehicle (e.g. obtained by positioning system 108), air radar data, ground radar data, etc. For example, the determined height of the vehicle can be used to generate flight instructions, e.g., to help ensure that the aircraft does not get too close to certain areas of the cloud(s) (either from above or below).
At block 620 a decision whether or not the vehicle has reached an area within a range/proximity of the seeding location is made (e.g., by seeding module 130). This decision can be based on one or more of the following, for example: the determined seeding location, the determined distance/proximity to the seeding location, the determined height of the vehicle relative to one or more clouds, etc.
If at block 620 the decision is that the vehicle is not in a sufficient proximity of the seeding location, then the process returns to block 614, and further flight instructions directing the vehicle towards the seeding location are generated.
Optionally, in some examples the process returns to block 612 and the system can re-determine the seeding location, for example, in real-time, based on new data received by the system. In other examples, the seeding location can be determined in parallel to directing the vehicle, and the updating of the seeding location at block 612 can be synchronized with the generating of a new flight instruction at block 614,
e.g., after the decision is made at block 620 that the vehicle is not in the proximity of the previously determined seeding location, which was determined in a previous cycle.
If at block 620 the decision is that the vehicle is in a sufficient proximity of the seeding location, then the process continues to block 622 to begin the seeding of the cloud.
For example, the decision at block 620 can be made at predetermined intervals of time.
At block 622 the cloud is seeded (e.g., by seeding device 146). For example, seeding instruction(s) are generated (e.g., by seeding module 130) and transmitted to control seeding device 146 accordingly. For example, one or more seeding instructions/commands can be generated for and instructed/transmitted to seeding device 146 to release/disperse the cloud seeding material into the atmosphere in the vicinity of the seeding location. For example, cloud seeding can be performed from a start seeding location to an end seeding location using processes described above with reference to Fig. 5.
In some examples, some or all of the above processes will be repeated or iterated multiple times, for example, in order to direct the aircraft more accurately/optimally towards a particularly effective cloud location, and/or seeding location.
As an example, the processes can be repeated until the aircraft has finished seeding the clouds.
As mentioned above, in some examples, multiple start seeding locations and end seeding locations can be generated. For example, a plurality of start seeding locations and end seeding locations can be generated for one or more clouds.
The above subject matter facilitates optimization of the cloud seeding process, since the cloud seeding is targeted to specific clouds and specific areas of those clouds. As a result, the amount of seeding material that goes to waste is lowered. Furthermore, the location for cloud seeding can be determined and updated in real-
time, and an optimized flight path of the vehicle can be determined and updated in real-time accordingly. As such, in some examples the cloud seeding can be tailored depending on the particular cloud(s) to be seeded, e.g. based on a visual characteristic of the cloud(s).
Additionally, as explained above, in some examples of the present subject matter the determination of the seeding location and/or flight path can take into account a plurality of different types of data that are synchronized together, for example, image sensor data (e.g. indicative of the vehicle's line of sight and/or distance to objects), weather/meteorological data, flight data (e.g. the vehicle's speed/velocity and/or height), cloud parameter data (e.g. based on image data and/or radar data), etc. The synchronization of this plurality of different types of data can help ensure that the determination of the seeding location and/or flight path is optimized in terms of efficiency of cloud seeding, and safety of the vehicle.
It is to be understood that the invention is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The invention is capable of other examples and of being practiced and carried out in various ways. Hence, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the presently disclosed subject matter.
It will also be understood that the system according to the invention may be, at least partly, implemented on a suitably programmed computer. Likewise, the invention contemplates a computer program being readable by a computer for executing the method of the invention. The invention further contemplates a non-transitory computer-readable memory tangibly embodying a program of instructions executable by the computer for executing the method of the invention.
Those skilled in the art will readily appreciate that various modifications and changes can be applied to the embodiments of the invention as hereinbefore described without departing from its scope, defined in and by the appended claims.