Landmark-based Distributed Topological Mapping and Navigation in GPS-denied Urban Environments Using Teams of Low-cost Robots

In this paper, we address the problem of autonomous multi-robot mapping, exploration and navigation in unknown, GPS-denied indoor or urban environments using a swarm of robots equipped with directional sensors with limited sensing capabilities and limited computational resources. The robots have no a priori knowledge of the environment and need to rapidly explore and construct a map in a distributed manner using existing landmarks, the presence of which can be detected using onboard senors, although little to no metric information (distance or bearing to the landmarks) is available. In order to correctly and effectively achieve this, the presence of a necessary density/distribution of landmarks is ensured by design of the urban/indoor environment. We thus address this problem in two phases: 1) During the design/construction of the urban/indoor environment we can ensure that sufficient landmarks are placed within the environment. To that end we develop a filtration-based approach for designing strategic placement of landmarks in an environment. 2) We develop a distributed algorithm using which a team of robots, with no a priori knowledge of the environment, can explore such an environment, construct a topological map requiring no metric/distance information, and use that map to navigate within the environment. This is achieved using a topological representation of the environment (called a Landmark Complex), instead of constructing a complete metric/pixel map. The representation is built by the robot as well as used by them for navigation through a balance between exploration and exploitation. We use tools from homology theory for identifying"holes"in the coverage/exploration of the unknown environment and hence guiding the robots towards achieving a complete exploration and mapping of the environment.


Introduction 1.Motivation
Consider an unknown, GPS-denied urban/indoor environment in which we send out a large, fast-moving swarm of resource-constrained robots with extremely limited sensing capabilities and limited communication bandwidth, and with no a priori knowledge of the environment.Precise range or bearing measurement to the landmarks in the environment may not be available (for example, in an urban environment such landmarks may be wireless routers or 5G antennae identified by their MAC ids, allowing simple wireless/5G receivers to detect only their presence, but not their precise range).For communication and distributed exploration and mapping, each robot can potentially transmit only tens of bytes of data at a time.
An urban/indoor environment can be constructed/designed to aid such teams of robot to effectively explore, map, localize and navigate in.This is relevant in context of search and rescue type operations in such environments where facilities are constructed to aid such operations when necessary.While the swarm of robots itself may not have a blueprint of the environment, they can rely on the structured placement of reliable landmarks to aid with the process of exploration, mapping and navigation.
Without global localization or coordinate charts, our objective is to attain this in a metric-free and coordinate-free manner that does not rely on precise distance or bearing measurements, is fast, robust to errors, and does not require extensive filtering or post-processing in order to compensate for sensing and actuation noise.In this paper we propose the use of simplicial complexes as the metric-free, coordinatefree topological representations of the environment.In particular, the robot swarm constructs an abstract simplicial complex representation, known as the landmark complex, using the landmarks detected by them as they navigate through the environment.This is a low-fidelity but correct (homotopically equivalent) topological representation of the free space (under appropriate assumptions on the density of landmarks and the coverage attained by the swarm).

Related Works
While GPS is broadly available to users around the world for localization and navigation, and so are maps of urban environments, a reliance on such information is not practical in many contexts.For example, GPS or maps may not be reliably available inside buildings with thick concrete walls.Since they require complex infrastructure to operate, GPS or a global map database may not be available for underground or extraterrestrial (such as future Lunar or Martian) colonies.
Most state-of-the-art methods for construction of maps of unknown environments without localization fall under the SLAM literature and require precise metric information (such as range or bearing measurements), rely on relatively precise odometry measurements, and in order to build a complete map, require extensive post-processing for correcting accumulated errors [1, 3-5, 9, 20].Such methods usually construct a gridbased coordinate representation, making the amount of information that need to be shared between robots extremely large, and a precise transformation between the different robots' grid maps difficult to compute [15,26].State-of-the-art visual odometry based localization, mapping and navigation require significant sensing capabilities (such as stereo or monocular cameras) [10,11,19,21,23] in order to determine relatively precise metric information about detected features and landmarks in the environment, and focuses on precise pose estimation of the robots.Various implementations of SLAM can be found in different industries nowadays such as self-driving autonomous vehicles [12,18,22,27] and consumer robot vacuum cleaners [16].These state-of-the-art methods need meticulous metric measurement tools like range measuring sensors, relatively precise odometry measurements, and expensive cameras.
We, on the other hand, use topological methods to address the problem where multiple robots with only on-board limited-range sensors can detect presence of landmarks within their respective sensing disks (the binary information of whether a landmark is present or not), but no distance measurements to the landmarks are used.We consider a multi-robot setup in which a large number of robots need to cooperatively build the topological representation of the environment.Without knowing its own location, nor the locations of other robots in the environment (globally or relative to itself), the robots only communicate to other robots the identity of the landmarks that they observe -an extremely small amount of data -which allows the swarm to build the map collectively and in a distributed fashion.
While our method does not intend to match or compete with the metric precision of high-fidelity state-ofthe-art SLAM techniques, the strength of our method lies in the use of extremely low-fidelity and inexpensive sensing and computational capabilities that allow the robots to perform mapping, localization and navigation tasks without requiring such precision.We consider directional sensors on robots such that the binary information of existence of a landmark can be detected by the robot in its sensor footprint.This makes the configuration space in which the robots need to construct the simplicial complex representation ("landmark complex ") a subset of SE (2).Although we consider constrained resources for robots, landmarks are assumed to be available in necessary density for the topological exploration and mapping of the environment.The robots however cannot measure the bearing or the distance to the landmarks.The only information a robot uses for local control, is whether a detected landmarks is to its left or to its right side.
While landmark complex [13,24], and more generally, simplicial complexes [6,7] have been used for topological representation of environments, most of the existing work in this field has been for robots with disk-shaped sensor footprints in a planar domain.Furthermore, current literature does not explicitly address the problem of planning navigation of robots using the landmark complex, either to gather information that would allow construction of the complex itself or to execute tasks.In this paper we address these practical issues concerning the construction and exploitation of a landmark complex representation.We also design navigation algorithms for the robots constructing the landmark complex representation through exploration of the environment as well as for robots exploiting the landmark complex for goal-directed navigation.

Contribution and Organization
The main contributions of the paper can be broadly classified into three parts: 1) The development of a filtration-based algorithm for determining placement of landmarks in an urban/indoor environment during the design/construction of the environment; 2) Design a set of controllers that would allow a team of robots to perform exploration of the environment for constructing the Landmark complex representation; 3) Design a set of controllers that would allow the team of robots to exploit the partially or fully constructed Landmark complex to perform informed exploration or navigation within the environment.
The paper is organized as follows: In Section 2 we introduce the basic definitions of Simplicial Complex and Landmark Complex.In Section 3 we describe the filtration-based algorithm for strategic placement of landmarks in an urban/indoor environment during its design and construction.Section 4 provides a set of control algorithms for the robots in the swarm which they can use to explore an unknown environment for constructing the Landmark complex and exploit the (fully or partially) constructed Landmark complex for further exploration and navigation.In this section we also use tools from homology theory for detecting 'holes" in the exploration and hence filling them.In Section 5 we provide detailed simulation results and evaluation of the proposed algorithms.

Preliminaries
In this section we provide brief definitions of Simplicial Complex and Landmark Complex.

Simplicial Complexes and Simplices
Definition 1 (An abstract Simplicial Complex [14]).An abstract simplicial complex, K, constructed over a set V (the vertex set) is a collection of sets C n , n = 0, 1, 2, • • • , such that: i.An element in C n , n ≥ 0 is a subset of V and has cardinality n + 1 ( i.e. for all σ ∈ C n , σ ⊆ V, |σ| = n + 1. σ is called a " n-simplex"), and, ii.
Moreover, in Figure 1 an example of simplicial complex is provided.While a graph constitutes of only two sets (V and E), in this example a simplicial complex with three sets is presented.In this figure, K = {C 0 , C 1 , C 2 }, where C 0 is the set of all 0-simplices (vertex set), C 1 is the set of all 1-simplices (edge set) and C 2 is the set of all 2-simplices, representing a triangle that connects three vertices.In this example, the C 0 , C 1 and C 2 are as following: i.

Landmark Complex
A Landmark Complex [13,24], X , is an abstract simplicial complex, composed of the set of landmarks observed by a robot navigating in its configuration space.Assuming the environment has sufficient landmarks (the precise criteria is described in Section 3), a robot's task is to collect the information of the landmarks, and create an abstract simplicial complex which is called Landmark Complex.Every time a robot observes a n-tuple of landmarks, it inserts the corresponding (n − 1)-simplex constituting of the observed landmarks in C n−1 (along with all its faces and sub-faces in C i , i < n − 1).Furthermore, the information contained in the landmark complex can be interpreted to generate the map of the environment.
Simplicial Complex Figure 2: On the left there is an environment with 11 landmarks depicted as stars, and the corresponding landmark complex constructed from 6 observations with omni-directional sensor is shown on the right.Figure 2 illustrates an example of creating a landmark complex by 6 observations with omni-directional sensor and use it to generate the topological map of the environment.In this example, for the first observation point O 1 , the robot observes the landmarks {v 2 , v 3 , v 4 } which actually is a 2-simplex.But, whenever a 2simplex is observed, the connecting lines will also be considered as a 1-simplex, so in this case there exists 1simplex as following, C 1 = {{v 2 , v 3 }, {v 2 , v 4 }, {v 3 , v 4 }} and as the same way the vertices are forming 0-simplex as well.This means, every time that we have an observation forming an n-simplex the lower dimension simplices will be inserted into the landmark complex.So, after 6 observations the created landmark complex would be X = {C 0 , C 1 , C 2 } where the 0-simplex or the V ertices set is equal to The Landmark Complex X can be immersed on a plane to create a visual representation of the topological map as shown in Figure 2. As visible in the image of X , the landmark complex captures the obstacle in the environment in terms of a hole in the complex.

Landmark Placement Algorithm
The ability to plan and implement strategic landmark placement in the environment allows faster robot explorations and precise topological mapping of the environment.For instance, in situations like search and rescue missions, if a building is equipped with sufficient landmarks (beacons) during its construction, firefighters can use a swarm of distributed robots to explore the environment and locate survivors more effectively and safely.Moreover, in hazardous places where the environment is too harsh for humans to operate  (such as in nuclear power plants), having strategically placed landmarks in the environment allows robots to perform maintenance operations autonomously.This is made possible in urban or indoor environments, which, during their design and construction, can be built with the planned placement of landmarks.In this section we describe an algorithm for strategically placing landmarks in an environment in order to attain such objectives.

Domain of Visibility
We define the workspace, W = R 2 − O, to be the set of all possible landmark locations (where O is the set of all obstacles in the environment) and the configuration space C which is the set of all robot's configurations.We also define the visibility domain of a landmark, D p,S ⊂ C, to be the set of all robot configurations in which the landmark at location p ∈ W will be visible to a robot using sensor footprint S ⊂ W. Figure 3a shows a situation where both W and C are subset of R 2 .Therefore, In this figure, the sensor footprint is in shape of a disk.However, in this paper, robots with directional sensors (sector of a disk) are being considered, and accordingly the configuration space C for is a subset of SE (2). Figure 3b shows the visibility domain of a landmark in SE (2).In this figure, the workspace W is still R 2 representing the possible landmark's positions.

Nerve Lemma and Visibility Condition
The overall objective of this section is to establish the visibility and density condition for the presenting Landmark Placement Algorithm (LPA).First we show that the Cech complex [14], H, constructed by the visibility domain of the landmarks will be homotopy equivalent to the Landmark Complex X constructed during the robot explorations.According to the definition of the Cech complex, whenever there is a n-way intersection of visibility domains, there would be a corresponding (n-1)-simplex in H. Furthermore, by definition, a visibility domain is a set of all configurations that a landmark is visible to a robot.Therefore, whenever there is a (n − 1)-simplex in H, it implies that if a robot have a configuration in the intersection of those visibility domains, then all of the n landmarks will be visible to the robot and there would be the corresponding simplex in X too.Therefore, H ∼ = X .In Figure 4, an example is shown for more elaboration.Suppose P = {p 1 , ..., p n } is the set of landmark positions, and M = {D p,S ⊂ C | p ∈ P} is the set of landmark visibility domains.Using the Nerve Theorem from algebraic topology [14], if the open cover M of a topological space C is a good cover, then the nerve of the cover N (R) is homotopy equivalent to the topological space C without missing any topological information of the space.By definition, an open cover M is considered a good cover when not only every nonempty sets of M, but every two and three way intersections are contractible.In other words, the Cech Complex constructed by the visibility domain of the landmarks H is homotopy equivalent to the configuration space C (H ∼ = C) and previously it has been shown that H ∼ = X consequently X ∼ = C. Therefore, during the landmark placement phase, there should be at least one landmark visible to the robot for every configuration in the configuration space to obtain the metric-free

Landmark Placement Algorithm using Filtration over Sensor Footprints
In this section an iterative algorithm is presented to place the landmarks such that the Cech Complex H covers the entire configuration space C. To this end, we use a filtration over sensor footprints -if S s is the true sensor footprint of a robot's sensor, we define S 1 ⊃ S 2 ⊃ ... ⊃ S s to be a sequence of sensor footprints such that S = {S t ⊂ C | 1 ≤ t ≤ s}, where S t is the sensor footprint to be used at t th iteration.The overall algorithm is to place a set of new landmarks in the uncovered regions of the environment at the t th iteration, considering S t to be the sensor footprint at that iteration.Starting with a relatively large sensor footprint, S 1 , we gradually decrease the size of the footprint until we attain S s , while placing landmarks in the uncovered regions in every iteration (Figure 7 illustrates the idea for disk-shaped sensor footprints).More details of the algorithm are provided below.
Denote the position of the i th landmarks by p i and P t = {p i ∈ W | 1 ≤ i ≤ n} is the set of all landmark positions at iteration t, where W is the workspace.Furthermore, we define D P t ,S t = p∈P t D p,S t as the union of all landmarks' visibility domains, such that D P t ,S t ⊂ C. Suppose U t is the complement of the covered space D P t ,S t at t th iteration where U t = C -D P t ,S t and U t ⊂ C. At every iteration, the Landmark Placement Algorithm (LP A) detects U t i , i = 1, 2, ..., m, the i th connected component of the uncovered area U t at t such that U t = m i=1 U t i , and suppose Ū t is the set of all connected components Ū t = {U t 1 , U t 2 , U t 3 , ..., U t m }.In order to cover U t j for j = 1, 2, ..., m, LP A places a landmark at p j such that D pj ,S t covers most of the U t j and inserts p j into the P t .Afterwards LP A will compute the new U t with newly placed landmarks and continues the same procedure until U t = ∅.In the next iteration, LP A goes to the next sequence of the sensor footprints, S t+1 such that S t+1 ⊂ S t and D P t ,S t+1 ⊂ D P t ,S t .Since the net cover of D P t ,S t+1 is smaller than the cover domain with S t , new connected components of uncovered area may open up in the configuration space C. Therefore, new landmark positions need to be populated in P t+1 .We start with P t+1 = P t and then the LP A process restarts by identifying the connected components in At the very first iteration, the LP A starts with a relatively large visibility domain, D p1,S 1 , placed at the center of the workspace W such that in an obstacle-free environment D p1,S 1 ∼ = C.In circumstances that the sensor footprint sequence is consisted of concentric disks (W = C ⊂ R 2 ), S 1 is a big circle where its radius is larger than the diameter of the environment.During the filtration, the radius of S 1 gets decreased until the target sensor footprint S s is reached.On the other hand, in case of directional sensor footprints where C ⊂ SE(2), LP A starts with a large half disk sensor footprint, S 1 , where its radius and the angle of the circular sector reduces during the filtration until it reaches S s .Figure 5 shows a sequence of sensor footprints in SE (2).
In Algorithm 1 the Landmark Placement Algorithm (LP A) is presented.LP A takes the sequence of sensor footprints S as an input, along with the workspace W and configuration space C. At t th iteration, LP A computes the uncovered area U t (Lines 3 and 4).While the uncovered area U t is not fully covered   with the union of all landmarks visibility domains D P t ,S t , LP A detects the connected components Ū t and places a landmark at U t 1 (Lines 6 and 7) and inserts the placed landmark into the set of all landmarks at t th iteration P t (Line 8).Afterwards, the algorithm updates U t (Lines 9 and 10) and repeats this process until U t = ∅.
For the case C ⊂ R 2 , we used the pixel based representation of the image processing package Open-CV to detect connected components of the uncovered area.Moreover, the P lace Landmark(S t , U t 1 ) function, places a landmark at the centroid of the U t 1 such that the visibility domain of the placed landmark D p t ,S t covers U t 1 as much as possible.On the other hand, when C ⊂ SE(2), LP A detects a pixel based representation of θ-slice for the uncovered region U t and for each θ-slice, it detects the connected components Ū t .In other words, the lines 6 through 10 in Algorithm 1 will be repeated for each θ-slice when C ⊂ SE(2).Moreover, the algorithm finds the centroid of the θ-slice and the P lace Landmark(S t , U t 1 ) function places a landmark on a fixed distance ∆S, away from the computed centroid in the opposite direction of θ.The reason of doing this, is to enable the visibility domain of the placed landmark D p t ,S t to cover the U t 1 to the maximum.In order to find the optimum value of ∆S for minimum number of landmarks placed in an environment, we tested LP A with different values of ∆S which the results are presented in Figure 6.
Figure 7, shows an example over different iterations of LP A to populate a simple environment with landmarks for C ⊂ R 2 .In this figure, images on each row represent one iteration on filtration over sensor footprint.Moreover, Figure 8 shows the same environment populated with landmarks using LP A where C ⊂ SE(2).In Figure 9, results of performing the Landmark Placement Algorithm on two different complex

Multi Robot Exploration and Navigation
In this section we describe algorithms for constructing the Landmark complex through exploration of the environment, as well as algorithms for exploiting the constructed Landmark complex for informed exploration and navigation within the environment.

Sensor Model
At any instance of time, a robot can detect a landmark, if it falls into the robot's sensor footprint.However, the robot cannot measure the bearing or the distance to the landmarks.The only information a robot has, is whether the detected landmarks are to its left or to its right side.This is a model for two low cost sensors attached to each side of the robot, with each sensor being able to detect the presence of a landmark only  end while 12: end for 13: return P s when it is present on the sensor's side of the robot.No other range or bearing information is assumed to be available.

Landmark Observation
Assuming C ⊂ SE(2) (for directional sensors) and W ⊂ R 2 , at time t the location of i th robot is denoted by is the set of all robots' locations.At each time step, each robot will make an observation to create a simplex from the observed landmarks.Every time a robot observes a n-tuple of landmarks, it inserts the corresponding (n-1)-simplex constituting of the observed landmarks in C n−1 (along with all its faces and sub-faces in C i , i < n − 1).Algorithm 2 takes the robot's location r i = (x i , y i , θ i ) as an input.Each time the i th robot will detect landmarks falling into its sensor footprint and store them in the simplex set S. The subroutine M ake Observation(r i ) inserts not only the observed simplex S, but also all of the faces and sub faces of S into the landmark complex K recursively.Moreover, the landmark complex K is a global variable stored on a centralized server.

Robot Short-Term-Trajectory (ST T ) Modeling
In this section, a non-holonomic model for generating robot short-term-trajectories is presented, which can be used for directing the robot towards a specific landmark in its domain of visibility.This short-term-  Since the location of landmarks and robots are unknown in the environment, our strategy is to generate short paths (short-term-trajectories) described by Dubins curves [8] for each robot in order to attain a short term control objective.In other words, we modeled the short-term-trajectories of the robots as arcs of circles with distinct radius ρ and arc length s, tangent to the robot's current orientation (See Figure 10).Given these two parameters, there would be two choices of Dubins curves.One make the robot to turn towards its left and the other one to its right.This binary choice is described by a two-state variable β which can either be +1 (right turn) or -1 (left turn).Consequently, the short-term-trajectories are described by three variables, (ρ, s, β).
It is notable that ρ and s are limited to upper bounds and lower bounds.ρ can assume value in range of [0, ∞) where ρ = 0 allowing rotations at the robot's position and ρ = ∞ corresponding to a straight line.However for computational purposes, we assume a large finite ρ max as the upper bound on ρ.Moreover, Algorithm 2 M ake Observation(r i ) //Updates the Landmark Complex, K, using observations.Require: a. Robot's location  s can assume value in range of [0, min{s max , πρ}) where s max is a constant value.Choosing the upper bound from the minimum of s max and πρ will avoid arc lengths grater than half a circle.Hence, ρ will have a value from [0, ρ max ) and s from [0, min{s max , πρ}).
We assume robots can detect obstacles when they are in contact with them.In such case, if robots collide with an obstacle while executing the short-term-trajectory, they will turn on their position to acquire a new orientation and resume exploring.Figure 10 shows an example of robot short-term-trajectory sequence modeled as Dubins curves.In this example, the position of the i th robot at the t th time step is denoted as r t i .At each time step, robot will choose a Dubins curve as the short-term-trajectory and follows the created path to reach the goal.In this case the followed path is T = {(ρ 1 , s 1 , β 1 ), (ρ 2 , s 2 , β 2 ), (ρ 3 , s 3 , β 3 )}.In this figure the path (ρ 1 , s 1 , β 1 ) also can be found which implies that with a same ρ 1 and s 1 there exists two paths.This shows the importance of β.

Modes of Walk
In this section we describe different modes of walk that the robots can assume depending on the desired balance between exploration of the unknown regions of the environment and exploitation of the partiallyconstructed Landmark complex.These include random walk which is the only feasible option when the the robots know nothing about the environment or when the robots are venturing into completely unexplored sections of the environment.But with a partially-constructed Landmark complex the robots can exploit it to perform an Informed Systematic Walk for more efficient exploration of the environment at the frontiers to the unexplored regions.Finally, when the Landmark complex is mostly complete, we can use tools from homology theory to detect "holes" in complex (small islands of unexplored regions) and use the robots to perform targeted exploration of such regions in order to complete the Landmark complex using a Homology Informed Walk.

Random Walk
Since at the beginning of the exploration the Landmark complex is empty and there is no reference for the robots to use as a guide (recall that the location of landmarks and robots are unknown), robots need to perform Random Walk (RW ) to construct a partial Landmark complex in order to localize themselves with respect to the observed landmarks.In this section, a description of the Random Walk algorithm is provided.
To develop a Random Walk, all three variable for generating the robots' short-term-trajectory (ρ, s, β), are randomly chosen with ρ and s being selected from a uniform probability distribution.Therefore, ρ will be sampled from [0, ρ max ) and s from [0, min{s max , πρ}).This will enable the robots to choose between a vast variety of paths at each time step.For instance Figure 11 shows some of these possible paths.In this figure, in time t, the i th robot is in r t i and randomly picks one path which in here is (ρ 3 , s 3 , β 3 ) and moves to r t+1 i .We refer to a single step of Random Walk as the execution of single short-term-trajectories explained above.
Algorithm 3 r * i := RW Observe(r i ) Require: a. Robot's location r i = (x i , y i , θ i ) Ensure: a. Robot's updated location r * i = (x * i , y * i , θ * i ) 1: [ρ, s, β] := U niRand Sample(ρ max , s max ) 2: Set J := Generate P ath(ρ, s, β) M ake Observation(r i ) 6: end for The pseudo code given in Algorithm 3, describes the Random Walk and Observation subroutine RW Observe(r i ).The input to this function is the i th robot's location r i .It will move the robot to the new random location r * i while observing new simplices and updating the landmark complex K.In line 1, the variables (ρ, s, β) are sampled randomly from a uniform probability distribution.Furthermore, the function Generate P ath returns a set of points J in the configuration space C ⊂ SE(2) (Line 2).The i th robot's location is updated with these configurations, while the robot makes an observation to update K each time along the path (Lines 3 to 6).

Informed Systematic Walk
Once robots have created a partial Landmark complex, they can exploit that information to perform a more systematic form of walk which result in faster landmark complex construction through increased exploration at the boundaries/frontiers of the unexplored regions.
The key insight behind this mode of walk is to navigate the robots to the landmarks that are observed fewer times in comparison to other landmarks.Those landmarks correspond to regions that are more likely to have remained unexplored (frontier or boundary regions).We refer to these landmarks as frontier landmarks.In other words, frontier landmarks are expected to be the boundaries of the unexplored regions since they are observed fewer number of times.The Informed Systematic Walk (ISW ) is designed to navigate the robots to the least observed landmarks.Moreover, ISW partitions a set of landmarks based on the number of robots and navigates each robot to the least observed landmark within its partition.In following subsections, the descriptions of individual components of ISW are given.
i. Voronoi partitioning based landmark assignment: Since there are multiple robots, we used graph search-based Voronoi partitioning to assign landmarks to the robots.In other words, ISW will partition the environment into cells centered around the robots and assign the least observed landmark in Figure 12: Voronoi Partitioning around each robot (depicted as stars).Landmarks with darker colors imply that they have been observed more than landmarks with lighter colors.Landmarks that are observed fewer number of times form the boundary are the ISW target.each cell to the corresponding robot.
We construct the graph G from the partial Landmark complex built by robots during the exploration, such that the vertex set V(G) is the 0-simplices and the edge set E(G) is the 1-simplices of the constructed landmark complex.We use a Dijkstra type wave front propagation algorithm to construct Voronoi Partitioning on the graph G [2].In order to do so, we initiate the open list with the vertices corresponding to the landmarks currently being observed by the robots.Moreover, the cost on every edge (C G ) is equal to 1 unit.The pseudocode given in Algorithm 4, describes our Voronoi partitioning algorithm which returns the tessellation map, τ, of landmarks to the robots.In line 6 the open list is initiated with the landmarks observed by the i th robot at current time step for every i = 1, 2, • • • , N and in line 7 these landmarks are assigned a partition identity of i which means the landmark is assigned to the i th robot.Lines 11 through 21 corresponds to the main loop of the algorithm.With every iteration, the vertex with minimum g-score in Q (the unexpanded vertices), is expanded.Furthermore, the algorithm checks for improvement in g-score for the neighboring vertices of the expanded vertex (line 14 to 20).If the potential g-score of a neighbor is less than the current one, the algorithm updates the g-score of that vertex and when a vertex is updated with an improved g-score, the tessellation identity of that vertex also gets updated (line 18).
Figure 12 depicts Voronoi partitioning and shows the path that the robots need to take in order to reach the least observed landmark in the corresponding partition.
ii. Dijkstra's search for shortest path in 1-skeleton: Once the tessellation τ is computed, each robot find the landmark with least observation count within its own partition.We refer to this landmark as goal landmark.We construct the shortest path from the robots' current location to the goal landmark using Dijkstra algorithm on the graph G.The output of Dijkstra search algorithm is a sequence of landmarks that a robot need to navigate along.Suppose the sequence of landmarks (path landmarks) for i th robot is Each robot will use the obtained path landmarks to reach its assigned goal landmark in its own partition.
Algorithm 5 describes our ISW (R, i) subroutine.Inputs to this function are the set of robots location R and the identity of the robot running this function i.It also uses the global variable K to construct the graph G (Line 1).In line 2, the algorithm computes the tessellation map τ by using the V oronoi(R, G) subroutine, described in Algorithm 4. Afterwards, the least observed landmark (goal landmark) in the i th robot partition will be identified i * (Line 3), and by using Dijkstra algorithm on graph G, the shortest distance (g score) of the i th robot to the goal landmark i * is computed (Line 4).Therefore, the outputs of ISW are the identity of the i th robot's goal landmark i * and the shortest distance from the robot to its goal landmark g score.
iii.Navigation: In order to navigate along the path landmarks L i , the i th robot needs to generate short-term-trajectories that will take it from one landmark in the sequence into the next.Suppose the i th robot observed l k in the sequence.In order to navigate to l k+1 , it first need to make sure l k+1 is within its sensor footprint.Based on our assumption on the sensor model, a robot cannot measure the bearings or the distance to the landmarks.However, it has the information on whether l k+1 is to its left or to its right side.Based on this information, robot will choose the proper β to create the appropriate short-term-trajectory to Set g(p i,k ) := 0 q :=argmin q ∈Q g(q ) //Maintained by a heap data structure 13: for each {w ∈ N G (q)} do //For each neighbor of q 15: Set g := g(q) + C G ([q, w]) 16: if g < g(w) then navigate towards its goal landmark.β = +1 if l k+1 is to the robot's right side and β = −1 if l k+1 is to its left side.However, we sample ρ and s randomly as before.
On the other hand, if l k+1 is not visible to the i th robot, few steps of random walk will be taken in order to find l k+1 .In case that even after taking few steps of random walk, l k+1 was not visible, a new Dijkstra search will be executed to generate new sequence of path landmarks to the goal.Figure 13 illustrates an example of the navigation algorithm.In this example the i th robot is depicted in different time steps.Moreover, L i = {S i , l 1 , l 2 , l 3 , l 4 , ..., l 11 , G i } is the sequence of path landmarks provided by the Dijkstra algorithm, that directs the robot from starting landmark S i towards the goal landmark G i .At each time step, robot chooses β according to the orientation of the nearest path landmark.
M ake Observation(r i ) 7: end for 8: return r * i In Algorithm 6, an outline of Execute Short-Term Trajectory and Observation subroutine EST T Observe(r i , l k ) is presented.Similar to RW Observe(r i ) subroutine, this function also takes the the i th robot's location r i and returns the updated location r * i while observing new simplices and updating the landmark complex K.As described in Algorithm 3, RW Observe(r i ) generates the short-term-trajectories completely randomly by sampling all (ρ, s, β) variables from uniform probability distribution.However, in line 2 of EST T Observe(r i , l k ) subroutine, the Lef t Right function takes the observed landmark l k and the i th robot's location r i as inputs and checks whether l k is to the left or right side of the i th robot and return β = +1 if l k is to the robot's right and β = −1 if it is to the left.Nevertheless, ρ and s are still randomly chosen (Line 1).Afterwards, similar to RW Observe(r i ), the set of points J in the configuration space C ⊂ SE( 2) is generated by taking the (ρ, s, β) variables (Line 3).Ultimately, for each configuration in J , the i th robot's location is updated while making observations to update K (Lines 4 to 7).
In Algorithm 7, the pseudo-code for the N avigate(r i , i * ) subroutine is presented.Inputs of this function are the position of the i th robot and the identity of the goal landmark i * .In line Graph G := Construct Graph(K)

25:
Bool executed rw := true Bool successf ul := true 31: end if 32: end while 33: return r * i Figure 14: Too many consecutive ISW will lead the boundary of the simplicial complex to grow in horn-like shape as depicted.
takes the graph G and goal landmark's identity i * as inputs and returns the set of path landmarks L i for the i th robot to the goal landmark.In lines 8 through 18 of the algorithm, i th robot tries to find the furthest landmark in path landmarks set L i in order to make a shortcut if there is any available (Line 8).Once the furthest visible landmark in L i is identified (j th path landmark L i [j]), the algorithm executes a short-termtrajectory based on the orientation of the j th landmark by using the EST T Observe(r i , L i [j]) subroutine described in Algorithm 6 (Line 10).This function moves the i th robot to the next location while making observations along the path to update landmark complex K. Afterwards, all the path landmarks until L i [j] will be removed from L i (Lines 11 to 13).However, if non of the path landmarks in L i are visible to the i th robot, the algorithm will perform few steps (σ) of Random Walk (Lines 22 to 25) and checks for the visibility of the landmarks in L i one more time.Even if after the execution of Random Walk non of the remaining path landmarks are visible to the robot, a new Dijkstra search will be performed to generate new set of path landmarks L i .
iv. Interleaving between ISW and RW : A noteworthy point in ISW is to not use it repeatedly.Since ISW always navigates the robots to the least observed landmarks, there might be landmarks with fewer observation count which may be far away from the current frontier and ISW tries to navigate the robots to them.Moreover, since ISW will only increase the landmark's observation count by one unit, robots may need to visit the current landmark again soon after they observed the next landmark.In other words, after observing the least observed landmark, the next step of ISW will leave this obtained landmark for one that has been observed less.Therefore, the consecutive steps of ISW will cause robots jumping between different landmarks.On the other hand, since robots have directional sensors, few observations are needed to capture the simplices which are connected to that landmark.In order to capture all the landmark's neighbors, robots need to approach to the corresponding landmark with different orientations.
Another issue caused by having consecutive ISW is that, the frontier of the simplicial complex could grow non-uniformly in one particular direction.Essentially, ISW tries to grow the boundaries and it always do that with the closest landmark.Consequently, after too many consecutive steps of ISW the boundary will have a horn-like shape as depicted in Figure 14.In other words, ISW is only useful for acquiring new frontiers.
Hence, to solve both of these issues, few steps of RW is needed to explore the adjacent landmarks to ensure they have been observed sufficient number of times before switching back to ISW .

Homology Informed Walk
Once the robots performed RW and ISW , there might still remain some holes in the constructed landmark complex coverage K due to the insufficient number of observations.We call them false holes (holes in the Landmark complex due to insufficient exploration -See Figure 16a), as opposed to the holes generated in the landmark complex due to the presence of obstacles.In order to localize them and navigate the robots to these false holes, we used homology theory to detect 1-simplices that bound them (See Figure 16d).In the following subsections, we briefly describe how tools from homology theory can be used to identify these 1-simplices and navigate robots to them.Fore more details on these methods the reader can refer to [6,14].i. Boundary matrices and higher order Laplacian: In order to use the homology theory, first we need to define the boundary matrices B 1 and B 2 to be n × m and m × p matrices, where n, m, and p respectively are the number of 0-simplices, 1-simplices, and 2-simplices.
Consider the simplicial complex in Figure 15.To construct B 1 and B 2 we need to assign arbitrary orientation to the 1-simplices and 2-simplices as shown in the figure.The (i, j) th element of B 1 matrix, where i is the identity of the vertex and j is the identity of the 1-simplex, can only have 0, +1, and -1 values.It will be 0 when the i th vertex is not one of the ends of the j th 1-simplex, +1 when j th 1-simplex points towards the i th vertex, and -1 if j th 1-simplex points away the i th vertex.For instance, in the given example, the first column of B 1 which corresponds to e 1 , will have +1 for the (1, 1) th element, -1 for the (2, 1) th element, and the rest will remain zero.Similarly, the (j, k) th element of B 2 , where j is the identity of the 1-simplex and k is the identity of the 2-simplex, also can only have 0, +1, and -1 values.It will be 0 when the j th 1-simplex is not adjacent to the k th 2-simplex, +1 when they are adjacent and their orientations are aligned, and -1 if their orientation do not match.For instance the (2, 1) th element of B 2 will be -1, whereas (4, 1) th and (6, 1) th elements of B 2 will have a +1 value while the rest is zero.B 1 and B 2 matrices of the simplicial complex given in Figure 15 are provided in the following.
We are interested in a specific element from the kernel of L 1 which corresponds to a set of 1-simplices forming tight cycles around the holes in the complex.
ii. Laplacian dynamics and 1 -norm minimization: to identify the 1-cycles that bound the false holes tightly, we used the results of [6].In this work, the authors considered the combinatorial Laplacian flow  Starting with any x(0) ∈ R m , where m is the number of 1-simplices in the landmark complex K, it can be shown that the Laplacian flow will converge to ker L 1 where x is a linear combination of 1-cycles that bounds the 1-dimensional holes in the complex (See Figure 16b).In order to get the tightest 1-cycle around a hole we need to solve the following 1 -norm optimization problem.
To solve this problem, a subgradient method is used [25].
The initial condition used in equation ( 4) is z 0 = 0, z ∈ R p where p is the number of 2-simplices in the landmark complex K.Moreover, α k is the step size which by picking a small enough α k , the converged z gets close to the optimal solution (See Figure 16c).
iii.HIW algorithm and navigation: The pseudo-code given in Algorithm 8, presents the outline of the HIW algorithm and navigation.
In line 3 and 4 of this pseudo-code, x * and z * respectively are the converged solutions of equations ( 2) and (4).In line 6 through 10, the algorithm checks the absolute value of every element in vector y = x * + B 2 z * (y ∈ R m ), and if it is greater than a computed threshold (ζ), the identity of that 1-simplex will be inserted to Q.The higher the value of |y[i]| for the i th 1-simplex, it is more likely to be adjacent to a hole.It is notable that ζ is computed using the standard deviation of |y[i]|, i = 1, 2, • • • , m.Since a large number of elements in vector y have values close to zero and only a small fraction have absolute values greater than zero (See Figure 16c), if we order the elements in vector y by absolute values, we would be able to see a jump.In order to find the appropriate thresholding value at where the jump occurs, we use the standard deviation of vector |y[i]|, i = 1, 2, • • • , m to compute ζ, independent from size of the vector y.
Since we selected the 1-simplices with highest absolute value in vector y, these edges constitute the tightest 1-cycle that bound holes in the landmark complex K (See Figure 16d).Furthermore, since these 1-simplices constitute of connected components surrounding isolated holes, we need to identify each of them.Therefore, we construct graph G such that the vertex set V(G ) and the edge set E(G ) are the 0-simplices and 1simplices in Q (Line 11).Afterwards in line 12, the function Identif y Connected Components takes the graph G as an input and by using Dijkstra algorithm on G , is able to identify these connected components.shows the corresponding Landmark complex (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 just for the purpose of visualization).
The output of this function is the set Cc where the i th element in the set itself is a set of 0-simplices corresponding to the i th connected component.
In lines 13 to 20, each robot will find its own assignment to a connected component and will navigate to explore and observe the 0-simplices in order to cover the holes.This is executed on an individual thread for each robot.In order to assign the connected components to the robots, we used the Hungarian Algorithm, since it is of a cubic complexity [17].To use Hungarian Algorithm, we compute the cost matrix Ct (line 15) which is of size N × M , where N is number of robots and M is the number of connected components.The (i, j) th element of Ct constitutes of the distance from the i th robot to the j th connected component and it is computed by running the Dijkstra algorithm on the graph G constructed over the landmark complex K. Furthermore, in line 16, the Hungarian Assignment function, takes the cost matrix Ct and the identity of the robot running this thread as inputs, and returns the identity of the assigned connected component (j * ).Lines 17 to 19 of Algorithm 8, navigate the i th robot to each 0-simplices in Cc[j * ] using the function N avigate(r i , i * ) described in Algorithm 7. By navigating each robot to these connected components, we explore the regions corresponding to the holes in the coverage, hence we are able to cover the false holes much faster than combined RW and ISW .In Figure 17 the Hungarian assignment with the corresponding shortest path to the assigned connected component for each robot is depicted.
Results of the HIW algorithm is presented in Figure 18.In Figure 18a, 4 robots have performed combined RW and ISW to construct the simplicial complex.Afterwards, robots switch to HIW to detect the holes in the simplicial complex.We explain the switching strategy in detail in Section 5, where we experimentally discover the optimal criteria for switching.We assume that robots are able to detect whether a landmark is adjacent to an obstacle or not.Therefore by using this information robots are able to distinguish the false holes from the holes that are corresponding to the obstacles in the environment.

Landmark Complex Construction Algorithm (LCCA)
So far we have explained necessary concepts and subroutines for the overall Landmark Complex Construction Algorithm (LCCA).In this section we put these concepts together and develop Algorithm 9 for enabling a group of robots to create a Landmark complex representation of an environment through a balanced strategy of exploration and exploitation.At each time step, each robot will make an observation to create a simplex from the observed landmarks and to update the landmark complex K.Moreover, this algorithm runs for each robot on a separate thread (Line 1 through 21).
Since at the beginning of the exploration, the location of landmarks and robots are unknown, robots will perform a fixed number of steps (γ) of RW, to construct a partial landmark complex in order to localize (e) Final Landmark complex of the environment after performing the second step of HIW Figure 18: Detection and exploration of false holes using HIW (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 just for the purpose of visualization) themselves with respect to the landmarks (Lines 2 through 4).Once robots have created a sufficiently large landmark complex, they switch to the combined RW and ISW (Lines 6 through 20) until the growth rate of landmark complex K become less than ε 1 .Furthermore, RW takes the location of the i th robot running the thread as an input (r i ), where ISW will take the set of all robots' location R and the identity of the i th robot to find the goal landmark and the distance to it for the i th robot.However, ISW also uses the established landmark complex K, which is a global variable, to construct graph G for Voronoi partitioning algorithm, described in Algorithm 4, and to find the g score to the goal landmark.
In addition, LCCA interleaves between ISW and RW to avoid issues caused by too many consecutive steps of ISW.As described in Informed Systematic Walk subsection, these issues are, first, navigating the robots to the far frontier landmarks back and forth, and second, growing the landmark complex non-uniformly.To this end, in line 7, the algorithm checks whether the i th robot is at the boundary of the landmark complex or not, by checking the g score of the acquired goal landmark.Also it checks the number of which ISW has been performed consecutively.If the g score is less than a fixed number ω, or if the counter on consecutive steps of ISW is greater than a fixed number η, LCCA will execute δ number of RW (Lines 15 through 19).
At the final stages of the exploration, LCCA will switch to Homology Informed Walk, explained in Algorithm 8.This will enable the robots to locate holes in the landmark complex K and to cover the false holes much faster than ISW and RW.When the growth rate of the landmark complex K becomes less than ε 2 , where ε 2 < ε 1 , the exploration will be stopped.

Algorithm 9 Landmark Complex Construction Algorithm
Require: a. Set of Agents location: end for 5: while rate of growth K ≤ ε 1 do 6: [i * , g score] := ISW (R, i) Homology Inf ormed W alk(R) 20: end while 21: return K

Results
Our proposed Landmark Placement Algorithm (LP A) described in Section 3 was implemented in C++.The algorithm allows us to design strategic placement of landmarks in an environment during its de-  LCCA in first complex environment (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 and superimpose that on top of a map of the actual environment just for the purpose of visualization).sign/construction in order to ensure that at least one landmark is visible to a robot sensor for every configuration in C ⊂ R 2 (for disk-shaped sensor footprints) or C ⊂ SE(2) (for directional sensors).In Figures 7  and 8, results for populating a simple environment with landmarks are provided for C ⊂ R 2 and C ⊂ SE(2) respectively.Moreover, Figure 9 shows the results of Landmark Placement Algorithm (LP A) on two different complex environments.These environments are populated with the landmarks where C ⊂ SE (2).In this figure, the Cech complexes of the visibility domain of the landmarks for these environments are also depicted.
We also implemented the Landmark Complex Construction Algorithm (LCCA) described in Section 4 using C++.Our implementation is a multi-threaded one, with each thread emulating a robot, and with limited inter-thread communication to construct and update the Landmark complex maintained in the cloud (a central server).We evaluated the proposed algorithm using two different complex environments refereed to as the first complex environment and the second complex environment.Results of the Landmark Complex Construction Algorithm is presented in Figures 19 and 20 for the first and second complex environments respectively.
To evaluate the role of HIW in improving exploration of the environment, we executed the LCCA with varying amounts of HIW and recorded the number of observations required.As a reference/benchmark, we first counted all the 2-simplices in the Cech complex of the visibility domain of the landmarks.Then we ran LCCA to construct 98% of those 2-simplices in the simplicial complex.We ran 5 simulations for each of the complex environments, in which 4 robots performed combined RW and ISW to construct 98%, 97%, 95%, 93% and 91% of the simplices respectively, following which HIW was used to complete the   remaining 0%, 1%, 3%, 5% and 7% respectively of the simplices to reach the target 98%.Figure 21 shows the results of this experiment.We can deduce that HIW improves the algorithm by reducing the total number of observations needed, to complete 98% of the total 2-simplices, however its effectiveness starts diminishing beyond a certain percentage.In fact Figure 21 suggests that the optimum level of HIW use is to construct the last 5% of total 2-simplices with HIW .Since the total number of 2-simplices is unknown to the robots, we need a strategy for switching to HIW without using this information.A useful data that robots have, is the growth rate of the simplicial complex.We define the growth rate of the simplicial complex (r), equal to the number of the new 2-simplices added to the simplicial complex at each iteration divided by the total number of 2-simplices that are already existing in the simplicial complex.Figure 22 shows the growth rate of the simplicial complex with time.As the exploration continues, it decreases exponentially indicating that the number of new 2-simplices added to the simplicial complex decreases with time.We experimentally find the optimal value of r at which the switch to HIW results in completion of the exploration with the minimum number of observations.To this end, we ran hundreds of simulations for each environment and recorded the number of total observations, as well as the growth rate value that the HIW switch happened.The results of these simulations are given in Figure 23.The x-axis denotes the growth rate value at which the switch happened and the y-axis is the total number of observations that robots made to complete the exploration.It is noteworthy that switching on smaller r corresponds to smaller contribution of HIW in constructing the simplicial complex.While some HIW does help with completing exploration with fewer observation, too much of HIW increases the number of observations.This is expected since the purpose of HW I is to fill holes within the complex, and not complete exploration when there are unexplored frontiers.In fact, as evident from the plots in Figure 23, a growth rate of about 0.004 is the optimal value at which switching to HIW minimizes the total observation count.The number of the observations required to complete the simplicial complex plotted against the growth rate vale at which the switch to HIW is performed.As evident, a switch at the growth rate of about 0.004 gives an optimal performance in either of the environments.

Figure 1 :
Figure 1: An abstract simplicial complex consists of simplices of different dimensions.In this figure, the simplicial complex on the right, constructed from 0-simplices, 1-simplices and 2-simplices, depicted individually on left.

Figure 3 :
Figure 3: Domain of Visibility: Figure (a) shows the domain of visibility for R 2 , and Figure (b) shows it for SE(2).

Figure 6 :
Figure 6: Number of landmarks for different ∆S values.

Figure 7 :
Figure 7: An example of LP A in R2 with omni-directional sensor footprints.Each row demonstrates populating the environment with landmarks for a fixed sensor footprint (from a chosen filtration over the sensor footprints) at a particular iteration.In the first row sensor footprint is S 1 and in the last row it is the target footprint S s .

Figure 8 :
Figure 8: Landmark placement algorithm final result for a simple environment in SE(2).
(a) First complex environment (b) Landmarks populated in the first environment (c) Second complex environment (d) Landmarks populated in the second environment (e) Cech Complex constructed by the visibility domain of the landmarks for the first environment (f) Cech Complex constructed by the visibility domain of the landmarks for the second environment

1 :Figure 10 :
Figure 10: Robot Short-Term Trajectory Modeling: This example, shows a robot following the trajectories modeled as Dubins curves to reach a goal point.

Figure 11 :
Figure 11: An illustrative example of Random Walk algorithm.In this figure, different short-term-trajectories (ST T ) have been shown where ST T i is (ρ i , s i , β i ) and ST T i is (ρ i , s i , β i ).

17 : 18 :Algorithm 5 1 : 2 :Figure 13 :
Figure 13: Navigation Algorithm: The i th robot uses the path landmarks L i to navigate from S i to G i .

( a )
As shown, there is a false hole in the simplicial complex (b) The corresponding result after solving the Laplacian Dynamics (c) Result after 1 -Norm Minimization (d) Result after choosing vertices that bound the false hole

Figure 16 :
Figure 16: The Laplacian Dynamic and 1 -norm minimization can localize the holes in the simplicial complex

Figure 17 :
Figure 17: Hungarian assignments with corresponding shortest paths to the false holes in the simplicial complex.In Figure (a) some of the false holes and the assigned robots with the shortest paths to each assignment are shown, and Figure (b)shows the corresponding Landmark complex (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 just for the purpose of visualization).
(a) The constructed simplicial complex K t after performing combined RW and ISW (b) Detected false holes in the simplicial complex K t (c) Fixed simplicial complex K t+1 after performing the first step of HIW (d) Detected false holes in the simplicial complex K t+1 (a) observations count: 3000.Beginning of the combined RW and ISW (b) observations count: 7000 (c) observations count: 10000 (d) observations count: 20000 (e) observations count: 30000 (f) observations count: 50000.(g

Figure 19 :
Figure 19: LCCA in first complex environment (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 and superimpose that on top of a map of the actual environment just for the purpose of visualization).

Figure 20 :
Figure 20: LCCA in second complex environment (note that the Landmark complex itself is an abstract simplical complex.We immerse it in R 2 and superimpose that on top of a map of the actual environment just for the purpose of visualization).

Figure 21 :
Figure 21: Different HIW contributions on constructing the 2-simplices in the Cech complexes of the visibility domain of the landmarks, to reach the target amount for the first and second complex environments.

Figure 22 :
Figure 22: Growth rate of the simplicial complex (r).

Figure 23 :
Figure 23:  The number of the observations required to complete the simplicial complex plotted against the growth rate vale at which the switch to HIW is performed.As evident, a switch at the growth rate of about 0.004 gives an optimal performance in either of the environments.
is the number of robots and M i is the number of landmarks observed by each robot 4:for i ∈ {1, • • • , N } do 5, the function Shortest P ath 3:Initiate Bool executed rw := false 4: