Available online at www.sciencedirect.com ScienceDirect IFAC PapersOnLine 53-2 (2020) 9682–9687 Decentralized Strategy for Cooperative Decentralized Strategy for Cooperative Decentralized Strategy for Cooperative Multi-Robot Exploration and Mapping Decentralized Strategy for Cooperative Multi-Robot Exploration and Multi-Robot Exploration and Mapping Mapping Multi-Robot Exploration and Mapping Ana Ana Batinović, Batinović, Juraj Juraj Oršulić, Oršulić, Tamara Tamara Petrović, Petrović, Stjepan Stjepan Bogdan Bogdan Ana Batinović, Juraj Oršulić, Tamara Petrović, Stjepan Bogdan Ana Batinović, Juraj Oršulić, Tamara Petrović, Stjepan Bogdan Ana Batinović, Juraj Oršulić, Tamara Petrović, Ana Batinović, Juraj Oršulić, Tamara Petrović, Stjepan Stjepan Bogdan Bogdan University of Zagreb, Faculty of Electrical Engineering and Computing, University of of Zagreb, Zagreb, Faculty Faculty of of Electrical Electrical Engineering Engineering and and Computing, Computing, University University of Zagreb, of Electrical Engineering and Computing, Laboratory for Robotics and Intelligent Control Systems (LARICS), 10000 University of Zagreb, Faculty of Engineering and Laboratory for RoboticsFaculty and Intelligent Intelligent Control Systems (LARICS), (LARICS), 10000 Laboratory Robotics and Control Systems 10000 University for of Zagreb, Faculty of Electrical Electrical Engineering and Computing, Computing, Laboratory for Robotics and Intelligent Control Systems (LARICS), 10000 Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Laboratory for Robotics and Intelligent Control Systems (LARICS), Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Laboratory for Robotics and Intelligent Control Systems (LARICS), 10000 10000 Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Zagreb, Croatia (e-mail: ana.batinovic@fer.hr). Abstract: This work work presents presents aaa novel novel approach approach to to autonomous autonomous decentralized decentralized multi-robot multi-robot frontier frontier Abstract: This Abstract: This work presents novel approach to autonomous decentralized multi-robot frontier This work presents aa unknown novel approach to autonomous decentralized multi-robot frontier Abstract: exploration and mapping of an area. A mobile robot team simultaneously explores the This work presents novel approach to autonomous decentralized multi-robot frontier Abstract: exploration and mapping of an unknown area. A mobile robot team simultaneously explores the explorationThis and work mapping of ana unknown area. Atomobile robot team simultaneously explores the presents novel approach autonomous decentralized multi-robot frontier Abstract: exploration and mapping of an unknown area. A mobile robot team simultaneously explores the environment, discovers frontier points (points on the border between explored and unexplored space), and exploration and mapping of an unknown area. A mobile robot team simultaneously explores the environment, discovers frontier points (points on the border between explored and unexplored space), and environment,and discovers frontier points (pointsarea. on theAborder between explored and unexploredexplores space), and exploration mapping of an unknown mobile robot team simultaneously the environment, discovers frontier points (points on the border between explored and unexplored space), and shares information in order to become dispersed throughout the environment. During the exploration, environment, discovers frontier points (points on the border between explored and unexplored space), and shares information in order to become dispersed throughout the environment. During the exploration, shares information in order to become dispersed throughout the environment. During the exploration, environment, discovers frontier points (points on the border between explored and unexplored space), and shares information information in order order to become become dispersed throughout the environment. environment. During thepositions exploration, information exchanged between the robots limited containing robot and shares in to dispersed the During the exploration, information exchanged between the mobile robots is limited to data containing mobile robot positions and information exchanged between the mobile mobile robots is isthroughout limited to to data data containing mobile mobile robot positions and shares information intarget order to become dispersed throughout theisenvironment. During the exploration, information exchanged between the mobile robots is limited to data containing mobile robot positions and current mobile robot points. The main goal of the approach to allocate the mobile robots to target information exchanged between the mobile robots is limited to data containing mobile robot positions and current mobile robot target points. The main goal of the approach is to allocate the mobile robots to target current mobile robot target points. The mainrobots goal of the approach is containing to allocate mobile the mobile robots to target information exchanged between the mobile is limited to data robot positions and current mobile robot target points. The main goal of the approach is to allocate the mobile robots to target frontier points in a way which minimizes the overall exploration time. Moreover, a mobile robot team at current mobile robot target points. The main goal of the approach is to allocate the mobile robots to target frontier points in a way which minimizes the overall exploration time. Moreover, a mobile robot team at frontier mobile points in a way which minimizes thegoal overall exploration time. Moreover, amobile mobilerobots robottoteam at current robot target points. The main of the approach is to allocate the target frontier points in a way which minimizes the overall exploration time. Moreover, a mobile robot team at the same time creates a common map of the environment. The proposed strategy has been implemented frontier points in a way which minimizes the overall exploration time. Moreover, a mobile robot team at the same time creates a common map of the environment. The proposed strategy has been implemented the same time creates a common map of the environment. The proposed strategy has been implemented frontier points in a way which minimizes the overall exploration time. Moreover, a mobile robot team at the same time creates creates a common common map of of the thewith environment. The proposed proposed strategy has been been implemented in a simulation environment and compared with a state-of-the-art exploration strategy. Simulation results the same time a map environment. The strategy has implemented in a simulation environment and compared a state-of-the-art exploration strategy. Simulation results in a simulation environment and compared with a state-of-the-art exploration strategy. Simulation results the same time creates a common map of the environment. The proposed strategy has been implemented in aa simulation simulation environment andthe compared with state-of-the-art exploration strategy. Simulation Simulation results demonstrate the advantages proposed decentralized multi-robot strategy. in and compared aaa state-of-the-art exploration strategy. demonstrate the advantages of proposed decentralized multi-robot strategy. demonstrate theenvironment advantages of of the proposedwith decentralized multi-robot strategy. in a simulation environment andthe compared with state-of-the-art exploration strategy. Simulation results results demonstrate the advantages of the proposed decentralized multi-robot strategy. demonstrate the advantages of the proposed decentralized multi-robot strategy. license BY-NC-ND CC the under article access open an is This The Authors. 2020 Copyright ©the demonstrate advantages of the proposed decentralized multi-robot strategy. Keywords: Mobile System, licenses/by-nc-nd/4.0) (http://creativecommons.org/ Keywords: Mobile Robot, Multi-Robot System, Frontier Points, Target Point, Decentralized Strategy, Keywords: Mobile Robot, Robot, Multi-Robot Multi-Robot System, Frontier Frontier Points, Points, Target Target Point, Point, Decentralized Decentralized Strategy, Strategy, Keywords: Mobile Robot, Multi-Robot System, Frontier Points, Target Point, Decentralized Strategy, Exploration, Mapping. Keywords: Mobile Robot, Multi-Robot System, Frontier Points, Target Point, Decentralized Strategy, Exploration, Mapping. Exploration, Mapping. Keywords: Mobile Robot, Multi-Robot System, Frontier Points, Target Point, Decentralized Strategy, Exploration, Mapping. Exploration, Mapping. Exploration, Mapping. 1. 1. INTRODUCTION 1. INTRODUCTION INTRODUCTION 1. INTRODUCTION 1. 1. INTRODUCTION INTRODUCTION Application of multi-robot Application of multi-robot systems to solving core robotics probApplication of multi-robot systems systems to to solving solving core core robotics robotics probprobApplication of multi-robot systems to solving core robotics problems has drawn significant attention in the last few decades. One frontier Application of multi-robot systems to solving core robotics problems has drawn significant attention in the last few decades. One frontier lems has drawn significant attention in the last few decades. One frontier Application of multi-robot systems to solving core robotics probpoints points lems has drawn significant attention in the last few decades. One example is coordination of a mobile robot team for exploration frontier lems has drawn significant attention in the last few decades. One example is coordination of a mobile robot team for exploration points frontier example is coordination of a mobile robot team for exploration lems has drawn significant attention in the last few decades. One frontier points points example is coordination coordination of is a mobile mobile robot in team forapplications, exploration of an unknown area, which encountered many example is of a robot team for exploration of an unknown area, which is encountered in many applications, points of an unknown area, which is encountered in many applications, example is coordination of a mobile robot team for exploration filtered filtered of an unknown area, which is encountered in many applications, such as search and rescue (Murphy (2004)), cleaning (Endres filtered of an unknown which is encountered in many applications, such as search and (Murphy (2004)), cleaning (Endres frontier such as search area, and rescue rescue (Murphy (2004)), cleaning (Endres frontier of an unknown area, which is encountered in many applications, filtered frontier filtered such as search and rescue (Murphy (2004)), cleaning (Endres et al. (1998)), (Pinheiro et al. (2015)), warehousing (Wurman points such as search and rescue (Murphy (2004)), cleaning (Endres et al. (1998)), (Pinheiro et al. (2015)), warehousing (Wurman points filtered frontier ROBOT et al. (1998)), (Pinheiro et al. (2015)), warehousing (Wurman points frontier ROBOT such as search and rescue (Murphy (2004)), cleaning (Endres ROBOT et (1998)), (Pinheiro et al. (2015)), warehousing (Wurman frontier al. (2008)) or planetary exploration (Mataric and Sukhatme points et (1998)), (Pinheiro et al. (2015)), warehousing (Wurman al. (2008)) or planetary exploration (Mataric and Sukhatme points ROBOT et al. (2008)) or planetary exploration (Mataric and Sukhatme ROBOT (1998)), (Pinheiro et al. (2015)), warehousing (Wurman points ROBOT et al. (2008)) or planetary exploration (Mataric and Sukhatme (2001)), to aaa few. to that multiet al. (2008)) or planetary exploration and Sukhatme (2001)), to name few. Due to the fact that autonomous multi(2001)), to name name few. Due Due to the the fact fact(Mataric that autonomous autonomous multiet al. (2008)) or planetary exploration (Mataric and Sukhatme (2001)), to name aaentering few. Due to the fact that autonomous multirobot systems are society and as such will interact with (2001)), to name few. Due to the fact that autonomous multirobot systems are entering society and as such will interact with robot systems are aentering society such will interactmultiwith (2001)), to name few. Due to theand factas that autonomous robot systems are entering society and as will interact with people on basis, of efficient coordination robot systems are entering society and as such will interact with people on aaa daily daily basis, development development of such efficient coordination people on daily basis, development of efficient coordination robot systems are entering society and as such will interact with people on aabecomes daily basis, basis, development of of efficient efficient coordination coordination algorithms becomes necessary. people on daily development algorithms necessary. algorithms becomes necessary. people on a daily basis, development of efficient coordination unexplored explored unexplored explored algorithms becomes becomes necessary. necessary. obstacle unexplored explored algorithms obstacle space space obstacle space space Like human robots unexplored explored algorithms necessary. Like in in the the becomes human society, society, robots can can be be more more effective effective when when space space unexplored explored obstacle Like in the human society, robots can be more effective when obstacle unexplored explored space space space space Like in the human society, robots can be more effective when they work together. Moreover, a robot team can accomplish a obstacle Like in the human society, robots can be more effective when they work together. Moreover, a robot team can accomplish a space space they work together. Moreover, a robot team can accomplish a Like in the human society, robots can be more effective when they work together. Moreover, aa robot team can accomplish aa predefined task much quicker than a single robot can (Dias and they work together. Moreover, robot team can accomplish predefined task much quicker than a single robot can (Dias and predefined task muchMoreover, quicker than a single robot can (Dias anda they work together. a robot team can accomplish predefined task much quicker than aaof single robot can (Dias and Stentz Another advantage mobile robot teams is the predefined task much quicker than robot can (Dias Stentz (2000)). Another advantage of mobile robot teams the Stentz (2000)). (2000)). Another advantage ofsingle mobile robot teams isand the predefined task much quicker than a single robot can (Diasis and Stentz (2000)). Another advantage of mobile robot teams is the possibility of sensor fusion, which in turn can help to compensate Stentz (2000)). Another advantage of mobile robot teams is the possibility of sensor fusion, which in turn can help to compensate possibility of sensor fusion, which in turn can help to compensate Stentz (2000)). Another advantage of mobile robot teams is the Fig. Fig. 1. The environment is represented by 2D map, with an possibility of sensor fusion, which in turn can help to compensate for sensor uncertainty (Wurm et al. (2008)). If done properly, Fig. 1. 1. The The environment environment is is represented represented by by aaa 2D 2D map, map, with with an an possibility of sensor fusion, which in turn can help to compensate for sensor uncertainty (Wurm et al. (2008)). If done properly, for sensor uncertainty (Wurm et al. (2008)). If done properly, possibility of sensor fusion, which in turn can help to compensate Fig. 1. The environment is represented by a 2D map, with an occupancy grid that divides the map into cells: white cells Fig. 1. The environment is represented by a 2D map, with an occupancy grid that divides the map into cells: white cells for sensor uncertainty (Wurm et al. (2008)). If done properly, multi-robot coordination can lead to i) task accomplishment in occupancy grid that divides the map into cells: white cells for sensor uncertainty (Wurm et al. (2008)). If done properly, multi-robot coordination can lead to i) task accomplishment in Fig. 1. The environment is represented by a 2D map, with an multi-robot coordination can lead to (2008)). i) task accomplishment in for sensor uncertainty (Wurm et al. Ifmap done properly, occupancy grid that divides the map into cells: white cells describe explored while grey cells unexplored space. Black occupancy grid that divides the map into cells: white cells describe explored while grey cells unexplored space. Black multi-robot coordination can lead to i) task accomplishment in shorter time, ii) increased robustness, iii) higher quality, and describe explored while grey cells unexplored space. Black multi-robot coordination can lead to i) task accomplishment in shorter time, ii) increased robustness, iii) higher map quality, and occupancy grid that divides the map into cells: white cells shorter time,coordination ii) increased robustness, higher map quality, and multi-robot can lead to iii) i) task accomplishment in describe explored while grey cellspoints unexplored Black cells define obstacles. Frontier (red) and describe explored while grey unexplored space. Black cells define obstacles. Frontier points (red) space. and filtered filtered shorter time, ii)completion increased robustness, robustness, iii) higher map quality, and finally iv) the of to be performed cells define obstacles. (red) and filtered shorter time, increased iii) higher map and finally iv) theii) completion of tasks tasks impossible impossible to bequality, performed describe explored while Frontier grey cells cellspoints unexplored space. Black finally iv) the completion of tasks impossible to be performed shorter time, ii) increased robustness, iii) higher map quality, and cells define obstacles. Frontier points (red) and filtered frontier points (green). cells define obstacles. Frontier points (red) and filtered frontier points (green). finally iv) the the completion of (2006)). tasks impossible impossible to to be be performed performed by a single robot (Dias et al. frontier points (green). finally iv) completion of tasks by a single robot (Dias et al. (2006)). cells define obstacles. Frontier points (red) and filtered by a single robot (Dias et al. (2006)). finally iv) the completion of tasks impossible to be performed frontier points (green). frontier by a single robot (Dias et al. by single (Dias al. (2006)). (2006)). frontier points points (green). (green). We the by aaconsider single robot robot (Dias et etof (2006)). multi-robot We consider the problem problem ofal.autonomous autonomous multi-robot exploration exploration the We consider the problem of autonomous multi-robot exploration robots to become the robots to become better dispersed throughout the unexplored the robots to become better better dispersed dispersed throughout throughout the the unexplored unexplored We consider theusing problem ofdense autonomous multi-robot exploration and mapping using fast dense frontier detector and novel We problem autonomous exploration and mapping fast frontier detector aaa novel robots to become better dispersed throughout the unexplored andconsider mappingthe using fastof dense frontiermulti-robot detector and and novel the environment. The considered multi-robot system uses aaa fully We consider the problem of autonomous multi-robot exploration the robots to become better dispersed throughout the unexplored environment. The considered multi-robot system uses fully environment. The considered multi-robot system uses fully and mapping using fast dense frontier detector and a novel decentralized exploration strategy. Frontier detection results the robots to become better dispersed throughout the unexplored and mapping using fast dense frontier detector and a novel decentralized exploration strategy. Frontier detection results environment. The considered considered multi-robot system uses fully decentralized exploration strategy. Frontier detection results connected communication graph, which can however be relaxed and mapping using fast dense frontier detector and a novel environment. The multi-robot system uses aaa fully connected communication graph, which can however be relaxed connected communication graph, which can however be relaxed decentralized exploration strategy. Frontier detection results in points on the border of the explored and unexplored space environment. The considered multi-robot system uses fully decentralized exploration strategy. Frontier detection results in points on on the the border of of the the explored and unexplored unexplored space to connected communication graph, which can however be relaxed in points border explored and space include a (not fully) connected communication graph together decentralized exploration strategy. Frontier detection results connected communication graph, which can however be relaxed to include a (not fully) connected communication graph together to include a (not fully) connected communication graph together in points on the border of the explored and unexplored space the environment frontier points shown in Fig. 1. The connected communication graph, which can however be relaxed in points on the border of the explored and unexplored space the environment environment frontier points shown shown in Fig. Fig. 1. 1.space The with to include aa (not fully)of graph together in points the -- frontier points in The implementation multi-hop information on strategy the border of the explored and unexplored to connected communication graph with implementation ofconnected multi-hopcommunication information sharing. sharing. implementation multi-hop information sharing. in the the environment environment -described frontier points shown in Fig. Fig. to 1. each The with exploration in the paper assigns to each to include include a (not (not fully) fully)of connected communication graph together together in frontier points in 1. The exploration strategy in paper with implementation of multi-hop information sharing. exploration strategy --described described in the the shown paper assigns assigns to each in the environment frontier points shown in Fig. 1. The with implementation of multi-hop information sharing. exploration strategy described in the paper assigns to each mobile robot a frontier point that needs to be explored. Strategy With respect to the existing frontier-based strategies, our with implementation of multi-hop information sharing. exploration strategy described in the paper assigns to each mobile robot a frontier point that needs to be explored. Strategy With respect to the existing frontier-based strategies, our strategy mobile robotstrategy a frontierdescribed point that in needs be explored. Strategy respect to the existing frontier-based strategies, our strategy strategy exploration theonto paper assigns to each With mobile robot a frontier point that needs to be explored. Strategy With respect to the existing frontier-based strategies, our strategy works in a decentralized manner (runs each robot separately), uses different optimization functions and is decentralized and mobile robot a frontier point that needs to be explored. Strategy With respect to the existing frontier-based strategies, our strategy works in a decentralized manner (runs on each robot separately), uses different optimization functions and is decentralized and works in a decentralized manner (runs on each robot separately), uses different optimization functions and is decentralized and mobile robot a frontier point that needs to be explored. Strategy With respect to the existing frontier-based strategies, our strategy works in aa decentralized manner (runs on each robot separately), uses different optimization functions and is decentralized and while aiming to minimize total exploration time. It does so by event-based. We implemented the approach in a realistic ROSworks in decentralized manner (runs on each robot separately), uses different optimization functions and is decentralized and while aiming to minimize total exploration time. It does so by event-based. We implemented the approach in a realistic ROSwhile aiming to minimize total exploration time. It does so by event-based. We implemented the approach in a realistic ROSworks ininformation a decentralized manner (runs ontaking each robot separately), uses different optimization functions and is in decentralized and while aiming to minimize total exploration time. It does so by event-based. We implemented the approach aato realistic ROSsharing between robots and into account the based simulation and compared its performance a state-of-the while aiming to minimize total exploration time. It does so by event-based. We implemented the approach in realistic ROSsharing information between robots and taking into account the based simulation and compared its performance to a state-of-the sharingaiming information between robots and taking intoItaccount based simulation and comparedthe its performance a state-of-the while to minimize total exploration time. does sothe by event-based. We implemented approach in ato realistic ROSsharing information between robots and taking into account the based simulation and compared its performance to a state-of-the characteristics of the so-far explored environment, which enables art method in order to show its advantages. sharing information robots and account the simulation and its characteristics of so-far which enables art in show characteristics of the the between so-far explored explored environment, which enables art method method in order order tocompared show its its advantages. advantages. sharing information between robots environment, and taking taking into into account the based based simulation andto compared its performance performance to to aa state-of-the state-of-the characteristics of the so-far explored environment, which enables art method in order to show its advantages. characteristics of the so-far explored environment, which enables art method in order to show its advantages. characteristics of the so-far explored environment, which enables art method in order to show its advantages. 2405-8963 Copyright © 2020 The Authors. This is an open access article under the CC BY-NC-ND license. Peer review under responsibility of International Federation of Automatic Control. 10.1016/j.ifacol.2020.12.2618 Ana Batinović et al. / IFAC PapersOnLine 53-2 (2020) 9682–9687 CENTRALIZED Google Cartographer Map Laser scan and odometry Map Ground truth poses Frontier detection Filter Frontier points Filtered frontier points Robot localization Mobile robot 1 DECENTRALIZED ... Mobile robot n Path planning and navigation Target point DECENTRALIZED Decentralized exploration strategy Fig. 2. Overall schematic diagram of the decentralized exploration and mapping process for n mobile robots in the simulator. Google Cartographer SLAM and filter module (highlighted in red) generate filtered frontier points that are (currently) the centralized part of exploration and mapping process. The exploration strategy, path planning and navigation module (highlighted green) are decentralized parts that generate n outputs and create a common map. In the next section we describe more thoroughly different parts of the system, state-of-the-art for each part and algorithms used in this paper. In Section III we describe the proposed exploration strategy. Simulation results are presented in Section IV, and in the final section a conclusion is given. 2. EXPLORATION AND MAPPING OVERVIEW Overview of the system is given in Fig. 2. The system consists of a centralized part (Simultaneous Localization and Mapping (SLAM), frontier detection and frontier points filter), which runs on a dedicated computer and a decentralized part (Exploration strategy and navigation), which runs on each robot. In the folloewing text each part is described separately. 2.1 SLAM The laser scan and odometry sensor measurements of each mobile robot represent input data for a Simultaneous Localisation and Mapping (SLAM) module. Most exploration approaches in the literature use the ROS ’gmapping’ package for generating the map and localizing mobile robots (Keidar and Kaminka (2012), Umari and Mukhopadhyay (2017)). The ’gmapping’ package implements a SLAM algorithm that uses a Rao-Blackwellized particle filter (Grisetti et al. (2007)). In this paper, we use a submap-based graph SLAM method - Google Cartographer (Hess et al. (2016)) for map building, which in our case generates the ground truth map. This map is used in simulations to obtain the mobile robot poses (perfect localization) from the Stage simulator (Vaughan et al. (2012)), allowing us to eliminate the SLAM algorithm uncertainty in simulations for algorithm comparison. 9683 The RRT algorithm is biased towards unexplored regions and provides a general approach which can be extended to higher dimensional spaces. However, the method has proved not to be fast enough for a given scenario in instances when larger parts of the environments were explored, so we opted to use a dense frontier detection method from Orsulic et al. (2019). 2.3 Filter Module The filter module receives frontier points from the frontier detector, clusters the points and stores only the centre of each cluster (Umari and Mukhopadhyay (2017)). The clustering process reduces the number of frontier points that are close to each other. In that manner we avoid unnecessary consumption of computational resources, without significant loss of information about the frontier. For clustering we use the Hierarchical Agglomerative Clustering algorithm (Scikit-learn (2019)), which does not require a predefined number of clusters. We only need to set a distance threshold parameter, above which clusters will not be merged. Taking into consideration a given scenario and a laser range, the distance threshold parameter is set to 1 meter. 2.4 Exploration strategy The term exploration strategy considered here includes algorithms for assigning robots to target (frontier) points for environment exploration. Such algorithms can be grouped into centralized and decentralized algorithms. In the centralized approach, each mobile robot receives tasks from a single central leader which runs the overall planning algorithm, and afterwards the mobile robot sends its info back to the leader. Centralized assignment may be less practical due to communication limits (Dias and Stentz (2000)), robustness issues (Dias et al. (2006)), or time required for algorithm execution and scalability (Juliá et al. (2012)). An advantage of centralized approach is that optimal plans can be found (Z. Yan and Cherif (2011)). In contrast to centralized approaches, in a decentralized approach, the mobile robots are completely independent throughout the exploration process. Each mobile robot has its own local knowledge of the world and can decide its future actions by taking into account its current context and tasks, its own capacities and the capacities of the other mobile robots, through a negotiation process (Yan et al. (2013)). Moreover, it typically has better reliability, flexibility, adaptability and robustness (Zlot et al. (2002)). Our approach is a hybrid one - the robots can independently decide towards which target point to navigate using an optimization procedure, while having common knowledge of all target frontier points and sharing information on their position and current goals. In order to determine frontier points we use frontier detection according to Orsulic et al. (2019). This method, which is an extension to Google Cartographer, has achieved good results in terms of wall-time per frontier update, which greatly speeds up our exploration and mapping process. Two frontier-based exploration approaches are introduced in Yamauchi (1998) and Singh and Fujimura (1993). Both approaches are uncoordinated in a sense that robots head to the closest frontier point. Approaches cover homogeneous and heterogeneous multi-robot systems, respectively. Authors in Zlot et al. (2002) use a market-based approach and allow robots to visit a set of goal points (a tour) while continuously negotiating with other robots. One approach similar to ours is given in Burgard et al. (2005), which is a centralized approach that takes into account the costs of reaching a target and the utility of reaching that target. Another detection method, based on Rapidly Exploring Random Trees (RRTs) is given in Umari and Mukhopadhyay (2017). With respect to the mentioned approaches our approach is hybrid and uses slightly different objective functions for frontier 2.2 Frontier Detection 9684 Ana Batinović et al. / IFAC PapersOnLine 53-2 (2020) 9682–9687 points assignment, which are a combination of frontier point cost, utility of reaching the target point and frontier occupancy function. We also cluster frontier points to get a problem of manageable size and thus enable application of known optimization algorithms. Our approach is hybrid in a manner that target point assignment process and navigation are fully decentralized and event-based, that is, each robot team member makes an individual decision on the next target point each time it reaches the previous one. On the other side, SLAM extended with frontier detection and filter module are a centralized part of the exploration and mapping process (Fig. 2). There are several approaches that tackle decentralization of the SLAM for mobile robots (Jiménez et al. (2018), Atanasov et al. (2015)), but this is out of the scope of the paper. We assume that communication range is unlimited, however, one approach for dealing with limited communication range might be to take into account the last target points, such as in Burgard et al. (2005). Another workaround might be to implement a multi-hop communication network. assigned frontier point position ya ROBOT 1 frontier point position yj path rf ROBOT 2 Fig. 3. Illustration of the value of the frontier occupancy function F being different from zero. The mobile robot 1 is assigned to visit a frontier point a (at position ya ), and follows the path to reach it. When mobile robot 2 calculates weight for all the current frontier points (green), F for the frontier point j is different from zero because j is inside the radius rf . With respect to the previous approaches we conduct a realistic ROS-based simulation suitable for straightforward experimental deployment. We use state-of-the art frontier detection and map building software, and provide data to allow for future comparisons of different exploration strategies. Software architecture is modular, allowing components to be easily changed or extended, without affecting the remaining processes. Simulation results given at the end of the paper have shown that the proposed approach achieves better performance than the state-of-the art approach selected for comparison. The utility function U j : (Y × M ) → R+ returns a positive real number. The cells of the occupancy grid M may be marked as explored space, unexplored space or obstacle. The utility function is proportional to the number of the unexplored cells k j within a fixed distance from the frontier point j in the previously defined radius r: 3. DECENTRALIZED EXPLORATION STRATEGY U j = λu k j , At the core of our paper is a decentralized strategy for multirobot exploration and mapping. The mobile robots exchange information about frontier points under the assumption of a fully connected graph and event-based communication. We define a mission as a process that starts by getting a target point and finishes by reaching the target point. Then, event-based communication is triggered by mission accomplishments, since all mobile robots communicate with each other in the moments when the mission for a single mobile robot s over. It means that the rest of mobile robots should send the data even though their missions are in progress and they are still navigating to the goal. The exploration is performed by a team of n mobile robots R = {1, 2, ..., N}, where the mobile robots do not have prior knowledge about the environment, i.e., the position of the boundaries and obstacles. Every mobile robot i gets the list of frontier points Y = {1, 2, ..., M} from the filter module (Fig. 2) in the moments when any of the mobile robots reaches the target point (when a mission is over). Each frontier point j is defined with its position in the environment, denoted as y j ∈ R2 . We define the weight of a mobile robot performing a visit to frontier point Wi j as a function of cost C, utility U and frontier occupancy F. Cost function C: (R ×Y ) → R+ returns a positive real number. If i is the index of the mobile robot, and j is the index of the frontier point, then C(i, j) (denoted in the remaining text as Ci j ) describes the cost of ith robot to visit the jth frontier point. The cost can be a function of time, energy or, like in our case, the estimated distance travelled by mobile robot to reach the target frontier point. The estimated distance is approximated using Euclidean distance between the mobile robot position pi and the frontier point position y j : Ci j = d(pi , y j ) = � (pix − y jx )2 + (piy − y jy )2 . (1) (2) where λu is a constant determined experimentally. When the function U j is taken into account, the mobile robot will prefer frontier points that are surrounded by more unexplored space even if they are a little bit further. It is assumed that the mobile robot will detect all unexplored cells around the assigned frontier point after reaching it. Another important component is the frontier occupancy function Fi j : (R × Y ) → R+ , the 2-dimensional Gaussian function with the position of the mean in a frontier point and with the standard deviation σ = [r f r f ]T . If the frontier point j, for which the mobile robot i is calculating the weight, is in the range of radius r f from the position of an another mobile robot assigned point (ya ); the value of the frontier occupancy function is calculated by Gaussian function, and zero otherwise: � � 2 2 − (y jx −y2ax ) + (y jy −y2ay ) 2σx 2σy if d(y j , ya ) < r f , Fi j = λ f e (3) 0 otherwise where λ f is an experimentally determined constant. An example of the frontier point position y j , assigned point position ya and Gaussian function values inside the radius r f is shown in Fig. 3. The function Fi j is used to prevent assigning frontier point to the mobile robot B if that point is close to a point that is already assigned to mobile robot A. For each frontier point j, the weight Wi j of the i-th mobile robot is calculated as: Wi j = Ci j −U j + Fi j . (4) The weight matrix W (N × M) is formed for N mobile robots and M frontier points: Ana Batinović et al. / IFAC PapersOnLine 53-2 (2020) 9682–9687 9685 Algorithm 1: Decentralized strategy for mobile robot i 1 while Unexplored do 2 if Request then 3 Send position and current target point to the other mobile robots; 4 if Mobile robot i has reached the previous target point then 5 Request positions and current target points from other mobile robots; 6 Calculate the weight matrix W ; 7 Hungarian algorithm (W ); 8 return Mobile robot i is assigned to frontier point; W11 W12 . . . W1 j . . . W1M .. W21 . . . . .. .. .. . . . . W = . . .. .. Wi1 . . .. .. . .. WN1 . . . . . . . . . . . . WNM Robot i reached target point YES Request positions and current target points from the others Calculate the matrix W Hungarian algorithm Target point Path planning and navigation Fig. 4. Execution of the decentralized part of the Fig. 2. Every mobile robot explores the environment following the steps from Algorithm 1. The blue robot accomplished the mission and requests weights from other team members (red). The algorithm is the same for all mobile robots and always executes in the moment when a robot reaches a target point. (5) Since mobile robots have the same set of frontier points, the only information mobile robots share is their position and current target point, needed to calculate (1)-(3). The amount of exchanged data is thus reduced, which enables easier and faster communication. The weight matrix W represents the input into the Hungarian algorithm that finds an optimal assignment solution in polynomial time. The Hungarian algorithm is described in Kuhn (1955) and tested in Kulich et al. (2015). Initially, the Hungarian algorithm assumes that the number of frontier points is the same as the number of mobile robots. Due to the fact that there are usually fewer mobile robots than frontier points, virtual mobile robots are added and then skipped during the process of assignment and exploration. Let the matrix X be the matrix of zeros and ones, where Xi j = 1 iff the mobile robot i is assigned to the frontier point j. Then the optimal task assignment has weight: � � (6) min ∑ ∑ Wi j Xi j , X i NO j anticipating that minimisation of sum will ensure the dispersion of the mobile robots in the environment. All frontier points are visible to all mobile robots. When mobile robot i is assigned to a frontier point according to line 8 in Algorithm 1, the mobile robot starts to follow the planned path and navigates to the target frontier point. At the moment when the mobile robot i reaches the target point (mission is over), a request is sent to other mobile robots to get their positions and current target points, and to fill in the weight matrix W , which is an input to Hungarian algorithm. The described process executes until the whole environment is explored and a complete map of the environment is generated. The Fig. 4 illustrates the described steps and algorithm lines for a mobile robot team. To summarize with respect to the coordinated strategy from Burgard et al. (2005), the cost function described in (1) is the same (probability is taken into account through frontier (a) (b) Fig. 5. Maps used for simulation experiments. (a) Original map: Map from Haehnel (2014). (b) Google Cartographer map: The map generated using Google Cartographer SLAM algorithm. points) and the utility of a frontier point, in contrast to (2), depends on the number of mobile robots that are moving to that point. Component (3) is introduced in this paper. Event-based approach that we use results in less frequent target changes, thus minimizing the need for re-planning. 4. SIMULATION RESULTS The proposed strategy is implemented and compared with the coordinated strategy (Burgard et al. (2005)), one of the first coordinated approaches which achieved enviable results and is easy to implement. The frontier detector and filter module are the same for both algorithm implementations - coordinated and our decentralized. 4.1 Simulation Setup Simulations were carried out in well-known robot operating system (ROS) using the Stage 2D simulator (Vaughan et al. (2012)), which simulates robot movement and lidar perception inside a loaded environment map. The ROS Navigation stack is used to control and direct the mobile robots towards exploration goals. Ana Batinović et al. / IFAC PapersOnLine 53-2 (2020) 9682–9687 9686 The scenario used in the simulation is the Belgioioso Castle, available in Haehnel (2014) and shown in Fig. 5. It is a challenging and a typical office-like scenario with a free space area of approximately 225 m2 . For the simulation, we use a model of Pioneer P3-DX with maximum speed of 1.3 m/s, laser range 20 m and 360◦ laser scan window. The algorithms were tested with teams of two, three and five mobile robots. In our case, the number of mobile robots was limited because of the complex simulation setup and computational requirements. The robots started off in random positions within this world, but the initial positions are the same for both algorithms to allow for comparison. The results are presented as averages of 10 runs for each set. Constants λu , λ f , r and r f were experimentally determined considering map dimensions and mobile robot laser ranges and set to 0.9, 1.2, 0.5, 3.0 respectively. The constant values are set to give more importance to the frontier occupancy function than the utility function. 4.2 Simulation Results The exploration process is visualized using the RViz visualization tool shown in Fig. 6. During the exploration and mapping process, the covered area as a function of time was recorded. The comparison of the coordinated and our decentralized strategy is shown using the Coverage Ratio (CR) indicator which shows the percentage of the accessible terrain covered by the mobile robot cells·100 team. It is calculated as: explored accessible cells , where accessible cells represent free cells. We report the time it took to cover 50, 75, 90 and 98 percent of the environment. Box plots for coverage ratio in time measured during exploration are shown in Fig. 7. As can be observed, the decentralized strategy has an advantage over the coordinated strategy. When we compare the average exploration time for both strategies, we conclude that adding mobile robots to exploration team reduces exploration time. Using our decentralized strategy, it took 7.8%, 15.3% and 32.6% less time for two, three and five mobile robots respectively to explore the environment compared to coordinated strategy. This result shows that our decentralized strategy (within described setup) performs significantly better than coordinated, especially for five mobile robots. However, depending on the area size and configuration, adding of more mobile robots might not pay off in terms of shorter exploration time due to overcrowding. Additionally, openly available source code of this work can be found on Github 1 . It includes developed and implemented decentralized multi-robot exploration strategy as well as our implementation of the coordinated algorithm. Video recordings for simulation with multiple mobile robots can be found on YouTube 2 . 5. CONCLUSION AND FUTURE WORK In this paper, a modular approach to autonomous decentralized multi-robot exploration and mapping was presented. This approach is not only restricted to Google Cartographer SLAM and dense frontier detection, but may also be applied to different multi-robot systems. This strategy has resulted in improved behaviour in terms of exploration time compared to a state-ofthe-art strategy in terms of exploration time. Even though the goals of this paper were shown to be achieved, the algorithm is open towards improving. Future research should consider decentralized map creating. Also, a significant improvement to this strategy would be a simpler simulator, that would allow for simulation of more robots. Another research direction can be an extension to the algorithm to cope with a limited communication range of the mobile robots. Future work should also consider a multi-robot system which uses a (not fully) connected communication graph. Finally, we would like to take into consideration scenarios in which the robots may fail as well as time-varying environment scenarios. REFERENCES (a) (b) Fig. 6. Decentralized exploration with five mobile robots. In (a), the mobile robots focused on different frontier points according to the exploration strategy. For instance, instead of choosing the closest frontier point, the mobile robot 1 navigated to the frontier point that minimized equation (4). Following the same reasoning as mobile robot 1, other mobile robots chose their target points. In (b), the exploration is completed and paths traversed by each mobile robot are shown. Atanasov, N., Ny, J.L., Daniilidis, K., and Pappas, G.J. (2015). Decentralized active information acquisition: Theory and application to multi-robot SLAM. In 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE. Burgard, W., Moors, M., Stachniss, C., and Schneider, F. (2005). Coordinated multi-robot exploration. IEEE Transactions on Robotics, 21(3), 376–386. Dias, M.B. and Stentz, A. (2000). A free market architecture for distributed control of a multirobot system. 6th International Conference on Intelligent Autonomous Systems (IAS-6), 115– 122. Dias, M., Zlot, R., Kalra, N., and Stentz, A. (2006). Marketbased multirobot coordination: A survey and analysis. Proceedings of the IEEE, 94(7), 1257–1270. Endres, H., Feiten, W., and Lawitzky, G. (1998). Field test of a navigation system: autonomous cleaning in supermarkets. In Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146). IEEE. Grisetti, G., Stachniss, C., and Burgard, W. (2007). Improved techniques for grid mapping with rao-blackwellized particle filters. IEEE Transactions on Robotics, 23(1), 34–46. 1 2 https://github.com/larics/decentralized multi robot exploration https://youtu.be/vPEIYrDiT-0 Ana Batinović et al. / IFAC PapersOnLine 53-2 (2020) 9682–9687 9687 Fig. 7. Statistical comparison of coordinated and decentralized strategies tested on two, three and five mobile robots. The box plot compares time for obtaining different coverage ratios for both strategies using the median, quartiles and outliers. Haehnel, D. (2014). Robotics Datasets. http://www2. informatik.uni-freiburg.de/˜stachnis/datasets. html. Accessed: 2019-08-28. Hess, W., Kohler, D., Rapp, H., and Andor, D. (2016). Real-time loop closure in 2d lidar slam. In 2016 IEEE International Conference on Robotics and Automation (ICRA), 1271–1278. Jiménez, A., Garcı́a-Dı́az, V., González-Crespo, R., and Bolaños, S. (2018). Decentralized online simultaneous localization and mapping for multi-agent systems. Sensors, 18(8), 2612. Juliá, M., Gil, A., and Reinoso, O. (2012). A comparison of path planning strategies for autonomous exploration and mapping of unknown environments. Autonomous Robots, 33(4), 427– 444. Keidar, M. and Kaminka, G.A. (2012). Robot exploration with fast frontier detection: Theory and experiments. In Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems - Volume 1, AAMAS ’12, 113– 120. International Foundation for Autonomous Agents and Multiagent Systems, Richland, SC. Kuhn, H.W. (1955). The hungarian method for the assignment problem. Naval Research Logistics Quarterly, 2(1-2), 83–97. Kulich, M., Juchelka, T., and Přeučil, L. (2015). Comparison of exploration strategies for multi-robot search. Acta Polytechnica, 55(3), 162–168. Mataric, M.J. and Sukhatme, G.S. (2001). Task-allocation and coordination of multiple robots for planetary exploration. In In Proceedings of the 10th International Conference on Advanced Robotics, 61–70. Murphy, R. (2004). Human–robot interaction in rescue robotics. IEEE Transactions on Systems, Man and Cybernetics, Part C (Applications and Reviews), 34(2), 138–153. Orsulic, J., Miklic, D., and Kovacic, Z. (2019). Efficient dense frontier detection for 2d graph SLAM based on occupancy grid submaps. IEEE Robotics and Automation Letters. Pinheiro, P., Cardozo, E., Wainer, J., and Rohmer, E. (2015). Cleaning task planning for an autonomous robot in indoor places with multiples rooms. International Journal of Machine Learning and Computing, 5(2). Scikit-learn (2019). Agglomerative Clustering. https:// scikit-learn.org/stable/modules/generated/ sklearn.cluster.AgglomerativeClustering.html. Accessed: 2019-09-15. Singh, K. and Fujimura, K. (1993). Map making by cooperating mobile robots. In [1993] Proceedings IEEE International Conference on Robotics and Automation, 254–259. IEEE. Umari, H. and Mukhopadhyay, S. (2017). Autonomous robotic exploration based on multiple rapidly-exploring randomized trees. In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE. Vaughan, R., Gerkeyand, B., et al. (2012). Stage v4.1.1. http://wiki.ros.org/stage. Accessed: 2019-07-18. Wurm, K., Stachniss, C., and Burgard, W. (2008). Coordinated multi-robot exploration using a segmentation of the environment. In 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE. Wurman, P.R., D’Andrea, R., and Mountz, M. (2008). Coordinating hundreds of cooperative, autonomous vehicles in warehouses. AI Magazine, 29(1), 9–20. Yamauchi, B. (1998). Frontier-based exploration using multiple robots. In Proceedings of the second international conference on Autonomous agents, 47–53. ACM. Yan, Z., Jouandeau, N., and Cherif, A.A. (2013). A survey and analysis of multi-robot coordination. International Journal of Advanced Robotic Systems, 10(12), 399. Z. Yan, N.J. and Cherif, A.A. (2011). Multi-Robot Decentralized Exploration Using a Trade-Based Approach. In Proceedings of the 8th International Conference on Informatics in Control, Automation and Robotics. SciTePress - Science and and Technology Publications. Zlot, R., Stentz, A., Dias, M., and Thayer, S. (2002). Multirobot exploration controlled by a market economy. In Proceedings 2002 IEEE International Conference on Robotics and Automation. IEEE.