In the last two decades, there has been a widespread deployment of multi-robot systems as sensor platforms for gaining situational awareness in military Simon et al (2004) as well as civilian Werner-Allen et al (2006) applications. Robots deployed in such scenarios are capable of autonomously making decisions and taking actions with minimal human intervention. Prior information regarding the exogenous processes that effect the performance of such robotic systems is an essential component of their decision-making process Theodoridis and Hu (2012). However, in reality, the system seldom has a complete knowledge about the uncertainty in the environment, especially when adversaries are involved. Due to the sensitive nature of applications, a system designer either uses a Bayesian approach Ho and Lee (1964) to maximize the expected reward or a Game-theoretic approach Başar and Bernhard (2008) to guarantee a minimum reward in such scenarios. In this work, we explore a different direction, i.e., an adaptive approach to address the challenge that arises due to incomplete information. To be specific, we consider the problem of deploying a mixed team of static and mobile sensors for persistent observation of a mobile intruder. The team of sensors lack complete information regarding the motion model of the intruder. The deployment technique for the sensors proposed in this paper is in part motivated from guard deployment techniques prevalent in art-gallery problems O’Rourke (1983).
An important challenge for a network designer is to balance the trade-off between energy consumption of the network Bhatti and Xu (2009) and its overall coverage Howard et al (2002). Energy efficiency is an integral component in the design of sensor networks to increase their average lifetime. A frequently used approach to extend the average lifetime of a sensor network is to schedule activation cycles of the individual sensors He and Chong (2006). For example, Tian and Georganas (2002) proposes scheduling algorithms that randomly assign sensor nodes to multiple working subsets, which alternately perform the sensing tasks for monitoring a sensor field. In Deng et al (2005), authors propose a scheduling algorithm for clustered sensor networks that deactivates nodes based on their relative distance to the cluster head to improve energy saving. In addition to energy efficiency, scheduling schemes often need to fulfill a secondary objective, for example, preserving the transmission range Chen et al (2007) or the sensing coverage Kumar et al (2004) of the network. For a static camera network, reducing the volume of data collected is an important secondary objective since it lowers the overall latency of the network Aghajan and Cavallaro (2009) by reducing the communication and processing overheads. A mobile camera network can alleviate this problem of data deluge Baraniuk (2011) by reducing the number of sensors that need to be active. The solution to the persistent tracking problem explored in this paper is a collaborative scheme between a team of mobile sensors aided by a team of static sensors.
In this work, we leverage results from art-gallery problems O’Rourke (1983). The art gallery problem originates from a real-world problem of guarding an art gallery with a team of guards who together can observe the whole gallery. For an infinite speed intruder, the problem of persistently tracking an intruder with a set of sensors is equivalent to the problem of distributing sensors in the environment such that every region inside the environment is within the sensing range of at least one sensor (it is covered) at all times, which is an instance of the area coverage problem Howard et al (2002). Results from the art-gallery problem can be used to deploy static guards O’Rourke (1983); Hoffmann (1990) in a polygon to cover it. For an intruder with finite speed, fewer guards can be deployed to track the intruder. In Laguna et al (2016); Laguna and Bhattacharya (2017), we proposed a tracking strategy that deploys at most diagonal guards in a polygon with sides, and derived the maximum speed of the intruder for which the tracking strategy works for a fixed speed of the guards. All the aforementioned works assume that the maximum speed of the intruder is known a priori which is a severe limitation since knowledge about the adversary is limited in surveillance applications. In contrast, this paper deals with the scenario when the guards do not have any a priori knowledge about the maximum speed of the intruder.
Keeping a mobile target within its sensing range in an environment containing obstacles gives rise to a path planning problem for the mobile observers/sensors. In visibility-based target tracking, the observers/sensors are equipped with vision sensors to track the mobile targets. A detailed review regarding prior work in tracking a single target with one mobile observer is provided in Bhattacharya and Hutchinson (2010, 2011). For multiple mobile observers, centralized Mehmetcik and Ozguner (2013) as well as decentralized techniques Luke et al (2005) have been proposed to track a single target Hausman et al (2015); Williams and Sukhatme (2015) or a team of targets Murrieta-Cid et al (2002); Zou and Bhattacharya (2015); Jung and Sukhatme (2002). In contradistinction to the previous works that assume a free observer with no constraints in motion, this paper assumes that the observer is either static or restricted to move along a line segment inside the polygon. For the sake of clarity, we would like to mention here the distinction between our problem and that of target search which has received significant attention in the past LaValle et al (1997); Suzuki and Yamashita (1992). In target search, the objective is to deploy a team of mobile robots to locate a target inside an environment, whereas we assume that the target is initially visible to the observer in our current work.
To be specific, the contributions of this work are as follows: (i) We present a strategy to deploy a team of static and diagonal guards to track an intruder in a polygonal environment without a priori knowledge about its maximum speed. (ii) We present a scheme to activate the guards based on the instantaneous speed of the intruder. Therefore, the proposed tracking strategy is adaptive in the sense that it activates/deactivates the guards based on the instantaneous speed of the intruder. (iii) We show that the proposed tracking strategy coincides with the strategy to cover a polygon with mobile guards for low speed regimes of the intruder O’Rourke (1983). In contrast, for high speed regimes of the intruder, the tracking strategy coincides with the strategy to cover a polygonal environment with static guards.
, the guards are classified depending on the trajectories selected for them in their deployment and a motion strategy for tracking is presented. In Section5, we present the activation strategy for the guards. In Section 6, we present the results of the proposed technique in different environments. Section 7 presents the conclusions and future work.
2 Motivation and Problem Formulation
Consider a mobile intruder inside a simple -gon ( edges/vertices) with no holes. Let denote the speed of . Let denote the location of at time . A set of guards are deployed in . We assume that each guard is equipped with an omnidirectional vision sensor with infinite range. As a result, the guard can see everything that lies inside its visibility polygon Berg et al (2008). In this work, we assume that the guards do not have a priori knowledge about the maximum speed of the intruder and can only measure its instantaneous speed.
Next, we define some mathematical objects related to a polygon. A triangulation of a polygon is defined as a (not necessarily unique) partition of into a set of disjoint triangles such that the vertices of the triangles are vertices of the polygon, and there is no intersection between any pair of edges of the triangles. An edge of a triangle in the triangulation is called a diagonal O’Rourke (1983). The triangulation of a polygon can be represented as a planar graph called a triangulation graph. (vertex set of ) corresponds to the vertices of , (edge set of ) corresponds to the diagonals of the triangulation of , and (triangle set of ) corresponds to the faces111In a triangulation graph all the faces are triangles. of . Clearly, there is a bijection between the set of vertices of and . Additionally, there is a bijection between the set of diagonals of the triangulation of and . As a result, we do not make a distinction between the following: (i) vertices of and the vertices in (ii) diagonals of the triangulation of and the edges in (iii) triangles of the triangulation of and the triangles in . Let be the dual graph of . Each vertex in corresponds to a triangle in , and there is an edge in only between vertices that correspond to triangles in that share an edge. For a simple polygon , the dual graph of any triangulation of is a tree Berg et al (2008).
We define and as the sets of mobile and vertex guards, respectively. and are disjoint sets () such that . Each is located at a vertex and is always static. Moreover, each can either be in an active mode (consuming power with its camera switched on) or in sleep mode (negligible power consumption with its camera switched off). A vertex guard is said to be activated (deactivated) when it goes from the sleep mode to an active mode (active mode to a sleep mode). Next, we describe mobile guards. All guards in are diagonal guards O’Rourke (1983), i.e., each is a mobile guard associated to a distinct diagonal of the triangulation of . To be more specific the trajectory of each is defined by a diagonal , so is only allowed to move along . The endpoints of are denoted by with . Diagonal guards can cover222In this work we say that a region is covered by a guard if the region is inside the visibility polygon of the guard. different regions of the environment depending on the location along their diagonals. Although diagonal guards are assumed to be mobile, they can choose to be static (as vertex guards) in case the regions that are assigned to them can be covered from one endpoint of their diagonal. Thus, they can stay motionless in certain situations. However, in contrast with vertex guards, they are always in active mode. A diagonal guard is assumed to have a maximum speed .
Let denote the speed ratio. Without any a priori knowledge about the maximum value of , the deployment strategy should be capable of handling all possible values of . For , either or the guards are static (). In either case, the guards need to cover every region inside . activate static guards are sufficient to cover the polygon since O’Rourke (1987) shows that there is a set of at most vertices that can dominate333A triangulation graph is dominated by a set of vertices if at least one vertex of each triangle in is an element of . , which trivially implies that they can cover . However, fewer than activated guards might suffice for finite .
A sufficient condition for tracking is to ensure that there is always at least one guard covering the triangle444A triangle is said to be covered by a guard , if is located at the boundary of the triangle. where the intruder is located. Therefore, we do not require all the faces of the triangulation to be covered at the same time, only a subset of them. By allowing some guards of to be mobile, it is possible to cover such subset of triangles with fewer active guards. Our objective is to determine a deployment strategy for a team of at most guards such that at most of them are diagonal guards and the rest are vertex guards. Moreover, we want to obtain an activation/deactivation strategy for the vertex guards which ensures that for any speed , the intruder will always be observed by activating a sufficient number of vertex guards to aid the diagonal guards. The deployment strategy guarantees that for small speed regimes of the intruder only the diagonal guards are activated, while for high speed regimes all the guards (including the vertex guards) are activated555For high speed regimes, when all the vertex guards are activated, all the diagonal guards become static and they locate themselves at one of the vertices of their diagonals to ensure coverage to track the intruder.
Figure 1 illustrates an example to motivate our problem. Figure 1 (a) shows a triangulated polygon. Circles shaded in red represent guards ( and ), and the red segments represent the diagonals allocated to the guards ( and , respectively). The circle shaded in black denotes the intruder . The circle shaded in yellow is a vertex guard in sleep mode, which is located at endpoint of . and are sufficient to track the intruder at small values of . However, beyond a critical value of , needs to be activated to track the intruder since the maximum speed of and may not be sufficient to guarantee persistent tracking. This is illustrated in Figure 1 (b) where we assume that a sufficiently fast intruder can “hide” inside triangle . In that case, the inactive vertex guard is activated, from its location it covers triangles , and .
3 Deployment of Guards
In this section, we propose a deployment strategy for the guards for tracking the intruder based on its instantaneous speed. The outline of the deployment is as follows. A set of at most vertices of that dominate must be found, such that each vertex in is associated to a guard in . Since and , where is the cardinality of , then at most vertices in correspond to diagonal guards and the remaining vertices in correspond to vertex guards. For the case of a vertex guard , the vertex in associated to corresponds to the location of in the triangulation of . In contrast, for the case of a diagonal guard , the vertex in associated to does not correspond to the location of since it is a diagonal guard. Hence, for a diagonal guard , the associated vertex in corresponds to an endpoint of . Additionally, we require that for low speed regimes of the intruder, the diagonal guards must be able to guarantee persistent tracking. This implies that the set of diagonals must be a set of dominating diagonals666A triangulation graph is said to be dominated by a set of diagonals if at least one vertex of each triangle in is an endpoint of a diagonal in .. Therefore, is a set of at most vertices of that dominates , such that there is a dominating set of at most diagonals, where an endpoint of each is a different vertex in .
We call as the set of candidate vertices. Since the vertices in dominate and each guard in corresponds to a different vertex in . The definition of guarantees that for infinite speed guards, locating every guard at its corresponding vertex in and activating every vertex guard suffices to cover all triangles in , which implies that persistent tracking is guaranteed with at most guards regardless of the speed of the intruder, while for speeds each guard can be activated/deactivated depending on .
In O’Rourke (1987), it is shown that for any triangulation graph of a simple polygon with edges it is always possible to find a diagonal that partitions into and such that is the triangulation graph of a pentagon, hexagon, heptagon, octagon or nonagon, which we call basic polygons. In O’Rourke (1987), it is shown that any triangulation graph of a pentagon, hexagon or heptagon has one dominating diagonal. It is also shown that any triangulation graph of a nonagon has two dominating diagonals, and in general every triangulation graph of a polygon with vertices has a set of dominating diagonals with size of at most .
Lemma 1 and Theorem 3.1 prove the existence of at most vertices which cover the polygon, and contain a subset of at most vertices which are end points of diagonal guards that provide mobile coverage. In contrast, Theorem in O’Rourke (1983) proves the existence of dominating diagonals in a polygon. Although, proofs of Lemma 1 and Theorem 3.1 are inductive, the intermediate steps are different from the proof of Theorem in O’Rourke (1983).
For any given triangulation graph of a basic polygon, there exists a set of at most vertices which dominate the triangles of the triangulation, and contain a subset of at most vertices which are endpoints of diagonals which dominate the triangles of the triangulation. (There exists a set of at most candidate vertices).
For a pentagon, the proof of the lemma follows from the proof of O’Rourke (1987) (Lemma ,page ) which states that there is always a vertex that can dominate any triangulation graph of a pentagon, so it can always be dominated by one diagonal guard with such a vertex as an endpoint of its diagonal while the opposite endpoint can be any other vertex of the triangulation. Hence, .
Irrespective of the triangulation of the hexagon, it can always be decomposed into a pentagon and a triangle such that can be dominated by a vertex which is an arbitrary vertex of . Therefore, a candidate vertex exists from which can be dominated according to the case of a pentagon. We can always select a diagonal with an endpoint at and the other at one vertex of . Thus, and .
Regardless of its triangulation, a heptagon can always be decomposed into a hexagon and a triangle . Based on the case of a hexagon, there are two candidate vertices and from which can be dominated. Since can be an arbitrary vertex, a vertex of can always be chosen to cover it. is a candidate vertex on an arbitrary edge. The diagonal is selected such that one of its endpoints is , and its other endpoint is a vertex of . Thus, and .
Regardless of its triangulation, an octagon can always be decomposed into a heptagon and a triangle . Based on the case of a heptagon, there are two candidate vertices and from which can be dominated. Since can be a vertex of an arbitrary edge of , one of the endpoints of the edge shared by and can always be chosen as a candidate vertex. One diagonal is selected such that one of its endpoints is and it dominates . If it cannot dominate , any diagonal with as an endpoint can be chosen to dominate . Thus, and .
Regardless of its triangulation, a nonagon can always be decomposed into the triangulation graph of an octagon and a triangle . From the case of an octagon, there are two candidate vertices and that dominate . Hence, an additional guard is required to cover . Since can be an arbitrary vertex of which in turn can be arbitrarily chosen to include any vertex of the boundary of the nonagon, it follows that can be arbitrarily placed, and the remaining triangulation subgraph of the nonagon has two candidate vertices. A diagonal incident777A diagonal is said to be incident to a vertex if the vertex is an endpoint of the diagonal. to can dominate at least two triangles of . The remaining subgraph of is the triangulation graph of a heptagon with two candidate vertices ( and ), and it can be dominated by a single diagonal guard with an endpoint incident to or (the case of a heptagon). Thus, and .
Every triangulation graph of a polygon with vertices can be dominated by at most candidate vertices.
Lemma 1 proves the statement of the theorem for . Therefore, we will prove the theorem for the case when using induction. Let us assume that the theorem holds for any and . In O’Rourke (1987), it is shown that a diagonal that partitions into two graphs and , where contains boundary edges with , always exist. We consider each value of :
: has boundary edges including . By lemma 1, has two candidate vertices and , with located arbitrarily. There is a dominating diagonal with or as an endpoint. has boundary edges including , and since is arbitrary, it can be an endpoint of the edge between and . Hence, we can always select such that at least two triangles and of are incident to . Let and be the sets of vertices and edges of the union of and respectively. A graph can be constructed such that and (we say that and were adjoined to ), has now vertices which implies that it has at most candidate vertices. Thus, together with has at most candidate vertices.
: This is similar to the previous case, but has boundary edges and is the endpoint of an arbitrary edge. has boundary edges including . Since is the endpoint of an arbitrary edge, it can belong to the edge between and . Hence, is selected such that it dominates at least one triangle of . is obtained by adjoining this triangle to , so has vertices. Therefore, it has at most candidate vertices. The result follows.
: has boundary edges. has boundary edges. In O’Rourke (1983) (Theorem ,page ) there are two cases: (i) the triangulation graph of the octagon has a single dominating diagonal. Therefore, and can be the endpoints of the diagonal. has boundary edges. Hence, it has candidate vertices, and has at most candidate vertices. (ii) A graph is obtained by adjoining three triangles of the triangulation graph of the octagon to . The remaining subgraph corresponds to a pentagon. Since has vertices, it has candidate vertices. Therefore, has at most candidate vertices since the triangulation of the remaining pentagon has only one candidate vertex 1.
: has boundary edges, and by Lemma 1, it has three candidate vertices , and that dominate such that is an arbitrary endpoint of the edge between and , and it is an endpoint of one of the two dominating diagonals. can be chosen to cover at least two triangles of . is obtained by adjoining those two triangles to . Consequently, has boundary edges. Hence, has candidate vertices, it follows that has at most candidate vertices.
It is guaranteed that for any simple polygon with vertices, there is always a diagonal that partitions the triangulation graph of the polygon such that the partition corresponds to one of the aforementioned cases. Since for each one of such cases it was shown that there exists a set of at most candidate vertices, and by Lemma 1 we know that the statement is always true for , it follows that any triangulation graph of a simple polygon with vertices can always be dominated by at most candidate vertices.
Theorem 3.1 proves the existence of a set of at most candidate vertices that dominates . Based on the different cases of the theorem and the existence of the diagonals that partition into subgraphs corresponding to basic polygons Algorithm 1 is a strategy that we propose to determine the set of candidate vertices and its corresponding subset of dominating diagonals . The objective of Algorithm 1 is to iteratively partition into triangulation subgraphs of basic polygons, and once that is partitioned Algorithm 1 exhaustively finds the sets of candidate vertices and dominating diagonals for each subgraph of the partition. At each iteration, it searches for a diagonal that separates a triangulation subgraph of a basic polygon (denoted by ) such that there is no other diagonal in that can separate a subgraph of a smaller basic polygon. Also, for each subgraph identified, a set of candidate vertices in is found such that they can cover all the triangles in that are not already covered by other candidate vertices. It also finds a set of diagonals that can cover the triangles in that are not already covered by other diagonals (and each diagonal must have a different candidate vertex as an endpoint). The process is repeated until the remaining non-partitioned subgraph has vertices or less. The first while cycle (Line ) finds the diagonal that partition into triangulation subgraphs that correspond to basic polygons. This can be completed in time by traversing the dual graph . Recall that and is a tree. In Figure 2 (a) a simple polygon is shown, it has vertices and triangles, the green segments represent the diagonals , and found by Algorithm 1. separates the triangulation graph of the hexagon that contains triangles , , and . (along with ) separates an hexagon containing , , and . Finally, is found, which separates a heptagon containing triangles , , , and . The remaining subgraph corresponds to a pentagon. Figure 2 (b) shows the corresponding dual graph, the blue vertices correspond to the triangles of the hexagon separated by , the orange vertices to the triangles separated by , and the green vertices to the triangles separated by .
After the first while loop, a graph is created (line ) such that each vertex corresponds to the triangulation graph of each basic polygon that was found in line , and there is an edge only between vertices that correspond to basic polygons that have a common edge in . For this step, along with can be used to identify in linear time the triangles in that correspond to the basic polygons of the partition, and consequently their subgraphs . This is done in time. In Figure 3 (b) the graph that corresponds to example of Figure 2 is shown, the blue and orange vertices correspond to the hexagons found in the partition, the green vertex corresponds to the heptagon and the black vertex corresponds to the remaining pentagon. The second while loop identifies the minimum set of vertices that can cover the triangles in that are not already covered by other candidate vertices (line ). Finding such a subgraph takes time. It also finds the corresponding minimum set of diagonals that can dominate the triangles in that are not already covered by other diagonals such that each one of them has a different candidate vertex as an endpoint (line ). These steps can be completed exhaustively in constant time since the triangulation graph always corresponds to a basic polygon. Since , the second while loop clearly takes time. It follows that the time complexity of the algorithm is . The procedure to mark the visited vertices in ensures that at any time a triangulation subgraph is selected by the algorithm to find its corresponding candidate vertices and dominating diagonals, there is at most one neighboring vertex in that corresponds to a triangulation subgraph such that not all of its dominating diagonals and candidate vertices have already been found. The second while loop obtains a set of at most diagonal guards using the basic polygons represented in . Once that and are found, diagonal guards are deployed in the diagonals of while vertex guards are deployed in the vertices that are not associated to diagonals in .
In Figure 3 (a) the red diagonals represent the dominating diagonals, the red shaded circles correspond to the candidate vertices assigned to the dominating diagonals and the yellow shaded circle corresponds to the remaining candidate vertex which is not associated to any diagonal. Starting with the hexagon defined by triangles , , and there is a single vertex from which all the triangles of the hexagon can be covered (). Any diagonal with as an endpoint dominates the hexagon. However, the diagonal chosen is the one that dominates more triangles (in the example it is the diagonal that dominates and ). Next, the algorithm proceeds with the second hexagon, where is found and since any diagonal of the hexagon with as an endpoint dominates the hexagon, the diagonal labeled as was arbitrarily selected. The algorithm proceeds with the triangulation graph of the heptagon where two candidate vertices and are found, and also one diagonal incident to both which is able to dominate the triangles that are not already dominated. Hence, and . Clearly, and . Finally, three diagonal guards , and are deployed along , and respectively, and a vertex guard is located at .
4 Critical Regions and Motion Strategy
In this section we present a motion strategy for the mobile guards for persistent tracking. We also classify the triangles of the triangulation of depending on the diagonals of the guards incident to them. A classification of guards is also presented based on the types of triangles that are incident to the endpoints of their diagonals, and a condition that guarantees tracking when the intruder is inside a given triangle is also presented.
Let be the set of triangles incident to endpoint . We say that the set of triangles is “incident” to . Additionally, we define . It is the “Maximum” distance that the intruder can travel while moves across . The triangles of can be classified in the following categories based on the relative location of the diagonals in (refer to Figure 4):
A triangle is called safe if it can be covered at any time the intruder is inside it. They are illustrated as light blue shaded triangles in Figure 4. Trivially, a triangle such that one or more of its edges is a diagonal in , or a triangle such that there is a static guard located at any of its vertices is a safe triangle. In Figure 4, is a static guard located at the vertex represented as a red circle and all the triangles that have such a vertex in common are safe triangles.
A triangle is called unsafe if it is not a safe triangle and there is only one guard that can cover it from one of its endpoints. They are illustrated as orange shaded triangles in Figure 4.
A triangle is called regular if it is neither safe nor unsafe. They are illustrated as unshaded triangles in Figure 4. Notice that for each regular triangle there are at least two dominating diagonals (red segments) incident to its vertices.
Safe Zone: A safe zone of a guard , denoted by , is the set of triangles adjacent which have as an edge. Notice that all the triangles in a safe zone are safe triangles, see Figure 4.
Augmented Safe Zone: An augmented safe zone is the largest set of adjacent safe 888Two triangles are adjacent if they share an edge. in such that
Unsafe Zone: An unsafe zone of an endpoint of , with ,is the set of unsafe triangles incident to and it is denoted by . Also let be the unsafe zone of .
Type Guards: A guard is of type if there there is an endpoint of such that all the triangles incident to such endpoint are safe triangles, which means that each one of them (excepting the triangles in ) is covered by a guard when . Hence, a Type guard does not require to be located at one endpoint of its diagonal, so it can just stay motionless at the opposite endpoint, labeled as . An example of a Type guard is in Figure 5.
Type Guards: A guard (not of Type ) is of Type if it has an unsafe zone , and there are no regular triangles in adjacent to . In such a case, we label . For Type guards, we define an internal critical curve, denoted by , as the boundary between and . partitions into two regions. We define a region , and let denote the partition containing . We define an external critical curve, , as the curve inside which is at a distance of from . The critical region is defined as the region inside “enclosed” by and . Depending on the location of inside , is located at a different point at the interior of , see Equation (1). Given the definition of and , the critical curves can be used to trigger the motion of such that starts moving from one endpoint of to the other when enters , and it is ensured that can reach the opposite endpoint of at the same time that reaches the other critical curve bounding . A Type guard is illustrated in Figure 5 along with its critical curves and shown as blue curves.
Type Guards: A guard (not of Type or Type ) is of Type if all the neighboring guards999We say that a guard is a neighbor of if . that can cover the regular triangles incident to one endpoint of have their critical regions already defined. Such an endpoint is then labeled as . In Figure 5, has its critical region defined since it is a Type guard. Moreover, since is the only neighbor of that can cover a regular triangle incident to one endpoint of the diagonal of , then meets the definition of a Type guard. Define as the set of regular triangles incident to , and define as the set of all neighboring guards that cover triangles in . To generate the critical region of a type guard , each is considered. We define as the set of guards that can cover . Let . If and if , then is the only guard that can cover , since, by the definition of a critical region, there is no guard in that is covering . Let be the region obtained from the union of all regions and all the unsafe triangles incident to . We define as the boundary of . and are defined in the same manner that they are defined for Type guards. is the curve inside the region which is at a distance of from , and is then the region inside “enclosed” by and . In Figure 5, is the closed black curve inside the regular triangle shared by and , and is shown as a black curve inside that maintains a constant distance from .
Type Guards: A guard is a type guard if it is not of Type , or . A distinctive characteristic of this type is that there is at least one regular triangle incident to each endpoint of such that it is adjacent to , and there is at least a pair of neighbors without their critical regions defined. Hence, we cannot determine all the regions that would define the internal critical curve of a Type guard. The presence of Type guards is associated with the presence of a cyclic arrangement of Type guards and regular triangles as shown in Figure 6 (a). Clearly, there is an ambiguity in allocation for those regular triangles since the region that must be assigned to cannot be found as in the cases of Type and Type guards. Thus, for Type guards, we proceed by transforming all the regular triangles incident to one of the endpoints of its diagonal into unsafe triangles, the selected endpoint is then labeled as . This turns into a Type guard, so a critical region for it can be obtained. Consequently, has the task of covering all the triangles in . Since all triangles in are unsafe triangles that must be covered by , they are considered as “safe triangles” for the neighboring guards. The change of the types of triangles, changes the types of the neighboring guards(Type guards may transform into any of the other types, Type guards may become Type or Type guards, and Type guards may become Type guards). In Figure 5, two Type guards and are illustrated. Triangles and are regular triangles shared by both type guards, so it is not possible to obtain the internal critical curve of and . Hence, is arbitrarily redefined as an unsafe triangle for (and consequently as a safe triangle for ), that means that it is assigned to . As a consequence, meets the definition of a Type guard, and since is considered a safe triangle by , then it also meets the definition of a Type guard. The resulting critical curves are also illustrated.
4.1 Reactive Strategy
Let and let be the minimum distance between and . The following equation maps the location of the intruder to obtain the location of a guard, , along its diagonal:
where and are the coordinates of and respectively. If , remains static at or depending on the location of .
We present an important result that determines the condition under which non-safe (regular or unsafe) triangles can be turned into safe triangles.
A non-safe triangle is covered if and only if .
If is covered, a guard is always present at its vertex in case lies inside it. If lies inside the critical region associated with a guard, the guard cannot lie on the vertex of . Therefore, the critical regions associated with the guards cannot have a common intersection inside since it is covered. If , every point inside lies outside the critical region of at least one . Therefore, is covered.
5 Activation of Additional Guards
In this section, we present a procedure to activate or deactivate the guards to ensure tracking depending on the instantaneous value of . Once and are defined and the critical regions of the guards in are obtained, we want to determine the number of activated guards based on . First, we introduce some notation. Given , let and be the sets of vertices and edges of respectively. denote the set of activated and deactivated vertex guards respectively. is the set of candidate vertices associated to the diagonals in . Clearly, . Since dominates , the polygon is covered by as . Therefore, the guards in are sufficient to track the intruder at . However, some vertex guards might need to be activated as increases.
We define as the set of non-safe triangles of . Algorithm 2 shows the pseudocode to activate guards based on the condition in Lemma 2. The input to this algorithm is the polygon, the position of the guards, and the instantaneous . At every iteration, Algorithm 2 searches for a triangle that cannot be covered (Lines and ) based on Lemma 2. If such a triangle exists, Algorithm 3 searches for a guard in to activate by the following recursive process on a graph (refer to Figure 6 (b)). The algorithm starts with a non-safe triangle , if , then it selects a followed by a non-safe triangle at the other endpoint of . For each non-safe triangle visited by the algorithm we define a vertex a and for each used in the algorithm we define an edge . Thus, a graph is built. It is a path that ends at a vertex that corresponds to a triangle where .
Algorithm 3 terminates in finite steps.
The recursive procedure chooses a diagonal guard at each step. If the algorithm does not terminate, it implies that either (which is not possible), or a cycle exists in (refer to Figure 6 (c). The latter cannot occur since the existence of such a cycle implies the existence of Type guards (refer to Figure 6 (a)). Since all Type guards are converted to Type guards before the algorithm starts (discussed in Section 4), cannot have a cycle.
At the end of each execution of Algorithm 3, at least one non-safe triangle is converted into a safe triangle, and this in turn reduces the area of . Moreover, since the number of non-safe triangles is finite, the number of executions of Algorithm 3 is finite. After each iteration of Algorithm 2, a non-safe triangle gets converted to a safe triangle, and there are no regions inside that need to be covered by any diagonal guard. This change “relieves” the guards of the responsibility of covering . Consequently, the critical regions decrease their size. Moreover, smaller critical regions increase the chance of the condition of Lemma 2 to be met. Finally, the following lemma shows that Algorithm 2 terminates.
Algorithm 3, forces lemma 2 to be satisfied for some guards, tracking is guaranteed (maybe this needs to be proved if the paper is self-contained), lemma 4 proves that algorithm 2 calls algorithm 3 (forces lemma 2 to be satisfied) any time that it is required so tracking is ensured for all the guards, that implies correctness.
Algorithm 2, guarantees that the triangle where is located is always covered by a guard regardless of .
The proof is trivial for safe triangles since by definition, they are always covered when there is an intruder inside them according to Lemma 2. For the case of non-safe triangles, Algorithm 2 activates vertex guards for the current value of until the condition of Lemma 2 is true for all non-safe triangles. Since Algorithm 3 terminates in finite steps, and since after each iteration of Algorithm 2, a non-safe triangle gets converted to a safe triangle, Algorithm 2 terminates after a finite number of steps. Since the condition of Lemma 2 is met by all the triangles after a finite number of iterations of Algorithm 2, the result follows.
In this section, examples that illustrate the relation between different values of found through simulation and the number of active guards are presented. Figure 7 (a) shows a simple polygon with vertices. The candidate vertices (from Algorithm 1) are marked in red. Diagonal drawn in red represent the diagonal guards. with , and . needs to cover triangles and from each endpoint. When , the critical region of does not meet the condition of Lemma 2 in triangle . As a result, Algorithm 2 activates the inactive guard in triangle . Activated vertex guards are marked in yellow with the corresponding that triggers their activation. After activation, triangles and become safe. It follows that meets the definition of a Type guard covering triangles and (so all of them become safe triangles). For , . For , the condition of Lemma 2 is violated in triangle (the critical regions of and intersect in ). Hence, Algorithm 2 finds the inactive guard in triangle and activates it, thereby, covering triangles and . Consequently, and become Type covering the remaining triangles. The red plot in Figure 7 (b) shows the variation in the number of active static guards as increases. For any , the total number of guards does not change since the environment is completely covered at that point. Persistent area coverage is achieved for any value of greater than which implies that even if the intruder has infinite speed the set of diagonal guards and vertex guards suffices to keep track of .
In Figure 8, a simple polygon with vertices representing the environment is illustrated. with , and . Since needs to cover triangles and from both endpoints, it meets the definition of a Type guard so it can cover triangles . These triangles along with other triangles with a diagonal guard as an edge are safe triangles. needs to cover triangles and from each endpoint. When , the critical region of is such that it causes the condition of Lemma 2 to be violated in triangle . Therefore, the inactive guard in triangle becomes active. After the activation, triangles and become safe. It follows that meets the definition of a Type guard covering triangles and .
For , . When , the condition of Lemma 2 is not met in triangle . Hence, Algorithm 2 finds the inactive guard in triangle and activates it, so it covers triangles , and . Consequently, and become Type . Therefore, covers triangles and . covers triangles and , which causes to also become Type covering triangles and . For , . Nevertheless, when , the condition of Lemma 2 is not met in triangle . Hence, Algorithm 2 activates the inactive guard located at a vertex of triangle , so it covers triangles and . becomes Type so it covers triangles and . Following the same procedure, the inactive guard located at triangle is activated when . When , the condition of Lemma 2 is violated in triangle . Algorithm 2 does not find an inactive guard so it uses to find a triangle where there is an inactive guard that can be activated. The inactive guard in triangle is activated, and consequently, becomes a Type covering triangles and . The dashed black plot in Figure 7 (b) shows the variation in the number of active static guards as increases. For any , the total number of guards does not change since the environment is completely covered at that point. As it has been shown, the number of activated guards depends on , so for low speed regimes of the intruder, not all guards need to be activated, in contrast with the case of only static guards where the total number of activated guards for both examples would be and respectively regardless of .
In this paper, we explored a problem in which a team of static and mobile guards track a mobile intruder with unknown maximum speed. We presented an algorithm to identify candidate vertices in a polygon that can serve as endpoints of diagonal guards or as a seat for vertex guards. We presented an activation strategy for the guards that is adaptive to the instantaneous speed of the intruder. Simulation results for two different environments illustrated the performance of the proposed techniques.
In the future, we plan to extend our analysis to address the case of multiple intruders. Another direction of future research is to explore the effect of coordination among the intruders on the tracking performance. Other directions include addressing the tracking problem for guards with limited sensing and motion capabilities, for example, edge guards and line guards.
- Aghajan and Cavallaro (2009) Aghajan H, Cavallaro A (2009) Multi-camera networks: principles and applications. Academic press
- Baraniuk (2011) Baraniuk RG (2011) More is less: Signal processing and the data deluge. Science 331(6018):717–719
- Başar and Bernhard (2008) Başar T, Bernhard P (2008) H-infinity optimal control and related minimax design problems: a dynamic game approach. Springer Science & Business Media
- Berg et al (2008) Berg Md, Cheong O, Kreveld Mv, Overmars M (2008) Computational Geometry: Algorithms and Applications, 3rd edn. Springer-Verlag TELOS, Santa Clara, CA, USA
- Bhattacharya and Hutchinson (2010) Bhattacharya S, Hutchinson S (2010) On the existence of nash equilibrium for a two-player pursuit—evasion game with visibility constraints. The International Journal of Robotics Research 29(7):831–839
- Bhattacharya and Hutchinson (2011) Bhattacharya S, Hutchinson S (2011) A cell decomposition approach to visibility-based pursuit evasion among obstacles. The International Journal of Robotics Research 30(14):1709–1727
- Bhatti and Xu (2009) Bhatti S, Xu J (2009) Survey of target tracking protocols using wireless sensor network. In: proceedings of fifth International Conference on Wireless and Mobile Communications, pp 110–115
- Chen et al (2007) Chen Y, Zhao Q, Krishnamurthy V, Djonin D (2007) Transmission scheduling for optimizing sensor network lifetime: A stochastic shortest path approach. IEEE Transactions on Signal Processing 55(5):2294–2309
- Deng et al (2005) Deng J, Han YS, Heinzelman WB, Varshney PK (2005) Scheduling sleeping nodes in high density cluster-based sensor networks. Mobile Networks and Applications 10(6):825–835
- Hausman et al (2015) Hausman K, Müller J, Hariharan A, Ayanian N, Sukhatme GS (2015) Cooperative multi-robot control for target tracking with onboard sensing. The International Journal of Robotics Research 34(13):1660–1677
- He and Chong (2006) He Y, Chong EK (2006) Sensor scheduling for target tracking: A Monte Carlo sampling approach. Digital Signal Processing 16(5):533 – 545, special Issue on DASP 2005
Ho and Lee (1964)
Ho Y, Lee R (1964) A Bayesian approach to problems in stochastic estimation and control. IEEE Transactions on Automatic Control 9(4):333–339
- Hoffmann (1990) Hoffmann F (1990) On the rectilinear art gallery problem. In: Paterson MS (ed) Automata, Languages and Programming: proceedings of 17th International Colloquium Warwick University, England, Springer Berlin Heidelberg, Berlin, Heidelberg, pp 717–728, DOI 10.1007/BFb0032069
- Howard et al (2002) Howard A, Matarić MJ, Sukhatme GS (2002) Mobile sensor network deployment using potential fields: A distributed, scalable solution to the area coverage problem. In: Asama H, Arai T, Fukuda T, Hasegawa T (eds) Distributed Autonomous Robotic Systems 5, Springer Japan, Tokyo, pp 299–308
- Jung and Sukhatme (2002) Jung B, Sukhatme GS (2002) Tracking anonymous targets using a robotics sensor network. In: AAAI Spring Symposium, AAAI Press
- Kumar et al (2004) Kumar S, Lai TH, Balogh J (2004) On k-coverage in a mostly sleeping sensor network. In: proceedings of the 10th Annual International Conference on Mobile Computing and Networking, ACM, New York, NY, USA, MobiCom ’04, pp 144–158
- Laguna and Bhattacharya (2017) Laguna GJ, Bhattacharya S (2017) Hybrid system for target tracking in triangulation graphs. In: proceedings of IEEE International Conference on Robotics and Automation (ICRA), pp 839–844, DOI 10.1109/ICRA.2017.7989102
- Laguna et al (2016) Laguna GJ, Zou R, Bhattacharya S (2016) Target tracking on triangulation graphs. In: proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp 460–465, DOI 10.1109/IROS.2016.7759094
- LaValle et al (1997) LaValle S, Lin D, Guibas L, Latombe JC, Motwani R (1997) Finding an unpredictable target in a workspace with obstacles. In: proceedings of IEEE International Conference on Robotics and Automation, vol 1, pp 737–742
- Luke et al (2005) Luke S, Sullivan K, Panait L, Balan G (2005) Tunably decentralized algorithms for cooperative target observation. In: proceedings of the Fourth International Joint Conference on Autonomous Agents and Multiagent Systems, ACM, New York, NY, USA, AAMAS ’05, pp 911–917
- Mehmetcik and Ozguner (2013) Mehmetcik E, Ozguner U (2013) Centralized target tracking with propagation delayed measurements. In: proceedings of the 16th International Conference on Information Fusion, pp 820–826
- Murrieta-Cid et al (2002) Murrieta-Cid R, Gonzalez H, Tovar B (2002) A reactive motion planner to maintain visibility of unpredictable targets. In: proceedings of IEEE International Conference on Robotics and Automation, pp 4242–4248
- O’Rourke (1983) O’Rourke J (1983) Galleries need fewer mobile guards a variation on Chvátal’s theorem. Geometriae Dedicata 14(3):273–283
- O’Rourke (1987) O’Rourke J (1987) Art gallery theorems and algorithms. Oxford University Press, New York, NY
- Simon et al (2004) Simon G, Maróti M, Lédeczi A, Balogh G, Kusy B, Nádas A, Pap G, Sallai J, Frampton K (2004) Sensor network-based countersniper system. In: proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, ACM, New York, NY, USA, SenSys ’04, pp 1–12
- Suzuki and Yamashita (1992) Suzuki I, Yamashita M (1992) Searching for a mobile intruder in a polygonal region. SIAM Journal on Computing 21(5):863–888
- Theodoridis and Hu (2012) Theodoridis T, Hu H (2012) Toward intelligent security robots: A survey. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 42(6):1219–1230, DOI 10.1109/TSMCC.2012.2198055
- Tian and Georganas (2002) Tian D, Georganas ND (2002) A coverage-preserving node scheduling scheme for large wireless sensor networks. In: proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications, ACM, New York, NY, USA, WSNA ’02, pp 32–41
- Werner-Allen et al (2006) Werner-Allen G, Lorincz K, Ruiz M, Marcillo O, Johnson J, Lees J, Welsh M (2006) Deploying a wireless sensor network on an active volcano. IEEE Internet Computing 10(2):18–25
- Williams and Sukhatme (2015) Williams RK, Sukhatme GS (2015) Observability in topology-constrained multi-robot target tracking. In: proceedings of IEEE International Conference on Robotics and Automation (ICRA), pp 1795–1801
- Zou and Bhattacharya (2015) Zou R, Bhattacharya S (2015) Visibility based multi-agent surveillance strategies in decentralized network. In: SPIE Defense+ Security, International Society for Optics and Photonics, pp 94,640P–94,640P