15
1 UAV Swarm Jason Hahn, Christopher Peterson, Ryan Downey, Sima Noghanian, Prakash Ranganathan Electrical Engineering, University of North Dakota Grand Forks, North Dakota, USA [email protected] [email protected] [email protected] [email protected] [email protected] Abstract – A swarm is a collection of objects or particles that are in coordination with each other. The concepts of swarm movement and communication are applied in a variety of applications such as traffic control or in military tactics. This project applies swarm principles to a network of unmanned aerial vehicles (UAVs) in order to achieve optimal communication between each vehicle and to lower the amount of energy used to coordinate the movement of multiple vehicles. A network optimization algorithm has been developed to work with wireless channel data from Wireless InSite, a wireless channel modeling software program, to control each UAV in the swarm network and choose the best wireless communication channels between UAVs based on characteristics such as path loss and power received. The results from this algorithm are implemented in a simulation environment constructed with OMNeT++, which also provides model visualization. This model has been evaluated in simulation in two dimensions on a 120x120 meter grid and is capable of choosing optimal paths between nodes in the network by comparing channel characteristics such as path loss and power received. Keywords – swarm, unmanned aerial vehicle, particle swarm optimization, wireless channel, network simulation I. BACKGROUND In general terms, a swarm is a large group of objects or particles, with the objects often moving in coordination. This term originates from biology to describe the behavior of organisms such as insects, fish, and birds. These animals organize amongst themselves in order to move fluidly in relative unison with each other. A simple mathematical model of this can be produced by having each individual in the swarm follow three key rules [1]: The individual will move in the same general direction as its closest neighbors. The individual will stay close to its neighbors. Individuals will avoid collisions with each other. Inspired by the biological equivalent, systems are being developed to use swarming principles to simulate an organism’s collective behavior using robotics. This has been applied in a number of ways, including for optimizing automobile traffic control [2] and planetary mapping [3]. Swarm intelligence has also been applied to the battlefield, in what is called military swarming. This combat tactic uses fully or semi-autonomous action units (such as unmanned aerial vehicles (UAVs) or small infantry units) to attack an enemy in coordination with each other in order to overwhelm the target [4]. This new project focuses on this idea in a civilian setting. The goal is to create a simulated model of a swarm of UAVs to operate in a cooperative setting, and use the properties of a controlled swarm to find the most efficient channels of communication between units. The wireless channels are studied and modeled, and an optimization program has been created to test the swarm network. II. SYSTEM DIAGRAM As demonstrated in Fig. 1, the system comprises of a data interface program that links three major subsystems: the Wireless InSite network simulation dataset, the network optimization algorithm, and the OMNeT++ network framework and visualization tool. UAV objects in the swarm output characteristics such as location, heading, speed, as well as sensor data that depends on the mission objective. This data is fed into the network optimization algorithm, which employs a Fig. 1: UAV Swarm system block diagram

UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

  • Upload
    lamtu

  • View
    220

  • Download
    4

Embed Size (px)

Citation preview

Page 1: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

1

UAV Swarm

Jason Hahn, Christopher Peterson, Ryan Downey, Sima Noghanian, Prakash Ranganathan

Electrical Engineering, University of North Dakota

Grand Forks, North Dakota, USA [email protected]

[email protected]

[email protected]

[email protected]

[email protected]

Abstract – A swarm is a collection of objects or particles that are in

coordination with each other. The concepts of swarm movement

and communication are applied in a variety of applications such as

traffic control or in military tactics. This project applies swarm

principles to a network of unmanned aerial vehicles (UAVs) in

order to achieve optimal communication between each vehicle and

to lower the amount of energy used to coordinate the movement of

multiple vehicles. A network optimization algorithm has been

developed to work with wireless channel data from Wireless InSite,

a wireless channel modeling software program, to control each

UAV in the swarm network and choose the best wireless

communication channels between UAVs based on characteristics

such as path loss and power received. The results from this

algorithm are implemented in a simulation environment

constructed with OMNeT++, which also provides model

visualization. This model has been evaluated in simulation in two

dimensions on a 120x120 meter grid and is capable of choosing

optimal paths between nodes in the network by comparing channel

characteristics such as path loss and power received.

Keywords – swarm, unmanned aerial vehicle, particle swarm

optimization, wireless channel, network simulation

I. BACKGROUND

In general terms, a swarm is a large group of objects or

particles, with the objects often moving in coordination. This

term originates from biology to describe the behavior of

organisms such as insects, fish, and birds. These animals

organize amongst themselves in order to move fluidly in relative

unison with each other. A simple mathematical model of this

can be produced by having each individual in the swarm follow

three key rules [1]:

The individual will move in the same general direction

as its closest neighbors.

The individual will stay close to its neighbors.

Individuals will avoid collisions with each other.

Inspired by the biological equivalent, systems are being

developed to use swarming principles to simulate an organism’s

collective behavior using robotics. This has been applied in a

number of ways, including for optimizing automobile traffic

control [2] and planetary mapping [3]. Swarm intelligence has

also been applied to the battlefield, in what is called military

swarming. This combat tactic uses fully or semi-autonomous

action units (such as unmanned aerial vehicles (UAVs) or small

infantry units) to attack an enemy in coordination with each

other in order to overwhelm the target [4].

This new project focuses on this idea in a civilian

setting. The goal is to create a simulated model of a swarm of

UAVs to operate in a cooperative setting, and use the properties

of a controlled swarm to find the most efficient channels of

communication between units. The wireless channels are

studied and modeled, and an optimization program has been

created to test the swarm network.

II. SYSTEM DIAGRAM

As demonstrated in Fig. 1, the system comprises of a

data interface program that links three major subsystems: the

Wireless InSite network simulation dataset, the network

optimization algorithm, and the OMNeT++ network framework

and visualization tool. UAV objects in the swarm output

characteristics such as location, heading, speed, as well as

sensor data that depends on the mission objective. This data is

fed into the network optimization algorithm, which employs a

Fig. 1: UAV Swarm system block diagram

Page 2: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

2

form of particle swarm optimization (PSO) to choose where the

most efficient connections can be made between each member

of the swarm. It does this by querying the Wireless InSite

dataset that contains wireless channel information on all

possible connections in the swarm. These have been pre-

calculated within the testbed. Once the network optimization

algorithm determines the most efficient channels, it interfaces

with the OMNeT++ visualization tool to create a network

distribution (NED) file that outlines the resulting structure of the

network, including the active network connections and positions

of each of the objects in the swarm. This image is captured

from OMNeT++ in order to obtain the output network from the

swarm state in question.

III. INDIVIDUAL TASK SUMMARY

A. Particle Swarm Optimization – Ryan Downey

Ryan was tasked with algorithm development and

research primarily focused on particle swarm optimization. The

algorithm itself is a very general heuristic to approximate very

complicated problems. The implementation of the algorithm will

vary quite a bit depending on the specific application but all

variants share some similarities. The algorithm works by assuming a group of particles.

Each particle has a known position and velocity. “Particle”,

“position”, and “velocity” are not always literal but serve as an

analog to the original incarnation of the algorithm. The position

serves as the function to be optimized and the velocity is the

engine in which the position is modified over successive

iterations of the algorithm for each particle. Particle swarm

optimization follows the basic design flow chart shown in Fig.

2. For each iteration of the algorithm, each particle in the

swarm has three distinct options to adjust its velocity. The

particles can explore neighboring positions, head toward a

previously discovered best personal position, or head toward the

best global position discovered thus far. Some implementations

choose one of the three options based on probability while

others simply weigh the effect each possibility has on the total

velocity with pseudorandom numbers. Every particle has a

memory of its best discovered position and the swarm keeps

track of the global best position found. Over many iterations the

particles will tend to converge to the global best position. There

is no way to test whether the algorithm has found the optimal

position and a stopping criteria must be applied. This is usually

either a set number of total iterations or a certain number of

iterations without the global best position being improved.

There are many applications for particle swarm

optimization when it comes to UAV swarms. It can optimize

pathing for drones that are traveling in a group to maximize

battery life, optimally spread out a swarm for maximum sensor

coverage over an area of interest and find the best routing for

wireless communications between drones in the swarm. We

decided to set our sights first on tackling the communication

optimization. In order to become familiar with the concept of

particle swarm optimization we first applied the algorithm to a

well-known computer science problem known as the traveling

Fig. 2: Particle swarm optimization flowchart

salesman which can be described as follows. Given a certain

number of cities and the distances from each city to every other

city, find the shortest route from a starting city that travels

through every city only once and returns to the starting city. This

is also a beneficial starting point because of its similarities to

Page 3: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

3

finding efficient routes for multi-hop wireless communication in

UAVs.

In order to address the traveling salesman problem it

was necessary to redefine some of the key terms in the original

algorithm. Each particle's position is a potential solution to the

problem (that is a continuous loop starting in one city and

connecting to all others before returning to the starting city).

Velocity defines the way in which the particle changes its

position. Exploring is done by randomly inverting sequences in

the loop. Migration toward personal and global best solutions

occurs by shuffling a random part of the path from the target

solution into the current solution. The particles in this

implementation choose one of the three options for movement

per iteration of the algorithm. In order to increase algorithm

efficiency, the decision on which velocity modifier to adopt for

each loop of the algorithm is determined by a shifting

probability. These probabilities start out in such a way that the

particles are more likely to explore solutions around them than

converge toward known solutions in the beginning. As the

algorithm progresses, the particles become less likely to explore

and more likely to converge.

Tests were run on the efficiency of this algorithm and

results have been promising. Tests were performed with twenty

particles and the algorithm was stopped after 2000 iterations. All

tests concluded in under five seconds. In tests between five and

fifteen cities, the particle was always able to arrive at the

optimal solution. On tests between twenty and forty cities, the

algorithm managed to get within 25% of the optimal solution.

This could easily be improved with more particles, more

iterations or a more efficient local search algorithm.

B. Network Framework – Jason Hahn

Jason’s primary task was the creation of the OMNeT++

network framework tool. OMNeT++ is an object based C++

simulation library and framework construction tool [6]. In this

application, OMNeT++ was used to create a model framework

for the wireless network between each node in the swarm

including the base station. It is important to note that

OMNeT++ is not specifically a network simulator but rather is a

simulation platform that provides an object architecture for

network models. Fig. 3 shows an example network model in an

OMNeT++ GUI visualization. The diagram represents each

node as a white circle. The lines connecting the nodes represent

transmission and reception lines.

OMNeT++ frameworks start with a component

architecture, written in C++. These modules define the

parameters that create each node in the simulation network.

Modules can be mapped into a communication hierarchy and be

nested into a compound module for organization of larger

parameter sets.

The structure of the network is then created using the

network description (NED) language. The NED file contains

instructions describing how the nodes in the network are linked,

as well as parameters used in the visualization portion such as

the definition of images used to portray each node in the

network and the control of the results when the simulation is

run.

Fig. 3: Example of OMNeT++ network model

An initialization file is also written to define

parameters within the NED model file. This can be configured

for several simulation trials to maximize testing capabilities and

efficiency.

After modules are linked with the simulation kernel in

a make operation, the network simulation can be modeled within

the OMNeT++ GUI and studied. The results are also output into

vector and scalar files that can be further processed in other

tools such as Matlab or a similar program. Fig. 4 (next page)

demonstrates the data flow and structure of an OMNeT++

simulation framework.

Jason learned the NED language and studied how to

best implement the OMNeT++ simulation structure within the

whole of the system. Since the visualization portion of this

software is the primary point of use, he has created the

subsystem that parses the algorithm output into an OMNeT++

readable NED file that contains the network structure

information. This system will be discussed more thoroughly in

the System Prototype section of this report.

Page 4: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

4

C. Site Specific Simulation – Christopher Peterson

Chris’ primary task was to lead development of

dataflow and network simulation using the Wireless InSite

software from Remcom [6]. This task involved gathering data

from simulated UAV objects in the swarm and creating a nodal

network with a model of the wireless channels between nodes.

Fig. 5 shows an example of this.

Wireless InSite can be used in the simulation two

separate ways.

The first method uses Wireless InSite to calculate

wireless channels in real time. As the positions of each node in

the network are updated, the Wireless InSite simulation space is

updated, and the simulation is repeated. This provides real time

information about the status of the network, and allows for very

accurate path loss information, as well as other channel

parameters such as power received, path gain, and spread. This

also allows the simulation to be updated with pertinent

information about the environment, including building data and

foliage. The drawback is that this method requires considerable

computing resources to be available at any deployment location.

There is an express version of Wireless InSite that can be used

for real time applications that may help alleviate this

shortcoming, and deserves some further research for this

application.

The other method is to run many possible simulated

environments filled with possible locations of transmitters and

receivers. This data is used to create a database of the

information that can be quickly accessed during the deployment

which allows for quicker response times of the algorithm, and

thus better performance of the system as a whole. Unfortunately,

it can be difficult to account for factors such as buildings and

foliage, as well as network congestion in given areas. This type

of dataset is shown in Fig. 6.

Due to the necessity of a fast, real-time response from

the PSO algorithm, this database method has been chosen. This

framework allows for faster reaction time to changes in the

structure of the swarm which results in a rapidly evolving

network, with communication channels being gained and lost

throughout the lifetime of the simulation.

Fig. 4: OMNeT++ system flowchart Fig. 5: Swarm objects in Wireless InSite

Fig. 6: Database grid in Wireless InSite

Page 5: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

5

Wireless InSite outputs the properties of the connection

quality between each node (shown in Fig. 7). It calculates

information on:

Paths: Information about each individual path between

a pair of nodes. Includes all points of interaction for

each given path.

Path loss: The reduction in attenuation of a

transmission wave as it moves through a space. This is

measured in dB.

Path gain: The inverse of path gain.

Received power (signal strength): The transmitter

output that is received by the desired recipient node.

This is measured in dBm.

Delay spread: Difference in time between the first

received signal component, and the last received signal

component. These paths can be created by reflections

and refractions caused by objects in the environment.

This is measured in seconds.

IV. NETWORK OPTIMIZATION ALGORITHM

The network optimization algorithm, written in C++,

uses an iterative approach to determine wireless channel

connections between nodes in the swarm. Some assumptions

are made regarding the characteristics and goals of the swarm:

Nodes will not be transmitting and receiving at the

same time; this means that signal power will not be

divided amongst multiple nodes for concurrent

transmissions so signal power can be dedicated to one

transmission at a time.

Every node in the swarm is equal. All objects produce

the same signal characteristics.

Wireless channels are considered independently of each

other. They are not summed to consider to a whole

path in the event of a single or multiple bridging nodes.

In its current state, the network optimization algorithm evaluates

one parameter at a time to determine the best wireless

communication channels. For the current round of testing,

power received and path loss were the two parameters focused

on.

A. Overview of Operation

UAV objects, containing positional data (i.e. x, y, and

z-coordinates), identification tags, and characteristics calculated

in the Wireless InSite database such as the aforementioned path

loss and power received information from the other active nodes

in the swarm, are imported into the algorithm stage of the

simulation. All of this information will be used to calculate the

final output wireless channels that are depicted using

OMNeT++.

In the initial configuration of the simulation, the

desired characteristic to be evaluated in the algorithm is

specified. Based on this characteristic chosen, threshold values

are set as upper and lower bounds on pass/fail criteria for a

wireless channel. Multiple threshold ranges can be tried for

each test case.

Only the wireless channels of one of the nodes in the

swarm are calculated in an iteration through the algorithm. This

simplifies the OMNeT++ output so the image is readable, and

also allows for easier comparison of the algorithm results from

node to node in the swarm.

B. Pseudocode

The process creates a wireless channel “map” that

contains one less connection than the number of nodes present

in the swarm. In the event a connection does not meet the

prescribed threshold based on the chosen characteristic, the

simulation can be configured to either take the next best

connection whose values are closest to the threshold values or

not connect the node to the rest of the swarm, indicating that

there is no valid connection present.

C. Example Process

In this section, an overview of how the algorithm

operates in a general case is detailed. In this example, the

connections from node 1 to the surrounding target nodes will be

calculated. Fig. 8 (next page) shows the initial, unconnected

state of the nodes.

441 75 85 4 15.9374 -55.7029 442 80 85 4 20.7123 -50.5362 443 85 85 4 25.5734 -59.3397 444 90 85 4 30.4795 -52.3598 445 95 85 4 35.4119 -53.2187 446 100 85 4 40.3609 -61.2706 447 105 85 4 45.3211 -65.0727 448 110 85 4 50.2892 -71.44 449 115 85 4 55.263 -66.0835 450 120 85 4 60.2412 -62.5924 451 0 90 4 60.0333 -63.9571 452 5 90 4 55.0364 -63.6514 453 10 90 4 50.04 -62.939 454 15 90 4 45.0444 -60.6147 455 20 90 4 40.05 -57.3991 456 25 90 4 35.0571 -54.0845 457 30 90 4 30.0666 -52.5123 458 35 90 4 25.0799 -49.5098 459 40 90 4 20.0998 -48.9302 460 45 90 4 15.1327 -45.0735 461 50 90 4 10.198 -76.6604 462 55 90 4 5.38516 -41.9581 463 60 90 4 2 -57.4748 464 65 90 4 5.38516 -41.6698 465 70 90 4 10.198 -63.7766 466 75 90 4 15.1327 -44.7398 467 80 90 4 20.0998 -49.199 468 85 90 4 25.0799 -49.4244 469 90 90 4 30.0666 -53.235 470 95 90 4 35.0571 -54.4997 471 100 90 4 40.05 -57.0081

Fig. 7: Output example from Wireless InSite. This data shows path

information, path loss, path gain, power received, and spread.

Page 6: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

6

The algorithm begins by looking at the connection

between the home UAV, UAV 1, and the first target node,

designated as UAV 2. The connection between UAV 1 and UAV

2 is determined based on the algorithm characteristic. If the

desired characteristic is within the specified threshold, the direct

connection passes the criteria and is approved, as shown in Fig.

9.

If the connection fails the criteria, then the target node

needs to be connected through another bridging node. The

characteristic parameter between the target node and the other

field nodes is compared to determine which node best meets the

criteria to bridge the node to the home node. Fig. 10 shows an

example of this type of connection. Note that at this point in the

algorithm, a connection between the subsequently found

bridging node and the home node is not created, but rather, this

is done iteratively as the algorithm cycles through the rest of the

nodes.

After finding a connection for the first target node, the

algorithm iterates through the rest of the nodes in a similar

fashion. Some simple connection error-checking is done to

prevent redundant connections from being made, which also

ensures that that all nodes are connected. Fig. 11 depicts an

example of the order in how nodes are connected to each other.

V. SYSTEM PROTOTYPE

A. Prototype Overview

Network connections are simulated in Wireless InSite

to create a database of node information within a specified

testbed. The network optimization algorithm chooses with

Fig. 9: The first case of connection in an iteration. If the algorithm determines that the tested characteristic is within the threshold, the connection passes the

criteria.

Fig. 11: An example result from the algorithm, showing the iterative process through which connections are made.

Fig. 10: The second case of connection in an iteration. If the algorithm

determines that the tested characteristic is not within the threshold, the

connection fails the criteria and a bridging node is connected that best meets the criteria.

Fig. 8: The initial state of the swarm before the algorithm determines the wireless channels.

Page 7: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

7

connections are optimal. These calculations are dependent on

the different parameters of the wireless channels between each

of the nodes in the swarm such as path loss and power received.

The output of the algorithm is translated into a NED file

readable by OMNeT++. The resulting simulation run in the

OMNeT++ GUI environment displays the nodes and active

connections calculated by the algorithm. When data within the

swarm changes, such as the movement of one of the active

nodes, the algorithm runs again and this cycle repeats.

B. Testbed Overview

A 25X25 node database has been created in Wireless

InSite, with each node five meters apart resulting in a 120X120

meter sized grid. For initial testing done so far, each node in the

database has the same fixed z-coordinate, creating a two-

dimensional space of operation.

Each of the points in the database represents a possible

node location of a UAV within the swarm network. All of the

possible connection paths between nodes are pre-calculated at

one time before the swarm simulation is initialized, creating a

set of values for every possible node connection within the

database. This was done due to Wireless InSite taking too much

time to calculate new paths when the swarm changes. The

database is represented in Wireless InSite as shown in Fig. 12.

Each possible node is shown as a green cube.

To allow for testing communication behavior with

nodes both in direct line of sight (LOS) and non-line of sight

(NLOS), which in turn affects the signal parameters such as path

loss and power received, buildings were added as obstacles, as

denoted by the gray blocks in Fig. 12. These provided a more

rigorous test of network communication paths as they could

bounce off of these buildings to create more complex

connections between nodes.

C. Swarm Operation Testing

The goal of the system prototype is to be able to use the

network optimization algorithm to gather information about the

connection characteristics between the nodes in the swarm

network, and then show these results in OMNeT++ in an

elegant, easy to read way. Note that in Fig. 13 (next page), the

network information shown in the Wireless InSite calculations

on the left side of the image are difficult to read and understand.

After network optimization, however, the output to OMNeT++

as shown on the right side of Fig. 13 is simple to read and shows

which nodes are directly connected to each other. For the sake

of readability of output, all of the images shown here and later

in this report will focus on the connections based around the

control node, which in Fig. 13 resides in the bottom left hand

corner of the Wireless InSite testbed. As the swarm evolves,

these images from OMNeT++ can be stitched together to

visualize the swarm movements throughout its lifetime.

1. Swarm Network Initial State

The initial states of each UAV object in the swarm are

manually entered into the simulation. Our test runs have

involved five regular swarm UAVs and one UAV deemed the

control node. There is no operational difference between this

object and any other in the swarm; rather, it is the node that

connections are calculated for in each iteration of the simulation.

Information about each UAV in the swarm is input into

the network optimization algorithm. Currently the algorithm

considers the positioning of the UAVs within the testbed,

ignoring parameters such as speed and heading, as well as the

signal parameters. This essentially gives us an instantaneous

solution to the swarm at the given state input.

In its current state, the algorithm then begins

comparison of the possible network paths between the UAV

network nodes. The algorithm parses through the pre-calculated

Wireless InSite node dataset and determines which of these

nodes are active. Once this is done, the algorithm begins

looking at the connections to determine which is the most

efficient. Currently, it looks at the power received or path loss

characteristics of each of the connection possibilities. It also

checks if the connections are even possible between different

nodes due to obstacles obstructing the wireless channel between

transmitter and receiver.

As described earlier in this report, the algorithm

operates by iterating through each node that is to be connected

to the control node. A comparison is done of the specified

signal parameter to the threshold values that indicate a good

Fig. 12: Wireless InSite testbed

Page 8: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

8

path. If the path is deemed to be acceptable, the connection is

confirmed and created. During most of our testing, the

algorithm paths that were chosen within the specified parameter

threshold were between LOS paths. However, if a node was

NLOS with the control node, bridging nodes were chosen since

signal parameters were usually beyond the threshold values.

Some these test results are detailed in Appendix B.

Once the algorithm is finished parsing through the

possible paths, the wireless channel connections chosen are

parsed into an OMNeT++ NED file, which contains the

structural information for the final visualization of the state of

the swarm. A simple text file is also output with the path

telemetry calculated from Wireless InSite, including path loss,

path gain, power received, and spread. The simulation is

compiled and the final visualization of the swarm output is

captured as an image file.

2. Swarm Network States 1-N

The process outlined in the previous section is repeated

for each subsequent state of the swarm. Figures 14-17 outline

examples of this process and iterations through a few states,

using power received as the evaluated signal parameter.

Fig. 14 shows the output of the algorithm in OMNeT++

of the initial state, also known as state 0. The control node that

is being analyzed is located in the bottom left hand corner of the

image. For the example outlined in this report, the Wireless

InSite testbed used is the one previously mentioned in Fig. 12

(page 7). The algorithm has analyzed the wireless channels

between each other node in the swarm, labeled as nodes A-E in

the figure. For this instance, the algorithm has determined that

the direct paths between the control node and corresponding

receiver are the most efficient in terms of power received in the

Fig. 13: Output from Wireless InSite versus final swarm network output from OMNeT++

Fig. 14: Initial state (state 0) of the swarm example

Page 9: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

9

cases of nodes A, B, C, and E. However, since the power

received between the control node and node D did not meet the

threshold values for an acceptable signal, a direct path was not

determined for this. Instead, using node C as a jumper

betweenthe control node and node D was determined by the

algorithm as the best course of action, as it had the most

desirable value of power received.

Fig. 15 shows the output of the algorithm in OMNeT++

at following phase, state 1. Node C was manually relocated

behind the building obstacle in the Wireless InSite testbed. This

meant that there was no line of sight between the control node

being analyzed and the receiver node C, resulting in a poor

power received value. Node D also remained behind the

building obstacle. In this case, the algorithm again determined

direct paths to nodes A, B, and E as there had been no change in

the swarm network structure on this end. However, since the

connection to node C did not meet the threshold value for power

received, the algorithm chose to use node B as a jumper between

it and the control node. Likewise, for node D, a similar path

was found with the connection traveling from the control node

to node B to node C then finally to node D. The connection

between node B and node D was deemed outside of the

threshold by the algorithm than the extra link to node C.

Fig. 16 shows the next iteration of this swarm network

example, state 2. The control node was manually moved out of

the corner approximately 20 meters at an angle of 45 degrees.

After evaluation with the algorithm, none of the paths changed

as a result from state 1 due to relatively little change in terms of

power received signal characteristics between the nodes.

Fig. 15: State 1 of the swarm example

Fig. 17: State 3 of the swarm example

Fig. 16: State 2 of the swarm example

Page 10: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

10

Fig. 17 shows the final test state, state 3, of this swarm

example outlined here. Node D was manually moved back into

line of sight with the control node, increasing power received

between these two nodes, moving approximately 75 meters to

the left. All of the other nodes have stayed in the same location

on the testbed as the previous state. In this instance, the

algorithm outputs the direct connection between the control

node and node D. As with the previous iterations, connections

between node A and E remain direct to the control node. Also,

despite node D moving into a similar position on the testbed as

node B, the algorithm kept the previous state’s connection

between node B and node C as the path from C to the control

node.

By combining these images into a video or animated

.gif format, the change in the swarm network can be seen as the

shape of the swarm evolves. Connection paths are both created

and lost through each iteration.

VI. FURTHER STUDY

One of the chief concerns with the network

optimization algorithm has to do with the time it takes to

complete an analysis of the wireless channels calculated in

Wireless InSite. A typical computation time for the size of

swarm we employed during testing would take between ten and

twenty minutes to complete. One way to fix this would be to

keep history of the previous paths calculated so that the

algorithm does not have to start from scratch every time there is

a change in the swarm shape. This method would allow for

much faster computation times in that not all node connections

would have to be recalculated.

In a real world scenario, much of the relevant path data

will be measured by each node, rather than simulated with

Wireless InSite. Location data will be gathered by methods such

as GPS, and possibly reinforced with radar, LiDAR, or IMU

data. Path data can be measured directly from each node, the

received power, and RSSI values between a pair of nodes. This

would be advantageous, as the data used in the routing

algorithm will be the actual data, rather than simulated values.

This will allow the network to truly adapt to the environment

that the swarm is in. Gathering the path data live does present

some disadvantages, however. One is that the pathfinding will

take a hit. We will not be able to as accurately predict how

moving a node will affect the connection quality until the node

has actually moved to a new location, which will consume time

and energy. Prediction methods can be used to guess how

possible location changes will affect the connection quality, but

that is another project in of itself. .

The algorithm also needs improvement so it can move

to a more true particle swarm optimization implementation. As

it stands, the algorithm employs a version of Djikstra’s

algorithm as a precursor to full PSO implementation. Further

testing of this algorithm will give us a better idea of how well

the PSO implementation will potentially work once that is ready.

Furthermore, the current network optimization

algorithm only looks primarily at paths found, path loss, power

received, and distance metrics to determine what the best path is

to communicate node-to-node. A weighted system could be

developed to look at other properties such as spread and power

received to make the algorithm more efficient. Testing needs to

be done to determine how these values need to be used

depending on the scope of the particular simulated mission.

New testbeds should be developed in Wireless InSite to

test algorithm performance further. Different scenarios with

new characteristics such as different obstacles are being

modeled to have a wider base on algorithm efficiency within

these testbeds. A three-dimensional simulation, as shown in Fig.

18, needs to be tested. However, computational limitations are

significant as the Wireless InSite database grows; further

research may be necessary in this portion.

More development within the OMNeT++ visualization

is necessary in order to make it more robust and show more

information about the network paths besides the basic

connections and node placements. Variables for future three-

dimensional testing, such as the z-coordinate, need to be

considered. The drawing of obstacles found in the Wireless

InSite testbed also could be added in the future to make the node

connections more clear.

It may be preferable to create a customizable GUI to

replace the OMNeT++ visualization altogether. While

OMNeT++’s network simulation tools are very powerful, by the

end of the project it was only used for the final output

visualization where actual operation of the network in

OMNeT++ as a simulation was unnecessary. A customizable

GUI may also allow for more flexible output in later stages of

this project, perhaps to visualize movements in the swarm as an

animation rather than a batch of images stitched together.

Fig. 18: A three-dimensional Wireless InSite database testbed

Page 11: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

11

At this time, the algorithm deals primarily with the

optimization of an input node set. That is to say, the location of

each node is specified manually, then the algorithm is run to

determine the optimal communications network for that setup.

Another area for future study is creating a path finding

algorithm. This would be useful, as the swarm could decide

where each node would travel, provided a set of parameters.

Some possible considerations could include a tendency to have

the swarm remain more densely packed to get better resolution

of a specified area, or conversely, spread out more to gather a

larger volume of data on the area of interest as a whole. Another

consideration for data collection could include a tendency to

loiter around certain area or wander. Considerations for the

swarm could include how movements will affect the flight times

of each node, and the swarm as a whole. For example, fast

moving nodes will be able to gather data about a larger area, but

they will also consume more power by moving. Another factor

to consider could be the amount of data to be transferred. If a

node needs to transmit a large amount of information, then

moving far away may not be a wise decision, as it will have a

negative effect on the achievable data rate. Or, maybe the swarm

modifies itself to be able to find the balance of data acquisition

and transmission. These are all things to consider for future

iterations of a path finding algorithm.

Another area of concern is detection and avoidance

(DAA) of obstacles and non-cooperative intruders. While the

swarm is airborne, it is important to be able to see obstacles that

may not have been accounted for in the preparations before the

mission, both stationary, and mobile. This is an area that is

receiving more attention as consumer drones are becoming more

common and the Federal Aviation Administration (FAA) is

needing to create regulations for these to interact safely in the

national air system. Some current efforts to develop DAA

methods involve using radar, LiDAR, and optical vision

systems.

VII. GANTT CHART

The Gantt chart is shown in Fig. 19. As of April 19,

2016, the project has reached its completion for this semester.

Sufficient testing of the currently implemented version of the

algorithm within the rest of the Wireless InSite and OMNeT++

testbed has been completed. The algorithm development itself

is not a true particle swarm optimization algorithm per the initial

goal, but a good base has been established for further

development of this project with future design groups. We have

been able to accomplish quite a bit of testing with the current

algorithm and have been able to demonstrate its ability to find

the best wireless communication channels given a signal

parameter.

Fig. 19: UAV Swarm Gantt Chart

Page 12: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

12

VIII. ETHICAL REVIEW

Concepts from this project can be applied to the control

of multiple UAVs in a variety of settings. One of these

applications is the controversial use of UAVs in surveillance. As

UAV technology has improved to make vehicles more versatile,

privacy issues have developed, bringing to rise questions on

what restrictions should be in place in regards to what entities

should be allowed to fly them, in what circumstances is it

appropriate, and where they can be flown. These ethical

concepts must be kept in mind for further application of this

project beyond a computer simulation.

IX. CONCLUSION

This project applies swarm principles to a network of

UAVs in order to achieve optimal communication between each

vehicle and to lower the amount of energy used to coordinate the

movement of multiple vehicles. A network optimization

algorithm has been developed to work with wireless channel

modeling software, Wireless InSite, to determine the best paths

of communication for maximum efficiency through evaluation

of channel characteristics such as path loss, power received, and

others. The results from this algorithm have been visualized in

OMNeT++. This model has been evaluated in simulation in two

dimensions on a 120X120 meter grid and is capable of choosing

optimal paths between nodes in the network by comparing

channel characteristics such as path loss and power received.

X. REFERENCES

[1] C. Reynolds, “Flocks, herds, and schools: a distributed

behavioral model,” Computer Graphics, vol. 21, no. 4, pp.

25-34, July 1987.

[2] A. Olivera, J. Garcia-Nieto and E. Alba, “Reducing vehicle

emissions and fuel consumption in the city by using

particle swarm optimization,” Applied Intelligence, vol.

42, no. 3, pp. 389-405, 2015.

[3] C. Colombo and C. McInnes, “Orbit design for future

SpaceChip swarm missions in a planetary atmosphere,”

Acta Astronautica, vol. 75, pp. 25–41, 2012.

[4] R. Jankovic, “Computer Simulation of an Armoured

Battalion Swarming,” Defence Science Journal, vol. 61,

no. 1, pp. 36-43, January 2011.

[5] OMNeT++. (2014). User Manual: OMNeT++ Version

4.6. [PDF]. Available: https://OmNETpp.org

/doc/OmNETpp/manual/usman.html

[6] Remcom. (2011). Wireless InSite – Wireless EM

Propagation Software form the Leaders in High-Fidelity

Propagation. [PDF]. Available : http://static1.1.sqscdn.

com/static/f/323055/13830566/1314205709293/WI2.6_We

b.pdf?token=kdVoyRwPE6ecs3uedELzwO

Page 13: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

13

APPENDIX A.

I. BUDGET

The budget for this project is three hundred dollars.

This is provided by the University of North Dakota Electrical

Engineering Department. A breakdown of the costs acquired

thus far is as follows:

TABLE I

UAV SWARM PROJECT COST BREAKDOWN

Software Systems

OMNeT++ $0

C++ $0

Wireless InSite $0

Simulation Hardware $0

Total $0

Since this is an entirely software-based project, all software has

either been provided by UND (such as Wireless InSite) or is

open-source and free to download (OMNeT++ and C++). This

makes this project easily sustainable and could possibly be

continued by future design groups.

VI. ADVISOR MEETINGS

Weekly meetings are being conducted with the advisors

of the project. In these meetings, we discuss the progress made

this far, and the next steps required to complete the project.

September 10th

was the first such meeting. The initial tasks were

divided among the group members, and a base set of the

collaboration tools were set up. In subsequent meetings, we

shared the details of our specific areas of research and

developed an initial plan of how to complete this project.

A. Meeting Summary – 9/10/15

Determined division of work

Ryan: optimization algorithm

Chris: Wireless InSite

Jason: simulation program

Create Dropbox folder for all work

B. Meeting Summary – 9/16/15

Clean up S1R1 report

Jason: explore different network simulators such as

OMNeT++

TCP/IP or RF communication will depend on Wireless

InSite

Find best way to transport data

Data structures need to be written for each node

Central unit will control all nodes

C. Meeting Summary – 9/23/15

Continued progress with OMNeT++

Focus on creating a network structure

1-way and 2-way communication

Implement PSO in C++

D. Meeting Summary – 9/30/15

Continued progress with Wireless InSite

PSO code was created – traveling salesman problem

Import I/O from Wireless InSite to C++

Finish simulation in Wireless InSite, add more

parameters to OMNeT++ network framework

E. Meeting Summary – 10/7/15

Most efficient path through nodes

Battery life is an important factor

The swarm lifetime needs to be maximized

Create lookup table for properties

Chris: work on database

Jason: create methods for nodal structure, start with a

10x10 database

F. Meeting Summary - 10/14/15

Chris: Continue work on database and lookup table

Jason: Continue creating nodal structure methods

G. Meeting Summary – 10/21/15

Continue progress on previous tasks

Complete first paper & presentation slides

H. Meeting Summary – 10/28/15

Prepare for first presentation

Discussed database methods in Wireless InSite

I. Meeting Summary – 11/11/15

Database completed in Wireless InSite

Continue developing final touches on OMNeT++

framework

J. Meeting Summary – 11/18/15

Begin work on transposition from Wireless InSite to

OMNeT++

Discussed best methods to transpose

Chose to parse using a Python script to go through the

WI files

Page 14: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

14

K. Meeting Summary – 11/25/15

Continue work on transposition tool to create WI

topology in OMNeT++

L. Meeting Summary 1/20/16

Recap progress from previous semester

Continue develop on all categories

Ryan: begin PSO algorithm development refinement

M. Meeting Summary 1/27/16

Jason and Chris: implement Ryan’s algorithm into the

parsing system

N. Meeting Summary 2/3/16

Jason and Chris: continue testing and implementation

of Ryan’s algorithm

O. Meeting Summary 2/10/16

Jason: new OMNeT++ output system with iteration

Chris: continue development of more testbeds for

Ryan

Prep for presentation and paper

P. Meeting Summary 2/24/16

Create simple algorithm until Ryan has his working

Come up with better test system and continue creating

automated procedures for each part

Q. Meeting Summary 3/2/16

Jason and Chris: Familiarize ourselves with common

path optimization techniques

R. Meeting Summary 3/9/16

Identify some metrics to use in optimization algorithms

S. Meeting Summary 3/23/16

Create a basic simulation program that is able to

o Record node locations

o Gather the appropriate connection information

o Output a .ned file for OMNeT++

T. Meeting Summary 3/30/16

Continue to develop network selection algorithm

Fully incorporate OMNeT++ visualizations with

program

U. Meeting Summary 4/6/16

Prepare paper and slides for next deadline

V. Meeting Summary 4/13/16

Expand algorithm capabilities

Document code to ease future students transitioning

into this project

Prepare demonstration for final class presentation

Page 15: UAV Swarm - College of Engineering & Mines algorithm, and the OMNeT++ network framework AV objects in the swarm output characteristics such as location, heading, speed, ... UAV Swarm

15

APPENDIX B

Testing Assignment Sheet

Project:

Members:Contractor:

Test ID# Nodes Signal Parameter Threshold Min

Resultant Path

Param Pass/Fail Notes

1 control Power Received -70

a -55.9784 p

b -62.1692 p

c -62.7609 p

d -58.4549 p control-d = -74.4648, fails

e -58.0881 p control-e = -107.131, fails

2 control Power Received -80

a -55.9784 p

b control-b -62.1692 p

c control-c -62.7609 p

d control-d -58.4549 p

e e-d -74.4648 p control-d = -107.131, fails

3 control Path Loss 0

a 60.2802 p

b 66.4710 p

c 67.0627 p

d 62.3899 p control-d = 78.7666, fails

e 62.0438 p control-e = 111.4320, fails

4 control Path Loss 0

a 60.2802 p

b 66.4710 p

c 67.0627 p

d 78.7666 p

e 62.0438 p control-e = 111.4320, fails

UAV Swarm

J. Hahn, C. Peterson

EE 481 Senior Design - University of North Dakota

UAV Swarm Algorithm Test Plan Log

Node Locations (in WI) Threshold Max Resultant Paths

0,0 0.00

35,50 control-b

15,15 control-a

45,110 e-d

0,0 0.00

10,75 control-c

15,105 d-c

10,75

15,15 control-a

35,50

15,105

15,15 control-a

35,50 control-b

45,110

0,0 70.00

45,110 e-d

0,0 80.00

10,75 control-c

15,105 d-c

10,75 control-c

15,105 control-d

15,15 control-a

35,50 control-b

45,110 e-d