ROS Web Services: A Tutorial

Part of the Studies in Computational Intelligence book series (SCI, volume 625)


This tutorial presents how to integrate the Service-Oriented Architecture (SOA) paradigm into Robot Operating System (ROS). The main objective consists in exposing ROS ecosystem as a service that can be invoked by Web Services (WS) clients. This integration enables end-users and client applications to seamlessly interact with the ROS ecosystem via common WS interfaces while hiding all implementation details of the applications deployed in the ROS middleware. By the end of this tutorial, the reader will be able to develop web services that expose ROS topics and services to the end-users and client applications. This tutorial was developed under Ubuntu 12.4 and for ROS Hydro version.


ROS RESTful/SOAP Web Services Rosjava 



This work is supported by the myBot project entitled “MyBot: A Personal Assistant Robot Case Study for Elderly People Care” [1] under the grant number 34–75 from King AbdulAziz City for Science and Technology (KACST). This work is partially supported by Prince Sultan University.


  1. 1.
    Mybot Project, KACST Project Number, (2015), pp. 34–75Google Scholar
  2. 2.
    Video Demonstration of Mybot Service Robot for Courier Delivery Application, (2015).
  3. 3.
    A. Koubaa (2015) ROS as a service: web services for robot operating system. J. Software Eng. Robot. 6(1), ISSN:2035-3928Google Scholar
  4. 4.
    C. Pautasso, O. Zimmermann, F. Leymann, Restful Web Services Versus “Big” Web Services: Making the Right Architectural Decision, in Proceedings of the 17th International Conference on World Wide Web, ser. WWW ’08. (New York, NY, USA: ACM, 2008), pp. 805–814.
  5. 5.
    A. Koubâa, M. Sriti, H. Bennaceur, A. Ammar, Y. Javed, M. Alajlan, N. Al-Elaiwi, M. Tounsi, E.M. Shakshuki, COROS: A Multi-agent Software Architecture for Cooperative and Autonomous Service Robots, in Cooperative Robots and Sensor Networks 2015, (2015), pp. 3–30.
  6. 6.
    A. Koubaa, A Service-Oriented Architecture for Virtualizing Robots in Robot-as-a-Service Clouds, in Architecture of Computing Systems—ARCS 2014, (2014)Google Scholar
  7. 7.
    Introducing Rostful: Ros Over Restful Web Services, (2015).
  8. 8.
    S. Osentoski, G. Jay, C. Crick, B. Pitzer, C. DuHadway, O.C. Jenkins, Robots as Web Services: Reproducible Experimentation and Application Development using Rosjs, in 2011 IEEE International Conference on Robotics and Automation (ICRA), (2011)Google Scholar

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 SciencesPrince Sultan UniversityRiyadhSaudi Arabia
  3. 3.Research Laboratory on Development and Control of Distributed Applications (ReDCAD Laboratory) ENISUniversity of SfaxSfaxTunisia
  4. 4.CISTER/INESC-TEC, ISEPPolytechnic Institute of PortoPortoPortugal
  5. 5.PRINCE Research UnitUniversity of SousseSousseTunisia

Personalised recommendations