multi-drone control system

29
alardalen University School of Innovation Design and Engineering aster˚ as, Sweden Thesis for the Degree of Master of Science in Engineering - Robotics 30.0 credits MULTI-DRONE CONTROL SYSTEM David Songmahadthai [email protected] Simon Norlin [email protected] Examiner: Baran C¨ ur¨ ukl¨ u alardalen University, V¨ aster˚ as, Sweden Supervisor: Fredrik Ekstrand alardalen University, V¨ aster˚ as, Sweden Company supervisor: Julius Elof Winroth, Nordluft automation AB, Stockholm, Sweden January 16, 2019

Upload: others

Post on 24-Apr-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MULTI-DRONE CONTROL SYSTEM

Malardalen UniversitySchool of Innovation Design and Engineering

Vasteras, Sweden

Thesis for the Degree of Master of Science in Engineering - Robotics30.0 credits

MULTI-DRONE CONTROL SYSTEM

David [email protected]

Simon [email protected]

Examiner: Baran CurukluMalardalen University, Vasteras, Sweden

Supervisor: Fredrik EkstrandMalardalen University, Vasteras, Sweden

Company supervisor: Julius Elof Winroth,Nordluft automation AB, Stockholm, Sweden

January 16, 2019

Page 2: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Abstract

Planning and controlling traffic for multiple drones in a system without intercommunication betweenthe drones is a daunting proposition. This paper presents a thesis work developing a multi-dronecontrol system capable of planning and executing missions in a 3-D aerial space. Generic 2-D pathplanning algorithms are extended into the 3-D space to handle multiple parts of the path planning,creating highways through a gridded area which is used as obstacles for other drones.

Three path planning algorithm are compared with other each other wavefront, Astar and po-tential fields, scheduling is also documented to find the optimal drone amount that the system canhandle given an area of interest, this is done to see how often and for how long drones stand idle.Simulations and equations have been implemented to verify and compare results.

1

Page 3: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Table of Contents

1 Introduction 3

2 Background 42.1 Robotic Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Coverage Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3.1 Cellular Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.2 Grid based cellular decomposition . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Wavefront algorithm for grid-based path planning . . . . . . . . . . . . . . . . . . . 52.5 Astar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.6 Potential Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.7 Centralized and Decentralized systems . . . . . . . . . . . . . . . . . . . . . . . . . 62.8 Landing and Take-Off Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Problem Formulation 83.1 Traffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Landing and Takeoff Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Optimizing the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Method 94.1 Wavefront in 3D grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.1.1 Goal-cell assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.1.2 Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.1.3 CPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2 Astar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.3 Artificial potential fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.4 Live battery checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.5 Landing Take-Off Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.6 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Results 165.1 Path Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2 Path Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.1 Wavefront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2.2 Astar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2.3 Artificial potential fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.3 Idle time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.4 Work Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6 Discussion 236.1 Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2 Path Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6.2.1 Wavefront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2.2 Astar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2.3 Artificial Potential fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6.3 Idle Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.4 Work Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.5 Efficiency future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 Conclusion 25

8 Future work 26

9 Acknowledgement 27

References 28

2

Page 4: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

1 Introduction

Drones are becoming more widely used in order to optimize and solve issues previously donewith heavy machinery, such as transporting goods or tasks involving coverage of large areas[1][2].Navigation in robotics has been heavily researched for a long time, a newer and rarer field is toautonomously navigate in 3D space with multiple unites[3][4].

The purpose of this thesis is to present a path planning(PP) method and evaluate it in differentscenarios. Several drones are tasked to completely cover and survey a large area in a regular andtimely manner, with constraints on the system such as flight time and avoidance of other knownunits in the field. They navigate from a refill station where a payload is attached and whereits battery gets changed, then they travel towards a work area where they will execute PP andfinally returns to the refill station. The methods explored to solve the PP problem is a genericgrid based wavefront[5] implemented in 3D space, Astar algorithm, artificial potential fields as wellsome CPP algorithms[6] to cover smaller simple spaces. The system is centralized meaning that allcommunication and most decision making go through a main coordinator, much like an air trafficcontrol tower.

A major concern with controlling several unmanned aerial vehicles(UAVs) that are unable tomake decisions, is minimizing the risk of collisions between the them, both at the refill stationsand while they are traveling to the work area. The system also has to maximize the reliability inunforeseen scenarios such as communication loss or unexpected low battery levels.

After the system has been confirmed to work reliably with no collisions occurring, there is anevaluation of the systems optimization zones, which will be to find(shows) the optimal amount ofdrones and refill stations relative to battery time and size of area to survey.

The paper contain the following sections, section 1 contains the background to the methodsand algorithms that are used in the solutions. Section 2 identifying the difficulties and problemswith developing a control system for drones. Section 3 explains the methods and the algorithms aswell as how they are used. Section 4 presents the the data and results from simulating the system.Section 5 summarizes and draws a conclusion from the work as well as discusses future work thatcan be explored.

3

Page 5: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

2 Background

This section will go through concepts needed to understand the solutions later in the paper.

2.1 Robotic Operating System

ROS is the development framework used in this thesis.”The Robot Operating System (ROS) is a flexible framework for writing robot software. It is

a collection of tools, libraries, and conventions that aim to simplify the task of creating complexand robust robot behavior across a wide variety of robotic platforms.” [7]

The core parts of ROS is its communication, robotics-specific features and its tools. This thesishas utilized mostly the communication to increase encapsulation and easy to read code.

• Nodes: ROS has a high focus on being modular so processes that preform different functionsare divided into Nodes. A system often contains many nodes, one might handle the camerainput, while another computes path planning for the best route depending and that input.

• Master: The ROS master is a node that provides the name registration of nodes in thesystem. Making sure that nodes can find each other when they need to communicate.

• Messages: The communication between nodes is done by passing messages. The message itself is a data structure that can contain standard primitive types(int, char, etc.).

• Topics: For the nodes to send messages they publish that message on a topic. If there isa node that is interested in a message, that node has to subscribe to that topic where themessage was published. A node can publish and subscribe to multiple topics and there canbe multiple nodes subscribed/publishing to one topic. The messages passed over the topicsare completely anonymous, the nodes are not aware of any other node then it self. Thismakes the system robust with that if one node where to crash, the system as a whole wouldgo on.

• Services: Services are a synchronous way for nodes to communicate. With one node request-ing something from a service and a another node handles that request and sends a responseback over the service.

• Bags: Is a format for storing messages sent over topics, can later be replayed and is mostlyused for debugging purposes.

2.2 Overview

In this thesis a multi-drone system with a centralized coordinator will work to cover an area. Thesystem is developed and verified through simulation.

One of the tasks the drones have is to systematically cover a large area in its entirety and todeliver a payload to its destination. This will create a situation where the drones go back andforth over the area to refill the load and change battery. The traffic of drones is handled in a wayso that they do not risk collision when flying in close proximity to each other.

The drones do not have any intercommunication due to the limitations of the drones on-boardequipment. They only communicate with the central coordinator by transmitting GPS, batteryand altitude data, they also receive orders from the coordinator.

2.3 Coverage Path Planning

One aspect of many robotic applications is that of path planning. Path planning can be aboutfinding the shortest or most efficient route from point A to point B around obstacles or it could beCoverage Path Planning(CPP). CPP is where the robot not only navigates through an area butalso makes sure it covers all points of interest. This is maybe most commonly seen in lawn moweror vacuum cleaning robots, where it is important to cover the whole area. There are a few CPPalgorithms developed over the years, Galceran and Carreras[6] presents the most common ones.

4

Page 6: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

2.3.1 Cellular Decomposition

A way to do path planning is to divide an area into sub areas called cells. The cells are obstaclefree and non-overlapping areas that are easy to cover for example with zigzag motion known asthe seed spreader, figure 1, documented by Lumelsky [8], Choset and Pignon [9].

Figure 1: Seed spreader coverage motion over a grid of cells, gray represent covered cells.

Latombe [10] presents the Trapezoidal Decomposition which is later improved upon by Chosetand Pignon [9] when they present the Boustrophedon Decomposition.

2.3.2 Grid based cellular decomposition

Moravec and Elfes[11] were the first to introduce grid cells and Lumelsky[8] used it to implementa CPP. Grid based cellular decomposition is where all the cells are uniform over the entire area.One cell may be empty, contain an obstacle or part of a obstacle, therefor the resolution of thegrid can determine the coverage accuracy of the path planning [6]. The cells of the grid can be thesize of the coverage radius of the robot that moves through them, that way the robot can alwaysbe sure that it can pass a clear cell. But this can also result in the robot missing parts due to ifan obstacle is within a small part of the cell.

2.4 Wavefront algorithm for grid-based path planning

In a grid where a robot is to move to a specific cell (goal cell) a general wavefront algorithmcalculates a distance each cell is for the goal cell that the wave expands form, figure 2.

From this distance transform a robot can then find a path from the start cell to the goal cell,there are likely multiple paths that the wavefront can find and so by going to the neighboringcells with lowest numbers the distance needed for travel is the lowest found by the algorithm. Thewavefront also take in consideration for obstacles that can be in the grid, and so finding waysaround them. These obstacles is static and marked in the grid as shown in figure 2.

Figure 2: Wavefront algorithm finding the shortest path from Start cell(S) to Goal cell(G).

5

Page 7: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

2.5 Astar

Astar is a widely used path planning algorithm it is used in robotics, games and database handling[12].It is a fairly fast algorithm which is the main appeal of using Astar. One method of using is withthe euclidean distances to know weather a path is better or not. This is done with the use ofnodes, these nodes are different destinations that the path planner can consider, the nodes savetwo values, one is the euclidean distance to the goal, and the other is the distance from the nodeit came from as well as when node it was. When it has reached a new node it then compares thecombined euclidean distance and previous node it came from to see if the new node is further orcloser to the goal. It visits all the neighboring nodes until it finds the shortest path. Then it goesbackwards and gets all the nodes for the shortest path.

2.6 Potential Fields

The core concept of a potential fields in path planning is its action vectors [13] which show thedesired direction and distance to a target point. These vector could be a representation of attractionor repellent from different sources3, in path planning there is one point of attraction that a robotdesires to go to. The path the robot will take depends on obstacles, which will create fields ofrepulsion pushing the unit away from specific zones. For obstacles/repulsion zones there is a pointwhere the field becomes infinite, in path planning this is to make sure that the robot dose notenter/collide with zones it should not.

Figure 3: potential field pushing from an obstacle

2.7 Centralized and Decentralized systems

Decentralized SWARM is when there is no central coordinator, an example of such an approachis in the work of Jager and Markus [1], they were tasked to clean and cover an area. The taskswere assigned dynamically from an algorithm where several factors were considered, such as whereneighboring robots are located as well as how close they are to an area which has not been cleanedyet. This method is suitable to use when the robot has computational power to spare. The dronesin this thesis has minimal computational power.

In the paper Wan and his colleges did. [14]. They have a centralized approach where three robotarms cooperate in a task where all the instructions are redirected through a central coordinator ina star topology.

2.8 Landing and Take-Off Cycle

The landing and take-off will be an issue which has to be handled safely and effectively. This isbecause the amount of refill stations will always be less than the amount of drones in the system,this will create a bottle neck at the refill station if several drones arrive at the same time frame.

This topic has been well documented for airplanes and airports and is referred to as the AircraftLanding Problem (ALP), where there is a bottleneck when multiple airplanes are landing at anairport with fewer landing strips than planes. Today most of the airport traffic is handled by people,however Ben[15] and Wens’[16] scheduling algorithms has shown promise. The drone application

6

Page 8: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

will not be the same as the ALP, however for this project a landing and take-off cycle(LTO) willassist with scheduling the incoming and outgoing drones.

7

Page 9: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

3 Problem Formulation

This section have descriptions of the kind of problems that need to be handled.

3.1 Traffic

A centralized system with a coordinator responsible for the planning introduces problems such ascommunication issues. What happens if the drones lose connection to the coordinator while on amission or if the drones go off course, how can the system maximize a drones safety from the otherunits in the field? The problem becomes more of an issue with the introduction of more units inthe system.

3.2 Landing and Takeoff Cycle

Drone traffic safety is the major concern when it comes to LTO due to the fact that drones aremost likely to come in close proximity to each other when attempting to land and take-off, makingit the most critical area for collision and bottleneck issues. Scheduling the LTO is a major partand needs to consider worst case scenarios such as, when more drones wants to land than thereare landing zones. This could create a queue where a drone has to hover in a safe position until azone is clear as shown in figure 4.

Figure 4: Work area and refill station, traffic to and from the grid and refill station. The greendrone is returning to its safe zone, while the red drone waits in its safe zone until the yellow droneleaves the refill station.

3.3 Optimizing the system

A challenge will be to find optimal number of drones and refill stations relative to how large thearea is and the type of drone in the system. If there is constantly a queue to the refill stationthe flight time of the drone might be to short or there might have to be two refill stations toaccommodate the amount of drones present in the system.

8

Page 10: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

4 Method

This section explain the 3D wavefront together with the path planner as well as how the centralizedsystem is structured and the solution to the landing bottle neck problem. Because navigation in3D is difficult, a simple 2D-Wavefront path finding solution has been extended to work in a 3D-gridbased map.

The control system implements a star topology network as shown in figure 10. The dronesperiodically update the central coordinator on its status and location, so the coordinator can takenote of unexpected events such as extensive battery drainage or communication loss.

4.1 Wavefront in 3D grid

Performing the wavefront in a 3D grid is done by having the wave expand in a spherical motionfrom the goal cell. That would give the expansion cell a potential of 26 bordering cells for thewave to expand to. In this implementation the wavefront does not consider all the 26 cells aroundfor expansion only the ones ones the same plane and the one directly above and the only directlybelow the expansion cell, figure 5. This is so the path planner prioritize a movement on the currentplane instead of changing altitude.

Figure 5: The yellow cell is the expansion cell and where the green cells are of interest for waveexpansion. The red cells are not considered for expansion.

As shown in figure 12 the first step in the algorithm is to check if the neighbor cell is withinthe current map or if it has a obstacle value if ether is true then the cell is ignored because if itis outside the map then it is forbidden for the drone to fly there. If it has a obstacle value thenis not safe to fly there due to another drones flight path is going through that cell. If the cell iswithin the map and is not a obstacle the cell is assigned a value depending on the distance for thewave origin and added to the expansion list. The expansion list is instantiated with the goal cellwhere the wave starts from. All the steps are repeated until the cells in the expansion list has novalid neighbors.

4.1.1 Goal-cell assignment

The work area for drones that have completed their previous task is assigned by process of elimi-nation from criteria to find the safest area to work in. The first criteria is the distance from otherdrones, the distance is found out by imposing a wavefront algorithm on a top layer grid as shownin figure 6. The cells with higher value are seen as safer areas to work in because of the distancefrom other drones. The second criteria is the remaining charge left on the battery. If there is alow charge on the battery the drone are not assigned a cell far away from the refill station as seenin figure 7.

9

Page 11: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 6: The cells with a higher number are seen as a more attractive area to work in.

Figure 7: The values indicates how attractive an area is to work in depending on distance fromthe safe zone. darker colored cells are for drones with higher battery charge left.

4.1.2 Path Planning

Given a wavefront map for the goal cell and the start position for the drone the path planningalgorithm, 11, begins with checking all the start positions neighboring cells. The neighboring cellsof interest is shown in figure 8. The first step when checking a cell for possible movement is to seeif that cell is the goal cell, if it is not the goal cell then the algorithm checks if it is an obstacle.Then if it is nether the goal nor an obstacle then it checks the wavefront value and compares itwith the rest of the possible neighbors and picks the one with the lowest value, that will be theexpansion cell for the next iteration.

4.1.3 CPP

At the goal cell the drone drops down to the work level altitude and executes a zigzag coveragemotion of the full sub area, 9. The work level altitude is below traffic altitudes, the area is a squarezone of appropriate size for the work to be executed there.

10

Page 12: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 8: The yellow cell is the expansion cell and where the green cells are of interest for possiblemovement. The red cells are not checked, this is to stop the drones from moving in certain ways.

Figure 9: Traffic over the grid. The box is the work grid, with the red drone getting a path first toits work cell represented by the red pillars. The green drone then has to calculate a path aroundthe red drones path. The path the green takes is an example of an available route to its work cell.

4.2 Astar

Astar as a path planner is designed a bit different from how the implemented wavefront algorithmfunctions. The way Astar is implemented is that the 3D grid is only used to know the positionsof the obstacles as well as giving the Astar nodes a value to know the position so the distance canbe calculated.

The path the drone would take is imposed on to the 3D grid and became obstacles.This method makes it so that the drones are able to turn at any angle to change direction.The way this was achieved was by first deciding what the Astar nodes were. In our case we

had two instances where nodes were created for a drones path.

1. The first path the path planner makes is a straight path from where the drone is to whereits goal is. If this path intersects with another drones path six nodes are created, two nodesfor X, Y and Z on each side of where the paths intersect. IMAGE

2. Whenever another working drones makes a turn in its path, a node is created at that turnscorner. (maybe insert picture)

After all the nodes were created the start, end and all of the nodes became neighbour nodeswith each other. After that the neighbour nodes paths that intersected with obstacles had theirneighbour connection removed.

A generic Astar algorithm was then used to find the shortest path from start to goal.(kanskelgg dit mer info)

11

Page 13: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

The last step is to make the path into obstacles in the 3D grid map, this was done by makingevery nearby cell the path passed trough into an obstacle.

4.3 Artificial potential fields

The implemented Artificial potential fields is to see if soft turns would be more efficient comparedto sharp turns. The implement potential fields emits a pushing force whenever the path plannercomes close to an obstacle. An exponentially decreasing function was used for the pushing force 1.

e(−x) (1)

The first step is to make the path planner move towards the goal at a linear speed, whenever itis within the the pushing boundaries, which in our case was 10 meters of the obstacles, it startedpushing softly and gradually it pushes harder as it approaches because of the use of an exponentiallydecreasing function, until it passes by the obstacles and reaches the goal.?? Each cell was used asan obstacle emitted a pushing force. when it has found its path, just like in Astar all of the cellsthe path intersected became obstacles for other drones.

4.4 Live battery checking

To ensure that the drone does not crash due to unusual battery drainage a check on the currentlevel needs to be done periodically and compared to the average battery drainage. The first stepis to approximate the expected drainage for the distance of one way point, both for a diagonaland straight movement in the grid, this can be an initial random value, it does not matter becausethe value will be updated through out the runtime of the system. The entire journeys expecteddrainage is calculated to be used for the live checking. When the drone has traveled from one waypoint to the next it first looks if it is a diagonal or straight movement from the manometer andthen it checks how much of the battery was drained. It compares this value with the approximatedvalue and checks whether it has enough battery to complete the remaining journey. If it did drainmore than expected the initial battery drainage approximation is updated, and the extra batterydrainage is also expected to be the same on the return journey, it does this for every way pointtowards the work area, if the value comes close to the point of no return then the drone is instructedto abandon the given task and return to the refill station.

4.5 Landing Take-Off Cycle

LTO is a critical area of interest because of high traffic and limited space, how this is handled inthis thesis is by having a separate program called marshaler. The marshaler exclusively handlesthe queue. If the refill station is occupied, then the drone is placed in a queue, each drone isdesignated an exclusive safe zones to be used whenever it returns from a mission or is required toidly wait in the queue.

The first thing a drone will do when it returns from a mission will be to ask the marshaler ifthe refill station is available, the steps are shown in figure 10. The marshaler will then check inits queue to see if another drone is occupying the refill station and answer with a yes or no. If thedrone control receives a no it will land the drone in its designated safe zone, if the refill station isunoccupied it may fly and attempt to land there. When the drone is done at the refill station itwill then return to its safe zone and receive a new mission, the drone control will confirm this withthe marshaler and request the next drones to be sent to the refill station.

4.6 Verification

A software in the loop(SITL) simulation program is used to verify the majority of the algorithmsapplied.

Dronekits[17] SITL is used to simulate the drones dynamics, mavlink is also used to handlethe communication between the drone, the control system and the ground control station(GCS),however, the GCS is only used to observe the drone in real time.

12

Page 14: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 10: Algorithm flow and connection

Data from the Simulated drones GPS will be used to verify how closely the drones follow theirgiven paths. The X, Y and Z coordinates generated are to be compared with the GPS results tocompare the path given with the path taken.

Several drones are also simulated simultaneously to ensure that some drones cross paths, thosedrones paths are then displayed to verify that the drones travel at different altitudes when crossingpaths.

The drones idle time are logged and are compared. they are compared in tree map sizes, 250000 m2, 1 000 000 m2 and 2 250 000 m2 with tree, six, nine and twelve drones in every map size.this is then displayed in a graph and table.

The work allocation algorithm which uses wavefront is verified by observing if the work isdistributed equally over the map.

13

Page 15: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 11: Path Planner flowchart.

14

Page 16: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 12: Wavefront flowchart.

15

Page 17: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

5 Results

The following section will present the results. The accuracy of the path is evaluated as well as theidle time of drones in different groups sizes and varying map sizes. The allocation of work will alsobe observed in order to verify that the drones rarely work in close proximity of each other.

5.1 Path Results

The figure 13 shows one drone completing four different missions with the wavefront algorithm,one after the another, all having slightly different goals. The figure also show that the simulateddrones consistently follow the given path with no diversion in its course. In the same figure theCPP is implemented when the drone arrives at the work location and it can be seen that it alsofollows the path correctly.

In figure 15 and 16 there are two different drones working simultaneously. At first the blackdrone is given a task and is out on that mission, shortly after the red drone is given a task and inthe 3D figure 15 it is seen that the red drone path is elevates to a higher level in order to avoidtraversing in the black drones path, this is the same for all the drones.

To ensure that the path given from the path planner is reflected in the simulated results, bothof them are plotted and compared. As seen in figure 18 they are similar, only differing in lengthproportion because of the difference in data types, one being GPS and altitude data and the otherbeing regular X, Y and Z coordinates.

5.2 Path Efficiency

In this section the results for the three different path planning algorithms are presented.

5.2.1 Wavefront

The paths taken are not 100% efficient, with the drones at most being able to take 90 or 45 degreesturns, therefore a comparison of distance is made between the path planners path and a straightline. As shown in figure 21 a 5x5 grid system the blue arrow shows the most inefficient pathpossible in a square grid based map, while the green arrow is the most efficient with it taking astraight line from A to B. With triangulation we know that the blue arrows path is 8% longer indistance than the green path, however this type of path is only taken a few times per map. Theinefficiency for the rest of the paths will also gradually decrees when moving towards the mosttop, bottom or diagonal square, this can be seen in figure 23. If we do this math with the intentof traversing the entire map we get the following results as shown in figure 22. We can see thatthe graph looks similar to a logarithmic functions with hardly any difference in efficiency in thebeginning because of the small map size, however as the size increases so does the extra distancetaken, however it peaks at 5% no matter how large we make the map size, as long as it is a squarebased map.

5.2.2 Astar

When Astar does not have any obstacles obscuring its path it always takes the most efficient pathpossible, however when it does encounter obstacles the results can be seen in figure 19. The firsttest was conducted by first making one drone do a task by having a predesignated route with twoturns to make it so that the second drone would have two corners to create for nodes. The secondsdrone goal was also placed so that it intersected with the first drones path making it so that sixadditional nodes would be created. this can be more clearly seen in the forth image. The secondtest was merely to demonstrate that there are no issues even when a more complex obstacle pathis introduced.

5.2.3 Artificial potential fields

The results for artificial potential fields can be seen in figure 20, this test was conducted with threedrones, first the black drone was given a task which created a straight path from start to goal.

16

Page 18: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 13: GPS data of one simulated drones paths over four missions

Afterwards the red drone was given a task while the black drone was still doing its mission, to avidthe black drones path the red drone elevate to a higher altitude. Lastly the blue drone was givena task while both the black and red are still on their mission, this makes the blue drone descendto avoid both the red and black drones path.

5.3 Idle time

The idle time were recorded in order to find a correlation between map size and the number ofdrones in the system.

The logged idle time are displayed in the table 1 as well as in figure 24.

17

Page 19: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 14: The CPP is implemented at the work location

Figure 15: Red drone avoiding the black drones path by elevating to higher level

As seen in the first graph in figure 24 the average idle time increases with the addition of moredrones, however, there comes a point when the average idle time converges and stay the same.

The table 1 shows that average idle time decreases when the map size enlarges, as expected.

5.4 Work Allocation

The work allocation is designed to be safe, which is reflected in the results as shown in figure 17.The figure also shows a pattern that confirms that the work areas chosen are always far away fromeach other.

18

Page 20: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 16: An image from a Ground control program to display the simulated movement in realtime.

Figure 17: An image of the path planner, displaying that only four out of twelve drones are ableto work at the same time in a map size of 250 000 m2 at a set speed of 10 m/s.

average idle time for one drone250 000 m2 1 000 000 m2 2 250 000 m2

three drones 77 sec 77 sec 27 secsix drones 417 sec 177 sec 223 secnine drones 1005 sec 651 sec 528 sectwelve drones 1540 sec 1215 sec 991 sec

Table 1: Table of the drones average idle time at a set speed of 10 m/s

19

Page 21: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 18: The figure with the blue line represent the path from a simple x, y and z coordinate,while the red represent the GPS data from the simulations.

Figure 19: The first two images show a simpler obstacle that a drone needs to navigate. theblack lines represents the all path the second drone is able to take, while the red line representsthe shortest possible path. The blue line represent the first drones path which is an obstacle forthe second drone The first image excludes all the paths that goes trough the blue line, while thesecond includes all the paths created from the corners. The third image showed a more complicatedobstacle path.

20

Page 22: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 20: The black drone is introduced first, then the red and lastly the blue drone.

Figure 21: The blue line represents our path planners path, the green one is the optimal pathwhich goes straight from A to B.

21

Page 23: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

Figure 22: The X-Axis represents the map size while the Y-Axis represents the percentage increasein distance.

Figure 23: The figure represents the difference in distance when traveling in a straight path com-pared to our path.

Figure 24: An image of the average drone time spent while waiting for the refill station to becomeavailable.

22

Page 24: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

6 Discussion

6.1 Path Planning

The path planning has been proven to be functional and manages to control the traffic so that thedrones do not occupy the same space. However, while the paths do not cross they are likely notthe most effective routes that can be taken, as the path planner chooses a location that will needa route to go around another drone’s path. Here it would be better if the planner could chose adifferent location for the drone to go to so there is no need to cross paths with other drones ifpossible and so further increases safety.

6.2 Path Efficiency

In this section the discussion for the three different path planning algorithms are presented.

6.2.1 Wavefront

As we could see in the results there is a slight difference if distance when taking our path planner’sroute compared to the most efficient one, however it is not a significant difference when consideringthe benefits with having a grid-based path, such as safety and the modularity of the system.However these results only take one drone and one altitude into account, when introducing moredrones to the system they will sometimes change altitude to avoid each others paths. Distance isalso necessarily not equivalent to battery usage, in our path we sometimes change direction, thismeans that the drones will decelerate and accelerate, this will require more energy than simplygoing in a straight path.

6.2.2 Astar

The result from Astar is the most promising, it is both effective with finding the the shortest pathas well as being able to handle more complex paths. However while it is effective it can becomecomputationally heavy if several drones as well as complex paths are present when a new droneis given a new mission. This is because every node new node the path planner needs to considerexponentially increases the computational power needed because all nodes are connected to eachother at the start, they all also need to be checked if they are acceptable paths to use or if theyintersect with other drones paths. This might not be an issue because of the path planning beingdone before the drone is sent of to a mission, however it is something to consider.

6.2.3 Artificial Potential fields

The artificial potential fields also show promise, however it has several flaws that makes it unsuit-able for this application. The first issue is that it is easy to get stuck on local minimums when itattempts to avoid obstacles as well as find a short path, this is because the paths only repel if athe path planner gets to close to the obstacle, so in the worst case scenario the path planner couldmake a horribly inefficient path for itself because of it not knowing that there were several moreobstacles in its first diversion, this could maybe have been avoided if it choose another directionwhen first avoiding an obstacle even if it might have seemed to be the wrong choice at the start.This might not be a problem if some foresight could be done or several iterations of the path plan-ner were to be made for one drone to make sure that the most efficient path were taken, howeverit would be better to just use another path planner where this issue is better dealt with.

Secondly it is a bit to unstable when there are several drone simultaneously on the same map.There seems to be to many forces pushing one the path planner to make it reliably find a goodpath.

6.3 Idle Time

When looking at the results from the drones idle time, it can clearly be seen that increasing themap size can ease the load on a single refill station, however there is always some idle time whenthere is a moderate amount of drones and only one refill station. Even if the map size can be

23

Page 25: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

enlarged there is a limitations to the drones battery capacity. A better alternative than simplyenlarging the map size would be to increase the number of refill stations. As shown in figure 17the maximum number of drones working at the same time are four, this could be doubled if onemore refill station would be added. This is also shown in table 1, the only reason there is any idletime at three drones is because of the drones starting at the same time and the first task is to goto the refill station.

To find the most optimal number of drones in a system would be to first, test how far thebattery allows the drone to travel and to set the map size as the furthest away work area. Thenadd drones until there is always one drone idly waiting. Then to double the drones, simply byadding one more refill station

6.4 Work Allocation

The work allocation is very simple and limited. It does achieve the desired goal of separatingthe work areas of the drones. However, it does not take into account efficiency, this introducesscheduling problems. There is a higher chance of two drones returning to the refill station becauseof the timing of when the drones start working and for how long they work. It might even beredundantly safe. Because of the precision of a drone a safety margin of 30 m is enough. Currentlythe drones always choose a isolated work area, they are mostly over 100 m apart, this could beconsidered unnecessary.

6.5 Efficiency future work

The focus of the methods proposed have been on simplicity and safety, so the system as a wholemight be ineffective. Instead having the drones move back and forth, an alternative would be tohave two refill station on opposite sides, this way the map size could be doubled because of notneeding to return back when working at the furthest work area, the energy consumption would behalved. The path towards the goal would also be removed and replaced with a new path when thedrone has arrived at the destination. However, this would make the problem more complex. Suchas which refill station should a drone choose to return to. This could also introduce a starvationproblem where one refill station in never used. It would also require more preparation becausenow there are two refill station on two different locations.

24

Page 26: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

7 Conclusion

This paper has presented a centralized multi-drone control system that uses generic wavefrontalgorithms for path planning in a semi-static environment. The path planning was done in a 3Dgrid of uniform cells, when one drone has got a path through the grid the cells that the dronesuses for its path becomes unavailable for other units in the system to use until the drone is backto its safe zone and the cells are unblocked. This creates personal ways/tunnels through the gridthat only that one drone is allowed to fly in during its mission.

Simulation shows that the system is functional and that depending on the size of the map thesystem can handle different number of drones. With only one refill station it is easy to see thecorrelation between the idle time, refill time and average mission time.

25

Page 27: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

8 Future work

As brought up in the conclusion one major part is increasing the optimization of the system, it isnot only to increase the number of refill stations but also to find the optimal location to place thestations depending on a given area so that drones can have easy access to them.

Another part would be to find a way to plan the UAVs path so that they time the arrival tothe refill stations so that there is a minimal idle time waiting for the station to be available.

Work allocation with battery consideration, find a zone for the drones depending on the statusof the battery level.

26

Page 28: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

9 Acknowledgement

We would like to thank malardalens university for this thesis.

We would also like to Nordluft for the opportunity to develop a drone control system.

Fredrik Ekstrand has been an amazing supervisor, giving us advice whenever we got stuck orneeded additional guidance.

27

Page 29: MULTI-DRONE CONTROL SYSTEM

Malardalen University Master Thesis

References

[1] M. Jager and B. Nebel, “Dynamic decentralized area partitioning for cooperating cleaningrobots,” in Robotics and Automation, 2002. Proceedings. ICRA’02. IEEE International Con-ference on, vol. 4. IEEE, 2002, pp. 3577–3582.

[2] M. R. Brust and B. M. Strimbu, “A networked swarm model for uav deployment in the as-sessment of forest environments,” in 2015 IEEE Tenth International Conference on IntelligentSensors, Sensor Networks and Information Processing (ISSNIP), April 2015, pp. 1–6.

[3] A. R. Vetrella and G. Fasano, “Cooperative uav navigation under nominal gps coverage andin gps-challenging environments,” in 2016 IEEE 2nd International Forum on Research andTechnologies for Society and Industry Leveraging a better tomorrow (RTSI), Sept 2016, pp.1–5.

[4] S. Waharte, N. Trigoni, and S. Julier, “Coordinated search with a swarm of uavs,” in 20096th IEEE Annual Communications Society Conference on Sensor, Mesh and Ad Hoc Com-munications and Networks Workshops, June 2009, pp. 1–3.

[5] A. Zelinsky, R. A. Jarvis, J. Byrne, and S. Yuta, “Planning paths of complete coverage of anunstructured environment by a mobile robot,” in Proceedings of international conference onadvanced robotics, vol. 13, 1993, pp. 533–538.

[6] E. Galceran and M. Carreras, “A survey on coverage path planning for robotics,” Roboticsand Autonomous systems, vol. 61, no. 12, pp. 1258–1276, 2013.

[7] “Robotic operating system,” http://www.ros.org/, accessed: 2019-01-15.

[8] V. J. Lumelsky, S. Mukhopadhyay, and K. Sun, “Dynamic path planning in sensor-basedterrain acquisition,” IEEE Transactions on Robotics and Automation, vol. 6, no. 4, pp. 462–472, 1990.

[9] H. Choset and P. Pignon, “Coverage path planning: The boustrophedon cellular decomposi-tion,” in Field and service robotics. Springer, 1998, pp. 203–209.

[10] J. Barraquand and J.-C. Latombe, “Robot motion planning: A distributed representationapproach,” The International Journal of Robotics Research, vol. 10, no. 6, pp. 628–649, 1991.

[11] H. Moravec and A. Elfes, “High resolution maps from wide angle sonar,” in Robotics andAutomation. Proceedings. 1985 IEEE International Conference on, vol. 2. IEEE, 1985, pp.116–121.

[12] P. Yap, N. Burch, R. C. Holte, and J. Schaeffer, “Block a*: Database-driven search withapplications in any-angle path-planning.” in AAAI, 2011.

[13] M. A. Goodrich, “Potential fields tutorial,” Class Notes, vol. 157, 2002.

[14] J. Wan, Y. Wang, Q. Qin, and Y. Li, “Multi-robots’ communication system based on zig-bee network,” in Electronic Measurement & Instruments, 2009. ICEMI’09. 9th InternationalConference on. IEEE, 2009, pp. 3–14.

[15] M. B. Messaoud, K. Ghedira, and R. Harizi, “The multiple runway aircraft landing problem:A case study for tunis carthage airport.”

[16] M. Wen, “Algorithms of scheduling aircraft landing problem,” Master’s thesis, Technical Uni-versity of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark, 2005.

[17] “dronekit an aerial platform,” http://dronekit.io/, accessed: 2018-05-15.

28