Keywords

1 Introduction

Environmental concerns have brought challenges to the oil and gas industry, including pressure to reduce and stabilise costs for competitive advantage, improve its environmental blueprint, and optimise its performance. In recent years, the production of most onshore oil fields has declined [12] in part because, after a certain level of recovery, production costs do not justify further investment. Oil and gas exploration often takes place in difficult-to-reach environments where the use of robotic systems can be useful [37]. Petroleum deposits are generated by a natural process that commonly occurs at great depth and is often poorly understood and predicted by earth scientists. Hence large areas with significant oil and gas potential remain unexplored [25]. In 2015, Shell Oil decided to abandon efforts to find and develop hydrocarbon resources in the Chukchi Sea, despite having spent billions of dollars in exploration, which in the end turned out to be a dry hole [38]. This type of risk cannot be eliminated, but it can be reduced through technological innovations. An example of such technology is magnetic exploration which measures variations in the earth’s magnetic field to identify rocks containing hydrocarbon [1]. Aeromagnetic surveys are used to measure magnetic anomalies using low-flying aircraft carrying a high-precision magnetometer, a sensor for magnetic anomaly detection [2]. However, aeromagnetic surveying with low-flying aircraft brings challenges in terms of safety, terrain complexity, quality of data, and costs. An attractive alternative is to conduct magnetic exploration with UAVs [38]. UAVs can fly close to the surface at optimal speed with efficient coverage for gathering good-quality magnetic data [42]. UAVs are fast becoming an attractive solution for many scenarios like search and rescue [19], precision agriculture [31], and delivery systems [26].

Magnetic exploration with UAVs requires effective path planning in unknown environments and with possibly multiple obstacles (e.g., trees, large rocks, etc.). The robotic path planning problem can be divided into two main categories: motion path planning and coverage path planning. In motion path planning, there is a clear start point and an end point; the goal is to optimally cover the distance between the start to the endpoint at minimum cost while avoiding obstacles [35]. Coverage path planning (CPP) finds an optimal collision-free path that a robot must take to pass over each point in an area of interest in the given environment [10]. CPP is related to the covering salesman problem where an agent must travel a minimum-length tour covering the subsets of given cities or customers [46, 24]. CPP can be offline or online depending on the availability of a priori information about the area of interest [18], and several algorithms exist to tackle this problem [40]. In CPP, the area of interest can be decomposed into smaller regions or not at all. Simple and regular-shaped environments require no decomposition, and simple geometric patterns such as back-and-forth (BF), zigzag movement, or spiral patterns can be used to solve the problem [34]. When the exploration area is irregular-shaped and complex, decomposition can be done in different ways, like exact cellular decomposition [28], approximate cellular decomposition [8, 21], or grid-based decomposition [18]. For the scenarios investigated in this paper, grid-based decomposition was used to ensure that every cell within the area of interest is visited once. This method requires computational power to represent the cells at higher resolution grids [24]. After the grid is produced, a traveling salesman algorithm is applied to generate a sequence of nodes or subregions to visit [4]. The coverage path is generated by connecting these nodes in sequence using back-and-forth motion perpendicular to the sweep direction from the start to the goal region [9, 28].

Magnetic surveying with UAVs for oil/gas exploration requires complete coverage of the area of interest. Performing CPP with UAVs in an environment with multiple obstacles is energy-demanding due to the need for obstacle avoidance, and limited energy capacity is a feature of UAVs [20]. The approach in this paper minimised energy consumption by limiting accelerations, decelerations, and turning manoeuvres by the drone while at the same time maximising coverage. Aided by simultaneous localisation and mapping (SLAM), a model for coverage path-planning in a regular and irregular-shaped environment is developed in ROS/Gazebo platform. The regular-shaped environment has a perfect square-shaped setting with no mountains, hills, or valleys. In contrast, the irregular-shaped environment has a complex terrain with no specific shape. Experiments were conducted to study the tradeoff between area coverage and energy consumption. Section 2 outlines related research on coverage path planning. Section 3 describes the methodology and cost function. Section 4 presents the experimental result and discussions, and concluding remarks are presented in Sect. 5.

2 Related Research

Coverage path planning (CPP) has been extensively studied in the literature but is still an open problem in robotics [40]. Different approaches have been adopted to classify the problems into (i) increasing the coverage completeness, (ii) reducing the path overlapping, (ii) reducing the energy consumption, (iv) optimising the number of turns, and (v) reducing the time to completion. A randomised approach does not require sensors and algorithms for localisation, but such an approach is inefficient when dealing with large coverage areas requiring more energy and time to complete the coverage [14]. A distributed strategy and model for UAVs oil spill mapping used randomness and probabilistic guessing to avoid visiting all the cells and hence reduce the total distance travelled, but coverage completeness decreased [32]. Different geometric patterns and shapes for coverage patterns have been studied, including back-and-forth (BF), Hilbert curves, LMAT (chain of equilateral triangles), S curves, and spiral patterns [5]. An optimal line-sweep decomposition path planner to minimise the time required for covering the area with obstacles in an unknown environment was presented in [4]. The authors claimed that changing the sweep direction, as shown in Fig. 1, helps in minimising the number of turns and hence reducing the time to completion. Similarly, reducing the number of turns using optimal sweep direction and coverage pattern was considered in [3, 24] in a quest to reduce energy consumption. Energy-aware CPP is an active area of research aiming at minimum energy consumption and maximum area coverage. Some studies considered energy optimisation based on the UAV structure, aerodynamic properties, rotor efficiency, and energy consumed in onboard data processing and controls [17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44].

Fig. 1.
figure 1

Coverage path-planning with sweep direction changed to reduced turning angles.

Energy-aware coverage path planning algorithms with a high emphasis on trajectories that reduce power consumption during operations have been proposed [15, 36]. It has been found that the length of the trajectory, the UAV speed, and the way to make turns along the trajectory are the main energy sinks during the operation. In the literature, the performance index for energy consumption was to reduce the path length traveled during the coverage to minimise the energy consumption [45, 47], improve time-to-completion for both single and multi-robot coverage [13, 20, 30], and reduce the number of turns [11, 41]. An algorithm for single-robot coverage path planning under constrained energy was presented in [39]. The robot was aware of its energy limitation, and hence the total distance traveled to refueling was minimised. Boustrophedon cellular decomposition using back-and-forth or “ox-plow” motions and Dijkstra’s algorithm were used. Although reducing the total distance to refueling is important, most of the energy is often consumed during the coverage and turning manoeuvres. Grid-based coverage path planning exhibits excellent performance in several robotic applications in irregular shapes and no fly-zones environments [5, 7]. In the work proposed by [43], the irregular-shaped area of interest was decomposed into regular cells of equal sizes, using an approximate cellular decomposition technique. The authors introduced a cost function to minimise the number of turning manoeuvres to save energy but did not take into account important factors like optimal energy and energy consumption due to accelerations and decelerations. The energy-aware algorithm proposed by [6] drastically reduced the energy consumption for the entire coverage. The model was based on optimising the turning manoeuvres, and avoiding sharp angles while reducing speed, acceleration, and deceleration at the turning angles. An improved cost function aimed at minimising energy consumption in an irregular shape was proposed in [7]. The model was good in energy saving, and it may scale well in a simplistic environment, especially those applications that do not require a high degree of coverage completeness. Only a single occlusion point was considered in their experiment, but multiple obstacles can have a significant effect on the coverage completeness.

Then, optimising the coverage completeness, energy consumption, and distance to obstacles in complex oil and gas environments with multiple occlusions is an interesting problem that has not been investigated to the best of our knowledge. The problem is unique because magnetic survey for oil/gas exploration requires near optimum line spacing and flight height, and the coverage completeness can be easily affected when trying to avoid obstacles. The environment is often mixed with regular and irregular settings of different terrains. In addressing this problem, the following question arises: Can an intelligent coverage path-planning algorithm that reduces the number of sharp turns for obstacle avoidance in a highly irregular-shaped environment reduce the amount of energy consumed by the UAV without reducing the coverage completeness?

3 Proposed Methodology

The proposed model was implemented in the ROS/Gazebo simulation software using a drone package hector quadrotor noetic [33]. As a proof of concept for the magnetometer, the drone is integrated with a magnetic sensor to read the magnetic field of the Gazebo environment. The modelled exploration environment is rugged terrain with steep topography, variations in the surface elevations, and thick vegetation cover, as illustrated in Fig. 2. The environment E is then partitioned into a grid with multiple cells of equal size \({M}_{x} \times {M}_{y}\) as illustrated in Fig. 3. Each cell (x, y) has an associated value \({\text{u}}\left( {{\text{x}},{\text{ y}},{\text{ t}}} \right) \in \left[ {0,1} \right]{ }\) that represents the UAV’s uncertainty about the target distribution in the cell at time interval t, for occupancy grid mapping, implemented using the slam_gmapping package provided in ROS [22]. The distance between each grid cell for cell-to-cell movement can be calculated using Eq. (1) where \({x}_{i}\), \({y}_{i}\) are the target goal point [27].

$$ d\left( {x,y} \right) = \sum\nolimits_{i = 1}^{m} {\left| {{ }x_{i} - y_{i} } \right|} $$
(1)
Fig. 2.
figure 2

Example of forest environment modeled in the Gazebo simulation software for oil and gas exploration.

3.1 Energy Model

To derive the energy model, we first analysed energy consumption data obtained from real flights of a HEIFU drone [29] with a 22,000 mAh LiPo battery, and the nominal voltage and current were at 24 V and 60 A, respectively. The drone consumes around 23.5 V for hovering, 20.3 V for liner movement at a constant speed, 21.7 V when turning at a soft angle, and 22.6 V at a sharp bend. The nominal voltage drops drastically at around 35 min of flight from 25.2 V to 18.6 V; hence the drone has to come back for refueling. The drone’s weight was 7.5 kg with maximum payload of 6 kg for a maximum take-off weight of 13.5 kg. To develop the energy cost function, we split the UAV path into a set of segments as in [7, 16]. The first segment consists of the path for constant speed (straight line movement), which does not consume much energy, compared to the second segment, the variable speed of the UVA, which includes hovering and angular movements for maneuvering and obstacle avoidance. The variable speed consumes energy due to the acceleration, deceleration, and point of discontinuity along the path. It is important to note that the energy model proposed by [43] and extended by [7] does not consider the effect of minimising the energy on coverage completeness, especially in multiple obstacle environments. Following the same idea, the cost function has been extended to consider coverage completeness and energy minimisation as two conflicting objective functions.

Fig. 3.
figure 3

Drone coverage path-planning with grid decomposition in an occluded environment.

Figure 3 illustrates the concept of obstacle avoidance in coverage path planning. It shows a UAV flying at a fixed height h from the ground acquiring magnetic data from a cell in the grid. The field of view is the magnetometer’s projected area of size 1 × 1 square meter. An obstacle in the form of a tree is shown at the center of the exploration environment. Three possible waypoints are shown, marked as a, b, and c. Waypoint (a) maximises coverage in the occluded region but consumes more energy due to the sharp angles at the path. Waypoint (b) minimises energy consumption due to the reduced distance by the resultant vector but still consumes energy due to turning manoeuvres. Waypoint (c) consumes less energy because of the smoothed angle on the waypoint but with reduced coverage. The problem lies in optimising Delta \(\Delta \), the distance between the drone and the obstacle during the coverage as a constraint to be imposed for obstacle avoidance by the UAV. Minimising the delta increases the coverage, and maximising it reduces energy consumption.

Given an initial position (\({x}_{o}\), \({y}_{o}\)) and target goal points (\({x}_{i}\), \({y}_{i}\)), a collision-free path ensures that at no time should the UAV enter into the no-fly-zone region. The equation for collision avoidance is presented as follows:

$$ \forall { }p \in \left[ {1 \ldots N} \right],\forall { }i \in \left[ {0 \ldots {\text{T}}} \right] $$
$$ \left| {{ }x_{ip} - x_{k} } \right| \ge\Delta $$
(2)
$$ \left| {{ }y_{ip} - y_{k} } \right| \ge\Delta $$
(3)

In the Eqs. (2), (3) above, \({x}_{ip}\), \({y}_{ip}\) are the drone position in the x and y axis at the T time instance, and \({x}_{k}\), \({y}_{k}\) are the obstacle position at the x-axis and y-axis, respectively. Since most obstacles in the forest can be approximated to the shape of a sphere or circle in 2D, Eqs. (2) and (3) can be written as Eq. (4).

$$ \left| {{ }x_{ip} - x_{k} } \right|\sin\uptheta + \left| {{ }y_{ip} - y_{k} } \right|\cos\uptheta { } \ge\Delta $$
(4)

The instantaneous power for the flight scenarios is calculated with Eq. (5), where V is an instantaneous voltage, and I is the instantaneous current consumed by the drone.

$$ P = VI $$
(5)

The total energy consumption can be calculated by integrating the power over the period of the mission, as shown in the energy Eq. (6), where E is the energy consumed in joules, P is the instantaneous power consumed in watts, and t is the time interval for the flight mission.

$$ E = \int_{0}^{t} {Pdt} = \int_{0}^{t} {VIdt} $$
(6)

The energy consumed when moving at a straight line to cover a distance d at constant speed v can be calculated with Eq. (7).

$$ E_{c} = \mathop \smallint \limits_{0}^{d/v} P_{c} dt = P_{c} \frac{d}{v} $$
(7)

The energy consumed for variable speed due to acceleration and deceleration can be calculated with Eq. (8).

$$ E_{var} = \mathop \smallint \limits_{{d_{o} /v_{o} }}^{{d_{i} /v_{i} }} P_{acc} dt = P_{v} \left( {t_{2} - t_{1} } \right) + { }\mathop \smallint \limits_{{d_{i} /v_{i} }}^{{d_{o} /v_{o} }} P_{decc} dt = P_{v} \left( {t_{2} - t_{1} } \right) $$
(8)

The energy consumed for hovering is calculated using Eq. (9).

$$ E_{h} = \int_{0}^{{h/v_{climb} }} {P_{h} dt} = P_{h} \left( {t_{2} - t_{1} } \right) $$
(9)

In this work, the drone is restricted not to flying above trees for quality data collection as well as for manoeuvability. Hence the maximum height is set to 1 m as a constraint. Finally, the energy consumed during the rotation, maneuvering, and turning at a certain angle θ, with angular speed \(\upomega \) is calculated with Eq. (10).

$$ E_{turn} = \int_{{{\Delta \uptheta }{\text{o}}/\upomega _{o} }}^{{{\Delta \uptheta }/\upomega _{i} }} {P_{turn} dt} = { }P_{turn} \frac{{{\Delta \uptheta }}}{\upomega } $$
(10)

The cost function can be written by summing the total energy consumed in straight line movement, which also has sub-components of the constant speed and variable speed due to acceleration and deceleration, and the energy consumed in the rotational movement for turning and maneuvering in obstacle avoidance. The cost function is given by Eq. (11).

$$ E_{c} = \sum\nolimits_{i = 1}^{m} {\left( {\int_{0}^{{v_{i} }} {P_{acc} dt} + { }\int_{{v_{i} }}^{0} {P_{dec} dt} + \int_{0}^{d/v} {P_{c} dt} + \int_{{\Delta {\uptheta o}/\upomega _{o} }}^{{\Delta {\uptheta }/\upomega _{i} }} {P_{turn} dt} { }} \right)} $$
(11)

While the total energy needed for the coverage can be compud with Eq. (12).

$$ \begin{aligned} E_{total} & = \sum\nolimits_{i = 1}^{m} {\left( {\int_{0}^{{v_{i} }} {P_{acc} dt} + { }\int_{{v_{i} }}^{0} {P_{dec} dt} + \int_{0}^{d/v} {P_{c} dt} } \right.} \\ & \left. { + { }\int_{0}^{{h/v_{climb} }} {P_{h} dt} + { }\int_{{{\Delta \uptheta }{\text{o}}/\upomega _{o} }}^{{{\Delta \uptheta }/\upomega _{i} }} {P_{turn} dt} } \right) \\ \end{aligned} $$
(12)

3.2 Coverage-Path Pseudocodes

Given the above energy model for the UAV, the coverage path planning shown below was implemented. The algorithm can be summarised in three sequential main steps: decomposition, planning, and execution. First, a cellular decomposition technique is applied over the irregular-shaped area to discretise the map to regular equal size cells. Second, a coverage path planning algorithm finds the nearest cell in back-and-forth movement based on the coverage goal received. The solution to the movement is according to the predefined cost function and obstacle avoidance constraint in the model. Finally, the resulting path is executed, and the coverage mission is completed.

figure a

The UAV energy model, environment model, and coverage path planning approach were all implemented in the ROS/Gazebo simulation software. Several experiments were conducted for various types of exploration scenarios. The scenarios consist of a perfect square regular-shaped environment and an irregular-shaped environment characterised by arbitrarily shaped obstacles. We investigated the tradeoff between coverage completeness and energy consumption in these environments.

4 Experimental Result

Three different environments usually seen in oil/gas exploration were modelled: a desert with low obstacles, including hills and valleys; a forest with a combination of hills, valleys, and moderate vegetation; and a jungle depicted rugged terrain and steep topography. A survey conducted by [48] shows that flying drones at varying altitudes of 0.5 m, 1.3 m, and 2.2 m above the ground with line spacing of 1 m provides a good result. The flight altitude was set to 1 m, and the speed was set to v = 2 m/s for the entire experiment. The experiment in a desert environment is considered a benchmark to evaluate the coverage quality, assuming the drone could successfully cover the cell with minimum energy consumption without obstacles.

4.1 Exploration Scenarios

First, an experiment was conducted in a rectangular-shaped environment, and three flights were performed to compare the algorithm’s effectiveness in deserts, forests, and jungles. The environment is first decomposed into 20 cells of equal size (5 × 4) and delta set to 0.55 m. The obtained result shows that exploration in the desert consumes less energy and provides full coverage. The energy consumption doubled in the forest, and the coverage was 19 cells out of 20 target cells. The worst performance was recorded in the jungle exploration, in which the mean coverage was 11 cells out of 20 target cells, and the energy consumption was still high. A cross-section of the simulation result from the ROS-rviz software is shown in Fig. 4.

Fig. 4.
figure 4

The red dots represent the area in which the drone performs coverage path planning. The gray area represents a region in which the UAV is certain there is no obstacle, i.e., path-planning can be performed on it. The dark edges in the gray regions are obstacle or no-fly zones identified based on the principle of occupancy grid mapping, and the remaining part of the graph in light green represents the unexplored area.

To further assess the performance of the algorithm, another experiment was conducted using the same parameters but in a much bigger and irregular map illustrated in Fig. 5. The area was decomposed into 110 cells of equal size, and the algorithm scales well in the desert, and also performs well in the forest with few obstacles (Fig. 5b), as well as in the jungle with more obstacles (Fig. 5c). In the jungle exploration, the number of uncovered cells was 31 compared to 36 in the forest. In the second scenario, the delta was \(\mathrm{s}\) et to 0.75 m, and an experiment was also conducted again in a regular-shaped environment, decomposed into 20 cells of equal size (5 × 4). It was also run in an irregular-shaped environment decomposed into 110 cells of equal size. Like the first scenario, three flights were performed to compare the algorithm’s effectiveness in deserts, forests, and jungles. In the third scenario, the delta was set to 1.0 m, and the experiment was conducted similarly to scenarios one and two. The regular-shaped environment was decomposed into 20 cells of equal size (5 × 4). The irregular-shaped environment was decomposed into 110 cells of equal size. Three flights were performed to compare the algorithm’s effectiveness in deserts, forests, and jungles. Setting the delta to 1.0 m makes the coverage very difficult in an obstacle environment. In most cases, the drone has to abandon the mission because it was trapped for over 8 min facing an obstacle, i.e., it cannot pass through a narrow path because the delta is too big. Hence, the energy consumed in the jungle was less than what was consumed in the forest. The trees in the forest along the way point were dense, and the drone was trapped hence abandoning the mission before completion.

Fig. 5.
figure 5

Coverage path planning in desert, forest, and jungle for more complex environments.

In some cases, the drone was only able to cover 7 out of the 20 cells in a regular-shaped forest environment and 29 out of 110 cells in an irregular-shaped forest environment. Tables 1 and 2 show the average value of the energy consumption and coverage for the three flights performed in deserts, forests, and jungles.

Table 1. Mean energy (J) vs. Coverage (sq m) regular-shaped environment.
Table 2. Mean energy (J) vs. Coverage (sq m) irregular-shaped environment.

4.2 Evaluation of Experimental Results

The algorithm’s performance was evaluated in terms of increased coverage and reduced energy consumption. The coverage results for regular-shaped and irregular-shaped environments are compared in Fig. 1 and Fig. 2, where the vertical axis is the number of cells covered, and the horizontal axis shows the various delta values for experiments in the desert, forest, and jungle. As can be seen, the algorithm achieved better coverage results in a regular-shaped environment when the delta was set to 0.55 m and 0.75 m, but the result for forest and jungle got worst when the delta was set to 1.0 m. The findings from these studies suggest that delta plays an important role and it has significance on energy consumption and coverage completeness. It allows the drone to maneuver freely out of the obstacle. That is, the higher the delta, the less energy consumption; the lower the delta, the more coverage completeness. As expected, there is a tradeoff between the number of cells covered and energy consumption in the occluded environment. Figure 6 and 7 compare energy consumption and coverage completeness for both regular and irregular-shaped environments.

Fig. 6.
figure 6

Coverage completeness for regular-shaped and irregular-shaped environments.

Fig. 7.
figure 7

Mean energy (J) in regular and irregular-shaped environments.

5 Conclusion

This paper described a model for UAV Path Planning considering the tradeoff between area coverage and energy consumption. The work is inspired by magnetic data surveying for oil/gas exploration, where environments are usually unknown and present multiple obstacles. Simulations were implemented in ROS/Gazebo for three environments: desert, forest, and jungle. A parameter delta is used to set the constraint for obstacle avoidance, and experiments with different values (0.5 m, 0.75 m, and 1.0 m) were conducted. Experimental results show that the drone effectively maneuvered itself in different environmental settings, achieving high coverage and moderate energy consumption when the delta was set to 0.5 m in a desert environment. As the complexity of the environment increases, energy consumption increases due to obstacle avoidance while the coverage optimality reduces. The overall best results were obtained when the delta was set to 0.5 m, skipping a few cells while performing coverage in forest and jungle but with added energy consumption compared to exploration in the desert. The worst coverage result was obtained when the delta was set to 1.0 m in the forest and the jungle. These results show that the delta value influences energy consumption and coverage completeness. The larger the delta value, the less energy consumption due to the smoothed angle and less acceleration and deceleration along the obstacle avoidance path. The lower the delta value, the more coverage completeness. There was a tradeoff between the number of cells covered and energy consumption in the occluded environment, and in some cases, the drone was trapped by the obstacles. Further work will look at more sophisticated path-planning algorithms and multiple drones.