Skip to main content
Log in

Maintaining strong mutual visibility of an evader moving over the reduced visibility graph

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

In this paper, we address the problem of determining whether a mobile robot, called the pursuer, is able to maintain strong mutual visibility (a visibility notion between regions over a convex partition of the environment) of an antagonist agent, called the evader. We frame the problem as a non cooperative game. We consider the case in which the pursuer and the evader move at bounded speed, traveling in a known polygonal environment with or without holes, and in which there are no restrictions as to the distance that might separate the agents. Unlike our previous efforts (Murrieta-Cid et al. in Int J Robot Res 26:233–253, 2007), we give special attention to the combinatorial problem that arises when searching for a solution through visiting several locations in an environment with obstacles. In this paper we take a step further, namely, we assume an antagonistic evader who moves continuously and unpredictably, but with a constraint over its set of admissible motion policies, as the evader moves in the shortest-path roadmap, also called the reduced visibility graph (RVG). The pursuer does not know which among the possible paths over the RVG the evader will choose, but the pursuer is free to move within all the environment. We provide a constructive method to solve the decision problem of determining whether or not the pursuer is able to maintain strong mutual visibility of the evader. This method is based on an algorithm that computes the safe areas (areas that keep evader surveillance) at all times. We prove decidability of this problem, and provide a complexity measure to this evader surveillance game; both contributions hold for any general polygonal environment that might or not contain holes. All our algorithms have been implemented and we show simulation results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Notes

  1. In classic visibility two points are visible when a line segment between them does not intersect any obstacle Shermer (1992).

  2. A reflex vertex is a polygon vertex of an internal angle greater than \(\pi \).

  3. In the presented algorithms the computation of the reachable areas is done backwards from \(n_j\) to \(n_i\).

  4. \(t_{c}(w,z)\) denotes the smallest time that takes to the player c to move from point w to point z.

  5. The set \(Im^{-1}( \mathbf R _{1,n}^{1}) \setminus Im^{-1}( \mathbf R _{1,n}^{ k })\) is formed by the elements in \(Im^{-1}( \mathbf R _{1,n}^{1})\) such that if the pursuer departs from them, it can maintain SMV of the evader for at most \(k-1\) laps.

  6. Also recall that in a tree the path of unrepeated nodes from \(n_i\) to \(n_a\) is unique and it can only be \(\rho _e(n_i,n_a)\).

  7. Note that a reflex ray differs from an inflection ray, as defined in LaValle (2006). Whenever a robot crosses an inflection ray, a gap in the gap navigation tree (GNT) will (dis)appear.

  8. We say that two points are visible when we can draw a line segment between them and it is not intersected by any obstacle.

  9. Presented Murrieta-Cid et al. (2003), and referred in Bhattacharya and Hutchinson (2011) as star region.

References

  • Bandyopadhyay, T., Li, Y., Ang, M.H., & Hsu, D. (2006). A greedy strategy for tracking a locally predictable target among obstacles. In Proceedings of IEEE International Conference on Robotics and Automation.

  • Bandyopadhyay, T., Ang, M.H., & Hsu, D. (2007). Motion planning for 3-D target tracking among obstacles. In International Symposium on Robotics Research.

  • Barrière, L., Flocchini, P., Fraigniaud, P., & Santoro, N. (2002). Capture of an intruder by mobile agents. In Proceedings of the 14th Annual ACM Symposium on Parallel Algorithms and Architectures (pp. 200–209). Winnipeg, Manitoba.

  • Başar, T., & Olsder, G. (1982). Dynamic noncooperative game theory. London: Academic Press.

    MATH  Google Scholar 

  • Becerra, I., Murrieta-Cid, R., & Monroy, R. (2010). Evader surveillance under incomplete information. In IEEE International Conference on Robotics and Automation.

  • Becker, C., González-Baños, H., Latombe, J.-C., & Tomasi, C. (1995). An intelligent observer. In International Symposium on Experimental Robotics.

  • Bhattacharya, S., & Hutchinson, S. (2009). On the existence of nash equilibrium for a two player pursuit-evasion game with visibility constraints. In International Journal on Robotics Research.

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

    Article  Google Scholar 

  • Chung, T.H. (2008). On probabilistic search decisions under searcher motion constraints. In WAFR 2008 (pp. 501–516).

  • Chung, T., Hollinger, G., & Isler, V. (2011). Search and pursuit-evasion in mobile robotics: A survey. Autonomous Robots, 31(4), 299–316.

    Article  Google Scholar 

  • Cormen, T. H., Stein, C., Rivest, R. L., & Leiserson, C. E. (2001). Introduction to algorithms. Groveport: McGraw-Hill Higher Education.

  • Efrat, A., Gonzalez-Baños, H.H., Kobourov, S.G., & Palaniappan, L. (2003). Optimal motion strategies to track and capture a predictable target. In Proceedings of IEEE International Conference on Robotics and Automation (pp. 411–423). Taipei, Taiwan.

  • Fabiani, P., & Latombe, J.-C. (1999). Tracking a partially predictable object with uncertainty and visibility constraints: A game-theoretic approach. In IJCAI.

  • Garey, M. R., & Johnson, D. S. (1979). Computers and intractability. New York: W. H. Freeman and Company.

    MATH  Google Scholar 

  • González, H.H. et al. (2002). Real-time combinatorial tracking of a target moving unpredictably among obstacles. In Proceedings of IEEE International Conference on Robotics and Automation.

  • Guibas, L., Latombe, J.-C., LaValle, S. M., Lin, D., & Motwani, R. (1999). Visibility-based pursuit-evasion in a polygonal environment. International Journal of Computational Geometry and Applications, 9(5), 471–494.

    Article  MathSciNet  Google Scholar 

  • Hájek, O. (1965). Pursuit games. New York: Academic Press.

    Google Scholar 

  • Hespanha, J., Prandini, M., & Sastry, S. (2000). Probabilistic pursuit-evasion games: A one-step Nash approach. In Proceedings of Conference on Decision and Control.

  • Hollinger, G., Singh, S., Djugash, J., & Kehagias, A. (2009). Efficient multi-robot search for a moving target. The International Journal of Robotics Research, 28(2), 201–219.

    Article  Google Scholar 

  • Isaacs, R. (1965). Differential games. New York: Wiley.

    MATH  Google Scholar 

  • Isler, V., Kannan, S., & Khanna, S. (2005). Randomized pursuit-evasion in a polygonal environment. IEEE Transactions on Robotics, 5(21), 864–875.

    Google Scholar 

  • Jung, B., & Sukhatme, G. (2002). Tracking targets using multiple robots: The effect of environment occlusion. Journal Autonomous Robots, 12, 191–205.

    Article  Google Scholar 

  • Latombe, J.-C. (1991). Robot motion planning. New York: Kluwer Academic Publishers.

    Book  Google Scholar 

  • LaValle, S.M., González-Baños, H.H., Becker, C., & Latombe, J.-C. (1997) Motion strategies for maintaining visibility of a moving target. In Proceedings of IEEE International Conference on Robotics and Automation.

  • LaValle, S. M. (2006). Planning algorithms. Cambridge: Cambridge University Press.

    Book  MATH  Google Scholar 

  • Merz, A.W. (1971). The homicidal chauffeur a differential game. PhD. Thesis. Stanford University.

  • Murrieta-Cid, R., Sarmiento, A., & Hutchinson, S. (2003). On the existence of a strategy to maintain a moving target within the sensing range of an observer reacting with delay. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems.

  • Murrieta-Cid, R., Tovar, B., & Hutchinson, S. (2005). A sampling-based motion planning approach to maintain visibility of unpredictable targets. Journal Autonomous Robots, 19(3), 285–300.

    Article  Google Scholar 

  • Murrieta-Cid, R., Muppirala, T., Sarmiento, A., Bhattacharya, S., & Hutchinson, S. (2007). Surveillance strategies for a pursuer with finite sensor range. International Journal of Robotics Research, 26(3), 233–253.

    Article  Google Scholar 

  • Murrieta-Cid, R., Monroy, R., Hutchinson, S., & Laumond, J.-P. (2008). A complexity result for the pursuit-evasion game of maintaining visibility of a moving evader. In IEEE International Conference on Robotics and Automation.

  • O’Rourke, J. (2000). Computational geometry in C. Cambridge: Cambridge University Press.

    Google Scholar 

  • O’Rourke, J. (1987). Art gallery theorems and algorithms. Oxford: Oxford University Press.

    MATH  Google Scholar 

  • O’Kane, J.M. (2008). On the value of ignorance: Balancing tracking and privacy using a two-bit sensor. In Proceedings of International Workshop on the Algorithmic Foundations of Robotics.

  • Parker, L. (2002). Algorithms for multi-robot observation of multiple targets. Journal Autonomous Robots, 12, 231–255.

    Article  MATH  Google Scholar 

  • Parsons, T. D. (1976). Pursuit-evasion in a graph. In Y. Alani & D. R. Lick (Eds.), Theory and application of graphs (pp. 426–441). Berlin: Springer.

    Google Scholar 

  • Pocchiola, M., & Vegter, G. (1996). The visibility complex. In International Journal of Computational Geometry and Applications.

  • Rappoport, A. (1966). Two-person game theory. Dover: Courier Corporation.

    Google Scholar 

  • Sachs, S., Rajko, S., & LaValle, S. M. (2004). Visibility-based pursuit-evasion in an unknown planar environment. International Journal on Robotics Research, 23(1), 3–26.

    Article  Google Scholar 

  • Shermer, T.C. (1992). Recent results in art galleries. In Proceedings of the IEEE (vol. 80, no. 9).

  • Stump, E., Michael, N., Kumar, V., & Isler, V. (2011). Visibility-based deployment of robot formations for communication maintenance. In IEEE International Conference on Robotics and Automation 2011.

  • Suzuki, I., & Yamashita, M. (1992). Searching for a mobile intruder in a polygonal region. SIAM Journal on Computing, 21(5), 863–888.

    Article  MathSciNet  MATH  Google Scholar 

  • Takeuti, G., & Zaring, W. M. (1971). Introduction to axiomatic set theory. New York: Springer.

    Book  MATH  Google Scholar 

  • Tekdas, O., Yang, W., & Isler, V. (2010). Robotic routers: Algorithms and implementation. The International Journal of Robotics Research, 29(1), 110–126.

    Article  Google Scholar 

  • Tovar, B., & LaValle, S. M. (2008). Visibility-based pursuit—evasion with bounded speed. The International Journal of Robotics Research, 27(11–12), 1350–1360.

    Article  Google Scholar 

  • Vidal, R., et al. (2002). Probabilistic pursuit-evasion games: Theory, implementation, and experimental evaluation. IEEE Transactions on Robotics and Automation, 18(5), 662–669.

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work was partially funded by CONACYT Project 106475 and NSF-CONACYT Project J110.534/2006.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Israel Becerra.

Additional information

A preliminary version of a portion of this work has been presented at the IEEE International Conference on Robotics and Automation (Murrieta-Cid et al. 2008).

Appendices

Appendix 1: Proof of Theorem 1

Theorem 1

The proposed message-passing scheme considers all the possible paths of unrepeated nodes that the evader might travel in the RVG. Furthermore, it also considers any path of repeated nodes.

Proof

We first elaborate for the case when the RVG has a tree topology. Later, we built upon the tree case to address when the RVG has cycles within it.

The proof for the case of a RVG with tree topology proceeds as follows. First, it considers the paths of unrepeated nodes. This class of paths is exhaustively decomposed into two types, one that starts from the root node \(n_r\) to any other node \(n_i \in RVG\) (refer to Fig. 19a), and the second, paths from any node \(n_i \in RVG\) to any node \(n_j \in RVG\), with \(n_i \ne n_j \ne n_r\) (refer to Fig. 19b). Later, paths with repeated nodes are considered and it is shown that such class of paths can be constructed as concatenations of paths with unrepeated nodes.

First, we prove that the message-passing scheme considers the first type of unrepeated nodes paths. Let us consider then a path of unrepeated nodes from \(n_r\) to \(n_i\), with \(n_r \ne n_i\). When the message propagation starts from the leaf nodes all the way up to \(n_r\), at some iteration it surely reaches node \(n_i\), as \(n_r\) is the root node of the RVG and therefore \(n_i\) is a descendant node of \(n_r\); subsequently, the message-passing scheme starts travelling the path from \(n_i\) up to \(n_r\), which is the unrepeated nodes path from \(n_r\) to \(n_i\) but in reverse order, passing the necessary surveillance restrictions for going from \(n_r\) to \(n_i\). The result follows.

Now, we prove that the message-passing scheme considers the second type of unrepeated nodes paths. If the evader first visits \(n_r\) and then it decides to go to any other node \(n_i \in RVG\), there is always the possibility that after the evader arrives to \(n_i\), it might decide to move to any other node \(n_j \ne n_r\), that is, to follow a path of the second type. So let us assume such case when the evader first visits \(n_r\)–using \(n_r\) as an entry point to the RVG–, then it arrives to a node \(n_i\), and then it decides to follow a path of the second type to a node \(n_j\). Focusing on these last two nodes, \(n_i\) and \(n_j\), for each node a path can be tracked towards \(n_r\) until both paths have a common ancestor node, lets call it \(n_{a}\), see Fig. 19b. Following this procedure the path with unrepeated nodes between \(n_i\) and \(n_j\) can be found (in a tree this path is unique). Such path can be divided into two parts, the first one from \(n_i\) to \(n_{a}\) and the second one from \(n_{a}\) to \(n_j\). In the first part of the path, following the message-passing scheme we already know that node \(n_{a}\) receives the proper information or restrictions (from the parent of \(n_i\), following a succession of ancestors nodes up to \(n_{a}\)), so that the pursuer can maintain SMV of an evader that first visits \(n_{a}\) and then follows a sequence of unrepeated nodes until \(n_i\). If the pursuer fulfils the restrictions passed to \(n_{a}\) (indeed, this is done by first fulfilling the restrictions passed to \(n_r\)) then there must exist a path \(\rho _p(n_a,n_i)\) from \(gP(n_a)\) to \(gP(n_{i})\) for the pursuer, such that it allows evader surveillance when the evader moves from \(n_{a}\) to \(n_i\); let us call that evader’s path \(\rho _e(n_a,n_i)\). If such path \(\rho _p(n_a,n_i)\) exists, the pursuer can simply follow \(\rho _p(n_a,n_i)\) in the opposite direction (that is \(\rho _p(n_i,n_a)\), successfully returning to \(gP(n_{a})\)) to maintain surveillance of an evader that follows \(\rho _e(n_a,n_i)\), but also in the opposite direction (that is \(\rho _e(n_i,n_a)\)).Footnote 6 Furthermore, for every viable path for the pursuer from \(gP(n_i)\) to \(gP(n_a)\), there must be its counterpart in the opposite direction, that is from \(gP(n_a)\) to \(gP(n_i)\), because if that does not hold means that there exists a path \(\rho _p(n_i,n_a)\) that the pursuer cannot follow in the opposite direction, which is not possible. Hence, no extra restrictions need to be passed to node \(n_a\) (and therefore to \(n_r\)) so that if the pursuer fulfils the restrictions passed to \(n_r\), which includes the ones from \(n_a\), the pursuer can maintain surveillance of an evader that moves starting from \(n_r\), passing though \(n_a\), then arriving to \(n_i\) and then moving back to \(n_a\).

Let us analyse the second part of the path, that is when the evader moves from \(n_a\) to \(n_j\). Following the message-passing scheme, \(n_a\) receives the proper information or restrictions, so that if the pursuer fulfils such restrictions it can maintain SMV of an evader that visits \(n_a\) and then follows a sequence of unrepeated nodes until it reaches any node below \(n_a\), which also includes \(n_j\); it can be seen that the message-passing scheme by itself considers the evader’s path from \(n_a\) to \(n_j\). Now, we can conclude that using the message passing scheme, node \(n_r\) receives all the necessary restrictions that the pursuer must fulfil to maintain surveillance of an evader that moves starting from \(n_r\), passing though \(n_a\), then arriving to \(n_i\) and then moving back to \(n_a\) and finally arriving to \(n_j\).

Any subsequent path of repeated nodes of the evader can be described as concatenations of paths with unrepeated nodes. This is done splitting the repeated nodes paths by considering a new unrepeated nodes sub-path starting in a node before a repeated node appears. Therefore, every path of repeated nodes is a succession of paths of the type \(n_i \rightarrow \cdots \rightarrow n_a \rightarrow \cdots \rightarrow n_j\), and first fulfilling the restrictions passed to \(n_r\) (using it as an entry point to the RVG), always allows the pursuer to fulfil the restrictions related to any node \(n_a\), so a path \(n_i \rightarrow \cdots \rightarrow n_a\) followed by \(n_a \rightarrow \cdots \rightarrow n_j\) can always be traced by the pursuer as shown before, adding no extra restrictions to the ones already passed to \(n_r\) via the proposed message-passing scheme.

In the message passing-scheme, when the messages are passed from the leaf nodes all the way up to \(n_r\), any node only receives the surveillance restrictions from all the nodes below it. By propagating the messages from \(n_r\) all the way down to the leaf nodes, the remaining surveillance restrictions are sent to every node \(n_i \in RVG\) (restrictions from branches not bellow \(n_i\)), enabling any node \(n_i\) as an entry point to the RVG, i.e., as a root node. The result follows.

For the case of a RVG with cycles, it is possible to consider all the evader paths by unfolding the graph in a succession of trees (refer to Sect. 6.2 for a complete procedure to unfold the graph), therefore the result for this later case follows directly from the tree case. \(\square \)

Fig. 19
figure 19

Types of paths with unrepeated nodes

Appendix 2: Workspace partitions

The notion of SMV relies on the availability of a convex partition of the workspace W. In this section we present a two steps algorithm that generates two different resolution partitions, however, we first introduce some terminology used along this section.

Notice that reflex vertices are crucial in our problem, since they break the convexity of the polygonal environment.

Definition 5

For a given reflex vertex v, a reflex ray is a line segment from v, to the boundary of W, collinear to the supporting line of the edge incident to v.Footnote 7 Each reflex vertex defines two reflex rays. See Fig. 20a.

Fig. 20
figure 20

a Reflex rays, and b extended bitangent segment

Definition 6

For a given pair of visibleFootnote 8 reflex vertices, v and u, an extended bitangent segment \(\mathcal{B}\) between them, is a line segment in the workspace W such that:

  • The endpoints of \(\mathcal{B}\) are neither v nor u.

  • \(\mathcal{B}\) is tangent to \(\partial W\) (boundary of W) in v and u.

  • Considering a ball \(B_r(x)\) with an arbitrarily small radius r centred at point x, then, \( \forall x \in \mathcal{B}\), \(B_r(x) \cap \partial W \cap \mathcal{B} = \{ x \}\) or \(B_r(x) \cap \partial W \cap \mathcal{B} = \emptyset \).

  • There is no other extended bitangent segment \(\mathcal{B}'\) related to v and u, such that \(\mathcal{B} \subset \mathcal{B}'\).

Figure 20b shows an example of a extended bitangent segment.

Definition 7

A line segment \(\overline{a\,b} \subset W\) is tangent to \(\partial W\) in a point p, iff:

  • \(p\ne a\) and \(p \ne b\).

  • Considering a ball \(B_r(p)\) with an arbitrarily small radius r centred at p, then, \(B_r(p) \cap \partial W \cap \overline{a\,b} = \{ p \}\).

Definition 8

A corner-guard polygon, cgP(v), for a given reflex vertex v, is the set of points within W delimited by the lines supporting v.Footnote 9 Refer to Fig. 21.

Our proposal for partitioning the environment follows a two-step approach, being purely based on the environment structure rather than on the current positioning of the players. The steps are as follows:

  1. (1)

    For every reflex vertex, trace both of its reflex rays.

  2. (2)

    For every pair of reflex vertices, trace an extended bitangent segment, whenever possible.

Fig. 21
figure 21

\(cgP(v)=\{R2,R6\}\), where both R2 and R6 are corner-guard regions

The first resolution partition comes from integrating reflex rays, considering a convex region \(R_i\) a convex polygon whose interior is not intersected by a reflex ray. Any convex region \(R_i\) is bounded by reflex rays, portions of them (as the reflex rays might intersect), or portions of the polygonal workspace boundary. The second resolution partition comes from considering both reflex rays and extended bitangent segments. In such case any convex region \(R_i\) might also be bounded by extended bitangent segments or portions of them.

1.1 First resolution partition (reflex rays)

Focusing on the first partition, notice that the first step of our approach yields for every reflex vertex, regions located over its related corner-guard polygons, which we name as corner-guard regions. Taking this into account, we get the next definition.

Definition 9

A region \(R_i\) is a corner-guard region for a given reflex vertex v, denoting it as cgR(v), iff it is fully contained in cgP(v), and at the same time, \(\forall p \in cgR(v)\), \(\overline{p\,v} \subset W\). Refer to Fig. 21.

Remark 7

A corner-guard polygon cgP(v) might have more than one corner-guard region.

The relevance behind the concept of corner-guard regions is that, since the reflex vertices are the ones that break convexity in a given polygon, the evader is obliged to use them to break SMV with the pursuer, and once the pursuer is over a corner-guard region cgR(v), the pursuer completely nullifies any attempt of the evader to break SMV with it making use exclusively of reflex vertex v. This happens because there is no point \(p \in cgR(v)\), where an open line segment is traceable to a point \(q \in R_i\), such that \(\overline{p\,q}\) is exclusively intersected by the edges incident to v. Our fist resolution partition generates the corner-guard regions, which nullifies all possible evader escape using only one single reflex vertex. An example of the resulting partition after applying the first step of the partitioning algorithm is shown in Fig. 22.

Fig. 22
figure 22

Resulting partition after the first step of the partitioning algorithm

1.2 How to refine a given convex partition (pivot segments)

Intuitively, since maintaining SMV is a sufficient condition for surveillance, it is desirable to choose a partition that yields pairs of SMV regions that are as large as possible, and yields regions that are SMV with as many other regions as possible. Notice that both objectives have a trade-off between them as we can keep splitting any region. On the other hand, we are also interested on keeping reflex rays as they generate corner-guard regions, nevertheless, we can still do a further refinement to the partition yielded from the first step of our approach, in order to generate new regions that are as large as possible and have a gain in SMV with respect to its regions of provenance. Keeping that in mind, denote by \(SMV(R_i)\) the set of regions that are SMV with region \(R_i\). The total area of these regions is then given by

$$\begin{aligned} \mathcal{V}_\mathrm{sm} (R_i) = \sum _{R_k \in SMV(R_i)} \mu (R_k) \end{aligned}$$

in which \(\mu (R_k)\) denotes the area of region \(R_k\). If the summation of each \(\mathcal{V}_\mathrm{sm} (R_i)\) is done over all region \(R_i\), then \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) is a global measure intrinsic to a given partition, which depicts us a degree of interaction between its regions regarding to SMV. As it comes naturally from looking for a partition where every region is of the largest size and with the largest SMV relation, we are interested on a partition that gives a value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) as big as possible.

Fig. 23
figure 23

Different partitioning procedures depicted on Theorem’s 5 proof

After applying the first step of our partitioning algorithm, we can then perform a further refinement of the yielded partition in order to increment \(\sum \mathcal{V}_\mathrm{sm} (R_i)\). Knowing that the reflex vertices are the features that break the convexity of the environment, without loss of generality, let us focus on a single reflex vertex v and assume that it only has a single corner-guard region related to it, further referred as cgR(v), and call \(R_1\) and \(R_2\), to the two regions adjacent to cgR(v) (see Fig. 23a). We know that cgR(v) is SMV with both \(R_1\) and \(R_2\), but \(R_1\) and \(R_2\) are not SMV with each other. To bring an increment on \(\sum \mathcal{V}_\mathrm{sm} (R_i)\), what we need to do is to partition both \(R_1\) and \(R_2\) in order to generate new regions over \(R_1\) and \(R_2\) that are now SMV. There are several ways for partitioning \(R_1\) and \(R_2\), however, in Theorem 5 we show that the best way to partition \(R_1\) and \(R_2\) in order to bring an increment to \(\sum \mathcal{V}_\mathrm{sm} (R_i)\), is to add pivot segments over v, consequently, let us first define a pivot segment.

Definition 10

A pivot segment \(\mathcal{S}\) for a given reflex vertex v, is a line segment in W such that:

  • The endpoints of \(\mathcal{S}\) are not v.

  • \(v \in \mathcal{S}\).

  • Considering a ball \(B_r(x)\) with an arbitrarily small radius r centered at point x. \( \forall x \in \mathcal{S}\), \(B_r(x) \cap \partial W \cap \mathcal{S} = \{ x \}\) or \(B_r(x) \cap \partial W \cap \mathcal{S} = \emptyset \).

  • There is no other pivot segment \(\mathcal{S}'\) related to v, such that \(\mathcal{S} \subset \mathcal{S}'\).

Theorem 5

For a given reflex vertex v, for any other procedure \(\varsigma \) for partitioning \(R_1\) and \(R_2\) into two new regions each, apart from drawing pivot segments, there exists a pivot segment \(\mathcal{S}\) that partitions both \(R_1\) and \(R_2\) that yields a bigger value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) than the one related to the partition obtained by applying \(\varsigma \).

Proof

First of all, we know that vertex v stands between regions \(R_1\) and \(R_2\), so they are not SMV. In order to bring an increment to \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) in the simplest way, \(R_1\) and \(R_2\) should be split into two new regions each, such that some of the new emerging regions are now SMV. Let us call the new regions, \(R_1^{g}\), \(R_1^{ng}\), \(R_2^{g}\) and \(R_2^{ng}\), where g stands for the fact that region \(R_i^{g}\) has a gain in visibility because it is now SMV with a region at the other side of cgR(v), and ng stands for the case where there is no gain in SMV for a region \(R_i^{ng}\) (Fig. 23a, b).

What it is done next, is to characterize the procedure \(\varsigma \) for partitioning the regions \(R_1\) and \(R_2\). To further partition \(R_1\) and \(R_2\) into two new regions each, also recalling that the resulting regions must be convex, both \(R_1\) and \(R_2\) are split with a line segment each. Therefore, the procedure \(\varsigma \), in order to be valid, must take the form of adding a couple of line segments that respectively split \(R_1\) and \(R_2\). Also, for \(\varsigma \) to be valid, regions \(R_1^{g}\) and \(R_2^{g}\) should emerge because if there is no gain in SMV, then there is no sense on applying \(\varsigma \).

Now let us assume that \(\varsigma \) is then a valid partitioning procedure, and that it adds two line segments \(s_1\) and \(s_2\), one for each respective region \(R_1\) and \(R_2\), but such that the endpoints of both \(s_1\) and \(s_2\) are not collinear (see Fig. 23b). If this is the case, there is always a procedure \(\varsigma '\) that adds two line segments \(s'_1\) and \(s'_2\), being all its four endpoints collinear, such that gives a greater value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\). To obtain such a procedure \(\varsigma '\) from \(\varsigma \), we only need to extend either \(s_1\) or \(s_2\) towards \(\partial W\), subsequently keep the segment \(s_j\) whose extension permits an increment on size for \(R_i^{g}\), and then make \(s'_j= s_j\) and \(s'_i\) equal to the intersection of the extension of \(s_j\) with \(R_i\) (see Fig. 23c). Applying this transformation is equivalently to growing region \(R_i^{g}\) towards \(R_i^{ng}\), such that \(R_i^{g}\) is still SMV with \(R_j^{g}\).

Let us consider a region \(R_k\) within a given partition, and call \(R_{nb}\) to a neighbor region of \(R_k\), both sharing a boundary bigger than a single point. Then, define the next sets: \(\mathcal{I}=SMV(R_k) \cap SMV(R_{nb}) \), \(\mathcal{E}_{k}=SMV(R_k) \setminus \mathcal{I}\) and \(\mathcal{E}_{nb}=SMV(R_{nb}) \setminus \mathcal{I}\). The set \(\mathcal{I}\) contains the regions SMV with both \(R_k\) and \(R_{nb}\), the set \(\mathcal{E}_{k}\) contains the regions exclusively SMV with region \(R_k\), and the set \(\mathcal{E}_{nb}\) contains the regions exclusively SMV with region \(R_{nb}\).

Under such definitions and returning to the resulting partition from applying \(\varsigma \), see Fig. 23b, make \(R_k = R_1^{g}\) and \(R_{nb} = R_1^{ng}\), then we have that \(\mathcal{I} = \{ cgP(v), R_1^{g}, R_1^{ng} \}\), \(\mathcal{E}_{k} = \{ R_2^{g} \}\) and \(\mathcal{E}_{nb} = \emptyset \), therefore growing \(R_k\) towards \(R_{nb}\) keeps \(\mathcal{E}_{nb} = \emptyset \), the terms \(\mathcal{V}_\mathrm{sm} (R_i)\) for any \(R_i \in \mathcal{I}\) remains equal, but terms \(\mathcal{V}_\mathrm{sm} (R_i)\) for any \(R_i \in \mathcal{E}_{k}\) have an increment if \(R_k\) grows towards \(R_{nb}\) up to \(s'_1\), as \(\mu (R_k)\) increases, producing an increment to \(\sum \mathcal{V}_\mathrm{sm} (R_i)\). We conclude that procedure \(\varsigma '\) yields a bigger value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) than the one obtained from \(\varsigma \), then, our current best way to partition \(R_1\) and \(R_2\) is to add a couple of line segments \(s_1\) and \(s_2\) whose endpoints are collinear.

Now let us consider again procedure \(\varsigma '\), which we assume to be valid and consists on adding a couple of segments \(s'_1\) and \(s'_2\), whose endpoints are collinear, but now add the restriction that the straight line that contains both \(s'_1\) and \(s'_2\) does not contain v. If this is the case, we can always generate a pivot segment \(\mathcal{S}\) from \(\varsigma '\), which yields a greater value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) than the one yielded from \(\varsigma '\), all by just following the next steps: choose either \(s'_1\) or \(s'_2\), and name it as \(s'_i\), then trace a line segment from the endpoint of \(s'_i\) in contact with \(\partial W\), towards v location, extending it as long as possible (see Fig. 23d). Let us call such procedure \(\varsigma ^\star \). \(\mathcal{S}\) now defines new potential boundaries for \(R_1^{g}\) and \(R_2^{g}\). This procedure would be equivalent to both growing \(R_1^{g}\) towards \(R_1^{ng}\), and \(R_2^{g}\) towards \(R_2^{ng}\), growing both regions as much as possible still maintaining \(R_1^{g}\) and \(R_2^{g}\) mutually visible (see Fig. 23d). Following equivalent arguments to the ones used to compare \(\varsigma \) against \(\varsigma '\), it is shown that the partition yielded by \(\varsigma ^\star \) gives a greater value of \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) than the one obtained through \(\varsigma '\). Since our best current method to partition \(R_1\) and \(R_2\) was to add a couple of segments \(s_1\) and \(s_2\) whose endpoints are collinear, and since we have proved that within that category the best option is to trace a pivot segment \(\mathcal{S}\), then the result follows. \(\square \)

Fig. 24
figure 24

Pivot segments

It is interesting to notice that as we increase the number of pivot segments that partition the environment touching a reflex vertex, the number of regions that are SMV also increases, and \(\sum \mathcal{V}_\mathrm{sm} (R_i)\) also increases, see Fig. 24. In the same sense, Theorem 5 is of importance because it tells us that no matter how many lines we want to add to refine the current environment’s partition in order to increment \(\sum \mathcal{V}_\mathrm{sm} (R_i)\), the lines that we should add should be pivot segments. Indeed, if the number of partitioning pivot segments tends to infinity, SMV tends to classical visibility, therefore, a solution based on SMV is a solution for classical visibility for a given resolution. It is possible to think about this as if we had a line pivoting over the reflex vertex, starting being parallel to one of the reflex rays, and ending up being parallel to the other reflex ray. However, the behavior of the algorithms to compute the safe-areas, and the approximation of the solution for a given partition to classical visibility, do depend on the used partition, and a deeper analysis is left for future work.

Fig. 25
figure 25

Second resulting partition

Remark 8

Alternatively, Theorem 5 states that no matter how many lines we want to add to refine a current environment’s partition in order to increase \(\sum \mathcal{V}_\mathrm{sm} (R_i)\), the lines that we should add must be pivot segments. Furthermore, if the number of partitioning pivot segments tends to infinity, SMV tends to classical visibility, therefore, a solution based on SMV is a solution for classical visibility for a given resolution.

1.3 Second resolution partition (reflex rays and extended bitangent segments)

Actually, what we propose in our second step of our partitioning algorithm is to add pivot segments between reflex rays in order to bring a further refinement to the partition yielded from the first step. The pivot segments that we add are the extended bitangent segments, which happen to be pivot segments that a pair of reflex vertices have in common. Adding them results into a further refinement that increases \(\sum \mathcal{V}_\mathrm{sm} (R_i)\), which seeks to avoid generating a big number of regions that will lately translate into more computational work for the surveillance algorithms of the previous sections.

The complete two steps partitioning procedure is based on the notion of visibility complex (Pocchiola and Vegter 1996). However, to construct our partition we make use of some specific maximal free segments (reflex rays and extended bitangent segments) in order to yield equivalence classes (the regions \(\{R_i\}\)), where the positions within a class (\(R_i\)) share the same approximation to the visibility polygon [the approximation is \(SMV(R_i)\)]. An example of the resulting partition after applying the second step of the partitioning algorithm is shown in Fig. 25.

General notation

   \(\{R_i\}\) or \(R_{1},\ldots ,R_{n}\)

Convex environment partition

   \(R_i\) or R

Convex region

   W

Workspace

   \(\partial W\)

Workspace boundary

   MVG

Mutual visibility graph

   SMV(R)

Set of regions that are SMV with region R

   AG

Accessibility graph

   RVG

Reduced visibility graph

   \(n_i\)

Node in RVG

   E

Current evader’s region

   P

Current pursuer’s region

   \(V_{e}\)

Evader’s speed

   \(V_{p}\)

Pursuer’s speed

   \(q_i\)

Critical point

   \(q_1 \rightarrow q_2 \rightarrow \cdots \rightarrow q_{n-1} \rightarrow q_n \)

Critical points sequence

   gP(q)

Guard polygon of point q

   \(t_{e}^k\)

Smallest time that takes to the evader to reach the critical point

 

\(k+1\) from its k Critical point

   \(t_{p}^k\)

Smallest time that takes the pursuer to reach its corresponding

 

\(k+1\) guard polygon departing from the k Guard polygon

   \(sA(n_i)\)

Safe area

\(q_1 \rightarrow q_2 \rightarrow \cdots \rightarrow q_{n-1} \rightarrow q_1 \)

Critical points cycle

Algorithm and pursuit strategies specific notation

   \(n_r\)

Root node in RVG

   \(C_{ij}^k\)

The kth cluster of regions from \(n_i\) towards \(n_j\)

   \(o_{ij}^k\)

The transition point between clusters \(C_{ij}^k\) and \(C_{ij}^{k+1}\)

   \(l_{ij}^k\)

The kth sub-edge over line segment that joins nodes \(n_i\) and \(n_j\)

   \(SMV(cR_{ij}^k)\)

Set of regions SMV with cluster \(cR_{ij}^k\)

   \(sA(q_1)^{k}\)

Safe area calculated in the kth iteration of the cycles algorithm

   S

Set of local solution

   \(\mathbf {V}\)

Set of reflex vertices used to calculate the S set

   \(t_e(e,v)\)

Smallest time that takes to the evader to travel from its current

 

position e to point v

   \(t_p(q,sA(v))\)

Smallest time that takes to the pursuer to reach sA(v) from point q,

 

respecting surveillance restrictions between sA(v) and q

   \(e_{init}\)

Initial evader’s position

Decidability specific notation

   \(\mathbf R _{i,i+1}\)

Relation that models a mapping between \(gP(q_i)\) and \(gP(q_{i+1})\)

   \(Im^{-1}(\mathbf R _{i,i+1})\)

Preimage of \(R_{i,i+1}\)

   \(\mathbf R _{i+1,i+2} \circ \mathbf R _{i,i+1}\)

Composition of relations \(\mathbf R _{i,i+1}\) and \(\mathbf R _{i+1,i+2}\)

   \(\mathbf R _{1,n}\)

Composition of relations \(\mathbf R _{1,2}\), \(\mathbf R _{2,3}\), ..., \(\mathbf R _{n-1,n}\)

   \(\mathbf R _{1,n}^{N}\)

Relation of \(N-1\) compositions of relation \(\mathbf R _{1,n}\)

   \(\mathbf R _{1,n}^{\infty }\)

Relation of an infinite number of compositions of relation \(\mathbf R _{1,n}\)

Complexity specific notation

   (VA)

\(RVG=(V,A)\); V is set of vertices; A is set of edges

   \(V_{ratio}\)

\({V_p}/{V_e}\)

   \(\Lambda \)

Size of the paths that the evader travels in terms of the number of

 

critical points that it visits

   \(\Pi \)

Set of particular properties that define the evader’s paths

Partition specific notation

   \(\mathcal{B}\)

Bitangent segment

   v or u

Reflex vertices

   cgP(v)

The corner-guard polygon related to reflex vertex v

   cgR(v)

A corner-guard region related to reflex vertex v

   \(\mu (R_i)\)

Area of \(R_i\)

   \(\mathcal{V}_\mathrm{sm} (R_i)\)

Total area of regions SMV with \(R_i\)

   \(\mathcal{S}\)

Pivot segment

   \(\varsigma \)

A procedure to refine an environment’s partition

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Becerra, I., Murrieta-Cid, R., Monroy, R. et al. Maintaining strong mutual visibility of an evader moving over the reduced visibility graph. Auton Robot 40, 395–423 (2016). https://doi.org/10.1007/s10514-015-9477-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-015-9477-5

Keywords

Navigation