Exploiting a priori knowledge in exploration strategies for autonomous mobile robots

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Exploiting a priori knowledge in exploration strategies for autonomous mobile robots"

Transcript

1 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Dipartimento di Elettronica, Informazione e Bioingegneria MSc in Computer Science and Engineering Exploiting a priori knowledge in exploration strategies for autonomous mobile robots Relatore: prof. Francesco AMIGONI Correlatore: dott. Matteo LUPERTO Tesi di Laurea Magistrale di: Danilo FUSI Matricola Anno Accademico

2

3 i Abstract Autonomous mobile robotics is one of the most relevant emerging fields of study of the last few years, due to a wide range of applications that goes from industrial to home environments. Exploration is an important task for autonomous mobile robots: a robot placed in an initially unknown environment has to incrementally build a map that represents the position of obstacles, such as walls, tables, chairs, and so on. Iteratively, the robot builds a partial map of the environment, integrating data coming from its sensors, and chooses the next location to reach according to an exploration strategy. In the literature, some authors propose exploration strategies that exploit some form of prior knowledge about the environment, with the aim of improving the performance of the exploration process. The purpose of this thesis is to develop an exploration strategy that exploits (a possibly inaccurate) a priori knowledge of the environment and verify if the use of this knowledge improves the performance of an exploration system. More specifically, we propose a multi-criteria exploration strategy that exploits the information obtainable from a floor plan of the environment in which the robot moves. We test our exploration strategy in environments with different characteristics, obtaining good results and proving the effectiveness of our approach.

4

5 iii Sommario La robotica mobile ed autonoma è uno dei più importanti campi di studio degli ultimi anni, grazie a una vasta gamma di possibili applicazioni che vanno dagli ambienti industriali a quelli domestici. L esplorazione è importante per i robot mobili autonomi: un robot posizionato in un ambiente inizialmente sconosciuto ha il compito di costruire una mappa che rappresenta la posizione degli ostacoli, come muri, tavoli, sedie e così via. Iterativamente, il robot costruisce una mappa parziale dell ambiente sulla base delle percezioni raccolte dai sensori e sceglie la successiva posizione da raggiungere seguendo una strategia di esplorazione. In letteratura, alcuni autori propongono delle strategie di esplorazione che sfruttano forme di conoscenza a priori dell ambiente, con lo scopo di migliorare le prestazioni del processo di esplorazione. In questa tesi proponiamo una strategia di esporazione che sfrutta conoscenza a priori (eventualmente inaccurata) dell ambiente, verificando se l uso di tale conoscenza è in grado di migliorare le prestazioni del sistema esplorativo. Più precisamente, proponiamo una strategia di esplorazione multicriterio che sfrutta le informazioni ottenibili da una piantina dell ambiente da esplorare. Inoltre, testiamo la nostra strategia di esplorazione in ambienti con differenti caratteristiche, ottendendo buoni risultati e dimostrando l efficacia del nostro metodo.

6

7 Contents Abstract Sommario i iii 1 Introduction 1 2 State of the art Sensors SLAM problem Localization Mapping SLAM approach exploiting prior information Exploration strategies Standard exploration strategies Multi-criteria exploration strategies Improvements for exploration strategies Exploration strategies with prior information Off-line exploration strategies for coverage problem GRASP for covering problem Wavefront algorithm Navigation Problem definition The exploration problem Goals v

8 vi CONTENTS 4 Problem solution Assumptions Our solution Detection of frontiers Generation of candidate locations Evaluation of candidate locations Selection of best location Example of selection of next observation location Implementation Software frameworks ROS: Robot Operating System Gazebo simulator Setting the navigation stack Ros packages System architecture Experimental results Evaluation tools Log data Environments Parameters Selection of α Evaluation procedure Results Basic environment Office environment Open environment Other results Comparison with off-line exploration strategy Our approach with hand-drawn maps Experiments with Robocom Conclusions and future work 121

9 List of Figures 2.1 In Figure 2.1a a robot s path using its odometry with respect to a given environment. In Figure 2.1b a reconstruction of a cycling environment with a significant odometry error [37] Four types of map [20, 32] Alignment of the robot s trajectory with information obtained from Open Street Maps. In Figures 2.3a and 2.3b, the trajectory before and after the alignment [41] Another example of robot s trajectory alignment with the buildings on the map [41] A comparison between the trajectories before the optimization (Figure 2.5a) and after (Figure 2.5c). In Figure 2.5b, some enlarged parts of trajectory [41] The estimate of the robot s trajectories over the floor plan. In red the trajectories, in blue the floor plan, and in black the map built by the robot [6] In Figure 2.7a a grid. In Figure 2.7b the frontiers detected (circled in red) [43] The steps of Gonzáles-Baños and Latombe method [14] The features used for evaluating a candidate observation position. In Figure 2.9a the travelling cost. In Figure 2.9b the expected information gain. In Figure 2.9c the expected overlap. The circle represents the field of view of the robot sensor [2] vii

10 viii LIST OF FIGURES 2.10 In Figure 2.10a an example of trajectories with and without repetitive re-checking is reported. In Figure 2.10b is represented an example of map segmentation [18] In Figures 2.11a and 2.11b there are the graph of environment provided by the user and the correspondent tour computed before the exploration. In Figures 2.11c and 2.11d the difference, in terms of path, between greedy exploration and graph-based exploration, respectively [22] In Figure 2.12a it can be seen the partial map and the frontier considered for the loop closure prediction. In Figure 2.12b can be seen an example of map retrieved by FapbMAP2. In Figure 2.12c can be seen the Voronoi graph used for the path search [34] In Figure 2.13a a movement graph obtained from a 9 x 9 grid, with α {0, π, π, 3 π}. In Figure 2.13b an example of covering 2 2 function with r = 5 and θ = π [24] Example of distance transform approach [44] An application of path transform for computing a path, from S to G, that completely covers the environment [44] An example of sketch floor map [31] An example of hand-drawn map [5] Main steps of exploration process Main steps of selection of next observation location An example of floor plan (Figure 4.1a), a map as perceived by the robot (Figure 4.1b), and an overlay of the floor plan over the map (Figure 4.1c) In Figure 4.2a an enlarged part of the map. In Figure 4.2b the frontier detected shown in yellow In Figure 4.3a the frontier reported on the map in yellow. In Figure 4.3b the corresponding candidate location p generated The line of sight computed between location p and the cell c coloured in red

11 LIST OF FIGURES ix 4.5 In Figure 4.5a, an enlarged part of occupancy grid map built by the robot and a candidate location p. In Figure 4.5b, the estimate of information gain computed from p. In red the field of view of the robot s sensor, whose range is r An example of estimate of the information gain with floor plan from the candidate location p. Circled in red the field of view of the robot s sensor, whose range is r The frontiers detected and the corresponding candidate positions generated The estimate of the information gain computed considering the overlay of the floor plan over the map, the candidate location, and the robot s current position. Circled in red the field of view of the robot s sensor An environment built with Gazebo A Turtlebot robot An overview of our navigation stack implementation The main steps of the exploration task seen from the point of view of the navigator package An example of a partial map and a local costmap seen from rviz. The violet cells represent the obstacles in the costmap, the light blue and violet cells that surround the obstacles represent obstacles inflated by an user specified value System architecture Class diagram of the exploration node The floor plans of environments used in our experiments Time needed for reaching 100 % of coverage Time needed for reaching 90 % of coverage In red, the initial position of the robot for the basic environment The coverage of the unfurnished basic environment as a function of time

12 x LIST OF FIGURES 6.6 Comparison between the strategies in terms of distance travelled for the basic unfurnished environment. Also, for each strategy the standard deviation is shown The coverage of the furnished basic environment as a function of time Comparison between the strategies in terms of distance travelled for the basic furnished environment. Also, for each strategy the standard deviation is shown In red, the initial position of the robot for the office environment The coverage of the unfurnished office environment as a function of time Comparison between the strategies in terms of distance travelled for the unfurnished office environment. Also, for each strategy the standard deviation is shown The coverage of the furnished office environment as a function of time Comparison between the strategies in terms of distance travelled for the furnished office environment. Also, for each strategy the standard deviation is shown In red, the initial position of the robot for the open environment The coverage of the unfurnished open environment as a function of time Comparison between the strategies in terms of distance travelled for the unfurnished open environment. Also, for each strategy the standard deviation is shown The coverage of the furnished open environment as a function of time Comparison between the strategies in terms of distance travelled for the furnished open environment. Also, for each strategy the standard deviation is shown The first environment of [22] used for the comparison. The initial positions are shown in red

13 LIST OF FIGURES xi 6.20 The coverage of the first environment of [22] as a function of time The coverage of the first environment of [22] as a function of distance travelled by the robot The second environment of [22] used for the comparison. The initial positions are shown in red The coverage of the second environment of [22] as a function of time The coverage of the second environment of [22] as a function of distance travelled by the robot The floor plan of the environment used for the comparison. The initial position of the robot is shown in red The three hand-drawn maps The coverage as a function of time Comparison between the strategies in terms of distance travelled. Also, for each strategy the standard deviation is shown The floor plan of the environment used for testing our approach with Robocom. In red, the initial position of the robot The Robocom robot Edited version of our navigation stack implementation The coverage as a function of time Comparison between strategies in terms of distance travelled. Also, for each strategy the standard deviation is shown

14

15 List of Tables 4.1 Coordinates of each location reported in Figure 4.7b Normalized utility values of the distance of each location reported in Figure 4.7b Normalized utility values of the information gain of each location reported in Figure 4.7b The global utility values of candidate locations (α = 0.5) The maximum width and height of each environment Comparison between the strategies in terms of distance travelled for the unfurnished basic environment Comparison between strategies in terms of distance travelled for the furnished basic environment Comparison between strategies in terms of distance travelled for the unfurnished office environment Comparison between strategies in terms of distance travelled for the furnished office environment Comparison between strategies in terms of distance travelled for the unfurnished open environment Comparison between strategies in terms of distance travelled for the furnished open environment Performance evaluation at 95 % of explored area Comparison between the approach without prior information and the approach with floor plan in terms of distance travelled. 112 xiii

16 xiv LIST OF TABLES 6.10 Comparison between the approach without prior information and the approach with hand-drawn map 1 in terms of distance travelled Comparison between the approach without prior information and the approach with hand-drawn map 2 in terms of distance travelled Comparison between the approach without prior information and the approach with hand-drawn map 3 in terms of distance travelled Comparison between strategies in terms of distance travelled.. 119

17 Chapter 1 Introduction Autonomous mobile robotics is one of the most important fields of study of the last years, due to a wide range of applications that goes from industrial to home environments and that involve manipulators, rescue robots, robot vacuum cleaners, etc. An autonomous robot should perform tasks without the continuous human intervention, and should be able to avoid situations that are harmful to people, properties, and itself. To accomplish different tasks, robots must have sensors for perceiving the environment and actuators for performing some actions upon it. For example, a mobile robot might have infrared range finders as sensors and motors as actuators. Exploration is an important task for autonomous mobile robots: a robot placed in an initially unknown environment has to build a map that represents the position of obstacles, such as walls, tables, chairs, and so on. Iteratively, the robot builds a partial map of the environment, integrating data coming from its sensors, and chooses the next location to reach according to some exploration strategy. During last decades, different exploration strategies have been proposed. Most of them are based on the concept of frontiers, that are regions on the boundary between free space and unexplored space [43]. Among these exploration strategies we can find the greedy strategy, that is the simplest one [40]: the robot goes from its current position to the closest frontier, until the whole environment is mapped. 1

18 2 CHAPTER 1. INTRODUCTION Moreover, there are other exploration strategies that choose the next position to reach first generating a set of possible locations and then evaluating each of them considering different criteria. This type of approach is called multi-criteria exploration strategy. One of the best known multi-criteria strategy is the method of Gonzáles-Baños and Latombe [14]. It evaluates each candidate location taking into account the distance from the robot s current position to the location considered, and the expected amount of information that the robot can acquire at that location. The evaluation is done by combining the value associated to each criterion in one aggregate value through an utility function. Other multi-criteria exploration strategies evaluate each candidate location in different ways. For example, the authors of [2] propose a multi-criteria strategy that evaluates each candidate location keeping the values of each criterion separated. Furthermore, the strategy proposed in [3], when evaluating each candidate location, considers also the dependence between criteria. In the literature, some authors propose exploration strategies that exploits some form of prior knowledge about the environment, with the aim of improving the performance of their approaches. The authors of [22] propose a strategy that, knowing the geometry of the environment and having a representation of it in terms of a topo-metric graph, demonstrates to have a better performance if compared to the greedy exploration. Another strategy, presented in [33], tries to improve the performance by making some predictions on how the unseen parts environment could look like, exploiting a database of previously mapped environment. The purposes of this thesis are to study and implement an exploration strategy that exploits (a possibly inaccurate) a priori knowledge of the environment and verify if the use of this knowledge improves the performance of an exploration system. More specifically, we propose a multi-criteria exploration strategy that exploits the information that can be obtained from a floor plan of the environment tp be explored. We test our exploration strategy in three different types of environments, and we evaluate it in terms of explored area, time spent, and distance trav-

19 3 elled by the robot. Moreover: we make a comparison between our strategy (an on-line approach) and the approach presented in [22] (an off-line approach); we evaluate the robustness of our approach to the inaccuracy of prior information, evaluating the performance using maps with different levels of accuracy; we test our exploration strategy in real environments using an autonomous wheeled robot. The thesis is structured as follows. In Chapter 2 we discuss a relevant subset of the state of the art on autonomous mobile robots, describing the main exploration strategies proposed in the literature and showing how the use of prior information can improve the performance of exploration strategies. In Chapter 3 we describe formally the problem addressed in this work, starting from describing the exploration problem and then showing our main goals. In Chapter 4 we present our solution to the problem presented in Chapter 3, showing the main assumptions at the basis of our work and describing in detail the solution. In Chapter 5 we describe the implementation of our exploration strategy, starting by illustrating the software frameworks used for implementing our solution, and then describing the architecture of our system. In Chapter 6 we present the experiments performed in order to evaluate the efficiency of our exploration strategy. We start by showing the environments used for the simulated experiments and by describing how our approach is evaluated. Finally, we illustrate the results obtained. In Chapter 7 we summarize the purposes of our work and the results obtained. Also, we give some ideas for future works.

20

21 Chapter 2 State of the art Exploration is an important field in robotics, due to a wide range of applications, such as surveillance, Search & rescue, and assistance. The exploration problem can be defined as the task of a robot that has to visit an initially unknown environment in an autonomous way, choosing the next best position to reach according to some exploration strategy, and also build a map using the data coming from its sensors. The exploration is one of the typical and most important problems in mobile robotics: this is confirmed by the many study recently published in this area that try to reach efficient solutions to the problem, usually testing several exploration strategies in a given environment and comparing their performance on the basis of time or distance travelled by the robot. Furthermore, other researchers enriched their exploration strategies with prior information with the goal of improving their performance. For example, the authors of [22] propose an exploration strategy that, exploiting a topo-metric map of the environment, demonstrates to have a better performance if compared to greedy strategy that does not have the same a priori information. The complete coverage problem is similar and related to the exploration problem: in this case, assuming an accurate knowledge of the environment, the goal is to find a navigation path that allows the robot to visit entirely the environment (or the footprint of its sensor to cover all the free area of the environment). 5

22 6 CHAPTER 2. STATE OF THE ART In this chapter we discuss a part of the state of art related to exploring autonomous mobile robots, showing how the integration of a priori information can improve the performance of an exploration strategy. More precisely, in Section 2.1 we describe the sensors and perception models typically used by the robot to perceive the surrounding environment. In Section 2.3 we illustrate several standard exploration strategies and some improvements that exploit prior information. In Section 2.4 we present off-line exploration strategies that resolve the complete coverage problem. Finally, in Section 2.5 we present navigation methods that rely upon on an inaccurate floor plan. 2.1 Sensors Many types of sensors with different characteristics are available for taking measurements about the environment that surrounds the robot [39]. Some examples of sensors related to our application field are: Optical sensors infrared (IR): these sensors work as pulse of light is emitted and then reflected back. Measuring the time of flight, namely the time needed by the beam of light to be reflected and go back, distance can be determined; LIDAR: also called Light Detection and Ranging (or laser scanner), is capable to measure distance to a target by using a pulsed laser light; RGB camera: a camera for colour image acquisitions; stereo camera: it is a type of camera that uses two or more lenses, each one with a separate image sensor; RGB-D camera: it is an acquisition system that integrates a RGB camera with a depth camera for having a 3D perception of the environment, e.g., the Microsoft Kinect; GPS: it is a dedicated module that allows the positional and movement detection;

23 2.2. SLAM PROBLEM 7 Inertial measurement sensors (IMU): they allow to measure specific parameters of the robot, namely accelerations or inclination (e.g., accelerometer and gyroscope); Contact sensors: they allow to check if the robot bump an object; Proximity sensors: they are able to detect the presence of nearby objects without any physical contact, e.g., a SONAR sensor that checks how close is an object using sound waves. 2.2 SLAM problem One of the most significant problems in robotics is the SLAM problem, Simultaneous Localization and Mapping [21, 37]. The SLAM problem arises in several situations, such as the exploration of an initially unknown environment: in this case, the robot does not have access to a map of the environment nor it does have access to its correct location in the global map. The robot can only rely on sensor measurements (e.g., camera image or range scan) and controls (e.g., robot motion) for building the map and estimating its current position. We denote as z t the measurement data at time t, and the set of all measurement data acquired from time t 1 to time t 2, for t 1 t 2, as: z t1 :t 2 = z t1, z t1 +1, z t1 +2,..., z t2 (2.1) And in the same way, we denote the control data at time t as u t, and the set of all control data from time t 1 to time t 2, for t 1 t 2, as: u t1 :t 2 = u t1, u t1 +1, u t1 +2,..., u t2 (2.2) From a probabilistic point of view, one possible way to describe the SLAM problem is known as the online SLAM problem. It involves estimating the posterior over the momentary pose along with the map: p(x t, m z 1:t, u 1:t ). (2.3)

24 8 CHAPTER 2. STATE OF THE ART Where x t is the pose at time t, m is the map, and z 1:t and u 1:t are the measurements and controls, respectively. This type of SLAM is called online as it only involves the estimation of variables that persists at time t Localization An autonomous mobile robot, for ensuring a reliable navigation, should localize itself within the environment, namely it must know where it is. In the literature there exist some methods to address this type of problem, the most commonly known is the Monte Carlo Localization (MCL) method. Monte Carlo Localization This algorithm is able to estimate the position and orientation of the robot using a particle filter, whose particles represent the hypotheses where the robot could be [9, 11]. This method, assuming the availability of a map of the environment, represents the probability distribution over the robot s poses by a set of N weighted, random samples (particles) S = {s i i = 1,..., N}. Each sample s i is of the type: l, p (2.4) where l = x, y, θ indicates the position and orientation of the robot, and p 0 represents the probability over the robot s pose l. We also assume that N i=1 p i = 1 The Monte Carlo Localization method operates in two phase. After a robot motion, the MCL method generates N new samples, where each sample is generated randomly drawing from the previously computed sample set. Let l denote the position of the previously drawn sample, the new sample l is then randomly generated from P (l l, a), where a represent the action observed, and P (l l, a) represents a model of the robot s kinematics. During the second phase the sensor measurements u are incorporated by re-weighting the sample set. More specifically, let l, p be a sample, p is

25 2.2. SLAM PROBLEM 9 updated as follows: p = α P (u l), (2.5) where α is a normalization constant that enforces N n=1 p n = 1, and P (u l) is the likelihood of perceiving u given that the robot is at position l. Finally, the pose l with the maximum probability p is considered as the current position of the robot. MCL in hand-drawn maps Although the MCL approaches presented in [9, 11] are robust and very accurate, they rely on a map of the environment built beforehand. In [4] it is presented an approach that overcomes this limitation, extending the Monte Carlo localization to hand-drawn maps, whose metrical description is not available. Relying to an inaccurate hand-drawn map of the environment, this method extends the Monte Carlo Localization expressing the robot s pose in terms of pixel coordinates of the drawing and considering the local deformation of the map Mapping Autonomous mobile robots must be able to acquire and maintain a representation of environments in order to carry out different tasks in them. But there are different factors that impose practical limitations on a robot s ability to learn and use accurate models [36]: perceptual limitations: the perceptual range of most sensors is limited around the robot; sensor noise: typically, sensor measurements are corrupted by noise, and also the distribution of the noise is not known; drift: robot motion is not accurate and odometric error can accumulate over time (see Figure 2.1).

26 10 CHAPTER 2. STATE OF THE ART (a) Example of odometry error (b) Cyclic environment with odometry error Figure 2.1: In Figure 2.1a a robot s path using its odometry with respect to a given environment. In Figure 2.1b a reconstruction of a cycling environment with a significant odometry error [37]. In the 0literature, different ways of representing the environment have been studied, but the most commonly used are: occupancy grid, topological, feature based, and coverage maps (see Figure 2.2). 1. Occupancy grid map [36, 38]. The map is represented as a collection of cells with a variable resolution, that correspond directly to the geometry of the environment. Also, each cell has a value, going from 0 to 1, indicating the presence or absence of an obstacle in that position. 2. Topological map [36, 38]. In this case, the map is represented by graphs. Each node corresponds to a different place or landmark in environments (like doorways, rooms, etc.). Also, two nodes are connected if exists a direct path between them. 3. Feature based map. In this case, the environment is modelled by a set of geometric primitives such as lines, points and arcs. 4. Coverage map [32]. This approach uses a grid representation of the environment, similarly to an occupancy grid map. But in contrast to occupancy grid maps, in which each cell is considered as either occupied

27 2.2. SLAM PROBLEM 11 or free, coverage maps store in each cell a value representing the amount of this cell covered by an object. (a) Occupancy grid map (b) Feature based map (c) Topological map (d) Coverage map Figure 2.2: Four types of map [20, 32] SLAM approach exploiting prior information In this section we present two SLAM approaches that exploit a priori information. We start presenting an approach that exploits publicly available maps

28 12 CHAPTER 2. STATE OF THE ART for improving the robustness of the SLAM process, and then we describe an approach that exploits information from floor plans. SLAM approach exploiting publicly maps The authors of [41] propose a SLAM approach that exploits information obtainable from publicly available maps for improving the robustness of the SLAM process. First, we describe a possible way to model the SLAM problem, that is the graph-based SLAM formulation, and then we explain how to integrate a priori information for improving it. Graph-based SLAM A graph-based formulation is one way to model the SLAM problem [16]. It involves the construction of a graph, where the nodes represent robot poses or landmarks, and an edge between two nodes encodes a sensor measurement that constraints the two connected poses. Once the graph is built, the next step - the optimization step - consists to find a configuration of the nodes such that the overall graph is maximally consistent with the observations. Some form of prior information can also be used for improving the graphbased SLAM. In [41], the authors present a method that extends the graphbased SLAM, integrating information available from publicly maps provided by Open Street Maps (OPS). This can be helpful for improving the map quality, merging the information about the layout of buildings with the data recorded by the robot. This is done by deriving additional constraints for the pose-graph that align the robot s pose with the given map. In Figure 2.3 an example of robot s trajectory alignment with a map obtained from Open Street Maps (OPS) is reported. Formalization Before explaining how to integrate the information obtainable from publicly map into the graph-based SLAM approach, we need first to formalize the pose-graph. A pose-graph can be represented by a state vector X = (x 1,..., x n ) where x i is the pose of node i of the graph. Considering a single constraint between

29 2.2. SLAM PROBLEM 13 (a) (b) Figure 2.3: Alignment of the robot s trajectory with information obtained from Open Street Maps. In Figures 2.3a and 2.3b, the trajectory before and after the alignment [41]. the nodes i and j, we can define the error function e ij (X) as the difference between an expected measurement f(x i, x j ) and the obtained measurement z ij : e ij (X) = e ij (x i, x j ) = f(x i, x j ) z ij. (2.6) The resulting minimization problem can be written as: X = argmin X e ij (X) Λ ij e ij (X), (2.7) ij where Λ ij is the information matrix associated to the constraint between nodes i and j. For integrating additional knowledge obtainable from OPS into the optimization process, we need to extend the error function described in Equation (2.7), adding a component for measuring the error between the robot s observation and the map information: X = argmin X e ij (X) Λ ij e ij (X) + ij i e map i (X) Λ i e map i (X), (2.8) where e map i (X) is the error function and Λ i is the corresponding weight ma-

30 14 CHAPTER 2. STATE OF THE ART trix. Intuitively, the error function adds an additional constraint to the graph that anchors a pose of the robot to a specific location in the map, ensuring that the optimization process, once completed, provides a global alignment. Advantages We don t enter into the details of how the optimization process is being resolved, but instead we focus on the possible benefits of using some prior information. (a) (b) Figure 2.4: Another example of robot s trajectory alignment with the buildings on the map [41]. The advantages can be seen in Figure 2.4. This approach not only provides a better alignment of robot s map with the structure of the environment, but also allows to correctly detect the loop closure. A loop closure is the act of correctly asserting that a robot has returned to a previously visited location [17]. Another example is illustrated in Figure 2.5. Despite the cluttered environment, the approach is able to fix the misalignments that come from the inaccuracy of the initial position, leading to a more consistent robot map. SLAM approach exploiting floor plans Differently from the previous SLAM approach that exploits publicly available maps for improving the robustness of the SLAM process and the generated map, this approach aims to use a floor plan for localizing the robot over it.

31 2.2. SLAM PROBLEM 15 (a) (b) (c) Figure 2.5: A comparison between the trajectories before the optimization (Figure 2.5a) and after (Figure 2.5c). In Figure 2.5b, some enlarged parts of trajectory [41]. The authors of [6] propose an approach that combines mapping and localization techniques to exploit the information obtainable from a floor plan, estimating the robot s position over it. In fact, they use a graph-based SLAM approach for generating a map, represented as a pose-graph, and propose a suitable method for fitting pose-graph generated onto the floor plan and tracking the position of the robot over it. Figure 2.6: The estimate of the robot s trajectories over the floor plan. In red the trajectories, in blue the floor plan, and in black the map built by the robot [6].

32 16 CHAPTER 2. STATE OF THE ART In Figure 2.6 is reported an example of application of their method, where the floor plan is represented in blue, the map built by the robot in black, and the estimated trajectories in red. 2.3 Exploration strategies An exploration strategy answers to the question Where shall i go?, namely indicates what is the next point where the robot should go, helping it to increment the knowledge of environment. In the literature, different exploration strategies have been proposed, also employing several robots for exploring the environment. Here, we consider only exploration done by a single robot. In this section only some exploration strategies are described. This is done by illustrating the main basic exploration strategies, by describing the multi-criteria exploration strategies, by showing some of the improvements for those strategies, and finally by describing two methods that exploit some form of prior information Standard exploration strategies Frontier-based strategy In [43] it is introduced an approach for exploration based on the concept of frontiers, that are defined as the regions on the boundary between open space and unexplored space. By moving to the nearest frontier, the robot can extend its map that can be used for subsequent navigation. This strategy is studied using grids containing cells, each one of them stores the probability that the corresponding region in space is free or occupied. At the beginning, all cells are set to the prior probability of occupancy, and each time a sensor reading is obtained, the corresponding cells are updated. Once the grid has been constructed, each cell can be classified comparing its value to the initial probability assigned to it. Each cell can be classified as:

33 2.3. EXPLORATION STRATEGIES 17 open: if occupancy probability < prior probability unknown: if occupancy probability = prior probability occupied: if occupancy probability > prior probability Frontiers can be detected from the occupancy grid: any open cell adjacent to an unknown cell is labelled as frontier edge cell, and adjacent frontier edge cells are grouped together into frontier regions. Any frontier region with a minimum number of frontier edge cells is considered as frontier. (a) A grid (b) Frontiers detected Figure 2.7: In Figure 2.7a a grid. In Figure 2.7b the frontiers detected (circled in red) [43]. In Figure 2.7, we can see an example of a grid built by a robot during the exploration phase and the corresponding frontiers detected.

34 18 CHAPTER 2. STATE OF THE ART Method of Gonzáles-Baños and Latombe This is an exploration strategy that introduces an important way to choose the next point to reach: it evaluates each candidate point with an utility function that estimates the new amount of information the robot can gain by exploring the correspondent frontier. Before entering into the details of this method, we need to explain some concepts that are useful to understand how it works [1, 14]: Solid curve: the boundary of explored environment, represented by the contour of obstacles; Free curve (or free edge): the boundary that joins two successive solid curve, also indicated as frontier; Safe regions: the largest region that is guaranteed to be free of obstacles. How it works First of all, a partial layout of the environment is build from the data acquired by the sensors at the robot s initial position q 0. Starting from the last position of the robot q k, the next position q k+1 is selected according to the following steps: 1. a set of candidate positions N sam, inside the safe region and near to the free curves, is generated from q k ; 2. for each q N sam the length of the solid curves visible from q is computed. If the length is below under a certain threshold, then the point q is removed from N sam ; 3. for each q N sam, the path planner is invoked for computing a path from q k to q. If the path doesn t exist, then q is deleted from N sam ; 4. for each candidate point q N sam, an utility value is computed using the following function: g(q) = A(q)e λl(q), (2.9)

35 2.3. EXPLORATION STRATEGIES 19 where: λ: is a constant value; L(q): is the length of the collision-free path computed by the planner; A(q): is a value of the unexplored area visible from q; 5. finally, the next point q k+1 is selected from N sam such that it maximizes the utility value computed in previous step. In Figure 2.8 the main steps of the algorithm are shown. (a) (b) (c) (d) Figure 2.8: The steps of Gonzáles-Baños and Latombe method [14].

36 20 CHAPTER 2. STATE OF THE ART Multi-criteria exploration strategies In this section we present some exploration strategies that, similarly to the the method of Gonzáles-Baños and Latombe explained in Section 2.3.1, evaluate each candidate position taking into account different criteria (or features). More precisely, we present: the multi-objective exploration strategy that evaluates each candidate position without combining the values of each criterion in one aggregate value, but keeping them separated; the Multi Criteria Decision Making (MCDM) strategy that evaluates each candidate position taking into account the dependence between the criteria. Multi-objective exploration strategy The multi-objective exploration strategy, presented in [2], determines the next position to reach by considering three features: (i) the travelling cost, (ii) the information gain, and (iii) the precision of the localization of the robot. Differently from other approaches presented in the literature, that evaluate each candidate position combining the values of the features in a global utility function, this method keeps them separated. Map representation The map is represented with two lists of line segments: the first list, called obstacle lists, stores the segments representing the edges of the observed obstacles, while the second list, called free edge list, stores the segments representing the boundaries between explored and unexplored area. Candidate evaluation Given a candidate point p randomly generated along a free edge of the map, this method evaluates the different features values in the following way: the travelling cost c(p) is computed as the total length of the segments forming the path that connects the current position of the robot to p

37 2.3. EXPLORATION STRATEGIES 21 (see Figure 2.9a); the expected information gain i(p) is evaluated as the total length of the segments in the free edge list that are visible from p (see Figure 2.9b); the expected overlap o(p) is computed as the total length of segments in the obstacle list that are visible from p. (a) (b) (c) Figure 2.9: The features used for evaluating a candidate observation position. In Figure 2.9a the travelling cost. In Figure 2.9b the expected information gain. In Figure 2.9c the expected overlap. The circle represents the field of view of the robot sensor [2]. How it works The algorithm can be summarized in three steps: 1. generation of the possible candidate observation positions, by random sampling along the free edges of the map; 2. selection of the Pareto-optimal candidates, comparing the values of the different features. A Pareto-optimal candidate is a candidate that has feature values such that no other candidates has better values for all the features; 3. since several Pareto-optimal candidates may exist, the third step has the goal of selecting only one of them.

38 22 CHAPTER 2. STATE OF THE ART For doing this, the authors of [2] propose to select the best Paretooptimal candidate according to the distance from the ideal solution. More precisely, they select the best candidate p that has the minimum value of the following distance function: D(p) = (c(p) c m ) 2 + (i(p) i M ) 2 + (o(p) o M ) 2. (2.10) Where: p is a Pareto-optimal candidate; c m is the minimum travelling cost over all the Pareto-optimal candidates; i M is the maximum information gain; o M is the maximum overlap. Multi Criteria Decision Making - MCDM In the context of exploration strategies, we can find another method called Multi Criteria Decision Making, MCDM [3]. The proposed method selects the best candidate location for the robot to explore by selecting the point which maximises an utility function, aggregating different criteria and explicitly taking into account the dependence between them. First we formalize the problem of selecting the best candidate location using different criteria as an optimization problem, and then we explain the method proposed by authors of [3] for resolving it. Problem formalization Given a set of candidate locations C, we want to select the best one. For evaluating each location, we define the set of n criteria, labelled as N = {1, 2,..., n}, and the set of utilities associated with a candidate location p as u p = (u 1 (p), u 2 (p),..., u n (p)), where u i (p) denotes the utility of p with respect to criterion i N. The selection of the best candidate location is performed through a global utility function u(p) = f(u p ) = f(u 1 (p), u 2 (p),..., u n (p)), that combines together all utilities

39 2.3. EXPLORATION STRATEGIES 23 in one aggregate value. Finally, the best candidate p is computed as follows: Weights p = argmax f(u p ). (2.11) p C Usually, a multi-criteria exploration strategy aggregates several criteria associating a specific weight to each criterion on the basis of its importance, making sure that their sum is one. An example of aggregation is the weighted mean: in this case, an equal weight is associated with each criterion. The MCDM exploration strategy allows to assign a weight to each criterion and for every possible set of criteria, taking into account the synergy and redundancy between them. combining the criteria in one aggregate value. Also, it exploits the Choquet integral for Now we explain what are synergy and redundancy, and then we describe the aggregation method adopted by MCDM for evaluating a candidate location. Synergy and redundancy There are some important aspects to take into account when we use different criteria for evaluating a candidate location, because they are not always independent. For understanding what are synergy and redundancy, first we define some different criteria and then we make an example. Let s imagine to have the following criteria: d e (p): it measures the Euclidean distance of a candidate point p from the current position of the robot; d m (p): it measures the Manhattan distance of a candidate point p from the current position of the robot; A(p): it measures the area visible from the point p. In this case, the two criteria that compute the distance of candidate point in different manner, d e (p) and d m (p), are correlated and so, there is a redundancy between them.

40 24 CHAPTER 2. STATE OF THE ART In the same way, the two criteria d e (p) and A(p), can be considered independent and a synergy relation holds, because they measure different things. In a formal way, given two criteria c 1 and c 2, they are redundant if the overall weight associated to the union of the two criteria is less than the sum of the individual ones: µ({c 1, c 2 }) < µ(c 1 ) + µ(c 2 ). (2.12) Where µ(c 1 ), µ(c 2 ) and µ({c 1, c 2 }) are the weights associated to c 1, c 2 and the set {c 1, c 2 }, respectively. In the same way, between the two criteria, a synergy relation holds if the overall weight is greater than the sum of the individual ones: µ({c 1, c 2 }) > µ(c 1 ) + µ(c 2 ). (2.13) Otherwise, they are independent. Choquet integral For taking into account the two issues of synergy and redundancy between criteria, MCDM uses a general aggregation method that exploits the Choquet integral [15]. The function is defined as follows: f(u p ) = C(u p ) = n (u j (p) u j 1 (p))µ(a j ), (2.14) j=1 where: p is the candidate location considered; n is the number of criteria; u j (p) is the utility value of the j-th criterion, after the utilities have been sorted in ascending order, so as to have, for an point p: u 1 (p)... u n (p) 1. (2.15) It is assumed that u 0 (p) = 0;

41 2.3. EXPLORATION STRATEGIES 25 A j is defined as: A j = {i N u j (p) u i (p) u n (p)}; (2.16) µ(a j ) is a normalized fuzzy measure, that assigns to each group of A j a weight, with the following properties: 1. µ({ }) = 0; 2. µ(n) = 1; 3. if A B N, then µ(a) µ(b) Improvements for exploration strategies In most of exploration strategies presented in the literature there are some limitations that could worsen their efficiency in terms of time or travelled distance: 1. the decision of reaching a selected location will not change until the location is reached; 2. the evaluation of candidate locations is performed without considering their relation with other locations. Some heuristics are described for overcoming these limitations in [18, 19], and now we present them. Repetitive re-checking During navigation to a selected location, the map is continuously updated. With repetitive re-checking, the robot continuously checks if an unknown region is being fully explored before reaching the target location, making the navigation to the selected frontier unnecessary (see Figure 2.10a). Map segmentation Sometimes it can happen that a single room gets visited multiple times if successively selected locations lie in different rooms. Map segmentation [42] allows to split the map into segments representing

42 26 CHAPTER 2. STATE OF THE ART rooms and makes the robot prefer locations lying in the same segment (see Figure 2.10b). (a) (b) Figure 2.10: In Figure 2.10a an example of trajectories with and without repetitive re-checking is reported. In Figure 2.10b is represented an example of map segmentation [18] Exploration strategies with prior information Graph-based exploration This is the first exploration strategy described in this thesis that exploits some background information on the environment for improving the exploration in terms of time. This method is built upon a topo-metric map, provided by the user or derived from floor plans, allowing the robot to generate a more efficient path for covering the environment with its sensors [22]. For example, using a greedy exploration, the robot could visit the same location multiple times: this method can avoid this type of behavior, making the robot save time in the exploration process. In Figure 2.11, we can see the difference of path length between the nearest-frontier exploration and this method, noticing how the robot avoids crossing the corridor multiple times.

43 2.3. EXPLORATION STRATEGIES 27 (a) Graph provided by user (b) Computed exploration tour (c) Greedy exploration (d) Graph-based exploration Figure 2.11: In Figures 2.11a and 2.11b there are the graph of environment provided by the user and the correspondent tour computed before the exploration. In Figures 2.11c and 2.11d the difference, in terms of path, between greedy exploration and graph-based exploration, respectively [22]. Representation of the background information The background information is represented as a graph G(V, E), composed of nodes V = {v 1,..., v n }, representing rooms or other convex regions, and undirected edges E V V, representing the connections between nodes, i.e., doors. The value associated to the edge reflects the true metric distance. Moreover, users have to possibility to exclude some regions from explo-

44 28 CHAPTER 2. STATE OF THE ART ration, associating to each node a label A : V {explore, skip} Once the graph is built, the goal is to optimize the tour length, visiting each node at least one time for covering the whole environment. The problem can be represented as find the shortest path T in the graph G, with the constraint of visiting all nodes at least one time and returning to the initial node. It can be related to the Travelling Salesman Problem (TSP): given a list of cities and the distances between each pair of cities, the goal is to find the shortest tour that visits all cities exactly only once and finally returns to the starting point. The completion of the graph is done by adding edges between each pair of nodes, associating a value corresponding to the shortest path between the nodes considered. Exploitation of the TSP solution The solution provided by a TSP solver, can be considered as a global strategy for visiting the whole environment, but it doesn t take into account the visibility information of the robot s sensor. Moreover, the exploration system has to make sure that the surrounding area of a node is fully explored. A possible method is to combine frontier-based exploration strategy presented in Section with the TSP solution. During exploration, the robot has to choose the frontier to reach and a common approach is to apply a cost function to the frontier that takes into account some factors, such as the distance between the current pose of robot r and frontier position f, the relative orientation of the frontier, and the expected information gain IG. The next frontier is the one that has the least cost value: cost(f) = α 1 distance(r, f) + α 2 orientation(r, f) α 3 IG(f). (2.17) For ensuring that the robot follows the path computed by the TSP solver, it is needed to include the distance d to the cost function in Equation (2.17), with a high weight α 4.

45 2.3. EXPLORATION STRATEGIES 29 The distance d is describes as: d = length((v i, v j )), (2.18) (v i,v j ) p where p is the TSP tour from the starting node v s up to the v node visited for the last time (see Equation (2.19)) and v is the nearest node to the frontier f, computed using Dijkstra s algorithm. p = ((v s, v k1 ), (v k1, v k2 ),..., (v km, v )). (2.19) Predictive exploration This is another way to explore unknown environments exploiting some previous knowledge on them. Differently from the previous method, this method doesn t assume to have a rough description of the real structure of the environment, and tries to select the next point to reach by making some predictions on how the environment could be, using a database of previously mapped environments [33, 34]. Formalization It s high probable that a real robot maintains a probabilistic belief about its pose and the map of the environment: in this case a possible approach for reducing the uncertainty about the robot s pose is to select the location that could lead to a loop closure. During exploration, the robot executes an action a at a specific time t, obtaining a sequence of observation z. We can define the information gain of selecting action a, as the expected change in entropy in the belief about the robot s pose X and the map M: I(X, M; Z a ) = H(M, X) H(M, X Z a ). (2.20) Where the second terms is the conditional entropy and is defined as: H(M, X Z a ) = p(z a)h(m, X Z a = z)dz. (2.21)

46 30 CHAPTER 2. STATE OF THE ART The integral of Equation (2.21) is intractable and computationally onerous, and so the expected information gain has to be approximated with a suitable method. In this strategy, the frontier that could lead to a loop closure is selected, maximizing the expected uncertainty reduction related to the robot s pose and the map. Considering the path length that robot has to travel doing an action a, labelled as cost(a), it s possible to formalize the task of selecting the best action a as: a = argmax I(M, Z; Z a ) cost(a). (2.22) a As explained before, the computation of the information gain is intractable and the authors of [34] chose to approximate it in the following way: a = argmax I traj (a) cost(a). (2.23) a Where the information gain about the trajectory (I traj ) is related to the probability of loop closure executing an action a. Loop closure prediction First of all, considering a frontier f from the partial map built by the robot, it is needed to retrieve portions of previously mapped environments that are similar to the area around f for making the prediction. The authors of [34] chosen an appearance-based approach to efficiently query the database, that is FabMAP2. Once obtained the results of query, the next step is to estimate the probability of closing a loop. But first, the results of query must be aligned with the partial map, and reduced to an extended Voronoi graph. Now, we can search for a possible loop closures, starting from the frontier selected and traversing the Voronoi graph in a breadth-first manner. A path computed in this way can be considered as a loop closure if it leads to a point that is near to any other frontier. For computing the probability of closing a loop, we can do in the following

47 2.3. EXPLORATION STRATEGIES 31 (a) (b) (c) Figure 2.12: In Figure 2.12a it can be seen the partial map and the frontier considered for the loop closure prediction. In Figure 2.12b can be seen an example of map retrieved by FapbMAP2. In Figure 2.12c can be seen the Voronoi graph used for the path search [34]. way: S f = l(m) l(c m). (2.24) m M(f) c C(f,M) Where: M(f) is the set of maps returned by FabMAP2, with f the frontier selected for the query; l(m) is the likelihood of a match m, returned by FabMAP2; C(f, M) is the set of possible loop closures computed according to the methods explained before;

48 32 CHAPTER 2. STATE OF THE ART l(c m) is the likelihood that the loop closure can be reached. It is assumed that is inversely proportional to the length of the path of the predicted loop closure. Now, the value S f can be used for approximating the expected information gain I traj of Equation (2.23). 2.4 Off-line exploration strategies for coverage problem There are some exploration strategies that can be classified as off-line algorithms for resolving the complete coverage problem. Those strategies rely on stationary information and assume to have a full knowledge of the environment, which is used for finding a path that allows a robot to completely cover, with its tool (e.g., a sensor or a brush), all the points of a given environment [12, 24]. Several approaches proposed for this task are based on a decomposition of the environment into a collection of uniform grid cells. In this representation, each cell has an associated value stating whether an obstacle is present or if it is free space [8, 12]. Now, we show some methods that use this type of representation GRASP for covering problem GRASP (Greedy Randomized Adaptive Search Procedures) is a meta-heuristic algorithm for resolving combinatorial optimization problems, such as the travelling salesman problem and the minimum spanning tree problem [10]. These types of optimization problems are resolved by GRASP in two phases: 1. at first it constructs an initial solution via an adaptive randomized greedy function; 2. secondly it tries to improve the constructed solution applying a local search procedure.

49 2.4. COMPLETE COVERAGE PROBLEM 33 In the same manner, the GRASP meta-heuristic approach can be applied for resolving the complete coverage problem, first computing an initial covering tour, using a random greedy procedure, and then improving it by a local search [24]. Problem formalization Assuming to have a complete knowledge of the environment, the goal is to find the optimal tour that, if followed by a robot equipped with a covering tool characterized by a limited range r and a limited angular field of view θ, allows a complete cover of the environment. Considering an environment represented as a grid of identical squared cells, which can be either free cells F or cells occupied by obstacles O, it is possible to describe the robot state space by using a movement graph G = (V, E) (see Figure 2.13a), where: V is the set of vertices (the set of poses). Each pose is characterized by a pair (c, α), where c indicates the free cell in which the robot is located (assuming that it is always located in the center of the cell) and α is its orientation taken from a finite set of values; E is the set of edges, that represent the movements that the robot can perform in terms of rotation and translation. It contains a translation edge from a vertex v = (c, α) to a vertex v = (c, α) if c and c are neighbours on the 4-connected grid, i.e., they have a common edge, and α points along the direction from the center of c to the center of c. Moreover, assuming to have discretized values of the robot orientation α (1),..., α (h), with α (1) <... < α (h), E contains a rotation edge from a vertex v = (c, α (i) ) to a vertex v = (c, α (i+1) ) and a dual from v to v. The weight associated to each edge represents the time needed by the robot to make the corresponding movement. After the definition of a covering function C : V 2 F that returns the set of covered cells from a given pose v V (see Figure 2.13b), a solution S to the complete coverage path can be represented as an ordered sequence of vertices S = [v 1,..., v k ], such that v i V, i = 1,..., k and k i=1c(v i ) = F.

50 34 CHAPTER 2. STATE OF THE ART (a) (b) Figure 2.13: In Figure 2.13a a movement graph obtained from a 9 x 9 grid, with α {0, π, π, 3 π}. In Figure 2.13b an example of covering function with 2 2 r = 5 and θ = π [24]. 2 The cost of a tour S is the sum of the travelling times and the sensing times: k k d(v i, v i+1 ) + T (v i ), (2.25) i=1 i=1 where d(v, v ) is the least cost for moving from v to v on G. Computing the solution Once the movement graph is built, the next step is to compute the optimal solution (the optimal tour) that minimizes the cost function described in Equation (2.25). The authors of [24] propose to use the GRASP method, that has the advantage of finding a good solution - but not the optimal one - in a reasonable amount of time. Seeing the pseudocode of the GRASP algorithm in Algorithm 1, we can note what are the main steps for computing a good solution to the complete coverage problem: (i) a possible solution is generated exploiting a greedy strategy, (ii) the solution is improved by a local search, and (iii) the solution is being checked if it is or not the best solution found so far. More precisely, the GreedyRandomSolution generates the possible

51 2.4. COMPLETE COVERAGE PROBLEM 35 Algorithm 1 GRASP 1: function GRASP(L) 2: while stopping criterion not satisfied do 3: S init GreedyRandomizedSolution(L) 4: S local LocalSearch(S init ) 5: S incumbent UpdateIncumbent(S local ) 6: return S incumbent solution S init, by selecting randomly, at each iteration, one of the best L vertices. where: The best L vertices are obtained in the following way: argmax v / S init C(v)/C i d(v i, v), (2.26) d(v i, v) is the distance between the vertex v and the last vertex v i of S init ; C(v)/C i is the number of newly covered vertices if the robot moves to v, taking into account the range of robot s covering tool. The second procedure, i.e., the local search, is composed by two phases: an exchange phase and a removal phase. During the exchange phase, the local search tries to substitute a vertex v S init with a vertex v V but not in S init. Among all the possible substitutions, it is selected the one that minimizes the tour cost. In the second phase, i.e., the removal phase, the algorithm tries to remove some vertices keeping the solution feasible. At each iteration, among all the possible removals, it is selected the one that minimizes the path tour, until a local optimum has been reached Wavefront algorithm In [44] it is presented an approach for resolving the complete coverage problem, based upon an extension to the path transform.

52 36 CHAPTER 2. STATE OF THE ART First we introduce the concept of distance transform, an approach used for computing all the paths from an initial position to the goal, and then we describe the path transform method and how it can be modified for resolving the complete coverage problem. Distance transform path planning Given a grid representation of the environment, it computes the shortest path between two locations by propagating, from the goal cell, a distance wave through all free space grid cells in the environment (see Figure 2.14). From any starting location, the shortest path can be obtained following the steepest path of descent to the goal. Figure 2.14: Example of distance transform approach [44]. Path transform approach Differently from the previous method, this approach not only considers the minimal distance to the goal, but also includes some information about the proximity of obstacles. In fact, this approach extends the distance transform method, inverting it into an obstacle transform, where the obstacle cells become the goals. As a result, each free cell in the data structure contains the minimal distance from the centre of the free space cell to the boundary of an obstacle cell. Subsequently, a second distance transform is generated through free space from the goal location using a new cost function, indicated as path trans-

53 2.5. NAVIGATION 37 form (PT). Given a free space cell c, its path transform is defined as follows: P T (c) = min (length(p) + α obstacle(c i )), (2.27) p P c i P where: P is the set of all possible paths from the cell c to the goal; length(p) is the path length p to the goal; obstacle(c) is a cost function generated using the values of the obstacle transform. The shortest path to the goal cell is constructed by following the steepest path of descent, as the previous method. Also, it can be easily modified for solving the complete coverage problem in the following way: instead of following the steepest path of descent to the goal, the robot follows the steepest path of ascent, keeping track of the cells it has visited. In Figure 2.15 it is reported an example of path produced by this method, showing the values computed by the path transform function for each cell (Figure 2.15a), and the resulting path (Figure 2.15b). 2.5 Navigation Although a prior accurate knowledge of the environment, typically represented by a metrically consistent map, is needed for autonomous navigation, other approaches that rely on an inaccurate map, whose metrical description is not available, have been presented. For example, in [31] it is described an approach for performing autonomous navigation tasks, relying upon an inaccurate sketch floor map provided by human that cannot be used directly as a metric map, because: the map can be partially deformed, so that an uniform scale cannot be applied;

54 38 CHAPTER 2. STATE OF THE ART (a) (b) Figure 2.15: An application of path transform for computing a path, from S to G, that completely covers the environment [44]. some geometrical details, e.g., exact shapes of the walls, are not available, making it hard to match raw sensors readings with the map; information about obstacles, such as furnitures or pillars, are omitted. Taking into account these limitations, the authors of [31] represent the map as a topological map, i.e., a graph, for storing information about intersections, corners, or dead-ends in the corridors, and the adjacency between them. Then, the graph is used for navigation. Moreover, in [5, 7] it is presented an approach for performing autonomous navigation tasks, relying upon a hand-drawn sketch of indoor environments (see Figure 2.17), that uses an enhanced version of Monte Carlo localization together with hand-drawn maps. An example of hand-drawn map can be

55 2.5. NAVIGATION 39 Figure 2.16: An example of sketch floor map [31]. seen in Figure More precisely, their approach needs of: (i) an hand-drawn map with topological consistency and small deformations and (ii) a navigation path provided by the user. Making this assumption, they based their work in finding a metric conversion between the real world and the hand-drawn map, in order to match the measurements with the map. Figure 2.17: An example of hand-drawn map [5].

56

57 Chapter 3 Problem definition In this chapter we define formally the problem addressed in this work, starting from describing the exploration problem. After that, in the next chapter we present our solution to the problem. 3.1 The exploration problem Exploration is one of the principal tasks that can be accomplished by autonomous mobile robots: a robot placed in an initially unknown environment has to build a map representing the position of obstacles, such as walls, chairs, tables and so on. Moreover, the robot must know how to choose the next location to reach for exploring the environment in an efficient way. This is done by developing an exploration strategy that indicates what is the next location where the robot should go, helping it to increment the knowledge about the environment. Most of the exploration strategies presented in the literature, and also those explained in Section 2.3, evaluate several candidate locations for selecting the best one without using a priori information about the environment. For example, the method of Gonzáles-Baños and Latombe [14] explained in Section 2.3.1, evaluates each candidate location estimating the amount of potentially visible area by the robot located in that position, relying only on the partial map built by the robot. 41

58 42 CHAPTER 3. PROBLEM DEFINITION There are other examples of strategies that don t use a priori information, like that described in Section where the locations are evaluated considering the travelling cost, the expected information gain, and the expected overlap, all of those are evaluated relying only the map built by the robot and without exploiting any a priori information [3]. Although exploration strategies that exploit a priori information exist, some of them are classified as off-line algorithms. An off-line exploration strategy computes the path that the robot has to follow for exploring the environment knowing it. Off-line exploration strategies assume to have an accurate knowledge of the environment [24, 44], like those described in Section 2.4. This makes their use in some situations more difficult, especially if the knowledge of the environment is not accurate. The purposes of this thesis are to study and implement an on-line exploration strategy that exploits an inaccurate knowledge of the environment known a priori, and verify if the use of this knowledge improves the performance of the exploration system. More specifically, we propose a multicriteria exploration strategy that exploits the information obtainable from a floor plan of the environment. Typically, the exploration process can be described by the following operations: 1. the selection of the next observation location according to an exploration strategy; 2. the reaching of the observation location computed in previous step. Generally, this step requires the calling of a specific component for computing and following a path, that goes from the robot s current pose to the chosen location; 3. the acquisition of a partial map from the observation location, using data coming from the robot s sensors; 4. the integration of the partial map within the global map. All the operations explained above are illustrated in Figure 3.1.

59 3.1. THE EXPLORATION PROBLEM 43 Figure 3.1: Main steps of exploration process. During the selection of next observation location, a multi-criteria exploration strategy evaluates each candidate location taking into account several criteria. Some examples of criteria could be: the distance from the current position of the robot to the location considered; the information gain that estimates the amount of area visible by the robot from that location; the accuracy of the localization of the robot; the amount of battery needed to reach the candidate location. The selection of next observation location by a multi-criteria exploration strategy is done by following several steps. The first step is the generation of candidate locations, in which the strategy, starting from the partial map built by the robot, generates several location on the map which are evaluated. The second step is the evaluation of each candidate locations, in which each location is evaluated, first computing the utility value associated to each

60 44 CHAPTER 3. PROBLEM DEFINITION criterion, and then aggregating them into one aggregate value through a global utility function. Finally, the last step is done by selecting the best candidate location that is the one that has the highest global utility value. All the steps are reported in Figure 3.2. Figure 3.2: Main steps of selection of next observation location. More formally, we can describe a multi-criteria exploration strategy in the following way. Given: a set of candidate locations C; the set of n criteria labelled as N = {1, 2,..., n}; the set of utility values associated with a candidate location p as u p = (u 1 (p), u 2 (p),..., u n (p)), where u i denotes the utility value of p with respect to criterion i N;

61 3.2. GOALS 45 an utility function u(p) = f(u p ) = f(u 1 (p), u 2 (p),..., u n (p)) that combines together all utility values in one aggregated value. The problem of selecting the next best candidate location p can be formulated as follows: 3.2 Goals p = argmax u(p). (3.1) p C The purpose of this work is to propose a new approach for evaluating each candidate location. We aim to present a multi-criteria exploration strategy enriched by information obtainable from a floor plan of the environment to visit. More precisely, we aim to: identify which are the types of information that can be retrieved from the floor plan; discover how to integrate the information identified in the previous step into the evaluation of candidate locations; check whether the exploitation of information from the floor plan leads to an improvement of performance of the exploration system.

62

63 Chapter 4 Problem solution In this chapter we present our solution to the problem described in Chapter 3. Before explaining conceptually our solution, we list some important assumptions that form the basis of our work. 4.1 Assumptions Environments The first important assumptions we make are about the environments. In our work, we consider only indoor environments formed of a single floor, and we assume that the area to explore is limited by the presence of obstacles. Moreover, we assume that the environment is static, namely it doesn t change during the exploration process. Robot Other important assumptions we make are about the robot. In our work, we assume to known accurately the initial position and orientation of the robot. During the exploration process the robot is free to move in the free space of the environment, perceiving the surrounding free space and boundaries of obstacles with limited range sensors, such as laser scanners, whose range is r. Moreover, the robot maintains and updates a map of the environment 47

64 48 CHAPTER 4. PROBLEM SOLUTION discovered so far represented as occupancy grid, indicated with E, whose resolution is fixed. We assume that each cell c E is described by means of coordinates and membership class, namely by a tuple x p, y p, class where class { Open, Occupied, Unknown }, and (x p, y p ) indicates the coordinates of the center of cell c, with respect to the reference system with the origin in the bottom-left cell of the map. Finally, the current position of the robot is described by q E, indicating the cell in which the robot is located. Floor plan The last important assumption we make is about the floor plan and how it is represented. We assume to know a priori the floor plan of the environment to explore, in which it is reported the presence of walls while other obstacles are omitted. We assume that the floor plan is metrically consistent so that its proportions reflect the real proportions of the environment, without the presence of any deformation. Assuming to have a floor plan represented as a bitmap image, it must be in black and white, where the free space is represented in white, and the obstacles in black. An example of floor plan used in our experiments is reported in Figure 4.1a. Moreover, assuming to know: the scale, that correlates its dimensions with the real dimensions of the environment; the initial position and orientation of the robot reported on the floor plan; we indicate with FP the rescaled and aligned version of the floor plan with respect to E, represented as occupancy grid, with the same resolution of E. The conversion from bitmap image to an occupancy grid can be easily done by considering each pixel as a cell, whose class is determined by the pixel s colour. Trivially, a white pixel corresponds to an Open cell, and a black pixel corresponds to an Occupied cell.

65 4.1. ASSUMPTIONS 49 We make this set of assumptions only to lighten the development of our exploration system. Although these assumptions seem to be significant, there are some approaches described in the literature that overcome these limitations. For example, the authors of [5] propose an approach for estimating the scale between a hand-drawn map and a map built by the robot, and for localizing the robot on the hand-drawn map. This, if integrated with our exploration system, allows us to use our method in a real scenario, where the metric conversion between the floor plan and the environment and the initial position of the robot are unknown. Figure 4.1 reports: an example of floor plan used in our experiments (Figure 4.1a), a complete map built by the robot (Figure 4.1b), and the corresponding rescaled and aligned version of the floor plan overlapped over the environment s map (Figure 4.1c). (a) (b) (c) Figure 4.1: An example of floor plan (Figure 4.1a), a map as perceived by the robot (Figure 4.1b), and an overlay of the floor plan over the map (Figure 4.1c).

66 50 CHAPTER 4. PROBLEM SOLUTION 4.2 Our solution We propose a solution to the exploration problem described in Chapter 3, as a multi-criteria exploration strategy that extends the version of the frontierbased strategy presented in [43] and described in Section We consider our method an extension of it because both strategies rely on the concept of frontiers, namely the regions on the boundary between open and unexplored space, and both use the same representation of the environment. But, differently from the method of [43], that selects the nearest frontier as next observation location, we aim to evaluate each candidate frontier using different criteria, aggregating them in only one value through a global utility function. Algorithm 2 SELECTION NEXT OBSERVATION LOCATION 1: function SelectNextObservationLocation(E, FP, q, α) 2: F DetectFrontiers(E, q) 3: C GenerateCandidateLocations(F ) 4: U EvaluateCandidateLocations(C, q, E, FP, α) 5: p SelectBestLocation(U) 6: return p The solution we developed is described in Algorithm 2, whose goal is to select the next observation location, given: the partial map of the environment E built by the robot, represented as an occupancy grid map; the rescaled and aligned floor plan of the environment FP, represented as an occupancy grid map with the same resolution of E; the current position of the robot q, indicating the cell of E where the robot is located; a parameter α, used during the evaluation of each candidate location. We can summarize the algorithm in four main steps, that are:

67 4.2. OUR SOLUTION the detection of frontiers on the partial map of the environment; 2. the generation of candidate locations from the frontiers detected; 3. the evaluation of each candidate location generated from the previous step; 4. the selection of the best candidate location Detection of frontiers The detection of frontiers is done in the same way as the frontier-based exploration strategy described in Section First, all the reachable frontier edge cells are detected from the occupancy grid map of the environment, and then the adjacent frontier edge cells are grouped together in frontiers. For implementing this behaviour (see Algorithm 3), we define a function called DetectFrontiers that takes as parameters the map of the environment represented as occupancy grid, the current position of the robot and returns the list of frontiers detected. The first step of the algorithm is the detection of frontier edge cells: each cell belonging to the occupancy grid E, if it is an Open cell adjacent to an Unknown cell and it is reachable from the robot s current position, then it is added to the set of frontier edge cells F. The reachability constraints between q and a cell c E is checked through the function IsReachable. It returns a value {T rue, F alse} stating if it exists a sequence of 4-connected Open cells that go from q to c. We can state that two cells are 4-connected if they have one edge in common. Finally, all the adjacent frontier edge cells detected in the first step are grouped together in frontiers, labelled as F, where each element is an ordered list of cells. In Figure 4.2 it is illustrated an example of frontiers detection. More precisely, in Figure 4.2a, an enlarged part of the occupancy grid map built by the robot, in which we the membership class of each cell (in white the

68 52 CHAPTER 4. PROBLEM SOLUTION Algorithm 3 DETECTION OF FRONTIERS 1: function DetectFrontiers(E, q) 2: F {} 3: for all cell E do 4: if IsFrontierEdgeCell(E, cell) then 5: if IsReachable(E, cell, q) then 6: F F {cell} 7: F MergeInFrontiers(F ) 8: return F (a) (b) Figure 4.2: In Figure 4.2a an enlarged part of the map. In Figure 4.2b the frontier detected shown in yellow. Open cells, i.e., the space free of obstacles; in black the Occupied cells, i.e., the boundary of obstacles; and in grey the Unknown cells that indicate the unexplored area) is reported. In Figure 4.2b, the corresponding frontier detected is shown in yellow Generation of candidate locations The second operation is related to the generation of candidate locations, with the definition of a function that takes as argument the set of frontiers F. The algorithm described in Algorithm 4 simply computes the middle point of each frontier f F, namely the cell c f that divides the frontier f in two frontiers of the same length.

69 4.2. OUR SOLUTION 53 An example of candidate location generated from a detected frontier is shown in Figure 4.3. Algorithm 4 GENERATION OF CANDIDATE LOCATIONS 1: function GenerateCandidateLocation(F ) 2: C {} 3: for all f F do 4: p ComputeMiddlePoint(f) 5: C C {p} 6: return C (a) (b) Figure 4.3: In Figure 4.3a the frontier reported on the map in yellow. In Figure 4.3b the corresponding candidate location p generated Evaluation of candidate locations The third step is the evaluation of candidate locations. It is done by the function EvaluateCandidateLocations that takes as arguments the candidate locations C, the current position of the robot q, the map of the environment E, the floor plan FP, and a parameter α. It returns the set of utility values, denoted by U, in which each element u U is described by a tuple p, u(p), where p is a candidate location of C and u(p) its utility value.

70 54 CHAPTER 4. PROBLEM SOLUTION A piece of information that can be retrieved from the floor plan is the amount of visible area from a candidate location. Moreover, since only one criterion is not enough to evaluate the goodness of a candidate location, specially in the case where the location with the highest amount of visible is the furthest, we need to weigh the information about the visible area with the effort that the robot has to accomplish in order to reach the selected location. For measuring it, we decide to taking into account the distance that the robot has to travel in order to reach such location. Summarizing, we chose to evaluate each candidate location taking into account the following criteria: the distance between the current position of robot and the candidate location; the information gain that measures the amount of unexplored area visible from the candidate location. More precisely, given a set of n candidate locations C = {p 1, p 2,..., p n } and the robot s current position q, the evaluation of a candidate location p C is computed through the following global utility function: u(p) = α d(p) + (1 α) ĩ(p), (4.1) where: α [0, 1]. It is a value that weighs the distance s utility value with respect to the utility value of the information gain. A lower value gives more importance to the utility value of the information gain and, likewise, a higher value gives more importance to the utility value of the distance; d(p) is the normalized measure of the distance between the location p and the current position of the robot q. It is computed as: d(p) = d max d(p, q) d max, (4.2)

71 4.2. OUR SOLUTION 55 where d(p, q) is the Euclidean distance between the candidate location p = (x p, y p ) and the robot s current position q = (x q, y q ), specifically: d(p, q) = (x p x q ) 2 + (y p y q ) 2, (4.3) and d max the distance of the furthest location, that is: d max = max d(p, q); (4.4) p C ĩ(p) is the normalized measure of the information gain of candidate location p. It is computed as: ĩ(c i ) = i(p) i max, (4.5) where i(p) is the information gain of p and i max is the maximum information gain among all the candidate locations, that is: i max = max i(p). (4.6) p C Now we provide the details of how the information gain is estimated. Computing the information gain This criterion estimates the amount of unexplored area visible from a candidate location p. For evaluating its utility value, we aim to exploit the information obtainable from the floor plan of the environment, known before the exploration process. In this section we explain how to estimate the information gain relying only upon the map of the environment built by the robot, and then we describe how the estimate can be improved by integrating some information obtainable from the floor plan. But first, we need to introduce a function that will be useful for explaining how it is made the estimate of the information gain.

72 56 CHAPTER 4. PROBLEM SOLUTION Visibility function This function aims to evaluate if a target cell can be seen by the robot s sensor located in a given location. For this purpose, we define a function, labelled as IsVisible, that given: a map M of the environment represented as occupancy grid map; a candidate location p; a cell c M; the range r of the robot s sensor. It returns a value v {True, False}, stating if the center of cell c could be visible from the candidate location p in which the robot is located. Algorithm 5 VISIBILITY FUNCTION 1: function IsVisible(M, p, c, r) 2: (x p, y p ) CoordinatesOf(p) 3: (x c, y c ) CoordinatesOf(c) 4: distance EuclideanDistance(x p, y p, x c, y c ) 5: if distance r then 6: Los LineOfSight(M, p, c) 7: for all c Los do 8: if c is Occupied then 9: return F alse 10: return T rue 11: else 12: return F alse The algorithm is shown in Algorithm 5. First of all, it is checked if the range of robot s sensor is enough to allow the robot to see the cell c from p, computing the Euclidean distance between location p and the center of cell c. Subsequently, it is checked that there isn t any obstacle that prevents the robot to see the cell c from p. For doing this, we define a function LineOfSight that returns the sorted set of cells Los M, inside the line of sight between the location p and the center of cell c. Finally, if c Los c is Occupied, then IsVisible returns True, otherwise False.

73 4.2. OUR SOLUTION 57 Figure 4.4: The line of sight computed between location p and the cell c coloured in red. For example, in Figure 4.4, we report the subset Los, coloured in light blue, computed by the function LineOfSight between the location p and the cell c coloured in red. Estimate without floor plan The purpose is to estimate the amount of unexplored area visible from a candidate location p C, namely the number of cells potentially visible from p, whose membership class is Unknown. Algorithm 6 INFORMATION GAIN ESTIMATE WITHOUT FLOOR PLAN 1: function ComputeInformationGain(E, p, r) 2: IG {} 3: for all c E do 4: if c is Unknown IsVisible(E, p, c, r) then 5: IG IG {c} 6: return #IG In Algorithm 6 we can see how the algorithms works. The first step is the construction of a set IG E, containing all the cells, whose membership class is Unknown, that are visible from candidate location p and inside the field of view of the robot s sensor, whose range is limited to r. Specifically, a cell c E is added to the set IG if:

74 58 CHAPTER 4. PROBLEM SOLUTION its membership class is Unknown ; it is visible by the robot s sensor from location p, considering the range of the robot s sensor limited to r and the obstacles reported in E. Finally, is returned the cardinality of IG, that is the number of its elements. (a) (b) Figure 4.5: In Figure 4.5a, an enlarged part of occupancy grid map built by the robot and a candidate location p. In Figure 4.5b, the estimate of information gain computed from p. In red the field of view of the robot s sensor, whose range is r. In Figure 4.5 it is illustrated an example of information gain estimate. More precisely, in Figure 4.5a, an enlarged part of occupancy grid map built by the robot and a candidate position p are shown. In Figure 4.5b, shown in light blue, the set of cells IG constructed from the candidate point p is reported. Also, circled in red, the field of view of the robot s sensor, indicating with r its range. Estimate with floor plan The information gain estimate with the floor plan is computed exploiting the information on obstacles reported in the floor plan. We can see the algorithm reported in Algorithm 7 that is similar to the previous one with some additions. Also in this case, we construct a set

75 4.2. OUR SOLUTION 59 Algorithm 7 INFORMATION GAIN ESTIMATE WITH FLOOR PLAN 1: function ComputeInformationGain(E, FP, p, q, r) 2: IG {} 3: for all c E E do 4: if c is Unknown IsVisible(E, p, c) then 5: c FP CellOnFloorPlan(FP, c E ) 6: p FP CellOnFloorPlan(FP, p) 7: if c FP is not Occupied IsVisible(FP, p FP, c F P ) then 8: IG IG {c} 9: return #IG IG E, containing all the cells, whose membership class is Unknown, that are visible from candidate location p, considering not only the obstacles reported in the environment s map E, but also the ones in the floor plan FP. More precisely, given: a cell c E E and its correspondent cell c FP FP; a candidate location p and its correspondent position p FP reported on the floor plan; the cell c E is added to IG if: the membership class of c E Occupied ; is Unknown and the one of c FP is not the cell c E is visible by the robot s sensor from location p, considering the obstacles reported in E; the cell c FP is visible by the robot s sensor from location p FP, considering obstacles reported in FP. Finally, the estimate of the information gain is returned, that is the cardinality of IG. In Figure 4.6d it is reported an example of IG set, coloured in light blue, considering the overlay of the floor plan reported in Figure 4.6b over the map illustrated in Figure 4.6a. For sake of clarity, we didn t report the Open cells of the floor plan in the overlapping shown in Figure 4.6c.

76 60 CHAPTER 4. PROBLEM SOLUTION (a) The map (b) The floor plan (c) The overlapping between them (d) The estimate of the information gain Figure 4.6: An example of estimate of the information gain with floor plan from the candidate location p. Circled in red the field of view of the robot s sensor, whose range is r Selection of best location The selection of the best location is done through the function SelectBest- Location. It takes as parameter a set U in which each element is described by a tuple p, u(p), where p is a candidate location and u(p) is its utility value. Finally, it returns the best location p. The candidate location that has the maximum utility value is selected as the best one, that is: p = argmax u(p). (4.7) p U

77 4.3. EXAMPLE OF SELECTION OF NEXT OBSERVATION LOCATION61 The corresponding algorithm is shown in Algorithm 8. Algorithm 8 SELECTION OF BEST LOCATION 1: function SelectBestLocation(U) 2: p NULL 3: u(p ) 4: for all p, u(p) U do 5: if u(p) > u(p ) then 6: p p 7: u(p ) u(p) 8: return p 4.3 Example of selection of next observation location In this section we report a step-by-step example of selection of next observation location, given a partial map built by the robot illustrated in Figure 4.7a where it is reported the current position of the robot q. The first steps are the detection of frontiers and generation of candidate locations, that are described in detail in Sections and The result of these steps can be seen in Figure 4.7, in which the three frontiers, coloured in yellow, with their corresponding candidate locations p 1, p 2, and p 3 are reported. The coordinates of the candidate locations detected are reported in Table 4.1 considering the bottom-left cell of the map as the origin of the reference system, whose coordinates are (0, 0). Location Coordinates q (14, 11) p 1 (19, 8) p 2 (19, 16) p 3 (6, 16) Table 4.1: Coordinates of each location reported in Figure 4.7b.

78 62 CHAPTER 4. PROBLEM SOLUTION (a) The map (b) The candidate locations Figure 4.7: The frontiers detected and the corresponding candidate positions generated. Once the candidate locations are generated, the next step is the evaluation of each candidate location computing its global utility value as described in Section The normalized utility value of the distance d(p) with respect to candidate location p is evaluated, first computing the Euclidean distance between the robot s current position q and the candidate location considered, indicated as d(p, q), and then normalizing it with respect to the maximum Euclidean distance as reported in Equation (4.2). The utility values of the distance and the corresponding normalized values are reported in Table 4.2. Candidate location p d(p, q) d(p) p p p Table 4.2: Normalized utility values of the distance of each location reported in Figure 4.7b. Now we have to compute the normalized utility value of the information gain ĩ(p) for each candidate location p. The normalized information gain is evaluated, first computing the amount of area visible from the candidate

79 4.3. EXAMPLE OF SELECTION OF NEXT LOCATION 63 location considering the overlay of the floor plan over the map built by the robot, indicated as i(p), and then normalizing it with respect to the maximum information gain as reported in Equation (4.5). The information gain computed for each candidate position can be seen in Figure 4.8d, where the corresponding i(p) for a candidate location p is the number of light blue cells. Furthermore, the normalized utility value of the information gain for each candidate location is reported in Table 4.3. (a) The map (b) The floor plan (c) The overlapping between them (d) The estimate of the information gain Figure 4.8: The estimate of the information gain computed considering the overlay of the floor plan over the map, the candidate location, and the robot s current position. Circled in red the field of view of the robot s sensor.

80 64 CHAPTER 4. PROBLEM SOLUTION Candidate location p i(p) ĩ(p) p p p Table 4.3: Normalized utility values of the information gain of each location reported in Figure 4.7b. Then the global utility value for all the candidate locations is computed combining the normalized utility values of distance and information gain in one aggregate value as reported in Equation (4.1). Considering α = 0.5, the global utility values for each candidate location is reported in Table 4.4. Candidate location p d(p) ĩ(p) u(p) p p p Table 4.4: The global utility values of candidate locations (α = 0.5). Finally, the next observation location is the best one among all the candidate locations, namely the one that has the highest global utility value. In this case the candidate location p 2 is selected as the next observation location.

81 Chapter 5 Implementation In this chapter we describe the implementation of the solution presented in Chapter 4. We start illustrating the software frameworks used for developing our solution, and then we describe the architecture of our system. 5.1 Software frameworks There are several software components that we have used to carry out the work of this thesis. Now we proceed to explain the main ones. ROS The Robot Operating System (ROS) is a flexible framework for writing robot software [23, 25]. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behaviour across a wide variety of robotic platforms. Gazebo simulator Gazebo is a 3D robotic simulator, that offers the ability to simulate robots in complex indoor and outdoor environments [13]. For our purpose, it has been used for testing our exploration strategy without making the deployment on a real robot. 65

82 66 CHAPTER 5. IMPLEMENTATION ROS: Robot Operating System Robot Operating System (ROS) is a flexible framework for the development of robot s software, providing a structured communications layer above the host operating systems of a heterogeneous compute cluster [23, 25]. Writing software for robots can be complex, since different types of robots can be very different in terms of software, hardware, and required functionalities. These differences, especially regarding software, make the reuse of code difficult. ROS is designed for overcoming these problems, facilitating the development of the robot s software. The main characteristics of ROS are: 1. ROS is peer-to-peer. ROS is built for running processes in a peer-to-peer topology, namely on a number of different hosts; 2. ROS is multi-lingual. ROS is designed to be language-neutral, supporting four different languages: C++, Python, Octave, and LISP. In this way, users are not forced to develop using only one programming language, but they can use more than one, depending on their preferences; 3. ROS is free and open-source. The full source code of ROS is publicly available. ROS is built on concepts of nodes, messages, topics, and services. As said before, ROS enables to run processes possibly on different hosts, where each process is represented as a node. This term is being used because, at runtime, it is convenient to visualize the network of peer-to-peer connections as a graph, in which the processes are rendered as a graph node, and the arcs are the connections. Moreover, nodes communicate with each other by exchanging messages with a publish/subscribe mechanism. A message is a typed data structure, whose fields can be primitive types (integer, boolean, floating point, etc.), arrays of primitive types, and constants. But also, it can be composed of other messages, and arrays of them. A node can send messages by publishing it to a given topic that is nothing more than a simple string, such as odometry or map. Multiple nodes

83 5.1. SOFTWARE FRAMEWORKS 67 can publish messages on the same topic, and also one node can subscribe to multiple topics. Furthermore, the dispatcher node is known as ROS Master, and it allows nodes to find and talk to each other. A service is another type of communication between nodes. It is defined by a string name and a pair of messages, one for the request and one for the reply. The ROS tools provide a set of different functionalities in order to facilitate and improve the development of software modules for robots. We give now an overview of some of these tools and functionalities, some of them used for the development of our exploration system: logging and playback. Sometimes it is more convenient to work with logged data, especially when researchers would like to make a comparison of various algorithms and simplify the experimental procedure. For this, ROS allows us to dump all messages to a log file, called rosbag, and re-use them back later; ROS packages. To support collaborative development, it is possible to organize the software modules into packages. A package is simply a directory which contains an XML file describing the package and stating any dependency; rviz. While executing robotics software, is useful to observe the state of the robotic system. rviz is a visualization software distributed with ROS, that helps the developer to have an overview of the running system, allowing a visualization of data published over ROS topics. For the purpose of this work, it has been used for having a 2D representation of some important information about the current state of our exploration system, such as the map built by the robot, the robot s current position over the map, the frontiers detected, and the estimate of the information gain; transformations. Often it is necessary to track spatial relationships in a robotic system, for example between a mobile robot and some fixed

84 68 CHAPTER 5. IMPLEMENTATION frames for localization, or between sensor and manipulator frames. For this purpose, ROS provides a transformation system able to construct a dynamic transformation tree, which keeps track of all the spatial relationships between frames in the system. In this way, the system can compute a transformation between two frames only navigating the transformation tree, constructing a path and performing the necessary calculations Gazebo simulator Gazebo is a 3D robotic simulator of complex indoor and outdoor environments [13]. It allows to test our exploration strategy using a realistic scenario, simulating indoor environments and a virtual robot which is capable of executing motion commands received by the exploration system. Figure 5.1: An environment built with Gazebo. It provides some useful tools for creating the environment used for simulations and for adding to it some 3D models of objects of daily use, such as

85 5.1. SOFTWARE FRAMEWORKS 69 chairs, table, shelves and so on. It also offers the possibility to import other 3D models created with modelling software. This allow us to build realistic environments, such as that illustrated in Figure 5.1. In the next section we describe the virtual model of the robot used in our simulations, illustrating the main characteristics of it. Robot model We chose to test our exploration strategy by simulating a virtual model of a Turtlebot robot. It is a low-cost personal robot with open-source software, depicted in Figure 5.2. Figure 5.2: A Turtlebot robot. In our case, in order to be able to perform correctly the simulations in our environments, the robot model considered is equipped by some sensors. The first is a Hokuyo UTM-30LX-EW laser scanner that, publishing data over the /scan topic, allows the robot to build the map of the environment. It is able to detect obstacles in a wider field of view up to a distance of 30 m in a 180 arc (0.25 angular resolution). Note that this type of laser scanner has a 2D perception of the environment and allows the robot to detect only the boundary of obstacles at the sensor s height. Moreover, for detecting obstacles that the laser scanner can t see, and for allowing the robot to correctly avoiding them, the robot is equipped with the Microsoft Kinect device, an acquisition system that integrates a RGB

86 70 CHAPTER 5. IMPLEMENTATION camera with a depth camera allowing the robot to have a 3D perception of the environment. 5.2 Setting the navigation stack The navigation stack is the collection of software modules that are being used to make the robot autonomous. At a conceptual level, it takes information from odometry and sensors, elaborates them for accomplishing several tasks, such as localization, mapping and navigation, and sends motion commands to the robot. Figure 5.3: An overview of our navigation stack implementation. In Figure 5.3 we can see an overview of our navigation stack implementation, displaying the main packages of ROS we used (in yellow), and other components related to the robot platform (in green). Since all our work was done using a environment simulator, the components related to the robot

87 5.2. SETTING THE NAVIGATION STACK 71 platform are provided by Gazebo. Moreover, the possibly published topics are shown in quotes Ros packages Gmapping This package provides a laser-based SLAM accomplishing a dual function [26]: 1. the generation of a map of the environment, elaborating data coming from the robot s laser scanner; 2. the localization of robot within the map built by the robot. The map generated is an occupancy grid map published over the /map, represented as a collection of cells, each of them with a value indicating the probability of presence of an obstacle in that position. The values are in the range [0,100], and defining a threshold value it is possible to determine the membership class of each cell. The cells whose value is less than the threshold value are classified as Open, otherwise are classified as Occupied. In the case of the value of a cell is -1, the cell is classified as Unknown. Nav2d-Exploration The Nav2d-Exploration package, which we refer to as exploration package, provides different strategies for the exploration task of unknown environments, and it is also the main package we modified for implementing our exploration strategy [28]. Whenever it is called by the navigator package, it takes the actual map of the environment, computes all the candidate locations (see Section 4.2.2), and sends back the next observation location to reach according to the exploration strategy used. Nav2d-Navigator The Nav2d-Navigator package, which we refer to as navigator package, provides a node for navigation of a mobile robot in a planar environment, imple-

88 72 CHAPTER 5. IMPLEMENTATION menting a path planner for creating a path from the robot s current position to a target location [29]. Figure 5.4: The main steps of the exploration task seen from the point of view of the navigator package. Let s suppose that the robot has to explore an unknown environment, the main steps that the navigator package has to accomplished are the following (see Figure 5.4): 1. first of all, it has to communicate with the exploration package for obtaining the next observation location, namely the position where the

89 5.2. SETTING THE NAVIGATION STACK 73 robot should go. The information received by the exploration node includes the robot s current position and the partial map of the environment; 2. if the next observation location has been found, it calls the path planner for creating a path from the robot s current position to the target location, and it sends the appropriate motion commands to the operator package. The request of the next observation location is repeated at each time interval specified by the user until the exploration finishes. More details about the parameters setting is explained in the next Chapter. Nav2d-Operator The Nav2d-Operator package, which we refer to as operator package, implements an obstacle avoidance module for mobile robots moving in a planar environment [30]. It takes motion commands from the navigator package and outputs control commands to the robot hardware avoiding obstacles in front of the robot. For the obstacle avoidance module, it creates a local costmap taking data coming from robot s sensors. A costmap is an occupancy grid map that stores information about obstacles near to the robot, usually inflating them with an user specified inflation radius. Looking at the Figure 5.5, we can have an idea of what a costmap consists: the violet cells represent the obstacles in the costmap, the light blue and violet cells that surround the obstacles represent obstacles inflated by an user specified value. For avoiding obstacles, the center point of the robot should never cross the light blue region.

90 74 CHAPTER 5. IMPLEMENTATION Figure 5.5: An example of a partial map and a local costmap seen from rviz. The violet cells represent the obstacles in the costmap, the light blue and violet cells that surround the obstacles represent obstacles inflated by an user specified value. 5.3 System architecture In this section we explain how we implemented the solution proposed in Chapter 4, describing the architecture of our system and illustrating the main components integrated in the exploration package for implementing our exploration strategy. From Figure 5.6 we can see what are the main components of our exploration system. Whenever the navigator node needs the next observation location that the robot has to reach, it makes a request to the exploration node in charge of detecting the frontiers, generating the candidate locations, evaluating them, and selecting the best one. The information that the exploration node receives from the navigator node are the map of the environment built by the robot and the current position of the robot. Since the prior information of the environment (the floor plan) is represent as a bitmap image, it needs to be converted in an occupancy grid map before using it. This is done by a special node provided by ROS, called

91 5.3. SYSTEM ARCHITECTURE 75 Figure 5.6: System architecture. map_server, that is able to convert the image into an occupancy grid map publishing it over a specified topic. Other parameters, such as the constant value α used during the evaluation of each candidate location and the range r of the robot s sensor (see Sections 4.1 and 4.2.3), are retrieved from a parameter file. Finally, we give an overview of the main classes developed that constitute the exploration node. From Figure 5.7 we can see which are the main classes we developed, that are: the FloorPlan class. It accomplishes the task of maintaining the state of prior information about the environment (the floor plan), published by the map_server node. It provides a method for retrieving the occupancy grid of the floor plan; the Frontier class. Each instance of this class maintains the representation of a frontier detected, storing the list of frontier edge cells that belong to it and generating the corresponding candidate location (see Section 4.2). It also provides methods for computing the global utility

92 76 CHAPTER 5. IMPLEMENTATION Figure 5.7: Class diagram of the exploration node. value with respect to the candidate location, including the computation of the normalized utility values of the distance and information gain; the Exploration class. This is the main class of the exploration node, in charge of computing the next observation location whenever requested by the navigator package.

93 Chapter 6 Experimental results In this chapter we present the experiments performed in order to evaluate our exploration strategy. We start by explaining what types of data are collected during the explorations and by showing the environments used for the simulated experiments. Then, we describe how our approach is evaluated. Finally, we illustrate the results obtained. 6.1 Evaluation tools In this section we describe the data collected during the explorations in order to evaluate the performance of our exploration strategy, and then we describe the environments used Log data For evaluation purposes, we have to keep track of data logged by the robot during each simulated experiment. Each record of logged data is characterized by: the exploration time. The amount of time spent from the beginning of the exploration process. The measure is expressed in seconds; the coverage. The amount of explored area by the robot, expressed in terms of number of cells explored. The measure is then converted into 77

94 78 CHAPTER 6. EXPERIMENTAL RESULTS percentage over the total area; the distance travelled. The total distance travelled by the robot from the initial position to the current position. It is measured in meters Environments The evaluation is done by simulating our exploration strategy in indoor environments with different characteristics, with the aim of testing it in different realistic scenarios. More precisely, the environments used for testing are: the basic environment. It represents a classic home environment consisting of a single floor of small size; the office environment. It represents a floor of an office building, with hallways and rooms of different sizes; the open environment. It is a wide environment without the presence of obstacles, with few rooms of different sizes. The floor plan of each environment is depicted in Figure 6.1, and the corresponding approximate dimensions are reported in Table 6.1. Environment Width Height Basic 19 m 10 m Office 90 m 53 m Open 57 m 45 m Table 6.1: The maximum width and height of each environment. Moreover, for each environment two different versions are used. In the first version, the environment is without furniture (empty), considering only its structure, namely its walls. In the second version, the environment is enriched with some furniture. The chosen furniture is coherent with the type of environment considered. For example, in the case of the basic environment, the furniture includes the common objects that can be seen in a home environment, e.g., couches, chairs, tables, beds, night stands, and so on, and,

95 6.1. EVALUATION TOOLS 79 (a) The basic environment (b) The office environment (c) The open environment Figure 6.1: The floor plans of environments used in our experiments.

96 80 CHAPTER 6. EXPERIMENTAL RESULTS in the case of office environment, the furniture used includes desks, tables, office chairs, shelves, and so on. 6.2 Parameters Before running our exploration runs, we need to set some parameters related to the main components that compose our exploration system. For the sake of brevity, we do not list all the parameters involved in the exploration process, but only the main ones. The main parameters set before the exploration process are: map resolution. This is the grid resolution of the map built by the robot, and it represents the size of each cell. In our experiments the resolution is set to 0.1, meaning that each cell has a size of 0.1 m x 0.1 m. A smaller value increases the precision of localization and map building, but a higher value requires a smaller computational effort; floor plan resolution. This is the grid resolution of the floor plan. Since, by assumption, the grid resolution of the floor plan is the same of the map, it is set to 0.1, namely each cell has a size of 0.1 m x 0.1 m; replanning period. The minimum period of time, expressed in seconds, that must elapse between two successive requests of next observation location. In our case is set to 3.0; laser scanner settings. The parameters that interest the laser scanner of the robot are several. Among them we can find: the horizontal field of view. It is set to 180 with an angular resolution of They are expressed in degrees; the maximum range. This value it is not fixed in every experiments, but we change the maximum range of the laser scanner according to the type of environment to explore. We give more details in the next sections.

97 6.2. PARAMETERS 81 Finally, a noise with a zero-mean and standard deviation set to 0.1 is applied to laser scanning Selection of α As explained in Section 4.2.3, the computation of the global utility value of each candidate location is dependent on the α parameter that weighs the normalized utility value of the distance with respect to the normalized utility value of the information gain. Intuitively, a lower value gives more importance to the utility value of the information gain, and a higher value gives more importance to the utility value of the distance. Since all the results we present in the chapter are obtained from exploration runs based on the same value for the α parameter, it is first of all necessary to select the most appropriate value of α Time [s] α Figure 6.2: Time needed for reaching 100 % of coverage.

98 82 CHAPTER 6. EXPERIMENTAL RESULTS Time [s] α Figure 6.3: Time needed for reaching 90 % of coverage. For selecting the α parameter, we decided to compare the performance of our exploration strategy with different α values. More specifically, we perform one exploration in the unfurnished basic environment, for each value of α going from 0.0 to 1.0 with a step of 0.1. Moreover, each exploration starts from the same initial position. Although the chosen environment is very small and the detected frontiers are few, the results obtained reflect what we expected. The results are reported in Figures 6.2 and 6.3 and we can see how the α parameter affects the performance of exploration system. First of all, we can note how the time needed for a complete exploration of the environment, namely to reach a coverage close to 100 %, decreases as α increases. This behaviour occurs because the robot, for a low value of α, tends to leave the frontiers with a low estimate of information gain unexplored,

99 6.3. EVALUATION PROCEDURE 83 and at the end of exploration the robot needs more time for completing the exploration, especially in the case of the last unexplored frontiers are far from each other. For example, as shown in Figure 6.3, we can see that an exploration run with a α = 0.0, in which the frontier with the highest value of information gain is selected as next observation location, requires 65 s more with respect to the exploration run with the highest value of α, i.e., with α = 1.0. Although the exploration runs with a high value of α tend to finish early, at the same time they require more time to reach high coverage values. For example, fixing a coverage value to 90 %, we can see in Figure 6.3 how the exploration run, with a value of α = 0.0, requires 78 s less for reaching the 90 % of explored area, with respect to the exploration run with a value of α = 1.0. Finally, considering also the small size of the environment to explore and the low number of exploration runs made for the comparison, we decided to chose a value of α equal to 0.5, giving an equal weight to the utility values of distance and information gain during the evaluation of each candidate location. This allow us to have an exploration strategy that does not require too much time to explore completely the environment and, at the same time, allows to obtain a good knowledge of the environment in a shorter time. 6.3 Evaluation procedure The purpose of our work is to evaluate the possible benefits that the use of a priori information can have on exploration. For this reason we make a comparison between our exploration strategy and a second version of it that differs in how the information gain is evaluated. More specifically: in our exploration strategy, the utility value of the information gain is evaluated with prior information (using the floor plan). We indicate it as with prior information ; in the second version, the utility value of the information gain is evaluated without prior information (or without the floor plan). We indi-

100 84 CHAPTER 6. EXPERIMENTAL RESULTS cated it as without prior information. For making the comparison we test each exploration strategy in every type of environment, making several exploration runs and evaluating the average growth trend of explored area with respect to time and distance travelled. This is done by reporting a graph illustrating the mean coverage as a function of time, and analysing the difference of distance travelled by the robot at high coverage percentages (70 %, 80 %, 90 %, and 95 %) between the two exploration strategies. Moreover, to verify data and prove the statistical difference between the approaches, we compute the statistical significance in one-way ANOVA for some values of coverage. 6.4 Results In this section we present the results obtained in our simulated explorations, reporting for each environment the amount of explored area as a function of time and distance travelled. We start from describing the result of our simulations in the basic environment, and then the remaining ones Basic environment The basic environment represents a home environment consisting of a single floor of small size. The evaluation in this environment is done by performing 10 exploration runs for each exploration strategy starting from the same initial position, and with a maximum range of the robot s sensor set to 10 m. The initial position of the robot is reported in Figure 6.4. Now, we present the results obtained in the basic environment without furniture, and then we move on with the results of the furnished one.

101 6.4. RESULTS 85 Figure 6.4: In red, the initial position of the robot for the basic environment. Without furniture In the unfurnished basic environment, our exploration strategy enriched with prior information proves to have a better performance with respect to the approach that doesn t use any prior information. This can be seen in Figure 6.5 in which we report the mean trend of the explored area with respect to time. As we can see, during most of the exploration, the strategy with prior information tends to explore the same amount of area in a shorter time if compared to the approach without prior information. A possible reason for this behaviour lies in the accuracy of the information gain estimate. Indeed, our strategy proves to have a better estimate of the information gain, resulting in a visible improvement of the performance of the system. This improvement is visible until reaching high coverage percentages. In fact, both approaches, when they exceeded the threshold of 97 % of coverage, have the same performance until the exploration is complete. This is due to to the fact that both approaches tend to leave behind several unexplored frontiers, with a low amount of information and far from each other requiring some time for the completion of the exploration task. Moreover, seeing the comparison between the two strategies reported in Figure 6.6 and Table 6.2, in which the distance travelled by the robot for each approach is reported, we can note how the use of prior information brings the robot to explore the environment travelling a shorter distance, with a

102 86 CHAPTER 6. EXPERIMENTAL RESULTS 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.5: The coverage of the unfurnished basic environment as a function of time. Coverage Without prior information With prior information Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.2: Comparison between the strategies in terms of distance travelled for the unfurnished basic environment. difference of 48 % for reaching the 80 % of coverage (p-value = ), and 20 % for reaching the 95 % (p-value = ).

103 6.4. RESULTS % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.6: Comparison between the strategies in terms of distance travelled for the basic unfurnished environment. Also, for each strategy the standard deviation is shown. With furniture Although the presence of furniture could worsen the accuracy of the information gain estimate, because there is no prior information about the arrangement of objects in the environment, our approach proves to have better performance with respect to the exploration strategy that does not use any prior information in the furnished basic environment. Seeing the Figure 6.7, reporting the amount of explored area as a function of time, we can note how our approach is able to discover a greater area in the same amount of time, during the most of exploration task until reaching a high value of coverage percentage. Also in this case, we can note that beyond a threshold of coverage, both approaches tend to have similar trends until the completion of exploration task for the same reason explained in the previous section, namely both approaches tend to leave behind several unexplored frontiers that are far from each other, involving a significant effort

104 88 CHAPTER 6. EXPERIMENTAL RESULTS 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.7: The coverage of the furnished basic environment as a function of time. for the completion of the exploration process. But, differently from before, this occurred slightly earlier, around the 95 % of coverage, due to the presence of some unreachable frontiers that reduce the maximum reachable coverage. We can note that, in this case, the maximum coverage achieved at the end of the exploration task is 96 %. On one side, seeing the comparison in terms of distance travelled by the robot between the two approaches reported in Figure 6.7 and Table 6.3, we can note how there is a visible difference of the distance travelled, especially in the cases of coverage percentages of 70 % and 80 %, leading the robot to travel a shorter distance with a gain of 49 % (p-value = ), and 50 % (p-value = ), respectively. On the other side, in the case of a coverage percentage of 95 % there is not a significant difference between

105 6.4. RESULTS % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.8: Comparison between the strategies in terms of distance travelled for the basic furnished environment. Also, for each strategy the standard deviation is shown. Coverage Without prior information With prior information Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.3: Comparison between strategies in terms of distance travelled for the furnished basic environment. the two approaches.

106 90 CHAPTER 6. EXPERIMENTAL RESULTS Office environment The office environment represents a floor of an office building, composed of hallways and rooms of different sizes. The evaluation in this environment is done by making 10 exploration runs for each exploration strategy starting from the same initial position, and with the maximum range of the robot s laser scanner set to 25 m. The initial position of the robot is reported in Figure 6.9. Figure 6.9: In red, the initial position of the robot for the office environment. At first, we present the results obtained in the office environment without furniture. Then, we present the results of the furnished one. Without furniture In the case of office environment without furniture, our exploration strategy seems to have a better performance during most of time of the exploration process. As it can be seen from Figure 6.10, which reports the amount of explored area as a function of time, we can note how our strategy tends to explore the same amount of area in a shorter time if compared to the exploration approach which does not use prior information. We can also note that our approach has a low standard deviation value during all the exploration task. This is due to the fact that our approach, in most of all exploration runs, tends to explore the rooms in the same order (as a consequence of availability

107 6.4. RESULTS % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.10: The coverage of the unfurnished office environment as a function of time. of a priori knowledge). Furthermore, the strategy without prior information, at the beginning of the exploration, tends to explore the small rooms in the top-right of the floor plan of Figure 6.9, bringing to a decrease of its performance. This is mainly due to the inaccuracy of the information gain estimate, that leads the robot to explore such rooms. Finally, looking at the comparison in terms of distance travelled by the robot between the two approaches reported in Figure 6.11 and Table 6.4, we can note how the use of prior information leads the robot to have a good knowledge of the environment in terms of coverage, travelling a shorter distance. For example, for reaching the 70 % of covered area, the robot travels a shorter distance with a gain of 33 % (p-value = ).

108 92 CHAPTER 6. EXPERIMENTAL RESULTS 95 % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.11: Comparison between the strategies in terms of distance travelled for the unfurnished office environment. Also, for each strategy the standard deviation is shown. Coverage Without prior information With prior information Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.4: Comparison between strategies in terms of distance travelled for the unfurnished office environment. With furniture Although the presence of furniture could worsen the accuracy of the information gain estimate, possibly leading to a decrease of the performance of our approach, the exploration strategy with prior information proves to have better performance if compared to the strategy that doesn t use any prior

109 6.4. RESULTS 93 information. 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.12: The coverage of the furnished office environment as a function of time. From Figure 6.12, which reports the amount of explored area as a function of time, we can see how our approach discovers the same amount of area in a shorter time if compared to the strategy without prior information, until reaching high values of coverage percentage. Also in this case, the strategy without prior information, at the beginning of the exploration, tends to explore the small rooms in the top-right of the floor plan of Figure 6.9, for the inaccuracy of the information gain estimate, leading to a worsening of its performance. Furthermore, if we look at the comparison in terms of distance travelled by the robot between when using the two approaches as reported in Figure 6.13, we can note how the robot reaches the same coverage travelling a shorter

110 94 CHAPTER 6. EXPERIMENTAL RESULTS 95 % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.13: Comparison between the strategies in terms of distance travelled for the furnished office environment. Also, for each strategy the standard deviation is shown. distance when using the approach with prior information. More specifically, the robot reaches coverage values of 80 % and 95 % with a gain of 21 % (pvalue = ) and 9 % (p-value = ), respectively. Finally, the values of the comparison between strategies in terms of distance travelled are shown in Table 6.5. Coverage Without prior information With prior information Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.5: Comparison between strategies in terms of distance travelled for the furnished office environment.

111 6.4. RESULTS Open environment The open environment represents a wide environment composed by large spaces free of obstacles, and few rooms of different sizes. The evaluation is done by making 10 exploration runs for each exploration strategy starting from the same initial position, and with the maximum range of the robot s sensor set to 25 m. The initial position of the robot is reported in Figure Figure 6.14: In red, the initial position of the robot for the open environment. We start by describing the results obtained in the open environment without furniture, and then we move to the results of the furnished one. Without furniture As said before, the open environment is composed by large spaces free of obstacles. Although this could lead our approach not to benefit from the information of the floor plan, because the most of frontiers detected are characterized by a high amount of information gain, our approach proves to have a slightly better performance if compared to the strategy without prior information. Seeing the Figure 6.15, we can note that our approach seems to be able to explore the same amount of are in a shorter time if compared with the approach without prior information, especially when the covered area values are between 60 % and 80 %. This is due to the presence of a small room in the

112 96 CHAPTER 6. EXPERIMENTAL RESULTS 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.15: The coverage of the unfurnished open environment as a function of time. bottom-right of the floor plan of Figure 6.14, that leads the strategy without prior information to explore it before the strategy with prior information, leading to worsening its performance. Coverage Without prior information With prior information Gain Distance (m) Dev. std. Distance (m) Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.6: Comparison between strategies in terms of distance travelled for the unfurnished open environment.

113 6.4. RESULTS % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.16: Comparison between the strategies in terms of distance travelled for the unfurnished open environment. Also, for each strategy the standard deviation is shown. Moreover, seeing the comparison in terms of distance travelled reported in Figure 6.16 and the values reported in Table 6.6, we can note how the robot reaches the same coverage travelling a shorter distance when a priori knowledge is exploited. For example, the strategy with prior information allow the robot to reach the 70 % of coverage value with a gain of 38 % (p-value = ), and the 95 % with a gain of 14 % (p-value = ) with respect to the strategy without prior information. With furniture In the furnished open environment, there are two main factors that affects the performance of our exploration strategy. As said before, the open environment is composed by large spaces free of obstacles, and this could lead our approach not to benefit from the information obtainable from the floor plan. Moreover, in this case the open

114 98 CHAPTER 6. EXPERIMENTAL RESULTS 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.17: The coverage of the furnished open environment as a function of time. environment is characterized by some furniture that could affect the accuracy of the information gain estimate, leading to a worsening of the performance of our exploration strategy. From Figure 6.17, that reports the amount of explored area as a function of time, we can see how the trend of the two strategies are rather similar until reaching a coverage percentage value of 85%. After that, our exploration strategy has a slightly better performance with respect to the strategy without prior information, until the completion of exploration task. This characteristic can be seen, in a more detailed way, in Figure 6.18 and in Table 6.7, where we report the comparison between the two strategies in terms of distance travelled. We can note how the difference of distance travelled between the two strategies is greater in the cases of coverage values

115 6.4. RESULTS % Coverage 90 % 80 % 70 % With prior information Without prior information Distance travelled [m] Figure 6.18: Comparison between the strategies in terms of distance travelled for the furnished open environment. Also, for each strategy the standard deviation is shown. Coverage Without prior information With prior information Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.7: Comparison between strategies in terms of distance travelled for the furnished open environment. of 90 % and 95 %, with a gain of 22 % (p-value = ) and 27 % (p-value = ), respectively. For clarity, we report in Table 6.8 a summary of performance obtained in each environment for reaching the 95 % of coverage in terms of time and distance travelled. As can be seen, our approach is able to improve considerably the performance, allowing the robot to reach a high knowledge of the

116 100 CHAPTER 6. EXPERIMENTAL RESULTS environment travelling a shorter distance, and taking less time.

117 6.4. RESULTS 101 Performance evaluation at 95 % of explored area Without furniture With furniture Without prior information Basic environment Office environment Open environment With prior information Without prior Gain information With prior information Without prior Gain information With prior information Gain Time [s] % % % Distance travelled [m] % % % Time [s] % % % Distance travelled [m] % % % Table 6.8: Performance evaluation at 95 % of explored area.

118 102 CHAPTER 6. EXPERIMENTAL RESULTS 6.5 Other results In this section we describe the results obtained in other experiments, in order to further demonstrate the validity of our approach. We start by describing the results of comparison between our approach and an off-line exploration strategy, and then we describe the comparison in performance of our approach using maps of different levels of accuracy as prior information. Finally, we explain the results obtained from some experiments in a real environment with an autonomous robot Comparison with off-line exploration strategy In this section we describe the results of the comparison between our exploration strategy (an on-line approach) and the method of Oßwald et al. explained in Section (an off-line approach). The method proposed by Oßwald et al., presented in [22], is built upon a topo-metric map, allowing the robot to generate a more efficient path for covering the environment if compared to greedy strategy. The comparison between the two methods is done by making exploration runs in the same settings. In fact, we test our exploration strategy in the same environments, using the same maximum range of the robot s sensor, and starting from the same initial position. First, we describe the results obtained with our exploration strategy in two environments, comparing it to the strategy without prior information, and then we compare our exploration strategy to the approach presented in [22] indicated as graph-based exploration. First environment The evaluation in the first environment is done by making only one exploration run for each initial position, and for each strategy. Also, the maximum range of the robot s sensor is set to 6 m. In Figure 6.19, we can see the floor plan of the first environment, and, indicated in red, the initial positions of exploration runs. The environment

119 6.5. OTHER RESULTS 103 has approximately a dimension of 34 m x 34 m. Figure 6.19: The first environment of [22] used for the comparison. initial positions are shown in red. The Results From Figure 6.20, that reports the coverage as a function of time for the our approach and the strategy without any prior information, we can note how the use of prior information does not lead to a significant increase in performance. This is mainly due to the particular structure of the environment and to the small range of the robot s sensor that, during the exploration, produce a low number of detected frontiers without any significant difference in terms of information gain. Moreover, our approach tends to leave several frontiers unexplored with a low amount of information gain, often far from each other, leading to an extension of the time needed for reaching a coverage of 100 %. Note that this involves a greater distance travelled by the robot for the completion of exploration process. Comparing our approach to the graph-based exploration, the authors of [22] declare that their strategy reaches a coverage of 100 % travelling a distance of about 239 m. Our approach explores the entire environment travel-

120 104 CHAPTER 6. EXPERIMENTAL RESULTS ling a greater distance, namely travelling a distance of about 433 m, but we can note from Figure 6.21 that our approach is able to have a good knowledge of the environment when the graph-based exploration ends, reaching a coverage 87 % with a standard deviation of 2 %. 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.20: The coverage of the first environment of [22] as a function of time.

121 6.5. OTHER RESULTS % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information Graph-based exploration 0 % Distance travelled [m] Figure 6.21: The coverage of the first environment of [22] as a function of distance travelled by the robot.

122 106 CHAPTER 6. EXPERIMENTAL RESULTS Second environment The evaluation in the second environment is done by making only one exploration run for each initial position, and for each strategy. Also, the maximum range of the robot s sensor is set to 6 m. In Figure 6.22, we can see the floor plan of the second environment, and, in red, the initial positions of exploration runs. The environment has approximately a dimension of 38 m x 25 m. Figure 6.22: The second environment of [22] used for the comparison. The initial positions are shown in red. Results Also in this environment, seeing the Figure 6.23 that reports the coverage as a function of time for the two strategies, we can note how the use of prior information does not lead to a significant increase in performance. This is mainly due to the small range of the robot s sensor that, during the exploration, involves a non significant difference in terms of information gain between the detected frontiers. Moreover, our approach tends to leave unexplored some frontiers with a low amount of information gain, leading to an increase of the time needed for completing the exploration task. Note that this also involves a greater distance travelled by the robot for the completion of exploration process. Comparing our approach to the graph-based exploration, the authors of [22] declare that their strategy reaches a coverage of 100 % travelling a dis-

123 6.5. OTHER RESULTS % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information 0 % Time [s] Figure 6.23: The coverage of the second environment of [22] as a function of time. tance of about 171 m. Our approach explores the entire environment travelling a longer distance, namely travelling a distance of about 429 m, but we can note from Figure 6.24 that our approach is able to have a good knowledge of the environment when the graph-based exploration ends, reaching a coverage 91 % with a standard deviation of 3 %.

124 108 CHAPTER 6. EXPERIMENTAL RESULTS 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With prior information Without prior information Graph-based exploration 0 % Distance travelled [m] Figure 6.24: The coverage of the second environment of [22] as a function of distance travelled by the robot.

125 6.5. OTHER RESULTS Our approach with hand-drawn maps In this section we compare the performance of our approach using maps with different levels of accuracy with the aim to evaluate the robustness of our approach to the inaccuracy of prior information. More specifically, we test our exploration strategy using a floor plan and three maps handdrawn by people who know the environment to explore, and we compare their performance with the version of our approach that does not use any prior information. We choose to make the comparison simulating a real floor of a university building (of the Politecnico di Milano), making 5 exploration runs for each version of our exploration strategy and starting from the same initial position. Also, the maximum range of the robot s sensor is set to 25 m. Figure 6.25: The floor plan of the environment used for the comparison. The initial position of the robot is shown in red. In Figure 6.25, we can see the floor plan of the environment, and, indicated in red, the initial position of the robot. The environment has approximately a size of 50 m x 43 m.

126 110 CHAPTER 6. EXPERIMENTAL RESULTS (a) Hand-drawn map 1 (b) Hand-drawn map 2 (c) Hand-drawn map 3 Figure 6.26: The three hand-drawn maps.

127 6.5. OTHER RESULTS 111 Also, in Figure 6.26, we can see the three hand-drawn maps used for the comparison. Note that these maps are revisited versions of hand-drawn maps created with a graphic tool, keeping into account the structure and metric proportions of the environments depicted in the original maps. Results From Figure 6.27, that reports the coverage as a function of time of our approach with each map, we can see how the accuracy of the map can affects the performance of the exploration system. 100 % 90 % 80 % 70 % Coverage 60 % 50 % 40 % 30 % 20 % 10 % With floor plan With hand-drawn map 1 With hand-drawn map 2 With hand-drawn map 3 Without prior information 0 % Time [s] Figure 6.27: The coverage as a function of time. First of all, we can note that the use of more accurate prior information leads to an improvement in performance. In fact, the approach that uses as prior information the floor plan explores the same amount of area in a shorter

128 112 CHAPTER 6. EXPERIMENTAL RESULTS time if compared to the approach that does not use any prior information. The same thing cannot be stated for the approaches that use hand-drawn maps as a priori information. In fact, there are times when the approach has a worse performance, and times when the approach has a better performance if compared to the approach that does not use any prior information. This is mainly due to the inaccuracy of the maps used that leads to a wrong estimate of information gain, delaying the exploration of some frontiers which could bring the robot to acquire a greater amount of knowledge about the environment. In fact, the presence of an obstacle on the hand-drawn map could cause an underestimation of the information gain of a frontier, leading the robot to explore other frontiers with a lower information gain and, therefore, worsening the system performance. Seeing the comparison reported in Figure 6.28, we can note that, in all cases, the approach with floor plan travels a shorter distance with respect to the approach without prior information. Moreover, despite the approaches with hand-drawn maps have a very inaccurate knowledge of the environment, they are able to reach the 95 % of explored area travelling a shorter distance with respect to the strategy that does not use any prior information, with a gain that goes from 3 % to 9 %. Finally, the values of the comparison between strategies in terms of distance travelled are reported in Tables 6.9, 6.10, 6.11 and Coverage Without prior information With floor plan Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.9: Comparison between the approach without prior information and the approach with floor plan in terms of distance travelled.

129 6.5. OTHER RESULTS % 90 % Coverage 80 % 70 % With floor plan With hand-drawn map 1 With hand-drawn map 2 With hand-drawn map 3 Without prior information Distance travelled [m] Figure 6.28: Comparison between the strategies in terms of distance travelled. Also, for each strategy the standard deviation is shown.

130 114 CHAPTER 6. EXPERIMENTAL RESULTS Coverage Without prior information With hand-drawn map 1 Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.10: Comparison between the approach without prior information and the approach with hand-drawn map 1 in terms of distance travelled. Coverage Without prior information With hand-drawn map 2 Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.11: Comparison between the approach without prior information and the approach with hand-drawn map 2 in terms of distance travelled. Coverage Without prior information With hand-drawn map 3 Gain Distance [m] Dev. std. Distance [m] Dev. std. 70 % % 80 % % 90 % % 95 % % Table 6.12: Comparison between the approach without prior information and the approach with hand-drawn map 3 in terms of distance travelled.

131 6.5. OTHER RESULTS Experiments with Robocom In this section we describe the results obtained from some exploration runs of our approach using a real robot, known as Robocom. More precisely, we test our exploration strategy using a floor plan of the environment to explore, and we compare it to the strategy that does not use any prior information. Also in this case, we indicate our approach as with prior information, and the strategy that does not use any prior information as without prior information. We choose to test our approach in a real floor of a university building (of the Politecnico di Milano), making 3 exploration runs for each approach and starting from the same initial position. In Figure 6.29, we can see the floor plan of the environment, and, indicated in red, the initial position of the robot. The environment has approximately a size of 36 m x 27 m. Figure 6.29: The floor plan of the environment used for testing our approach with Robocom. In red, the initial position of the robot. We start by describing the technical characteristics of Robocom, by briefly showing the modified version of the navigation stack implementation discussed in Section 5.2, and then we move to the results obtained.

132 116 CHAPTER 6. EXPERIMENTAL RESULTS Robocom technical description Robocom is an autonomous robot, jointly developed by Politecnico di Milano (Italy) and Università degli studi di Milano-Bicocca (Italy), designed for indoor activity (see Figure 6.30) [35]. In our case, it is used for testing our approach, making some exploration runs in a real environment. Several are the advantages of Robocom, such as small footprint, high payload (> 50 kg), good manoeuvrability and smooth motion, and readily available odometry. Figure 6.30: The Robocom robot. From the point of technical view, the main components of Robocom are: a PC that allows both easy communications with other computers (e.g., wireless, Bluetooth, etc.) and easy interface to sensor devices. Moreover, the PC is equipped with Ubuntu LTS and ROS Kinetic

133 6.5. OTHER RESULTS 117 Kame; a Sick LMS laser scanner with a maximum range of 18 m, an horizontal field of view of 270, and an angular resolution of 0.25 ; a Linksys WRT54GL-EU WLAN router compatible with the IEEE g standard. It allows the wireless communication with other computers; two drive pneumatic spoked wheels in front (moved by the motors), and two pivoting wheels on the rear; two FGH High rate 12V 9Ah batteries. Modified version of navigation stack In order to perform the experiments correctly, we need to modify the navigation stack implementation discussed in Section 5.2. Figure 6.31: Edited version of our navigation stack implementation.

Singular Value Decomposition Applications

Singular Value Decomposition Applications Singular Value Decomposition Applications Prof. Mariolino De Cecco, Ing. Luca Baglivo 1 Department of Structural Mechanical Engineering, University of Trento Email: mariolino.dececco@ing.unitn.it The environment

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013 Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms

Dettagli

SVD - Application to rigid-motion estimation

SVD - Application to rigid-motion estimation SVD - Application to rigid-motion estimation Now we use SVD to estimate the rigid motion of the observer (usually the robot) with respect to a collection of markers acquired in the environment which must

Dettagli

Single-rate three-color marker (srtcm)

Single-rate three-color marker (srtcm) 3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Corso di Laboratorio Ciberfisico Modulo di Robot Programming with ROS. Navigazione in. Docente: Domenico Daniele Bloisi.

Corso di Laboratorio Ciberfisico Modulo di Robot Programming with ROS. Navigazione in. Docente: Domenico Daniele Bloisi. Maggio 2018 Corso di Laboratorio Ciberfisico Modulo di Robot Programming with ROS Navigazione in Docente: Domenico Daniele Bloisi References and credits Alcune delle slide seguenti sono tratte da Giorgio

Dettagli

Self-Calibration Hands-on CASA introduction

Self-Calibration Hands-on CASA introduction Self-Calibration Hands-on CASA introduction Adam North American ALMA Science Center Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long

Dettagli

AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION

AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION READ ONLINE AND DOWNLOAD EBOOK : AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION PDF Click button to download

Dettagli

Estratto dal Cap. 8 di: Statistics for Marketing and Consumer Research, M. Mazzocchi, ed. SAGE, 2008.

Estratto dal Cap. 8 di: Statistics for Marketing and Consumer Research, M. Mazzocchi, ed. SAGE, 2008. LEZIONI IN LABORATORIO Corso di MARKETING L. Baldi Università degli Studi di Milano BIVARIATE AND MULTIPLE REGRESSION Estratto dal Cap. 8 di: Statistics for Marketing and Consumer Research, M. Mazzocchi,

Dettagli

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4 Course of Multimedia Internet (Sub-course Reti Internet Multimediali ), AA 2010-2011 Prof. 4. Scheduling Pag. 1 Scheduling In other architectures, buffering and service occur on a per-flow basis That is,

Dettagli

Network. Marco Piastra. Laboratorio di Visione Artificiale Università degli Studi di Pavia. A Growing. Self-Organizing

Network. Marco Piastra. Laboratorio di Visione Artificiale Università degli Studi di Pavia. A Growing. Self-Organizing A Growing Self-Organizing Network for Manifold Reconstruction Marco Piastra Laboratorio di Visione Artificiale Università degli Studi di Pavia Network for Manifold Reconstruction - 1 Restricted Delaunay

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

User Guide Guglielmo SmartClient

User Guide Guglielmo SmartClient User Guide Guglielmo SmartClient User Guide - Guglielmo SmartClient Version: 1.0 Guglielmo All rights reserved. All trademarks and logos referenced herein belong to their respective companies. -2- 1. Introduction

Dettagli

SRT064 BTH SRT051 BTH SRT052 BTH

SRT064 BTH SRT051 BTH SRT052 BTH KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.

Dettagli

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE COVERAGE: multidisciplinary TIME RANGE: 1985- DOCUMENT TYPES: articles, proceedings papers, books WEB OF SCIENCE: SEARCH you can add one or more search field you can limit results to a specific

Dettagli

Qui u ck c k PE P R E L

Qui u ck c k PE P R E L Quick PERL Why PERL??? Perl stands for practical extraction and report language Similar to shell script but lot easier and more powerful Easy availability All details available on web Basic Concepts Perl

Dettagli

WELCOME UNIPA REGISTRATION:

WELCOME UNIPA REGISTRATION: WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Morte e Reincarnazione (Italian Edition)

Morte e Reincarnazione (Italian Edition) Morte e Reincarnazione (Italian Edition) Papus Click here if your download doesn"t start automatically Morte e Reincarnazione (Italian Edition) Papus Morte e Reincarnazione (Italian Edition) Papus Indice

Dettagli

How to register for exam sessions ( Appelli ) Version updated on 17/10/2018

How to register for exam sessions ( Appelli ) Version updated on 17/10/2018 How to register for exam sessions ( Appelli ) Version updated on 17/10/2018 Course catalogue and Piano Carriera (Career Plan) At the beginning of your exchange period in Torino you will need to register

Dettagli

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note M. Teresa Della Beffa Click here if your download doesn"t start automatically Fiori di campo. Conoscere, riconoscere

Dettagli

REGISTRATION. Area Ricerca

REGISTRATION. Area Ricerca REGISTRATION Note: former students can skip the registration process and log in using their account (id123456) 1.1 HOW TO REGISTER: please, go to web page www.univr.it/applicationphd and select the item

Dettagli

The simplest PLL structure is based on a phase detector, a low pass filter and a voltage controlled oscillator (VCO). This structure, widely used in

The simplest PLL structure is based on a phase detector, a low pass filter and a voltage controlled oscillator (VCO). This structure, widely used in The simplest PLL structure is based on a phase detector, a low pass filter and a voltage controlled oscillator (VCO). This structure, widely used in hardware realizations, can be classified as a zero crossing

Dettagli

Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition)

Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition) Le piccole cose che fanno dimagrire: Tutte le mosse vincenti per perdere peso senza dieta (Italian Edition) Istituto Riza di Medicina Psicosomatica Click here if your download doesn"t start automatically

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Radar signal contains 2 types of information: intensity and phase intensity lets us discriminate among materials

Radar signal contains 2 types of information: intensity and phase intensity lets us discriminate among materials Radar signal contains types of information: intensity and phase intensity lets us discriminate among materials Phase is used to measure topography and ground motion Interferometry: interaction between

Dettagli

Il concetto di varietà e la nascita della teoria degli insiemi RIEMANN ( )

Il concetto di varietà e la nascita della teoria degli insiemi RIEMANN ( ) Il concetto di varietà e la nascita della teoria degli insiemi RIEMANN (1826-66) Funzioni multivalori http://science.larouchepac.com/riemann/page/22 CONCETTI: intensione ed estensione Natural science is

Dettagli

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues Resources and Tools for Bibliographic Research Search & Find Using Library Catalogues November 28, 2011 Donata Pieri Index Definition University of Padova Library System Catalogue CaPerE E-journals Catalogue

Dettagli

Graph Visits. Tecniche di Programmazione A.A. 2016/2017

Graph Visits. Tecniche di Programmazione A.A. 2016/2017 Graph Visits Tecniche di Programmazione Summary Graph visits Visits in JGraphT 2 Graph visits Representing and visiting graphs Visit Algorithms Visit = Systematic exploration of a graph Starting from a

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition)

Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition) Marketing non Convenzionale: Viral, Guerrilla e prospettive future (Italian Edition) Luca Taborelli Click here if your download doesn"t start automatically Marketing non Convenzionale: Viral, Guerrilla

Dettagli

Functional programming in F#: Data Structures

Functional programming in F#: Data Structures Programmazione Avanzata Corso di Laurea in Informatica (L31) Scuola di Scienze e Tecnologie 31 / 51 Summary of previous lectures In the previous lecture we have... : introduced basic principles of programming

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO STEP BY STEP INSTRUCTIONS FOR COMPLETING THE ONLINE APPLICATION FORM Enter the Unito homepage www.unito.it and click on Login on the right side of the page. - Tel. +39 011 6704425 - e-mail internationalexchange@unito.it

Dettagli

Laboratorio di Apprendimento Automatico. Fabio Aiolli Università di Padova

Laboratorio di Apprendimento Automatico. Fabio Aiolli Università di Padova Laboratorio di Apprendimento Automatico Fabio Aiolli Università di Padova Underfitting e Overfitting Complessità spazio ipotesi SVM: aumenta con kernel non lineari, RBF con maggiore pendenza, aumenta con

Dettagli

Viaggio di un naturalista intorno al mondo (Viaggi e Viaggiatori) (Italian Edition)

Viaggio di un naturalista intorno al mondo (Viaggi e Viaggiatori) (Italian Edition) Viaggio di un naturalista intorno al mondo (Viaggi e Viaggiatori) (Italian Edition) Charles Darwin Click here if your download doesn"t start automatically Viaggio di un naturalista intorno al mondo (Viaggi

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO How to register online for exams (Appelli) Version updated on 18/11/2016 The academic programs and the career plan Incoming students can take exams related to the courses offered by the Department where

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Succhi di frutta e verdura con la centrifuga (Italian Edition)

Succhi di frutta e verdura con la centrifuga (Italian Edition) Succhi di frutta e verdura con la centrifuga (Italian Edition) Click here if your download doesn"t start automatically Succhi di frutta e verdura con la centrifuga (Italian Edition) Succhi di frutta e

Dettagli

Android Development. Course Projects. Università degli Studi di Parma

Android Development. Course Projects. Università degli Studi di Parma Android Development Course Projects This work is licensed under a Creative Commons Attribution NonCommercialShareAlike 4.0 International License. Marco Picone, Ph.D. marco.picone@unipr.it Mobile Application

Dettagli

Data Exploitation della missione PRISMA, precursore delle missioni iperspettrali nazionali

Data Exploitation della missione PRISMA, precursore delle missioni iperspettrali nazionali Data Exploitation della missione PRISMA, precursore delle missioni iperspettrali nazionali Sede Agenzia Spaziale Italiana Roma 01-03/03/2017 Valutazione dell impatto ambientale di incendi: comparazione

Dettagli

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition)

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) L. Lizio-Bruno Click here if your download doesn"t start automatically Canti Popolari delle Isole Eolie e di Altri Luoghi

Dettagli

Exam of DIGITAL ELECTRONICS June 14 th, 2012 Prof. Marco Sampietro

Exam of DIGITAL ELECTRONICS June 14 th, 2012 Prof. Marco Sampietro Exam of DIGITAL ELECTRONICS June 14 th, 2012 Prof. Marco Sampietro Matr. N NAME CMOS circuits Si supponga di avere una tecnologia CMOS con le seguenti caratteristiche: p =400 cm 2 /V s, n =1200 cm 2 /V

Dettagli

Research Collection. Statistical decisions based directly on the likelihood function. Doctoral Thesis. ETH Library. Author(s): Cattaneo, Marco E.G.V.

Research Collection. Statistical decisions based directly on the likelihood function. Doctoral Thesis. ETH Library. Author(s): Cattaneo, Marco E.G.V. Research Collection Doctoral Thesis Statistical decisions based directly on the likelihood function Author(s): Cattaneo, Marco E.G.V. Publication Date: 2007 Permanent Link: https://doi.org/10.3929/ethz-a-005463829

Dettagli

Testi del Syllabus. Docente LOCATELLI MARCO Matricola: Insegnamento: RICERCA OPERATIVA. Anno regolamento: 2013 CFU:

Testi del Syllabus. Docente LOCATELLI MARCO Matricola: Insegnamento: RICERCA OPERATIVA. Anno regolamento: 2013 CFU: Testi del Syllabus Docente LOCATELLI MARCO Matricola: 006385 Anno offerta: 2013/2014 Insegnamento: 00884 - RICERCA OPERATIVA Corso di studio: 5015 - INGEGNERIA INFORMATICA Anno regolamento: 2013 CFU: 9

Dettagli

Ansia e Attacchi di Panico - Breve Corso di Auto- Terapia per Risolvere il Problema (Italian Edition)

Ansia e Attacchi di Panico - Breve Corso di Auto- Terapia per Risolvere il Problema (Italian Edition) Ansia e Attacchi di Panico - Breve Corso di Auto- Terapia per Risolvere il Problema (Italian Edition) Click here if your download doesn"t start automatically Ansia e Attacchi di Panico - Breve Corso di

Dettagli

! Master!Thesis!! !!!!

! Master!Thesis!! !!!! FACULTYOFINFORMATIONENGINEERING,INFORMATICSANDSTATISTICS MASTERDEGREEINELECTRONICENGINEERING MasterThesis Optimization*of*data*transmission*at*Ka*band*and*beyond*by*microwave* radiometric*techniques*for*telecommunication*and*deep*space*missions*

Dettagli

New perspectives in the reconstruction of convex polyominoes from orthogonal projections

New perspectives in the reconstruction of convex polyominoes from orthogonal projections New perspectives in the reconstruction of convex polyominoes from orthogonal projections Paolo Dulio, Andrea Frosini 2, Simone Rinaldi 3, 4, Laurent Vuillon 5 Politecnico di Milano, 2 Università di Firenze,

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

AVVISO n AIM -Italia/Mercato Alternativo del Capitale. 23 Giugno Mittente del comunicato : BORSA ITALIANA. Societa' oggetto dell'avviso

AVVISO n AIM -Italia/Mercato Alternativo del Capitale. 23 Giugno Mittente del comunicato : BORSA ITALIANA. Societa' oggetto dell'avviso AVVISO n.12459 23 Giugno 2016 AIM -Italia/Mercato Alternativo del Capitale Mittente del comunicato : BORSA ITALIANA Societa' oggetto dell'avviso : -- Oggetto : Modifica al Regolamento degli operatori e

Dettagli

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Tabella dei contenuti 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What

Dettagli

How to register online for exams (Appelli) Version updated on 23/10/2017

How to register online for exams (Appelli) Version updated on 23/10/2017 How to register online for exams (Appelli) Version updated on 23/10/2017 The academic programs and the career plan Incoming students can take exams related to the courses offered by the Department where

Dettagli

Whole genome SNPs comparison: SNPtree, NDtree, CSI Phylogeny and kmer-based analysis

Whole genome SNPs comparison: SNPtree, NDtree, CSI Phylogeny and kmer-based analysis Whole genome SNPs comparison: SNPtree, NDtree, CSI Phylogeny and kmer-based analysis Valeria Michelacci NGS course, June 2016 Webserver-based free pipelines available NCBI pipeline FDA GenomeTrakr CGE/DTU

Dettagli

INTERNET & MARKETING INNOVATIVE COMMUNICATION.

INTERNET & MARKETING INNOVATIVE COMMUNICATION. INTERNET & MARKETING INNOVATIVE COMMUNICATION www.sunet.it Passion Our passion to what we do every day allows us to have a special creativity and constantly improve the process of realization and execution.

Dettagli

R.M.Dorizzi, Strumenti per interpretare gli esami di laboratorio? Forlì, 9 ottobre 2012

R.M.Dorizzi, Strumenti per interpretare gli esami di laboratorio? Forlì, 9 ottobre 2012 1 Half of what you are taught as medical students will in 10 years have been shown to be wrong. And the trouble is, none of your teachers know which half. Sydney Burwell, Dean Harvard Medical School 1935-1949

Dettagli

AVVISO n Giugno Mittente del comunicato : BORSA ITALIANA. Societa' oggetto dell'avviso

AVVISO n Giugno Mittente del comunicato : BORSA ITALIANA. Societa' oggetto dell'avviso AVVISO n.12460 23 Giugno 2016 --- Mittente del comunicato : BORSA ITALIANA Societa' oggetto dell'avviso : -- Oggetto : Modifica al Regolamento del Mercato Borsa Italiana Equity MTF/Amendment to the Rules

Dettagli

Una Ricerca Erboristica (Italian Edition)

Una Ricerca Erboristica (Italian Edition) Una Ricerca Erboristica (Italian Edition) Matteo Politi Click here if your download doesn"t start automatically Una Ricerca Erboristica (Italian Edition) Matteo Politi Una Ricerca Erboristica (Italian

Dettagli

Question 1: algorithms, data structures, problem classes, and algorithmic techniques

Question 1: algorithms, data structures, problem classes, and algorithmic techniques Question 1: alg. s, data struct. s, problem classes, and alg. techniques Question 1: algorithms, data structures, problem classes, and algorithmic techniques What is a dynamic data structure? (4 points).

Dettagli

AVVISO n Settembre 2009 AIM Italia

AVVISO n Settembre 2009 AIM Italia AVVISO n.14112 08 Settembre 2009 AIM Italia Mittente del comunicato : Borsa Italiana Societa' oggetto : dell'avviso Oggetto : Modifiche al mercato AIM Italia: orari di negoziazione/amendments to the AIM

Dettagli

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Seminario di Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Corso di Ingegneria dei Sistemi Software e dei Servizi in Rete Parte 5. Evoluzione

Dettagli

CALANDRINO. 4 People, 2 Bedrooms, 2 Bathrooms, Balcony - Air Co, WiFi - II Floor (38 steps) a month

CALANDRINO. 4 People, 2 Bedrooms, 2 Bathrooms, Balcony - Air Co, WiFi - II Floor (38 steps) a month Y o u r R e n t a l s i n L u c c a 4 People, 2 Bedrooms, 2 Bathrooms, Balcony - Air Co, WiFi - II Floor (38 steps) - 1200 a month - 2 BEDROOMS - 2 FULL BATHROOMS - FURNISHED BALCONY Fully Air Conditioned,

Dettagli

IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER

IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER READ ONLINE AND DOWNLOAD EBOOK : IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE

Dettagli

Scheda Allarmi Alarm Board MiniHi

Scheda Allarmi Alarm Board MiniHi Scheda Allarmi Alarm Board MiniHi Manuale Utente User Manual Italiano English cod. 272680 - rev. 18/04/02 ITALIANO INDIE 1. INTRODUZIONE...2 2. RIONOSIMENTO DEI LIVELLI DI TENSIONE DEL SEGNALE 0-10 VOLT...2

Dettagli

100 consigli per vivere bene (Italian Edition)

100 consigli per vivere bene (Italian Edition) 100 consigli per vivere bene (Italian Edition) Raffaele Morelli Click here if your download doesn"t start automatically 100 consigli per vivere bene (Italian Edition) Raffaele Morelli 100 consigli per

Dettagli

Gocce d'anima (Italian Edition)

Gocce d'anima (Italian Edition) Gocce d'anima (Italian Edition) Marco Fusaroli Click here if your download doesn"t start automatically Gocce d'anima (Italian Edition) Marco Fusaroli Gocce d'anima (Italian Edition) Marco Fusaroli Non

Dettagli

Detecting Drops On Lens in Wireless Multimedia Sensor Network Nodes

Detecting Drops On Lens in Wireless Multimedia Sensor Network Nodes Detecting Drops On Lens in Wireless Multimedia Sensor Network Nodes Cesare Alippi, Giacomo Boracchi, Manuel Roveri Politecnico di Milano 7 November 2009 ROSE 2009, Lecco Outline 2 The issue Our approach

Dettagli

MODIFICA AL REGOLAMENTO DEL MERCATO AIM ITALIA/MERCATO ALTERNATIVO DEL CAPITALE REGOLAMENTO DEGLI OPERATORI E DELLE NEGOZIAZIONI

MODIFICA AL REGOLAMENTO DEL MERCATO AIM ITALIA/MERCATO ALTERNATIVO DEL CAPITALE REGOLAMENTO DEGLI OPERATORI E DELLE NEGOZIAZIONI AVVISO n.18289 30 Settembre 2016 AIM -Italia/Mercato Alternativo del Capitale Mittente del comunicato : BORSA ITALIANA Societa' oggetto dell'avviso : -- Oggetto : Modifica al Regolamento del Mercato AIM

Dettagli

It s what for building

It s what for building It s what for building Due Diligence Safety and Security Building Automation Value Engineering Data & Telephone Network Air Conditioning Real Estate Analysis Electrical System Energy Saving FUORI il Futuro,

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Algoritmi e strutture di dati 2 Paola Vocca Lezione 2: Tecniche golose (greedy) Lezione1- Divide et impera 1 Progettazione di algoritmi greedy Tecniche di dimostrazione (progettazione) o Greedy algorithms

Dettagli

Keep calm, observe and assess

Keep calm, observe and assess Keep calm, observe and assess Using the video sitcoms in Just Right to assess competences Data: 2 febbraio, 2017 Relatore: Roy Bennett 1 Just Right! & competences 2 Support Pearson Academy 3 SESSION AIMS

Dettagli

Optmization Methods for Machine Learning. Gradient method for multilayer perceptron

Optmization Methods for Machine Learning. Gradient method for multilayer perceptron Optmization Methods for Machine Learning Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di Ingegneria informatica automatica e gestionale A. Ruberti Sapienza Università di Roma Via Ariosto

Dettagli

Guida ai Promessi Sposi - Riassunto e analisi dei personaggi: Analisi e interpretazione del romanzo di A. Manzoni (Italian Edition)

Guida ai Promessi Sposi - Riassunto e analisi dei personaggi: Analisi e interpretazione del romanzo di A. Manzoni (Italian Edition) Guida ai Promessi Sposi - Riassunto e analisi dei personaggi: Analisi e interpretazione del romanzo di A. Manzoni (Italian Edition) Studia Rapido Click here if your download doesn"t start automatically

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

Tavole del Cielo 2. Plates of the Sky. versione 02.00

Tavole del Cielo 2. Plates of the Sky. versione 02.00 Tavole del Cielo 2 Plates of the Sky versione 02.00 Questa guida è parte di una collana dedicata all insegnamento dell astronomia in specifiche manifestazioni ed eventi. This guide is part of a series

Dettagli

ANALISI DEI PERICOLI Hazard Analysis

ANALISI DEI PERICOLI Hazard Analysis 7.4 ANALISI DEI PERICOLI Hazard Analysis Identificazione Valutazione Misure di Controllo Identification Assessment Control Measures Taccani 1 7.4.2 Identificare i pericoli e i livelli accettabili Identify

Dettagli

LABORATORIO ELETTROFISICO YOUR MAGNETIC PARTNER SINCE 1959

LABORATORIO ELETTROFISICO YOUR MAGNETIC PARTNER SINCE 1959 FINITE ELEMENT ANALYSIS (F.E.A.) IN THE DESIGN OF MAGNETIZING COILS How does it works? the Customer s samples are needed! (0 days time) FEA calculation the Customer s drawings are of great help! (3 days

Dettagli

Visual communication in hospital

Visual communication in hospital XI Autism-Europe International Congress 2016 33170 Italy Visual communication in hospital Cinzia Raffin*, Francesco Moscariello^, Laura De Santi^, Roberto Dall Amico^, Marianna Filippini*, Andrea Piai*,

Dettagli

6.6 ARIMA Model. Autoregressive Integrated Moving Average (ARIMA ) Model. ARIMA(p, d, q) Process

6.6 ARIMA Model. Autoregressive Integrated Moving Average (ARIMA ) Model. ARIMA(p, d, q) Process 128 6.6 ARIMA Model Autoregressive Integrated Moving Average (ARIMA ) Model ARIMA(p, d, q) Process φ(l) d y t = θ(l)ɛ t, where d y t = d 1 (1 L)y t = d 1 y t d 1 y t 1 = (1 L) d y t for d = 1, 2,, and

Dettagli

GUIDA AL LOGO LOGO GUIDELINES

GUIDA AL LOGO LOGO GUIDELINES Logo Logo 1 Il logo può essere posizionato all interno di un fondo di qualsiasi colore, non uniforme o fotografico, purché rimangano inalterati i colori, l immediata percezione visiva e la leggibilità

Dettagli

3d geological modelling and education: teaching geological sections and geological mapping with MVE Move

3d geological modelling and education: teaching geological sections and geological mapping with MVE Move 3d geological modelling and education: teaching geological sections and geological mapping with MVE Move Fabrizio Berra, Fabrizio Felletti, Michele Zucali Università degli Studi di Milano, Dip. Scienze

Dettagli

70 brevi consigli per studiare bene (Italian Edition)

70 brevi consigli per studiare bene (Italian Edition) 70 brevi consigli per studiare bene (Italian Edition) Passerino Editore Click here if your download doesn"t start automatically 70 brevi consigli per studiare bene (Italian Edition) Passerino Editore 70

Dettagli

6.5 RNA Secondary Structure

6.5 RNA Secondary Structure 6.5 RNA Secondary Structure Struttura di una biomolecola Biomolecola: DNA, RNA Struttura primaria: descrizione esatta della sua composizione atomica e dei legami presenti fra gli atomi Struttura secondaria:

Dettagli

Customer Centric/Inquiry/E-bill. Tanya Enzminger

Customer Centric/Inquiry/E-bill. Tanya Enzminger Customer Centric/Inquiry/E-bill Tanya Enzminger Customer Centric E-bill On-line Electronic Billing system Real-time viewing of customer data including statement, payment, toll usage and other information

Dettagli

Master thesis Guidelines and Procedure

Master thesis Guidelines and Procedure Master thesis Guidelines and Procedure Aula E 10.30 February 11th, 2016 Aim of the meeting Provide students with some clarifications when taking an «important» decision Avoid unreal and wrong rumors Reply

Dettagli

Numerical Heat and Mass Transfer

Numerical Heat and Mass Transfer Master Degree in Mechanical Engineering Numerical Heat and Mass Transfer 16 Convective Heat Transfer Fausto Arpino f.arpino@unicas.it Forced convection over a flat plate Assuming steady-state regime, two-dimensional

Dettagli

S C.F.

S C.F. Rif. 4098 Lionard Luxury Real Estate Via dei Banchi, 6 - ang. Piazza S. Maria Novella 50123 Florence Italy Tel. +39 055 0548100 Fax. +39 055 0548150 Carmignano Villa for sale on Tuscan hills DESCRIPTION

Dettagli

Famiglia Spirituale nel XXI secolo (La) (Italian Edition)

Famiglia Spirituale nel XXI secolo (La) (Italian Edition) Famiglia Spirituale nel XXI secolo (La) (Italian Edition) Peter Roche de Coppens Click here if your download doesn"t start automatically Famiglia Spirituale nel XXI secolo (La) (Italian Edition) Peter

Dettagli

Probabilistic Fundamentals in Robotics

Probabilistic Fundamentals in Robotics Probabilistic Fundamentals in Robotics Gaussian filters Basilio Bona DAUIN Politecnico di Torino June 2011 Course Outline Basic mathematical framework Probabilistic models of mobile robots Mobile robot

Dettagli

Università degli Studi di Napoli Federico II

Università degli Studi di Napoli Federico II Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Civile, Edile e Ambientale Relatore: Classe delle lauree in Ingegneria Civile e Ambientale, Classe n 35. Corso di Laurea Magistrale

Dettagli

La mia storia Come tante altre (Italian Edition)

La mia storia Come tante altre (Italian Edition) La mia storia Come tante altre (Italian Edition) Antonio Larivera Click here if your download doesn"t start automatically La mia storia Come tante altre (Italian Edition) Antonio Larivera La mia storia

Dettagli

S C.F.

S C.F. Rif. 1560 Lionard Luxury Real Estate Via dei Banchi, 6 - ang. Piazza S. Maria Novella 50123 Florence Italy Tel. +39 055 0548100 Fax. +39 055 0548150 Umbria Perugia Prestigious estate for sale in Umbria

Dettagli

Filling in the online career plan Version updated on 25/10/2017

Filling in the online career plan Version updated on 25/10/2017 Filling in the online career plan Version updated on 25/10/2017 Go to www.unito.it and click on Login. 1 Insert your Unito credentials. 2 Click on English to consult the English version. 3 Click on Career

Dettagli