Writing Global Path Planners Plugins in ROS: A Tutorial

  • Maram AlajlanEmail author
  • Anis Koubâa
Part of the Studies in Computational Intelligence book series (SCI, volume 625)


In this tutorial chapter, we demonstrate how to integrate a new planner into ROS and present their benefits. Extensive experimentations are performed to show the effectiveness of the newly integrated planners as compared to Robot Operating System (ROS) default planners. The navigation stack of the ROS open-source middleware incorporates both global and local path planners to support ROS-enabled robot navigation. Only basic algorithms are defined for the global path planner including Dijkstra, A*, and carrot planners. However, more intelligent global planners have been defined in the literature but were not integrated in ROS distributions. This tutorial was developed under Ubuntu 12.4 and for ROS Hydro version. However, it is expected to also work with Groovy (not tested). A repository of the new path planner is available at A video tutorial also available at


ROS Global path planner Navigation stack 



This work is supported by the iroboapp project “Design and Analysis of Intelligent Algorithms for Robotic Problems and Applications” under the grant of the National Plan for Sciences, Technology and Innovation (NPSTI), managed by the Science and Technology Unit of Al-Imam Mohamed bin Saud University and by King AbdulAziz Center for Science and Technology (KACST). This work is also supported by the myBot project entitled “MyBot: A Personal Assistant Robot Case Study for Elderly People Care” under the grant from King AbdulAziz City for Science and Technology (KACST).


  1. 1.
  2. 2.
    Robot Operating System (ROS).
  3. 3.
    K. Wyrobek, E. Berger, H. Van der Loos, J. Salisbury, Towards a personal robotics development platform: rationale and design of an intrinsically safe personal robot, in IEEE International Conference on Robotics and Automation, ICRA 2008 (IEEE, 2008), pp. 2165–2170Google Scholar
  4. 4.
    M. Quigley, E. Berger, A.Y. Ng, STAIR: hardware and software architecture, in AAAI, Robotics Workshop (Vancouver, BC 2007), pp. 31–37Google Scholar
  5. 5.
    E. Marder-Eppstein, E. Berger, T. Foote, B. Gerkey, K. Konolige, The office marathon: robust navigation in an indoor office environment, in 2010 IEEE International Conference on Robotics and Automation (ICRA), May 2010, pp. 300–307Google Scholar
  6. 6.
  7. 7.
  8. 8.
    G. Grisetti, C. Stachniss, W. Burgard, Improved techniques for grid mapping with rao-blackwellized particle filters. IEEE Trans. Robot. 23(1), 34–46 (2007)CrossRefGoogle Scholar
  9. 9.
    S. Thrun, D. Fox, W. Burgard, F. Dellaert, Robust Monte Carlo localization for mobile robots. Artif. Intell. 128(1–2), 99–141 (2000)Google Scholar
  10. 10.
  11. 11.
  12. 12.
    E.W. Dijkstra, A note on two problems in connexion with graphs. Numerische Mathematik 1(1), 269–271 (1959)CrossRefMathSciNetzbMATHGoogle Scholar
  13. 13.
    B.P. Gerkey, K. Konolige, Planning and control in unstructured terrain, in Workshop on Path Planning on Costmaps, Proceedings of the IEEE International Conference on Robotics and Automation (ICRA) (2008)Google Scholar
  14. 14.
    D. Fox, W. Burgard, S. Thrun, The dynamic window approach to collision avoidance. IEEE Robot. Autom. Mag. 4(1), 23–33 (1997)CrossRefGoogle Scholar
  15. 15.
  16. 16.
  17. 17.
    Pluginlib package.
  18. 18.
  19. 19.

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Cooperative Networked Intelligent Systems (COINS) Research GroupRiyadhSaudi Arabia
  2. 2.College of Computer and Information Sciences, Prince Sultan UniversityRiyadhSaudi Arabia
  3. 3.College of Computer and Information SciencesKing Saud UniversityRiyadhSaudi Arabia
  4. 4.CISTER/INESC-TEC, ISEP, Polytechnic Institute of PortoPortoPortugal

Personalised recommendations