Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUTOMATED FLIGHT PLANNING FOR ASSET INSPECTION
Document Type and Number:
WIPO Patent Application WO/2023/150487
Kind Code:
A1
Abstract:
A method is provided and includes receiving a list including a footprint of one or more sites, three-dimensional locations of one or more assets located, respectively at the one or more sites, and obstacles located at the site. A first circle associated with selected ones of the assets can be identified and a plurality of discrete nodes along the circumference of each first circle can be determined. Inspection planning rules can be received and include a respective perimeter associated with each of the selected assets, and a no-travel zone associated with each of the selected assets and/or the obstacles. A node-node cost between each node of the first circles and a node-node time for travel between respective nodes of the first circles can be determined. An inspection plan can be determined based on the node-node cost and the node-node time and provided to an autonomous vehicle.

Inventors:
KAIRIUKSTIS EDVARDAS (US)
CHU MARS (US)
HOANG THAI (US)
ODISIO MATTHIAS (US)
WHITING OZGE (US)
Application Number:
PCT/US2023/061567
Publication Date:
August 10, 2023
Filing Date:
January 30, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAKER HUGHES HOLDINGS LLC (US)
International Classes:
G05D1/10; B64C39/02; B64U20/87; G01C21/24; G05D1/00; G06Q10/06
Foreign References:
US20210065563A12021-03-04
US20100211312A12010-08-19
US20170270805A12017-09-21
US20150112516A12015-04-23
KR20200012467A2020-02-05
Attorney, Agent or Firm:
TURLEY, Kyle et al. (US)
Download PDF:
Claims:
CLAIMS

1. A method, comprising: receiving, by one or more processors, a list including a footprint of one or more sites, three-dimensional locations of one or more assets located, respectively at the one or more sites, and obstacles located at the site; identifying, by the one or more processors based upon the received list, a first circle associated with selected ones of the assets, wherein each circle is centered about its associated asset; determining, by the one or more processors, a plurality of discrete nodes along the circumference of each first circle; receiving, by the one or more processors, inspection planning rules, wherein the inspection planning rules include: a respective perimeter associated with each of the selected assets; and a no-travel zone associated with each of the selected assets and/or the obstacles; wherein the perimeter associated with a selected asset encloses at least a portion of the no-travel zone of the selected asset; determining, by the one or more processors, a node-node cost between each node of the first circles; determining, by the one or more processors, a node-node time for travel between respective nodes of the first circles; determining, by the one or more processors, an inspection plan based upon the determined node-node cost and determined node-node time, the inspection plan including a trajectory for travel including a starting location and a plurality of the nodes; and outputting, by the one or more processors, the inspection plan to an autonomous vehicle.

2. The method of claim 1, wherein at least one camera is mounted to the autonomous vehicle, and the method further comprises: moving the vehicle along the trajectory of the inspection plan; and triggering the at least one camera to acquire at least one image at each node of the trajectory.

3. The method of claim 2, wherein the vehicle is an unmanned aerial vehicle (UAV).

4. The method of claim 2, wherein the at least one camera is an optical camera or an infrared camera.

5. The method of claim 1, further comprising modifying, by the one or more processors, the first circles based upon the received inspection planning rules by removing the discrete nodes of each first circle that are positioned within a respective perimeter, wherein the node-node cost and the node-node time are determined based upon the modified first circles.

6. The method of claim 1, wherein a radius of each first circle is determined based upon at least one of flight altitude, gimbal pitch, or altitude of the selected asset associated with that first circle.

7. The method of claim 1, wherein an arc length between adjacent ones of the plurality of discrete nodes is approximately equal.

8. The method of claim 1, wherein the no-travel zone of each of the assets includes a second circle centered on the asset.

9. The method of claim 8, wherein the no-travel zone associated with each of the selected assets includes a third circle centered on the asset, wherein the radius of the third circle is less than the radius of the second circle.

10. The method of claim 9, wherein the respective perimeter associated with each of the selected assets encloses the third circle of the no-travel zone associated with each of the selected assets.

11. The method of claim 10, wherein at least two selected assets share the same perimeter.

12. The method of claim 10, wherein at least one selected asset does not share a perimeter with another selected asset.

13. The method of claim 1, wherein the perimeters are polygons.

14. The method of claim 1, wherein the node-node cost is based upon a segment length between the respective nodes, a magnitude of a difference in altitude between the respective nodes, and a weighting.

15. The method of claim 1, wherein the node-node time is based upon a distance between the respective nodes, a travel speed between the respective nodes, and an acceleration between the respective nodes.

16. The method of claim 1, wherein the asset is at least one of a tank, a combustor, or a flare stack.

17. A system comprising: a vehicle including one or more sensors; and a computing device communicatively coupled to the vehicle, the computing device including at least one data processor communicatively coupled to the vehicle, and a non-transitory memory storing non-transitory computer-readable instructions, which when executed by the at least one data processor cause the at least one data processor to perform operations comprising receiving, by one or more processors, a list including a footprint of one or more sites, three-dimensional locations of one or more assets located, respectively at the one or more sites, and obstacles located at the site, identifying, by the one or more processors based upon the received list, a first circle associated with selected ones of the assets, wherein each circle is centered about its associated asset, determining, by the one or more processors, a plurality of discrete nodes along the circumference of each first circle, receiving, by the one or more processors, inspection planning rules, wherein the inspection planning rules include a respective perimeter associated with each of the selected assets; and a no-travel zone associated with each of the selected assets and/or the obstacles, wherein the perimeter associated with a selected asset encloses at least a portion of the no-travel zone of the selected asset; determining, by the one or more processors, a node-node cost between each node of the first circles; determining, by the one or more processors, a node-node time for travel between respective nodes of the first circles; determining, by the one or more processors, an inspection plan based upon the determined node-node cost and determined node-node time, the inspection plan including a trajectory for travel including a starting location and a plurality of the nodes; and outputting, by the one or more processors, the inspection plan to an autonomous vehicle.

18. The system of claim 17, wherein the vehicle is an autonomous vehicle and the one or more sensors includes at least one camera mounted to the autonomous vehicle, and instructions further cause the at least one data processor to navigate the vehicle along the trajectory of the inspection plan; and triggering the at least one camera to acquire at least one image at each node of the trajectory.

19. The system of claim 18, wherein the vehicle is an unmanned aerial vehicle (UAV).

20. The system of claim 18, wherein the at least one camera is an optical camera or an infrared camera.

Description:
AUTOMATED FLIGHT PLANNING FOR ASSET INSPECTION

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Patent Application No. 63/306,916 filed on February 4, 2022, and entitled “AUTOMATED FLIGHT PLANNING FOR ASSET INSPECTION”. The entire contents of which is hereby expressly incorporated by reference herein in its entirety.

BACKGROUND

[0002] Industrial operations can include a variety of assets located at one or more sites. As an example, an oil well pad can contain assets such as machinery, tanks containing liquids (e.g. oil, water, chemicals, etc.) and the like. It can be desirable to inspect assets at periodic intervals. For example, visible (RGB) and/or thermal (infrared) images acquired from inspection can be analyzed to identify assets in need of repair (e.g., a leaking tank), detect debris in areas where the debris can pose a safety risk, detect methane emissions, etc. In turn, information acquired from inspection can be analyzed for a variety of purposes, such as confirmation of asset integrity, emissions monitoring, and maintenance scheduling, amongst others.

SUMMARY

[0003] Unmanned aerial vehicles (UAVs) equipped with cameras have been extensively employed to inspect assets at industrial sites. Conventionally, a data collection mission plan is prepared by a human operator. However, it can require multiple, time-consuming iterations to develop a flight plan that meets flight constraints, such as trajectory, speed, altitude, total distance traveled, elapsed time of inspection, fuel capacity, field of view of the cameras, and the like.

[0004] Accordingly, embodiments of the present disclosure provide improved techniques for developing flight plans for asset inspection. As discussed in greater detail below, systems and methods providing automated flight planning are provided. [0005] Embodiments of the disclosed systems and methods can be employed for use in a wide variety of inspection tasks. One example is detection of fugitive methane emissions, where potential emitters, such as thief hatches are selected as assets for inspection. Another example is leak detection, where liquid (e.g., oil and/or gas) containing vessels are selected as assets for inspection. A further example is evaluation of equipment integrity (e.g., presence of solar panels, loading docks, open electrical doors, etc.) An additional example is detection of external corrosion.

[0006] In an embodiment, a method is provided. The method can include receiving, by one or more processors, a list. The list can include a footprint of one or more sites, three-dimensional locations of one or more assets located, respectively at the one or more sites, and obstacles located at the site. The method can also include identifying, by the one or more processors based upon the received list, a first circle associated with selected ones of the assets, wherein each circle is centered about its associated asset. The method can further include determining, by the one or more processors, a plurality of discrete nodes along the circumference of each first circle. The method can additionally include receiving, by the one or more processors, inspection planning rules. The inspection planning rules can include a respective perimeter associated with each of the selected assets, and a no-travel zone associated with each of the selected assets and/or the obstacles. The perimeter associated with a selected asset can enclose at least a portion of the no-travel zone of the selected asset. The method can also include determining, by the one or more processors, a node-node cost between each node of the first circles. The method can further include determining, by the one or more processors, a node-node time for travel between respective nodes of the first circles. The method can additionally include determining, by the one or more processors, an inspection plan based upon the determined node-node cost and determined node-node time, the inspection plan including a trajectory for travel including a starting location and a plurality of the nodes. The method can further include outputting the inspection plan to an autonomous vehicle.

[0007] In another embodiment, the at least one camera can be mounted to the autonomous vehicle. The method can further include moving the vehicle along the trajectory of the inspection plan, and triggering the at least one camera to acquire at least one image at each node of the trajectory. [0008] In another embodiment, the vehicle can be an unmanned aerial vehicle (UAV).

[0009] In another embodiment, the at least one camera can be an optical camera or an infrared camera.

[0010] In another embodiment, the method can further include modifying, by the one or more processors, the first circles based upon the received inspection planning rules. The modification can include removing the discrete nodes of each first circle that are positioned within a respective perimeter. The node-node cost and the node-node time can be determined based upon the modified first circles.

[0011] In another embodiment, a radius of each first circle can be determined based upon at least one of flight altitude, gimbal pitch, or altitude of the selected asset associated with that first circle.

[0012] In another embodiment, an arc length between adjacent ones of the plurality of discrete nodes can be approximately equal.

[0013] In another embodiment, the no-travel zone of each of the assets can include a second circle centered on the asset.

[0014] In another embodiment, the no-travel zone associated with each of the selected assets can include a third circle centered on the asset. The radius of the third circle can be less than the radius of the second circle.

[0015] In another embodiment, the respective perimeter associated with each of the selected assets can enclose the third circle of the no-travel zone associated with each of the selected assets.

[0016] In another embodiment, at least two selected assets can share the same perimeter.

[0017] In another embodiment, at least one selected asset does not share a perimeter with another selected asset.

[0018] In another embodiment, the perimeters are polygons. [0019] In another embodiment, the node-node cost is based upon a segment length between the respective nodes, a magnitude of a difference in altitude between the respective nodes, and a weighting.

[0020] In another embodiment, the node-node time is based upon a distance between the respective nodes, a travel speed between the respective nodes, and an acceleration between the respective nodes.

[0021] In another embodiment, the asset is at least one of a tank, a combustor, or a flare stack.

[0022] In another aspect, a system is provided and in one embodiment, the system can include a vehicle including one or more sensors. The system can also include a computing device communicatively coupled to the vehicle. The computing device can include at least one data processor communicatively coupled to the vehicle and a non-transitory memory storing non- transitory computer-readable instructions. The instructions, when executed, can cause the at least one data processor to perform operations including receiving, by one or more processors, a list. The list can include a footprint of one or more sites, three-dimensional locations of one or more assets located, respectively at the one or more sites, and obstacles located at the site. The operations can also include identifying, by the one or more processors based upon the received list, a first circle associated with selected ones of the assets, wherein each circle is centered about its associated asset. The operations can further include determining, by the one or more processors, a plurality of discrete nodes along the circumference of each first circle. The operations can additionally include receiving, by the one or more processors, inspection planning rules. The inspection planning rules can include a respective perimeter associated with each of the selected assets, and a no-travel zone associated with each of the selected assets and/or the obstacles. The perimeter associated with a selected asset can enclose at least a portion of the notravel zone of the selected asset. The operations can also include determining, by the one or more processors, a node-node cost between each node of the first circles. The operations can further include determining, by the one or more processors, a node-node time for travel between respective nodes of the first circles. The operations can additionally include determining, by the one or more processors, an inspection plan based upon the determined node-node cost and determined node-node time, the inspection plan including a trajectory for travel including a starting location and a plurality of the nodes. The operations can further include outputting the inspection plan to an autonomous vehicle.

[0023] In another embodiment, the vehicle can be an autonomous vehicle and the one or more sensors can include at least one camera can be mounted to the autonomous vehicle. The operations can further include navigating the vehicle along the trajectory of the inspection plan, and triggering the at least one camera to acquire at least one image at each node of the trajectory.

[0024] In another embodiment, the vehicle can be an unmanned aerial vehicle (UAV).

[0025] In another embodiment, the at least one camera can be an optical camera or an infrared camera.

DESCRIPTION OF DRAWINGS

[0026] These and other features will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings, in which:

[0027] FIG. 1 is a flow diagram illustrating one embodiment of a method for automatically generating an inspection plan for inspection of one or more sites;

[0028] FIG. 2 is a schematic diagram illustrating one exemplary embodiment of a site and assets located at the site;

[0029] FIG. 3 is a schematic diagram illustrating one exemplary embodiment of the site including first circles including prospective nodes overlaid upon the site and assets of FIG. 2;

[0030] FIGS. 4A-4C are schematic diagrams illustrating exemplary embodiments of first circles, perimeters, no-travel zones associated with respective assets of a site.

[0031] FIG. 5 is a block diagram of an exemplary computing system configured for use performing the method of FIG. 1 according to subject matter described herein.

[0032] It is noted that the drawings are not necessarily to scale. The drawings are intended to depict only typical aspects of the subject matter disclosed herein, and therefore should not be considered as limiting the scope of the disclosure. DETAILED DESCRIPTION

[0033] Embodiments of the present disclosure provide improved preparation of inspection plans including trajectories with nodes to which a vehicle 210 travels. Examples are discussed below in the context of aerial vehicles 210 (e.g., unmanned aerial vehicles; UAVs). However, it will be appreciated that embodiments of the disclosure can be employed with any manned or unmanned vehicle 210 without limit. Examples of vehicles 210 can include, but are not limited to, aircraft (e.g., drones, planes, helicopters) or ground-based vehicles (e.g., automobiles, robots).

[0034] FIG. 1 is a flow diagram illustrating one embodiment of an inspection method 100 for inspecting one or more sites 200, each including a one or more assets 205. As shown, the method 100 includes operations 102-118. However, it can be understood that, in alternative embodiments, one or more of these operations can be omitted and/or performed in a different order than illustrated. Examples of assets 205 can be any machine or structure present at a site 200. Examples of the assets 205 may include, but are not limited to, tanks, combustors, and flare stacks, amongst others.

[0035] In operation 102, a computing device including one or more processors receives a list including a footprint of the one or more sites and locations (e.g., in two and/or three-dimensions) of the one or more assets 205 located at the one or more sites 200 and obstacles 215 located at the site 200. An exemplary embodiment of a site 200, assets 205, vehicle 210, and obstacles 215 located at the site 200, are illustrated in FIG. 2.

[0036] In operation 104, the one or more processors can identify, based upon the received list, a first circle 305 associated with selected ones of the assets 205. In certain embodiments, the selected assets 205 can be every asset of the one or more sites 200. In alternative embodiments, the selected 205 assets can be a sub-set of the total number of assets of the one or more sites 200. It will be appreciated that the assets 205 can be selected based upon any desired criteria or at random, as necessary. For example, for an emissions inspection, assets 205 that generate emissions can be selected. For a volumetry inspection (inspection of a volume), assets 205 that contain liquids (e.g., tanks) can be selected. For a location-based inspection, assets 205 located within a designated area 310 of the one or more sites 200 can be selected. [0037] Each of the first circles 305 can be centered about its associated asset 205 as shown in FIG. 3. In an embodiment, assuming that the vehicle 210 is an aircraft, a radius of each first circle 305 can be determined based upon at least one of flight altitude, gimbal pitch, and altitude of the selected asset associated with that first circle 305. These parameters can be received by the one or processors from user input or retrieved from a memory. These parameters can be further selected based upon a type of inspection being performed. In one example, relatively larger flight altitude can be used when more assets 205 are present, as this can require fewer stops for image acquisition, which in turn reduces flight time and inspection cost. The drawback of this approach is that acquired images are at lower resolution, which can potentially result in loss of accuracy of analysis of the acquired images. Conversely, relatively smaller flight altitude can be used when fewer assets 205 are present and/or higher resolution images are desired. The drawback of this approach is that more stops for image acquisition can be required, which in turn increases flight time and inspection cost. Examples of the first circles 305 overlaid upon the site 200 with respect to the assets 205 are illustrated in FIG. 3.

[0038] In certain embodiments, there can be a single point 320 of interest for an asset 205. For example, as shown in FIG. 3, a single first circle 305E can be employed at about the height of the single point of interest 320E. However, in alternative embodiments (e.g., when the asset is relatively tall), there can be multiple points of interest 320 for the asset 205, each located at different heights. Accordingly, multiple first circles 305 can be employed, each having the same radius but located at the different respective heights of the points of interest 320.

[0039] In operation 106, the one or more processors can further determine a plurality of discrete nodes 315 along the circumference of each first circle 305. The nodes 315 divide up the circumference into a plurality of segments 310, each segment 310 having an arc length extending between adjacent nodes 315. For example, as shown in FIG. 3 for the circle 305A associated with asset 205A, the segment 310A can include node 315A. In an embodiment, the placement of the discrete nodes 315 can be determined based upon a desired arc length, a minimum number of segments 310, and a maximum number of segments 310. In certain embodiments, the arc length of each segment 310 can be approximately equal. [0040] It will be appreciated that there are tradeoffs regarding the number of segments 310 chosen. A relatively low number of segments 310 results in less computational difficulty in identifying inspection paths 220. However, if too few segments are chosen, an optimal inspection path 220 may be missed in areas with a relatively high density of assets 205 and notravel zones, such as oil tanks batteries, etc. Conversely, a relatively high number of segments 310 can decrease the likelihood of missing an optimal inspection path 220 but can also significantly increases the time required to identify a given inspection path 220.

[0041] In operation 108, the one or more processors can receive inspection planning rules. The inspection planning rules can include a perimeter 415 associated with each of the selected assets 205 and a no-travel zone 420 associated with each of the selected assets. The perimeter 415 associated with a selected asset 205 can enclose at least a portion of the no-travel zone 420 of the selected asset 205. As an example, a no-travel zone 420 can be established nearby heat or flame sources for operational safety.

[0042] FIGS. 4A-4C illustrate several examples of perimeters 415 and no-travel zones 420. Embodiments of the perimeters 415 can adopt any close sided shape without limit. Examples of the shapes of perimeters 415 can include, but are not limited to, circles, ovals, or polygons. The shape and/or dimensions of perimeters 415 of respective assets 205 can be varied. In certain embodiments, the perimeters 415 can be polygons.

[0043] The no-travel zone 420 associated with each asset 205 can include a second circle 405 centered on the respective asset. In further embodiments, the no-travel zone 420 associated with each of the selected assets 205 includes a third circle 410 centered on the asset 205. The radius of the third circle 410 is greater than the radius of the second circle 405. The third circle 410 can represent a recommended, or “soft” no-travel zone, while the second circle 405 can represent an absolute, or “hard” no-travel zone. That is, the inspection plan can be prohibited from travel within the second circle 405, while travel between the second circle 405 and the third circle 410 can be allowed but is disfavored (e.g., in view of best practices, maximum safety, etc.) As discussed in greater detail below, when evaluating possible travel plans, a travel plan which has a trajectory traveling between the second circle 405 and third circle 410 can incur a penalty. In certain embodiments, the perimeter 415 and/or obstacles can also be treated either as a “soft” or as a “hard” no-travel zone.

[0044] In certain embodiments, a selected asset 205 does not share a perimeter 415 with others of the selected assets 205. For example, FIG. 4A illustrates an asset 205 (e.g., asset 205-1) that does not share its perimeter 415-1 with another asset. In alternative embodiments, at least two assets 205 can share the same perimeter 415. For example, FIG. 4B illustrates an asset 205-2, an asset 205-3, and an asset 205-4 that share the same perimeter 415-4, while FIG. 4C illustrates an asset 205-5, an asset 205-6, an asset 205-7, an asset 205-8, and an asset 205-9 that share the same perimeter 415-9.

[0045] In some embodiments, a respective perimeter can enclose both the second circle 405 and the third circle 410 of its associated assets 205. For example, the perimeter 415-1 of FIG. 4A encloses the second circle 405-1 and the third circle 410-1 of asset 205-1, and the perimeter 415- 4 of FIG. 4B encloses the second circle 405 and third circles 410 of each of assets 205-2, 205-3 and 205-4. In other embodiments, a respective perimeter 415 can enclose the second circle 405 of an associated asset 205 but does not enclose a portion of the third circle 410 of that associated asset 205. For example, this is shown in FIG. 4C, where the third circles 410 (e.g., third circles 410-5, 410-7, 410-5, and 410-9) of assets 205-5, 205-7, 205-8, and 205-9 are not completely enclosed by the perimeter 415-9.

[0046] Under circumstances where the perimeter 415 and/or obstacles 215 are treated as a “hard” no-travel zone, the one or more processors can modify the discrete nodes 315 of first circles 305 to yield modified first circles 305’. As an example, the discrete nodes 315 of each first circle 305 that are positioned within its associated perimeter can be removed, as illustrated in FIG. 4C at 305’-9. Similarly, the discrete nodes 315 of each first circle 305 that are positioned within an obstacle 215 can be removed.

[0047] In operation 110, the one or more processors can determine a node-node cost between each node 315 of the first circle 305 and/or modified first circles 305’, regardless of whether the respective nodes 315 are located within the same site 200 or different sites 200. In an embodiment, the node-node cost can be determined based upon a length of a segment 310 (e.g., a physical distance between the respective nodes 315 and a weighting factor. The length of a segment 310 can be based upon the distance between the nodes 315 in the plane of the earth (e.g., in an x-y plane) and in a z-direction orthogonal to the x-y plane (e.g., a magnitude of the altitude difference between the two nodes 315).

[0048] The weighting factors may reflect conditions that favor or disfavor certain inspection paths 220. These weighting factors can be generally classified as global, generic to all assets, or local, pertaining to specific assets. In one aspect, sun and wind conditions can be global weighting factors. As one example, inspection paths 220 heading into the wind can be disfavored, as they can incur greater energy consumption, while inspection paths 220 heading away from the wind can be favored, as they can incur lesser energy consumption. As another example, inspection paths 220 heading into the sun can be disfavored, as the camera field of view may be obscured and result in acquisition of poor quality images, while trajectories heading away from the sun can be favored, owing to lack of obstruction of the camera field of view. Local weighting factors can include, but are not limited to, travel within no-travel zones.

Notably, travel within “soft” no-travel zones can incur a weighting penalty. In certain embodiments, the magnitude of the weighting can increase as the radial distance from the asset 205 decreases, reflecting that the penalty associated with an inspection paths 220 passing through the no-travel zone increases the closer the inspection paths 220 is to the asset 205. In further embodiments other considerations, such as abrupt change in the inspection paths 220 that are energy consuming can be assigned a weighting penalty. In this manner, unobstructed (e.g., clear) views of assets 205 can be favored over obstructed views

[0049] In operation 112, the one or more processors can determine a node-node time between each node 305 of the modified first circles 305’. In an embodiment, the node-node time can be a function of distance between respective nodes 305 in three dimensions and motion configuration of the vehicle 210 (e.g., speed, acceleration, etc.)

[0050] In operation 114, the one or more processors can determine an inspection plan based upon the determined node-node cost and node-node time, where the inspection plan includes an inspection path 220 or a trajectory for travel including a starting location and a plurality of the nodes 315. The node-node cost can be minimized, while the flight time is used to determine if a secondary node, independent of the nodes of the first circles 305 is needed. That is, under circumstances where a flight time exceeds a maximum flight time dictated by the vehicle 220 range (e.g., a battery), the vehicle 220 must stop and recharge. The secondary node represents the recharging location.

[0051] While embodiments of the disclosure are discussed in the context of first circle 305, second circle 405, and third circles 410, alternative embodiments can employ different closedsided shapes without limit (e.g., ovals, polygons, arbitrary shapes, etc.)

[0052] In operation 116, the determined inspection plan can be output to the autonomous vehicle 220 (e.g., a UAV). Subsequently, the vehicle 220 can implement the determined inspection plan. For example, the vehicle 220 can move along the trajectory defined by the inspection plan. One or more cameras 505 can also be mounted to the vehicle. The one or more cameras 505 can include, but are not limited to, optical cameras configured to acquire images within visible light wavelengths and infrared cameras configured to acquire images within infrared light wavelengths. When the vehicle 210 reaches a node 315 of the inspection plan, it can trigger the one or more cameras 505 to acquire one or more images. The one or more images can be still images or frames extracted from video. That is, the inspection plan can account for the orientation of the vehicle 210 such that the field of view of the camera 505 includes one or more assets 205, allowing such assets 205 to be captured in the one or more images. In certain embodiments, the vehicle 210 may remain stationary (e.g., hover) while the one or more images are acquired.

[0053] In other embodiments, the one or more images can be acquired during travel of the vehicle 210 through the respective nodes 315. For example, acquisition of multiple images can be desirable when employing photogrammetry applications where many images of a site 200 from multiple viewpoints are used to reconstruct a 3D surface of the site 200 and its assets 205 (e.g., a “digital twin”). The acquired image data can be further processed (e.g., by artificial intelligence), to identify and associate findings with the assets in 3D on the digital twin. The combination of the digital twin and autonomous inspection operations can enable timely and safe repairs, cost-effective/cost-reducing emissions inspection, and regulatory compliance.

[0054] FIG. 5 is a block diagram of a system 500 including a vehicle 200 communicatively coupled to a computing system 510. The vehicle 200 can include one or more cameras 505. The system 500 can be configured to perform the method of FIG. 1 as described herein. In broad overview, the computing system 510 includes at least one processor 550 for performing actions in accordance with instructions, and one or more memory devices 560 and/or 570 for storing instructions and data. The illustrated example computing system 510 includes one or more processors 550 in communication, via a bus 515, with memory 570 and with at least one network interface controller 520 with a network interface 525 for connecting to external device, such as the inertial sensor 205. In some embodiments, the network interface controller 520 and network interface 525 can be communicatively coupled to a second computing device, a network device, a server, or the like. The one or more processors 550 are also in communication, via the bus 515, with each other and with any VO devices at one or more VO interfaces 540, and any other devices 580. The processor 550 illustrated incorporates, or is directly connected to, cache memory 560. Generally, a processor will execute instructions received from memory. In some embodiments, the computing system 510 can be configured within a cloud computing environment, a virtual or containerized computing environment, and/or a web-based microservices environment.

[0055] In more detail, the processor 550 can be any logic circuitry that processes instructions, e.g., instructions fetched from the memory 570 or cache 560. In many embodiments, the processor 550 is an embedded processor, a microprocessor unit or special purpose processor. The computing system 510 can be based on any processor, e.g., suitable digital signal processor (DSP), or set of processors, capable of operating as described herein. In some embodiments, the processor 550 can be a single core or multi-core processor. In some embodiments, the processor 550 can be composed of multiple processors. In some embodiments, the computing system 510 can include a one or more graphics processing units (GPUs) configured to accelerate one or more inspection planning algorithms included within the computing system 510. The inspection planning algorithms can be configured on the one or more GPUs.

[0056] The memory 570 can be any device suitable for storing computer readable data. The memory 570 or 560 can store one or more inspection planning rules. The memory 570 can be a device with fixed storage or a device for reading removable storage media. Examples include all forms of non-volatile memory, media and memory devices, semiconductor memory devices (e.g., EPROM, EEPROM, SDRAM, flash memory devices, and all types of solid state memory), magnetic disks, and magneto optical disks. A computing system 510 can have any number of memory devices 570.

[0057] The cache memory 560 is generally a form of high-speed computer memory placed in close proximity to the processor 550 for fast read/write times. In some implementations, the cache memory 560 is part of, or on the same chip as, the processor 550.

[0058] The network interface controller 520 manages data exchanges via the network interface 525. The network interface controller 520 handles the physical, media access control, and data link layers of the Open Systems Interconnect (OSI) model for network communication. In some implementations, some of the network interface controller’s tasks are handled by the processor 550. In some implementations, the network interface controller 520 is part of the processor 550. In some implementations, a computing system 510 has multiple network interface controllers 520. In some implementations, the network interface 525 is a connection point for a physical network link, e.g., an RJ 45 connector. In some implementations, the network interface controller 520 supports wireless network connections and an interface port 525 is a wireless Bluetooth transceiver. Generally, a computing system 510 exchanges data with other computing devices or network devices via physical or wireless links to a network interface 525. In some implementations, the network interface controller 520 implements a network protocol such as LTE, TCP/IP Ethernet, IEEE 802.11, IEEE 802.16, Bluetooth, or the like.

[0059] Other computing devices 530 can connected to the computing system 510 via a network interface port 525. The other computing device 530 can be a peer computing device, a network device, a server, or any other computing device with network functionality. For example, a computing device 530 can be a controller of the vehicle 210 configured to control the vehicle or cause the vehicle to navigate along an inspection path 220. In some embodiments, the computing device 530 can be a network device such as a hub, a bridge, a switch, or a router, connecting the computing system 510 to a data network such as the Internet.

[0060] In some uses, the RO interface 540 supports an input device and/or an output device (not shown). In some uses, the input device and the output device are integrated into the same hardware, e.g., as in a touch screen. In some uses, such as in a server context, there is no RO interface 540 or the RO interface 540 is not used. In some uses, additional other components 580 are in communication with the computer system 510, e.g., external devices connected via a universal serial bus (USB).

[0061] The other devices 580 can include an I/O interface 540, external serial device ports, and any additional co-processors. For example, a computing system 510 can include an interface (e.g., a universal serial bus (USB) interface, or the like) for connecting input devices (e.g., a keyboard, microphone, mouse, or other pointing device), output devices (e.g., video display, speaker, refreshable Braille terminal, or printer), or additional memory devices (e.g., portable flash drive or external media drive). In some implementations an I/O device is incorporated into the computing system 510, e.g., a touch screen on a tablet device. In some implementations, a computing device 510 includes an additional device 580 such as a co-processor, e.g., a math coprocessor that can assist the processor 550 with high precision or complex calculations.

[0062] Exemplary technical effects of the methods, systems, and devices described herein include, by way of non-limiting example automation of inspection plans for inspection of a variety of assets of a site. The amount of time required for generation of the inspection plans can be significantly reduced as compared to inspection plans generated by a human. Furthermore, inspection of adjacent sites while minimizing drone battery usage (e.g., inspection on a single battery charge) can be achieved by multi-site trajectory optimization.

[0063] Certain exemplary embodiments have been described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the systems, devices, and methods disclosed herein. One or more examples of these embodiments have been illustrated in the accompanying drawings. Those skilled in the art will understand that the systems, devices, and methods specifically described herein and illustrated in the accompanying drawings are nonlimiting exemplary embodiments and that the scope of the present invention is defined solely by the claims. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. Such modifications and variations are intended to be included within the scope of the present invention. Further, in the present disclosure, like-named components of the embodiments generally have similar features, and thus within a particular embodiment each feature of each like-named component is not necessarily fully elaborated upon. [0064] The subject matter described herein can be implemented in analog electronic circuitry, digital electronic circuitry, and/or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

[0065] The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application- specific integrated circuit).

[0066] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto-optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0067] To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0068] The techniques described herein can be implemented using one or more modules. As used herein, the term “module” refers to computing software, firmware, hardware, and/or various combinations thereof. At a minimum, however, modules are not to be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor readable recordable storage medium (i.e., modules are not software per se). Indeed “module” is to be interpreted to always include at least some physical, non-transitory hardware such as a part of a processor or computer. Two different modules can share the same physical hardware (e.g., two different modules can use the same processor and network interface). The modules described herein can be combined, integrated, separated, and/or duplicated to support various applications. Also, a function described herein as being performed at a particular module can be performed at one or more other modules and/or by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules can be implemented across multiple devices and/or other components local or remote to one another. Additionally, the modules can be moved from one device and added to another device, and/or can be included in both devices. [0069] The subject matter described herein can be implemented in a computing system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, and front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.

[0070] Approximating language, as used herein throughout the specification and claims, may be applied to modify any quantitative representation that could permissibly vary without resulting in a change in the basic function to which it is related. “Approximately,” “substantially, or “about” can include numbers that fall within a range of 1%, or in some embodiments within a range of 5% of a number, or in some embodiments within a range of 10% of a number in either direction (greater than or less than the number) unless otherwise stated or otherwise evident from the context (except where such number would impermissibly exceed 100% of a possible value). Accordingly, a value modified by a term or terms, such as “about,” “approximately,” and “substantially,” are not to be limited to the precise value specified. In at least some instances, the approximating language may correspond to the precision of an instrument for measuring the value. Here and throughout the specification and claims, range limitations may be combined and/or interchanged, such ranges are identified and include all the sub-ranges contained therein unless context or language indicates otherwise.

[0071] One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the present application is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated by reference in their entirety.