Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TIME-AND DATA-EFFICIENT ASSURANCE OF LEAK DETECTION
Document Type and Number:
WIPO Patent Application WO/2020/206008
Kind Code:
A1
Abstract:
Systems, devices, and methods including an aerial vehicle (816) having a global positioning system (GPS) (824) and at least one trace-gas sensor (822) configured to generate gas data; and a processor (802) having addressable memory (830), the processor configured to: determine a flight envelope (200) based on a received spatial location (804), a received spatial location of the one or more potential gas sources (806, 808, 810), a received desired level of confidence (812), and a received wind data (814); determine a flight path (300) for the aerial vehicle, where the flight path covers a portion (212) of the determined flight envelope; and determine based on a received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

Inventors:
MILLER II VICTOR (US)
BUCKINGHAM STUART (US)
SMITH BRENDAN (US)
MCGUIRE MICHAEL PRICE (US)
Application Number:
PCT/US2020/026232
Publication Date:
October 08, 2020
Filing Date:
April 01, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SEEKOPS INC (US)
International Classes:
G01M3/04; G01M3/00; G01M3/02; G01W1/02; G05D1/00
Domestic Patent References:
WO2019246280A12019-12-26
Foreign References:
US10126200B12018-11-13
US20160214715A12016-07-28
US20140236390A12014-08-21
CN109780452A2019-05-21
US20180292374A12018-10-11
US9599529B12017-03-21
Other References:
See also references of EP 3948202A4
Attorney, Agent or Firm:
ZARRABIAN, Michael et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A system comprising:

an aerial vehicle (816);

at least one trace-gas sensor (822) disposed on the aerial vehicle, the trace-gas sensor configured to generate gas data;

a global positioning system (GPS) (824) disposed on the aerial vehicle to determine a location of the at least one trace-gas sensor; and

a processor (802) having addressable memory (830), the processor configured to: receive a spatial location (804) having one or more potential gas sources (806, 808, 810);

receive a spatial location of the one or more potential gas sources;

receive a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources;

receive a wind data (814) for the received spatial location;

determine a flight envelope (200) encompassing one or more potential plume envelopes (204) based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data;

determine a flight path (216, 300) for the aerial vehicle, wherein the flight path covers a portion (212) of the determined flight envelope; receive the gas data from the one or more gas trace-gas sensors of the portion of the determined flight envelope; and

determine based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

2. The system of claim 1, wherein the wind data comprises a wind direction and a wind speed.

3. The system of claim 1, wherein the wind data comprises at least one of: a predicted wind direction and a predicted wind speed.

4. The system of claim 1, wherein the at least one trace-gas sensor is configured to

detect hydrogen disulfide.

5. The system of claim 1, wherein the at least one trace-gas sensor is configured to detect methane.

6. The system of claim 1, wherein the at least one trace-gas sensor is configured to

detect sulfur oxide.

7. The system of claim 1, wherein the aerial vehicle is an unmanned aerial vehicle

(UAV).

8. The system of claim 1, wherein the determined flight plan comprises one or more random points within the determined one or more potential plume envelopes.

9. The system of claim 8, wherein the one or more random points are connected into a flight pattern using a route planning algorithm.

10. The system of claim 9, wherein the route planning algorithm is a traveling salesman algorithm.

11. The system of claim 1, wherein the at least one trace-gas sensor is configured to

detect carbon dioxide.

12. The system of claim 1, wherein the at least one trace-gas sensor is configured to

detect nitrogen oxide.

13. The system of claim 1, wherein the portion of the determined flight envelope excludes a restricted zone (208), wherein the restricted zone is an area within a set distance of each of the one or more potential gas sources.

14. A method comprising:

receiving, by a processor (802) having addressable memory (830), a spatial location (804) having one or more potential gas sources (806, 808, 810);

receiving, by the processor, a spatial location of the one or more potential gas sources; receiving, by the processor, a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources; receiving, by the processor, a wind data (814) for the received spatial location;

determining, by the processor, a flight envelope (200) encompassing one or more potential plume envelopes (204) based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data;

determining, by the processor, a flight path (216, 300) for an aerial vehicle (816) having at least one trace-gas sensor (822), wherein the flight path covers a portion (212) of the determined flight envelope;

receiving, by the processor, gas data from the one or more trace-gas sensors of the portion of the determined flight envelope; and

determining, by the processor, based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

15. The method of claim 14 further comprising:

receiving, by the processor, a state of the one or more potential gas sources.

16. The method of claim 14, wherein the at least one trace-gas sensor is configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide.

17. A system comprising:

a portable device (836);

at least one trace-gas sensor (822) disposed on the portable device, the trace-gas

sensor configured to generate gas data;

a global positioning system (GPS) (824) disposed on the portable device to determine a location of the at least one trace-gas sensor; and

a processor (802) having addressable memory (830), the processor configured to: receive a spatial location (804) having one or more potential gas sources (806, 808, 810);

receive a spatial location of the one or more potential gas sources; receive a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources;

receive a wind data (814) for the received spatial location; determine a flight envelope (200) encompassing one or more potential plume envelopes (204) based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data;

determine a path for the portable device, wherein the path covers a portion (212) of the determined flight envelope;

receive the gas data from the one or more gas trace-sensors of the portion of the determined flight envelope; and

determine based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

18. The system of claim 17, wherein the wind data comprises at least one of: a wind

direction, a wind speed, a predicted wind direction, and a predicted wind speed.

19. The system of claim 17, wherein the at least one trace-gas sensor is configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide.

20. The system of claim 17, wherein the portion of the determined flight envelope

excludes a restricted zone (208), wherein the restricted zone is an area within a set distance of each of the one or more potential gas sources.

AMENDED CLAIMS

received by the International Bureau on 26 August 2020 (26.08. 2020)

WHAT IS CLAIMED IS:

1. A system comprising:

a processor (802) having addressable memory (830), the processor configured to: receive a spatial location of one or more potential gas sources (806, 808, 810); receive a wind data (814) for the received spatial location;

determine a flight envelope (200) encompassing one or more potential plume envelopes (204) based the received spatial location of the one or more potential gas sources and the received wind data.

2. The system of claim 1, further comprising:

an aerial vehicle (816); and

at least one trace-gas sensor (822) disposed on the aerial vehicle, the trace-gas sensor configured to generate gas data.

3. The system of claim 2, further comprising:

a navigation system (824) disposed on the aerial vehicle to determine a location of the at least one trace-gas sensor.

4. The system of claim 3, wherein the navigation system is a global positioning system.

5. The system of claim 1, wherein the processor is further configured to:

receive a spatial location (804) having the one or more potential gas sources.

6. The system of claim 1, wherein the processor is further configured to:

receive a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources;

7. The system of claim 6, wherein determining the flight envelope encompassing the one or more potential plume envelopes is further based on the received desired level of confidence.

8. The system of claim 7, wherein the processor is further configured to:

determine a flight path (216, 300) for the aerial vehicle, wherein the flight path covers a portion (212) of the determined flight envelope.

9. The system of claim 8, wherein the processor is further configured to:

receive the gas data from the one or more gas trace-gas sensors of the portion of the determined flight envelope.

10. The system of claim 9, wherein the processor is further configured to:

determine based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

11. The system of claim 1, wherein the wind data comprises a wind direction and a wind speed.

12. The system of claim 1, wherein the wind data comprises at least one of: a predicted wind direction and a predicted wind speed.

13. The system of claim 2, wherein the at least one trace-gas sensor is configured to detect hydrogen disulfide.

14. The system of claim 2, wherein the at least one trace-gas sensor is configured to detect methane.

15. The system of claim 2, wherein the at least one trace-gas sensor is configured to detect sulfur oxide.

16. The system of claim 2, wherein the aerial vehicle is an unmanned aerial vehicle

(UAV).

17. The system of claim 10, wherein the determined flight path comprises one or more random points within the determined one or more potential plume envelopes.

18. The system of claim 17, wherein the one or more random points are connected into a flight pattern using a route planning algorithm.

19. The system of claim 18, wherein the route planning algorithm is a traveling salesman algorithm.

20. The system of claim 2, wherein the at least one trace-gas sensor is configured to

detect carbon dioxide.

21. The system of claim 2, wherein the at least one trace-gas sensor is configured to

detect nitrogen oxide.

22. The system of claim 1, wherein the portion of the determined flight envelope excludes a restricted zone (208), wherein the restricted zone is an area within a set distance of each of the one or more potential gas sources.

23. A method comprising:

receiving, by a processor (802) having addressable memory (830), a spatial location of one or more potential gas sources (806, 808, 810);

receiving, by the processor, a wind data (814) for the received spatial location;

determining, by the processor, a flight envelope (200) encompassing one or more potential plume envelopes (204) based on the received spatial location of the one or more potential gas sources and the received wind data.

24. The method of claim 23, further comprising:

receiving, by the processor, a spatial location (804) having the one or more potential gas sources.

25. The method of claim 23, further comprising:

receiving, by the processor, a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources.

26. The method of claim 25, wherein determining the flight envelope encompassing the one or more potential plume envelopes is further based on the received desired level of confidence.

27. The method of claim 26, further comprising: determining, by the processor, a flight path (216, 300) for an aerial vehicle (816) having at least one trace-gas sensor (822), wherein the flight path covers a portion (212) of the determined flight envelope.

28. The method of claim 27, further comprising:

receiving, by the processor, gas data from the one or more trace-gas sensors of the portion of the determined flight envelope.

29. The method of claim 28, further comprising:

determining, by the processor, based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence

30. The method of claim 23 further comprising:

receiving, by the processor, a state of the one or more potential gas sources.

31. The method of claim 23, wherein the at least one trace-gas sensor is configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide.

32. A system comprising:

a portable device (836);

at least one trace-gas sensor (822) disposed on the portable device, the trace-gas

sensor configured to generate gas data;

a navigation system (824) disposed on the portable device to determine a location of the at least one trace-gas sensor; and

a processor (802) having addressable memory (830), the processor configured to: receive a spatial location of one or more potential gas sources (806, 808, 810); receive a wind data (814) for the received spatial location;

determine a vehicle trajectory (200) encompassing one or more potential plume envelopes (204) based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data.

33. The system of claim 32, wherein the processor is further configured to: receive a spatial location (804) having the one or more potential gas sources.

34. The system of claim 32, wherein the processor is further configured to:

receive a desired level of confidence (812) for detecting gas leaks from the one or more potential gas sources.

35. The system of claim 34, wherein determining the vehicle trajectory encompassing the one or more potential plume envelopes is further based on the received desired level of confidence.

36. The system of claim 35, wherein the processor is further configured to:

determine a path for the portable device, wherein the path covers a portion (212) of the determined vehicle trajectory.

37. The system of claim 36, wherein the processor is further configured to:

receive the gas data from the one or more gas trace-sensors of the portion of the determined flight envelope.

38. The system of claim 37, wherein the processor is further configured to:

determine based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence.

39. The system of claim 32, wherein the wind data comprises at least one of: a wind direction, a wind speed, a predicted wind direction, and a predicted wind speed.

40. The system of claim 32, wherein the at least one trace-gas sensor is configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide.

41. The system of claim 32, wherein the portion of the determined flight envelope

excludes a restricted zone (208), wherein the restricted zone is an area within a set distance of each of the one or more potential gas sources.

Description:
Time- and Data-Efficient Assurance Of Leak Detection

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the priority benefit of U.S. Provisional Patent

Application Serial Number 62/829,752 filed April 5, 2019, which is incorporated herein by reference in its entirety

FIELD OF ENDEAVOR

[0002] The invention relates to gas sensors, and more particularly to gas leak detection.

BACKGROUND

[0003] Trace gas sensors are used to detect and quantify leaks of toxic gases, e.g., hydrogen disulfide, or environmentally damaging gases, e.g., methane and sulfur dioxide, in a variety of industrial and environmental contexts. Detection and quantification of these leaks are of interest to a variety of industrial operations, e.g., oil and gas, chemical production, and painting, as well as environmental regulators for assessing compliance and mitigating environmental and safety risks.

SUMMARY

[0004] A system embodiment may include: an aerial vehicle; at least one trace-gas sensor disposed on the aerial vehicle, the trace-gas sensor configured to generate gas data; a global positioning system disposed on the aerial vehicle to determine a location of the at least one trace-gas sensor; and a processor having addressable memory, the processor configured to: receive a spatial location having one or more potential gas sources; receive a spatial location of the one or more potential gas sources; receive a desired level of confidence for detecting gas leaks from the one or more potential gas sources; receive a wind data for the received spatial location; determine a flight envelope encompassing one or more potential plume envelopes based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data; determine a flight path for the aerial vehicle, where the flight path covers a portion of the determined flight envelope; receive the gas data from the one or more gas trace-gas sensors of the portion of the determined flight envelope; and determine based on the received gas data whether a gas leak may be present in the received spatial location to the received desired level of confidence.

[0005] In additional system embodiments, the wind data may include a wind direction and a wind speed. In additional system embodiments, the wind data may include at least one of: a predicted wind direction and a predicted wind speed. In additional system embodiments, the portion of the determined flight envelope excludes a restricted zone, where the restricted zone may be an area within a set distance of each of the one or more potential gas sources.

[0006] In additional system embodiments, the at least one trace-gas sensor may be configured to detect hydrogen disulfide. In additional system embodiments, the at least one trace-gas sensor may be configured to detect methane. In additional system embodiments, the at least one trace-gas sensor may be configured to detect sulfur oxide. In additional system embodiments, the at least one trace-gas sensor may be configured to detect carbon dioxide. In additional system embodiments, the at least one trace-gas sensor may be configured to detect nitrogen oxide.

[0007] In additional system embodiments, the aerial vehicle may be an unmanned aerial vehicle (UAV). In additional system embodiments, the determined flight plan may include one or more random points within the determined one or more potential plume envelopes. In additional system embodiments, the one or more random points may be connected into a flight pattern using a route planning algorithm. In additional system embodiments, the route planning algorithm may be a traveling salesman algorithm.

[0008] A method embodiment may include: receiving, by a processor having addressable memory, a spatial location having one or more potential gas sources; receiving, by the processor, a spatial location of the one or more potential gas sources; receiving, by the processor, a desired level of confidence for detecting gas leaks from the one or more potential gas sources; receiving, by the processor, a wind data for the received spatial location;

determining, by the processor, a flight envelope encompassing one or more potential plume envelopes based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data; determining, by the processor, a flight path for an aerial vehicle having at least one trace-gas sensor, where the flight path covers a portion of the determined flight envelope; receiving, by the processor, gas data from the one or more trace-gas sensors of the portion of the determined flight envelope; and determining, by the processor, based on the received gas data whether a gas leak may be present in the received spatial location to the received desired level of confidence. [0009] Additional method embodiments may include: receiving, by the processor, a state of the one or more potential gas sources. In additional method embodiments, the at least one trace-gas sensor may be configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide.

[0010] An additional system embodiment may include: a portable device; at least one trace-gas sensor disposed on the portable device, the trace-gas sensor configured to generate gas data; a global positioning system disposed on the portable device to determine a location of the at least one trace-gas sensor; and a processor having addressable memory, the processor configured to: receive a spatial location having one or more potential gas sources; receive a spatial location of the one or more potential gas sources; receive a desired level of confidence for detecting gas leaks from the one or more potential gas sources; receive a wind data for the received spatial location; determine a flight envelope encompassing one or more potential plume envelopes based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and the received wind data; determine a path for the portable device, where the path covers a portion of the determined flight envelope; receive the gas data from the one or more gas trace-sensors of the portion of the determined flight envelope; and determine based on the received gas data whether a gas leak may be present in the received spatial location to the received desired level of confidence.

[0011] In additional system embodiments, the wind data comprises at least one of: a wind direction, a wind speed, a predicted wind direction, and a predicted wind speed. In additional system embodiments, the at least one trace-gas sensor may be configured to detect at least one of: hydrogen disulfide, methane, sulfur oxide, carbon dioxide, and nitrogen oxide. In additional system embodiments, the portion of the determined flight envelope excludes a restricted zone, where the restricted zone may be an area within a set distance of each of the one or more potential gas sources.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principals of the invention. Like reference numerals designate corresponding parts throughout the different views. Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which:

[0013] FIG. 1 depicts a forward model potential plume envelopes generated using wind data, according to one embodiment; [0014] FIG. 2A depicts a flight envelope calculated from forward model plume mixing, according to one embodiment;

[0015] FIG. 2B depicts a close-up view of a portion of the plume envelope of FIG.

2A, according to one embodiment;

[0016] FIG. 2C depicts a portion of the plume envelope of FIG. 2B to be sampled, according to one embodiment;

[0017] FIG. 2D depicts waypoints in the portion of the plume envelope of FIG. 2C to be sampled, according to one embodiment;

[0018] FIG. 2E depicts a flight path for the waypoints in the portion of the plume envelope of FIG. 2D, according to one embodiment;

[0019] FIG. 3 depicts random waypoints with a traveling salesman route, according to one embodiment;

[0020] FIG. 4A depicts an image of an area to be sampled, according to one embodiment;

[0021] FIG. 4B depicts random samples of the image of FIG. 4A along the paths traversed in FIG. 2, according to one embodiment;

[0022] FIG. 4C depicts a reconstructed image from the random samples of FIG. 4B, according to one embodiment;

[0023] FIG. 5 shows a high-level block diagram and process of a computing system for implementing an embodiment of the system and process;

[0024] FIG. 6 shows a block diagram and process of an exemplary system in which an embodiment may be implemented;

[0025] FIG. 7 depicts a cloud computing environment for implementing an embodiment of the system and process disclosed herein;

[0026] FIG. 8A depicts a high-level block diagram of a gas leak detection system, according to one embodiment;

[0027] FIG. 8B depicts a high-level block diagram of an alternate gas leak detection system, according to one embodiment; and

[0028] FIG. 9 depicts a high-level flowchart of a method embodiment of determining a likelihood of gas leaks within a spatial location, according to one embodiment

DETAILED DESCRIPTION

[0029] The following description is made for the purpose of illustrating the general principles of the embodiments discloses herein and is not meant to limit the concepts disclosed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations. Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the description as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.

[0030] The present system allows for the creation of a flight plan to ascertain whether any gas leaks are present within a set spatial location. The spatial location may be a two- dimensional area, a three-dimensional area, a GPS location, and/or a geographical area. The created flight plan accounts for wind and a likelihood of the presence of gas leaks. This created flight plan allows for the determination, within a desired confidence level, as to whether any gas leaks are present in the set spatial location. This created flight plan may be accomplished by an aerial vehicle, such as an unmanned aerial vehicle, within a set time so as to provide time-efficient and data-efficient sampling of the set spatial location.

[0031] Trace gas sensors are used to detect and quantify leaks of toxic gases, e.g., hydrogen disulfide, or environmentally damaging gases, e.g., methane and sulfur dioxide, in a variety of industrial and environmental contexts. Detection and quantification of these leaks are of interest to a variety of industrial operations, e.g., oil and gas, chemical production, and painting, as well as environmental regulators for assessing compliance and mitigating environmental and safety risks.

[0032] The recent availability of small, highly maneuverable, remotely piloted airborne platforms presents an opportunity to detect, localize, and quantify leaks at industrial sites. The presence of a leak can be ascertained by flying downwind of a site and surveying for the gas of interest. If the gas of interest is detected, the leak location and quantification can be determined by subsequent surveys, each moving upstream until the source of the leak is determined.

[0033] In practice, leak localization and detection are made more challenging by the dynamic nature of wind and the limited flight duration of aerial platforms. For example, if no trace gas is detected downwind of a site, without taking into account the details of local weather patterns, there is no a prioi guarantee of no leaks at that site given that winds are constantly changing direction and velocity. For example, the trace gas may have been blowing in a direction that the survey did not capture. For a leak detection method to be effective, site operators and regulators may require assurances that a site is leak free with a high confidence, i.e., site operators and regulators aim to minimize the likelihood of a false negative. [0034] While it is possible to fly a route that reduces the likelihood of missing the discovery of a leak within a survey area, flying such a flight pattern downwind of an industrial site requires expert knowledge of dynamic jet propagation and mixing. It would be an advance in the art to provide flight platform operators an envelope and route to follow that time- and space-efficiently surveys a site and can determine, with a computed level of confidence, whether the site is leak free.

[0035] This advance in the art is achieved by fusing local wind measurements with flight planning and operation. By measuring and recording local wind data and making intelligent assumptions about leak sources based on equipment located on site, a flight envelope can be computed using a physics-based forward-computed fluid mixing model. This forward-model takes in a time series of point measurements of wind speed, direction, and variance, and, based on conservation of fluid momentum and mass, computes the probability that the gas of interest will be present at any given time in each discretized location in the survey area.

[0036] Then, once flight envelopes are computed, flight trajectories may be computed to efficiently sample this space, by maximizing the flight space covered in the shortest amount of time, while simultaneously maximizing the confidence level of a leak false negative.

[0037] FIG. 1 depicts a forward model 100 potential plume envelopes 102 generated using wind 104 data, according to one embodiment. Wind 104 creates potential plume envelopes 102 from potential gas sources 106. Each potential gas source 106 may be a single potential gas source or a cluster of potential gas sources.

[0038] FIG. 2A depicts a flight envelope 200 calculated from forward model plume mixing 202, according to one embodiment. The flight envelope 200 encompasses the potential plume envelopes 204, as shown in FIG. 1 as 102. The plume envelopes 204 may be a two-dimensional location in some embodiments. In other embodiments, the plume envelopes 204 may be a three-dimensional area. The plume envelopes 204 may account for rising or falling gases based on the wind direction, wind speed, type of gas from each potential gas source 210, and the like. Each of the one or more potential gas sources 210 may each have an associated restricted zone 208. The restricted zone may be a no-fly, or no entry, area within a set distance of a potential gas source 210. The restricted zone 210 may be based on user preference, regulations, and/or type of potential gas source 210. For example, some potential gas sources 210 may have larger restricted zones 210 than other potential gas sources 210. The optimal flight area 206 for each potential gas source 210 is based on the desired confidence level for detecting a gas leak. The optimal flight area 206 may be expanded for an increased desired confidence level. The optimal flight area 206 may be reduced for a decreased desired confidence level. In some embodiments, the optimal flight area 206 may be increased for higher winds and decreased for lower winds.

[0039] FIG. 2B depicts a close-up view of a portion of the plume envelope 204 of FIG. 2A, according to one embodiment. As shown in FIG. 2B, only a portion of the optimal flight area 206 surrounding each potential gas source 210 overlaps with the potential plume envelope 204 due to the wind direction and wind speed.

[0040] FIG. 2C depicts a portion 212 of the plume envelope of FIG. 2B to be sampled, according to one embodiment. The overlapping area between the optimal flight area 206, as shown in FIG. 2B, and the potential plume envelope 204, as shown in FIG. 2B, is the portion 212 of the plume envelope to be sampled. This portion 212 of the plume envelope includes the areas likely to include trace-gas if a gas leak is present while excluding any restricted zones 208, as shown in FIG. 2B, around each possible gas source 210.

[0041] FIG. 2D depicts waypoints 214 in the portion 212 of the plume envelope of FIG. 2C to be sampled, according to one embodiment. One or more waypoints 214 may be added in the portion 212 of the plume envelope to be sampled. The waypoints 214 may be distributed in a uniform, random, or other pattern. In some embodiments, waypoints 214 may be positioned in a greater density closer to each potential gas source 210. The waypoints 214 may be positioned in a lower density farther away from each potential gas source 210. The number and/or location of the waypoints 214 may be based on the desired level of confidence for detecting any gas leaks for the potential gas sources 210.

[0042] FIG. 2E depicts a flight path 216 for the waypoints 214 in the portion 212 of the plume envelope of FIG. 2D, according to one embodiment. A raster pattern may be used as the flight path 216 to connect the waypoints 214. In other embodiments, a traveling salesman route, as shown in FIG. 3, or other route may be used to connect the waypoints 214 within the portion 212 of the plume envelope. The flight path may be contained within the portion 210 of the plume envelope. In other embodiments, the flight path may avoid going into the restricted zone 208, as shown in FIG. 2B. In one embodiment, the flight path may be a random walk to connect waypoints 214. While waypoints are shown, the flight path 216 may be generated by the system and method disclosed herein so as to cover the portion 212 of the plume envelope to be sampled at the desired level of confidence for detecting trace-gas leaks from the potential gas sources 210. [0043] FIG. 3 depicts random waypoints 300 with a traveling salesman route, according to one embodiment. In some embodiments, the start point and finish point may be different. One method for efficiently traversing the flight envelope is to randomly disperse waypoints across the plume, as shown in FIG. 1, and/or the flight envelope, as shown in FIG. 2, in densities proportional to likelihood of gas being present within the flight envelope.

These random points are then connected into a flight pattern using a route planning algorithm, such as the traveling salesman algorithm. The resulting data is reconstructed into a 3D representation of the space using an LI -norm regression and an appropriate basis set, e.g., a wavelet or discrete cosine transform.

[0044] This approach disclosed herein yields relatively narrow flight windows for low-variance wind conditions, and it yields larger flight envelopes for high-variance wind conditions. The random distribution of flight waypoints forces the sensor to spend more time sampling regions with a high likelihood of gas and eliminates any sampling bias introduced by rastering.

[0045] Furthermore, in a post-processing step, a given site that has been deemed free of leaks after flying a known flight path can be simulated in a Monte Carlo fashion, using the same walk-forward model described above, testing the assumptions put in place regarding potential leak sources, and quantifying the level of confidence that a site is, indeed, free of any leaks. In some embodiments, a Monte Carlo simulation, or other simulation, may be used to determine the one or more potential plume envelopes.

[0046] FIG. 4A depicts an image of an area to be sampled 402, according to one embodiment.

[0047] FIG. 4B depicts random samples 404 of the image of FIG. 4 A along the paths traversed in FIG. 2, according to one embodiment.

[0048] FIG. 4C depicts a reconstructed image 406 from the random samples of FIG. 4B, according to one embodiment.

[0049] FIG. 5 is a high-level block diagram 500 showing a computing system comprising a computer system useful for implementing an embodiment of the system and process, disclosed herein. Embodiments of the system may be implemented in different computing environments. The computer system includes one or more processors 502, and can further include an electronic display device 504 (e.g., for displaying graphics, text, and other data), a main memory 506 (e.g., random access memory (RAM)), storage device 508, a removable storage device 510 (e.g., removable storage drive, a removable memory module, a magnetic tape drive, an optical disk drive, a computer readable medium having stored therein computer software and/or data), user interface device 511 (e.g., keyboard, touch screen, keypad, pointing device), and a communication interface 512 (e.g., modem, a network interface (such as an Ethernet card), a communications port, or a PCMCIA slot and card). The communication interface 512 allows software and data to be transferred between the computer system and external devices. The system further includes a communications infrastructure 514 (e.g., a communications bus, cross-over bar, or network) to which the aforementioned devices and modules are connected as shown.

[0050] Information transferred via communications interface 514 may be in the form of signals such as electronic, electromagnetic, optical, or other signals capable of being received by communications interface 514, via a communication link 516 that carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular/mobile phone link, a radio frequency (RF) link, and/or other communication channels. Computer program instructions representing the block diagram and/or flowcharts herein may be loaded onto a computer, programmable data processing apparatus, or processing devices to cause a series of operations performed thereon to produce a computer implemented process.

[0051] Embodiments have been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments. Each block of such illustrations/diagrams, or combinations thereof, can be implemented by computer program instructions. The computer program instructions when provided to a processor produce a machine, such that the instructions, which execute via the processor, create means for implementing the functions/operations specified in the flowchart and/or block diagram. Each block in the flowchart/block diagrams may represent a hardware and/or software module or logic, implementing embodiments. In alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, concurrently, etc.

[0052] Computer programs (i.e., computer control logic) are stored in main memory and/or secondary memory. Computer programs may also be received via a communications interface 512. Such computer programs, when executed, enable the computer system to perform the features of the embodiments as discussed herein. In particular, the computer programs, when executed, enable the processor and/or multi-core processor to perform the features of the computer system. Such computer programs represent controllers of the computer system.

[0053] FIG. 6 shows a block diagram of an example system 600 in which an embodiment may be implemented. The system 600 includes one or more client devices 601 such as consumer electronics devices, connected to one or more server computing systems 630. A server 630 includes a bus 602 or other communication mechanism for communicating information, and a processor (CPU) 604 coupled with the bus 602 for processing information. The server 630 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 602 for storing information and instructions to be executed by the processor 604. The main memory 606 also may be used for storing temporary variables or other intermediate information during execution or instructions to be executed by the processor 604. The server computer system 630 further includes a read only memory (ROM) 608 or other static storage device coupled to the bus 602 for storing static information and instructions for the processor 604. A storage device 610, such as a magnetic disk or optical disk, is provided and coupled to the bus 602 for storing information and instructions. The bus 602 may contain, for example, thirty -two address lines for addressing video memory or main memory 606. The bus 602 can also include, for example, a 32-bit data bus for transferring data between and among the components, such as the CPU 604, the main memory 606, video memory and the storage 610. Alternatively, multiplex data/address lines may be used instead of separate data and address lines.

[0054] The server 630 may be coupled via the bus 602 to a display 612 for displaying information to a computer user. An input device 614, including alphanumeric and other keys, is coupled to the bus 602 for communicating information and command selections to the processor 604. Another type or user input device comprises cursor control 616, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processor 604 and for controlling cursor movement on the display 612.

[0055] According to one embodiment, the functions are performed by the processor 604 executing one or more sequences of one or more instructions contained in the main memory 606. Such instructions may be read into the main memory 606 from another computer-readable medium, such as the storage device 610. Execution of the sequences of instructions contained in the main memory 606 causes the processor 604 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in the main memory 606. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiments. Thus, embodiments are not limited to any specific combination of hardware circuitry and software. [0056] The terms "computer program medium," "computer usable medium,"

"computer readable medium", and "computer program product," are used to generally refer to media such as main memory, secondary memory, removable storage drive, a hard disk installed in hard disk drive, and signals. These computer program products are means for providing software to the computer system. The computer readable medium allows the computer system to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium. The computer readable medium, for example, may include non-volatile memory, such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM, and other permanent storage. It is useful, for example, for transporting information, such as data and computer instructions, between computer systems. Furthermore, the computer readable medium may comprise computer readable information in a transitory state medium such as a network link and/or a network interface, including a wired network or a wireless network that allow a computer to read such computer readable information. Computer programs (also called computer control logic) are stored in main memory and/or secondary memory. Computer programs may also be received via a communications interface. Such computer programs, when executed, enable the computer system to perform the features of the embodiments as discussed herein. In particular, the computer programs, when executed, enable the processor multi-core processor to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system.

[0057] Generally, the term "computer-readable medium" as used herein refers to any medium that participated in providing instructions to the processor 604 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as the storage device 610. Volatile media includes dynamic memory, such as the main memory 606 Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 602 Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

[0058] Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.

[0059] Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor 604 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to the server 630 can receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus 602 can receive the data carried in the infrared signal and place the data on the bus 602. The bus 602 carries the data to the main memory 606, from which the processor 604 retrieves and executes the instructions. The instructions received from the main memory 606 may optionally be stored on the storage device 610 either before or after execution by the processor 604.

[0060] The server 630 also includes a communication interface 618 coupled to the bus 602. The communication interface 618 provides a two-way data communication coupling to a network link 620 that is connected to the world wide packet data communication network now commonly referred to as the Internet 628. The Internet 628 uses electrical,

electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 620 and through the communication interface 618, which carry the digital data to and from the server 630, are exemplary forms or carrier waves transporting the information.

[0061] In another embodiment of the server 630, interface 618 is connected to a network 622 via a communication link 620. For example, the communication interface 618 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line, which can comprise part of the network link 620. As another example, the communication interface 618 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the

communication interface 618 sends and receives electrical electromagnetic or optical signals that carry digital data streams representing various types of information.

[0062] The network link 620 typically provides data communication through one or more networks to other data devices. For example, the network link 620 may provide a connection through the local network 622 to a host computer 624 or to data equipment operated by an Internet Service Provider (ISP). The ISP in turn provides data communication services through the Internet 628. The local network 622 and the Internet 628 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 620 and through the communication interface 618, which carry the digital data to and from the server 630, are exemplary forms or carrier waves transporting the information.

[0063] The server 630 can send/receive messages and data, including e-mail, program code, through the network, the network link 620 and the communication interface 618.

Further, the communication interface 618 can comprise a USB/Tuner and the network link 620 may be an antenna or cable for connecting the server 630 to a cable provider, satellite provider or other terrestrial transmission system for receiving messages, data and program code from another source.

[0064] The example versions of the embodiments described herein may be implemented as logical operations in a distributed processing system such as the system 600 including the servers 630. The logical operations of the embodiments may be implemented as a sequence of steps executing in the server 630, and as interconnected machine modules within the system 600. The implementation is a matter of choice and can depend on performance of the system 600 implementing the embodiments. As such, the logical operations constituting said example versions of the embodiments are referred to for e.g., as operations, steps or modules.

[0065] Similar to a server 630 described above, a client device 601 can include a processor, memory, storage device, display, input device and communication interface (e.g., e-mail interface) for connecting the client device to the Internet 628, the ISP, or LAN 622, for communication with the servers 630.

[0066] The system 600 can further include computers (e.g., personal computers, computing nodes) 605 operating in the same manner as client devices 601, wherein a user can utilize one or more computers 605 to manage data in the server 630.

[0067] Referring now to FIG. 7, illustrative cloud computing environment 50 is depicted. As shown, cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA), smartphone, smart watch, set-top box, video game system, tablet, mobile computing device, or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and/or UAV 54N may communicate. Nodes 10 may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices 54A-N shown in FIG. 7 are intended to be illustrative only and that computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

[0068] FIG. 8A depicts a high-level block diagram of a gas leak detection system 800, according to one embodiment. The system includes a processor 802. The processor 802 receives a spatial location 804, which may be an area containing one or more potential gas sources 806, 808, 810. The processor 802 receives the spatial location of the one or more potential gas sources 806, 808, 810 within the spatial location 804. The one or more potential gas sources 806, 808, 810 may be equipment and/or locations more likely to leak toxic gases, such as hydrogen disulfide, or environmentally damaging gases, such as methane and sulfur dioxide. In some embodiments, the at least one gas sensor 822 may be configured to detect carbon dioxide. In other embodiments, the at least one gas sensor 822 may be configured to detect nitrogen oxide. In other embodiments, the at least one gas sensor 822 may be configured to detect sulfur oxide, such as SO, SO 2 , SO 3 , S 7 O 2 , S 6 O 2 , S 2 O 2 , and the like. The processor 802 may also receive a level of confidence 812 desired as to whether any gas leaks are present within the received spatial location 804. The higher the level of confidence 812, the longer it may take the system 800 to determine whether any gas leaks are present in the spatial location 804. A reasonably high level of confidence 812 may be achieved in a time- efficient manner using the system 800 disclosed herein. The processor 802 may also receive wind data 814. Wind data 814 may include wind speed and/or wind direction for the spatial location 804. In some embodiments, wind data 814 may also include predictions as to changes in the wind speed and/or wind direction.

[0069] The processor 802 may determine one or more potential plume envelopes, such as shown in FIG. 2. The potential plume envelopes cover potential plumes from gas leaks emanating from the one or more potential gas sources 806, 808, 810. The one or more potential plume envelopes contain the area that will be tested by one or more gas leak sensors.

[0070] The processor then determines a flight path for an aerial vehicle 816 having at least one gas sensor 822. The flight path for the aerial vehicle 816 covers the one or more potential plume envelopes determined by the processor 802. The aerial vehicle 816 may be an unmanned aerial vehicle (UAV) in some embodiments. The aerial vehicle 816 may have a processor 818 in communication with addressable memory 820, a GPS 824, one or more motors 826, and a power supply 828. The aerial vehicle 816 may receive the flight plan from the processor 802 and communicate gathered gas sensor 822 sensor to the processor 802. The GPS 824 may record the location of the aerial vehicle 816 when each gas sensor 822 data is acquired. The GPS 824 may also allow the aerial vehicle 816 to travel the flight path generated by the processor 802. In some embodiments, the location of the aerial vehicle 816 may be determined by an onboard avionics 834. The onboard avionics 834 may include a triangulation system, a beacon, a spatial coordinate system, or the like. The onboard avionics 834 may be used with the GPS 824 in some embodiments. In other embodiments, the aerial vehicle 816 may use only one of the GPS 824 and the onboard avionics 834.

[0071] The power supply 828 may be a battery in some embodiments. The power supply 828 may limit the available flight time for the aerial vehicle 816 and so it is crucial that the potential plume envelopes are accurate to allow for data that can be used to make a determination as to whether there are any gas leaks within the desired level of confidence 812. In some embodiments, the flight plan may be split up into two or more flights based on a size of the potential plumes, a flight time of the aerial vehicle 816, weather conditions, and the like. In some embodiments, the processor 802 may be a part of the aerial vehicle 816, a cloud computing device, a ground control station (GCS) used to control the aerial vehicle 816, or the like.

[0072] The processor 802 may receive gas data from the one or more gas sensors 822 of the aerial vehicle 816. The processor may then determine, based on the received gas data, whether a gas leak is present in the received spatial location to the desired level of confidence. If a gas leak is not detected, no immediate action is needed and further tests may be accomplished in the future to ensure that no gas leaks develop. If a gas leak is detected, then corrective action may be taken to minimize and/or stop the gas leak.

[0073] In some embodiments, the processor 802 may be in communication with addressable memory 830. The memory may store the result of whether a gas leak was detected, historical gas data, the received spatial location 804, potential gas sources 806, 808, 810, level of confidence 812, wind data 814, and/or aerial vehicle 816 information. In some embodiments, the processor 802 may be in communication with an additional processor 832. The additional processor 832 may be a part of the aerial vehicle 816, a cloud computing device, a GCS used to control the aerial vehicle 816, or the like.

[0074] FIG. 8B depicts a high-level block diagram of an alternate gas leak detection system 801, according to one embodiment. The system includes a processor 802. The processor 802 receives a spatial location 804, which may be an area containing one or more potential gas sources 806, 808, 810. The processor 802 receives the spatial location of the one or more potential gas sources 806, 808, 810 within the spatial location 804. The one or more potential gas sources 806, 808, 810 may be equipment and/or locations more likely to leak toxic gases, such as hydrogen disulfide, or environmentally damaging gases, such as methane and sulfur dioxide. The processor 802 may also receive a level of confidence 812 desired as to whether any gas leaks are present within the received spatial location 804. The higher the level of confidence 812, the longer it may take the system 800 to determine whether any gas leaks are present in the spatial location 804. A reasonably high level of confidence 812 may be achieved in a time-efficient manner using the system 800 disclosed herein. The processor 802 may also receive wind data 814. Wind data 814 may include wind speed and/or wind direction for the spatial location 804. In some embodiments, wind data 814 may also include predictions as to changes in the wind speed and/or wind direction.

[0075] The processor 802 may determine one or more potential plume envelopes, such as shown in FIG. 2. The potential plume envelopes cover potential plumes from gas leaks emanating from the one or more potential gas sources 806, 808, 810. The one or more potential plume envelopes contain the area that will be tested by one or more gas leak sensors.

[0076] The processor then determines a path for a portable device 836 having at least one gas sensor 822. The portable device 836 may be a handheld device, a robot-mounted device, an aerial vehicle (AV), an unmanned aerial vehicle (UAV), or the like. The path for the portable device 836 covers the one or more potential plume envelopes determined by the processor 802. The portable device 836 may have a processor 818 in communication with addressable memory 820, a GPS 824, one or more motors 826, and a power supply 828. The portable device 836 may receive the path from the processor 802 and communicate gathered gas sensor 822 sensor data to the processor 802. The GPS 824 may record the location of the portable device 836 when each gas sensor 822 data is acquired. The GPS 824 may also allow the portable device 836 to travel the path generated by the processor 802. In some

embodiments, the location of the portable device 836 may be determined by a location service 838. The location service 838 may include a triangulation system, a beacon, a spatial coordinate system, or the like. The location service 838 may be used with the GPS 824 in some embodiments. In other embodiments, the portable device 836 may use only one of the GPS 824 and the location service 838. [0077] The power supply 828 may be a battery in some embodiments. The power supply 828 may limit the available data gathering time for the portable device 836 and so it is crucial that the potential plume envelopes are accurate to allow for data that can be used to make a determination as to whether there are any gas leaks within the desired level of confidence 812. In some embodiments, the path may be split up into two or more paths based on a size of the potential plumes, a path time of the portable device 836, weather conditions, and the like. In some embodiments, the processor 802 may be a part of the portable device 836, a cloud computing device, a controller used to control the portable device 836, or the like.

[0078] The processor 802 may receive gas data from the one or more gas sensors 822 of the portable device 836. The processor may then determine, based on the received gas data, whether a gas leak is present in the received spatial location to the desired level of confidence. If a gas leak is not detected, no immediate action is needed and further tests may be accomplished in the future to ensure that no gas leaks develop. If a gas leak is detected, then corrective action may be taken to minimize and/or stop the gas leak.

[0079] In some embodiments, the processor 802 may be in communication with addressable memory 830. The memory may store the result of whether a gas leak was detected, historical gas data, the received spatial location 804, potential gas sources 806, 808, 810, level of confidence 812, wind data 814, and/or portable device 836 information. In some embodiments, the processor 802 may be in communication with an additional processor 832. The additional processor 832 may be a part of the portable device 836, a cloud computing device, a controller used to control the portable device 836, or the like.

[0080] FIG. 9 depicts a high-level flowchart of a method embodiment 900 of determining a likelihood of gas leaks within a spatial location, according to one embodiment. The method 900 may include receiving, by a processor having addressable memory, a spatial location having one or more potential gas sources (step 902). The method 900 may then include receiving, by the processor, a spatial location and/or state of the one or more potential gas sources (step 904). In some embodiments, the state of the potential gas source, i.e., on or off, may be communicated. For some potential gas sources, being in an off state could drop the potential for a gas leak to zero or close to zero. For example, a potential gas source in an off position could have no potential plume enveloped associated with the off potential gas source. The method 900 may then include receiving, by the processor, a desired level of confidence for detecting gas leaks from the one or more potential gas sources (step 906). [0081] The method 900 may then include receiving, by the processor, a wind data for the received spatial location (step 908). The wind data may include a wind speed and a wind direction. In some embodiments, the wind data may include multiple wind speeds and wind directions. In some embodiments, the wind data may include historical wind directions and wind speeds. In some embodiments, the wind data may include predicted future wind directions and wind speeds. These four inputs (902, 904, 906, 908) may be received in any order. In some embodiments, the received spatial location (step 902) may be inferred from the received spatial location and/or state of the one or more potential gas sources (step 904).

[0082] The method 900 may then include determining, by the processor, one or more potential plume envelopes based on the received spatial location, the received spatial location of the one or more potential gas sources, the received desired level of confidence, and/or the received wind direction and wind speed (step 910). The method 900 may then include determining, by the processor, a flight path for an aerial vehicle having at least one gas sensor, where the flight path covers the determined one or more potential plume envelopes (step 912). In some embodiments, the aerial vehicle may not be able to cover an entire portion of the plume envelope due to flight restrictions, access constraints, or the like. In some embodiments, the flight path may be modified if the entire portion of the plume envelope cannot be covered. For example, the desired level of confidence may be lowered, the flight time may be increased, the flight path may be modified, or the like in response to a restriction on covering the entire portion of the plume envelope. While an aerial vehicle is described, in some embodiments, the gas sensor may be mounted on a robot, a handheld device, or the like.

[0083] The method 900 may then include receiving, by the processor, gas data from the one or more gas sensors of the determined one or more potential plume envelopes (step 914). The method 900 may then include determining, by the processor, based on the received gas data whether a gas leak is present in the received spatial location to the received desired level of confidence (step 916).

[0084] It is contemplated that various combinations and/or sub-combinations of the specific features and aspects of the above embodiments may be made and still fall within the scope of the invention. Accordingly, it should be understood that various features and aspects of the disclosed embodiments may be combined with or substituted for one another in order to form varying modes of the disclosed invention. Further, it is intended that the scope of the present invention herein disclosed by way of examples should not be limited by the particular disclosed embodiments described above.