Development of Path Planning Tool for Unmanned System Considering Energy Consumption

Increasing the flight endurance of unmanned aerial vehicles (UAVs) has received attention recently. To solve this problem, two research topics have generally appeared: Shortest-path planning (SPP) and remaining-flying-range estimation. In this work, energy-efficient path planning by considering the distance between waypoint nodes, the minimum and maximum speed of the UAV, the weight of the UAV, and the angle between two intersecting edges is proposed. The performances of energy-efficient path planning (EEPP) and generic shortest-path planning are compared using extended-Kalman-filter-based state-of-charge and state-of-power estimation. Using this path-planning tool and considering energy consumption during flight operation, two different path plans can be obtained and compared in advance so that the operator can decide which path to choose by consulting a comparison chart. According to the experimental results, the EEPP algorithm results in 0.96% of improved SOC leftover and 11.03 ( W ) of lowered SOP compared to the SPP algorithm.


Introduction
As unmanned aerial vehicle (UAV) technology matures, the longtime flight endurance capability of UAVs is gaining attention [1,2]. Because the energy density (W/kg) of the battery pack (in particular, Li-ion) is closely correlated with the overall flight time of the UAV, it is recommended to choose cells possessing as high an energy density as possible [3,4]. However, in contrast to electric vehicles (EVs), the operation times of electric aircraft, including the UAV, drastically decrease as the system weights increase. Hence, technology development for increasing UAV flight time has been delayed for a long time.
Lately, the EV industry has been growing quickly, and automotive industry researchers have focused their attention on accurately predicting the energy leftover so that the driving range can be extended. Accurate energy leftover monitoring (state of charge (SOC) estimation in the EV industry), aims to extend the driving range, and it is related to shortest-path planning (SPP), which is essential to saving energy. Both accurate SOC estimation and SPP should ultimately enhance the fuel economy of EVs, and the same philosophy applies to UAVs.
There have been numerous studies regarding path planning. Chang et al. proposed a method to achieve an effective delivery route for trucks carrying delivery drones with moving shift-weights-based K-means clustering and traveling-salesman-problem modeling [5]. Rubio et al. presented adaptive path planning for multiple UAVs using evolutionary computation combined with market-based cooperation strategies [6].
Further, there has been research regarding the accurate estimation of the remaining driving or flying range. Oliva et al. suggested a model-based approach by combining unscented filtering and Markov chains to predict the remaining driving range (RDR) [7]. Ondruska et al. proposed the efficient computation of RDR confidence level using a feature-based linear regression framework with a varying probabilistic attainability map in real-time [8]. Ferreira et al. presented an interaction method between a driver and EV to estimate EV range using a regression-model-based data mining approach [9].
Unlike the previously listed works, this study contributes to the energy-efficient path planning (EEPP) of the UAV to ultimately increase the flight endurance compared with the general SPP. To verify the improved fuel efficiency, the concept of the extended Kalman filter (EKF)-based SOC estimation method is adopted. To mimic cell behavior, a physics-based equivalent circuit model (ECM) is used [10][11][12][13].
The overall mission hierarchy to achieve an energy-efficient path proposed in this paper is as follows.
First, with the given satellite map, the EEPP algorithm generates the most energy-efficient path with step-by-step processes; (1) obstacle detection, (2) extract obstacle, (3) obstacle separation, (4) add buffer zone, (5) Voronoi, (6) filter out useless candidates, (7) 1D optimal control, and (8) SPP or EEPP selection. Here, the format of the output path has both Euclidean and GPS coordinates. In contrast to the SPP algorithm, which uses Dijkstra algorithm, the EEPP algorithm uses three step-by-step processes; (1) find all trajectory candidates, (2) calculate total unit energy consumption (UEC) of all trajectory candidates, and (3) find a trajectory having the minimum UEC.
Second, either flight simulation with equivalent circuit model (ECM) of the Li-Ion battery pack or the flight experiment with a real Li-Ion battery pack is performed using the previously obtained energy-efficient path and gives out the voltage and current profiles of each cell.
Third, a battery state estimator uses the voltage and current profiles of cells to calculate the SOC. In particular, the battery state estimator uses the EKF to calculate the SOC.
The flow of this paper is as follows: In Section 2, the overall mission hierarchy, including four subparts (path planning, flight simulation, flight experiment, and battery state estimation), is described. In Section 3, the path planning, including the SPP and EEPP algorithms, is explained. Section 4 covers the mathematical formulation of the UAV and battery pack. Section 5 presents the simulation and experimental setups, while Section 6 shows the simulation and experiment results. Section 7 contains the conclusion of this paper and describes future works.  Figure 2 displays a magnified version of the path-planning part of Figure 1. This part results in either the shortest path or energy-efficient path. The detailed description of each subpart is given elsewhere [14]. First, using a Google Earth satellite photograph, and the takeoff and landing locations, the most energy-efficient path is determined by the path-planning part. Here, the path is saved in both the Cartesian system unit, Tra jectory xyz , and the geographic coordinate system unit, Tra jectory GPS .

Path Planning
Second, the achieved path is utilized for the indoor flight simulation and outdoor flight experiment to calculate the cell open-circuit voltage (OCV), v ocv , and load current, i o , data.
Third, the achieved cell voltage and current data are utilized for the battery state estimation to calculate the SOC. Both SOC Sim and SOC Exp are calculated to compare results.
With the achieved SOC value, one can finally determine whether the EEPP algorithm results in an energy-efficient path. Figure 2 displays a magnified version of the path-planning part of Figure 1. This part results in either the shortest path or energy-efficient path. The detailed description of each subpart is given elsewhere [14].  Figure 2 displays a magnified version of the path-planning part of Figure 1. This part results in either the shortest path or energy-efficient path. The detailed description of each subpart is given elsewhere [14].

SPP
The Dijkstra algorithm is used for the SPP algorithm, which utilizes the weights of each edge between nodes to calculate the minimum sum of the total distance from the start node to the goal node [15].
The overall flowchart of the SPP algorithm is shown in Figure 3.

SPP
The Dijkstra algorithm is used for the SPP algorithm, which utilizes the weights of each edge between nodes to calculate the minimum sum of the total distance from the start node to the goal node [15].
The overall flowchart of the SPP algorithm is shown in Figure 3.  Figure 2 displays a magnified version of the path-planning part of Figure 1. This part results in either the shortest path or energy-efficient path. The detailed description of each subpart is given elsewhere [14].

SPP
The Dijkstra algorithm is used for the SPP algorithm, which utilizes the weights of each edge between nodes to calculate the minimum sum of the total distance from the start node to the goal node [15].
The overall flowchart of the SPP algorithm is shown in Figure 3.

EEPP
In contrast to the general SPP algorithm, which only accounts for the distance between nodes, the EEPP algorithm calculates the energy-efficient path by considering factors including the distance between nodes, the minimum and maximum speed of the UAV, and the weight of the UAV as shown in Figure 4. The overall amount of battery consumption of the UAV, B o , would be where B t is the battery consumption during takeoff (W), B h is the battery consumption during hovering (W), B a is the battery consumption during acceleration (W), B n is the battery consumption during normal flight (W), B d is the battery consumption during deceleration (W), B c is the battery consumption during the circular flight (W), and B l is the battery consumption during landing (W). Because the takeoff and landing occur in a short period and the amount of battery consumption is insignificant compared with the total consumption, B t and B l are assumed to be zero, and Equation (1) becomes If there are n e number of edges in the given path, From the equation of a single rotor helicopter in hover [16,17], the required hovering power of the UAV can be derived as where m is the mass of the UAV (kg), g is the gravitational acceleration (m/s 2 ), ρ is the fluid density of air (kg/m 3 ), ζ is the total area of the spinning rotor disk (m 2 ), and n r is the number of rotors (no unit). The required power for the acceleration can be derived as where a max is the maximum acceleration (m/s 2 ), and t a is the time taken for the acceleration (s). The required power for the deceleration can be derived as where a min is the minimum acceleration (m/s 2 ), and t d is the time taken for the deceleration (s). Here, with assumptions that t a = t d and a max = −a min , one can conclude B a = B d . The required power for the normal (constant speed) flight can be derived as Here, v max is the maximum velocity (m/s 2 ), and t n is the time taken for the normal flight (s). The required power for the circular flight can be derived as where v min is the minimum velocity (m/s 2 ), and t c is the time taken for the circular flight (s). The unknown value, t a , in Equation (5) can be calculated as The unknown value, t n , in Equation (7) can be calculated as therefore, where α is the intersection angle of two edges, which satisfies 0 ≤ α ≤ π.
the unknown value, t c , in Equation (8) can be calculated as where W i is the waypoint (no unit), b 1 is the distance in which the UAV accelerates or decelerates (m), and b 2 is the distance at which the UAV flies in a circular motion (m).  The overall flowchart of the EEPP algorithm is shown in Figure 5. If Equations (4)-(13) are combined into Equation (3), then To calculate the total unit energy consumption (UEC) (Wh), U b , Equation (14) is converted as The overall flowchart of the EEPP algorithm is shown in Figure 5. The overall flowchart of the EEPP algorithm is shown in Figure 5.

UAV
The configuration and governing control inputs of the quadrotor are described in Figure 6, where , , and represent earth coordinates, , , and represent quadrotor coordinates, and represents a thrust force generated by the i-th rotor in the indicated direction.

UAV
The configuration and governing control inputs of the quadrotor are described in Figure 6, where X E , Y E , and Z E represent earth coordinates, x q , y q , and z q represent quadrotor coordinates, and F i represents a thrust force generated by the i-th rotor in the indicated direction. To extract current and voltage profiles along the predetermined path obtained from the previous section, an enhanced quadrotor dynamic model can be represented as where is the total upward thrust of the UAV (N), b is the thrust factor, and is the i-th rotor speed (rad/s), is the lever length from the center of gravity (CG) to rotors (m), d is the drag factor, and , , and are torques applied on the UAV's body along x-, y-, and z-axes (N • m) [21,22]. To extract current and voltage profiles along the predetermined path obtained from the previous section, an enhanced quadrotor dynamic model can be represented as where T is the total upward thrust of the UAV (N), b is the thrust factor, and w i is the i-th rotor speed (rad/s), l is the lever length from the center of gravity (CG) to rotors (m), d is the drag factor, and τ x , τ y , and τ z are torques applied on the UAV's body along x-, y-, and z-axes (N·m) [21,22]. Here, T, τ x , τ y , and τ z can be calculated using proportional-integral-derivative (PID) controllers as where k p , k i , and k d are PID controller gains, φ, θ, and ψ are roll, pitch, and yaw angles (rad), uppercase letter * represents reference data, and W is the UAV weight (kg). The full quadrotor UAV dynamic model can be written as ..
Here, J r is the rotor inertia (kg·m 2 ). Using the fact that power can be calculated by multiplying the thrust and velocity, one can calculate the required propulsive thrust power from the total upward thrust T in Equation (15) as Then, the load current can be calculated using where v t is the terminal voltage (V), and i 0 is the load current (A). The above equations are used for the operation of flight simulation, as shown in Figure 7.
Here, is the rotor inertia (kg • m ). Using the fact that power can be calculated by multiplying the thrust and velocity, one can calculate the required propulsive thrust power from the total upward thrust in Equation (15) as (19) Then, the load current can be calculated using where is the terminal voltage (V), and is the load current (A). The above equations are used for the operation of flight simulation, as shown in Figure 7.

ECM
By using the two-ladder battery ECM and impedance voltage response, as shown in Figure 8, the can be determined as

ECM
By using the two-ladder battery ECM and impedance voltage response, as shown in Figure 8, the v t can be determined as where v ocv is the OCV voltage (V), R 0 is the resistor (Ω), v ci is the voltage across the i-th RC-network (V), τ i is the time constant (s), which is calculated as τ i = R i C i in which R i is the resistor (Ω) and C i is the capacitor (F) of the i-th ladder, and t is the time (s).

TBLI Parameter Identification
The ECM parameters, including , , , , and , are extracted at SOC 10% intervals using the high-performance pulse characterization current pattern, as shown in Appendix A [12]. Here, the table-based linear interpolation (TBLI) method is used to determine ECM parameters corresponding to varying SOC values. Although , , , , and are the functions of the SOC, C-rate, and temperature, only the SOC variance effect is considered in this research.

SOC and SOP State Estimation
The SOC estimation is performed using the EKF for each cell. For the EKF algorithm application, Equation (21) and SOC calculation based on current integration method are fused and converted into the discrete-time state space model as where is the SOC (%/100), ∆ is 0.1 s, and and are system and measurement noises (V), respectively. Here, the term can be calculated as ( ) ( ) where is the initial battery capacity (Ah), is the battery efficiency (assumed as 1), and is the current battery capacity (Ah).
With an initial estimation vector, , and covariance vector, , the estimation vector and covariance vector can be propagated using

TBLI Parameter Identification
The ECM parameters, including R 0 , R 1 , C 1 , R 2 , and C 2 , are extracted at SOC 10% intervals using the high-performance pulse characterization current pattern, as shown in Appendix A [12]. Here, the table-based linear interpolation (TBLI) method is used to determine ECM parameters corresponding to varying SOC values. Although R 0 , R 1 , C 1 , R 2 , and C 2 are the functions of the SOC, C-rate, and temperature, only the SOC variance effect is considered in this research.

SOC and SOP State Estimation
The SOC estimation is performed using the EKF for each cell. For the EKF algorithm application, Equation (21) and SOC calculation based on current integration method are fused and converted into the discrete-time state space model as where z is the SOC (%/100), ∆t is 0.1 s, and n wi and n vi are system and measurement noises (V), respectively. Here, the term z can be calculated as z(t) = Q init + ηi 0 (t)/Q norm (t) where Q init is the initial battery capacity (Ah), η is the battery efficiency (assumed as 1), and Q norm is the current battery capacity (Ah).
With an initial estimation vector,x 0 , and covariance vector, P 0 , the estimation vector and covariance vector can be propagated usingx The Kalman gain, K k , can be calculated as With the updated Kalman gain, K k+1 , and updated measurement, z k+1 , the updated estimation vector,x k+1 , can be calculated aŝ and the updated covariance vector, P k+1 , can be calculated as The final SOC value of the battery pack is conservatively chosen as the minimum value of each cell as SOC pack,k = min z 1 k , . . . , z n k × 100, where SOC pack,k is the SOC (%) of a battery pack at the k-th time step.
Regarding the state of power (SOP) estimation, the maximum discharging current, i dis max , can be calculated as where C rate is the C-rate of the cell (no unit). The maximum discharging current considering the SOC, i dis,SOC(i) max,k , can be calculated as where σ is the standard deviation of the cell SOCs (%/100), z min is the minimum SOC (%/100), η is the battery efficiency (assumed as one), and T k − T o is the time flown from the beginning (s where v ocv is the open-circuit voltage (OCV) (V), and v min is the minimum cell voltage (V). Here, v (1) Then, the maximum power that each cell could perform, P dis(i) max , is calculated as and compared with the maximum power that each cell performs during the discharging process, where the total initial resistance of each cell, R (i) dis , can be calculated as

Simulation Setup
All simulations were performed with a quadrotor vehicle with initial system properties

Simulation Setup
All simulations were performed with a quadrotor vehicle with initial system properties

Experiment Setup
All experiments were performed with the parts shown in Figure 1-a PX4 Pro powered F450 quadrotor, shown in Figure 10a; Pixhawk 2.1 flight controller, as in Figure 10b; QGroundControl (QGC), shown in Figure 10c; Pixhawk 2.1 Here + RTK, as in Figure 10d; eLogger V4 voltage and current data logging system, as shown in Figure 10e; and a 4s 3300-mAh battery pack, shown in Figure 10f-for the outdoor autopilot experiment with a previously achieved energy-efficient path. In particular, the Pixhawk 2.1 Here + RTK is used for the centimeter-level autopilot path following accuracy. The overall experiment setup is presented in Figure 11. On the day of the experiment, the wind speed was approximately 2 m/s. The overall experiment setup is presented in Figure 11. On the day of the experiment, the wind speed was approximately 2 m/s. For the experiment, the SPP and EEPP trajectories represented as the Cartesian system unit, Tra jectory xyz , obtained from the path-planning algorithm shown in Figure 2 are converted into the geographic coordinate system unit, Tra jectory GPS . The detailed description can be found in previous work [24].
In particular, the waypoint list of Tra jectory GPS is saved as a text file following the Pixhawk waypoint file format, as depicted in Table 1    The overall experiment setup is presented in Figure 11. On the day of the experiment, the wind speed was approximately 2 m/s. For the experiment, the SPP and EEPP trajectories represented as the Cartesian system unit, , obtained from the path-planning algorithm shown in Figure 2 are converted into the geographic coordinate system unit, . The detailed description can be found in previous work [24].
In particular, the waypoint list of is saved as a text file following the Pixhawk waypoint file format, as depicted in Table 1 [25]. For the waypoints lists of SPP and EEPP trajectories, see Appendix B.  Figure 11. Flight experiment setup.

Simulation Result
From the flight simulation, the obtained current and voltage profiles are shown in Figure 12. Here, negative current represents discharging.

Simulation Result
From the flight simulation, the obtained current and voltage profiles are shown in Figure 12. Here, negative current represents discharging. Energy consumption comparison results of the SPP and EEPP algorithms are listed in Table 2 and Figure 13.  Energy consumption comparison results of the SPP and EEPP algorithms are listed in Table 2 and Figure 13. The percentage difference between the actual values of SPP and EEPP is shown in Table 3 and Figure 14. According to the result, the SOC leftover is larger and the SOP peak is lower when using SPP. Energy consumption comparison results of the SPP and EEPP algorithms are listed in Table 2 and Figure 13. The percentage difference between the actual values of SPP and EEPP is shown in Table 3 and Figure  14. According to the result, the SOC leftover is larger and the SOP peak is lower when using SPP.

Experimental Result
From the flight experiment, the obtained current and voltage profiles are shown in Figure 15. Energy consumption comparison results of the SPP and EEPP algorithms are shown in Table 4 and Figure 16.

Experimental Result
From the flight experiment, the obtained current and voltage profiles are shown in Figure 15.

Experimental Result
From the flight experiment, the obtained current and voltage profiles are shown in Figure 15. Energy consumption comparison results of the SPP and EEPP algorithms are shown in Table 4 and Figure 16.  Energy consumption comparison results of the SPP and EEPP algorithms are shown in Table 4 and Figure 16. The percentage difference between the actual values of SPP and EEPP is shown in Table 5 and Figure 17. According to the result, the SOC leftover is larger and the SOP peak is lower when using EEPP. The percentage difference between the actual values of SPP and EEPP is shown in Table 5 and Figure  17. According to the result, the SOC leftover is larger and the SOP peak is lower when using EEPP.     The percentage difference between the actual values of SPP and EEPP is shown in Table 5 and Figure  17. According to the result, the SOC leftover is larger and the SOP peak is lower when using EEPP.    The overall reference, simulation, and experiment flight trajectories of the SPP and EEPP algorithms are drawn on Google Earth, as shown in Figure 18. Here, yellow polygons represent imaginary obstacles that the UAV should avoid. The blue line represents the reference trajectory that the UAV should follow. The red line represents the simulation flight trajectory. The green line represents the experiment flight trajectory.
The overall reference, simulation, and experiment flight trajectories of the SPP and EEPP algorithms are drawn on Google Earth, as shown in Figure 18. Here, yellow polygons represent imaginary obstacles that the UAV should avoid. The blue line represents the reference trajectory that the UAV should follow. The red line represents the simulation flight trajectory. The green line represents the experiment flight trajectory.

Conclusions
In this work, the EEPP algorithm is proposed and its performance is compared to the generic SPP algorithm using EKF-filter-based SOC estimation. Using the proposed path planning tool, two different path plans can be obtained and compared in advance. According to the experimental results, the EEPP algorithm results in an energy-efficient path.
Regarding the SOC, 0.96% is saved when using the EEPP algorithm, and this implies that the fuel economy is improved. Regarding the SOP, 11.03 (W) is lowered, and this implies that the internal shock of the battery pack is reduced. Although the rate of improved fuel economy and internal shock of the battery pack is not as good in this study, these two key factors can be enhanced in mission planning with longer trajectories. Here, the difference between simulation and experiment results appears to be caused by factors such as environmental effects and a less mature quadrotor simulation model.
In the future, instead of 2D path planning, 3D path planning with an enhanced EEPP algorithm are planned to greatly improve the fuel economy of the UAV. Also, rather than the offline method presented here, the development of online real-time energy-efficient path planning based on the probabilistic method is planned.
Author Contributions: S.J. created models, developed methodology, designed computer programs, conducted research and investigation process, wrote the initial draft, edited the initial draft, supervised and leaded responsibility for the research activity planning. Acknowledgment: This work was supported by the JeonNam TechnoPark (JNTP) through the project (B0080802000131).

Conflicts of Interest:
The author declares no conflict of interest.

Conclusions
In this work, the EEPP algorithm is proposed and its performance is compared to the generic SPP algorithm using EKF-filter-based SOC estimation. Using the proposed path planning tool, two different path plans can be obtained and compared in advance. According to the experimental results, the EEPP algorithm results in an energy-efficient path.
Regarding the SOC, 0.96% is saved when using the EEPP algorithm, and this implies that the fuel economy is improved. Regarding the SOP, 11.03 (W) is lowered, and this implies that the internal shock of the battery pack is reduced. Although the rate of improved fuel economy and internal shock of the battery pack is not as good in this study, these two key factors can be enhanced in mission planning with longer trajectories. Here, the difference between simulation and experiment results appears to be caused by factors such as environmental effects and a less mature quadrotor simulation model.
In the future, instead of 2D path planning, 3D path planning with an enhanced EEPP algorithm are planned to greatly improve the fuel economy of the UAV. Also, rather than the offline method presented here, the development of online real-time energy-efficient path planning based on the probabilistic method is planned.