1 Introduction

1.1 Motivation

Consider an unknown, GPS-denied urban/indoor environment in which we send out a large, fast-moving team of resource-constrained robots with extremely limited sensing capabilities, with no odometry information, with 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 5 G antennae identified by their MAC ids, allowing simple wireless/5 G receivers to detect only their presence, but not their precise range. Another example of such landmarks are passive RFIDs that are low-cost, do not need external power and can be easily installed in an environment. For communication and distributed exploration and mapping, each robot can potentially transmit only tens of bytes of data at a time.

For a given onboard sensor model, it is necessary that the landmarks in the environment be present with sufficient density and in appropriate locations. An urban/indoor environment can be constructed/designed to aid such teams of robots to effectively explore, map, localize and navigate in. This is relevant in the context of search and rescue type operations in such environments where facilities are constructed to aid such operations when necessary. While the team 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. 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 team 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.

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, coordinate-free topological representations of the environment. In particular, the robot team 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 robot team).

1.2 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. In this section we present an overview of existing literature on mapping, localization & navigation in GPS-denied environments, existing simplicial complex based representations, as well as existing work on landmark placement for that purpose.

1.2.1 SLAM and related literature

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, 7, 10, 13, 18, 37]. Such methods usually construct a grid-based 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 [26, 47]. State-of-the-art visual odometry based localization, mapping and navigation require significant sensing capabilities (such as stereo or monocular cameras) [19, 20, 34, 38, 41] in order to determine relatively precise metric information about detected features and landmarks in the environment, and focus on precise pose estimation of the robots. Various implementations of SLAM can be found in different industries nowadays such as self-driving autonomous vehicles [23, 32, 39, 50] and consumer robot vacuum cleaners [30]. These state-of-the-art methods need meticulous metric measurement tools like range measuring sensors, relatively precise odometry measurements, and expensive cameras.

Some existing SLAM literature also perform active exploration of the unknown environment for map-building using information-driven methods [5, 27, 48, 51]. SLAM, when combined with active mapping (where robots actively explore the environment to construct the map), is classified as ASLAM (Active SLAM), and existing work in this area also focus on constructing high-fidelity metric maps (often as occupancy grid representations), high-precision pose estimation (through computationally-expensive optimization processes), and uses active exploration (often frontier-based exploration) [35]. Pure active mapping (without the problem of simultaneous localization) is usually achieved using grid-based representations, and multiple robots share the exploration task using Vorinoi partitions, and is often guided using entropy-based heuristics [3] or deep reinforcement learning based frontier exploration [29].

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 robot team to build the map collectively and in a distributed fashion. We also perform active exploration of the environment using landmark observation count as a means to guide the exploration, since in a topological representation as ours there is no metric embedding of the map for identifying map frontiers. This active exploration strategy also requires us to develop a metric-free navigation algorithm that allows the robots to move within the partially-explored environment using only the landmarks as reference.

While our method does not intend to match or compete with the metric precision of high-fidelity state-of-the-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 a 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.

Closely related to SLAM literature is an extensive literature on information-driven exploration. While this body of research does not necessarily assume high-fidelity sensing, they assume the availability of some type of global localization or assume a partially-known map. For example [4, 12, 40] use location/pose of the robots during exploration of an unknown environment for building a map. We, on the other hand, assume that no localization information is available to the robots.

1.2.2 Simplicial complexes for topological representation

While landmark complex [24, 43, 44], and more generally, simplicial complexes [14,15,16, 42] 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 and only marginally addresses the problem of planning navigation for robots for the construction of the landmark complex. For example, although [24] uses landmark complex as the topological representation of an environment, the authors do not not explicitly address the problem of computing robot paths or finding strategies for exploring an environment using the robots. Robot trajectories in this work are predefined, and the paper focuses more on theoretical properties of the landmark complex. Although our prior work [44] does address the problem of exploration for constructing landmark complex, it uses a frontier-based exploration method that is computationally more expensive and requires more capable sensors (for example, robots needs to know the bearing to the landmarks detected within their sensor footprints). Furthermore, the sensor model in either of these works are disk-shaped, and hence the implementations were made with \(\mathbb {R}^2\) as the robot configuration space. However, in our present work, we consider directional sensors in general, thus requiring us to consider SE(2) as the robot configuration space. Although [44] does give some condition on landmark density requirements for disk-shaped sensor footprints, the paper does not explicitly address the problem of landmark placement in an environment to ensure that the landmark complex is homotopy equivalent to the environment.

In [15, 16], the authors use an encounter complex for the topological representation of an environment, where agents keep track of encounters with other agents in disk-shaped sensor footprints, instead of observing landmarks in the environment. This requires that a much larger number of agents be used for computing the representation. For example, [15] uses 250 agents in a simple polygonal/annular environment, while in our method we can achieve complete exploration of a complex indoor environment using about 4 robots. Although an improved metric in [16] allowed exploration with tens of robots, the environments considered were very simple, with one or two square-shaped obstacles. Also, the encounter complex use time as an independent coordinate, and hence the complex is usually much larger in size for similar environments. Furthermore, no active exploration of an environment is performed for constructing the encounter complex—robots only perform random walk or wall-following. We, on the other hand, provide systematic algorithms for exploration in large, complex, indoor environments using robots with directional sensors. [42] uses noisy global position measurements of robots in a swarm performing random walk to construct topological representations of simple environments. In our work we do not rely on the availability of any global position measurement for the robots.

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.

1.2.3 Landmark placement

In this paper we design an explicit algorithm for placement of landmarks in a environment that would ensure certain density conditions and thus allow effective construction of the landmark complex for a given sensor footprint for the robots. While the problem of landmark placement in an environment has been studied in the past, many existing work assume robot sensor and motion models that are relevant to traditional SLAM-type algorithms. For example, in [8, 36], the authors consider robots with camera-like sensors and noisy odometer that can detect the pose of landmarks in the robots’ local frame. With such capable sensors, the authors consider the problem of sparse landmark placement that guarantee bounds on location uncertainty. In a related setup, the problem of external sensor placement in a known environment is considered in [49] such that these sensors, which are capable of taking noisy measurement of the poses of robots in the environment, can be used for localization of the robots while minimizing uncertainty. In all these work, the underlying assumptions about the capabilities of the sensors that detect the landmarks (or robots) are high, and the other capabilities of the robot (such as odometer, onboard computational capability for filtering the sensed data) are assumed to be high. Furthermore, while many of these methods perform optimization to extremize some form of cost function, the guarantees that such methods give on localization are at best probabilistic.

In contrast, [22] uses a genetic algorithm approach to perform optimization of a cost function for RB beacon placement, where the evaluation of the cost function is performed though high-fidelity simulation of radio signal propagation in an environment. While the scalar cost function is developed to optimize the beacon placement, the optimization is not directly related to any guarantees and the GA based algorithm does not guarantee a global optimization of the cost function.

In context of localization using wi-fi network routers, [9] uses a more formal optimization approach using a least square method, the theoretical/algorithmic formulation of which assumes an Euclidean domain and isotropic (non-directional) landmark sensing. Along similar lines, minimization of expected localization error at one (or a finite number of) points in a (or a sequence of) convex domain(s), is achieved using a gradient descent of a highly nonlinear optimization objective [28]. Similarly, for mobile robots navigating along a fixed trajectory, landmark placement along the trajectory is achieved using an iterative approach in [2]. [33] considers a similar error-minimizing optimization process for landmark placement for directional sensors in spatial domains, but in absence of obstacles. In most of these works, the ability of sensors to measure real-valued quantities (for example, range to landmarks) allow the formulation of the said optimization problems in convex or Euclidean domains.

In our setup, on the other hand, because robots have such limited sensing capabilities (binary detection of whether or not a landmark is visible in a directional sensor footprint) and no odometry information, the criteria for landmark placement is significantly more stringent. Furthermore, we explicitly consider the obstacles in the environment and the occlusion of the landmarks caused by such obstacles. To satisfy the required visibility-based condition (described in Sect. 3.1), we develop a filtration-based method for the landmark placement algorithm. This guarantees that at least one landmark is visible from every robot pose (and this guarantee is not probabilistic).

1.3 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 novelty of the current work lies in the fact that the sensing and onboard computation capabilities of the robots is extremely limited (a robot can only detect if a landmark is present in its directional sensor footprint, and can tell whether it is to its right or to its left). Our novel topological representation not only allows the collaborative construction of a topological map, but also allows robots to use it for navigation. While the problem of mapping, localization and navigation is solved more precisely using high-fidelity SLAM algorithms that use high-fidelity sensing and computationally-expensive filtering/post-processing, no existing methods is capable of achieving any meaningful mapping or localization with such limited sensing and computation capabilities as ours. Our novel filtration-based landmark placement algorithm is suitable for construction of the topological representation using such limited sensing abilities, and is applicable to indoor, non-convex environments.

The main technical advantage of having low-fidelity sensors on board robots and an algorithm that needs low-fidelity sensing information is that of robustness. An algorithm that uses low-fidelity sensors (as in our proposed algorithm) and does not require precise real-valued measurements (such as range or bearing) is more robust to errors. Real-valued measurements require constant filtering of the sensed data in order to get rid of the measurement noise. Furthermore, the high-fidelity, real-valued information is incorporated in mapping and exploration algorithms that construct precise metric maps, and hence such constructions are highly sensitive to measurement errors, which need to be eliminated through extensive post-processing. Also, communication of high-fidelity measurements/information between robots requires high-bandwidth communication channels and requires reasoning about changes in reference frame between the robots. The robustness of a topological algorithm and the ease of communicating the low-fidelity observations between robots allows fast deployment of a large number of robots for performing collaborative exploration and mapping.

The paper is organized as follows: In Sect. 2 we introduce the basic definitions of Simplicial Complex and Landmark Complex. In Sect. 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 team which they can use to explore an unknown environment for constructing the Landmark complex and then 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 develop control algorithms for filling them. In Sect. 5 we provide detailed simulation results and evaluation of the proposed algorithms.

2 Preliminaries

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

2.1 Simplicial complexes and simplices

A simplicial complex can be thought of as a higher-dimensional extension of a graph, in which not only there are 0 and 1-dimensional entities (vertices and edges), but also 2 and potentially higher dimensional ones (called simplices).

Definition 1

(An abstract Simplicial Complex [25]) An abstract simplicial complex, \(\mathcal {K}\), constructed over a set V (the vertex set) is a collection of sets \(C_n, ~n=0,1,2,\cdots\), such that:

i.:

An element in \(C_n, ~n\ge 0\) is a subset of V and has cardinality \(n+1\) (i.e. for all \(\sigma \in C_n\), \(\sigma \subseteq V, |\sigma | = n+1\). \(\sigma\) is called a “n-simplex”), and,

ii.:

If \(\sigma \in C_n, ~n\ge 1\), then \(\sigma \!-\! v \in C_{n-1}, ~\forall v \in \sigma\). Such a (n-1)-simplex, \(\sigma \!-\! v\), is called a “face” of the simplex \(\sigma\). The simplical complex is the collection \(\mathcal {K} = \{C_0, C_1, C_2, \cdots \}\).

In Fig. 1 an example of a 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, \(\mathcal {K} = \{ C_0, C_1, C_2 \}\), where \(C_0\) is the set of all the 0-simplices in the complex (vertex set), \(C_1\) is the set of all the 1-simplices in the complex (edge set) and \(C_2\) is the set of all the 2-simplices in the complex (representing triangles that connects three vertices). In this example, the \(C_0\), \(C_1\) and \(C_2\) are as following:

i.:

\(C_0 = V = \{v_1, v_2,\ldots , v_{12}\}\).

ii.:

\(C_1 = E = \{ \{v_1, v_2\}, \{v_1, v_3\}, \{v_2, v_3\},\ldots , \{v_{11}, v_{12}\} \}\).

iii.:

\(C_2 = \{ \{v_1, v_2, v_3\}, \{v_2, v_3, v_9\}, \{v_2, v_9, v_{10}\}, \{v_8, v_{10}, v_{11}\} \}\).

Fig. 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

2.2 Landmark complex

A Landmark Complex [24, 44], \(\mathcal {K}\), 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 Sect. 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 an 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\)). The information contained in the landmark complex can be interpreted to generate a topological map of the environment.

Figure 2 illustrates an example of construction of a landmark complex by 6 observations with an omni-directional sensor which serves as a topological map of the environment. In this example, for the first observation point \(O_1\), the robot observes the landmarks \(\{v_1, v_2, v_{11}\}\) which corresponds to a 2-simplex in the Landmark Complex. But, whenever a 2-simplex is observed, the lines connecting the pairs of observations will also be considered as 1-simplices, so in this case there exists 1-simplices, \(\{\{v_2, v_3\}, \{v_2, v_4\}, \{v_3, v_4\}\} {\subset C_1}\), and likewise the observed landmarks form 0-simplices 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, \(\mathcal {K} = \{ C_0, C_1, C_2 \}\), is described by the set of 0-simplices, \(C_0 = \{v_1, v_2, v_3,\ldots , v_{11}\}\), the set or 1-simplices, \(C_1 = \{ \{v_1, v_2\}, \{v_2, v_3\}, \{v_2, v_4\}, \{v_3, v_4\},\ldots , \{v_{10}, v_{11}\} \}\), and the set of 2-simplices, \(C_2 = \{ \{v_2, v_3, v_4\}, \{v_4, v_5, v_6\}, \{v_6, v_7, v_8\}, \{v_8, v_9, v_{10}\}, \{v_{11}, v_1, v_2\} \}\).

The Landmark Complex \(\mathcal {K}\) can be immersed on a plane to create a visual representation of the topological map as shown in Fig. 2. As visible in the image of \(\mathcal {K}\), the landmark complex captures the obstacle in the environment in terms of a hole in the complex. The utility of the landmark complex is that it give an effective way of constructing a simplicial representation of the underlying configuration space that is topologically correct (i.e. topologically equivalent to the underlying configuration space) through a sequence of landmark observations only.

Fig. 2
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 an omni-directional sensor is shown on the right

2.3 C̆ech complex or nerve of a covering

Consider a topological space, \(\mathcal {X}\) (this, in context of this paper will be a subset of the robot configuration space, \(\mathcal {C}\), which in turn will be a subset of \(\mathbb {R}^2\) or SE(2) depending on whether the robots’ sensors are omni-directional or not—see Sect. 3.1), and a collection of its subsets \(\mathscr {A} = \{\mathcal {A}_i\}_{i\in I}\) (where I is the set of indices) that cover \(\mathcal {X}\). We define the C̆ech complex or the Nerve of the cover [25], \(\mathcal {N}\left( \mathscr {A} \right)\), to be an abstract simplicial complex with a 0-simplex corresponding to each of the subsets, and a \((n-1)\)-simplex corresponding to every n-way overlap of the subsets. Figure 3a shows an example of a Nerve or C̆ech complex of disk-shaped subsets of \(\mathbb {R}^2\).

The main utility of the C̆ech complex or Nerve is its use in the Nerve theorem from algebraic topology [25], which states that if the open cover \(\mathscr {A}\) of the topological space \(\mathcal {X}\) is a good coverFootnote 1 then the Nerve of the cover is topologically equivalent (homotopy equivalent) to the covered space, \(\mathcal {X}\), without missing any topological information of the space.

The application of the Nerve theorem in context of the landmark complex is discussed in more details in Sect. 3.2, where it is used to reason about the topology of the space covered by the domains of visibility of the landmarks. While the topology of the space \(\mathcal {X}\) may be difficult to compute without precise geometric embedding of the subsets in \(\mathscr {A}\), the C̆ech complex or Nerve only requires local information about the overlaps of the subsets.

3 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. 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.

3.1 Domain of visibility

We define the workspace, \(\mathcal {W} = \mathbb {R}^2 - O\), to be the set of all possible landmark locations (where O is the set of all obstacles in the environment). We define the configuration space, \(\mathcal {C}\), to be the set of all possible configurations of a robot. If robots do not have a directionality in their sensing (i.e., the sensor footprints are disk-shaped), then \(\mathcal {C} = \mathcal {W} = \mathbb {R}^2 - O\). However, if the robots have directional sensors (e.g., sector of a disk), then the configuration of a robot is determined not only by its position, \((x,y)\in \mathbb {R}^2 - O\), but also its heading \(\theta \in SO(2)\). In that case the configuration space is \(\mathcal {C} = (\mathbb {R}^2 - O)\times SO(2) \subseteq SE(2)\) (where, \(SE(2) = \{(x,y,\theta ) ~|~ (x,y)\in \mathbb {R}^2, \theta \in SO(2)\}\), is the space of all position and orientations/headings of a directional robot/sensor on a plane).

We also define the visibility domain (or domain of visibility) of a landmark, \(\mathcal {D}_{p, S} \subset \mathcal {C}\), to be the set of all robot configurations in which the landmark at location \(p \in \mathcal {W}\) will be visible to a robot using sensor footprint \(S \subset \mathcal {W}\). Figure 4a shows a situation where both \(\mathcal {W}\) and \(\mathcal {C}\) are subsets of \(\mathbb {R}^2\) due to the robot sensor footprints being disk-shaped (i.e., omni-directional). However, in general, in this paper we will consider robots with directional sensors (with sensor footprints shaped as a sector of a disk), and accordingly the configuration space \(\mathcal {C} {\subseteq } SE(2)\). Figure 4b shows the visibility domain of a landmark in SE(2). In this figure, the workspace \(\mathcal {W}\) is still \(\mathbb {R}^2\) representing the possible landmark’s positions.

Fig. 3
figure 3

Illustration of C̆ech complex versus Landmark Complex for 12 landmarks when the robot sensor footprints are omni-directions (and hence \(\mathcal {C}\subseteq \mathbb {R}^2\)). With sufficient observations, the landmark complex and the C̆ech complex are equivalent

Fig. 4
figure 4

Domain of Visibility: a The domain of visibility of a landmark when there is no directionality in the sensing, and thus \(\mathcal {C} \subseteq \mathbb {R}^2\). The L-shaped dark blue region is an obstacle and occludes line of sight. Hence, only the robot positions in the light-blue part of the disk-shaped region will be able to see the landmark (red star), and constitutes the domain of visibility for the landmark. b The domain of visibility of a landmark when the sensor footprint is directional (sector of a disk) and hence \(\mathcal {C} \subseteq SE(2)\)

3.2 Visibility condition and landmark observation condition

Suppose \(\mathcal {P} = \{p_1,\ldots , p_n\}\) is the set of landmark positions, and \({\mathscr {D}} = \{\mathcal {D}_{p, S} \subset \mathcal {C} \mid p \in \mathcal {P}\}\) is the set of landmark visibility domains. The following lemma establishes the density condition for landmark placement so that \({\mathscr {D}}\) is a cover of \(\mathcal {C}\).

Lemma 1

If at least one landmark is visible from every configuration in the configuration space, then \({\mathscr {D}}\) is a cover of \(\mathcal {C}\).

Proof

If \({\mathscr {D}}\) was not a cover of \(\mathcal {C}\), then by definition, there would be some point in \(\mathcal {C}\) which will not be in any of the visibility domains in \({\mathscr {D}}\), and hence no landmark will be visible from that configuration. \(\square\)

The following proposition establishes the density condition for landmark observation so that the constructed landmark complex, \(\mathcal {K}\) is a correct representation of the configuration space, \(\mathcal {C}\).

Proposition 1

If the visibility domains of the landmarks, \({\mathscr {D}} = \{\mathcal {D}_{p, S} \mid p \in \mathcal {P}\}\) constitutes a good cover of the configuration space, \(\mathcal {C}\), and if a landmark complex, \(\mathcal {K}\), is constructed using sufficiently dense observation of landmarks (with at least one observation from \(\cap _{p'\in \mathcal {Q}} \mathcal {D}_{p', S}\) for every subset \(\mathcal {Q}\subseteq \mathcal {P}\) such that \(\cap _{p'\in \mathcal {Q}} \mathcal {D}_{p', S}\) is non-empty), then the the landmark complex and the configuration space are homotopy equivalent (i.e., \(\mathcal {K} \cong \mathcal {C}\)).

Proof

The landmark complex constructed by taking an observation from every n-way non-empty overlap of the domains of visibility (i.e., an observation for every configuration sets of the form \(\cap _{p'\in \mathcal {Q}} \mathcal {D}_{p', S}\) whenever it is non-empty for some \(\mathcal {Q}\subseteq \mathcal {P}\)), by definition, is equivalent to the C̆ech complex or Nerve of the covering \({\mathscr {D}}\) (because, in the Landmark complex there is a \((n-1)\)-simplex for every observation taken from an n-way overlap of the visibility domains from which n landmarks are visible, and in the Nerve/C̆ech complex there is a \((n-1)\)-simplex corresponding to every n-way overlap of the open sets in \({\mathscr {D}}\)). That is, \(\mathcal {K} \cong \mathcal {N}({\mathscr {D}})\) (where \(\mathcal {N}({\mathscr {D}})\) is the C̆ech complex or Nerve of \({\mathscr {D}}\)).

Again, due to the Nerve Theorem we have \(\mathcal {C} \cong \mathcal {N}({\mathscr {D}})\).

As a consequence, \(\mathcal {K} \cong \mathcal {C}\). \(\square\)

In Fig. 3, an example is shown for more elaboration.

Corollary 1

If one or more robots perform random walk for a sufficiently long time in a configuration space, and if the configuration space is connected, then, with a probability greater than zero, they will eventually build a landmark complex, \(\mathcal {K}\), that is homotopy equivalent to \(\mathcal {C}\).

Proof

Due to a well-known result on random walks [21, 45], random walks in spaces of dimension 4 or less are guaranteed to visit a point (get arbitrary close to the point) infinitely often with non-zero probability. So in configuration spaces which are subsets of \(\mathbb {R}^2\) or SE(2), the robot(s) will eventually visit at least one configuration from \(\cap _{p'\in \mathcal {Q}} \mathcal {D}_{p', S}\) (for every subset \(\mathcal {Q}\subseteq \mathcal {P}\) such that \(\cap _{p'\in \mathcal {Q}} \mathcal {D}_{p', S}\) is non-empty) if they are allowed to perform the random walk for a sufficiently long time, and hence construct the landmark complex as described in Proposition 1. \(\square\)

3.3 Landmark placement algorithm using filtration over sensor footprints

In this section an iterative algorithm is presented to place the landmarks such that the Nerve/C̆ech Complex \(\mathcal {N}({\mathscr {D}})\) covers the entire configuration space \(\mathcal {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 \supset S^2 \supset \cdots \supset S^s\) to be a sequence of sensor footprints such that \(S = \{S^t \subset \mathcal {C} \mid 1 \le t \le s\}\), where \(S^t\) is the sensor footprint to be used at tth iteration.

The overall algorithm is to place a set of new landmarks in the uncovered regions of the environment at the \(t^\text {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 (Fig. 7 illustrates the idea for disk-shaped sensor footprints). More details of the algorithm are provided below.

Fig. 5
figure 5

Sensor footprint sequence for directional sensors (SE(2))

Fig. 6
figure 6

Number of landmarks for different \(\Delta S\) values

Denote the position of the ith landmarks by \(p_i\) and let \(\mathcal {P}^t = \{p_i \in \mathcal {W} \mid 1 \le i \le n\}\) be the set of all landmark positions at iteration t, where \(\mathcal {W}\) is the workspace. Furthermore, we define \(\mathcal {D}_{\mathcal {P}^t, {S}^t} = \bigcup \limits _{p \in \mathcal {P}^t} \mathcal {D}_{p, S^t}\) as the union of all landmarks’ visibility domains, such that \(\mathcal {D}_{\mathcal {P}^t, {S}^t} \subset \mathcal {C}\). Suppose \(\mathcal {U}^t\) is the complement of the covered space \(\mathcal {D}_{\mathcal {P}^t, {S}^t}\) at tth iteration where \(\mathcal {U}^t\) = \(\mathcal {C}\) - \(\mathcal {D}_{\mathcal {P}^t, {S}^t}\) and \(\mathcal {U}^t \subset \mathcal {C}\). At every iteration, the Landmark Placement Algorithm (LPA) detects \(U_i^t,~i = 1, 2,\ldots , m\), the ith connected component of the uncovered area \(\mathcal {U}^t\) at t such that \(\mathcal {U}^t\) = \(\bigcup \limits _{i = 1}^{m} U_i^t\). Suppose \(\bar{U}^t\) is the set of all the connected components \(\bar{U}^t = \{U^t_1, U^t_2, U^t_3,\ldots , U^t_m\}\). In order to cover \(U_j^t\) for j = \(1, 2,\ldots , m\), LPA places a landmark at \(p_j\) such that \(\mathcal {D}_{p_j, S^t}\) covers most of the \(U_j^t\) and inserts \(p_j\) into the \(\mathcal {P}^t\). Afterwards LPA will compute the new \(\mathcal {U}^t\) with newly placed landmarks and continues the same procedure until \(\mathcal {U}^t = \emptyset\). In the next iteration, LPA goes to the next sequence of the sensor footprints, \(S^{t+1}\) such that \(S^{t+1} \subset S^t\) and \(\mathcal {D}_{\mathcal {P}^t, S^{t+1}} \subset \mathcal {D}_{\mathcal {P}^t, S^t}\). Since the net cover of \(\mathcal {D}_{\mathcal {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 \(\mathcal {C}\). Therefore, new landmark positions need to be populated in \(\mathcal {P}^{t+1}\). We start with \(\mathcal {P}^{t+1} = \mathcal {P}^t\) and then the LPA process restarts by identifying the connected components in \(\mathcal {U}^{t+1} = \mathcal {C}\) - \(\mathcal {D}_{\mathcal {P}^{t+1}, S^{t+1}}\).

At the very first iteration, the LPA starts with a relatively large visibility domain, \(\mathcal {D}_{p_1, S^1}\), placed at the center of the workspace \(\mathcal {W}\) such that in an obstacle-free environment \(\mathcal {D}_{p_1, S^1} \cong \mathcal {C}\). In circumstances that the sensor footprint sequence consists of concentric disks (\(\mathcal {W} = \mathcal {C} \subset \mathbb {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 \(\mathcal {C} \subset SE(2)\), LPA 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).

Algorithm 1
figure a

Landmark Placement Algorithm (LPA)               // Centralized.

Fig. 7
figure 7

An example of LPA in \({\mathbb {R}^2}\) with omni-directional sensor footprints (i.e., \(\mathcal {C} \subseteq \mathbb {R}^2\)). 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\). The final number of landmarks for this environment is 161

Fig. 8
figure 8

a Landmark placement algorithm final result for a simple environment with directional sensors (i.e., \(\mathcal {C} \subseteq SE(2)\)). The number of landmarks placed is 378. However, note that most of these landmarks are boundary landmarks (about 270 landmarks) placed more densely along obstacle/workspace boundaries. b This is because, with directional sensors (footprints shaped like sectors of disks), there are pathological robot configurations—configurations in which a robot is very close to a boundary and facing the boundary—in which no landmarks will be visible unless there is a dense set of landmarks at the boundary

Fig. 9
figure 9

Landmark placement algorithm results in complex indoor environments with directional sensors. e, f Visual representation of the corresponding C̆ech Complexes of the domains of visibility when overlaid/embedded on the map of the environment (note that the C̆ech Complexe itself is an abstract simplicial complex and does not have a natural embedding—the figures show the embedding for visualization)

In Algorithm 1 the Landmark Placement Algorithm (LPA) is presented. LPA takes the sequence of sensor footprints S as an input, along with the workspace \(\mathcal {W}\) and configuration space \(\mathcal {C}\). At tth iteration, LPA computes the uncovered area \(\mathcal {U}^t\) (Lines 4 and 5). While the uncovered area \(\mathcal {U}^t\) is not fully covered with the union of all landmarks visibility domains \(\mathcal {D}_{\mathcal {P}^t, S^t}\), LPA detects the connected components \(\bar{U}^t\) and places a landmark at \(U_1^t\) (Lines 7 and 8) and inserts the placed landmark into the set of all landmarks at tth iteration \(\mathcal {P}^t\) (Line 9). Afterwards, the algorithm updates \(\mathcal {U}^t\) (Lines 10 and 11) and repeats this process until \(\mathcal {U}^t = \emptyset\).

Omni-directional Sensor Case: For the case \(\mathcal {C} \subset \mathbb {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 \(Place \_ Landmark(S^t, U_1^t)\) function, places a landmark at the centroid of the \(U_1^t\) such that the visibility domain of the placed landmark \(\mathcal {D}_{p^t, S^t}\) covers \(U_1^t\) as much as possible.

Directional Sensor Case: On the other hand, when \(\mathcal {C} \subset SE(2)\), LPA detects a pixel based representation of \(\theta\)-slices for the uncovered region \(\mathcal {U}^t\), and for each \(\theta\)-slice, it detects the connected components \(\bar{U}^t\). In other words, the lines 7 through 11 in Algorithm 1 will be repeated for each \(\theta\)-slice when \(\mathcal {C} \subset SE(2)\). Moreover, the algorithm finds the centroid of the \(\theta\)-slice and the \(Place\_ Landmark(S^t, U_1^t)\) function places a landmark on a fixed distance \(\Delta S\), away from the computed centroid in the opposite direction of \(\theta\). The reason of doing this, is to enable the visibility domain of the placed landmark \(\mathcal {D}_{p^t, S^t}\) to cover the \(U_1^t\) to the maximum. In order to find the optimum value of \(\Delta S\) for minimum number of landmarks placed in an environment, we tested LPA with different values of \(\Delta S\) which the results are presented in Fig. 6. In computing the uncovered space in the configuration space, \(\mathcal {U}^t\) (line 11 of Algorithm 1), for directional sensors, we also remove points that correspond to poses closer than a distance of \(\epsilon\) from workspace boundaries (walls and obstacles). This is to ensure that certain pathological configurations (configurations in which a robot stands next to a workspace boundary and directly faces the boundary—see Fig. 8b) are not considered in order to avoid infinite density of landmarks at the boundary. In practice, for exploration using robots with directional sensors, this elimination of landmark visibility coverage very close to workspace boundaries is not an issue, since robots can perform short random walks whenever they are directly facing a workspace boundary and not observing any landmark.

Results from LPA: Fig. 7, shows an example over different iterations of LPA to populate a simple environment with landmarks for \(\mathcal {C} \subset \mathbb {R}^2\). In this figure, images on each row represent one iteration on filtration over sensor footprint. Moreover, Fig. 8 shows the same environment populated with landmarks using LPA where \(\mathcal {C} \subset SE(2)\). In Fig. 9, results of performing the Landmark Placement Algorithm on two different complex environments are shown where \(\mathcal {C} \subset SE(2)\). Figure 9b, d show the placed landmarks in each environment. It’s worth noting that with directional sensors (\(\mathcal {C} \subset SE(2)\)), a large majority of the landmarks are boundary landmarks—landmarks that are placed along the workspace boundaries or obstacle boundaries. This is because, with directional sensors (footprints shaped like sectors of disks), there are pathological robot configurations—configurations in which a robot is very close to a boundary and directly facing the boundary—in which no landmarks will be visible unless there is a dense set of landmarks at the boundary (Fig. 8b).

Figure 9e, f depict the visual representation of the complete C̆ech complex of the domains of visibility of all the landmarks, constructed by considering every \((x, y, \theta )\) robot positions in the configurations space \(\mathcal {C}\subseteq SE(2)\).

Guarantees of the LPA: The landmark placement algorithm that we have presented is particularly meant to handle non-convex domains (with no visibility through obstacles), with directional sensor footprints that are not necessarily disk-shaped, and the sensing is a binary measurement rather than real valued (unlike, for example, range measurements). Hence, we cannot pose this problem as a practical optimization problem, especially since the environment is complex & highly non-convex, and even if it was possible to pose it as an optimization problem, such a formulation would involve a large number of integer variables (due to non-convexity of the environment, and the binary nature of the sensing). Many of the existing landmark placement algorithms in literature (a large number of which has been reviewed under Sect. 1.2.3) rely on convexity of the environment and/or real-valued measurements (such as range) to pose the problem as an optimization problem. This naturally provides guarantees in terms of minimization of the optimization objective function. Our algorithm, on the other hand, is not optimization based. We instead use a filtration approach for landmark placement in complex nonconvex environments, with directional sensor footprints and binary measurement. Due to the complex nature of the environment and the highly restrictive senor model, it is not possible to provide any meaningful closed-form, theoretical guarantee on the optimality of the landmark placement algorithm.

However, by construction, Algorithm 1 provides completeness guarantee:

Proposition 2

Algorithm 1 terminates only when the necessary condition on landmark density (as described in Lemma 1) is satisfied. This termination happens in a finite time if the configuration space, \(\mathcal {C}\), is finite-sized.

Proof

Algorithm 1, by construction, keeps placing landmarks until the condition for Lemma 1 is satisfied. At every placement of a landmark, the complement of the covered space (i.e., the uncovered space), \(\mathcal {U}^t \subseteq \mathcal {C}\) is reduced by a finite amount (line 11 of Algorithm 1) since the new sensor is placed in a way such that its domain of visibility covers some previously uncovered parts of \(\mathcal {C}\) (procedure Place_Landmark in line 8 of Algorithm 1). Since \(\mathcal {C}\) is finite, the algorithm thus terminates in a finite number of iterations. \(\square\)

.

4 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. In our setup, individual robots make observations and communicate those observations to a centralized server that maintains and updates the landmark complex, \(\mathcal {K}\). Direct computations involving the Landmark complex thus happen on the centralized server. All other computations (including making observation, navigation to a local landmark, and stochastic control) happens on the individual robots.

4.1 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 when it is present on the sensor’s side of the robot. No other range or bearing information is assumed to be available.

This sensor model is representative of sensors detecting passive RFID-based landmarks in an environment. RFIDs are low-cost, do not need external power and can be easily installed in an environment. The state-of-the-art RFID readers can achieve footprints of several meters [6]. The left and right information can be obtained using two partially shielded RFID readers on each side of each robot that can read RFID tags on the left and right hemispheres around the robot respectively.

4.2 Landmark observation

Assuming \(\mathcal {C} \subset SE(2)\) (for directional sensors) and \(\mathcal {W} \subset \mathbb {R}^2\), at time t the location of ith robot is denoted by \(r_i^t = (x_i, y_i, \theta _i)\) and \(\mathcal {R}^t = \{ r_i^t \in \mathcal {C} \mid 1 \le i \le N \}\) 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 an 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\)). In Algorithm 2, given the ith robot’s instantaneous location, \(r_i = (x_i, y_i, \theta _i)\), the robot detects landmarks falling into its sensor footprint and stores them in the simplex set \(\mathcal {S}\), which is computed on-board the robot based on the observations. \(\mathcal {S}\) is then communicated to the centralized server maintaining and updating \(\mathcal {K}\). The subroutine \(Update\_Landmark\_Complex(r_i)\), running on the centralized server, inserts not only the observed simplex \(\mathcal {S}\), but also all of the faces and sub faces of \(\mathcal {S}\) recursively into the landmark complex \(\mathcal {K}\), maintained as a global variable stored on the centralized server.

Algorithm 2
figure b

\(Make\_Observation(r_i)\)         // Physical process of taking an observation. Centralized update of Landmark Complex, \(\mathcal {K}\), using observations.

In Algorithm 2 it is important to note that the pose of the robot is not known to the robot. The pose of the robot determines the landmarks observed by the robot, and the procedure \(Detect\_Landmarks\) represents that physical process, which uses the pose of the robot.

4.3 Robot short-term-trajectory (STT) 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-trajectory generation will be used as a low-level controller for the different modes of walk described in Sect. 4.4.

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 [17] 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 \(\rho\) and arc length s, tangent to the robot’s current orientation (See Fig. 10). Given these two parameters, there would be two choices of Dubins curves. One makes the robot turn towards its left and the other one to its right. This binary choice is described by a two-state variable \(\beta\) which can either be +1 (right turn) or -1 (left turn). Consequently, the short-term-trajectories are described by three variables, \((\rho , s, \beta )\).

It is notable that \(\rho\) and s are limited to upper bounds and lower bounds. \(\rho\) can assume value in range of \([0,~\infty )\) where \(\rho = 0\) allowing rotations at the robot’s position and \(\rho = \infty\) corresponding to a straight line. However for computational purposes, we assume a large finite \(\rho _{max}\) as the upper bound on \(\rho\). Moreover, s can assume value in range of \([0,~\min \{s_{max},~\pi \rho \})\) where \(s_{max}\) is a constant value. Choosing the upper bound from the minimum of \(s_{max}\) and \(\pi \rho\) will avoid arc lengths grater than half a circle. Hence, \(\rho\) will have a value from \([0,~\rho _{max})\) and s from \([0,~\min \{s_{max},~\pi \rho \})\).

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 ith robot at the tth time step is denoted as \(r^{t}_{i}\). At each time step, the 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 \(\mathcal {T} = \{(\rho _1, s_1, \beta _1), (\rho _2, s_2, \beta _2), (\rho _3, s_3, \beta _3)\}\). In this figure the path \((\rho _1, s_1, \beta ^{'}_{1})\) also can be found which implies that with a same \(\rho _1\) and \(s_1\) there exists two paths. This shows the importance of \(\beta\).

Fig. 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

4.4 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 partially-constructed Landmark complex. These include random walk which is the only feasible option when 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.

4.4.1 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 variables for generating the robots’ short-term-trajectory \((\rho , s, \beta )\), are randomly chosen with \(\rho\) and s being selected from a uniform probability distribution. Therefore, \(\rho\) will be sampled from \([0,~\rho _{max})\) and s from \([0,~\min \{s_{max},~\pi \rho \})\). This will enable the robots to choose between a vast variety of paths at each time step. For instance Fig. 11 shows some of these possible paths. In this figure, in time t, the ith robot is in \(r^{t}_{i}\) and randomly picks one path which in here is \((\rho _3, s^{'}_{3}, \beta ^{'}_{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
figure c

\(r_i^* := RW\_Observe(r_i)\)       // Decentralized, on-board each robot.

The pseudo code in Algorithm 3, describes the Random Walk and Observe subroutine \(RW\_Observe(r_i)\). The input to this function is the ith 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 \(\mathcal {K}\). In line 1, the variables (\(\rho ,~s,~\beta\)) are sampled randomly from a uniform probability distribution. The function \(Generate\_Path\) constructs the corresponding short-term-trajectory, discretizes it, and returns a set of points, \(\mathcal {J}\), that make up the path in the configuration space \(\mathcal {C} \subset SE(2)\) (Line 2). The ith robot’s location is updated with these configurations, while the robot makes an observation to update \(\mathcal {K}\) each time along the path (Lines 3–6). The random sampling of the path parameters, generation of path, execution of path, and landmark observation happen onboard each robot. The observed landmarks are then communicated to the centralized server for adding the new simplices to the globally maintained Landmark Complex, \(\mathcal {K}\) (Algorithm 2).

Fig. 11
figure 11

An illustrative example of Random Walk algorithm. In this figure, different short-term-trajectories (STT) have been shown where \(STT_i\) is \((\rho _i, s_i, \beta _i)\) and \(STT^{'}_i\) is \((\rho _i, s^{'}_{i}, \beta ^{'}_{i})\)

4.4.2 Informed systematic walk

Once the robots have created a partial Landmark complex, they can exploit that information to perform a more systematic form of walk which results 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 each cell to the corresponding robot. Unlike [44], where a frontier in the landmark complex was detected using complex geometric inferences based on the bearing measurements to landmarks, with even more limited sensing & computation capabilities and with no bearing measurements, we use observation count as the means for identifying of potentially unexplored frontiers in the complex for guiding the exploration.

We construct the graph, G, from the partial Landmark complex, \(\mathcal {K}\), built by robots during the exploration, such that the vertex set \(\mathcal {V}(G)\) is the set of 0-simplices and the edge set \(\mathcal {E}(G)\) is the set of 1-simplices of the constructed landmark complex. This graph is referred to as the 1-skeleton of \(\mathcal {K}\). We use a Dijkstra type wave front propagation algorithm to construct Voronoi Partitioning on the graph G [3]. 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 chosen to be equal to 1 unit, since, without any metric/distance information, this is the simplest and most natural choice, and measures the number of “landmark hops” from the current location of the robot.

Fig. 12
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

Algorithm 4
figure d

Voronoi Partitioning Algorithm \(\uptau := Voronoi(\mathcal {R},~G)\)       // Centralized.

The pseudo-code given in Algorithm 4, describes our Voronoi partitioning algorithm which returns the tessellation map, \(\uptau\), of landmarks to the robots and is reminiscent of the Dijkstra’s search algorithm [3, 11]. In line 6 the open list is initiated with the landmarks observed by the ith robot at current time step for every \(i = 1, 2, \ldots , N\) and in line 7 these landmarks are assigned a partition identity of i which means the landmark is assigned to the ith robot. Lines 11 through 21 corresponds to the main loop of the algorithm. With every iteration, the vertex with minimum g-score [11] 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–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). This computation happens on the centralized server that maintains the Landmark Complex, \(\mathcal {K}\), and hence the 1-skeleton of the complex, G.

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 \(\uptau\) is computed, each robot finds the landmark within its own partition with least observation count, but is no more than \(g\_thresh\) landmark hops away from the current location in G (line 3 of Algorithm 5). 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 ith robot is \(L_i = \{S_i, l_1, l_2, \ldots , G_i\}\). Each robot will use the obtained path landmarks to reach its assigned goal landmark in its own partition.

Algorithm 5
figure e

Informed Systematic Walk Algorithm \(i^* := ISW(\mathcal {R},~i, ~{g\_thresh})\)       // Centralized.

Algorithm 5 describes our ISW subroutine that returns the identity of a goal landmark for navigating to. Inputs to this function are the set of robots location \(\mathcal {R}\), the identity of the robot, i, running this function, and a parameter \(g\_thresh\). It also uses the global variable \(\mathcal {K}\) to construct the graph G (Line 1). In line 2, the algorithm computes the tessellation map \(\uptau\) by using the \(Voronoi(\mathcal {R},~G)\) subroutine, described in Algorithm 4. Subsequently, the least observed landmark (goal landmark), that is not farther than \(g\_thresh\) landmark hops from the currently observed landmark, in the ith robot partition is identified as \(i^*\) (Line 3). Later on, this will be used as an input to the Navigate subroutine (Algorithm 7) to navigate the robot to the goal landmark when performing an instance if ISW, Since all these computations require the information about the graph G, which is the 1-skeleton of \(\mathcal {K}\), this takes place on the centralized server. The outputs of ISW are the identity of the ith 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 ith robot needs to generate short-term-trajectories that will take it from one landmark in the sequence into the next. Suppose the ith 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 \(\beta\) to create the appropriate short-term-trajectory to navigate towards its goal landmark. \(\beta = +1\) if \(l_{k+1}\) is to the robot’s right side and \(\beta = -1\) if \(l_{k+1}\) is to its left side. However, we sample \(\rho\) and s randomly as before.

On the other hand, if \(l_{k+1}\) is not visible to the ith 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 how the navigation algorithm works. In this example, the ith robot is depicted at different time steps. Moreover, \(L_i = \{S_i, l_1, l_2, l_3, l_4,\ldots , 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 \(\beta\) according to the orientation of the nearest path landmark.

Fig. 13
figure 13

Navigation algorithm: the ith robot uses the path landmarks \(L_i\) to navigate from \(S_i\) to \(G_i\)

Algorithm 6
figure f

\(r_i^* := ESTT\_Observe(r_i, l_k)\)       // Decentralized, on-board each robot.

In Algorithm 6, an outline of Execute Short-Term Trajectory and Observation subroutine \(ESTT\_Observe(r_i,~l_k)\) is presented. Similar to \(RW\_Observe(r_i)\) subroutine, this function also takes the the ith robot’s location \(r_i\) and returns the updated location \(r_i^*\) while observing new simplices and updating the landmark complex \(\mathcal {K}\). As described in Algorithm 3, \(RW\_Observe(r_i)\) generates the short-term-trajectories completely randomly by sampling all \((\rho ,~s,~\beta )\) variables from uniform probability distribution. However, in line 2 of \(ESTT\_Observe(r_i,~l_k)\) subroutine, the \(Left\_Right\) function takes the observed landmark \(l_k\) and the ith robot’s location \(r_i\) as inputs and checks whether \(l_k\) is to the left or right side of the ith robot and return \(\beta = +1\) if \(l_k\) is to the robot’s right and \(\beta = -1\) if it is to the left. Nevertheless, \(\rho\) and s are still randomly chosen (Line 1). Afterwards, similar to \(RW\_Observe(r_i)\), the set of points \(\mathcal {J}\) in the configuration space \(\mathcal {C} \subset SE(2)\) is generated by taking the \((\rho ,~s,~\beta )\) variables (Line 3). Ultimately, for each configuration in \(\mathcal {J}\), the ith robot’s location is updated while making observations to update \(\mathcal {K}\) (Lines 4–7). Like in Algorithm 3, the computation of of the path parameters, generation of path, execution of path, and landmark observation happen onboard each robot. The observed landmarks are then communicated to the centralized server for adding the new simplices to the globally maintained Landmark Complex, \(\mathcal {K}\) (Algorithm 2).

Algorithm 7
figure g

\(r_i^* := Navigate(r_i,~i^*)\) // Mostly decentralized, on-board ith robot.

In Algorithm 7, the pseudo-code for the \(Navigate(r_i, i^*)\) subroutine is presented. Inputs to this function are the position of the ith robot and the identity of the goal landmark \(i^*\). In line 5, the function \(Shortest\_Path\) takes the graph G and goal landmark’s identity \(i^*\) as inputs and returns the set of path landmarks \(L_i\) for the ith robot to the goal landmark. In lines 8 through 17 of the algorithm, ith 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 9). Once the furthest visible landmark in \(L_i\) is identified (jth path landmark \(L_i[j]\)), the algorithm executes a short-term-trajectory based on the orientation of the jth landmark by using the \(ESTT\_Observe(r_i,~L_i[j])\) subroutine described in Algorithm 6 (Line 10). This function moves the ith robot to the next location while making observations along the path to update landmark complex \(\mathcal {K}\). Afterwards, all the path landmarks until \(L_i[j]\) will be removed from \(L_i\) (Lines 11–13). However, if none of the path landmarks in \(L_i\) are visible to the ith robot, the algorithm will perform few steps \((\sigma )\) of Random Walk (Lines 22–25) and checks for the visibility of the landmarks in \(L_i\) one more time. Even if after the execution of Random Walk none 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\). Most of these computations happen on-board the ith robot, except for the computation of the path (sequence of landmarks), which happens in lines 4 and 5.

Fig. 14
figure 14

Too many consecutive ISW will lead the boundary of the simplicial complex to grow in horn-like shape as depicted

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. The \(g\_thresh\) parameter in ISW (Algorithm 5) mitigates this by setting a limit on how far the next goal landmark can be. Even then, 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 Fig. 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. This approach is implemented later in our complete Landmark Complex Construction algorithm (Algorithm 9).

4.4.3 Homology informed walk

Once the robots have performed RW and ISW, there might still remain some holes in the constructed landmark complex coverage \(\mathcal {K}\) due to the insufficient number of observations. We call them false holes (holes in the Landmark complex due to insufficient exploration—See Fig. 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 Fig. 16d). In the following subsections (i.) and (ii.), we briefly describe how existing tools from homology theory can be used to identify these 1-simplices and navigate robots to them. For more details on these methods the reader can refer to [14, 25]. In subsection (iii.) we describe our Homology-Informed Walk algorithm.

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 \times m\) and \(m\times p\) matrices, where n, m, and p respectively are the number of 0-simplices, 1-simplices, and 2-simplices.

Fig. 15
figure 15

A directed simplicial complex of dimension 2

We start with a simple example of how these matrices are constructed. Consider the simplicial complex in Fig. 15. To construct \(B_1\) and \(B_2\) we assign arbitrary orientation to the 1-simplices and 2-simplices as shown in the figure, and index the 1-simplices, 2-simplices and 0-simplices with natural numbers. The \((i,j)^{th}\) element of \(B_1\) matrix, where i is the index of the vertex and j is the index of the 1-simplex, is 0 when the ith vertex is not one of the ends of the jth 1-simplex, \(+1\) when jth 1-simplex points towards the ith vertex, and \(-1\) if jth 1-simplex points away the ith vertex. For instance, in the given example, the first column of \(B_1\), which corresponds to \(e_1\), has \(+1\) for the \((1,1)^{th}\) element, \(-1\) for the \((2,1)^{th}\) element, and the rest are zero. The matrix \(B_1\) is equivalent to the incidence matrix of the graph consisting of the 0-simplices as its vertices and 1-simplices as its edges.

Similarly, the \((j,k)^{th}\) element of \(B_2\), where j is the index of the 1-simplex and k is the index of the 2-simplex, is 0 when the jth 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, in the example of Fig. 15, the \((2,1)^{th}\) element of \(B_2\) is \(-1\), whereas \((4,1)^{th}\) and \((6,1)^{th}\) elements of \(B_2\) are \(+1\), while the rest are zero. The complete \(B_1\) and \(B_2\) matrices of the simplicial complex in Fig. 15 are shown below:

figure h

These matrices, viewed as linear maps \(B_1: \mathbb {R}^m \rightarrow \mathbb {R}^n\) and \(B_2: \mathbb {R}^p \rightarrow \mathbb {R}^m\), compute boundaries of simplices (in case of a 1-simplex this is the difference of the 0 simplices at its ends, in case of a 2-simplex this is the linear combination of 1-simplces that forms its boundary) and linear combinations of simplices (referred to as chains). Because of the way these matrices are defined, the following identity holds: \(B_2 B_1 = 0\) – i.e., the boundary of the boundary of a 2-chain is always zero.

In order to compute and reason about 1-cycles (i.e., 1-chains with empty boundaries—these corresponds to closed loops), the \(1^\text {st}\) order Laplacian matrix \(\mathcal {L}_1\) is defined as the following \(m\times m\) matrix,

$$\begin{aligned} \mathcal {L}_1 = B_{1}^TB_{1} + B_{2}B_{2}^T \end{aligned}$$
(1)

It is easy to observe that this matrix is positive semi-definite. It can be shown that the kernel of \(\mathcal {L}_1\) is spanned by 1-cycles. We are interested in specific elements from the kernel of \(\mathcal {L}_1\) which correspond to 1-cycles (a linear combination of 1-simplices that represent a closed loop) forming tight cycles around the holes in the complex. We use the method outlined in [14, 46] for computing such a 1-cycle.

Fig. 16
figure 16

The Laplacian Dynamic and \(\ell _{1}\)-norm minimization can localize the holes in the simplicial complex

ii. Laplacian dynamics and \(\ell _{1}\)-norm minimization: In order to identify the 1-cycles that bound the false holes tightly, we used the method from [14]. The method starts with the computation of an element \(x\in \ker \mathcal {L}_1\) using the combinatorial Laplacian flow,

$$\begin{aligned} \dot{x}(t) = -\mathcal {L}_1 x(t) , \quad x(0) \in \mathbb {R}^{m} \end{aligned}$$
(2)

Starting with a randomly generated \(x(0) \in \mathbb {R}^m\), where m is the number of 1-simplices in the landmark complex \(\mathcal {K}\), the Laplacian flow converges to a \({x \in } \ker \mathcal {L}_1\) which corresponds to a linear combination of 1-cycles that bound the 1-dimensional holes as well as 1-cycles that are trivial (i.e., boundaries of 2-chains)—See Fig. 16b. This is because, in the eigen-basis of \(\mathcal {L}_1\), the components of x corresponding to the non-zero (positive) eigenvalues of \(\mathcal {L}_1\) decay to zero exponentially fast under the dynamics of (2), while only the component along the null-space of \(\mathcal {L}_1\) survive.

In order to get the tightest 1-cycle around a hole we solve the following \(\ell _{1}\)-norm optimization problem:

$$\begin{aligned} \min _{z \in \mathbb {R}^{p}} \Vert x + B_2z \Vert _1 \end{aligned}$$
(3)

where x is the converged solution from the combinatorial Laplacian flow, (2). The \(\ell _1\) norm minimization is a LP-relaxation for an original \(\ell _0\) norm minimization problem [46], \(\min _{z \in \mathbb {R}^{p}} \Vert x + B_2z \Vert _0\). The intuition behind minimization of the the \(\ell _0\) norm of the vector (the vector \(x + B_2 z\) in this case, which represents a 1-cycle in the same homology class as x, since adding a boundary of a 2-chain keeps its homology class unchanged) is that it minimizes the number of non-zero elements in the vector. This corresponds to the 1-cycle with the least number of 1-simplices (non-zero elements)—in other words, the “tightest” 1-cycle.

To solve this \(\ell _1\) norm minimization problem, a subgradient method is employed [46].

$$\begin{aligned} z^{k+1} = z^{k} - \alpha _{k}B_{2}^{T}sgn(B_2z^{k} + x) \end{aligned}$$
(4)

The initial condition used in equation (4) is \(z^0 = 0,~z \in \mathbb {R}^p\) where p is the number of 2-simplices in the landmark complex \(\mathcal {K}\). Moreover, \(\alpha _k\) is the step size, and by picking a small enough \(\alpha _k\), the converged z gets close to an optimal solution (See Fig. 16c).

Fig. 17
figure 17

Hungarian assignments with corresponding shortest paths to the false holes in the simplicial complex. In a some of the false holes and the assigned robots with the shortest paths to each assignment are shown, and b the corresponding Landmark complex (note that the Landmark complex itself is an abstract simplical complex. We immerse it in \(\mathbb {R}^2\) just for the purpose of visualization)

iii. HIW algorithm and navigation: The pseudo-code given in Algorithm 8, presents the outline of the HIW algorithm and navigation.

Algorithm 8
figure i

\(Homology\_Informed\_Walk(\mathcal {R})\)       // Centralized identification of “holes” in Landmark Complex, \(\mathcal {K}\).

In line 3 and 4 of this pseudo-code, \(x^*\) and \(z^*\) respectively are the converged solutions of Eqs. (2) and (4). In line 6 through 10, the algorithm checks the absolute value of every element in vector \(y = x^* + B_2z^*\) (\(y \in \mathbb {R}^m\)), and if it is greater than a computed threshold (\(\zeta\)), the identity of that 1-simplex will be inserted to \(\mathcal {Q}\). The higher the value of \(|y[i] |\) for the ith 1-simplex, it is more likely to be adjacent to a hole. It is notable that \(\zeta\) is computed using the standard deviation of \(|y[i] |, i = 1, 2, \ldots , m\). Since a large number of elements in vector y have values close to zero and only a small fraction has absolute values greater than zero (See Fig. 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, \cdots , m\) to compute \(\zeta\), 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 \(\mathcal {K}\) (See Fig. 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^\prime\) such that the vertex set \(\mathcal {V}(G^\prime )\) and the edge set \(\mathcal {E}(G^\prime )\) are the 0-simplices and 1-simplices in \(\mathcal {Q}\) (Line 11). Afterwards in line 12, the function \(Identify\_Connected\_Components\) takes the graph \(G^\prime\) as an input and by using Dijkstra algorithm on \(G^\prime\), is able to identify these connected components. The output of this function is the set \(\mathcal {C}c\) where the ith element in the set is itself a set of 0-simplices corresponding to the ith connected component.

In lines 13–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 cubic complexity [31]. To use Hungarian Algorithm, we compute the cost matrix \(\mathcal {C}t\) (line 15) which is of size \(N \times M\), where N is number of robots and M is the number of connected components. The \((i,j)^{th}\) element of \(\mathcal {C}t\) constitutes of the distance from the ith robot to the jth connected component and it is computed by running the Dijkstra algorithm on the graph G constructed over the landmark complex \(\mathcal {K}\). Furthermore, in line 16, the \(Hungarian\_Assignment\) function, takes the cost matrix \(\mathcal {C}t\) and the identity of the robot running this thread as inputs, and returns the identity of the assigned connected component (\(j^*\)). Lines 17–19 of Algorithm 8, navigate the ith robot to each 0-simplices in \(\mathcal {C}c[j^*]\) using the function \(Navigate(r_i,~i^*)\) described in Algorithm 7. Since computation of the 0-simplices adjacent to holes require information about the complete simplicial complex, \(\mathcal {K}\), lines 1–12 need to be implemented on the centralized server. However, the Hungarian assignment computation is done by individual robots separately (on their own individual threads), and each robot uses its own computed assignment to navigate to its goal landmark using Algorithm 7.

Fig. 18
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 \(\mathbb {R}^2\) just for the purpose of visualization)

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 Fig. 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 Fig. 18. In Fig. 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 Sect. 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.

4.5 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 \(\mathcal {K}\). Moreover, this algorithm runs for each robot on a separate thread (Line 1 through 17).

Algorithm 9
figure j

Landmark Complex Construction Algorithm

Since at the beginning of the exploration, the location of landmarks and robots are unknown, robots will perform a fixed number of steps (\(\gamma\)) of RW, to construct a partial landmark complex in order to localize 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 5 through 16) until the growth rate of landmark complex \(\mathcal {K}\) become less than \(\varepsilon _1\). Furthermore, RW takes the location of the ith robot running the thread as an input (\(r_i\)), where ISW will take the set of all robots’ location \(\mathcal {R}\) and the identity of the ith robot to find the goal landmark and the distance to it for the ith robot. However, ISW also uses the established landmark complex \(\mathcal {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.

During LCCA, a thereshold of \(\xi\) is used on the distance (in terms of the number of landmark hops in G) to the goal landmark to prevent navigating the robots to the far frontier landmarks back and forth. In addition, LCCA interleaves between ISW and RW to avoid growing the landmark complex non-uniformly as described in Informed Systematic Walk subsection. To this end, in line 7, the algorithm checks the number of ISWs that have been performed consecutively. If the counter on consecutive steps of ISW is greater than a fixed number \(\eta\), LCCA will execute \(\delta\) number of RW (Lines 8 through 10).

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 \(\mathcal {K}\) and to cover the false holes much faster than ISW and RW. When the growth rate of the landmark complex \(\mathcal {K}\) becomes less than \(\varepsilon _2\), where \(\varepsilon _2 < \varepsilon _1\), the exploration will be stopped.

The individual threads in this complete algorithm run on the individual robots. However, in the subroutines IWS, Navigate and \(Homology\_Informed\_Walk\), since computations need to be performed in the centrally-maintained Landmark Complex, \(\mathcal {K}\), the individual threads communicate with the centralized server for the necessary computations in order to received the next target landmark (or sequence of landmarks) that it needs to visit.

5 Results

5.1 Landmark placement algorithm

Our proposed Landmark Placement Algorithm (LPA) described in Sect. 3 was implemented in C++ and is available open-source at \(\texttt {https://github.com/subh83/Topological-Mapping-and-Navigation}\). The algorithm allows us to design strategic placement of landmarks in an environment during its design/construction in order to ensure that at least one landmark is visible to a robot sensor for every configuration in \(\mathcal {C} \subset {\mathbb {R}^2}\) (for disk-shaped sensor footprints) or \(\mathcal {C} \subset SE(2)\) (for directional sensors). In Figs. 7 and 8, results for populating a simple environment with landmarks are provided for \(\mathcal {C} \subset {\mathbb {R}^2}\) and \(\mathcal {C} \subset SE(2)\) respectively. Moreover, Fig. 9 shows the results of Landmark Placement Algorithm (LPA) on two different complex environments. These environments are populated with the landmarks where \(\mathcal {C} \subset SE(2)\). In this figure, the C̆ech complexes of the visibility domain of the landmarks for these environments are also depicted.

5.2 Landmark complex construction algorithm

We also implemented the Landmark Complex Construction Algorithm (LCCA) described in Sect. 4 using C++, and is available open-source at \(\texttt {https://github.com/subh83/Topological-Mapping-and-Navigation}\). 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). In all LCCA simulations, unless otherwise specified (such as in Sect. 5.4), we have use 4 robots for easy comparison and consistency. We evaluated the proposed algorithm using two different complex environments refereed to as the first complex environment and the second complex environment, using the landmark count and distribution shown in Fig. 9 as computed by LPA. Results of the Landmark Complex Construction Algorithm is presented in Figs. 19 and 20 for the first and second complex environments respectively.

Fig. 19
figure 19

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

Fig. 20
figure 20

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

5.3 Effectiveness of ISW Over RW

In order to demonstrate that the Informed Systematic walk (ISW) is effective in achieving faster exploration compared to a pure Random Walk (RW) approach during the combined RW and ISW phase of the algorithm (i.e., before HIW is initiated), we executed the LCCA with different amount of initial RW steps, \(\gamma\) (see Lines 2–4 of Algorithm 9). As is clear from Algorithm 9, \(\gamma =0\) implies that there is no initial random walk performed, while an increasing value of \(\gamma\) will imply an increasing proportion of the time spent in the combined RW and ISW is on performing pure RW. Figure 21a shows the number of iterations required to complete \(85\%\) of the simplicial complex using the combined RW and ISW with different value of \(\gamma\). For each value of \(\gamma\) we ran 10 experiments, and each data point shows the average number of iterations required for completing \(85\%\) of the simplicial complex for that value of \(\gamma\). For these experiments we fixed \(\xi = 10, \eta = 10\) and \(\delta = 5\).

Likewise, we varied the amount of interleaved RW as measured by \(\delta\) (see Lines 8–10 of Algorithm 9) and measured the number of iterations required to complete \(85\%\) of the simplicial complex using the combined RW and ISW with different values of \(\delta\). The results are shown in Fig. 21b. For each value of \(\delta\) we ran 5 experiments, and each data point shows the average number of iterations required for completing \(85\%\) of the simplicial complex for that value of \(\delta\).

As clearly demonstrated by the plots of Fig. 21, despite the fluctuations, the overall trend in the data shows an increasing number of required iterations with an increasing amount of random walk, indicating that a higher proportion of ISW helps with faster exploration. However, in general, for the other experiments, we do not set \(\gamma =0\) though, since, at a small time-scale, with no initial simplicial complex to work with, ISW alone tend to have difficulty in constructing an initial simplicial complex. For all the previous experiments we chose \(\gamma =10\). Likewise, for the reasons described in Sect. 4.4.2.iv., we choose a non-zero \(\delta =5\), to ensure that the ISW is interleaved with RW to avoid robots creating a horn-like shape of the explored domain.

Fig. 21
figure 21

The number of iterations taken to construct 85% of the simplicial complex in the second complex environment using combined RW and ISW

5.4 Effect of changing the number of robots

In order to demonstrate that our LCCA scales with the number of robots, we evaluated the performance of the algorithm with an increasing number of robots, N (note that for all other LCCA simulations we have used \(N=4\)). Figure 22 unsurprisingly shows that with increasing number of robots the number of observations per robot required for exploration decreases. We used the number of observations per robot (note that the total observation count will be similar for constructing the 85% of the landmark complex irrespective of the number of robots) as the metric for comparison because, with our current multi-threaded implementation of the simulations running on a single computer processor, the total simulation time (either in terms of seconds or the number of iterations in the central server thread) does not decrease monotonically with the number of robots. This is because with the increasing number of threads, the processing overhead for the processor also increases.

Fig. 22
figure 22

The average number of observations per robot decreases with the number of robots used in constructing 85% of the landmark complex in the second complex environment using the combined RW and ISW. Each data point shows the average value over 10 different simulations with the same number of robots

5.5 Role of homology informed walk in LCCA

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 C̆ech 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 23 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 Fig. 23 suggests that the optimum level of HIW use is to construct the last \(5\%\) of total 2-simplices with HIW.

Fig. 23
figure 23

Different HIW contributions on constructing the 2-simplices in the C̆ech complexes of the visibility domain of the landmarks, to reach the target amount for the first and second complex environments

5.6 Growth rate based criterion for switching to HIW

Since the total number of 2-simplices is unknown to the robots, we need a strategy for switching to HIW without using the percentage completion of the simplicial complex. 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 24 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 Fig. 25. 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 at 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 HWI is to fill holes within the complex, and not complete exploration when there are unexplored frontiers. In fact, as evident from the plots in Fig. 25, a growth rate of about 0.004 is the optimal value at which switching to HIW minimizes the total observation count.

Fig. 24
figure 24

Growth rate of the simplicial complex (r) as a function of time (measured in terms of number of iterations in the central server thread)

Fig. 25
figure 25

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

5.7 Performance of LCCA with sparse and randomly placed landmarks

The performance of LCCA gives asymptotic guarantee on complete construction of the landmark complex only if the landmarks satisfy the necessary visibility condition (see Sect. 3.2). This is guaranteed by the Landmark Placement Algorithm (LPA) proposed in the paper. However, in an environment where the landmarks are sparse and randomly-placed, the C̆ech Complex of the visibility domains of the landmarks do not form a correct representation of the configuration space. This is illustrated in the example of Fig. 26a, where we placed about 50% of the landmarks as suggested by the LPA, but dispersed randomly throughout the second complex environment. As can bee seen from Fig. 26b, the C̆ech Complex of the domains of visibility have two major issues:

  1. i.

    Due to random placement, the landmarks missed some narrow passages, and hence created multiple disconnected components in the complex, and,

  2. ii.

    It also created multiple false holes in the complex that do not correspond to or bound any obstacles in the environment

As a consequence, LCCA has difficulty in constructing the landmark complex because: i. In the combined RW and ISW phase of the algorithm, the robots are often unable to explore and discover components of the complex disconnected from (or weakly connected to) the component that it started in, and, ii. in the HIW phase of the algorithm the robots are repeatedly driven towards the false holes, which they are unable to fill because the absence of the necessary landmarks for constructing the the simplices that fill those hole make the holes intrinsic to the complex that cannot be filled. As a result, upon running LCCA with the landmarks of Fig. 26a, we were able to complete about \(86\%\) of the full landmark complex (i.e., the landmark complex had \(86\%\) of the 2-simplices in the C̆ech Complex shown in Fig. 26b) and the final result of LCCA is shown in Fig. 26c. At this point HIW was unable to make any further progress on the exploration, and as can be observed, the false holes remained un-filled and there are a few disconnected or weakly-connected components of the complex that remained undiscovered.

The landmark placement algorithm (Algorithm 1) and the landmark complex construction algorithm (Algorithm 9) are intrinsically linked to each other by the necessary landmark density criterion, which depends on the footprint of the sensors onboard the robots as described in Sect. 3.2. Having landmarks placed in the environment using a different approach, with less density and/or with fewer number, will unsurprisingly result in incomplete construction of the landmark complex, which in turn due to violation of Proposition 1, will not be a topologically-correct (homotopy equivalent) representation of the configuration space.

Fig. 26
figure 26

Effect of randomly placed landmarks on the C̆ech Complex and the performance of LCCA

5.8 Comparison with other methods

Our proposed approach is unique because we assume that each robot has extremely limited sensing capabilities (only the binary information on whether or not a particular landmark is visible) and no odometry information. To the best of our knowledge, there exists no other work that addresses the problem with such limited capability assumptions. 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 (see Sect. 1.2.1 for a more detailed literature review). Any comparison of performance will most certainly prove the existing SLAM approaches to be more efficient and accurate than our proposed approach. So a fair comparison with existing state-of-the-art is not possible. However, while our method does not intend to match or compete with the metric precision of high-fidelity state-of-the-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.

Likewise, for a meaningful comparison with an alternative method for landmark placement there needs to be a meaningful metric for comparison. Existing algorithms for landmark placement, for example [22, 28], solve optimization problems and the landmark placement is achieved to minimize a real-valued objective/cost function that is intricately linked to the specific problem setup and sensing model that those works use. There is no doubt that the result of such landmark placement algorithms will thus minimize their respective objective functions and our proposed landmark placement algorithm will not minimize those same objective functions. However, our proposed landmark placement algorithm serves a completely different purpose altogether—our landmark placement algorithm (LPA) is meant to ensure that our proposed landmark complex construction algorithm (LCCA) can construct the correct Landmark Complex representation of the environment with the extremely limited sensing capabilities (binary information of whether or not a landmark is present in a directional sensor footprint) onboard each robot. The two algorithms are thus co-designed. In our setup, we cannot pose the landmark placement problem as a practical optimization problem, especially since the environment is complex and highly non-convex, and even if it was possible to pose it as an optimization problem, such a formulation would involve a large number of integer variables (due to non-convexity of the environment, and the binary nature of the sensing), and will be completely different from the optimization problems in existing work. Instead, we use a filtration-based algorithm for landmark placement.

5.9 Conclusion

In this paper we consider the problem of multi-agent landmark-based mapping, exploration and navigation in a localization-free (GPS-denied) environment with extremely limited sensing capabilities and limited computational resources. Each robot can sense the binary information of whether or not a landmark is present in its directional sensor footprint, and for the purpose of navigation is able to sense if the landmark is to the left or right of the robot. For mapping with such limited sensing capability we use a topological representation of the environment called Landmark Complex. This metric-free representation constructed using the binary information of presence of landmarks in robots’ sensing domains is robust to sensory noise, requires little onboard computational capability, and is amiable to easy distributed construction using multiple agents. The mapping and exploration algorithm thus developed is called Landmark Complex Construction Algrothm (LCCA). In order to correctly and effectively construct the said landmark complex, the presence of a necessary density/distribution of landmarks in an urban/indoor environment can be achieved during the construction of the environment. To that end, our proposed Landmark Placement Algorithm (LPA) uses a novel filtration-based approach to ensure that at least one landmark is visible from every sensor configuration in the environment.