• No results found

Battery and WiFi aware 3D exploration based on temporal logics

N/A
N/A
Protected

Academic year: 2021

Share "Battery and WiFi aware 3D exploration based on temporal logics"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT ELECTRICAL ENGINEERING, SECOND CYCLE, 30 CREDITS

STOCKHOLM SWEDEN 2019,

Battery and WiFi aware 3D

exploration based on temporal logics

IDRIS SAHIL

(2)
(3)

Battery and WiFi aware 3D exploration based on temporal logics

IDRIS SAHIL

Master’s Thesis at RPL, KTH Supervisor: Fernando dos Santos Barbosa

Examiner: Patric Jensfelt

(4)
(5)

Abstract

Unmanned Aerial Vehicle (UAV) exploration is a rising field of in- terest in recent years. UAVs are agile and able to enter areas that humans cannot, making them ideal for exploration. To this end, many exploration algorithms have been developed and proven to work well in using UAVs. However, not much research has been done on exploration while taking into account both the WiFi signal as well as the battery life. Thus the subject of this thesis is 3D exploration with a UAV tak- ing into consideration WiFi and battery. The aim is to closely follow the real-life situation, where the WiFi signal and battery life are not unlimited.

Temporal logics will be used as a tool of action planning for the UAV, to meet the desired constraints on WiFi and battery life during exploration. A Büchi Automaton is created from a Linear Temporal Logics (LTL) formula that takes the desired objective into consideration.

This Büchi Automaton is used to model and control the actions of the UAV. The thesis project is proven with simulation results which shows that the UAV is able to carry out the specified actions and objectives.

(6)

Sammanfattning

UAV-utforskning är ett studieområde som de senaste åren fått större uppmärksamet. UAVer är smidiga och kan komma in i områden som människor inte kan, vilket gör dem ideala för utforskning. För detta ändamål har många utforsknings-algoritmer utvecklats och visat sig fungera bra med UAVer. Dock har förhållandevis lite arbete gjorts i utforskning där WiFi-signal och batterinivå har tagits i åtanke under utforskningen, vilket är ämnet för denna rapport. Syftet är att nära följa den verkliga situationen, där WiFi-signalen och batteritiden inte är obegränsad.

Temporal logik används som ett verktyg för handlingsplanering för UAV, för att möta de önskade begränsningarna på WiFi och batteri under utforskningen. En Büchi Automaton skapas sedan från en LTL- formel där WiFi-signal och batteri har tagits i åtanke. Denna Büchi Au- tomaton används för att modellera och kontrollera handligen för UAV.

Detta projekt bevisas med simuleringsresultat som visar att UAV kan genomföra de angivna handlingarna och målen.

(7)

Contents

1 Introduction 1

1.1 Related Work . . . 2

1.2 Problem Definition . . . 4

1.3 Sustainability . . . 4

1.4 Ethics . . . 5

2 Theory 7 2.1 Linear Temporal Logic . . . 7

2.2 Büchi Automaton . . . 8

2.3 Frontier Based Search . . . 9

2.4 Receding Horizon "Next-Best-View" Planner . . . 10

2.5 Potential Field Method . . . 10

2.6 Rapidly-exploring random tree . . . 10

2.6.1 RRT* . . . 11

2.6.2 Informed RRT* . . . 11

3 Method 13 3.1 Exploration Method . . . 13

3.2 Simulated WiFi Distribution . . . 14

3.3 Simulated Battery . . . 15

3.4 Battery Aware Exploration . . . 15

3.4.1 Battery triggered Planner . . . 15

3.4.2 Battery Cost Function . . . 16

3.5 WiFi Aware . . . 17

3.6 RRT Implementation . . . 19

3.7 Temporal Logics Specification . . . 19

4 Results and Simulation 21 4.1 Simulation Environment . . . 22

5 Discussion 29 6 Summary and Conclusion 31 6.1 Summary . . . 31

(8)

6.2 Conclusions . . . 31 6.3 Future Work . . . 31

Appendices 31

Bibliography 33

(9)

Chapter 1

Introduction

Unmanned Aerial Vehicles (UAV) has in recent years seen more widespread use than before. In particular, there has been a lot of development in integrating sensors with UAVs to allow for complex tasks as well as a reduction in cost for both autonomous vehicles as well as sensing technologies. An example is shown in [1] where UAVs have successfully been used as a delivery system for small packages. UAVs have also been used in search and rescue missions, military operations and mapping of indoor environments. Mapping and exploration of indoor environments, in particular, can be a huge benefit to society, as mapping of indoor environments remains scarce.

Using the onboard sensors that are readily available for UAVs, 3D mapping using autonomous UAVs would have an advantage over manual mapping done by humans both in terms of time and efficiency. Allowing a UAV to explore an unknown environment also reduces the risk for human operators and allows us to explore otherwise dangerous environments. The most suitable choice of UAV for indoor mapping is vertical take-off and landing (VTOL) aircraft such as quadcopters. They are highly maneuverable and capable of operating within small and confined spaces while also avoiding possible ground obstacles that would have hindered a ground vehicle[2].

Quadcopters and other VTOL aircraft are however limited by their battery lifetime. This limit is often in the span of minutes and restricts the operating time available with them. In a task such as 3D exploration, this limitation becomes quite challenging to deal with. There is also the issue of communication, as an unknown environment might interfere with for example the WiFi connection to the rotorcraft as it can go either out of range or the signal strength might drop too low. Without a stable connection the UAV cannot relay the mapping information it has obtained, nor can it receive any eventual new orders the operators might want.

In this thesis, the problem of battery and WiFi aware 3D exploration using UAVs will be researched. The proposed solution in this master thesis is a formal Linear Temporal Logic (LTL) formula that will address the problem of limited battery time for rotorcraft during the exploration of an unknown environment. Temporal logics will be used as a tool of action planning for the UAV. The UAV will have the

(10)

CHAPTER 1. INTRODUCTION actions of explore with WiFi, low battery action and low WiFi action. The LTL formula created will be used to create a Büchi Automaton, which will be used as a representation of the UAV behaviour and a model for controlling the actions of the UAV.

1.1 Related Work

This section provides the reader with a broader view of the related work already published.

The problem of Multi-UAV Exploration with Limited Communication and Bat- tery has been explored in [3], where an exploration algorithm that uses adaptive coordination to provide heterogeneous behavior is proposed. The goal there was to maximize the efficiency of exploring and mapping an unknown environment while taking into account limited battery life and unreliable communication for the UAVs, meaning it should be able to adapt depending on the situation at hand. This is done by utilizing four different states which are illustrated in Figure 1.1. First, the explore state, in which the robot uses a frontier based algorithm. Next is the meet state in which the robot attempts to rendezvous with the other robots. The robot can also enter the sacrifice state, in which it continues exploring even when it does not have sufficient battery life left to return to the charging pad. The last state is the relay state in which the sacrificed robot lands and acts as a communication relay. This paper is very useful since it is one of the few that deals with the problem of exploration while having limited battery and communication, making it a useful paper for comparison to this thesis project. Thus, the results of this thesis project will be compared to the paper in [3] in Section 5.

Figure 1.1: State diagram for the method in[3]

For using temporal logic in motion planning we have the paper described in [4]

where Ayala, Andersson, and Belta consider the problem of having robot motion 2

(11)

1.1. RELATED WORK

planning in an unknown environment. The robot is given a set of known labels that capture elements of interests that are gathered during the exploration and naviga- tion of the unknown environment and then have to follow a mission specification that is given as an LTL formula. A trajectory needs to be obtained that satisfies this mission specification and also takes into account the continually updating labels.

The trajectory that the proposed algorithm here obtains cannot falsify the LTL specification but has to continue to run until the specification has been satisfied.

The mission specification could, for example, be to guide people to a certain place while avoiding unsafe areas. This will be an incremental algorithm that uses ex- isting tools from formal verification, graph theory, and grid-based exploration that makes progress in satisfying the specification.

Another paper where LTL formulas are used for action planning of an au- tonomous robot is proposed in [5]. Here, the robot will have a simple motion, such as "go from A to B" or "grasp a ball" that can either fail or succeed. An algorithm is proposed to synthesize a maximally satisfying discrete control strat- egy. The algorithm also takes into account that the robot might fail one of these actions. The paper has four main objectives for its framework. First, they aim to bridge the high-level plan with the low-level motion, grasping, and other controllers for the robot. Second, the framework should be modular and extensible to handle different robots and their capabilities. Third, the framework is reactive and is able to handle the unreliability of the robots onboard sensors, which can lead to failures of the action it performs. Fourth, the temporal logic task is guaranteed to be met as closely as possible.

In [6] N.Drollinger focuses on mapping LTL specifications into motion by the UAV. The LTL specification provides constraints and is imposed upon a labeled map of the environment. The LTL formula is then used to make a cost-map over the environment, using an LTL-to-cost-map converter. Solution sets are then obtained by the use of the cost-map based path planning algorithm A-star, which was chosen because of its performance speed. The author envisioned that operators could give simple speech commands, such as to investigate an area, to follow. Here the fact that natural language resembles linear temporal logic is used to advantage. The project described here had however not done any work on speech recognition. An input skeleton was created in order to standardize the input and have clearly defined what kind of LTL formulas the framework can handle have. This skeleton contains arrays for each temporal operator employed and handles them respectively. The advantages of this project are that there is a clarification request that lets the user choose several different solutions presented. Given a start and goal pose, a labeled map, as well as a task formulation represented by an LTL-formula the framework can work on any other kind of autonomous system, making it independent of the problem.

In [7] Palazzolo and Stachniss propose an exploration approach that selects the next-best-view that maximizes the expected information gain of new measurements.

They also take into account the cost for reaching each viewpoint with respect to distance predictability of the flight path. Finally, the approach they describe also

(12)

CHAPTER 1. INTRODUCTION takes into consideration the battery life both during exploration to minimize crashes while maximizing information gain when there is limited battery life. Palazzolo and Stachniss make the following four claims about their approach:

1 yields a map with a low uncertainty in the probabilistic model 2 avoids abrupt changes of direction during the flight

3 does not generate a longer path by taking into account all the aspects 4 is able to compute the next-best-view online and in real time

For this project, the most interesting section of the approach described in [7] is the handling of battery life during exploration, especially regarding the cost func- tion. However, this cost function depends on the elapsed time rather than the battery life level of the UAV. Because the battery consumption is not linear at all times this means that using the elapsed time carries a risk of the UAV draining the battery early and crashing. The cost function also depends on the distance of the current position and the charging pad position. However, this should be the cur- rent search point rather than the current position, since that point will be where the robot travels to and thus the cost function should reflect this. Thus in this project, a modified version of the cost function is used which uses the battery life level rather than the elapsed time and uses the distance between the search point and charging pad position instead of the distance between the current position and the charging pad position. This modified cost function is further described in section 3.4.2.

1.2 Problem Definition

The problem to be solved is battery and WiFi aware 3D exploration using a UAV.

The UAV will have knowledge of its current battery level, WiFi signal strength as well as its current location. It does not know the WiFi strength elsewhere on the map and needs to estimate it. The UAV is equipped with an RGB-D camera.

The UAV needs to always have a sufficient WiFi signal strength. The UAV will start at the base station, which will contain the WiFi router and thus be the center of the simulated WiFi distribution. Besides knowing the location of the base, no assumptions will be made on the environment. The base will also contain the charging pad the UAV needs to return back to. The UAV needs to return to the base charging pad before the battery life falls below a user-specified value.

1.3 Sustainability

The effect on sustainability of a thesis project like this has is subjective. However,

"The Global Goals for Sustainable Development" [8] provides a good guide on this.

The goals that this project will affect the most will be goal 9 "industry, innovation and infrastructure", as well as goal 11 "sustainable cities and communities". In particular, goal 11 will be positively affected, where 3D exploration with UAVs can help reduce the adverse effects of natural disasters by exploring dangerous and

4

(13)

1.4. ETHICS

inaccessible areas to help with disaster relief. We can also expect UAV exploration to help with future development and planning of buildings as well as mapping of existing buildings.

1.4 Ethics

The biggest concern for using UAVs is that they can be used for mass surveillance and for military applications. Unfortunately using 3D exploration with UAVs could enable the application of both of those. For surveillance, UAVs could be used for mapping and exploring whole cities. This would greatly reduce privacy as the UAVs could easily map private homes and other buildings where people want privacy. For the military, the UAVs could be used to explore military bases and enemy territory, enabling more targeted and precise attacks on those areas. This would no doubt increase the fear of an automated war, where UAVs would be responsible for both the attack as well as the search for enemy combatants. In essence, this would make a human operator redundant and lead to wars being waged solely with UAVs.

However, with proper laws and guidelines for 3D exploration, these fears could be prevented from ever being realized. This would require that people work to stop the improper usage of this technology.

(14)
(15)

Chapter 2

Theory

2.1 Linear Temporal Logic

Temporal logic uses mathematical formulas to describe properties and actions that a system is desired to satisfy. These formulas consist of atomic propositions, logic connectives, and temporal modal operators.

Linear temporal logic is a modal temporal logic where the modalities are refer- ring to time. Using LTL one can make formulas and specifications on linear time properties. The formulas create constraints that will hold at particular times of either points or intervals. It was first proposed in 1977 for the formal verification of computer programs [9].

The LTL formula consists of a finite set of propositional variables, Boolean operators as well as temporal modal operators. Equation 2.1 shows us an example LTL formula.

φ::= |a ∧ b|¬a| a|aUb (2.1)

Looking at Figure 2.1 we can see all the different semantics of temporal modal- ities. The first operator, the "next step" (sometimes called X) for a holds if the second time step during the sequence is true for the atomic proposition a. The other points are not important and thus arbitrary in this case. With the "until" operator, such as U we will have that a has to hold at least until the atomic proposition b becomes true at which point b has to hold at least once. The "eventually" operator,

 (also denoted E) states that a will be true at some point in the future. The

"always" operator,  (also denoted as A), states that a will always be true in the sequence.

For a given LTL formula φ, we have that words(φ) is the sets of all words that satisfy the LTL formula φ. Formally it is defines as an infinite string over the alphabet 2Π.

Temporal Logics will in this project mainly be used as a tool for action planning.

The UAV will have different actions and rules it needs to follow according to an LTL formula. The LTL formula will, in turn, be made into a Büchi Automaton

(16)

CHAPTER 2. THEORY

Figure 2.1: Semantics of Linear Temporal Logic [10]

which will be used in the action planning for the UAV.

2.2 Büchi Automaton

All Automata are composed of states and is used to both represent a system and determine if an input should be rejected or accepted. Automata can be represented in graphical form, where the vertices are the states of the system and the lines are the transitions from one state to the next. In this project, Büchi Automaton will be used to represent the system.

A Büchi Automaton is defined as a tuple given by A= (Q, AP, E, q0, F) where [11]:

• Q is a finite set of states, the element of which is called the states of A

• AP is a finite set of inputs called the alphabet of A

• E ⊆ Q × AP × Q is a transition relation

• q0 ⊆ S is a set of initial states

• F ⊆ S is a set of accepting states.

For a run of a Büchi Automaton to accept a word it needs to start in the initial state and end in visiting the accepting state infinitely often.

LTL formulas can be used to generate a Büchi Automaton. An example of this would be a U b. The Büchi Automaton generated from that LTL formula is shown in graph form in Figure 2.2.

8

(17)

2.3. FRONTIER BASED SEARCH

• Q = {init, 1} are all the states for the system

• AP = {a, b} are the finite sets of inputs

• E = {(init, a, init), (init, b, 1), (1, b, 1), (1, a, init)} are the transition relations

• q0 = {init} is the set of initial states

• F = {1} is the set of accepting states

Since the state 1 is the accepting state an accepting run needs to end in visiting that state infinitely often. An example of an accepting state would thus be a, a, b, b, b...

The method used to convert LTL formulas to Büchi Automaton is described in [12] by P. Gastin and D.Oddoux. This is done by first simplifying the LTL formula received. The algorithm then transforms the LTL formula to the Büchi Automaton by using a generalized Büchi as an intermediate step. The difference between a generalized Büchi Automaton and a Büchi Automaton is the accepting conditions.

Figure 2.2: Büchi Automaton graph genereated from the LTL formula a U b

2.3 Frontier Based Search

There are many different types of search algorithms used in exploration, but the most popular is the Frontier based Search. It was first introduced by Yamauchi in [13]. A frontier is defined as the boundary between the area known by the robot and the unknown area in an occupancy grid. A frontier cell is thus a free cell that is next to an unknown cell. Clusters of frontier cells are divided into frontier regions.

Then, the shortest traveling distance to one of the cells of each frontier region is calculated by a search algorithm. The robot then makes a decision on which frontier region to travel to based on a cost function that includes the information gain as well as the distance traveled. The robot will then travel to the chosen frontier region where it will explore and update the map of its environment with the help of its sensors. When the frontier region has been explored the robot moves on to the next frontier region using the same cost function to decide where it should go next.

(18)

CHAPTER 2. THEORY

2.4 Receding Horizon "Next-Best-View" Planner

The paper in [14] describes the Receding Horizon "Next-Best-View" Planner (RH- NBVP). It works by finding the optimized path for exploration, but only the first step in the found path is executed and then the whole process is repeated with a new optimized path being found. The environment is mapped by an occupancy grid with the cells being either free, occupied or unmapped. A finite iteration random tree is then grown inside the known free space using a suitable tree construction algorithm like RRT. The best branch is then found where the quality of a branch is determined by the amount of unmapped space that can be explored. Only the first edge of this branch is then executed while a new branch is found afterward. The RH-NBVP performs well in individual local regions but can become stuck in large environments.

The Autonomous Exploration Planner (AEP) described in [15] improves upon the RH-NBVP and also solves the issue of exploration in larger environments.

2.5 Potential Field Method

An approach to motion planning and obstacle avoidance is the potential field method.

It works by creating an artificial vector field from the known environment, where the goal has an attractive force while obstacles have a repulsive force. This will ensure that the robot is moving towards the goal while simultaneously avoid the obstacles in its path. However, the potential field can enter a local minima location, where the positive and negative forces cancel each other out and the robot is trapped in its location. However, there are solutions to this problem such as discussed in [16], where the problem is solved by keeping the robot moving according to the total vir- tual force and wait for the obstacles or the target to change their motion. Another solution would be to introduce a small stochastic motion that would free the robot from the local minima, although this method is not guaranteed to work and might also collide with an obstacle.

2.6 Rapidly-exploring random tree

Rapidly-exploring random tree (RRT), is an algorithm that is designed for broad use in path planning problems and works by using a randomly building space filling tree.

It was first introduced in [17] by S. M. LaValle and has since become a popular tool in solving path planning problems. The algorithm starts by generating a random point in the available free space. It then finds the closest node in the tree to the random point. If the connection between the closest node and the random point is completely free and obeys any other constraints imposed on it then the random point will be added to the tree. This step is repeated until the tree has become large and the goal point has been reached in the tree. The path to the goal point is found by simply backtracking from the goal node to the start node. Figure 2.3

10

(19)

2.6. RAPIDLY-EXPLORING RANDOM TREE

illustrates the growth of an RRT graph. RRT can also be tailored to suit different problems. The length of a connection can be increased or decreased which will lead to either a denser or less dense tree. The growth of the tree can also be biased to specific areas. This can be done by increasing the probability of the random point being generated in the desired area.

Figure 2.3: A visualization of an RRT graph[18]

2.6.1 RRT*

RRT* is derived from RRT and works similarly to it. It was first introduced by Karaman and Frazzoli in [19]. The two improvements of RRT* compared to the original RRT is the near neighbor search and rewiring [20]. In the near neighbor search process, the RRT* will seek to find the best parent for the new node before it is added to the tree. This is done by searching for better nodes in an area with a radius of k around the new node. The node with the lowest cost is then adopted as the parent for the new node. In our case, the cost will be the total distance for each node and is calculated by equation 2.2.

cost= d + c (2.2)

Here we have that d is the distance from the new node to its parent node and c is the cost to the corresponding parent node.

The rewiring process will rebuild the tree within the area k to look for nodes that can have lowered costs by adopting the new node as their parent. This will ensure that the cost for the path is always maintained to the minimum possible given the available nodes. The RRT* process is shown in Figure 2.4

2.6.2 Informed RRT*

Informed RRT* is an extension of RRT* that converges faster. It was first intro- duced by Gammell, Srinivasa, and Barfoot in [21]. It will behave as RRT* until the first solution is found. After that, an ellipse is formed that encloses the first solu- tion. All possible improvements to the first solution will then lie inside the ellipse.

As the solution length decreases and the solution quality improves the area of the ellipse will also decrease. We see the informed RRT* process in Figure 2.5.

(20)

CHAPTER 2. THEORY

Figure 2.4: Rewiring and Near neighbour search for RRT*[20]

Figure 2.5: Informed RRT* search process[21]

12

(21)

Chapter 3

Method

From the problem definition, we can elaborate on more specific requirements. Since the UAV is to be WiFi aware we will need the UAV to estimate the WiFi distribution and always stay above the minimum required for communication. We also want the exploration method to take the battery life level into account. After the battery life falls below a certain level the UAV should travel to the base. The following chapter will go through all of these requirements and end with an LTL formula that takes all of this into account. That LTL formula will then be used to create a Büchi Automaton which will be used to control the UAV.

3.1 Exploration Method

The exploration method used is the Autonomous Exploration Planner (AEP) de- veloped by M. Selin et al. in [15]. The AEP combines the Frontier Exploration planning (FEP) and Receding Horizon Next-Best-View planning (RH-NBVP). FEP performs well in exploring large areas with different regions, but it is slow to reach full convergence due to the fact that it constantly moves between the regions. Con- versely, RH-NBVP performs well in exploring individual regions but can get stuck when exploring larger areas. In particular for the RH-NBVP, when the UAV has explored its nearby surroundings, the distance to the nearest frontier will be high.

This will make the score of the nodes at the frontier almost 0, due to the exponential weighting.

AEP utilizes both of the exploration methods by using RH-NBVP for local ex- ploration and for global exploration FEP when the UAV is far from any information gain. Like the RH-NBVP an RRT tree will be grown outwards from the UAVs posi- tion. The UAV will then move to the node with the highest gain in the tree. Nodes from previous RRTs with high potential information gain are also cached during this time and considered as planning targets. This will make the UAV behavior as frontier exploration on the global scale and RH-NBVP on the local scale.

The score for the AEP is defined by equation 3.1

(22)

CHAPTER 3. METHOD

s(x) = g(x) exp(−λc(x)) (3.1)

where s(x) is the score in the point x, g(x) is the potential information gain, c(x) is the cost of going to x and λ is a coefficient that determines how much distance should be penalized by the cost. The information gain g(x) is given by equation 3.2

g(x) = argϕmaxgϕ(x, ϕ) (3.2)

That is, the potential information gain g(x) is defined as the unmapped space that would be explored by the UAV at location x and when it is facing in the direction of ϕ. The direction ϕ is also going to be the direction that maximizes the potential information gain at location x.

Changing the λ value will result in different behaviors for the UAV. Having a higher λ value means that the UAV will perform a careful exploration of the nearby area before moving on while having a low λ value means that the UAV will go to the point with the highest information gain and ignore the distance to it.

3.2 Simulated WiFi Distribution

For the simulation environment, a simulated WiFi Distribution was created. Ac- cording to the work done in [22] by J.Small, A.Smailagic and D.P Siewiorek the distribution of a WiFi signal follows a Gaussian distribution (also known as normal distribution). Thus, the simulated WiFi distribution follows a Gaussian distribu- tion and is described by equation 3.3. It is a multivariate formula and depends on x, y and z of the corresponding location. A random white noise process has also been added in order to mimic the real-life scenario where small disturbances are common.

A(x, y, z) = exp (−((x − xbase)2 x2

) + ((y − ybase)2 y2

) + ((z − zbase)2 z2

)) + ωn (3.3)

ˆ

ωn= 0.01 ˆA (3.4)

We have that xbase, ybase and zbase is the location for the base station contain- ing the WiFi router. ωn is a white noise process with random variables that are uncorrelated and have a zero mean. The maximum amplitude of ωn is shown in equation 3.4, where ˆω is the maximum amplitude for the random noise process and Aˆis the maximum WiFi signal amplitude that occurs at the base. σx, σy, σz are the coefficients that determine the distribution of the simulated WiFi. These will be unknown to the UAV and will need to be estimated. A higher σ value will mean the WiFi has a lower range, while a lower σ will mean a higher range. The maximum amplitude is 1 and the minimum is 0.

14

(23)

3.3. SIMULATED BATTERY

3.3 Simulated Battery

The simulated battery used to define the UAVs battery constraint draws inspiration from the approach presented in [23] by B. Araki et al. We have that, for a given battery capacity of C in Ah, with a voltage of V and an average power draw of P , the current consumption Icis given by:

I = P

V (3.5)

Ic= Id (3.6)

Where I is the approximate current and d is the distance traveled. The battery will thus start at capacity C, but as the UAV travels the battery capacity will decrease owing to the current consumption Ic. Higher velocity will lead to a bigger distance travelled which will lead to a larger current consumption. In this project, the battery capacity is now to fall below a specified level of Cmin. The maximum capacity of the UAV is given by ˆC. In this thesis project, the current battery life will be given as percentage of ˆC.

3.4 Battery Aware Exploration

3.4.1 Battery triggered Planner

This macro action will only activate when the UAV battery level falls below the minimum needed battery capacity to return to the base station. It works by letting the UAV continue exploring and remembering the path it has flown using cached points during the exploration. When the battery capacity needed to safely fly back to the base station using the path exceeds the remaining battery capacity it will trigger the action. The UAV will then use the cached path as input for the informed RRT* planner (described in section 3.6) to plan a new path to the base station.

This new path will be much shorter than the original path since the original path will be very inefficient and go from one end of the map to the other while the path planned using informed RRT* will be the most efficient one. With the new much shorter path the current battery capacity will again be above the minimum needed, which means that the UAV can continue exploring again and use the exploration path as a path to the base station just as it did in the first iteration. The minimum needed battery will need to be slightly bigger than the absolute minimum needed to act as a safety cushion in terms of battery capacity.

This process of exploration will continue until the battery life required to execute the new path is below the minimum needed battery. This will mean the UAV has reached the limit of safe exploration and thus executes the path and flies back to the base station. The advantage of using this method is that the available battery

(24)

CHAPTER 3. METHOD capacity is used to its fullest for exploration and thus returns only when it has explored as much as possible given its total battery capacity. It also reduces the computational resources needed by the UAV, since the path to the base only needs to be calculated when it actually needs to and not at each time step. It thus has the same quality for the path to the base but with a much reduced computational cost.

The process is illustrated in Figure 3.1. In Figure 3.1(a) we see that the UAV explores and the path to the base continues growing larger. In Figure 3.1(b) the path back has grown too large and the UAV will fall below the needed battery to travel back through it, thus it calculates a new path using informed RRT*. In Figure 3.1(c) we see the UAV continue exploring as the RRT path is used as the path back, which is much shorter than the previous path.

3.4.2 Battery Cost Function

The exploration method of the AEP does not take the battery life into consideration during its exploration. Hence, this is added so that we have a 3D exploration that takes the battery level of the UAV into account. In [7] Palazzolo and Stachniss describe exploration using Micro-aerial vehicles (MAV) where the expected battery life of the exploration robot is taken into consideration during the exploration. This project will use a modified version of the cost function used there. The cost function must take into consideration both the current battery life level as well as the distance from the current search point x to the base station. Equation 3.7 shows the cost function when the battery life is taken into consideration.

cbat(x, C) = T (C)exp(−dstart(x, C)) (3.7) Here we have that cbat is the battery cost function, T(C) is 1 if C ≤ Clow and 0 if C > Clow, C is the current capacity given in Ampere hours (Ah) and dstart(x, C) is a function given by equation 3.8.

dstart(x, C) = λbdhome

C (3.8)

For equation 3.8 we have that λb is a constant to determine how much battery level should be penalized and dhome is the distance from x to the base station.

A graph of the cost function is shown in Figure 3.2. As we can see, the cost is 1 for smaller values of dhome, but grows smaller along with an increase of dhome. This will make the score for the function in equation 3.1 smaller with larger distances to the base.

Thus, with the new cost function described in equation 3.7, equation 3.1 will become:

s(x) = g(x) exp(−λc(x))cbat (3.9)

This cost function will only activate once the current battery capacity C falls below a certain set level Clow. When it activates the cost function will lead to search

16

(25)

3.5. WIFI AWARE

(a) UAV in the exploration state with red dots search points and black lines path

(b) UAV calculates the path to the base (blue line) and finds a shorter path

(c) UAV uses blue line as path to base and can continue exploring due to shortened path

Figure 3.1: The battery triggered planner

points being chosen based on the battery life as well, and the effect the battery level has on the cost will increase as the UAVs battery level falls. This will gradually lead to the UAV searching closer and closer to the base station as the battery is drained.

3.5 WiFi Aware

Since we always want to stay in communication with the UAV, having sufficient WiFi signal strength is essential. One of the conditions for the UAV was it could not know the WiFi signal in the map, only its current level. Thus, it needs to

(26)

CHAPTER 3. METHOD

Figure 3.2: Graph of cbat with a battery level of 0.7 ˆC (70% of maximum capacity) and λb = 0.04

estimate the WiFi distribution for each new map. This is done by using cached points of position and WiFi signal strength throughout the exploration process.

When there are enough cached points the UAV will estimate the WiFi distribution using the numerical solver "fsolve" from [24], which is used to find the roots of a set of non-linear equations. The solver "fsolve" works by using a modified version of the Powell method that was introduced in [25] by M.J.D Powell. The Powell method is used to find the local minima of a function.

When the UAV has the distribution it can then use that to calculate the WiFi signal strength at each point for the AEP. Then all of the points of the AEP needs to have a WiFi strength above Wmin, which will be set to the minimum needed signal to maintain communication with the UAV. If the WiFi signal strength is below Wmin then the point will not be added to the AEP tree at all. If the search points for the AEP all have sufficient WiFi signal strength then that will ensure that we always maintain a WiFi signal above Wmin.

Between the time that the UAV starts the exploration and the WiFi estimation has enough cached points to perform its estimation there will be a short time when the UAV does not know the WiFi distribution during its exploration. However, since this will happen very close to the base station the WiFi signal will be very big. Thus it will have an initial guess on the distribution that will be smaller than the real distribution values. This initial value is also used during the estimation as an initial guess for the numerical solver.

Because we have that the WiFi aware part is always enforced here and the UAV will never travel outside of the specified WiFi range the WiFi signal is not included in the Büchi Automaton created.

18

(27)

3.6. RRT IMPLEMENTATION

3.6 RRT Implementation

The battery triggered planner detailed in section 3.4.1 uses Informed RRT*. It uses the previous path as an input for the informed RRT* planner to create the ellipse.

This previous comes from the UAVs exploration path, which will be used to create the ellipse for the informed RRT* planner. The planner also has special restrictions imposed by it that each node has to fulfill. It always needs to be in free space, it cannot go above the roof height and always has to stay at least 5 cm away from objects and walls in the environment. Each time the informed RRT* planner is called it is allowed a maximum of 3 seconds to run, after which the best path with respect to total distance is chosen.

Figure 3.3 shows 1000 nodes for the implemented informed RRT*. We see that an ellipse is created between the UAV position and the goal position. We can also see that at first a large ellipse is used by the RRT, but as more solutions are found the ellipse gets smaller and denser.

Figure 3.3: 1000 nodes using Informed RRT*. The red markers represents nodes.

An ellipse is created between UAV position and goal position

3.7 Temporal Logics Specification

Bringing all of these different solution aspects together we can create the LTL formula given in equation 3.10 that the UAV should adhere to.

φ::= (e ∧ !blow) U (blow ) (3.10)

(28)

CHAPTER 3. METHOD Here e is the exploration action using the battery cost function and blow is a variable that becomes true if the battery falls below the specified limit. So in simple terms, the following is what the formula is saying: Always explore until the battery falls below the specified limit. If the variable blow becomes true go to the second state where the UAV will execute the path it has planned back to base and land on the charging pad located there.

The Büchi Automaton that is then created using equation 3.10 is shown graph- ically in Figure 3.4. For the tuple of the Büchi Automaton, we have that

A= (Q, AP, E, q0, F).

• Q = {init, 1} are all the states for the system

• AP = {blow, e} are the finite sets of inputs

• E = {(init, e, init), (init, blow,1), (1, T rue, 1)} are the transition relations

• q0 = {init} is the set of initial states

• F = {1} is the set of accepting states

This Büchi Automaton shows us the behavior we would want in the exploring UAV. The UAV will explore while the battery has not reached blow. Then when the battery falls too low it will go to the accepting state 1 in which it will stay no matter the input. Since we want the UAV to return to the base once it has fallen below the specified minimum battery level, it would make sense that we always want to stay in the final accepting state to return home.

Figure 3.4: Büchi Automaton generated from the LTL formula (e ∧ !blow) U (blow )

Because the WiFi aware part is enforced elsewhere it is not included in the Büchi Automaton. Thus the automaton uses only the battery life. A third state to handle the situation where the UAV goes outside WiFi range was considered, but since this situation never occurred the simpler two-state solution was used instead.

20

(29)

Chapter 4

Results and Simulation

The results of the simulation are described in this section. First, the Battery and WiFi aware part will be presented together in the final version of the algorithm.

Then the WiFi aware part and Battery aware part will be shown separately to distinguish the effect they have on the UAV during the exploration.

First, we have Figure 4.1 that shows us the trajectory of the UAV. The figure shows that we have a UAV that performs a successful battery and WiFi aware exploration. We see that the UAV is always inside the red circle, meaning it always maintains sufficient WiFi signal strength. Furthermore, we also see that the UAV is able to return to the base after it has reached the battery limit of blow. Comparing this with Figure 4.2, which shows the UAV trajectory with the battery and WiFi aware part deactivated, we can clearly see the differences. Here, the UAV neither returns to the base nor does it stay inside the WiFi circle.

In Figure 4.3 we see the battery and WiFi aware exploration in a more complex environment. It shows us the result of the exploration with battery and WiFi aware activated. Comparing this to Figure 4.4 we see that there are some clear differences.

Because of the limitation on the range imposed by the WiFi, the UAV cannot go farther to continue exploring. This leads to the UAV in Figure 4.3 having explored a smaller part of the map than the UAV in Figure 4.4. We also see that the UAV returns to the base in Figure 4.3 while the UAV in Figure 4.4 crashes before it can complete its exploration.

Figure 4.5 show us the WiFi aware part, whereby the search points are all restricted to be inside the green circle. The green circle represents the limit of the user specified WiFi limit. Positions outside the circle are considered outside of communication with the UAV. Notice that all the points the UAV can move to is inside the circle, meaning we will always be inside WiFi range.

For the battery aware part, we have that the method described in section 3.4.1 can be seen in simulation in Figure 4.6. We see that the informed RRT* generates a path back to the starting position where the charging pad is set to be located.

The green path to the starting position is the path the UAV has taken during its exploration. It provides a path back to the base, albeit one that is unnecessarily

(30)

CHAPTER 4. RESULTS AND SIMULATION long and inefficient. The UAV is represented by the red arrow and at its current position it does not have enough battery life to execute the green path. The red path shows the path generated by the informed RRT*. The Figure clearly shows that the path to the base has been shortened significantly using the RRT. The distance for the path to the base is 12.14 meters for the red path and 38.66 meters for the green path. Since the new path to the base is shortened it will also require less battery life to travel, meaning that the UAV now has enough battery life to continue exploring.

A comparison of the battery aware exploration has also been done. Figure 4.7 shows us how much the UAV has explored the map in three different scenarios.

These plots have been taken from 10 simulation runs and averaged. The volume is given in percentage of the true map explored. The total battery life corresponds to roughly 100 meters of travel distance for the UAV. The volumes explored when the battery capacity is 0 is shown in Table 4.1. The highest percentage explored is the exploration where the UAV is allowed to explore until the battery life reaches 0 and it crashes. The exploration where the UAV returns to the base has a lower percentage explored, which is expected since during the time it is traveling towards the base it could be exploring and increase the percentage of volume explored.

Lastly, we have the exploration where the UAV returns to the base as well but uses the battery cost function described in section 3.4.2. Here we see a slight increase of 4.31% compared to not using the battery cost function. Note also that Figure 4.7 shows that the exploration using the cost function is occurring for slightly longer than when not using it.

4.1 Simulation Environment

The simulation is run on ROS with version Melodic on a computer running Ubuntu 18.04. The simulation environment was shown graphically on RViz. The program- ming languages used were primarily python but also some C++. Two simulation environments were used, the empty room environment and the office environment.

The simulated environments are shown in Figure 4.8 and Figure 4.9, with the UAV shown in the lower right side of the environments for both Figures. The empty room environment consists of a room with four walls and is otherwise empty. The boundaries for it is given by −38 ≤ x ≤ 2, −2 ≤ y ≤ 28 and 0.01 ≤ z ≤ 2.5.

The office environment consists of a structure that is surrounded by four walls and has several rooms and walls within it. The boundaries for it is given by

27 ≤ x ≤ 6, −3 ≤ y ≤ 17 and 0.2 ≤ z ≤ 2.5.

22

(31)

4.1. SIMULATION ENVIRONMENT

Figure 4.1: UAV trajectory with both WiFi aware and Battery aware activated.

The red circle represents the limit of the WiFi signal

Figure 4.2: UAV trajectory without the battery or WiFi aware part. The red circle represents the limit of the WiFi signal

(32)

CHAPTER 4. RESULTS AND SIMULATION

Figure 4.3: UAV exploration in the office environment, with Battery and WiFi aware activated. Red path shows the path for the UAV.

Figure 4.4: UAV exploration in the office environment, with Battery and WiFi aware deactivated. Red path shows the path for the UAV.

24

(33)

4.1. SIMULATION ENVIRONMENT

Figure 4.5: Search points restricted by WiFi signal strength with σx = σy = σz = 5.

Green circle represents area of acceptable WiFi signal

Figure 4.6: Informed RRT* path to base generated. Green path is the path for the UAV during exploration and red is the shortened RRT path.

(34)

CHAPTER 4. RESULTS AND SIMULATION

Figure 4.7: Volume explored with no return, return to base and using the battery cost function. Averaged over 10 simulation runs

Table 4.1: Percentage volume of true map explored, averaged over 10 simulation runs

No return Return Battery cost

Volume(%) 72.36 54.31 58.6

26

(35)

4.1. SIMULATION ENVIRONMENT

Figure 4.8: The empty room environment. Dimensions are 40m × 30m × 2.49m.

Figure 4.9: The office environment. Dimensions are 33m × 20m × 2.7m

(36)
(37)

Chapter 5

Discussion

The results show that both the WiFi aware and Battery aware part works as ex- pected. First, we see in Figure 4.5 that the search points for the UAV exploration algorithm have been restricted by the WiFi. The green circle represents the limited area corresponding to the user specified WiFi signal strength limit. In Figure 4.5 the limit has been set to 0.55 ˆA, where ˆA is the maximum WiFi signal amplitude that occurs at the base where the simulated WiFi router is located. The Figure clearly shows that there is unexplored space to be explored at the top of the map, but since that is outside the WiFi range the UAV cannot go there. The range for the WiFi is user-specified and can be either decreased or increased by changing the σ values described in equation 3.3. We also see that some of the WiFi search points are found slightly outside the edge of the circle. This occurs mainly due to two reasons. Firstly, the random noise variable of the WiFi gives rise to an error. The random noise variable was introduced to mimic the real-life situation where there are is multitude of reasons for the WiFi signal to fluctuate. Thus fluctuations of the WiFi signal due to the random noise would give rise to a small error in the WiFi estimation. Secondly, the estimated WiFi does not always give perfect values with regards to the WiFi σ values, meaning there will be a small estimation error. This estimation error would occur even if there was no random noise but would diminish over time as the values become closer to the true values over each iteration of the numerical solver.

Because of the small error of the WiFi estimation, the user specified WiFi signal limit should be slightly bigger than the minimum required signal strength. This is to have a small margin of error to compensate for the estimation error that arises from the numerical solver and the random noise variable.

An interesting result is shown at Figure 4.7 and table 4.1. We see that explo- ration using the cost function has an increase in volume explored than not using it when the UAV has to return to the base. This is because the cost function adds a bias towards going to search points that are closer to the base. As a result, the UAV can explore for a slightly longer time since the travel time needed to return to the base has been shortened. We should, however, note that the battery cost

(38)

CHAPTER 5. DISCUSSION function also slightly decreases the rate at which the UAV explores. This is because the UAV now also takes into account the battery level when searching, which will conversely decrease the importance of information gain. This means that the rate of exploration will be slightly slowed.

To compare the work done in this project with the work done by K. Cesare et al. in [3], we first have to take into account that the work done in [3] has some differences to this in its problem definition. First, they deal with multi UAVs while this project has a single UAV. They also allow the UAV to be outside communication range for extended time periods, while in this project being outside communication range is the result of estimation error and the UAV has to return inside the WiFi range as fast as possible. Despite this, you can still draw some conclusions from a comparison. This project provides a method of exploring with a UAV as much as possible before needing to return to base while K. Cesare et al. in [3] shows how to explore as much as possible when returning to the base is not needed. Of course, if you allow the UAV to explore until the battery runs out you will have explored more space than if you return to base before the battery returns. This is because the time it takes for the UAV to return to the base could instead be used to explore, leading to a bigger exploration coverage, which Figure 4.7 shows.

30

(39)

Chapter 6

Summary and Conclusion

6.1 Summary

A UAV that is both WiFi and battery aware during exploration has been created. It uses cached positions to estimate the WiFi distribution of the environment. With the distribution, it can calculate the limits of the WiFi range and thus never go outside those limits. A Büchi Automaton has been created from an LTL formula.

The LTL formula specifies that the UAV should explore until the battery falls below a specified limit. At that time, the UAV will plot a path back to the base using informed RRT* that uses the previous path for its execution.

6.2 Conclusions

From the result, we can conclude that the UAV is WiFi and battery aware during its exploration. We can also see that there is a marked increase in exploration volume when using the battery cost function compared to not using it. The UAV also always adheres to the user-specified WiFi range limit, which leads to the conclusion that the WiFi aware part is working. Since we also have a successful return to base after the battery has fallen below the user-specified limit, we can conclude that the battery aware part is working as well.

6.3 Future Work

There are several areas for future work to further develop the work done in this thesis project. The foremost would be to extend the method employed here to not only a single UAV but also a team of UAVs working together. Having a team of UAVs allows for more complicated actions and allows for more specialization for each UAV. For example, as shown in [3], one UAV could act as a relay for the others, allowing for an extension of the range given a limited WiFi range.

(40)
(41)

Bibliography

[1] Amazon, “Prime air.” [Online]. Available: https://www.amazon.com/Amazon- Prime-Air/b?ie=UTF8node=8037720011

[2] S. Shen, N. Michael, and V. Kumar, “Obtaining liftoff indoors: Autonomous navigation in confined indoor environments,” IEEE Robotics & Automation Magazine, vol. 20, no. 4, pp. 40–48, 2013.

[3] K. Cesare, R. Skeele, S.-H. Yoo, Y. Zhang, and G. Hollinger, “Multi-uav explo- ration with limited communication and battery,” in Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015, pp. 2230–2235.

[4] A. M. Ayala, S. B. Andersson, and C. Belta, “Temporal logic motion planning in unknown environments,” in Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on. IEEE, 2013, pp. 5279–5284.

[5] J. Tumova, A. Marzinotto, D. V. Dimarogonas, and D. Kragic, “Maximally satisfying ltl action planning,” in Intelligent Robots and Systems (IROS 2014), 2014 IEEE/RSJ International Conference on. IEEE, 2014, pp. 1503–1510.

[6] N. Drollinger, “Developing a system for robust planning using linear temporal logic,” 2018.

[7] E. Palazzolo and C. Stachniss, “Effective exploration for mavs based on the expected information gain,” Drones, vol. 2, no. 1, p. 9, 2018.

[8] “The Global Goals,” https://www.globalgoals.org/, [Online; accessed 10-June- 2019].

[9] A. Pnueli, “The temporal logic of programs,” in 18th Annual Symposium on Foundations of Computer Science (sfcs 1977). IEEE, 1977, pp. 46–57.

[10] C. Baier and J.-P. Katoen, Principles of model checking. MIT press, 2008.

[11] S. Andersson, “Automatic control design synthesis under metric interval tem- poral logic specifications,” 2016.

[12] P. Gastin and D. Oddoux, “Fast ltl to büchi automata translation,” in In- ternational Conference on Computer Aided Verification. Springer, 2001, pp.

53–65.

(42)

BIBLIOGRAPHY [13] B. Yamauchi, “A frontier-based approach for autonomous exploration,” in cira.

IEEE, 1997, p. 146.

[14] A. Bircher, M. Kamel, K. Alexis, H. Oleynikova, and R. Siegwart, “Reced- ing horizon" next-best-view" planner for 3d exploration,” in 2016 IEEE inter- national conference on robotics and automation (ICRA). IEEE, 2016, pp.

1462–1468.

[15] M. Selin, M. Tiger, D. Duberg, F. Heintz, and P. Jensfelt, “Efficient au- tonomous exploration planning of large-scale 3-d environments,” IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 1699–1706, 2019.

[16] M. Fakoor, A. Kosari, and M. Jafarzadeh, “Revision on fuzzy artificial poten- tial field for humanoid robot path planning in unknown environment,” Inter- national Journal of Advanced Mechatronic Systems, vol. 6, no. 4, pp. 174–183, 2015.

[17] S. M. LaValle, “Rapidly-exploring random trees: A new tool for path planning,”

1998.

[18] S. M. LaValle and J. J. Kuffner Jr, “Rapidly-exploring random trees: Progress and prospects,” 2000.

[19] S. Karaman and E. Frazzoli, “Sampling-based algorithms for optimal motion planning,” The international journal of robotics research, vol. 30, no. 7, pp.

846–894, 2011.

[20] I. Noreen, A. Khan, and Z. Habib, “A comparison of rrt, rrt* and rrt*-smart path planning algorithms,” International Journal of Computer Science and Network Security (IJCSNS), vol. 16, no. 10, p. 20, 2016.

[21] J. D. Gammell, S. S. Srinivasa, and T. D. Barfoot, “Informed rrt*: Optimal sampling-based path planning focused via direct sampling of an admissible el- lipsoidal heuristic,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2014, pp. 2997–3004.

[22] A. Smailagic, J. Small, and D. P. Siewiorek, “Determining user location for con- text aware computing through the use of a wireless lan infrastructure,” Institute for Complex Engineered Systems Carnegie Mellon University, Pittsburgh, PA, vol. 15213, 2000.

[23] B. Araki, J. Strang, S. Pohorecky, C. Qiu, T. Naegeli, and D. Rus, “Multi-robot path planning for a swarm of robots that can both fly and drive,” in 2017 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2017, pp. 5575–5582.

[24] E. Jones, T. Oliphant, P. Peterson et al., “SciPy: Open source scientific tools for Python,” 2001–, [Online; accessed 2019-05-09]. [Online]. Available:

http://www.scipy.org/

34

(43)

[25] M. J. Powell, “An efficient method for finding the minimum of a function of several variables without calculating derivatives,” The computer journal, vol. 7, no. 2, pp. 155–162, 1964.

[26] I. Filippidis, D. V. Dimarogonas, and K. J. Kyriakopoulos, “Decentralized multi-agent control from local ltl specifications,” in Decision and Control (CDC), 2012 IEEE 51st Annual Conference on. IEEE, 2012, pp. 6235–6240.

[27] Y. Chen, J. Tmová, A. Ulusoy, and C. Belta, “Temporal logic robot control based on automata learning of environmental dynamics,” The International Journal of Robotics Research, vol. 32, no. 5, pp. 547–565, 2013.

[28] J. E. Hopcroft, Introduction to automata theory, languages, and computation.

Pearson Education India, 2008.

(44)

TRITA EECS-EX-2019:652

www.kth.se

References

Related documents

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

Both Brazil and Sweden have made bilateral cooperation in areas of technology and innovation a top priority. It has been formalized in a series of agreements and made explicit

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Parallellmarknader innebär dock inte en drivkraft för en grön omställning Ökad andel direktförsäljning räddar många lokala producenter och kan tyckas utgöra en drivkraft

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

Detta projekt utvecklar policymixen för strategin Smart industri (Näringsdepartementet, 2016a). En av anledningarna till en stark avgränsning är att analysen bygger på djupa