Skip to main content
Log in

Multiple shooting approach for finding approximately shortest paths for autonomous robots in unknown environments in 2D

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

An autonomous robot with a limited vision range finds a path to the goal in an unknown environment in 2D avoiding polygonal obstacles. In the process of discovering the environmental map, the robot has to return to some positions marked previously, the regions where the robot traverses to reach that position are defined as sequences of bundles of line segments. This paper presents a novel algorithm for finding approximately shortest paths along the sequences of bundles of line segments based on the method of multiple shooting. Three factors of the approach including bundle partition, collinear condition, and update of shooting points are presented. We then show that if the collinear condition holds, the exact shortest path of the problem is determined, otherwise, the sequence lengths of paths obtained by the update of the method converges. The algorithm is implemented in Python and some numerical examples show that the running time of path-planing for autonomous robots using our method is faster than that using the rubber band technique of Li and Klette in Euclidean Shortest Paths, Springer, 53–89 (2011).

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

Access this article

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
Algorithm 1
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Algorithm 2
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Data availability

Enquiries about data availability should be directed to the authors.

References

  • An PT (2017) Optimization Approaches for computational geometry. Publishing House for Science and Technology, Vietnam Academy of Science and Technology, Hanoi

    Google Scholar 

  • An PT (2023) Determine sequences of bundles of line segments to minimize the length of escape route of autonomous robots with limited vision finding the path to goal in unknown environments. In preparation for registering a patent for a useful solution to protect its exclusive rights, Ho Chi Minh city

  • An PT, Hai NN, Hoai TV (2013) Direct multiple shooting method for solving approximate shortest path problems. J Comput Appl Math 244:67–76

    Article  MathSciNet  Google Scholar 

  • An PT, Trang LH (2018) Multiple shooting approach for computing shortest descending paths on convex terrains. Comput Appl Math 37(4):1–31

    MathSciNet  Google Scholar 

  • An PT, Anh PH, Binh TT, Hoai TV (2022) Autonomous robot with limited vision range: a path planning in unknown environment, https://imacs.hcmut.edu.vn/prePrint/648184431c30736e43782739_AutonomousRobot_A20230608.pdf

  • Brooks RA, Lozano-Perez T (1985) A subdivision algorithm in configuration space for findpath with rotation. IEEE Trans Syst Man Cybern 2:224–233

    Article  Google Scholar 

  • Glavaski D, Volf M, Bonkovic M (2009) Mobile robot path planning using exact cell decomposition and potential field methods. WSEAS Trans Circuits Syst 8(9):789–800

    Google Scholar 

  • Hai NN, An PT, Huyen PTT (2019) Shortest paths along a sequence of line segments in Euclidean spaces. J Convex Anal 26(4):1089–1112

    MathSciNet  Google Scholar 

  • Hai NN, An PT (2011) Blaschke-type theorem and separation of disjoint closed geodesic convex sets. J Optim Theory Appl 151(3):541–551

    Article  MathSciNet  Google Scholar 

  • Hoai TV, An PT, Hai NN (2017) Multiple shooting approach for computing approximately shortest paths on convex polytopes. J Comput Appl Math 317:235–246

    Article  MathSciNet  Google Scholar 

  • Hsu D, Latombe JC, Kurniawati H (2006) On the probabilistic foundations of probabilistic roadmap planning. Int J Robot Res 25(7):627–643

    Article  Google Scholar 

  • Kunchev V, Jain L, Ivancevic V, Finn A (2006) Path planning and obstacle avoidance for autonomous mobile robots: a review. Int Conf Knowl Based Intell Inf Eng Syst. Springer, Berlin, Heidelberg, pp 537–544

    Google Scholar 

  • Ladd AM, Kavraki LE (2004) Measure theoretic analysis of probabilistic path planning. IEEE Trans Robot Autom 20(2):229–242

    Article  Google Scholar 

  • Lee DT, Preparata FP (1984) Euclidean shortest paths in the presence of rectilinear barriers. Networks 14(3):393–410

    Article  MathSciNet  Google Scholar 

  • Li F, Klette R (2011) Rubberband algorithms. Euclidean Shortest Paths. Springer, London, pp 53–89

    Google Scholar 

  • Mitchell JS (2000) Geometric shortest paths and network optimization. In: Elsevier Science BV (ed) Handbook of Computational Geometry. Amsterdam, pp 633–702

  • Polishchuk V, Mitchell JS (2005) Touring convex bodies-a conic programming solution. In: Canadian conference on computational geometry, pp 290–293

  • Rosell J, Iniguez P (2005) Path planning using harmonic functions and probabilistic cell decomposition. In: Proceedings of the 2005 IEEE international conference on robotics and automation, IEEE, pp 1803–1808

  • Sedighi KH, Ashenayi K, Manikas TW, Wainwright RL, Tai HM (2004) Autonomous local path planning for a mobile robot using a genetic algorithm. In: Proceedings of the 2004 congress on evolutionary computation, Vol. 2, IEEE, pp 1338–1345

  • Siegwart R, Nourbakhsh IR, Scaramuzza D (2011) Introduction to autonomous mobile robots. The MIT Press Cambridge, Massachusetts London, England

    Google Scholar 

  • Trang LH, Chi TQ, Khanh D (2017) An iterative algorithm for computing shortest paths through line segments in 3D. International Conference on Future Data and Security Engineering. Springer, Cham, pp 73–84

    Chapter  Google Scholar 

  • Trang LH, Le NT, An PT (2023) Finding approximately convex ropes in the plane. J Convex Anal 30(1):249–270

    MathSciNet  Google Scholar 

  • Warren CW (1993) Fast path planning using modified A* method. In: Proceedings IEEE international conference on robotics and automation, IEEE, pp 662–667

Download references

Acknowledgements

The authors thank Mr. Tran Thanh Binh (Faculty of Computer Science and Engineering, Ho Chi Minh City University of Technology) for his help in coding Algorithm 2. The first author would like to thank Ho Chi Minh City University of Technology (HCMUT), VNU-HCM for the support of time and facilities for this study. We thank the anonymous reviewers for their valuable comments on our manuscrip.

Funding

Vietnam National Foundation for Science and Technology Development (NAFOSTED) under Grant Number 102.01-2023.48.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Phan Thanh An.

Ethics declarations

Conflict of interest

The authors have not disclosed any competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendices

The proofs of some propositions for the correctness of Algorithm 1

Proof of Proposition 1:

We know that \(\gamma \) is the concatenation of shortest paths joining two consecutive shooting points along corresponding sub-sequences of bundles. For \(i=1,2,\ldots , K\), let \([w_i, s_i]\) and \([s_i,w_i']\) be line segments of \(\text {SP}(s_{i-1},s_i)\) and \(\text {SP}(s_i,s_{i+1})\), respectively, that have the common endpoint \(s_i\). Because Collinear Condition (A1-A2) holds at \(s_i\), we get \(\text {SP}(w_i,w'_i) = [w_i, s_i] \cup [s_i,w_i']\), where \(\text {SP}(w_i,w'_i)\) is the shortest path joining \(w_i\) and \(w'_i\) along \(\xi _i\)s. Since the assumption of Corollary 4.5 in Hai et al. (2019) is satisfied at \(s_i\), we obtain \(\text {SP}(s_{i-1},s_{i+1}) = \text {SP}(s_{i-1},s_i) \cup \text {SP}(s_i,s_{i+1})\), where \(\text {SP}(s_{i-1},s_{i+1})\) is the shortest path joining \(s_{i-1}\) and \(s_{i+1}\) along \({\mathcal {F}}_{i-1} \cup {\mathcal {F}}_{i}\). Therefore \(\gamma \) is the shortest path joining p and q along \({\mathcal {F}}\). \(\square \)

Proof of Proposition 2:

\((\Rightarrow )\) Assuming that Collinear Condition (A1-A2) holds at \(s_i\). Let \([w_i, s_i]\) and \([s_i,w_i']\) be line segments of \(\text {SP}(t_{i-1},s_i)\) and \(\text {SP}(s_i,t_{i})\), respectively, which share \(s_i\). Because Collinear Condition (A1-A2) holds at \(s_i\), we get \(SP(w_i,w'_i) = [w_i, s_i] \cup [s_i,w_i']\). Since the sufficient condition of Corollary 4.5 in Hai et al. (2019) is satisfied at \(s_i\), we obtain \(\text {SP}(t_{i-1},t_{i}) = \text {SP}(t_{i-1},s_i) \cup \text {SP}(s_i,t_{i})\). Therefore \(\text {SP}(t_{i-1}, t_i) \cap [u_i, v_i] = s_i\)

\((\Leftarrow )\) Assume that \(\text {SP}(t_{i-1}, t_i) \cap [u_i, v_i] = s_i\). Then \(s_i \in \text {SP}(t_{i-1}, t_i)\). By Theorem 4.1 Hai et al. (2019), Collinear Condition (A1-A2) holds at \(s_i\). \(\square \)

Proof of Proposition 3:

If Collinear Condition (A1-A2) holds at all shooting points, the proof is straightforward. Otherwise, updating shooting points is shown in (B). We deduce that

$$\begin{aligned} l(\gamma ^{current}) =&\sum _{i=0}^{K}l(\text {SP}(s_i,s_{i+1})) \nonumber \\ =&l(\text {SP}(s_0,t_0)) + \sum _{i=0}^{K} \left( l( \text {SP}(t_{i-1},s_i))+l(\text {SP}(s_i, t_{i})) \right) + l(\text {SP}(t_K, s_{K+1})). \end{aligned}$$
(4)

As \(\text {SP}(t_{i-1},t_{i}) =\text {SP}(t_{i-1},s_i^{next}) \cup \text {SP}(s_i^{next},t_{i})\) and that is the shortest path joining \(t_{i-1}\) and \(t_{i}\) along \({\mathcal {F}}_{i-1} \cup {\mathcal {F}}_{i}\), we obtain

$$\begin{aligned} l(\text {SP}(t_{i-1},s_i))+l(\text {SP}(s_i, t_{i})) \ge l(\text {SP}(t_{i-1},s_i^{next}))+l(\text {SP}(s_i^{next}, t_{i})). \end{aligned}$$
(5)

Combining (4) with (5) and note that \(s_0^{next}=p, s_{K+1}^{next}=q\), we get

$$\begin{aligned} l(\gamma ^{current}) >&\, l(\text {SP}(s_0^{next},t_0)) + \sum _{i=0}^{K} \left( l(\text {SP}(t_{i-1},s_i^{next}))+l(\text {SP}(s_i^{next}, t_{i})) \right) \nonumber \\&+ l(\text {SP}(t_K, s_{K+1}^{next})) \nonumber \\ =&\sum _{i=0}^{K} \left( l(\text {SP}(s_i^{next},t_i)) + l(\text {SP}(t_i,s_{i+1}^{next})) \right) . \end{aligned}$$
(6)

As \(\text {SP}(s_i^{next},s_{i+1}^{next})\) is the shortest path joining \(s_i^{next} \) and \(s_{i+1}^{next}\) along \({\mathcal {F}}_i\), we obtain

$$\begin{aligned} l(\text {SP}(s_i^{next}, t_i))+ l(\text {SP}( t_i, s_{i+1}^{next})) \ge l (\text {SP}(s_i^{next},s_{i+1}^{next})). \end{aligned}$$
(7)

Combining (6) with (7) yields:

$$\begin{aligned} l(\gamma ^{current}) \ge \sum _{i=0}^{K} \left( l (\text {SP}(s_i^{next},s_{i+1}^{next})) \right) = l \left( \cup _{i=0}^{K} \text {SP}(s_i^{next},s_{i+1}^{next}) \right) = l (\gamma ^{next}). \end{aligned}$$

If Collinear Condition (A1-A2) does not hold at some shooting point \(s_i\), then the inequality (5) is strict. As a result, the final inequality is strict. \(\square \)

Proof of Theorem 1:

Assume that the number of line segments of \({\mathcal {F}}\) except p and q is J (\(J \ge 1\)). We write \({\mathcal {F}} =\{ e_m = [x_m,y_m], \, m = 1,2, \ldots , J\}\), in which the order of \(x_m\) and \(y_m\) is as follows:

  • If \(e_m\) has an endpoint lying on the right of \(\tau \) when we traverse from p to q, then \(x_m\) is this endpoint and \(y_m\) is the remaining one.

  • Otherwise, \(x_m\) is the vertex of the bundle containing \(e_m\) and \(y_m\) is the remaining endpoint.

Clearly, if \(e_m = \xi _i = [u_i,v_i]\), then \(x_m = v_i, y_m = u_i\), for \(i=0, 1,\ldots ,K+1\). Let \({\mathcal {P}}\) be the polyline connecting p, \(\{x_m\}_{m=1}^J\) and q. Let \({\mathcal {Q}}\) be the polyline connecting p, \(\{y_m\}_{m=1}^J\) and q. Due to the assumption of the theorem, \({\mathcal {P}} \cup {\mathcal {Q}}\) is a simple polygon.

Let \(\gamma ^j = \cup _{i=0}^K \text {SP}(s_i^j,s_{i+1}^j)\), where shooting points \(s_i^j \) belong to cutting segments \(\xi _i = [u_i, v_i]\) for \(i=1,2, \ldots , K\) and \(s_0^j = p, s_{K+1}^j =q\). If the algorithm stops after a finite number of iterations, according to Proposition 1, the shortest path is obtained. We thus just need to consider the case that \(\{\gamma ^j\}_{j\in {\mathbb {N}}}\) is infinite. Therefore it is necessary to show that \(\gamma ^j\) convergences to \(\gamma ^*\) as \(j \rightarrow +\infty \) in \({\mathcal {P}} \cup {\mathcal {Q}}\).

Fig. 16
figure 16

Illustration of the proof of Theorem 1

The proof is completed by the following claims:

Claim 1

Firstly, by Lemma 1, we obtained that the path \(\gamma ^{j+1}\) at \((j+1)^{th}\)-step are always above the paths \(\gamma ^j\) at \(j^{th}\)-step with respect to the directed lines \(v_iu_i\), for \(i=1,2,\ldots ,K\), i.e., \(s_i^{j+1} \in [s_i^j,u_i]\), where \(s_i^{j+1}\) and \(s_i^j\) are shooting points at \((j+1)^{th}\)-step and \(j^{th}\)-step, respectively, see Fig. 16.

Claim 2

Next we show that the sequence of shooting points on each cutting segment \([v_i,u_i]\) are convergent to \(s_i^*\), for \(i =1,2, \ldots K\). Let \(\hat{\gamma }\) be the path formed by these limited points \(s_i^*\).

Claim 3

We show that \(d_{{\mathcal {H}}}(\gamma ^j,\hat{\gamma }) \rightarrow 0\) and \(l(\gamma ^j) \rightarrow l(\hat{\gamma })\) as \(j \rightarrow +\infty \).

Claim 4

Finally, \(\hat{\gamma }\) is proved to be the shortest path joining p and q in \({\mathcal {P}} \cup {\mathcal {Q}}\).

Proof of Claim 1:

See Lemma 1.

Now, for each \(i=1,2,\ldots , K\), since \([u_i,v_i]\) is compact and \(\{s_i^j\}_{j\in {\mathbb {N}}} \subset [u_i,v_i]\), there exists a sub-sequence \(\{s_i^{j_k}\}_{k \in {\mathbb {N}}} \subset \{s_i^j\}_{j\in {\mathbb {N}}}\) such that \(\{s_i^{j_k}\}_{k \in {\mathbb {N}}}\) is convergent to a point, says \(s_i^*\), in \({\mathbb {R}}^2\) with \(\Vert \cdot \Vert \) as \(k \rightarrow \infty \). As \([u_i, v_i]\) is closed and \(\{s_i^{j_k}\}_{k \in {\mathbb {N}}} \subset [u_i,v_i]\), \(\{s_i^{j_k}\}_{k \in {\mathbb {N}}} \rightarrow s_i^*\), we get \(s_i^* \in [u_i, v_i]\). Write \(s_0^*=p\) and \(s_{K+1}^*=q\). Set \(\hat{\gamma } = \cup _{i=0}^K \text {SP}(s_i^*,s_{i+1}^*)\). \(\square \)

Proof of Claim 2:

We begin by proving the convergence of whole sequences, i.e., \(\{s_i^j\}_{j\in {\mathbb {N}}} \rightarrow s_i^*\) as \(j \rightarrow \infty \), for \(i=1,2, \ldots , K\). By the order of elements of \(\{s_i^j\}_{j\in {\mathbb {N}}}\) as shown in Lemma 1, for all natural number large enough j, there always exits \(k \in {\mathbb {N}}\) such that \( s_i^j \in [s_i^{j_k},s_i^{j_{k+1}}]\). Furthermore, we also obtain \(\{s_i^{j_k}\}_{k\in {\mathbb {N}}}\) converges on one side to \(s_i^*\). For all \(\delta >0\), there exists \(k_0 \in {\mathbb {N}}\) such that \(\Vert s_i^{j_k} - s_i^* \Vert < \delta \), for \(k \ge k_0\). As \(s_i^{j} \in [s_i^{j_{k_0}}, s_i^*]\), for \(j \ge j_{k_0}\), we get \(\Vert s_i^{j} - s_i^* \Vert < \delta \), for \(j \ge j_{k_0}\). This clearly forces \(\{s_i^{j}\}_{j \in {\mathbb {N}}} \rightarrow s_i^*\) as \(j \rightarrow \infty \). This is the one-sided convergence, \(\hat{\gamma }\) is thus above \(\gamma ^j\) with respect to the directed lines \(v_iu_i\), for \(i=1,2,\ldots ,K\). \(\square \)

Proof of Claim 3:

We next indicate that \(d_{{\mathcal {H}}}(\gamma ^j, \hat{\gamma }) \rightarrow 0\) and \(l(\gamma ^j) \rightarrow l(\hat{\gamma })\) as \(j \rightarrow \infty \). We indicate that \(d_{{\mathcal {H}}}(\gamma ^j, \hat{\gamma }) \rightarrow 0\) and \(l(\gamma ^j) \rightarrow l(\hat{\gamma })\) as \(j \rightarrow \infty \). Let us denote \(\hat{\gamma }_i = \textrm{SP} (s_i^*,s_{i+1}^*)\) and \(\gamma ^j_i = \textrm{SP}(s^j_i,s^j_{i+1})\). Then \(\hat{\gamma } = \cup _{i=0}^K \hat{\gamma }_i\) and \(\gamma ^j = \cup _{i=0}^K \gamma ^j_i\). Due to Claim 2, \(s^j_i \rightarrow s_i^*\) as \(j \rightarrow \infty \), for \(i=1,2,\ldots , K\). By Lemma 3.1 in Hai and An (2011), we get \(d_{{\mathcal {H}}}\left( \textrm{SP}(s^j_i,s^j_{i+1}),\textrm{SP} (s_i^*,s_{i+1}^*) \right) \) \(\rightarrow 0\) as \(j \rightarrow \infty \), for \(i=1,2,\ldots , K\). Note that \(d_{{\mathcal {H}}} (A \cup B, C \cup D) \le \max \{ d_{{\mathcal {H}}} (A, C), d_{{\mathcal {H}}} (B,D)\}\), for all closed sets ABC and D in \({\mathbb {R}}^2\), then

$$\begin{aligned} d_{{\mathcal {H}}} (\gamma ^j, \hat{\gamma }) \le \max _{0 \le i \le K} \{d_{{\mathcal {H}}}\left( \textrm{SP}(s^j_i,s^j_{i+1}),\textrm{SP} (s_i^*,s_{i+1}^*) \right) \}. \end{aligned}$$

Therefore \(d_{{\mathcal {H}}}(\gamma ^j, \hat{\gamma }) \rightarrow 0\) as \(j \rightarrow \infty \). According to Hai and An (2011) (p. 542), the geodesic distance between two points x and y in a simple polygon, which is measured by the length of the shortest path joining two points x and y in the simple polygon, is a metric on the simple polygon and it is continuous as a function of both x and y. That is, \(l(\textrm{SP}(s_i^j, s_{i+1}^j)) \rightarrow l(\textrm{SP}(s_i^*, s_{i+1}^*))\) as \(j \rightarrow \infty \), for \(i=0,1,\ldots , K\). It follows \(l(\gamma ^j) \rightarrow l(\hat{\gamma })\) as \(j \rightarrow \infty \). \(\square \)

Proof of Claim 4:

By using the same way of the proof of Theorem 1 in Trang et al. (2023) (item iii.), we obtain a similar argument that \(\hat{\gamma }\) is the shortest path joining p and q in the simple polygon \({\mathcal {P}} \cup {\mathcal {Q}}\). Note that the unique difference of the assumption of Theorem 1 in this paper to that in Trang et al. (2023) is shootings points maybe coincide with \(u_i\) of cutting segment \(\xi _i\). Summarily, the proof is complete. \(\square \)

The following lemma is similar to Proposition 5 in Trang et al. (2023).

Lemma 1

For all j, we have \(s_i^{j+1} \in [s_i^j, u_i]\), for \(i=1,2, \ldots , K\), where \(s_i^{j+1}\) and \(s_i^j\) are shooting points at \((j+1)^{th}\)-step and \(j^{th}\)-step, respectively.

Proof

The proof is done by induction on j. The statement holds for \(j=1\) due to taking initial shooting points \(s_i^0 =v_i\), for \(i=1,2,\ldots , N\). Let \(\{s_i^{prev}\}_{i=1}^N, \{s_i\}_{i=1}^N\) and \(\{s_i^{next}\}_{i=1}^N\) be shooting points corresponding to \((k-1)^{th}\), \(k^{th}\) and \((k+1)^{th}\)-iteration step, respectively of the algorithm (\(k \ge 1\)). Assuming that, for \(i=1,2, \ldots , N\), \(s_i \in [s_i^{prev}, u_i]\), we next prove that \(s_i^{next} \in [s_i, u_i]\).

If \(\angle _{v_iu_i} \left( \text {SP}(s_{i-1},s_i), \text {SP}(s_i,s_{i+1}) \right) \le \pi \), we obtain \(s_i^{next} \in [s_i, u_i]\). Thus we just need to prove the case \(\angle _{v_iu_i} \left( \text {SP}(s_{i-1},s_i), \text {SP}(s_i,s_{i+1}) \right) > \pi \). If \(s_i = v_i\), then Collinear Condition (B) holds at \(s_i\) and therefore \(s_i^{next} = s_i \in [s_i, u_i]\). If \(s_i \ne v_i\), suppose contrary to our claim, \(\angle _{v_iu_i} \left( \text {SP}(s_{i-1},s_i), \text {SP}(s_i,s_{i+1}) \right) > \pi \) and \(s_i^{next} \notin [s_i, u_i]\), i.e.,

$$\begin{aligned} s_i^{next} \in [v_i, s_i[ \end{aligned}$$
(8)

Let \(G_1\) be the closed region bounded by \([s_{i}^{prev},s_i]\), \(\text {SP}(s_i,t_{i-1})\) and \(\text {SP}(t_{i-1},s_{i}^{prev})\). Let \(G_2\) be the closed region bounded by \([s_{i}^{prev},s_i]\), \(\text {SP}(s_i, t_{i})\) and \(\text {SP}(t_{i},s_{i}^{prev})\), where \(t_{i-1}\) and \(t_{i}\) are defined in (B) (see Fig. 17). Since \(s_i \in [u_i,v_i[\), \(\angle _{v_iu_i} (\text {SP}(t_{i-1},s_i), \text {SP}(s_i,t_{i})) \le \pi \). Next, let \([s_i,w_1]\) and \([s_i, w_2]\) be segments having the common endpoint \(s_i\) of \(\text {SP}(s_{i-1},s_i)\) and \(\text {SP}(s_i,s_{i+1})\), respectively.

Fig. 17
figure 17

Illustration of the proof of Lemma 1 for the crossing path case at \(s_i\)

As \(\angle _{v_iu_i} \left( \text {SP}(t_{i-1},s_i), \text {SP}(s_i,t_{i}) \right) \le \pi \) and \(\angle _{v_iu_i} \left( \text {SP}(s_{i-1},s_i), \text {SP}(s_i,s_{i+1}) \right) > \pi \), at least one of the following cases happens:

$$\begin{aligned}&{]}s_i, w_1]\text { is below entirely } \text {SP}(t_{i-1},s_i)\nonumber \\&\text { or } ]s_i, w_2] \text { is below entirely } \text {SP}(s_i, t_{i}) \text { w.r.t. the directed line joining } v_i \text { and } u_i. \hspace{4cm} \end{aligned}$$
(9)

Obviously, \(\text {SP}(s_i, t_{i})\), \(\text {SP}(s_i,s_{i+1})\) and \(\text {SP}(s_i^{prev},t_i)\) do not cross each other, due to the properties of shortest paths. For all \(t_i \in \text {SP}(s_i^{prev},s_{i+1}^{prev})\), \(\text {SP}(s_i, t_{i})\) is entirely contained in the polygon bounded by \([s_i^{prev}, s_i]\), \([s_{i+1}, s_{i+1}^{prev}]\) \(\text {SP}(s_i,s_{i+1})\) and \(\text {SP}(s_i^{prev},s_{i+1}^{prev})\). Thus \(\text {SP}(s_i,s_{i+1})\) does not intersect with the interior of \(G_2\). Similarly, \(\text {SP}(s_{i-1}, s_i)\) does not intersect with the interior of \(G_1\). These things contradict (9), which completes the proof. \(\square \)

Proof of Proposition 4:

Step 1 of Algorithm 1 needs O(1) time. Note that the number of bundles of \({\mathcal {F}}_i (i =0,1,\ldots ,K)\) does not exceed c. According to Sect. B in Appendices, for a sub-sequence \({\mathcal {F}}_i (i =0,1,\ldots , K)\), the shortest paths joining two shooting points along \({\mathcal {F}}_i\) is calculated by using the funnel technique no more than \(2^{c-1}\) times. These paths correspond to the shortest paths along no more than \(2^{c-1}\) sequences of adjacent triangles. Since the funnel technique gives linear time complexity and c is a constant, it follows that computing \(\gamma ^{current}\) and \(\gamma ^{next}\), which are formed by sets of shooting points, takes O(J) time. Hence, steps 2, and 3 of Algorithm 1 need O(J) time. Now, we calculate the time complexity of Procedure Collinear_Update(\(\gamma ^{current}, \gamma ^{next}, flag\)). For each iteration step, then computing sequentially the angles at shooting points is done in constant time. In steps 10,16, and 22 of for-loop in Procedure Collinear_Update, since there are at most two procedures for the SP problem for bundles along \({\mathcal {F}}_{i-1} \cup {\mathcal {F}}_i\) which call each line segments of \({\mathcal {F}}\), time complexity of Procedure Collinear_Update(\(\gamma ^{current}, \gamma ^{next}, flag\)) is O(KJ), where K is the number of cutting segments. As \(K = \lfloor N/c \rfloor \), the complexity of the procedure is O(NJ), and thus step 4 of Algorithm 1 also runs in O(NJ) time. In summary, the algorithm runs in O(mNJ) time, where m is the number of iterations to get the required path. \(\square \)

Proof of Proposition 5:

(a) Recall that \(\hat{{\mathcal {F}}} =\) Perprocessing\(({\mathcal {F}}^*)\), where \({\mathcal {F}}^* = \{ a_0, a_1, \ldots , a_{N+1}\}\). When we split bundles of line segments attaching with \(a_i\) by the boundary of \(\overline{B}(a_i,r_0)\), two distinct bundles of \(\hat{{\mathcal {F}}}\) do not intersect each other, where \(r_0 \le \frac{1}{2} \min \limits _{\begin{array}{c} 0 \le j,k \le N \\ j\ne k \end{array}} \Vert a_j - a_k\Vert \). Thus (a) holds.

(b) Assume that the shortest path joining two points along \(\hat{{\mathcal {F}}}\) does not avoid the obstacles. Then the path contains at least a segment, say \([x,x']\), such that \([x,x']\) intersects the interior of an obstacle, where x and \(x'\) belong to two consecutive line segments of \(\hat{{\mathcal {F}}}\). Clearly these two line segments belong to two different bundles. Let us denote these two line segments by [ab] and \([a',b']\), where a and \(a'\) are two consecutive bundles. According to preprocessing bundles, \(\Vert a-b \Vert \le r_0 \le r/2\) and \(\Vert a'-b' \Vert \le r_0 \le r/2\). Therefore, the quadrangle \(abb'a'\) included \(\overline{B}(a,r) \cup \overline{B}(a',r)\), see Fig. 18. Since \([x,x']\) intersects the interior of an obstacle, there is at least a vertex of this obstacle, say d, which is inside \(abb'a'\). Due to the construction of closed sights and line segments of \({\mathcal {F}}^*\), then [ad] or \([a',d]\) are also line segments of \({\mathcal {F}}^*\). Thus \([a,d] \cap \overline{B}(a,r_0)\) and \([a',d] \cap \overline{B}(a',r_0)\) are also line segments of \(\hat{{\mathcal {F}}}\) and they are different to [ab] and \([a',b']\). This contradicts the assumption that [ab] and \([a',b']\) are two consecutive line segments of \(\hat{{\mathcal {F}}}\)\(\square \)

Fig. 18
figure 18

Illustration of proof of Proposition 5

Fig. 19
figure 19

(i): If we add b into the sequence of diagonals to use the funnel technique, we cannot obtain the shortest path since the path does not pass through b; (ii): if we add c into the sequence of diagonals to use the funnel technique, we cannot obtain the shortest path since the path does not pass through c

Fig. 20
figure 20

The technique of Li and Klette (2011) and the iterative method of Trang et al. (2017) cannot continue if the obtained path at some iteration is the polyline joining pmn and q, where its sub-shortest paths joining \(e_1\) and \(e_2\); \(e_2\) and \(e_3\); \(e_4\) and \(e_5\); \(e_5\) and \(e_6\) are singletons m and n

Some drawbacks of the previous algorithms for the SP problem for bundles

We know that, in the SP problem for bundles of line segments, if line segments are sorted as a list of diagonals of a sequence of adjacent triangles, the funnel technique of Lee and Preparata (1984) can be applied to get the exact shortest path. However, the domain containing the paths that we consider is not a triangulated polygon. In general, the shortest path along a sequence of line segments is different from the shortest path inside a simple polygon because the former can reach a line segment and reflect back. For example, in Fig. 19, to create a sequence of diagonals of a triangulated domain from line segments of two bundles \(a_1\) and \(a_2\), we have to add either the edge b or c but not both before using the funnel technique. But we cannot know exactly which edge should be added. Thus, in the case of two bundles, we have to construct two sequences of adjacent triangles and then use the funnel technique for each sequence of adjacent triangles. Since the number of combination cases is increasing with the number of bundles, the number of sub-problems to be solved is very large and equal to \(2^{N-1}\), where N is the number of bundles of the sequence. Overall, the funnel technique is not efficient for solving the SP problem for bundles of line segments.

The SP problem for pairwise disjoint line segments can be dealt with by geometric algorithms using approximate approaches by iterative steps of Li and Klette (2011) and Trang et al. (2017). These algorithms create polylines which are formed by sub-shortest paths joining two points on two consecutive line segments. After each update step, these points on line segments are adjusted to get an approximate shortest path. These algorithms are not suitable to use when line segments are not pairwise disjoint such as when the set of line segments is a sequence of bundles. Indeed, at some iteration, if pairs of points of the obtained polyline which are in pairs of line segments are identical, the corresponding sub-shortest paths degenerate to singletons. Then the adjustment for points on line segments is not possible, see Fig. 20.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

An, P.T., Le, N.T. Multiple shooting approach for finding approximately shortest paths for autonomous robots in unknown environments in 2D. J Comb Optim 47, 71 (2024). https://doi.org/10.1007/s10878-024-01148-4

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10878-024-01148-4

Keywords

Navigation