Skip to main content
Log in

Goal assignment and trajectory planning for large teams of interchangeable robots

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

This paper presents Goal Assignment and Planning: a computationally tractable, complete algorithm for generating dynamically feasible trajectories for \(N\) interchangeable (identical) robots navigating through known cluttered environments to \(M\) goal states. This is achieved by assigning goal states to robots to minimize the maximum cost over all robot trajectories. The computational complexity of this algorithm is shown to be polynomial in the number of robots in contrast to the expected exponential complexity associated with planning in the joint state space. This algorithm can be used to plan trajectories for dozens of robots, each in a potentially high dimensional state space. A series of planar case studies are presented and finally, experimental trials are conducted with a team of six quadrotor robots navigating in a constrained three-dimensional environment.

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.

Institutional subscriptions

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

Similar content being viewed by others

Notes

  1. http://youtu.be/DRJPgOyN2so.

References

  • Burkard, R. E., & Rendl, F. (1991). Lexicographic bottleneck problems. Operations Research Letters, 10(5), 303–308.

    Article  MathSciNet  MATH  Google Scholar 

  • Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1(1), 269–271.

    Article  MathSciNet  MATH  Google Scholar 

  • Enright, J., & Wurman, P. R. (2011). Optimization and coordinated autonomy in mobile fulfillment systems. In Automated action planning for autonomous mobile robots.

  • Erdmann, M., & Lozano-Perez, T. (1987). On multiple moving objects. Algorithmica, 2(1–4), 477–521.

    Article  MathSciNet  MATH  Google Scholar 

  • Fredman, M. L., & Tarjan, R. E. (1987). Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM (JACM), 34(3), 596–615.

    Article  MathSciNet  Google Scholar 

  • Gerkey, B. P., & Matarić, M. J. (2004). A formal analysis and taxonomy of task allocation in multi-robot systems. The International Journal of Robotics Research, 23(9), 939–954.

    Article  Google Scholar 

  • Kant, K., & Zucker, S. W. (1986). Toward efficient trajectory planning: The path-velocity decomposition. The International Journal of Robotics Research, 5(3), 72–89.

    Article  Google Scholar 

  • Kloder, S., & Hutchinson, S. (2006). Path planning for permutation-invariant multirobot formations. IEEE Transactions on Robotics, 22(4), 650–665.

    Article  Google Scholar 

  • Kuhn, H. W. (1955). The Hungarian method for the assignment problem. Naval Research Logistics Quarterly, 2(1–2), 83–97.

    Article  MathSciNet  Google Scholar 

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

    Book  MATH  Google Scholar 

  • LaValle, S. M., & Hutchinson, S. A. (1998). Optimal motion planning for multiple robots having independent goals. IEEE Transactions on Robotics and Automation, 14(6), 912–925.

    Article  Google Scholar 

  • Liu, L., & Shell, D. A. (2011). Multi-level partitioning and distribution of the assignment problem for large-scale multi-robot task allocation. In Proceedings of the robotics: Science and systems, Los Angeles, CA, June 2011.

  • Liu, L., & Shell, D. A. (2012). A distributable and computation-flexible assignment algorithm: From local task swapping to global optimality. In Robotics: Science and systems.

  • Loizou, S. G., & Kyriakopoulos, K. J. (2008). Navigation of multiple kinematically constrained robots. IEEE Transactions on Robotics, 24(1), 221–231.

    Article  Google Scholar 

  • Luna, R. & Bekris, K. E. (2011). Push and swap: Fast cooperative path-finding with completeness guarantees. In Proceedings of the twenty-second international joint conference on artificial intelligence-volume volume one (pp. 294–300). Menlo Park: AAAI Press.

  • Mellinger, D., & Kumar, V. (2011). Minimum snap trajectory generation and control for quadrotors. In Proceedings of the IEEE international conference on robotics and automation (pp. 2520–2525), Shanghai, China.

  • Michael, N., Mellinger, D., Lindsey, Q., & Kumar, V. (2010). The GRASP multiple micro UAV testbed. IEEE Robotics and Automation Magazine, 17(3), 56–65.

    Article  Google Scholar 

  • O’Hara, I., Paulos, J., Davey, J., Eckenstein, N., Doshi, N., Tosun, T., et al. (2014). Self-assembly of a swarm of autonomous boats self-assembly of a swarm of autonomous boats into floating structures. In Proceedings of the IEEE international conference on robotics and automation, Hong Kong.

  • Peasgood, M., Clark, C. M., & McPhee, J. (2008). A complete and scalable strategy for coordinating multiple robots within roadmaps. IEEE Transactions on Robotics, 24(2), 283–292.

  • Psaraftis, H. N. (1988). Dynamic vehicle routing problems. Vehicle Routing: Methods and Studies, 16, 223–248.

    MathSciNet  Google Scholar 

  • Schüpbach, K., & Zenklusen, R. (2011). Approximation algorithms for conflict-free vehicle routing. In Algorithms-ESA 2011 (pp. 640–651). Berlin: Springer.

  • Sharon, G., Stern, R., & Felner, A., Sturtevant, N. R. (2012). Meta-agent conflict-based search for optimal multi-agent path finding. In SOCS.

  • Sokkalingam, P. T., & Aneja, Y. P. (1998). Lexicographic bottleneck combinatorial problems. Operations Research Letters, 23(1), 27–33.

    Article  MathSciNet  MATH  Google Scholar 

  • Solovey, K., & Halperin, D. (2014). \(k\)-Color multi-robot motion planning. The International Journal of Robotics Research, 33(1), 82–97.

    Article  Google Scholar 

  • Turpin, M., Michael, N. & Kumar, V. (2012). Trajectory planning and assignment in multirobot systems. In Algorithmic foundations of robotics X (pp. 175–190). Boston, MA: Springer.

  • Turpin, M., Michael, N., & Kumar, V. (2013a). Concurrent assignment and planning of trajectories for large teams of interchangeable robots. In Proceedings of the IEEE International Conference on Robotics and Automation.

  • Turpin, M., Mohta, K., Michael, N., & Kumar, V. (2013b). Goal assignment and trajectory planning for large teams of aerial robots. In Robotics science and systems, Berlin, Germany.

  • Van Den Berg, J, Guy, S. J., Lin, M., & Manocha, D. (2011). Reciprocal n-body collision avoidance. In Robotics research (pp. 3–19). Berlin: Springer

  • van Den Berg, J., Snoeyink, J., Lin, M. C., & Manocha, D. (2009). Centralized path planning for multiple robots: Optimal decoupling into sequential plans. In Robotics: Science and systems, Citeseer (Vol. 2, pp. 2–3).

  • Van Den Berg, J. P., & Overmars, M. H. (2005). Prioritized motion planning for multiple robots. In IEEE/RSJ international conference on intelligent robots and systems, 2005. (IROS 2005) (pp. 430–435).

  • Van Nieuwstadt, M. J., & Murray, R. M. (1998). Real-time trajectory generation for differentially flat systems. International Journal of Robust and Nonlinear Control, 8(11), 995–1020.

    Article  MathSciNet  MATH  Google Scholar 

  • Wagner, G., & Choset, H. (2011). M\(^{\ast }\): A complete multirobot path planning algorithm with performance bounds. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, CA (pp. 3260–3267).

  • Wagner, G., Kang, M., & Choset, H. (2012). Probabilistic path planning for multiple robots with subdimensional expansion. In IEEE International Conference on Robotics and Automation (ICRA) (pp. 2886–2892).

  • Yu, J., & LaValle, S. M. (2012). Distance optimal formation control on graphs with a tight convergence time guarantee. In 2012 IEEE 51st annual conference on decision and control (CDC) (pp. 4023–4028).

Download references

Acknowledgments

Research supported by: ONR Grant N00014-07-1-0829, ONR MURI Grant N00014-08-1-0696, NSF CCF-1138847, ARL Grant W911NF-08-2-0004, ONR Grant N00014-09-1-1051, Matthew Turpin was supported by NSF Fellowship Grant DGE-0822.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matthew Turpin.

Appendix: Extended proofs

Appendix: Extended proofs

Lemma 2

The conditions in (7), (8) satisfy the antisymmetry property \( i \prec j \implies i \nsucc j\)

Proof

Assume \(i \prec j\) and \(i \succ j\). Without loss of generality, this requires one of the following cases:

$$\begin{aligned} \begin{aligned} \text {Case 1:}&\quad { {s}}_{i} \in P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {s}}_{j} \in P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}})\\ \text {Case 2:}&\quad { {g}}_{{\phi ^\star _j}} \in P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}}),{ {g}}_{{\phi ^\star _i}} \in P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}})\\ \text {Case 3:}&\quad { {s}}_{i} \in P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {g}}_{{\phi ^\star _i}} \in P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}) \end{aligned} \end{aligned}$$

First, consider Case 1. This implies both of the following equalities:

$$\begin{aligned} ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}})||&= ||P^\star ({ {s}}_{j},{ {s}}_{i})||+||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||\\ ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}})||&= ||P^\star ({ {s}}_{i},{ {s}}_{j})||+||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})|| \end{aligned}$$

Applying these to Eq. (5) yields:

$$\begin{aligned} \begin{aligned}&\max \Bigg (||P^\star ({ {s}}_{i},{ {s}}_{j})||+||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})||, ||P^\star ({ {s}}_{j},{ {s}}_{i})||\\ {}&\quad +\,||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})|| \Bigg ) \\&\le \max \left( ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||,||P^\star ({ {s}}_{j}, { {g}}_{{\phi ^\star _i}})||\right) \end{aligned} \end{aligned}$$

This is clearly a contradiction and therefore Case 1 is not possible.

It can be similarly shown that Case 2 is also impossible using a change of variables.

Next, consider Case 3. Due to the optimal graph search, either

$$\begin{aligned}&P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}}) \subset P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}) \quad \text { OR } \quad || P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}) ||\\&\quad = || P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}}) || + || P^\star ({ {g}}_{{\phi ^\star _i}},{ {s}}_{i}) ||+ || P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})|| \end{aligned}$$

Regardless of which of these conditions is present, it is relatively straightforward to show that Eq. (5) is violated in much the same manner as Case 1 was handled.

As there are no conditions which allow for both \(i \prec j\) and \(i \succ j\), it is clear that \(i \prec j \implies i \nsucc j\) \(\square \)

Lemma 3

The conditions in (7), (8) satisfy the transitivity property \(i \prec j\) AND \(j \prec k \implies i \prec k\)

Proof

Assume \(i \prec j\) AND \(j \prec k\) AND \(k \prec i\)

Without loss of generality, there are the following conditions which result in this:

$$\begin{aligned} \begin{aligned} \text {Case 1:}&\!\!\quad { {s}}_{i} \!\in \! P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {s}}_{j} \!\in \! P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}}), { {s}}_{k} \!\in \! P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}}) \\ \text {Case 2:}&\!\!\quad { {s}}_{i} \!\in \! P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {s}}_{j} \!\in \! P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}}), { {g}}_{i} \!\in \! P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}}) \\ \text {Case 3:}&\!\!\quad { {s}}_{i} \!\in \! P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {g}}_{k} \!\in \! P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {g}}_{i} \!\in \! P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}}) \\ \text {Case 4:}&\!\!\quad { {g}}_{j} \!\in \! P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}}), { {g}}_{k} \!\in \! P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}}), { {g}}_{i} \!\in \! P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}}) \end{aligned} \end{aligned}$$

First, consider Case 1. The following conditions result:

$$\begin{aligned} \begin{aligned} ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}})||&= ||P^\star ({ {s}}_{j},{ {s}}_{i})||+||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})|| \\ ||P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}})||&= ||P^\star ({ {s}}_{k},{ {s}}_{j})||+||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _k}})|| \\ ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}})||&= ||P^\star ({ {s}}_{i},{ {s}}_{k})||+||P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _i}})|| \end{aligned} \end{aligned}$$
(10)

it can be shown that the equalities (10) cannot be a solution to the LexBAP and:

$$\begin{aligned}&\left( \sum _{l \in \{ i,j,k \} } ||P^\star ({ {s}}_{l},{ {g}}_{\phi ^\star _{l})}||^p \right) ^{\frac{1}{p}}\\&\quad >\!\left( ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||^p \!+\! ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _k}})||^p \!+\!||P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _i}})||^p \right) ^{\frac{1}{p}} \end{aligned}$$

Therefore, Case 1 is not a valid set of conditions.

Next, consider Case 2:

$$\begin{aligned} \begin{aligned} ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _j}})||&= ||P^\star ({ {s}}_{j},{ {s}}_{i})||+||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||\\ ||P^\star ({ {s}}_{k},{ {g}}_{{\phi ^\star _k}})||&= ||P^\star ({ {s}}_{k},{ {s}}_{j})||+ ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})||\\&\quad +||P^\star ({ {g}}_{{\phi ^\star _i}},{ {g}}_{{\phi ^\star _k}})|| \end{aligned} \end{aligned}$$
(11)

Applying Eq. (5) for robots \(k\) and \(j\) while utilizing Eq. (11) yields:

$$\begin{aligned}&\text {max}(||P^\star ({ {s}}_{k},{ {s}}_{j})||+||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})||\nonumber \\&\quad +||P^\star ({ {g}}_{{\phi ^\star _i}},{ {g}}_{{\phi ^\star _k}})||,||P^\star ({ {s}}_{j},{ {s}}_{i})||+||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||) \nonumber \\&\le \text {max}(||P^\star ({ {s}}_{k},{ {s}}_{j})||+||P^\star ({ {s}}_{j},{ {s}}_{i})||\nonumber \\&\quad +||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||,||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})||+||P^\star ({ {g}}_{{\phi ^\star _i}},{ {g}}_{{\phi ^\star _k}})||) \end{aligned}$$
(12)

Make the following definitions:

$$\begin{aligned} \begin{aligned}&a \!=\! ||P^\star ({ {s}}_{k},{ {s}}_{j})||&b \!=\! ||P^\star ({ {s}}_{j},{ {g}}_{{\phi ^\star _i}})||&c \!=\! ||P^\star ({ {g}}_{{\phi ^\star _i}},{ {g}}_{{\phi ^\star _k}})|| \\&d \!=\! ||P^\star ({ {s}}_{j},{ {s}}_{i})||&e \!=\! ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}})||&f \!=\! ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})|| \end{aligned} \end{aligned}$$
(13)

Then, rewrite Eq. (12) using these definitions:

$$\begin{aligned} \text {max}\left( (a+b+c),(d+f)\right) \le \text {max}\left( (a+d+f),(b+c) \right) \end{aligned}$$

If \(b+c \ge a+d+f\), it is clear from the previous equation that \(b+c \ge a+b+c\), which implies \(c\le 0\). As \(c\) is defined as \(||P^\star ({ {g}}_{{\phi ^\star _i}},{ {g}}_{{\phi ^\star _k}})||\), this value must be strictly greater than zero. Therefore, the fact that \(a+d+f\ge b+c\) is used:

$$\begin{aligned} \text {max}\left( (a+b+c),(d+f)\right) \le a+d+f \end{aligned}$$

Clearly \(a+d+f\ge d+f\), so this can be simplified to:

$$\begin{aligned} a+b+c\le a+d+f \end{aligned}$$

and further to:

$$\begin{aligned} d+f \ge b+c \end{aligned}$$
(14)

Applying Eq. (5) for robots \(i\) and \(j\) and using Eq. (11):

$$\begin{aligned}&\max \left( ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _i}})||,||P^\star ({ {s}}_{j},{ {s}}_{i})||+||P^\star ({ {s}}_{i}, { {g}}_{{\phi ^\star _j}})||\right) \\&\quad \le \max \left( ||P^\star ({ {s}}_{i},{ {g}}_{{\phi ^\star _j}})||,||P^\star ({ {s}}_{j}, { {g}}_{{\phi ^\star _i}})||\right) \end{aligned}$$

Using the definitions in (13), this can be rewritten as:

$$\begin{aligned} \text {max}\left( e,(d+f)\right) \le \text {max}\left( b,f \right) \end{aligned}$$

It can be shown through simple contradiction that \(b\ge f\) to simplify this equation to:

$$\begin{aligned} \text {max}\left( e,(d+f)\right) \le b \end{aligned}$$

Which means that \(b \ge d+f\). Incorporating the knowledge from (14), this implies that:

$$\begin{aligned} b \ge d+f \ge b+c \implies 0 \ge c \end{aligned}$$

However, \(c\) is defined to be strictly greater than zero and therefore it is impossible for Eq. (A) to be satisfied and therefore Case 2 is impossible.

Case 3 is equivalent to Case 2 with a change of variables and is not possible.

Case 4 is equivalent to Case 1 with a change of variables and is not possible.

As there are no conditions which allow \(i \prec j\) AND \(j \prec k\) AND \(k \prec i\), then it is clear that \(i \prec j\) AND \(j \prec k \implies i \prec k\). Therefore the conditions in Eqs. (7) and (8) satisfy the transitivity property.\(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Turpin, M., Mohta, K., Michael, N. et al. Goal assignment and trajectory planning for large teams of interchangeable robots. Auton Robot 37, 401–415 (2014). https://doi.org/10.1007/s10514-014-9412-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-014-9412-1

Keywords

Navigation